netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 net-next 00/13] rtnetlink: Refactor rtnl_{new,del,set}link() for per-netns RTNL.
@ 2024-10-09 23:16 Kuniyuki Iwashima
  2024-10-09 23:16 ` [PATCH v1 net-next 01/13] rtnetlink: Allocate linkinfo[] as struct rtnl_newlink_tbs Kuniyuki Iwashima
                   ` (12 more replies)
  0 siblings, 13 replies; 30+ messages in thread
From: Kuniyuki Iwashima @ 2024-10-09 23:16 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: Kuniyuki Iwashima, Kuniyuki Iwashima, netdev

This is a prep for the next series where we will push RTNL down to
rtnl_{new,del,set}link().

That means, for example, __rtnl_newlink() is always under RTNL, but
rtnl_newlink() has a non-RTNL section.

As a prerequisite for per-netns RTNL, we will move netns validation
(and RTNL-independent validations if possible) to that section.

rtnl_link_ops and rtnl_af_ops will be protected with SRCU not to
depend on RTNL.


Kuniyuki Iwashima (13):
  rtnetlink: Allocate linkinfo[] as struct rtnl_newlink_tbs.
  rtnetlink: Call validate_linkmsg() in do_setlink().
  rtnetlink: Factorise do_setlink() path from __rtnl_newlink().
  rtnetlink: Move simple validation from __rtnl_newlink() to
    rtnl_newlink().
  rtnetlink: Move rtnl_link_ops_get() and retry to rtnl_newlink().
  rtnetlink: Move ops->validate to rtnl_newlink().
  rtnetlink: Protect struct rtnl_link_ops with SRCU.
  rtnetlink: Call rtnl_link_get_net_capable() in rtnl_newlink().
  rtnetlink: Fetch IFLA_LINK_NETNSID in rtnl_newlink().
  rtnetlink: Clean up rtnl_dellink().
  rtnetlink: Clean up rtnl_setlink().
  rtnetlink: Call rtnl_link_get_net_capable() in do_setlink().
  rtnetlink: Protect struct rtnl_af_ops with SRCU.

 include/net/rtnetlink.h |  10 +-
 net/core/rtnetlink.c    | 552 ++++++++++++++++++++++------------------
 2 files changed, 310 insertions(+), 252 deletions(-)

-- 
2.39.5 (Apple Git-154)


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2024-10-11 16:18 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-09 23:16 [PATCH v1 net-next 00/13] rtnetlink: Refactor rtnl_{new,del,set}link() for per-netns RTNL Kuniyuki Iwashima
2024-10-09 23:16 ` [PATCH v1 net-next 01/13] rtnetlink: Allocate linkinfo[] as struct rtnl_newlink_tbs Kuniyuki Iwashima
2024-10-10 12:36   ` Eric Dumazet
2024-10-09 23:16 ` [PATCH v1 net-next 02/13] rtnetlink: Call validate_linkmsg() in do_setlink() Kuniyuki Iwashima
2024-10-10 12:44   ` Eric Dumazet
2024-10-09 23:16 ` [PATCH v1 net-next 03/13] rtnetlink: Factorise do_setlink() path from __rtnl_newlink() Kuniyuki Iwashima
2024-10-10 12:39   ` Eric Dumazet
2024-10-09 23:16 ` [PATCH v1 net-next 04/13] rtnetlink: Move simple validation from __rtnl_newlink() to rtnl_newlink() Kuniyuki Iwashima
2024-10-10 12:40   ` Eric Dumazet
2024-10-09 23:16 ` [PATCH v1 net-next 05/13] rtnetlink: Move rtnl_link_ops_get() and retry " Kuniyuki Iwashima
2024-10-09 23:16 ` [PATCH v1 net-next 06/13] rtnetlink: Move ops->validate " Kuniyuki Iwashima
2024-10-10 12:48   ` Eric Dumazet
2024-10-09 23:16 ` [PATCH v1 net-next 07/13] rtnetlink: Protect struct rtnl_link_ops with SRCU Kuniyuki Iwashima
2024-10-10 13:02   ` Eric Dumazet
2024-10-10 16:20     ` Kuniyuki Iwashima
2024-10-09 23:16 ` [PATCH v1 net-next 08/13] rtnetlink: Call rtnl_link_get_net_capable() in rtnl_newlink() Kuniyuki Iwashima
2024-10-10 13:08   ` Eric Dumazet
2024-10-09 23:16 ` [PATCH v1 net-next 09/13] rtnetlink: Fetch IFLA_LINK_NETNSID " Kuniyuki Iwashima
2024-10-10 13:09   ` Eric Dumazet
2024-10-09 23:16 ` [PATCH v1 net-next 10/13] rtnetlink: Clean up rtnl_dellink() Kuniyuki Iwashima
2024-10-10 13:10   ` Eric Dumazet
2024-10-09 23:16 ` [PATCH v1 net-next 11/13] rtnetlink: Clean up rtnl_setlink() Kuniyuki Iwashima
2024-10-10 13:11   ` Eric Dumazet
2024-10-09 23:16 ` [PATCH v1 net-next 12/13] rtnetlink: Call rtnl_link_get_net_capable() in do_setlink() Kuniyuki Iwashima
2024-10-10 13:15   ` Eric Dumazet
2024-10-11  7:36   ` kernel test robot
2024-10-11 16:17     ` Kuniyuki Iwashima
2024-10-09 23:16 ` [PATCH v1 net-next 13/13] rtnetlink: Protect struct rtnl_af_ops with SRCU Kuniyuki Iwashima
2024-10-10 13:16   ` Eric Dumazet
2024-10-10 16:27     ` Kuniyuki Iwashima

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).