ipv6: per netns fib6 walkers
The IPv6 FIB data structures are separated per network namespace but there is still only one global walkers list and one global walker list lock. This means changes in one namespace unnecessarily interfere with walkers in other namespaces. Replace the global list with per-netns lists (and give each its own lock). Signed-off-by: Michal Kubecek <mkubecek@suse.cz> Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
3570df914f
commit
9a03cd8f38
@@ -58,7 +58,9 @@ struct netns_ipv6 {
|
||||
struct timer_list ip6_fib_timer;
|
||||
struct hlist_head *fib_table_hash;
|
||||
struct fib6_table *fib6_main_tbl;
|
||||
struct list_head fib6_walkers;
|
||||
struct dst_ops ip6_dst_ops;
|
||||
rwlock_t fib6_walker_lock;
|
||||
unsigned int ip6_rt_gc_expire;
|
||||
unsigned long ip6_rt_last_gc;
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
|
Reference in New Issue
Block a user