X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/ef5323efe6c03aaa50eac0949bf95999b91fe05b..a63600a1fc28dbc7ae7ce9f996829c49a25fb33c:/print-geneve.c diff --git a/print-geneve.c b/print-geneve.c index 7b77e191..59dca93e 100644 --- a/print-geneve.c +++ b/print-geneve.c @@ -97,6 +97,58 @@ format_opt_class(const uint16_t opt_class) return "In-band Network Telemetry (INT)"; case 0x0104: return "VMware"; + case 0x0105: + case 0x0108: + case 0x0109: + case 0x010A: + case 0x010B: + case 0x010C: + case 0x010D: + case 0x010E: + case 0x010F: + case 0x0110: + return "Amazon"; + case 0x0106: + case 0x0130: + case 0x0131: + return "Cisco"; + case 0x0107: + return "Oracle"; + case 0x0111: + case 0x0112: + case 0x0113: + case 0x0114: + case 0x0115: + case 0x0116: + case 0x0117: + case 0x0118: + return "IBM"; + case 0x0119: + case 0x011A: + case 0x011B: + case 0x011C: + case 0x011D: + case 0x011E: + case 0x011F: + case 0x0120: + case 0x0121: + case 0x0122: + case 0x0123: + case 0x0124: + case 0x0125: + case 0x0126: + case 0x0127: + case 0x0128: + return "Ericsson"; + case 0x0129: + return "Oxide"; + case 0x0132: + case 0x0133: + case 0x0134: + case 0x0135: + return "Google"; + case 0x0136: + return "InfoQuick"; default: if (opt_class <= 0x00ff) return "Standard"; @@ -144,7 +196,8 @@ geneve_opts_print(netdissect_options *ndo, const u_char *bp, u_int len) ND_PRINT(" %08x", GET_BE_U_4(data)); data++; } - } + } else + ND_TCHECK_LEN(bp, opt_len); bp += opt_len; len -= opt_len; @@ -221,8 +274,7 @@ geneve_print(netdissect_options *ndo, const u_char *bp, u_int len) if (ndo->ndo_vflag) { if (! geneve_opts_print(ndo, bp, opts_len)) goto invalid; - } - else { + } else { ND_TCHECK_LEN(bp, opts_len); ND_PRINT("%u bytes", opts_len); }