]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ip.c
Don't do IPv6 stuff if INET6 isn't defined.
[tcpdump] / print-ip.c
index f178fef359df5e598c3e0fe8cc82ce95e4af77ef..5d17b391a926eb6e078b1dc55475184d32d727be 100644 (file)
@@ -324,7 +324,6 @@ ip_print_demux(netdissect_options *ndo,
               struct ip_print_demux_state *ipds)
 {
        struct protoent *proto;
-       struct cksum_vec vec[1];
 
 again:
        switch (ipds->nh) {
@@ -455,9 +454,7 @@ again:
                break;
 
        case IPPROTO_PIM:
-               vec[0].ptr = ipds->cp;
-               vec[0].len = ipds->len;
-               pim_print(ndo, ipds->cp, ipds->len, in_cksum(vec, 1));
+               pim_print(ndo, ipds->cp, ipds->len, (const u_char *)ipds->ip);
                break;
 
        case IPPROTO_VRRP:
@@ -529,9 +526,10 @@ ip_print(netdissect_options *ndo,
        ipds->ip = (const struct ip *)bp;
        ND_TCHECK(ipds->ip->ip_vhl);
        if (IP_V(ipds->ip) != 4) { /* print version if != 4 */
-           ND_PRINT((ndo, "IP%u ", IP_V(ipds->ip)));
            if (IP_V(ipds->ip) == 6)
-             ND_PRINT((ndo, ", wrong link-layer encapsulation"));
+             ND_PRINT((ndo, "IP6, wrong link-layer encapsulation "));
+           else
+             ND_PRINT((ndo, "IP%u ", IP_V(ipds->ip)));
        }
        else if (!ndo->ndo_eflag)
                ND_PRINT((ndo, "IP "));