On Tue, 30 Jun 2020 12:21:14 +0200 Oliver Herms wrote: > On 30.06.20 08:22, Jakub Kicinski wrote: > > On Fri, 26 Jun 2020 00:44:35 +0200 Oliver Herms wrote: > >> The calculation of the effective tunnel mtu, that is used to create > >> mtu exceptions if necessary, is currently not done correctly. This > >> leads to unnecessary entries in the IPv6 route cache for any > >> packet send through the tunnel. > >> > >> The root cause is, that "dev->hard_header_len" is subtracted from the > >> tunnel destionations path mtu. Thus subtracting too much, if > >> dev->hard_header_len is filled in. This is that case for SIT tunnels > >> where hard_header_len is the underlyings dev hard_header_len (e.g. 14 > >> for ethernet) + 20 bytes IP header (see net/ipv6/sit.c:1091). > > > > It seems like SIT possibly got missed in evolution of the ip_tunnel > > code? It seems to duplicate a lot of code, including pmtu checking. > > Doesn't call ip_tunnel_init()... > > Are you open for patches cleaning this up?
Certainly! Maybe some of the oddities are justified, but cleanup / re-aligning with the rest of ip_tunnels would be nice. Not sure how much of it is qualifying as a bug, so perhaps two series would be needed - one for net / stable with bug fixes and another of pure cleanups for net-next?