summary refs log tree commit diff
path: root/include/net
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2022-02-07 20:50:28 -0800
committerJakub Kicinski <kuba@kernel.org>2022-02-08 20:41:32 -0800
commit21a216a8fc630161e69eaf02cbebdd1816ff1a13 (patch)
tree95881822e7dbc13dd7bf9cd87502e98fd03a3f54 /include/net
parentb2309a71c1f2fc841feb184195b2e46b2e139bf4 (diff)
downloadlinux-21a216a8fc630161e69eaf02cbebdd1816ff1a13.tar.gz
ipv6/addrconf: allocate a per netns hash table
Add a per netns hash table and a dedicated spinlock,
first step to get rid of the global inet6_addr_lst[] one.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/netns/ipv6.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/netns/ipv6.h b/include/net/netns/ipv6.h
index 30cdfc4e1615..755f12001c8b 100644
--- a/include/net/netns/ipv6.h
+++ b/include/net/netns/ipv6.h
@@ -92,6 +92,10 @@ struct netns_ipv6 {
 	struct sock             *tcp_sk;
 	struct sock             *igmp_sk;
 	struct sock		*mc_autojoin_sk;
+
+	struct hlist_head	*inet6_addr_lst;
+	spinlock_t		addrconf_hash_lock;
+
 #ifdef CONFIG_IPV6_MROUTE
 #ifndef CONFIG_IPV6_MROUTE_MULTIPLE_TABLES
 	struct mr_table		*mrt6;