diff --git a/helper/ndn-stack-helper.cpp b/helper/ndn-stack-helper.cpp
index 82dab49..8391843 100644
--- a/helper/ndn-stack-helper.cpp
+++ b/helper/ndn-stack-helper.cpp
@@ -24,6 +24,7 @@
 #include "ns3/string.h"
 #include "ns3/point-to-point-net-device.h"
 #include "ns3/point-to-point-channel.h"
+#include "ns3/node-list.h"
 
 #include "model/ndn-l3-protocol.hpp"
 #include "model/ndn-net-device-transport.hpp"
@@ -428,5 +429,28 @@
   m_isForwarderStatusManagerDisabled = true;
 }
 
+void
+StackHelper::SetLinkDelayAsFaceMetric()
+{
+  for (uint32_t i = 0; i < NodeList::GetNNodes(); ++i) {
+    auto ndn = NodeList::GetNode(i)->GetObject<L3Protocol>();
+    if (ndn == nullptr)
+      continue;
+
+    for (auto& face : ndn->getForwarder()->getFaceTable()) {
+      auto transport = dynamic_cast<NetDeviceTransport*>(face.getTransport());
+      if (transport == nullptr)
+        continue;
+      auto p2p = dynamic_cast<PointToPointChannel*>(&(*(transport->GetNetDevice()->GetChannel())));
+      TimeValue currentDelay;
+      p2p->GetAttribute("Delay", currentDelay);
+      face.setMetric((currentDelay.Get().ToDouble(Time::S)) * 1000);
+
+      std::cout << "Node " << i << ": Face " << face.getId()
+                << " with metric " << face.getMetric() << "\n";
+    }
+  }
+}
+
 } // namespace ndn
 } // namespace ns3
diff --git a/helper/ndn-stack-helper.hpp b/helper/ndn-stack-helper.hpp
index bae814f..2d2b8fb 100644
--- a/helper/ndn-stack-helper.hpp
+++ b/helper/ndn-stack-helper.hpp
@@ -248,6 +248,12 @@
   void
   disableForwarderStatusManager();
 
+  /**
+   * @brief Set face metric of all faces connected through PointToPoint channel to channel latency
+   */
+  static void
+  SetLinkDelayAsFaceMetric();
+
 private:
   shared_ptr<Face>
   DefaultNetDeviceCallback(Ptr<Node> node, Ptr<L3Protocol> ndn, Ptr<NetDevice> netDevice) const;
