From: Dror Eiger <45061021+deiger@users.noreply.github.com> Date: Thu, 10 Feb 2022 13:12:49 +0000 (+0200) Subject: Geneve: update format_opt_class X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/cec1ef6340fddbd818d8851dffc30e2885813de0?ds=sidebyside Geneve: update format_opt_class Per https://www.iana.org/assignments/nvo3/nvo3.xhtml Also add test for GCP --- diff --git a/print-geneve.c b/print-geneve.c index 7b77e191..be643fb2 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"; diff --git a/tests/TESTLIST b/tests/TESTLIST index b001f1ce..93856a9c 100644 --- a/tests/TESTLIST +++ b/tests/TESTLIST @@ -441,6 +441,7 @@ aoe_1-v AoE_Linux.pcap aoe_1-v.out -v geneve-vv geneve.pcap geneve-vv.out -vv geneve-vni geneve.pcap geneve-vni.out geneve 0xb geneve-tcp geneve.pcap geneve-tcp.out "geneve && tcp" +geneve-gcp geneve-gcp.pcap geneve-gcp.out -vv # DHCP tests dhcp-rfc3004 dhcp-rfc3004.pcap dhcp-rfc3004-v.out -v diff --git a/tests/geneve-gcp.out b/tests/geneve-gcp.out new file mode 100644 index 00000000..4e5d6642 --- /dev/null +++ b/tests/geneve-gcp.out @@ -0,0 +1,4 @@ + 1 10:31:03.250708 IP (tos 0x0, ttl 2, id 0, offset 0, flags [DF], proto UDP (17), length 116) + 192.168.100.254.62974 > 192.168.100.3.6081: [no cksum] Geneve, Flags [none], vni 0x0, options [class Google (0x132) type 0x1 len 8 data 800000d1, class Google (0x132) type 0x2 len 20 data 0800000d c0a86402 00000000 00000000, class Google (0x132) type 0x3 len 12 data 00000000 00001234] + IP (tos 0x0, ttl 64, id 55620, offset 0, flags [none], proto TCP (6), length 40) + 192.168.100.2.2905 > 192.168.100.1.8080: Flags [none], cksum 0xf547 (correct), seq 760929856, win 512, length 0 diff --git a/tests/geneve-gcp.pcap b/tests/geneve-gcp.pcap new file mode 100644 index 00000000..d2655f6b Binary files /dev/null and b/tests/geneve-gcp.pcap differ