[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20171219.134608.2000549901090270883.davem@davemloft.net>
Date: Tue, 19 Dec 2017 13:46:08 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: lucien.xin@...il.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net] ip6_tunnel: get the min mtu properly in
ip6_tnl_xmit
From: Xin Long <lucien.xin@...il.com>
Date: Mon, 18 Dec 2017 14:26:21 +0800
> Now it's using IPV6_MIN_MTU as the min mtu in ip6_tnl_xmit, but
> IPV6_MIN_MTU actually only works when the inner packet is ipv6.
>
> With IPV6_MIN_MTU for ipv4 packets, the new pmtu for inner dst
> couldn't be set less than 1280. It would cause tx_err and the
> packet to be dropped when the outer dst pmtu is close to 1280.
>
> Jianlin found it by running ipv4 traffic with the topo:
>
> (client) gre6 <---> eth1 (route) eth2 <---> gre6 (server)
>
> After changing eth2 mtu to 1300, the performance became very
> low, or the connection was even broken. The issue also affects
> ip4ip6 and ip6ip6 tunnels.
>
> So if the inner packet is ipv4, 576 should be considered as the
> min mtu.
>
> Note that for ip4ip6 and ip6ip6 tunnels, the inner packet can
> only be ipv4 or ipv6, but for gre6 tunnel, it may also be ARP.
> This patch using 576 as the min mtu for non-ipv6 packet works
> for all those cases.
>
> Reported-by: Jianlin Shi <jishi@...hat.com>
> Signed-off-by: Xin Long <lucien.xin@...il.com>
Applied.
Powered by blists - more mailing lists