X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/fb2479d733dbe8a991d11909b319341f7db62ab1..f34af1aa63da301ae7ee91e2300dff31702001f0:/print-pim.c diff --git a/print-pim.c b/print-pim.c index 7cf52f04..a8e0be01 100644 --- a/print-pim.c +++ b/print-pim.c @@ -169,9 +169,9 @@ pimv1_join_prune_print(netdissect_options *ndo, return; } - if (len < sizeof(struct in_addr)) + if (len < sizeof(nd_ipv4)) goto trunc; - ND_TCHECK_LEN(bp, sizeof(struct in_addr)); + ND_TCHECK_LEN(bp, sizeof(nd_ipv4)); if (ndo->ndo_vflag > 1) ND_PRINT("\n"); ND_PRINT(" Upstream Nbr: %s", ipaddr_string(ndo, bp)); @@ -202,13 +202,13 @@ pimv1_join_prune_print(netdissect_options *ndo, */ if (len < 4) goto trunc; - ND_TCHECK_LEN(bp, sizeof(struct in_addr)); + ND_TCHECK_LEN(bp, sizeof(nd_ipv4)); ND_PRINT("\n\tGroup: %s", ipaddr_string(ndo, bp)); bp += 4; len -= 4; if (len < 4) goto trunc; - ND_TCHECK_LEN(bp, sizeof(struct in_addr)); + ND_TCHECK_LEN(bp, sizeof(nd_ipv4)); if (EXTRACT_BE_U_4(bp) != 0xffffffff) ND_PRINT("/%s", ipaddr_string(ndo, bp)); bp += 4; @@ -244,7 +244,7 @@ pimv1_join_prune_print(netdissect_options *ndo, } return; trunc: - ND_PRINT("[|pim]"); + nd_print_trunc(ndo); return; } @@ -254,6 +254,7 @@ pimv1_print(netdissect_options *ndo, { u_char type; + ndo->ndo_protocol = "pimv1"; ND_TCHECK_1(bp + 1); type = EXTRACT_U_1(bp + 1); @@ -290,7 +291,7 @@ pimv1_print(netdissect_options *ndo, ipaddr_string(ndo, bp + 24)); break; case PIMV1_TYPE_REGISTER_STOP: - ND_TCHECK_LEN(bp + 12, sizeof(struct in_addr)); + ND_TCHECK_LEN(bp + 12, sizeof(nd_ipv4)); ND_PRINT(" for %s > %s", ipaddr_string(ndo, bp + 8), ipaddr_string(ndo, bp + 12)); break; @@ -305,7 +306,7 @@ pimv1_print(netdissect_options *ndo, } break; case PIMV1_TYPE_ASSERT: - ND_TCHECK_LEN(bp + 16, sizeof(struct in_addr)); + ND_TCHECK_LEN(bp + 16, sizeof(nd_ipv4)); ND_PRINT(" for %s > %s", ipaddr_string(ndo, bp + 16), ipaddr_string(ndo, bp + 8)); if (EXTRACT_BE_U_4(bp + 12) != 0xffffffff) @@ -332,7 +333,7 @@ pimv1_print(netdissect_options *ndo, return; trunc: - ND_PRINT("[|pim]"); + nd_print_trunc(ndo); return; } @@ -350,6 +351,7 @@ cisco_autorp_print(netdissect_options *ndo, u_int numrps; u_int hold; + ndo->ndo_protocol = "cisco_autorp"; if (len < 8) goto trunc; ND_TCHECK_1(bp); @@ -450,7 +452,7 @@ cisco_autorp_print(netdissect_options *ndo, return; trunc: - ND_PRINT("[|autorp]"); + nd_print_trunc(ndo); return; } @@ -461,6 +463,7 @@ pim_print(netdissect_options *ndo, const struct pim *pim = (const struct pim *)bp; uint8_t pim_typever; + ndo->ndo_protocol = "pim"; #ifdef notyet /* currently we see only version and type */ ND_TCHECK_1(pim->pim_rsv); #endif @@ -492,7 +495,7 @@ pim_print(netdissect_options *ndo, return; trunc: - ND_PRINT("[|pim]"); + nd_print_trunc(ndo); return; } @@ -575,11 +578,11 @@ pimv2_addr_print(netdissect_options *ndo, switch (EXTRACT_U_1(bp)) { case 1: af = AF_INET; - addr_len = (u_int)sizeof(struct in_addr); + addr_len = (u_int)sizeof(nd_ipv4); break; case 2: af = AF_INET6; - addr_len = (u_int)sizeof(struct in6_addr); + addr_len = (u_int)sizeof(nd_ipv6); break; default: return -1; @@ -589,10 +592,10 @@ pimv2_addr_print(netdissect_options *ndo, hdrlen = 2; } else { switch (addr_len) { - case sizeof(struct in_addr): + case sizeof(nd_ipv4): af = AF_INET; break; - case sizeof(struct in6_addr): + case sizeof(nd_ipv6): af = AF_INET6; break; default: @@ -705,6 +708,7 @@ pimv2_print(netdissect_options *ndo, u_int pim_typever; u_int pimv2_addr_len; + ndo->ndo_protocol = "pimv2"; if (len < 2) goto trunc; ND_TCHECK_1(pim->pim_rsv); @@ -896,10 +900,10 @@ pimv2_print(netdissect_options *ndo, ND_TCHECK_1(ip->ip_vhl); switch (IP_V(ip)) { case 0: /* Null header */ - ND_TCHECK(ip->ip_dst); + ND_TCHECK_4(ip->ip_dst); ND_PRINT("IP-Null-header %s > %s", - ipaddr_string(ndo, &ip->ip_src), - ipaddr_string(ndo, &ip->ip_dst)); + ipaddr_string(ndo, ip->ip_src), + ipaddr_string(ndo, ip->ip_dst)); break; case 4: /* IPv4 */ @@ -1195,12 +1199,5 @@ pimv2_print(netdissect_options *ndo, return; trunc: - ND_PRINT("[|pim]"); + nd_print_trunc(ndo); } - -/* - * Local Variables: - * c-style: whitesmith - * c-basic-offset: 8 - * End: - */