]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ppp.c
gre: add support for MikroTik Ethernet-over-IP hack.
[tcpdump] / print-ppp.c
index 8e63b4a1027e72ff50c0fd66f39adc67ef765bf2..38505355182ca15067ea3e0b6ac76a8345cc6ece 100644 (file)
@@ -1131,7 +1131,7 @@ print_ipcp_config_options(netdissect_options *ndo,
                        print_unknown_data(ndo, p + 2, "\n\t    ", len - 2);
                break;
        }
-       if (ndo->ndo_vflag > 1)
+       if (ndo->ndo_vflag > 1 && ND_TTEST_LEN(p + 2, len - 2))
                print_unknown_data(ndo, p + 2, "\n\t    ", len - 2); /* exclude TLV header */
        return len;
 
@@ -1570,11 +1570,18 @@ ppp_print(netdissect_options *ndo,
                hdr_len += 2;
        }
 
-       if (ndo->ndo_eflag)
-               ND_PRINT("%s (0x%04x), length %u: ",
-                         tok2str(ppptype2str, "unknown", proto),
+       if (ndo->ndo_eflag) {
+               const char *typestr;
+               typestr = tok2str(ppptype2str, "unknown", proto);
+               ND_PRINT("%s (0x%04x), length %u",
+                         typestr,
                          proto,
                          olen);
+               if (*typestr == 'u')    /* "unknown" */
+                       return hdr_len;
+
+               ND_PRINT(": ");
+       }
 
        handle_ppp(ndo, proto, p, length);
        return (hdr_len);