[PATCH net-next v1 0/4] net: devmem: support leased RX and TX queues on netdev unregister

From: Mina Almasry

Date: Tue Nov 03 2026 - 18:40:23 EST


Support leased RX and TX devmem bindings when either the virtual device
(e.g. netkit) or the physical backing net_device is unregistered:

1. Pass struct net_device **dev_ptr to net_devmem_lock_dev() so callers
can lock either binding->map_dev or binding->bind_dev.
2. Rename binding->dev and binding->vdev to binding->map_dev (physical
DMA device) and binding->bind_dev (device passed to bind-rx/bind-tx).
3. Always populate both map_dev and bind_dev for direct and leased RX/TX
bindings, and rely on dev_memory_provider_uninstall() and
netif_rxq_cleanup_unlease() to uninstall RX queues and clear
binding->bind_dev once bound_rxqs is empty.
4. Add kselftests in nl_netdev.py covering leased RX and TX devmem
bindings across both virtual-first and physical-first netdev
unregistration orders.

Mina Almasry (4):
net: devmem: pass net_device pointer to net_devmem_lock_dev()
net: devmem: rename binding dev and vdev to map_dev and bind_dev
net: devmem: support leased queues on netdev unregister
selftests: net: add leased devmem RX and TX netdev unregister tests

net/core/dev.c | 2 +-
net/core/devmem.c | 121 +++++++++++----------
net/core/devmem.h | 25 +++--
net/core/netdev-genl.c | 58 ++++++----
net/core/netdev_rx_queue.c | 5 +
tools/testing/selftests/net/nl_netdev.py | 132 ++++++++++++++++++++++-
6 files changed, 249 insertions(+), 94 deletions(-)


base-commit: 7b6ab4dbc156e2f96419715130b3d5738a306c93
--
2.56.0.385.gac671c819a-goog