Thread (29 messages) 29 messages, 5 authors, 2025-11-20

Re: [PATCH net-next v4 01/14] net: Add bind-queue operation

From: Jakub Kicinski <kuba@kernel.org>
Date: 2025-11-07 00:39:50
Also in: bpf

On Fri, 31 Oct 2025 22:20:50 +0100 Daniel Borkmann wrote:
From: David Wei <redacted>

Add a ynl netdev family operation called bind-queue that creates a new
rx queue in a virtual netdev (i.e. netkit or veth) and binds it to an rx
queue in a real netdev.
bind is already used in context of queues to attach devmem.
Having bind-rx, bind-tx == devmem, and bind-queue something else
is not great. Plus well-named ops have the object first.

Can we call this op queue-create ?

It is creating a queue on the netkit, we can wrap the other params
into a nest called "lease". Once / if we get to dynamic queue creation
on real netdevs we can reuse it (presumably then lack of "lease" will
then imply that we need a real queue to be allocated).
This forms a queue pair, where the peer queue of
"queue pair" means Rx+Tx, please do not reuse terms like this.
the pair in the virtual netdev acts as a proxy for the peer queue in the
real netdev. Thus, the peer queue in the virtual netdev can be used by
processes running in a container to use both memory providers (io_uring
zero-copy rx and devmem) and AF_XDP. An early implementation had only
driver-specific integration [0], but in order for other virtual devices
to reuse, it makes sense to have this as a generic API.
quoted hunk ↗ jump to hunk
diff --git a/Documentation/netlink/specs/netdev.yaml b/Documentation/netlink/specs/netdev.yaml
index e00d3fa1c152..1e24c7f76de0 100644
--- a/Documentation/netlink/specs/netdev.yaml
+++ b/Documentation/netlink/specs/netdev.yaml
@@ -561,6 +561,46 @@ attribute-sets:
         type: u32
         checks:
           min: 1
+  -
+    name: queue-pair
+    attributes:
No need to create a "real" attribute set for this.

Once the attrs are wrapped in a "lease" nest you'll need a single
triplet, so make this a subset-of: queue (see the queue-id set).
name: ifc-queue-id ?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help