On 08.07.2016 16:17, Shmulik Ladkani wrote: > On Fri, 8 Jul 2016 09:21:40 -0700 Alexander Duyck <alexander.du...@gmail.com> > wrote: >> On Thu, Jul 7, 2016 at 8:58 AM, Paolo Abeni <pab...@redhat.com> wrote: >>> 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. > > +1 > >> 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