summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-03-01 07:39:54 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-03-01 07:39:54 +0000
commit23ec82fae9404694b90dc2ce0d1a9a65fe0f6b8c (patch)
treee5facadf7bae2b469cb7ee6ddc8af96741dd97f5
parentb28516dc00dbe70de6bc0e653b4d8ae137cfe05a (diff)
downloadwireshark-23ec82fae9404694b90dc2ce0d1a9a65fe0f6b8c.tar.gz
From Reinhard Speyerer: Adding support for LINKTYPE_PPP_ETHER/DLT_PPP_ETHER
svn path=/trunk/; revision=41256
-rw-r--r--epan/dissectors/packet-pppoe.c1
-rw-r--r--wiretap/pcap-common.c5
-rw-r--r--wiretap/wtap.c5
-rw-r--r--wiretap/wtap.h1
4 files changed, 11 insertions, 1 deletions
diff --git a/epan/dissectors/packet-pppoe.c b/epan/dissectors/packet-pppoe.c
index 22edaa90b0..fe5ca8acfb 100644
--- a/epan/dissectors/packet-pppoe.c
+++ b/epan/dissectors/packet-pppoe.c
@@ -1289,6 +1289,7 @@ void proto_reg_handoff_pppoes(void)
dissector_handle_t pppoes_handle =
create_dissector_handle(dissect_pppoes, proto_pppoes);
dissector_add_uint("ethertype", ETHERTYPE_PPPOES, pppoes_handle);
+ dissector_add_uint("wtap_encap", WTAP_ENCAP_PPP_ETHER, pppoes_handle);
/* Get a handle for the PPP dissector */
ppp_handle = find_dissector("ppp");
diff --git a/wiretap/pcap-common.c b/wiretap/pcap-common.c
index 576e5d82d4..da08af1ae3 100644
--- a/wiretap/pcap-common.c
+++ b/wiretap/pcap-common.c
@@ -159,6 +159,11 @@ static const struct {
{ 50, WTAP_ENCAP_PPP },
/*
+ * Used by NetBSD and OpenBSD pppoe(4).
+ */
+ { 51, WTAP_ENCAP_PPP_ETHER },
+
+ /*
* Apparently used by the Axent Raptor firewall (now Symantec
* Enterprise Firewall).
* Thanks, Axent, for not reserving that type with tcpdump.org
diff --git a/wiretap/wtap.c b/wiretap/wtap.c
index 81c2a668fd..3def7c5c47 100644
--- a/wiretap/wtap.c
+++ b/wiretap/wtap.c
@@ -555,7 +555,10 @@ static struct encap_type_info encap_table_base[] = {
{ "IP over Infiniband", "ip-over-ib" },
/* WTAP_ENCAP_MPEG_2_TS */
- { "ISO/IEC 13818-1 MPEG2-TS", "mp2ts" }
+ { "ISO/IEC 13818-1 MPEG2-TS", "mp2ts" },
+
+ /* WTAP_ENCAP_PPP_ETHER */
+ { "PPP-over-Ethernet session", "pppoes" }
};
gint wtap_num_encap_types = sizeof(encap_table_base) / sizeof(struct encap_type_info);
diff --git a/wiretap/wtap.h b/wiretap/wtap.h
index 798bcae2d7..1dbbe13972 100644
--- a/wiretap/wtap.h
+++ b/wiretap/wtap.h
@@ -228,6 +228,7 @@ extern "C" {
#define WTAP_ENCAP_NETANALYZER_TRANSPARENT 136
#define WTAP_ENCAP_IP_OVER_IB 137
#define WTAP_ENCAP_MPEG_2_TS 138
+#define WTAP_ENCAP_PPP_ETHER 139
#define WTAP_NUM_ENCAP_TYPES wtap_get_num_encap_types()