X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/fb2479d733dbe8a991d11909b319341f7db62ab1..306c2a0384af923a73bf234f3c8bc186ceff0b58:/print-loopback.c diff --git a/print-loopback.c b/print-loopback.c index e0c6efbd..07fbcbdd 100644 --- a/print-loopback.c +++ b/print-loopback.c @@ -29,7 +29,7 @@ /* * originally defined as the Ethernet Configuration Testing Protocol. - * specification: http://www.mit.edu/people/jhawk/ctp.pdf + * specification: https://www.mit.edu/people/jhawk/ctp.pdf */ #ifdef HAVE_CONFIG_H @@ -42,7 +42,6 @@ #include "extract.h" #include "addrtoname.h" -static const char tstr[] = " [|loopback]"; #define LOOPBACK_REPLY 1 #define LOOPBACK_FWDDATA 2 @@ -56,14 +55,14 @@ static const struct tok fcode_str[] = { static void loopback_message_print(netdissect_options *ndo, const u_char *cp, const u_int len) { - const u_char *ep = cp + len; + const u_char *ep = ndo->ndo_snapend; uint16_t function; if (len < 2) goto invalid; /* function */ ND_TCHECK_2(cp); - function = EXTRACT_LE_U_2(cp); + function = GET_LE_U_2(cp); cp += 2; ND_PRINT(", %s", tok2str(fcode_str, " invalid (%u)", function)); @@ -73,7 +72,7 @@ loopback_message_print(netdissect_options *ndo, const u_char *cp, const u_int le goto invalid; /* receipt number */ ND_TCHECK_2(cp); - ND_PRINT(", receipt number %u", EXTRACT_LE_U_2(cp)); + ND_PRINT(", receipt number %u", GET_LE_U_2(cp)); cp += 2; /* data */ ND_PRINT(", data (%u octets)", len - 4); @@ -84,7 +83,7 @@ loopback_message_print(netdissect_options *ndo, const u_char *cp, const u_int le goto invalid; /* forwarding address */ ND_TCHECK_LEN(cp, MAC_ADDR_LEN); - ND_PRINT(", forwarding address %s", etheraddr_string(ndo, cp)); + ND_PRINT(", forwarding address %s", GET_ETHERADDR_STRING(cp)); cp += MAC_ADDR_LEN; /* data */ ND_PRINT(", data (%u octets)", len - 8); @@ -97,25 +96,26 @@ loopback_message_print(netdissect_options *ndo, const u_char *cp, const u_int le return; invalid: - ND_PRINT("%s", istr); + nd_print_invalid(ndo); ND_TCHECK_LEN(cp, ep - cp); return; trunc: - ND_PRINT("%s", tstr); + nd_print_trunc(ndo); } void loopback_print(netdissect_options *ndo, const u_char *cp, const u_int len) { - const u_char *ep = cp + len; + const u_char *ep = ndo->ndo_snapend; uint16_t skipCount; + ndo->ndo_protocol = "loopback"; ND_PRINT("Loopback"); if (len < 2) goto invalid; /* skipCount */ ND_TCHECK_2(cp); - skipCount = EXTRACT_LE_U_2(cp); + skipCount = GET_LE_U_2(cp); cp += 2; ND_PRINT(", skipCount %u", skipCount); if (skipCount % 8) @@ -126,10 +126,10 @@ loopback_print(netdissect_options *ndo, const u_char *cp, const u_int len) return; invalid: - ND_PRINT("%s", istr); + nd_print_invalid(ndo); ND_TCHECK_LEN(cp, ep - cp); return; trunc: - ND_PRINT("%s", tstr); + nd_print_trunc(ndo); }