summaryrefslogtreecommitdiffstats
path: root/net/ipv4/fib_frontend.c
diff options
context:
space:
mode:
authorScott Feldman <sfeldma@gmail.com>2015-03-06 06:21:16 +0100
committerDavid S. Miller <davem@davemloft.net>2015-03-06 06:24:58 +0100
commit104616e74e0b464d449fdd2ee2f547d2fad71610 (patch)
treed4b32f6edd854bf4188abcea58ec84616a466df4 /net/ipv4/fib_frontend.c
parentswitchdev: add IPv4 fib ndo ops wrappers (diff)
downloadlinux-104616e74e0b464d449fdd2ee2f547d2fad71610.tar.xz
linux-104616e74e0b464d449fdd2ee2f547d2fad71610.zip
switchdev: don't support custom ip rules, for now
Keep switchdev FIB offload model simple for now and don't allow custom ip rules. Signed-off-by: Scott Feldman <sfeldma@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/fib_frontend.c')
-rw-r--r--net/ipv4/fib_frontend.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
index 220c4b4af4cf..e067770235bf 100644
--- a/net/ipv4/fib_frontend.c
+++ b/net/ipv4/fib_frontend.c
@@ -144,6 +144,19 @@ static void fib_flush(struct net *net)
rt_cache_flush(net);
}
+void fib_flush_external(struct net *net)
+{
+ struct fib_table *tb;
+ struct hlist_head *head;
+ unsigned int h;
+
+ for (h = 0; h < FIB_TABLE_HASHSZ; h++) {
+ head = &net->ipv4.fib_table_hash[h];
+ hlist_for_each_entry(tb, head, tb_hlist)
+ fib_table_flush_external(tb);
+ }
+}
+
/*
* Find address type as if only "dev" was present in the system. If
* on_dev is NULL then all interfaces are taken into consideration.