In the upstream OVS recent feature Geneve IPV6 tunnel coding job, it is only support the case when the UPLINK offload(UDP v6 offload on the network adapter configuration) is off.
In common configuration the UDP V6 offload is enabled for most of the network adapter. For Geneve IPV4 tunnel, it could be
no traffic drop issue on the default offload setting.
I have tested four kinds of network drivers. Two types are E1000e and another is vmxnet3 and both are used for Windows VM.
For physical server I have also tried network adapter "Intel(R) Ethernet 10G X710 rNDC " and "Mellanox ConnectX-5 Adapter".
Only the nework adapter "Mellanox ConnectX-5 Adapter" could work with current codebase(master/3.0 branch for upstream OVS) for IPV6 Geneve tunnel with uplink settting UPDV6 offload enabled.
I have attached the pcap file when using vmxnet3 driver(for uplink) and when uplink UDPv6 offload is enabled, the Geneve V6 tunnel could be encapulated and be sent out but the source-IP of Geneve V6 is always changed.
For network driver such as E1000e and "Intel(R) Ethernet 10G X710 rNDC ", the Geneve V6 tunnel packet is not sent out when uplink UPD IPV6 offload is enabled.
It could be some issue on current code base for upstream OVS and needs to be fixed ASAP.
Test topo,
Setup one IPV6 Geneve Tunnel between 1 Windows VM and 1 Ubuntu server.
Windows VM(Windows server2019), vif0( 6000::2/40.1.1.10) vif1(5000:ed4d::2)—— Ubuntu VM Eth2(5000:ed4d::9), name space ns1
with interface ns1_link(6000::9/40.1.1.2)
WinVM:
ovs-vsctl.exe add-port br-int bms-tun0 -- set interface bms-tun0 type=geneve options:key=flow options:csum=true options:local_ip="5000:ed4d::2" options:remote_ip="5000:ed4d::9" options:tos=inherit
Ubuntu VM:
ovs-vsctl add-port br-int dst_tunnel -- set interface dst_tunnel type=geneve options:local_ip="5000:ed4d::1" options:remote_ip="5000:ed4d::2"
In the upstream OVS recent feature Geneve IPV6 tunnel coding job, it is only support the case when the UPLINK offload(UDP v6 offload on the network adapter configuration) is off.
datapath-windows: Add IPv6 Geneve tunnel support in Windows https://github.com/openvswitch/ovs/commit/edb2335861d629f791467f77729e743378dac15f
In common configuration the UDP V6 offload is enabled for most of the network adapter. For Geneve IPV4 tunnel, it could be no traffic drop issue on the default offload setting.
I have tested four kinds of network drivers. Two types are E1000e and another is vmxnet3 and both are used for Windows VM. For physical server I have also tried network adapter "Intel(R) Ethernet 10G X710 rNDC " and "Mellanox ConnectX-5 Adapter".
Only the nework adapter "Mellanox ConnectX-5 Adapter" could work with current codebase(master/3.0 branch for upstream OVS) for IPV6 Geneve tunnel with uplink settting UPDV6 offload enabled.
I have attached the pcap file when using vmxnet3 driver(for uplink) and when uplink UDPv6 offload is enabled, the Geneve V6 tunnel could be encapulated and be sent out but the source-IP of Geneve V6 is always changed.
For network driver such as E1000e and "Intel(R) Ethernet 10G X710 rNDC ", the Geneve V6 tunnel packet is not sent out when uplink UPD IPV6 offload is enabled.
It could be some issue on current code base for upstream OVS and needs to be fixed ASAP.
Test topo,
Setup one IPV6 Geneve Tunnel between 1 Windows VM and 1 Ubuntu server. Windows VM(Windows server2019), vif0( 6000::2/40.1.1.10) vif1(5000:ed4d::2)—— Ubuntu VM Eth2(5000:ed4d::9), name space ns1 with interface ns1_link(6000::9/40.1.1.2) WinVM: ovs-vsctl.exe add-port br-int bms-tun0 -- set interface bms-tun0 type=geneve options:key=flow options:csum=true options:local_ip="5000:ed4d::2" options:remote_ip="5000:ed4d::9" options:tos=inherit Ubuntu VM: ovs-vsctl add-port br-int dst_tunnel -- set interface dst_tunnel type=geneve options:local_ip="5000:ed4d::1" options:remote_ip="5000:ed4d::2"
PS C:\openvswitch> Get-NetAdapterChecksumOffload -Name `Ethernet3 2'
Name IpIPv4Enabled TcpIPv4Enabled TcpIPv6Enabled UdpIPv4Enabled UdpIPv6Enabled
Ethernet3 2 RxTxEnabled RxTxEnabled RxTxEnabled RxTxEnabled RxTxEnabled
The network adapter 'Ethernet3 2' is running E1000e driver, Ethernet3 2 Intel(R) 82574L Gigabit Network Co...#4 22 Up 00-50-56-B0-6B-D3 1 Gbp
vmxnet3_driver_v6t_drop_packet.pcap.zip