net: Convert neighbor tables to per-namespace
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest17 patches 25 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/17 | net/ipv4: rename ipv4_neigh_lookup to ipv4_dst_neigh_lookupnet/ | +4 | 0 replies | |
| 2/17 | net/neigh: export neigh_find_tableinclude/ net/ | +6 | 0 replies | |
| 3/17 | net/ipv4: wrappers for arp table referencesinclude/ | +25 | 0 replies | |
| 4/17 | net/ipv4: Remove open coded use of arp tablenet/ net/ net/ +3 more | +29 | 0 replies | |
| 5/17 | net/ipv6: wrappers for neighbor table referencesinclude/ | +65 | 0 replies | |
| 6/17 | net/ipv6: Remove open coded use of neighbor tablenet/ net/ net/ +1 more | +42 | 0 replies | |
| 7/17 | drivers/net: remove open coding of neighbor tablesdrivers/ drivers/ drivers/ +9 more | +70 | 0 replies | |
| 8/17 | net: Remove nd_tbl from ipv6 stubinclude/ net/ net/ +1 more | +2 | 0 replies | |
| 9/17 | net: Remove arp_tbl and nd_tbl from headersinclude/ include/ | +0 | 0 replies | |
| 10/17 | net: Add key_len to neighbor constructorinclude/ net/ net/ +2 more | +11 | 0 replies | |
| 11/17 | net: Change neigh_table_init and neigh_table_clear signatureinclude/ net/ net/ +2 more | +39 | 0 replies | |
| 12/17 | net/neigh: Change neigh_xmit to take an address familyinclude/ net/ net/ +3 more | +25 | 0 replies | |
| 13/17 | net/neighbor: Convert internal functions away from neigh_tablesnet/ | +20 | 0 replies | |
| 14/17 | net/ipv4: Convert arp table to per namespaceinclude/ include/ net/ +1 more | +67 | 0 replies | |
| 15/17 | net/ipv6: Convert neighbor table to per-namespaceinclude/ include/ net/ +1 more | +76 | 0 replies | |
| 16/17 | net/decnet: Move neighbor table to per-namespaceinclude/ net/ | +13 | 0 replies | |
| 17/17 | net/neighbor: Remove neigh_tables and NEIGH enuminclude/ net/ | +0 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH RFC/RFT net-next 00/17] net: Convert neighbor tables to per-namespace
From: David Ahern <[email protected]>
Nikita Leshenko reported that neighbor entries in one namespace can evict neighbor entries in another. The problem is that the neighbor tables have entries across all namespaces without separate accounting and with global limits on when to scan for entries to evict.
Resolve by making the neighbor tables for ipv4, ipv6 and decnet per namespace and making the accounting and threshold limits per namespace.
David Ahern (17):
net/ipv4: rename ipv4_neigh_lookup to ipv4_dst_neigh_lookup net/neigh: export neigh_find_table
net/ipv4: wrappers for arp table references
net/ipv4: Remove open coded use of arp table net/ipv6: wrappers for neighbor table references net/ipv6: Remove open coded use of neighbor table drivers/net: remove open coding of neighbor tables
net: Remove nd_tbl from ipv6 stub
net: Remove arp_tbl and nd_tbl from headers
net: Add key_len to neighbor constructor
net: Change neigh_table_init and neigh_table_clear signature net/neigh: Change neigh_xmit to take an address family net/neighbor: Convert internal functions away from neigh_tables net/ipv4: Convert arp table to per namespace net/ipv6: Convert neighbor table to per-namespace net/decnet: Move neighbor table to per-namespace net/neighbor: Remove neigh_tables and NEIGH enum
drivers/infiniband/ulp/ipoib/ipoib_main.c | 14 +- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 35 ++--- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 11 +- .../net/ethernet/mellanox/mlxsw/spectrum_router.c | 27 ++-- .../net/ethernet/mellanox/mlxsw/spectrum_span.c | 8 +- .../ethernet/netronome/nfp/flower/tunnel_conf.c | 2 +- drivers/net/ethernet/rocker/rocker_main.c | 4 +- drivers/net/ethernet/rocker/rocker_ofdpa.c | 2 +- drivers/net/vrf.c | 4 +- drivers/net/vxlan.c | 10 +- include/net/addrconf.h | 1 - include/net/arp.h | 25 +++- include/net/ndisc.h | 75 +++++++++- include/net/neighbour.h | 17 +-- include/net/net_namespace.h | 3 + include/net/netns/ipv4.h | 1 + include/net/netns/ipv6.h | 1 + net/atm/clip.c | 14 +- net/bridge/br_arp_nd_proxy.c | 4 +- net/core/filter.c | 3 +- net/core/neighbour.c | 115 +++++++++----- net/decnet/dn_neigh.c | 8 +- net/ieee802154/6lowpan/tx.c | 2 +- net/ipv4/arp.c | 130 +++++++++------- net/ipv4/devinet.c | 8 +- net/ipv4/fib_semantics.c | 2 +- net/ipv4/ip_output.c | 2 +- net/ipv4/route.c | 12 +- net/ipv6/addrconf.c | 16 +- net/ipv6/af_inet6.c | 1 - net/ipv6/ip6_output.c | 4 +- net/ipv6/ndisc.c | 165 +++++++++++---------- net/ipv6/route.c | 12 +- net/mpls/af_mpls.c | 33 ++--- net/mpls/mpls_iptunnel.c | 6 +- net/netfilter/nf_flow_table_ip.c | 4 +- net/netfilter/nft_fwd_netdev.c | 6 +- 37 files changed, 467 insertions(+), 320 deletions(-)
Signature · 1 line
2.11.0