Skip to content

net: Convert neighbor tables to per-namespace

[email protected] linux-wpan lkml netdev netfilter-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest17 patches 25 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/17net/ipv4: rename ipv4_neigh_lookup to ipv4_dst_neigh_lookupnet/ipv4/route.c+4 -40 replies
2/17net/neigh: export neigh_find_tableinclude/net/neighbour.h net/core/neighbour.c+6 -30 replies
3/17net/ipv4: wrappers for arp table referencesinclude/net/arp.h+25 -10 replies
4/17net/ipv4: Remove open coded use of arp tablenet/bridge/br_arp_nd_proxy.c net/ipv4/arp.c net/ipv4/devinet.c +3 more+29 -250 replies
5/17net/ipv6: wrappers for neighbor table referencesinclude/net/ndisc.h+65 -40 replies
6/17net/ipv6: Remove open coded use of neighbor tablenet/ipv6/addrconf.c net/ipv6/ip6_output.c net/ipv6/ndisc.c +1 more+42 -310 replies
7/17drivers/net: remove open coding of neighbor tablesdrivers/infiniband/ulp/ipoib/ipoib_main.c drivers/net/ethernet/mellanox/mlx5/core/en_rep.c drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +9 more+70 -630 replies
8/17net: Remove nd_tbl from ipv6 stubinclude/net/addrconf.h net/bridge/br_arp_nd_proxy.c net/core/filter.c +1 more+2 -50 replies
9/17net: Remove arp_tbl and nd_tbl from headersinclude/net/arp.h include/net/ndisc.h+0 -50 replies
10/17net: Add key_len to neighbor constructorinclude/net/neighbour.h net/core/neighbour.c net/decnet/dn_neigh.c +2 more+11 -90 replies
11/17net: Change neigh_table_init and neigh_table_clear signatureinclude/net/neighbour.h net/core/neighbour.c net/decnet/dn_neigh.c +2 more+39 -150 replies
12/17net/neigh: Change neigh_xmit to take an address familyinclude/net/neighbour.h net/core/neighbour.c net/mpls/af_mpls.c +3 more+25 -360 replies
13/17net/neighbor: Convert internal functions away from neigh_tablesnet/core/neighbour.c+20 -70 replies
14/17net/ipv4: Convert arp table to per namespaceinclude/net/arp.h include/net/netns/ipv4.h net/core/neighbour.c +1 more+67 -460 replies
15/17net/ipv6: Convert neighbor table to per-namespaceinclude/net/ndisc.h include/net/netns/ipv6.h net/core/neighbour.c +1 more+76 -670 replies
16/17net/decnet: Move neighbor table to per-namespaceinclude/net/net_namespace.h net/core/neighbour.c+13 -160 replies
17/17net/neighbor: Remove neigh_tables and NEIGH enuminclude/net/neighbour.h net/core/neighbour.c+0 -100 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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