|
|
Log in / Subscribe / Register

ipv4: fib: Convert RTM_NEWROUTE and RTM_DELROUTE to per-netns RTNL.

From:  Kuniyuki Iwashima <kuniyu-AT-amazon.com>
To:  "David S. Miller" <davem-AT-davemloft.net>, David Ahern <dsahern-AT-kernel.org>, Eric Dumazet <edumazet-AT-google.com>, Jakub Kicinski <kuba-AT-kernel.org>, "Paolo Abeni" <pabeni-AT-redhat.com>, Simon Horman <horms-AT-kernel.org>
Subject:  [PATCH v2 net-next 00/12] ipv4: fib: Convert RTM_NEWROUTE and RTM_DELROUTE to per-netns RTNL.
Date:  Wed, 26 Feb 2025 11:25:44 -0800
Message-ID:  <20250226192556.21633-1-kuniyu@amazon.com>
Cc:  Kuniyuki Iwashima <kuniyu-AT-amazon.com>, Kuniyuki Iwashima <kuni1840-AT-gmail.com>, <netdev-AT-vger.kernel.org>
Archive-link:  Article

Patch 1 is misc cleanup.
Patch 2 ~ 8 converts two fib_info hash tables to per-netns.
Patch 9 ~ 12 converts rtnl_lock() to rtnl_net_lcok().


Changes:
  v2:
    * Add Eric's tags except for patch 3 (due to a minor change for exit_batch())
    * Patch 3
      * Fix memleak by calling fib4_semantics_exit() properly
      * Move fib4_semantics_exit() to fib_net_exit_batch()

  v1: https://lore.kernel.org/netdev/20250225182250.74650-1-kun...


Kuniyuki Iwashima (12):
  ipv4: fib: Use cached net in fib_inetaddr_event().
  ipv4: fib: Allocate fib_info_hash[] and fib_info_laddrhash[] by
    kvmalloc_array().
  ipv4: fib: Allocate fib_info_hash[] during netns initialisation.
  ipv4: fib: Make fib_info_hashfn() return struct hlist_head.
  ipv4: fib: Remove fib_info_laddrhash pointer.
  ipv4: fib: Remove fib_info_hash_size.
  ipv4: fib: Add fib_info_hash_grow().
  ipv4: fib: Namespacify fib_info hash tables.
  ipv4: fib: Hold rtnl_net_lock() for ip_fib_net_exit().
  ipv4: fib: Hold rtnl_net_lock() in ip_rt_ioctl().
  ipv4: fib: Move fib_valid_key_len() to rtm_to_fib_config().
  ipv4: fib: Convert RTM_NEWROUTE and RTM_DELROUTE to per-netns RTNL.

 include/net/ip_fib.h     |   2 +
 include/net/netns/ipv4.h |   3 +
 net/ipv4/fib_frontend.c  |  74 ++++++++++----
 net/ipv4/fib_semantics.c | 207 +++++++++++++++++++--------------------
 net/ipv4/fib_trie.c      |  22 -----
 5 files changed, 160 insertions(+), 148 deletions(-)

-- 
2.39.5 (Apple Git-154)




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds