- if (in_cksum((u_short*)dp, plen, 0))
- printf(" (wrong icmp csum)");
+ sum = in_cksum((u_short*)dp, plen, 0);
+ if (sum != 0) {
+ icmp_sum = ntohs(dp->icmp_cksum);
+ (void)printf(" (wrong icmp cksum %x (->%x)!)",
+ icmp_sum,
+ in_cksum_shouldbe(icmp_sum, sum));
+ }