On 2/1/26 12:45 AM, Jakub Kicinski wrote:
[...]
quoted
+ if (net_eq(net, dev_net(dev)) &&
+ ifindex == ifindex_lease) {
Is this check actually needed? The device can't be physical and virtual
at once so the locking safety check would fail anyway, no?
It would fail, correct. So I've dropped it locally for v9.
[...]
quoted
+ if (netdev_queue_busy(dev_lease, queue_id_lease, info->extack)) {
+ err = -EBUSY;
+ goto err_unlock_dev_lease;
+ }
+
+ rxq_lease = __netif_get_rx_queue(dev_lease, queue_id_lease);
+ rxq = __netif_get_rx_queue(dev, dev->real_num_rx_queues - 1);
+
+ if (rxq->lease && rxq->lease->dev != dev_lease) {
IIUC the simplification of having all leases from one devices is still
a netkit thing? I mean - there's nothing in the core that depends on
this, just the cleanup / notifier handling in netkit? If that's the
case let's move this check into netkit.
Sorry if you moved this here because I asked to move as much as
possible into the core.
Imho it was a good suggestion to move it here and I would prefer to leave
this in the core, and only really move it into a per-driver constraint
once we see a driver wanting to support such setting. Otherwise we would
propagate AF_XDP support on the device where some queues have support but
others don't.
Thanks,
Daniel