From: Paolo Abeni <pabeni@redhat.com>
To: netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
Wei Wang <weiwan@google.com>, Eric Dumazet <edumazet@google.com>,
Hannes Frederic Sowa <hannes@stressinduktion.org>,
Martin KaFai Lau <kafai@fb.com>
Subject: [PATCH net-next v3 1/2] ipv6: start fib6 gc on RTF_CACHE dst creation
Date: Thu, 19 Oct 2017 16:07:10 +0200 [thread overview]
Message-ID: <f699f29b3fb7675fdfe5d85ab39e153c147c12f8.1508421311.git.pabeni@redhat.com> (raw)
In-Reply-To: <cover.1508421311.git.pabeni@redhat.com>
After the commit 2b760fcf5cfb ("ipv6: hook up exception table
to store dst cache"), the fib6 gc is not started after the
creation of a RTF_CACHE via a redirect or pmtu update, since
fib6_add() isn't invoked anymore for such dsts.
We need the fib6 gc to run periodically to clean the RTF_CACHE,
or the dst will stay there forever.
Fix it by explicitly calling fib6_force_start_gc() on successful
exception creation. gc_args->more accounting will ensure that
the gc timer will run for whatever time needed to properly
clean the table.
v2 -> v3:
- clarified the commit message
Fixes: 2b760fcf5cfb ("ipv6: hook up exception table to store dst cache")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
net/ipv6/route.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 01a103c23a6c..5c27313803d2 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1340,8 +1340,10 @@ static int rt6_insert_exception(struct rt6_info *nrt,
spin_unlock_bh(&rt6_exception_lock);
/* Update fn->fn_sernum to invalidate all cached dst */
- if (!err)
+ if (!err) {
fib6_update_sernum(ort);
+ fib6_force_start_gc(net);
+ }
return err;
}
--
2.13.6
next prev parent reply other threads:[~2017-10-19 14:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-19 14:07 [PATCH net-next v3 0/2] ipv6: fixes for RTF_CACHE entries Paolo Abeni
2017-10-19 14:07 ` Paolo Abeni [this message]
2017-10-19 20:13 ` [PATCH net-next v3 1/2] ipv6: start fib6 gc on RTF_CACHE dst creation Wei Wang
2017-10-19 21:01 ` Martin KaFai Lau
2017-10-19 14:07 ` [PATCH net-next v3 2/2] ipv6: remove from fib tree aged out RTF_CACHE dst Paolo Abeni
2017-10-19 20:19 ` Wei Wang
2017-10-19 21:02 ` Martin KaFai Lau
2017-10-21 0:40 ` [PATCH net-next v3 0/2] ipv6: fixes for RTF_CACHE entries David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f699f29b3fb7675fdfe5d85ab39e153c147c12f8.1508421311.git.pabeni@redhat.com \
--to=pabeni@redhat.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hannes@stressinduktion.org \
--cc=kafai@fb.com \
--cc=netdev@vger.kernel.org \
--cc=weiwan@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.