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>

Reply via email to