From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sabrina Dubroca Subject: Re: [PATCH net] ipv4: reset fnhe_mtu_locked after cache route flushed Date: Tue, 10 Jul 2018 16:00:42 +0200 Message-ID: <20180710140042.GA1963@bistromath.localdomain> References: <1525860404-15012-1-git-send-email-liuhangbin@gmail.com> <20180510.154311.1379589939333253104.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Cc: liuhangbin@gmail.com, netdev@vger.kernel.org, sbrivio@redhat.com To: David Miller Return-path: Received: from mx3-rdu2.redhat.com ([66.187.233.73]:56310 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933248AbeGJOAk (ORCPT ); Tue, 10 Jul 2018 10:00:40 -0400 Content-Disposition: inline In-Reply-To: <20180510.154311.1379589939333253104.davem@davemloft.net> Sender: netdev-owner@vger.kernel.org List-ID: 2018-05-10, 15:43:11 -0400, David Miller wrote: > 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. meh, I know it's way too late, but I just noticed this patch lost most of its commit message, and all of its tags, when it went into git :( Patchwork actually thinks the format is ok (it counts one Fixes and one Reviewed-by), but git cut all that out. Would there be a way to detect this when you apply patches? "there's no tag above the first '^---', but there are some tags below it", something like that? commit 0e8411e426e277f55bd21e287ec89fab6f8eacae Author: Hangbin Liu Date: Wed May 9 18:06:44 2018 +0800 ipv4: reset fnhe_mtu_locked after cache route flushed 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) Signed-off-by: David S. Miller -- Sabrina