diff --git a/daemon/core/network-interface.cpp b/daemon/core/network-interface.cpp
index ef55e7b..c1cfaa6 100644
--- a/daemon/core/network-interface.cpp
+++ b/daemon/core/network-interface.cpp
@@ -95,6 +95,17 @@
           break;
 #endif
         }
+
+      if (netif->isBroadcastCapable() && ifa->ifa_broadaddr != 0)
+        {
+          const sockaddr_in* sin = reinterpret_cast<sockaddr_in*>(ifa->ifa_broadaddr);
+
+          char address[INET_ADDRSTRLEN];
+          if (::inet_ntop(AF_INET, &sin->sin_addr, address, sizeof(address)))
+            netif->broadcastAddress = boost::asio::ip::address_v4::from_string(address);
+          else
+            NFD_LOG_WARN("inet_ntop() failed on " << ifname);
+        }
     }
 
   ::freeifaddrs(ifa_list);
diff --git a/daemon/core/network-interface.hpp b/daemon/core/network-interface.hpp
index d02171a..0265461 100644
--- a/daemon/core/network-interface.hpp
+++ b/daemon/core/network-interface.hpp
@@ -17,11 +17,13 @@
 class NetworkInterfaceInfo
 {
 public:
+
   int index;
   std::string name;
   ethernet::Address etherAddress;
   std::vector<boost::asio::ip::address_v4> ipv4Addresses;
   std::vector<boost::asio::ip::address_v6> ipv6Addresses;
+  boost::asio::ip::address_v4 broadcastAddress;
   unsigned int flags;
 
   bool
@@ -31,7 +33,11 @@
   isMulticastCapable() const;
 
   bool
+  isBroadcastCapable() const;
+
+  bool
   isUp() const;
+
 };
 
 inline bool
@@ -47,6 +53,12 @@
 }
 
 inline bool
+NetworkInterfaceInfo::isBroadcastCapable() const
+{
+  return (flags & IFF_BROADCAST) != 0;
+}
+
+inline bool
 NetworkInterfaceInfo::isUp() const
 {
   return (flags & IFF_UP) != 0;
