[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180510.154311.1379589939333253104.davem@davemloft.net>
Date: Thu, 10 May 2018 15:43:11 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: liuhangbin@...il.com
Cc: netdev@...r.kernel.org, sd@...asysnail.net, sbrivio@...hat.com
Subject: Re: [PATCH net] ipv4: reset fnhe_mtu_locked after cache route
flushed
From: Hangbin Liu <liuhangbin@...il.com>
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 <jishi@...hat.com>
> Reviewed-by: Stefano Brivio <sbrivio@...hat.com>
> Signed-off-by: Hangbin Liu <liuhangbin@...il.com>
Applied.
Powered by blists - more mailing lists