diff --git a/daemon/core/network-interface.cpp b/daemon/core/network-interface.cpp
index 7319e97..ef55e7b 100644
--- a/daemon/core/network-interface.cpp
+++ b/daemon/core/network-interface.cpp
@@ -16,7 +16,7 @@
 #if defined(__linux__)
 #include <net/if_arp.h>        // for ARPHRD_* constants
 #include <netpacket/packet.h>  // for struct sockaddr_ll
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__FreeBSD__)
 #include <net/if_dl.h>         // for struct sockaddr_dl
 #else
 #error Platform not supported
@@ -86,7 +86,7 @@
               NFD_LOG_WARN("Unrecognized hardware address on " << ifname);
           }
           break;
-#elif defined(__APPLE__)
+#elif defined(__APPLE__) || defined(__FreeBSD__)
         case AF_LINK: {
             const sockaddr_dl* sdl = reinterpret_cast<sockaddr_dl*>(ifa->ifa_addr);
             netif->index = sdl->sdl_index;
diff --git a/daemon/core/resolver.hpp b/daemon/core/resolver.hpp
index 508e26d..a02047e 100644
--- a/daemon/core/resolver.hpp
+++ b/daemon/core/resolver.hpp
@@ -99,8 +99,11 @@
   {
     Resolver resolver(SuccessCallback(), ErrorCallback(), addressSelector);
 
-    typename resolver::query query(host, port,
-                                   resolver::query::all_matching);
+    typename resolver::query query(host, port
+#if not defined(__FreeBSD__)
+                                   , resolver::query::all_matching
+#endif
+                                   );
 
     typename resolver::iterator remoteEndpoint = resolver.m_resolver.resolve(query);
     typename resolver::iterator end;
@@ -128,8 +131,11 @@
                const time::seconds& timeout,
                const shared_ptr<Resolver>& self)
   {
-    typename resolver::query query(host, port,
-                                   resolver::query::all_matching);
+    typename resolver::query query(host, port
+#if not defined(__FreeBSD__)
+                                   , resolver::query::all_matching
+#endif
+                                   );
 
     m_resolver.async_resolve(query,
                              bind(&Resolver::onResolveSuccess, this, _1, _2, self));
