diff -Nurb libpcap-ruby-0.6/packet.c pcap/packet.c
--- libpcap-ruby-0.6/packet.c	2000-08-13 08:56:15.000000000 +0200
+++ pcap/packet.c	2009-01-02 14:08:57.000000000 +0100
@@ -67,8 +67,9 @@
     {  6,  8 },	/* 11: DLT_ATM_RFC1483 */
     { -1,  0 },	/* 12: DLT_RAW */
     { -1, 24 },	/* 13: DLT_SLIP_BSDOS */
-    {  5, 24 }	/* 14: DLT_PPP_BSDOS */
-#define DATALINK_MAX 14
+    {  5, 24 },	/* 14: DLT_PPP_BSDOS */
+    [113] = { 14, 16 } /* 113: DLT_LINUX_SLL */
+#define DATALINK_MAX 113
 };
 
 VALUE
diff -Nurb libpcap-ruby-0.6/Pcap.c pcap/Pcap.c
--- libpcap-ruby-0.6/Pcap.c	2000-08-13 07:56:31.000000000 +0200
+++ pcap/Pcap.c	2009-01-02 13:32:44.000000000 +0100
@@ -744,6 +744,9 @@
     rb_define_const(mPcap, "DLT_SLIP_BSDOS", INT2NUM(DLT_SLIP_BSDOS));
     rb_define_const(mPcap, "DLT_PPP_BSDOS", INT2NUM(DLT_PPP_BSDOS));
 #endif
+#ifdef DLT_LINUX_SLL
+    rb_define_const(mPcap, "DLT_LINUX_SLL", INT2NUM(DLT_LINUX_SLL));
+#endif
 
     /* define class Capture */
     cCapture = rb_define_class_under(mPcap, "Capture", rb_cObject);
