I tested this (both IPv4 over Geneve and IPv6 over sit) as well as looked at the proposed patch and everything looks good to me.
With a very simple setup (this does not go up to VMs so the full performance difference is not there), I see correct packet aggregation and improved performance: Before: root@server89:~# netperf -H 30.0.0.1 MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 30.0.0.1 () port 0 AF_INET : demo Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 10.01 5538.36 After: root@server89:~# netperf -H 30.0.0.1 MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 30.0.0.1 () port 0 AF_INET : demo Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 16384 16384 10.00 7291.98 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1602755 Title: Tunnel offload indications not stripped from encapsulated packets, causing performance overhead Status in linux package in Ubuntu: Fix Committed Status in linux source package in Xenial: In Progress Bug description: Commit: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=a09a4c8dd1ec7f830e1fb9e59eb72bddc965d168 Description: tunnels: Remove encapsulation offloads on decap. If a packet is either locally encapsulated or processed through GRO it is marked with the offloads that it requires. However, when it is decapsulated these tunnel offload indications are not removed. This means that if we receive an encapsulated TCP packet, aggregate it with GRO, decapsulate, and retransmit the resulting frame on a NIC that does not support encapsulation, we won't be able to take advantage of hardware offloads even though it is just a simple TCP packet at this point. This fixes the problem by stripping off encapsulation offload indications when packets are decapsulated. The performance impacts of this bug are significant. In a test where a Geneve encapsulated TCP stream is sent to a hypervisor, GRO'ed, decapsulated, and bridged to a VM performance is improved by 60% (5Gbps->8Gbps) as a result of avoiding unnecessary segmentation at the VM tap interface. Reported-by: Ramu Ramamurthy <srama...@linux.vnet.ibm.com> Fixes: 68c33163 ("v4 GRE: Add TCP segmentation offload for GRE") Signed-off-by: Jesse Gross <je...@kernel.org> Signed-off-by: David S. Miller <da...@davemloft.net> To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1602755/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp