On Thu, Mar 25, 2021 at 1:24 PM Paolo Abeni <pab...@redhat.com> wrote: > > After the previous patch, the stack can do L4 UDP aggregation > on top of a UDP tunnel. > > In such scenario, udp{4,6}_gro_complete will be called twice. This function > will enter its is_flist branch immediately, even though that is only > correct on the second call, as GSO_FRAGLIST is only relevant for the > inner packet. > > Instead, we need to try first UDP tunnel-based aggregation, if the GRO > packet requires that. > > This patch changes udp{4,6}_gro_complete to skip the frag list processing > when while encap_mark == 1, identifying processing of the outer tunnel > header. > Additionally, clears the field in udp_gro_complete() so that we can enter > the frag list path on the next round, for the inner header. > > v1 -> v2: > - hopefully clarified the commit message > > Signed-off-by: Paolo Abeni <pab...@redhat.com>
Reviewed-by: Willem de Bruijn <will...@google.com>