Re: [PATCH net-next 0/4] net: cleanup for UDP tunnel's GRO
From: Hannes Frederic Sowa <hidden>
Date: 2016-07-08 20:57:14
On 08.07.2016 16:17, Shmulik Ladkani wrote:
On Fri, 8 Jul 2016 09:21:40 -0700 Alexander Duyck [off-list ref] wrote:quoted
On Thu, Jul 7, 2016 at 8:58 AM, Paolo Abeni [off-list ref] wrote:quoted
With udp tunnel offload in place, the kernel can do GRO for some udp tunnels at the ingress device level. Currently both the geneve and the vxlan drivers implement an additional GRO aggregation point via gro_cells. The latter takes effect for tunnels using zero checksum udp packets, which are currently explicitly not aggregated by the udp offload layer. This patch series adapts the udp tunnel offload to process also zero checksum udp packets, if the tunnel's socket allow it. Aggregation, if possible is always performed at the ingress device level. Then the gro_cells hooks, in both vxlan and geneve driver are removed.I think removing the gro_cells hooks may be taking things one step too far.+1quoted
I get that there is an impression that it is redundant but there are a number of paths that could lead to VXLAN or GENEVE frames being received that are not aggregated via GRO.There's the case where the vxlan/geneve datagrams get IP fragmented, and IP frags are not GROed. GRO aggregation at the vxlan/geneve level is beneficial for this case.
Isn't this a misconfiguration? TCP should not fragment at all, not even in vxlan/geneve if one cares about performance? And UDP is not GRO'ed anyway. Bye, Hannes