[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF=yD-K2sjoMVWo0rV-3O8oPbQ-TF6bsCMVSOAx1tYjPJzi=rQ@mail.gmail.com>
Date: Thu, 28 Jan 2021 21:38:34 -0500
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: Vadim Fedorenko <vfedorenko@...ek.ru>
Cc: Jakub Kicinski <kuba@...nel.org>,
"Willem de Bruijn <willemdebruijn.kernel@...il.com>--to=Slava Bacherikov"
<mail@...va.cc>, Network Development <netdev@...r.kernel.org>
Subject: Re: [net v2] net: ip_tunnel: fix mtu calculation
On Thu, Jan 28, 2021 at 9:21 PM Willem de Bruijn
<willemdebruijn.kernel@...il.com> wrote:
>
> On Thu, Jan 28, 2021 at 8:02 PM Vadim Fedorenko <vfedorenko@...ek.ru> wrote:
> >
> > dev->hard_header_len for tunnel interface is set only when header_ops
> > are set too and already contains full overhead of any tunnel encapsulation.
> > That's why there is not need to use this overhead twice in mtu calc.
> >
> > Fixes: fdafed459998 ("ip_gre: set dev->hard_header_len and dev->needed_headroom properly")
> > Reported-by: Slava Bacherikov <mail@...va.cc>
> > Signed-off-by: Vadim Fedorenko <vfedorenko@...ek.ru>
>
> Acked-by: Willem de Bruijn <willemb@...gle.com>
>
> It is easy to verify that if hard_header_len is zero the calculation
> does not change. And as discussed, ip_gre is the only ip_tunnel
> user that sometimes has it non-zero (for legacy reasons that
> we cannot revert now). In that case it is equivalent to tun->hlen +
> sizeof(struct iphdr). LGTM. Thanks!
Actually, following that reasoning, we can just remove
dev->hard_header_len from these calculations, no need for branching.
>
> Btw, ip6_gre might need the same after commit 832ba596494b
> ("net: ip6_gre: set dev->hard_header_len when using header_ops")
Powered by blists - more mailing lists