From: Stanislav Fomichev <stfomichev@gmail.com>
To: Daniel Borkmann <daniel@iogearbox.net>
Cc: netdev@vger.kernel.org, bpf@vger.kernel.org, kuba@kernel.org,
davem@davemloft.net, razor@blackwall.org, pabeni@redhat.com,
willemb@google.com, sdf@fomichev.me, john.fastabend@gmail.com,
martin.lau@kernel.org, jordan@jrife.io,
maciej.fijalkowski@intel.com, magnus.karlsson@intel.com,
dw@davidwei.uk, toke@redhat.com, yangzhenze@bytedance.com,
wangdongdong.6@bytedance.com
Subject: Re: [PATCH net-next v7 03/16] net: Add lease info to queue-get response
Date: Sun, 18 Jan 2026 17:44:25 -0800 [thread overview]
Message-ID: <aW2Mec4NWre1axmO@mini-arch> (raw)
In-Reply-To: <20260115082603.219152-4-daniel@iogearbox.net>
On 01/15, Daniel Borkmann wrote:
> Populate nested lease info to the queue-get response that returns the
> ifindex, queue id with type and optionally netns id if the device
> resides in a different netns.
>
> Example with ynl client:
>
> # ip a
> [...]
> 4: enp10s0f0np0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 xdp/id:24 qdisc mq state UP group default qlen 1000
> link/ether e8:eb:d3:a3:43:f6 brd ff:ff:ff:ff:ff:ff
> inet 10.0.0.2/24 scope global enp10s0f0np0
> valid_lft forever preferred_lft forever
> inet6 fe80::eaeb:d3ff:fea3:43f6/64 scope link proto kernel_ll
> valid_lft forever preferred_lft forever
> [...]
>
> # ethtool -i enp10s0f0np0
> driver: mlx5_core
> [...]
>
> # ./pyynl/cli.py \
> --spec ~/netlink/specs/netdev.yaml \
> --do queue-get \
> --json '{"ifindex": 4, "id": 15, "type": "rx"}'
> {'id': 15,
> 'ifindex': 4,
> 'lease': {'ifindex': 8, 'netns-id': 0, 'queue': {'id': 1, 'type': 'rx'}},
> 'napi-id': 8227,
> 'type': 'rx',
> 'xsk': {}}
>
> # ip netns list
> foo (id: 0)
>
> # ip netns exec foo ip a
> [...]
> 8: nk@NONE: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
> link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
> inet6 fe80::200:ff:fe00:0/64 scope link proto kernel_ll
> valid_lft forever preferred_lft forever
> [...]
>
> # ip netns exec foo ethtool -i nk
> driver: netkit
> [...]
>
> # ip netns exec foo ls /sys/class/net/nk/queues/
> rx-0 rx-1 tx-0
>
> # ip netns exec foo ./pyynl/cli.py \
> --spec ~/netlink/specs/netdev.yaml \
> --do queue-get \
> --json '{"ifindex": 8, "id": 1, "type": "rx"}'
> {'id': 1, 'ifindex': 8, 'type': 'rx'}
>
> Note that the caller of netdev_nl_queue_fill_one() holds the netdevice
> lock. For the queue-get we do not lock both devices. When queues get
> {un,}leased, both devices are locked, thus if __netif_get_rx_queue_peer()
> returns true, the peer pointer points to a valid device. The netns-id
> is fetched via peernet2id_alloc() similarly as done in OVS.
>
> 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>
Acked-by: Stanislav Fomichev <sdf@fomichev.me>
next prev parent reply other threads:[~2026-01-19 1:44 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-15 8:25 [PATCH net-next v7 00/16] netkit: Support for io_uring zero-copy and AF_XDP Daniel Borkmann
2026-01-15 8:25 ` [PATCH net-next v7 01/16] net: Add queue-create operation Daniel Borkmann
2026-01-19 1:43 ` Stanislav Fomichev
2026-01-19 14:20 ` Nikolay Aleksandrov
2026-01-15 8:25 ` [PATCH net-next v7 02/16] net: Implement netdev_nl_queue_create_doit Daniel Borkmann
2026-01-19 1:44 ` Stanislav Fomichev
2026-01-19 14:20 ` Nikolay Aleksandrov
2026-01-15 8:25 ` [PATCH net-next v7 03/16] net: Add lease info to queue-get response Daniel Borkmann
2026-01-19 1:44 ` Stanislav Fomichev [this message]
2026-01-15 8:25 ` [PATCH net-next v7 04/16] net, ethtool: Disallow leased real rxqs to be resized Daniel Borkmann
2026-01-19 1:44 ` Stanislav Fomichev
2026-01-15 8:25 ` [PATCH net-next v7 05/16] net: Proxy net_mp_{open,close}_rxq for leased queues Daniel Borkmann
2026-01-19 1:44 ` Stanislav Fomichev
2026-01-21 2:04 ` Jakub Kicinski
2026-01-21 3:44 ` David Wei
2026-01-15 8:25 ` [PATCH net-next v7 06/16] net: Proxy netdev_queue_get_dma_dev " Daniel Borkmann
2026-01-19 1:45 ` Stanislav Fomichev
2026-01-19 14:21 ` Nikolay Aleksandrov
2026-01-15 8:25 ` [PATCH net-next v7 07/16] xsk: Extend xsk_rcv_check validation Daniel Borkmann
2026-01-19 1:45 ` Stanislav Fomichev
2026-01-19 14:21 ` Nikolay Aleksandrov
2026-01-15 8:25 ` [PATCH net-next v7 08/16] xsk: Proxy pool management for leased queues Daniel Borkmann
2026-01-19 1:45 ` Stanislav Fomichev
2026-01-19 14:22 ` Nikolay Aleksandrov
2026-01-15 8:25 ` [PATCH net-next v7 09/16] netkit: Add single device mode for netkit Daniel Borkmann
2026-01-15 8:25 ` [PATCH net-next v7 10/16] netkit: Implement rtnl_link_ops->alloc and ndo_queue_create Daniel Borkmann
2026-01-15 8:25 ` [PATCH net-next v7 11/16] netkit: Add netkit notifier to check for unregistering devices Daniel Borkmann
2026-01-19 14:22 ` Nikolay Aleksandrov
2026-01-15 8:25 ` [PATCH net-next v7 12/16] netkit: Add xsk support for af_xdp applications Daniel Borkmann
2026-01-15 8:26 ` [PATCH net-next v7 13/16] selftests/net: Add bpf skb forwarding program Daniel Borkmann
2026-01-19 1:45 ` Stanislav Fomichev
2026-01-19 14:23 ` Nikolay Aleksandrov
2026-01-15 8:26 ` [PATCH net-next v7 14/16] selftests/net: Add env for container based tests Daniel Borkmann
2026-01-19 1:46 ` Stanislav Fomichev
2026-01-19 14:23 ` Nikolay Aleksandrov
2026-01-15 8:26 ` [PATCH net-next v7 15/16] selftests/net: Make NetDrvContEnv support queue leasing Daniel Borkmann
2026-01-19 1:46 ` Stanislav Fomichev
2026-01-19 14:23 ` Nikolay Aleksandrov
2026-01-21 1:51 ` Jakub Kicinski
2026-01-21 1:57 ` David Wei
2026-01-15 8:26 ` [PATCH net-next v7 16/16] selftests/net: Add netkit container tests Daniel Borkmann
2026-01-19 1:46 ` Stanislav Fomichev
2026-01-19 14:25 ` Nikolay Aleksandrov
2026-01-20 11:50 ` [PATCH net-next v7 00/16] netkit: Support for io_uring zero-copy and AF_XDP patchwork-bot+netdevbpf
2026-01-21 2:08 ` Jakub Kicinski
2026-01-21 3:46 ` David Wei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aW2Mec4NWre1axmO@mini-arch \
--to=stfomichev@gmail.com \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dw@davidwei.uk \
--cc=john.fastabend@gmail.com \
--cc=jordan@jrife.io \
--cc=kuba@kernel.org \
--cc=maciej.fijalkowski@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=martin.lau@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=razor@blackwall.org \
--cc=sdf@fomichev.me \
--cc=toke@redhat.com \
--cc=wangdongdong.6@bytedance.com \
--cc=willemb@google.com \
--cc=yangzhenze@bytedance.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.