Hi,
I have problem with TCP Segmentation Offload of VLAN tagged traffic on i40e PMD
driver - connectivity dies after trying to send first packet.
After spawning new VM non-TCP traffic (like ping) works fine. After trying to
connect using SSH to the VM, connectivity is completely broken on i40e - even
ping stops working. In the meanwhile connection between VMs connected to the
same OVS using vhost-user ports works fine.
This is how topology looks like (simplified):
virtio virtio <-- TSO enabled on the virtio interface on
virtual machine
| |
vhostuser vhostuser <-- TSO supported for vhost-user interfaces
in DPDK since 16.04 release
| |
ovs-dpdk ovs-dpdk <-- VLAN tagging/untagging done in OVS-DPDK
using OpenFlow rules
| |
rte_i40e_pmd rte_i40e_pmd <-- first packet that should be offloaded
breaks connectivity
| |
+----TOR switch----+
Problem occurs only with i40e NIC - when using exactly the same configuration
with ixgbe NIC everything works fine, it looks like i40e PMD driver causes this
problem.
Versions tested:
DPDK - 16.04, 16.07-rc3, also some post 16.07-rc2 master tested with this patch
applied http://dpdk.org/ml/archives/dev/2016-July/043924.html
OVS-DPDK - recent versions from master branch with TSO RFC patch applied on top
- link: http://openvswitch.org/pipermail/dev/2016-June/072871.html
In each case TSO and VLAN combo on ixgbe was working with no issues, on i40e it
was always broken.
Issue was also independently reproduced by Mark Kavanagh (cc'd).
Is this known issue and is there any way to solve this issue? If not, are there
any plans to fix this problem in the upcoming DPDK releases?
Best Regards,
Przemek