]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ip.c
fix display of correct offset for hexdumps
[tcpdump] / print-ip.c
index f540f5529d72803cab57dd2a1ac311cec0294494..b02427b4e10f3aba77ed881c1a102dfa8d8c7ad7 100644 (file)
@@ -21,7 +21,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.126 2003-05-25 16:40:48 hannes Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.128 2003-07-08 01:14:44 guy Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -39,11 +39,7 @@ static const char rcsid[] =
 #include "extract.h"                   /* must come after interface.h */
 
 #include "ip.h"
-
-/* Compatibility */
-#ifndef        IPPROTO_ND
-#define        IPPROTO_ND      77
-#endif
+#include "ipproto.h"
 
 /*
  * print the recorded route in an IP RR, LSRR or SSRR option.
@@ -367,7 +363,6 @@ ip_print(register const u_char *bp, register u_int length)
        int advance;
        struct protoent *proto;
        u_int16_t sum, ip_sum;
-       const char *sep = "";
 
        ip = (const struct ip *)bp;
        if (IP_V(ip) != 4) { /* print version if != 4 */
@@ -443,10 +438,8 @@ ip_print(register const u_char *bp, register u_int length)
                sum = in_cksum((const u_short *)ip, hlen, 0);
                if (sum != 0) {
                    ip_sum = EXTRACT_16BITS(&ip->ip_sum);
-                   (void)printf("%sbad cksum %x (->%x)!", sep,
-                            ip_sum,
+                   (void)printf(", bad cksum %x (->%x)!", ip_sum,
                             in_cksum_shouldbe(ip_sum, sum));
-                   sep = ", ";
                }
            }
 
@@ -461,9 +454,6 @@ ip_print(register const u_char *bp, register u_int length)
                cp = (const u_char *)ip + hlen;
                nh = ip->ip_p;
 
-#ifndef IPPROTO_SCTP
-#define IPPROTO_SCTP 132
-#endif
                if (nh != IPPROTO_TCP && nh != IPPROTO_UDP &&
                    nh != IPPROTO_SCTP) {
                        (void)printf("%s > %s: ", ipaddr_string(&ip->ip_src),
@@ -472,9 +462,6 @@ ip_print(register const u_char *bp, register u_int length)
 again:
                switch (nh) {
 
-#ifndef IPPROTO_AH
-#define IPPROTO_AH     51
-#endif
                case IPPROTO_AH:
                        nh = *cp;
                        advance = ah_print(cp);
@@ -482,9 +469,6 @@ again:
                        len -= advance;
                        goto again;
 
-#ifndef IPPROTO_ESP
-#define IPPROTO_ESP    50
-#endif
                case IPPROTO_ESP:
                    {
                        int enh, padlen;
@@ -497,9 +481,6 @@ again:
                        goto again;
                    }
 
-#ifndef IPPROTO_IPCOMP
-#define IPPROTO_IPCOMP 108
-#endif
                case IPPROTO_IPCOMP:
                    {
                        int enh;
@@ -529,9 +510,6 @@ again:
                        icmp_print(cp, len, (const u_char *)ip, (off & 0x3fff));
                        break;
 
-#ifndef IPPROTO_IGRP
-#define IPPROTO_IGRP 9
-#endif
                case IPPROTO_IGRP:
                        igrp_print(cp, len, (const u_char *)ip);
                        break;
@@ -544,21 +522,15 @@ again:
                        egp_print(cp);
                        break;
 
-#ifndef IPPROTO_OSPF
-#define IPPROTO_OSPF 89
-#endif
                case IPPROTO_OSPF:
                        ospf_print(cp, len, (const u_char *)ip);
                        break;
 
-#ifndef IPPROTO_IGMP
-#define IPPROTO_IGMP 2
-#endif
                case IPPROTO_IGMP:
                        igmp_print(cp, len);
                        break;
 
-               case 4:
+               case IPPROTO_IPV4:
                        /* DVMRP multicast tunnel (ip-in-ip encapsulation) */
                        ip_print(cp, len);
                        if (! vflag) {
@@ -568,47 +540,29 @@ again:
                        break;
 
 #ifdef INET6
-#ifndef IP6PROTO_ENCAP
-#define IP6PROTO_ENCAP 41
-#endif
-               case IP6PROTO_ENCAP:
+               case IPPROTO_IPV6:
                        /* ip6-in-ip encapsulation */
                        ip6_print(cp, len);
                        break;
 #endif /*INET6*/
 
-#ifndef IPPROTO_RSVP
-#define IPPROTO_RSVP 46
-#endif
                case IPPROTO_RSVP:
                        rsvp_print(cp, len);
                        break;
 
-#ifndef IPPROTO_GRE
-#define IPPROTO_GRE 47
-#endif
                case IPPROTO_GRE:
                        /* do it */
                        gre_print(cp, len);
                        break;
 
-#ifndef IPPROTO_MOBILE
-#define IPPROTO_MOBILE 55
-#endif
                case IPPROTO_MOBILE:
                        mobile_print(cp, len);
                        break;
 
-#ifndef IPPROTO_PIM
-#define IPPROTO_PIM    103
-#endif
                case IPPROTO_PIM:
                        pim_print(cp, len);
                        break;
 
-#ifndef IPPROTO_VRRP
-#define IPPROTO_VRRP   112
-#endif
                case IPPROTO_VRRP:
                        vrrp_print(cp, len, ip->ip_ttl);
                        break;