X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/7b2c5a11a7bc236d72b440c4db5263edb23b4880..refs/pull/482/head:/print-ether.c diff --git a/print-ether.c b/print-ether.c index f4906260..e7a18b3d 100644 --- a/print-ether.c +++ b/print-ether.c @@ -23,9 +23,9 @@ #include "config.h" #endif -#include +#include -#include "interface.h" +#include "netdissect.h" #include "extract.h" #include "addrtoname.h" #include "ethertype.h" @@ -82,6 +82,7 @@ const struct tok ethertype_values[] = { { ETHERTYPE_GEONET, "GeoNet"}, { ETHERTYPE_CALM_FAST, "CALM FAST"}, { ETHERTYPE_AOE, "AoE" }, + { ETHERTYPE_MEDSA, "MEDSA" }, { 0, NULL} }; @@ -127,7 +128,7 @@ ether_print(netdissect_options *ndo, const u_char *p, u_int length, u_int caplen, void (*print_encap_header)(netdissect_options *ndo, const u_char *), const u_char *encap_header_arg) { - struct ether_header *ep; + const struct ether_header *ep; u_int orig_length; u_short ether_type; u_int hdrlen; @@ -151,7 +152,7 @@ ether_print(netdissect_options *ndo, length -= ETHER_HDRLEN; caplen -= ETHER_HDRLEN; - ep = (struct ether_header *)p; + ep = (const struct ether_header *)p; p += ETHER_HDRLEN; hdrlen = ETHER_HDRLEN; @@ -226,7 +227,7 @@ recurse: if (!ndo->ndo_eflag) { if (print_encap_header != NULL) (*print_encap_header)(ndo, encap_header_arg); - ether_hdr_print(ndo, (u_char *)ep, orig_length); + ether_hdr_print(ndo, (const u_char *)ep, orig_length); } if (!ndo->ndo_suppress_default_print) @@ -421,6 +422,10 @@ ethertype_print(netdissect_options *ndo, aoe_print(ndo, p, length); return (1); + case ETHERTYPE_MEDSA: + medsa_print(ndo, p, length, caplen); + return (1); + case ETHERTYPE_LAT: case ETHERTYPE_SCA: case ETHERTYPE_MOPRC: