aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-eth.c3
-rw-r--r--epan/dissectors/packet-sll.c9
-rw-r--r--epan/dissectors/packet-sll.h1
3 files changed, 13 insertions, 0 deletions
diff --git a/epan/dissectors/packet-eth.c b/epan/dissectors/packet-eth.c
index 3a4d31ec52..2f35619dbf 100644
--- a/epan/dissectors/packet-eth.c
+++ b/epan/dissectors/packet-eth.c
@@ -36,6 +36,7 @@
#include "packet-ipx.h"
#include "packet-isl.h"
#include "packet-llc.h"
+#include "packet-sll.h"
#include <epan/crc32.h>
#include <epan/tap.h>
#include <epan/expert.h>
@@ -755,6 +756,8 @@ proto_reg_handoff_eth(void)
dissector_add("chdlctype", ETHERTYPE_ETHBRIDGE, eth_withoutfcs_handle);
dissector_add("gre.proto", ETHERTYPE_ETHBRIDGE, eth_withoutfcs_handle);
+ dissector_add("sll.ltype", LINUX_SLL_P_ETHERNET, eth_withoutfcs_handle);
+
/*
* This is to handle the output for the Cisco CMTS "cable intercept"
* command - it encapsulates Ethernet frames in UDP packets, but
diff --git a/epan/dissectors/packet-sll.c b/epan/dissectors/packet-sll.c
index 4907bea69b..902e53db0a 100644
--- a/epan/dissectors/packet-sll.c
+++ b/epan/dissectors/packet-sll.c
@@ -33,6 +33,7 @@
#include "packet-sll.h"
#include "packet-ipx.h"
#include "packet-llc.h"
+#include "packet-eth.h"
#include "packet-ppp.h"
#include "packet-gre.h"
#include <epan/addr_resolv.h>
@@ -78,6 +79,7 @@ static const value_string packet_type_vals[] = {
static const value_string ltype_vals[] = {
{ LINUX_SLL_P_802_3, "Raw 802.3" },
+ { LINUX_SLL_P_ETHERNET, "Ethernet" },
{ LINUX_SLL_P_802_2, "802.2 LLC" },
{ LINUX_SLL_P_PPPHDLC, "PPP (HDLC)" },
{ 0, NULL }
@@ -111,6 +113,13 @@ capture_sll(const guchar *pd, int len, packet_counts *ld)
capture_llc(pd, len, SLL_HEADER_SIZE, ld);
break;
+ case LINUX_SLL_P_ETHERNET:
+ /*
+ * Ethernet.
+ */
+ capture_eth(pd, SLL_HEADER_SIZE, len, ld);
+ break;
+
case LINUX_SLL_P_802_3:
/*
* Novell IPX inside 802.3 with no 802.2 LLC
diff --git a/epan/dissectors/packet-sll.h b/epan/dissectors/packet-sll.h
index 35b893cc7b..5fd17b2b9a 100644
--- a/epan/dissectors/packet-sll.h
+++ b/epan/dissectors/packet-sll.h
@@ -28,6 +28,7 @@
* The LINUX_SLL_ values for "sll_protocol".
*/
#define LINUX_SLL_P_802_3 0x0001 /* Novell 802.3 frames without 802.2 LLC header */
+#define LINUX_SLL_P_ETHERNET 0x0003 /* Ethernet */
#define LINUX_SLL_P_802_2 0x0004 /* 802.2 frames (not D/I/X Ethernet) */
#define LINUX_SLL_P_PPPHDLC 0x0007 /* PPP HDLC frames */