summaryrefslogtreecommitdiffstats
path: root/net/ipv4/fib_frontend.c
diff options
context:
space:
mode:
authorScott Feldman <sfeldma@gmail.com>2015-03-05 21:21:16 -0800
committerDavid S. Miller <davem@davemloft.net>2015-03-06 00:24:58 -0500
commit104616e74e0b464d449fdd2ee2f547d2fad71610 (patch)
treed4b32f6edd854bf4188abcea58ec84616a466df4 /net/ipv4/fib_frontend.c
parent5e8d90497d65f528c54015644095ace6e330fd8e (diff)
downloadlinux-104616e74e0b464d449fdd2ee2f547d2fad71610.tar.gz
linux-104616e74e0b464d449fdd2ee2f547d2fad71610.tar.bz2
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.