diff --git a/tools/dump/ndndump.cpp b/tools/dump/ndndump.cpp
index d23bf9a..91d6827 100644
--- a/tools/dump/ndndump.cpp
+++ b/tools/dump/ndndump.cpp
@@ -50,6 +50,8 @@
 } // namespace dump
 } // namespace ndn
 
+#include <pcap/sll.h>
+
 #include <boost/lexical_cast.hpp>
 
 #include <iomanip>
@@ -139,7 +141,7 @@
   }
 
   m_dataLinkType = pcap_datalink(m_pcap);
-  if (m_dataLinkType != DLT_EN10MB && m_dataLinkType != DLT_PPP) {
+  if (m_dataLinkType != DLT_EN10MB && m_dataLinkType != DLT_PPP && m_dataLinkType != DLT_LINUX_SLL) {
     BOOST_THROW_EXCEPTION(Error("Unsupported pcap format (" + to_string(m_dataLinkType) + ")"));
   }
 
@@ -297,6 +299,20 @@
 
       break;
     }
+    case DLT_LINUX_SLL: {
+      const sll_header* sllHeader = reinterpret_cast<const sll_header*>(payload);
+
+      if (payloadSize < SLL_HDR_LEN) {
+        std::cerr << "Invalid LINUX_SLL frame" << std::endl;
+        return -1;
+      }
+
+      frameType = ntohs(sllHeader->sll_protocol);
+      payloadSize -= SLL_HDR_LEN;
+      payload += SLL_HDR_LEN;
+
+      break;
+    }
   }
 
   return frameType;
