On 29.10.2020 14:40, Willem de Bruijn wrote:
On Thu, Oct 29, 2020 at 3:46 AM Alexander Ovechkin <o...@yandex-team.ru> wrote:
On 28 Oct 2020, at 01:53 UTC Willem de Bruijn <willemdebruijn.ker...@gmail.com>
wrote:
On Tue, Oct 27, 2020 at 5:52 PM Alexander Ovechkin <o...@yandex-team.ru> wrote:
But it was moved on purpose to avoid setting the inner protocol to IPPROTO_MPLS.
That needs to use skb->inner_protocol to further segment.
And why do we need to avoid setting the inner protocol to IPPROTO_MPLS? Currently
skb->inner_protocol is used before call of ip6_tnl_xmit.
Can you please give example when this patch breaks MPLS segmentation?
mpls_gso_segment calls skb_mac_gso_segment on the inner packet. After
setting skb->protocol based on skb->inner_protocol.
Yeah, but mpls_gso_segment is called before ip6_tnl_xmit (because tun devices
don't have NETIF_F_GSO_SOFTWARE in their mpls_features), so it does not matter to
what value ip6_tnl_xmit sets skb->inner_ipproto.
And even if gso would been called after both mpls_xmit and ip6_tnl_xmit it
would fail as you have written.
Good point. Okay, if no mpls gso packets can make it here, then it
should not matter.
Vadim, are we missing another reason for this move?
Else, no other concerns from me. Please do add a Fixes tag.
Could not reproduce the bug. Could you please provide a test scenario?
Anyway, all my scenarious with MPLS-in-IPv6 and MPLS-in-GUE are working so I'm
ok with moving