All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v3 0/8] net: maintain netif vs dev prefix semantics
@ 2025-07-08 21:38 Stanislav Fomichev
  2025-07-08 21:38 ` [PATCH net-next v3 1/8] net: s/dev_get_stats/netif_get_stats/ Stanislav Fomichev
                   ` (8 more replies)
  0 siblings, 9 replies; 13+ messages in thread
From: Stanislav Fomichev @ 2025-07-08 21:38 UTC (permalink / raw)
  To: netdev; +Cc: davem, edumazet, kuba, pabeni

Commit cc34acd577f1 ("docs: net: document new locking reality")
introduced netif_ vs dev_ function semantics: the former expects locked
netdev, the latter takes care of the locking. We don't strictly
follow this semantics on either side, but there are more dev_xxx handlers
now that don't fit. Rename them to netif_xxx where appropriate. We care only
about driver-visible APIs, don't touch stack-internal routines.

This is part 1, I'm considering following up with these (haven't looked
deep, maybe the ones that are frequently used are fine to keep):

  * dev_get_tstats64 dev_fetch_sw_netstats
  * dev_xdp_prog_count,
  * dev_add_pack dev_remove_pack dev_remove_pack
  * dev_get_iflink
  * dev_fill_forward_path
  * dev_getbyhwaddr_rcu dev_getbyhwaddr dev_getfirstbyhwtype
  * dev_valid_name dev_valid_name
  * dev_forward dev_forward_skb
  * dev_queue_xmit_nit dev_nit_active_rcu
  * dev_pick_tx_zero

Sending this out to get a sense of direction :-)

v3:
- move MODULE_IMPORT_NS closer to other module metadata (Willem)
- add MODULE_IMPORT_NS to bridge (build bot)
- add ops lock assert where appropriate (Willem)
  - netif_close_many - calls __dev_close_many which has an assert
  - netif_set_threaded - already has an assert
  - netif_get_flags - READ_ONCE, does not need any locks
  - netif_set_mtu_ext - added ops lock assert, updated the doc
  - netif_get_mac_address - uses dev_addr_sem
  - netif_get_port_parent_id - needs only rtnl?
  - netif_get_stats - uses other mechanisms (seqlock)

v2:
- move a bunch of symbols into NETDEV_INTERNAL (Willem)
  - netif_close_many
  - __netif_set_mtu
  - netif_pre_changeaddr_notify
  - netif_get_mac_address
- keep more info in the individual patches' commit message (Willem)

Stanislav Fomichev (8):
  net: s/dev_get_stats/netif_get_stats/
  net: s/dev_get_port_parent_id/netif_get_port_parent_id/
  net: s/dev_get_mac_address/netif_get_mac_address/
  net: s/dev_pre_changeaddr_notify/netif_pre_changeaddr_notify/
  net: s/__dev_set_mtu/__netif_set_mtu/
  net: s/dev_get_flags/netif_get_flags/
  net: s/dev_set_threaded/netif_set_threaded/
  net: s/dev_close_many/netif_close_many/

 .../networking/net_cachelines/net_device.rst  |   2 +-
 arch/s390/appldata/appldata_net_sum.c         |   2 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c         |   2 +-
 drivers/leds/trigger/ledtrig-netdev.c         |   2 +-
 drivers/net/bonding/bond_main.c               |   9 +-
 .../ethernet/apm/xgene/xgene_enet_ethtool.c   |   2 +-
 .../net/ethernet/atheros/atl1c/atl1c_main.c   |   2 +-
 .../net/ethernet/broadcom/genet/bcmgenet.c    |   2 +-
 .../net/ethernet/hisilicon/hns/hns_ethtool.c  |   2 +-
 drivers/net/ethernet/intel/e1000e/ethtool.c   |   2 +-
 .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c  |   2 +-
 drivers/net/ethernet/intel/ixgbevf/ethtool.c  |   2 +-
 drivers/net/ethernet/mediatek/mtk_eth_soc.c   |   3 +-
 .../net/ethernet/mellanox/mlx5/core/en_tc.c   |   2 +-
 drivers/net/ethernet/mellanox/mlxsw/pci.c     |   2 +-
 drivers/net/ethernet/renesas/ravb_main.c      |   2 +-
 drivers/net/ipvlan/ipvlan_main.c              |   7 +-
 drivers/net/net_failover.c                    |  12 +-
 drivers/net/netdevsim/netdev.c                |   6 +-
 drivers/net/tap.c                             |   5 +-
 drivers/net/tun.c                             |   3 +-
 drivers/net/wireguard/device.c                |   2 +-
 drivers/net/wireless/ath/ath10k/snoc.c        |   2 +-
 drivers/scsi/fcoe/fcoe_transport.c            |   2 +-
 drivers/usb/gadget/function/rndis.c           |   2 +-
 fs/smb/server/smb2pdu.c                       |   2 +-
 include/linux/netdevice.h                     |  23 ++--
 net/8021q/vlan.c                              |   5 +-
 net/8021q/vlanproc.c                          |   2 +-
 net/bridge/br.c                               |   7 +-
 net/bridge/br_if.c                            |   3 +-
 net/bridge/br_netlink.c                       |   2 +-
 net/bridge/br_switchdev.c                     |   2 +-
 net/core/dev.c                                | 109 +++++++++---------
 net/core/dev_addr_lists.c                     |   2 +-
 net/core/dev_api.c                            |  12 ++
 net/core/dev_ioctl.c                          |   5 +-
 net/core/net-procfs.c                         |   2 +-
 net/core/net-sysfs.c                          |   9 +-
 net/core/rtnetlink.c                          |  10 +-
 net/dsa/dsa.c                                 |   3 +-
 net/dsa/user.c                                |   2 +-
 net/ipv4/fib_frontend.c                       |   2 +-
 net/ipv4/fib_semantics.c                      |   2 +-
 net/ipv4/ipmr.c                               |   2 +-
 net/ipv4/nexthop.c                            |   2 +-
 net/ipv6/addrconf.c                           |   2 +-
 net/mpls/af_mpls.c                            |   6 +-
 net/openvswitch/vport.c                       |   2 +-
 net/wireless/wext-core.c                      |   2 +-
 50 files changed, 163 insertions(+), 138 deletions(-)

-- 
2.50.0


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

end of thread, other threads:[~2025-07-11  0:57 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-08 21:38 [PATCH net-next v3 0/8] net: maintain netif vs dev prefix semantics Stanislav Fomichev
2025-07-08 21:38 ` [PATCH net-next v3 1/8] net: s/dev_get_stats/netif_get_stats/ Stanislav Fomichev
2025-07-11  0:46   ` Jakub Kicinski
2025-07-08 21:38 ` [PATCH net-next v3 2/8] net: s/dev_get_port_parent_id/netif_get_port_parent_id/ Stanislav Fomichev
2025-07-11  0:52   ` Jakub Kicinski
2025-07-08 21:38 ` [PATCH net-next v3 3/8] net: s/dev_get_mac_address/netif_get_mac_address/ Stanislav Fomichev
2025-07-08 21:38 ` [PATCH net-next v3 4/8] net: s/dev_pre_changeaddr_notify/netif_pre_changeaddr_notify/ Stanislav Fomichev
2025-07-08 21:38 ` [PATCH net-next v3 5/8] net: s/__dev_set_mtu/__netif_set_mtu/ Stanislav Fomichev
2025-07-09 13:35   ` Jakub Kicinski
2025-07-08 21:38 ` [PATCH net-next v3 6/8] net: s/dev_get_flags/netif_get_flags/ Stanislav Fomichev
2025-07-08 21:38 ` [PATCH net-next v3 7/8] net: s/dev_set_threaded/netif_set_threaded/ Stanislav Fomichev
2025-07-08 21:38 ` [PATCH net-next v3 8/8] net: s/dev_close_many/netif_close_many/ Stanislav Fomichev
2025-07-11  0:57 ` [PATCH net-next v3 0/8] net: maintain netif vs dev prefix semantics Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.