From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net] ipv4: reset fnhe_mtu_locked after cache route flushed Date: Thu, 10 May 2018 15:43:11 -0400 (EDT) Message-ID: <20180510.154311.1379589939333253104.davem@davemloft.net> References: <1525860404-15012-1-git-send-email-liuhangbin@gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, sd@queasysnail.net, sbrivio@redhat.com To: liuhangbin@gmail.com Return-path: Received: from shards.monkeyblade.net ([184.105.139.130]:36208 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752370AbeEJTnP (ORCPT ); Thu, 10 May 2018 15:43:15 -0400 In-Reply-To: <1525860404-15012-1-git-send-email-liuhangbin@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Hangbin Liu Date: Wed, 9 May 2018 18:06:44 +0800 > After route cache is flushed via ipv4_sysctl_rtcache_flush(), we forget > to reset fnhe_mtu_locked in rt_bind_exception(). When pmtu is updated > in __ip_rt_update_pmtu(), it will return directly since the pmtu is > still locked. e.g. > > + ip netns exec client ping 10.10.1.1 -c 1 -s 1400 -M do > PING 10.10.1.1 (10.10.1.1) 1400(1428) bytes of data. > From 10.10.0.254 icmp_seq=1 Frag needed and DF set (mtu = 0) > > --- 10.10.1.1 ping statistics --- > 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms > > + ip netns exec client ip route get 10.10.1.1 > 10.10.1.1 via 10.10.0.254 dev veth0_c src 10.10.0.1 uid 0 > cache expires 599sec mtu lock 552 > + ip netns exec client ip route flush cache > + ip netns exec client ip route get 10.10.1.1 > 10.10.1.1 via 10.10.0.254 dev veth0_c src 10.10.0.1 uid 0 > cache > + ip netns exec client ping 10.10.1.1 -c 1 -s 1400 -M do > PING 10.10.1.1 (10.10.1.1) 1400(1428) bytes of data. > ping: local error: Message too long, mtu=576 > > --- 10.10.1.1 ping statistics --- > 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms > > + ip netns exec client ip route get 10.10.1.1 > 10.10.1.1 via 10.10.0.254 dev veth0_c src 10.10.0.1 uid 0 > cache > > Fixes: d52e5a7e7ca49 ("ipv4: lock mtu in fnhe when received PMTU < net.ipv4.route.min_pmtu") > Reported-by: Jianlin Shi > Reviewed-by: Stefano Brivio > Signed-off-by: Hangbin Liu Applied.