summaryrefslogtreecommitdiff
path: root/print-ip.c
diff options
context:
space:
mode:
authorRui Paulo <rpaulo@FreeBSD.org>2010-10-28 16:23:25 +0000
committerRui Paulo <rpaulo@FreeBSD.org>2010-10-28 16:23:25 +0000
commit6d59e2f382406def185ce5261b8723a174cd28a3 (patch)
tree554972ce0ce297205c6d41cc6fc9a8a393910a6f /print-ip.c
parent0ea0e7ad03dff03bb5448f640640d7904c01c8d4 (diff)
Notes
Diffstat (limited to 'print-ip.c')
-rw-r--r--print-ip.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/print-ip.c b/print-ip.c
index 8bdf5ebce3e2..acf3bd8be9fe 100644
--- a/print-ip.c
+++ b/print-ip.c
@@ -508,7 +508,8 @@ again:
break;
case IPPROTO_PIM:
- pim_print(ipds->cp, ipds->len);
+ pim_print(ipds->cp, ipds->len,
+ in_cksum((const u_short*)ipds->cp, ipds->len, 0));
break;
case IPPROTO_VRRP:
@@ -657,7 +658,7 @@ ip_print(netdissect_options *ndo,
printf(")");
}
- if ((u_char *)ipds->ip + hlen <= snapend) {
+ if (!Kflag && (u_char *)ipds->ip + hlen <= snapend) {
sum = in_cksum((const u_short *)ipds->ip, hlen, 0);
if (sum != 0) {
ip_sum = EXTRACT_16BITS(&ipds->ip->ip_sum);