]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: Implement netdev_nl_queue_create_doit
authorDaniel Borkmann <daniel@iogearbox.net>
Thu, 2 Apr 2026 23:10:19 +0000 (01:10 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 10 Apr 2026 01:21:45 +0000 (18:21 -0700)
commitd04686d9bc86432ea3008d5f358373d8466d1943
tree5662bdc9442389c970c427f85d0b2c2e5fb5cb9a
parent7789c6bb76acf21539c2c74b0cc869bb57de99e6
net: Implement netdev_nl_queue_create_doit

Implement netdev_nl_queue_create_doit which creates a new rx queue in a
virtual netdev and then leases it to a rx queue in a physical netdev.

Example with ynl client:

  # ynl --family netdev --output-json --do queue-create \
        --json '{"ifindex": 8, "type": "rx", "lease": {"ifindex": 4, "queue": {"type": "rx", "id": 15}}}'
  {'id': 1}

Note that the netdevice locking order is always from the virtual to
the physical device.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Co-developed-by: David Wei <dw@davidwei.uk>
Signed-off-by: David Wei <dw@davidwei.uk>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://patch.msgid.link/20260402231031.447597-3-daniel@iogearbox.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/networking/netdevices.rst
include/linux/netdevice.h
include/net/netdev_queues.h
include/net/netdev_rx_queue.h
net/core/dev.c
net/core/dev.h
net/core/netdev-genl.c
net/core/netdev_queues.c
net/core/netdev_rx_queue.c