X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/26b97700bf1082c94ea5b7b6ba18f0721fd8f0f7..1f0e63ed238fa0f4b0b14e4b5e287d30be5f7cd0:/print-pim.c diff --git a/print-pim.c b/print-pim.c index 774096e2..f9fd0c69 100644 --- a/print-pim.c +++ b/print-pim.c @@ -118,7 +118,7 @@ struct pim { #include "ip.h" -static void pimv2_print(register const u_char *bp, register u_int len); +static void pimv2_print(register const u_char *bp, register u_int len, u_int cksum); static void pimv1_join_prune_print(register const u_char *bp, register u_int len) @@ -413,7 +413,7 @@ trunc: } void -pim_print(register const u_char *bp, register u_int len) +pim_print(register const u_char *bp, register u_int len, u_int cksum) { register const u_char *ep; register struct pim *pim = (struct pim *)bp; @@ -438,7 +438,7 @@ pim_print(register const u_char *bp, register u_int len) PIM_VER(pim->pim_typever), len, tok2str(pimv2_type_values,"Unknown Type",PIM_TYPE(pim->pim_typever))); - pimv2_print(bp, len); + pimv2_print(bp, len, cksum); } break; default: @@ -618,7 +618,7 @@ trunc: } static void -pimv2_print(register const u_char *bp, register u_int len) +pimv2_print(register const u_char *bp, register u_int len, u_int cksum) { register const u_char *ep; register struct pim *pim = (struct pim *)bp; @@ -638,9 +638,7 @@ pimv2_print(register const u_char *bp, register u_int len) if (EXTRACT_16BITS(&pim->pim_cksum) == 0) { printf("(unverified)"); } else { - printf("(%scorrect)", - TTEST2(bp[0], len) && - in_cksum((const u_short*)bp, len, 0) ? "in" : "" ); + printf("(%scorrect)", TTEST2(bp[0], len) && cksum ? "in" : "" ); } switch (PIM_TYPE(pim->pim_typever)) {