[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <ABA7FBA9-42F8-4D6E-9D1E-CDEC74966131@yandex-team.ru>
Date: Thu, 29 Oct 2020 07:23:56 +0300
From: Alexander Ovechkin <ovov@...dex-team.ru>
To: Willem de Bruijn <willemdebruijn.kernel@...il.com>
Cc: vfedorenko@...ek.ru, Network Development <netdev@...r.kernel.org>,
Tom Herbert <tom@...bertland.com>
Subject: Re: [PATCH net] ip6_tunnel: set inner ipproto before ip6_tnl_encap.
On 28 Oct 2020, at 01:53 UTC Willem de Bruijn <willemdebruijn.kernel@...il.com> wrote:
> On Tue, Oct 27, 2020 at 5:52 PM Alexander Ovechkin <ovov@...dex-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.
Powered by blists - more mailing lists