]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ip.c
Fix a typo.
[tcpdump] / print-ip.c
index 6f71dae75cfef359353c62381ab5806c45ba75a2..b05088d31da638dd4bfaab8068380c42492f83a0 100644 (file)
@@ -21,7 +21,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.145 2004-12-27 22:30:54 guy Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-ip.c,v 1.147 2005-01-21 08:02:06 hannes Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -399,8 +399,19 @@ ip_print(register const u_char *bp, register u_int length)
                (void)printf("truncated-ip - %u bytes missing! ",
                        len - length);
        if (len < hlen) {
-               (void)printf("bad-len %u", len);
-               return;
+#ifdef GUESS_TSO
+            if (len) {
+                (void)printf("bad-len %u", len);
+                return;
+            }
+            else {
+                /* we guess that it is a TSO send */
+                len = length;
+            }
+#else
+            (void)printf("bad-len %u", len);
+            return;
+#endif /* GUESS_TSO */
        }
 
        /*
@@ -558,7 +569,7 @@ again:
                        break;
 
                case IPPROTO_EGP:
-                       egp_print(cp);
+                       egp_print(cp, len);
                        break;
 
                case IPPROTO_OSPF: