X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/ee68aa36460d7efeca48747f33b7f2adc0900bfb..10ac80fdecfa9b9b7d259d8f50d0b72ef1b18f12:/print-arp.c diff --git a/print-arp.c b/print-arp.c index 9465e8f4..e8838174 100644 --- a/print-arp.c +++ b/print-arp.c @@ -54,6 +54,7 @@ struct arp_pkthdr { #define ARPHRD_ATM2225 19 /* ATM (RFC 2225) */ #define ARPHRD_STRIP 23 /* Ricochet Starmode Radio hardware format */ #define ARPHRD_IEEE1394 24 /* IEEE 1394 (FireWire) hardware format */ +#define ARPHRD_INFINIBAND 32 /* InfiniBand RFC 4391 */ nd_uint16_t ar_pro; /* format of protocol address */ nd_uint8_t ar_hln; /* length of hardware address */ nd_uint8_t ar_pln; /* length of protocol address */ @@ -114,6 +115,7 @@ static const struct tok arphrd_values[] = { { ARPHRD_STRIP, "Strip" }, { ARPHRD_IEEE1394, "IEEE 1394" }, { ARPHRD_ATM2225, "ATM" }, + { ARPHRD_INFINIBAND, "InfiniBand" }, { 0, NULL } }; @@ -196,7 +198,7 @@ tpaddr_print_ip(netdissect_options *ndo, else if (PROTO_LEN(ap) != 4) ND_PRINT(""); else - ND_PRINT("%s", ipaddr_string(ndo, TPA(ap))); + ND_PRINT("%s", GET_IPADDR_STRING(TPA(ap))); } static void @@ -208,7 +210,7 @@ spaddr_print_ip(netdissect_options *ndo, else if (PROTO_LEN(ap) != 4) ND_PRINT(""); else - ND_PRINT("%s", ipaddr_string(ndo, SPA(ap))); + ND_PRINT("%s", GET_IPADDR_STRING(SPA(ap))); } static void @@ -219,10 +221,10 @@ atmarp_addr_print(netdissect_options *ndo, if (ha_len == 0) ND_PRINT(""); else { - ND_PRINT("%s", linkaddr_string(ndo, ha, LINKADDR_ATM, ha_len)); + ND_PRINT("%s", GET_LINKADDR_STRING(ha, LINKADDR_ATM, ha_len)); if (srca_len != 0) ND_PRINT(",%s", - linkaddr_string(ndo, srca, LINKADDR_ATM, srca_len)); + GET_LINKADDR_STRING(srca, LINKADDR_ATM, srca_len)); } } @@ -235,7 +237,7 @@ atmarp_tpaddr_print(netdissect_options *ndo, else if (ATMTPROTO_LEN(ap) != 4) ND_PRINT(""); else - ND_PRINT("%s", ipaddr_string(ndo, ATMTPA(ap))); + ND_PRINT("%s", GET_IPADDR_STRING(ATMTPA(ap))); } static void @@ -247,7 +249,7 @@ atmarp_spaddr_print(netdissect_options *ndo, else if (ATMSPROTO_LEN(ap) != 4) ND_PRINT(""); else - ND_PRINT("%s", ipaddr_string(ndo, ATMSPA(ap))); + ND_PRINT("%s", GET_IPADDR_STRING(ATMSPA(ap))); } static void @@ -284,7 +286,7 @@ atmarp_print(netdissect_options *ndo, ATMSPROTO_LEN(ap), ATMTPROTO_LEN(ap)); - /* don't know know about the address formats */ + /* don't know about the address formats */ if (!ndo->ndo_vflag) { goto out; } @@ -370,7 +372,7 @@ arp_print(netdissect_options *ndo, /* if its ATM then call the ATM ARP printer for Frame-relay ARP most of the fields are similar to Ethernet so overload the Ethernet Printer - and set the linkaddr type for linkaddr_string(ndo, ) accordingly */ + and set the linkaddr type for GET_LINKADDR_STRING() accordingly */ switch(hrd) { case ARPHRD_ATM2225: @@ -405,7 +407,7 @@ arp_print(netdissect_options *ndo, tok2str(ethertype_values, "Unknown Protocol (0x%04x)", pro), PROTO_LEN(ap)); - /* don't know know about the address formats */ + /* don't know about the address formats */ if (!ndo->ndo_vflag) { goto out; } @@ -423,7 +425,7 @@ arp_print(netdissect_options *ndo, tpaddr_print_ip(ndo, ap, pro); if (isnonzero(ndo, (const u_char *)THA(ap), HRD_LEN(ap))) ND_PRINT(" (%s)", - linkaddr_string(ndo, THA(ap), linkaddr, HRD_LEN(ap))); + GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap))); ND_PRINT(" tell "); spaddr_print_ip(ndo, ap, pro); break; @@ -431,30 +433,30 @@ arp_print(netdissect_options *ndo, case ARPOP_REPLY: spaddr_print_ip(ndo, ap, pro); ND_PRINT(" is-at %s", - linkaddr_string(ndo, SHA(ap), linkaddr, HRD_LEN(ap))); + GET_LINKADDR_STRING(SHA(ap), linkaddr, HRD_LEN(ap))); break; case ARPOP_REVREQUEST: ND_PRINT("who-is %s tell %s", - linkaddr_string(ndo, THA(ap), linkaddr, HRD_LEN(ap)), - linkaddr_string(ndo, SHA(ap), linkaddr, HRD_LEN(ap))); + GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap)), + GET_LINKADDR_STRING(SHA(ap), linkaddr, HRD_LEN(ap))); break; case ARPOP_REVREPLY: ND_PRINT("%s at ", - linkaddr_string(ndo, THA(ap), linkaddr, HRD_LEN(ap))); + GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap))); tpaddr_print_ip(ndo, ap, pro); break; case ARPOP_INVREQUEST: ND_PRINT("who-is %s tell %s", - linkaddr_string(ndo, THA(ap), linkaddr, HRD_LEN(ap)), - linkaddr_string(ndo, SHA(ap), linkaddr, HRD_LEN(ap))); + GET_LINKADDR_STRING(THA(ap), linkaddr, HRD_LEN(ap)), + GET_LINKADDR_STRING(SHA(ap), linkaddr, HRD_LEN(ap))); break; case ARPOP_INVREPLY: ND_PRINT("%s at ", - linkaddr_string(ndo, SHA(ap), linkaddr, HRD_LEN(ap))); + GET_LINKADDR_STRING(SHA(ap), linkaddr, HRD_LEN(ap))); spaddr_print_ip(ndo, ap, pro); break;