To build Geneve packet through scapy, could you please guide how to maintain the variable options fields as OVN use the options field for tunnel network?
Geneve Header:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| Opt Len |O|C| Rsvd. | Protocol Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Virtual Network Identifier (VNI) | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Variable Length Options |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Geneve tunnel Tcpdump between two vms# tcpdump -vvv -nei mlx-bond1
dropped privs to tcpdump
tcpdump: listening on mlx-bond1, link-type EN10MB (Ethernet), capture size 262144 bytes
13:28:41.343233 0c:42:a1:d1:da:98 > 0c:42:a1:d1:d5:80, ethertype 802.1Q (0x8100), length 160: vlan 304, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 26194, offset 0, flags [none], proto UDP (17), length 142)
172.17.2.32.57025 > 172.17.2.126.geneve: [no cksum] Geneve, Flags [none], vni 0x4, proto TEB (0x6558),
options [class Open Virtual Networking (OVN) (0x102) type 0x80(C) len 8 data 00020003]
fa:16:3e:81:fa:0f > fa:16:3e:95:87:2d, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 59822, offset 0, flags [DF], proto ICMP (1), length 84)
192.168.2.92 >
192.168.2.161: ICMP echo request, id 5026, seq 301, length 64
We tried below scapy packet build, but as soon as start traffic with 1pps rate, all the network of DUT get broken and the node gets crashed.