diff options
author | Joerg Mayer <jmayer@loplof.de> | 2016-03-23 20:40:39 +0100 |
---|---|---|
committer | Jörg Mayer <jmayer@loplof.de> | 2016-03-23 19:45:29 +0000 |
commit | 222d30b340b18481c730cdae72b529f720fb221f (patch) | |
tree | f96c35d5678ada2e352a5b45dac06d882cf79eaa /epan | |
parent | e947d362f87534027e6daa75aae531901e077e31 (diff) |
Mikrotik has a protocol that they name Ethernet over IP (EoIP) which has
nothing to do with IP protocol 97 called EoIP. Instead it is a GRE encapsulation
with Ethertype 0x6400. It sets the GRE version to 1 but doesn't use a sequence
number (in violation of RFC2637). Welcome to the real world.
Change-Id: I3d916f8fc134ef14bcaf0b946a10f7170a9f6a75
Reviewed-on: https://code.wireshark.org/review/14596
Reviewed-by: Jörg Mayer <jmayer@loplof.de>
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-eth.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-gre.c | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-gre.h | 62 |
3 files changed, 34 insertions, 31 deletions
diff --git a/epan/dissectors/packet-eth.c b/epan/dissectors/packet-eth.c index cb735f9d85..68e33c5dbe 100644 --- a/epan/dissectors/packet-eth.c +++ b/epan/dissectors/packet-eth.c @@ -33,6 +33,7 @@ #include <epan/capture_dissectors.h> #include <wsutil/pint.h> #include "packet-eth.h" +#include "packet-gre.h" #include "packet-ieee8023.h" #include "packet-ipx.h" #include "packet-isl.h" @@ -1053,6 +1054,7 @@ proto_reg_handoff_eth(void) dissector_add_uint("erf.types.type", ERF_TYPE_ETH, eth_withoutfcs_handle); dissector_add_uint("chdlc.protocol", ETHERTYPE_ETHBRIDGE, eth_withoutfcs_handle); dissector_add_uint("gre.proto", ETHERTYPE_ETHBRIDGE, eth_withoutfcs_handle); + dissector_add_uint("gre.proto", GRE_MIKROTIK_EOIP, eth_withoutfcs_handle); dissector_add_uint("juniper.proto", JUNIPER_PROTO_ETHER, eth_withoutfcs_handle); dissector_add_uint("sflow_245.header_protocol", SFLOW_245_HEADER_ETHERNET, eth_withoutfcs_handle); dissector_add_uint("l2tp.pw_type", L2TPv3_PROTOCOL_ETH, eth_withoutfcs_handle); diff --git a/epan/dissectors/packet-gre.c b/epan/dissectors/packet-gre.c index 7995ebd3ce..b431b9ea38 100644 --- a/epan/dissectors/packet-gre.c +++ b/epan/dissectors/packet-gre.c @@ -127,6 +127,7 @@ const value_string gre_typevals[] = { { GRE_NHRP, "NHRP"}, { GRE_ERSPAN_88BE, "ERSPAN"}, { GRE_ERSPAN_22EB, "ERSPAN"}, + { GRE_MIKROTIK_EOIP, "MIKROTIK EoIP"}, { ETHERTYPE_IPX, "IPX"}, { ETHERTYPE_ETHBRIDGE, "Transparent Ethernet bridging" }, { ETHERTYPE_RAW_FR, "Frame Relay"}, diff --git a/epan/dissectors/packet-gre.h b/epan/dissectors/packet-gre.h index ef4564d128..73048081cb 100644 --- a/epan/dissectors/packet-gre.h +++ b/epan/dissectors/packet-gre.h @@ -21,39 +21,39 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define GRE_KEEPALIVE 0x0000 -#define GRE_NHRP 0x2001 -#define GRE_WCCP 0x883E -#define GRE_ERSPAN_88BE 0x88BE -#define GRE_ERSPAN_22EB 0x22EB - +#define GRE_KEEPALIVE 0x0000 +#define GRE_NHRP 0x2001 +#define GRE_WCCP 0x883E +#define GRE_ERSPAN_88BE 0x88BE +#define GRE_ERSPAN_22EB 0x22EB +#define GRE_MIKROTIK_EOIP 0x6400 /* ************************************************************************* */ /* Aruba GRE Encapulsation ID */ /* ************************************************************************* */ -#define GRE_ARUBA_8200 0x8200 -#define GRE_ARUBA_8210 0x8210 -#define GRE_ARUBA_8220 0x8220 -#define GRE_ARUBA_8230 0x8230 -#define GRE_ARUBA_8240 0x8240 -#define GRE_ARUBA_8250 0x8250 -#define GRE_ARUBA_8260 0x8260 -#define GRE_ARUBA_8270 0x8270 -#define GRE_ARUBA_8280 0x8280 -#define GRE_ARUBA_8290 0x8290 -#define GRE_ARUBA_82A0 0x82A0 -#define GRE_ARUBA_82B0 0x82B0 -#define GRE_ARUBA_82C0 0x82C0 -#define GRE_ARUBA_82D0 0x82D0 -#define GRE_ARUBA_82E0 0x82E0 -#define GRE_ARUBA_82F0 0x82F0 -#define GRE_ARUBA_8300 0x8300 -#define GRE_ARUBA_8310 0x8310 -#define GRE_ARUBA_8320 0x8320 -#define GRE_ARUBA_8330 0x8330 -#define GRE_ARUBA_8340 0x8340 -#define GRE_ARUBA_8350 0x8350 -#define GRE_ARUBA_8360 0x8360 -#define GRE_ARUBA_8370 0x8370 -#define GRE_ARUBA_9000 0x9000 +#define GRE_ARUBA_8200 0x8200 +#define GRE_ARUBA_8210 0x8210 +#define GRE_ARUBA_8220 0x8220 +#define GRE_ARUBA_8230 0x8230 +#define GRE_ARUBA_8240 0x8240 +#define GRE_ARUBA_8250 0x8250 +#define GRE_ARUBA_8260 0x8260 +#define GRE_ARUBA_8270 0x8270 +#define GRE_ARUBA_8280 0x8280 +#define GRE_ARUBA_8290 0x8290 +#define GRE_ARUBA_82A0 0x82A0 +#define GRE_ARUBA_82B0 0x82B0 +#define GRE_ARUBA_82C0 0x82C0 +#define GRE_ARUBA_82D0 0x82D0 +#define GRE_ARUBA_82E0 0x82E0 +#define GRE_ARUBA_82F0 0x82F0 +#define GRE_ARUBA_8300 0x8300 +#define GRE_ARUBA_8310 0x8310 +#define GRE_ARUBA_8320 0x8320 +#define GRE_ARUBA_8330 0x8330 +#define GRE_ARUBA_8340 0x8340 +#define GRE_ARUBA_8350 0x8350 +#define GRE_ARUBA_8360 0x8360 +#define GRE_ARUBA_8370 0x8370 +#define GRE_ARUBA_9000 0x9000 extern const value_string gre_typevals[]; |