From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net] route: update fnhe_expires for redirect when the fnhe exists Date: Sat, 18 Nov 2017 10:35:07 +0900 (KST) Message-ID: <20171118.103507.1606377296636037986.davem@davemloft.net> References: <47b8cdc4e99ce0ea658df1d76c8ed704ca781aa3.1510900026.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, hannes@stressinduktion.org, pabeni@redhat.com To: lucien.xin@gmail.com Return-path: Received: from shards.monkeyblade.net ([184.105.139.130]:38156 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1423932AbdKRBfL (ORCPT ); Fri, 17 Nov 2017 20:35:11 -0500 In-Reply-To: <47b8cdc4e99ce0ea658df1d76c8ed704ca781aa3.1510900026.git.lucien.xin@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Xin Long Date: Fri, 17 Nov 2017 14:27:06 +0800 > Now when creating fnhe for redirect, it sets fnhe_expires for this > new route cache. But when updating the exist one, it doesn't do it. > It will cause this fnhe never to be expired. > > Paolo already noticed it before, in Jianlin's test case, it became > even worse: > > When ip route flush cache, the old fnhe is not to be removed, but > only clean it's members. When redirect comes again, this fnhe will > be found and updated, but never be expired due to fnhe_expires not > being set. > > So fix it by simply updating fnhe_expires even it's for redirect. > > Fixes: aee06da6726d ("ipv4: use seqlock for nh_exceptions") > Reported-by: Jianlin Shi > Acked-by: Hannes Frederic Sowa > Signed-off-by: Xin Long Applied.