]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Geneve: update format_opt_class
authorDror Eiger <[email protected]>
Thu, 10 Feb 2022 13:12:49 +0000 (15:12 +0200)
committerDenis Ovsienko <[email protected]>
Sun, 3 Apr 2022 09:36:32 +0000 (10:36 +0100)
Per https://www.iana.org/assignments/nvo3/nvo3.xhtml
Also add test for GCP

print-geneve.c
tests/TESTLIST
tests/geneve-gcp.out [new file with mode: 0644]
tests/geneve-gcp.pcap [new file with mode: 0644]

index 7b77e191b4b70a1d84f99c32f82c347c169d2a4e..be643fb216621a2d633adc208f6a19569e34db9b 100644 (file)
@@ -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";
index b001f1ce41bef5cb72a1f73734e6d8697805358b..93856a9c75a013383ea2b169943eab12230c04c8 100644 (file)
@@ -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 (file)
index 0000000..4e5d664
--- /dev/null
@@ -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 (file)
index 0000000..d2655f6
Binary files /dev/null and b/tests/geneve-gcp.pcap differ