X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/57534b8c0a4699cd71415dbaf10a691a9ee5814c..8aa4617181138d2bd09ac37b164b39e99c5f3d3c:/print-ether.c diff --git a/print-ether.c b/print-ether.c index 0a331d18..1158b794 100644 --- a/print-ether.c +++ b/print-ether.c @@ -148,7 +148,8 @@ ether_hdr_print(netdissect_options *ndo, u_int 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) + void (*print_encap_header)(netdissect_options *ndo, const u_char *), + const u_char *encap_header_arg) { const struct ether_header *ehp; u_int orig_length; @@ -157,14 +158,11 @@ ether_print(netdissect_options *ndo, int llc_hdrlen; struct lladdr_info src, dst; + ndo->ndo_protocol = "ether"; if (caplen < ETHER_HDRLEN) { - ND_PRINT("[|ether]"); + nd_print_trunc(ndo); return (caplen); } - if (length < ETHER_HDRLEN) { - ND_PRINT("[|ether]"); - return (length); - } if (ndo->ndo_eflag) { if (print_encap_header != NULL) @@ -211,10 +209,6 @@ recurse: ND_PRINT("[|vlan]"); return (hdrlen + caplen); } - if (length < 4) { - ND_PRINT("[|vlan]"); - return (hdrlen + length); - } if (ndo->ndo_eflag) { uint16_t tag = EXTRACT_BE_U_2(p); @@ -274,6 +268,7 @@ u_int ether_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_char *p) { + ndo->ndo_protocol = "ether_if"; return (ether_print(ndo, p, h->len, h->caplen, NULL, NULL)); } @@ -293,8 +288,9 @@ netanalyzer_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, /* * Fail if we don't have enough data for the Hilscher pseudo-header. */ - if (h->len < 4 || h->caplen < 4) { - ND_PRINT("[|netanalyzer]"); + ndo->ndo_protocol = "netanalyzer_if"; + if (h->caplen < 4) { + nd_print_trunc(ndo); return (h->caplen); } @@ -321,8 +317,9 @@ netanalyzer_transparent_if_print(netdissect_options *ndo, * Fail if we don't have enough data for the Hilscher pseudo-header, * preamble, and SOF. */ - if (h->len < 12 || h->caplen < 12) { - ND_PRINT("[|netanalyzer-transparent]"); + ndo->ndo_protocol = "netanalyzer_transparent_if"; + if (h->caplen < 12) { + nd_print_trunc(ndo); return (h->caplen); } @@ -472,12 +469,3 @@ ethertype_print(netdissect_options *ndo, return (0); } } - - -/* - * Local Variables: - * c-style: whitesmith - * c-basic-offset: 8 - * End: - */ -