From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net] ip6_tunnel: get the min mtu properly in ip6_tnl_xmit Date: Tue, 19 Dec 2017 13:46:08 -0500 (EST) Message-ID: <20171219.134608.2000549901090270883.davem@davemloft.net> References: <5a4b92b4ea3263c25d3faa158ea867a6946808a4.1513578381.git.lucien.xin@gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org To: lucien.xin@gmail.com Return-path: Received: from shards.monkeyblade.net ([184.105.139.130]:54864 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751865AbdLSSqJ (ORCPT ); Tue, 19 Dec 2017 13:46:09 -0500 In-Reply-To: <5a4b92b4ea3263c25d3faa158ea867a6946808a4.1513578381.git.lucien.xin@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Xin Long 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 > Signed-off-by: Xin Long Applied.