X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/fb1b6d808f19faae76526a2e3eed52a75fb22ff1..9da64383b97c7eb5e93a44eff5acf10ff991967e:/print-ether.c diff --git a/print-ether.c b/print-ether.c index cbfefce0..9bd8dee7 100644 --- a/print-ether.c +++ b/print-ether.c @@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ether.c,v 1.89 2004-03-17 23:24:36 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ether.c,v 1.95.2.4 2005-07-10 14:47:57 hannes Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -38,8 +38,6 @@ static const char rcsid[] _U_ = #include "ether.h" -const u_char *snapend; - const struct tok ethertype_values[] = { { ETHERTYPE_IP, "IPv4" }, { ETHERTYPE_MPLS, "MPLS unicast" }, @@ -67,11 +65,14 @@ const struct tok ethertype_values[] = { { ETHERTYPE_AARP, "Appletalk ARP" }, { ETHERTYPE_IPX, "IPX" }, { ETHERTYPE_PPP, "PPP" }, + { ETHERTYPE_SLOW, "Slow Protocols" }, { ETHERTYPE_PPPOED, "PPPoE D" }, { ETHERTYPE_PPPOES, "PPPoE S" }, + { ETHERTYPE_EAPOL, "EAPOL" }, { ETHERTYPE_JUMBO, "Jumbo" }, { ETHERTYPE_LOOPBACK, "Loopback" }, { ETHERTYPE_ISO, "OSI" }, + { ETHERTYPE_GRE_ISO, "GRE-OSI" }, { 0, NULL} }; @@ -136,7 +137,7 @@ ether_print(const u_char *p, u_int length, u_int caplen) if (!eflag) ether_hdr_print((u_char *)ep, length + ETHER_HDRLEN); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } else if (ether_encap_print(ether_type, p, length, caplen, @@ -145,7 +146,7 @@ ether_print(const u_char *p, u_int length, u_int caplen) if (!eflag) ether_hdr_print((u_char *)ep, length + ETHER_HDRLEN); - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p, caplen); } } @@ -186,7 +187,7 @@ ether_encap_print(u_short ether_type, const u_char *p, switch (ether_type) { case ETHERTYPE_IP: - ip_print(p, length); + ip_print(gndo, p, length); return (1); #ifdef INET6 @@ -197,7 +198,7 @@ ether_encap_print(u_short ether_type, const u_char *p, case ETHERTYPE_ARP: case ETHERTYPE_REVARP: - arp_print(p, length, caplen); + arp_print(gndo, p, length, caplen); return (1); case ETHERTYPE_DN: @@ -245,7 +246,7 @@ ether_encap_print(u_short ether_type, const u_char *p, ether_hdr_print(p - 18, length + 4); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p - 18, caplen + 4); return (1); @@ -270,7 +271,7 @@ ether_encap_print(u_short ether_type, const u_char *p, ether_hdr_print(p - 16, length + 2); } - if (!xflag && !qflag) + if (!suppress_default_print) default_print(p - 16, caplen + 2); return (1); @@ -284,6 +285,10 @@ ether_encap_print(u_short ether_type, const u_char *p, pppoe_print(p, length); return (1); + case ETHERTYPE_EAPOL: + eap_print(gndo, p, length); + return (1); + case ETHERTYPE_PPP: if (length) { printf(": "); @@ -291,8 +296,12 @@ ether_encap_print(u_short ether_type, const u_char *p, } return (1); + case ETHERTYPE_SLOW: + slow_print(p, length); + return (1); + case ETHERTYPE_LOOPBACK: - return (0); + return (1); case ETHERTYPE_MPLS: case ETHERTYPE_MPLS_MULTI: @@ -308,3 +317,12 @@ ether_encap_print(u_short ether_type, const u_char *p, return (0); } } + + +/* + * Local Variables: + * c-style: whitesmith + * c-basic-offset: 8 + * End: + */ +