diff --git a/ndn-cxx/net/impl/network-monitor-impl-netlink.cpp b/ndn-cxx/net/impl/network-monitor-impl-netlink.cpp
index 4fcdabd..1137992 100644
--- a/ndn-cxx/net/impl/network-monitor-impl-netlink.cpp
+++ b/ndn-cxx/net/impl/network-monitor-impl-netlink.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -363,6 +363,12 @@
     flags = *extFlags;
 #endif // NDN_CXX_HAVE_IFA_FLAGS
 
+  if (flags & IFA_F_TENTATIVE) {
+    // https://redmine.named-data.net/issues/5155#note-10
+    NDN_LOG_DEBUG("  ignoring tentative address " << ipAddr);
+    return;
+  }
+
   NetworkAddress address(ifaFamilyToAddressFamily(ifa->ifa_family),
                          ipAddr,
                          broadcastAddr,
diff --git a/ndn-cxx/net/network-address.cpp b/ndn-cxx/net/network-address.cpp
index 6f9d743..a15c939 100644
--- a/ndn-cxx/net/network-address.cpp
+++ b/ndn-cxx/net/network-address.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -43,8 +43,8 @@
 }
 
 NetworkAddress::NetworkAddress(AddressFamily family,
-                               boost::asio::ip::address ip,
-                               boost::asio::ip::address broadcast,
+                               const boost::asio::ip::address& ip,
+                               const boost::asio::ip::address& broadcast,
                                uint8_t prefixLength,
                                AddressScope scope,
                                uint32_t flags)
diff --git a/ndn-cxx/net/network-address.hpp b/ndn-cxx/net/network-address.hpp
index 6aca525..4d46374 100644
--- a/ndn-cxx/net/network-address.hpp
+++ b/ndn-cxx/net/network-address.hpp
@@ -54,8 +54,8 @@
 {
 public:
   NetworkAddress(AddressFamily family,
-                 boost::asio::ip::address ip,
-                 boost::asio::ip::address broadcast,
+                 const boost::asio::ip::address& ip,
+                 const boost::asio::ip::address& broadcast,
                  uint8_t prefixLength,
                  AddressScope scope,
                  uint32_t flags);
