summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2026-09-04 15:03:00 -0700
committerJakub Kicinski <kuba@kernel.org>2026-09-04 15:03:01 -0700
commita753848a327ef5ad358ee1231afb1f85c38c893e (patch)
tree5f6e863bdfa439fff8ae0b3eb87d831c5881c808 /include/linux
parent6797f12ea40e788c7da47a7cf9ea4a9341548de0 (diff)
parent10aa85762861d3c9846ed6ba40e7b16efe60cf07 (diff)
Merge branch 'neighbour-namespacify-arp_tbl-and-nd_tbl'
Kuniyuki Iwashima says: ==================== neighbour: Namespacify arp_tbl and nd_tbl. The neighbour subsystem is almost ready to drop RTNL. However, the control paths are serialised by the global per-table lock. This series converts arp_tbl and nd_tbl to per-netns table. With the series, /proc/sys/net/ipv{4,6}/neigh/default/ can be configured per netns, which was only configurable in init_net. To avoid potential regression, all the settings are inherited from init_net by default, and this behaviour is controlled by a new sysctl knob, net.core.neigh_inherit_init_net: # sysctl net.core.neigh_inherit_init_net net.core.neigh_inherit_init_net = 1 # sysctl net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh1 = 128 # sysctl net.ipv4.neigh.default.gc_thresh1=129 net.ipv4.neigh.default.gc_thresh1 = 129 # unshare -n sysctl net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh1 = 129 If it is turned off, all settings are reset in the new netns: # sysctl net.core.neigh_inherit_init_net=0 net.core.neigh_inherit_init_net = 0 # unshare -n sysctl net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh1 = 128 Series overview: Patch 1 deflakes test_neigh.sh. Patch 2 ~ 3 are misc cleanup. Patch 4 ~ 7 store arp_tbl/nd_tbl to net->neigh_tables[] and remove the global neigh_tables[]. Patch 8 ~ 9 replace the direct access to arp_tbl/nd_tbl to net->neigh_tables[] using new helpers. Patch 10 ~ 12 finally replace the global table with per-netns table. Patch 13 ~ 14 clean up unnecessary net_eq(). Patch 15 updates test_neigh.sh. Note that some buggy drivers access nd_tbl without checking disable_ipv6_mod, so nd_tbl's extern definition is still left. ==================== Link: https://patch.msgid.link/20260902203722.926528-1-kuniyu@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions