On Tue, Jun 16, 2026 at 02:51:22PM +0200, Laurent Vivier wrote:
The previous commit threaded queue pair through vu_send_single(). Extend this to every other tap entry point: tap_send_single(), receive handlers (tap_add_packet, tap_handler, tap4/6_handler), send helpers (tap_udp4/6_send, tap_icmp4/6_send), and connection setup (tap_listen_handler, tap_start_connection).
All callers pass QPAIR_DEFAULT except vu_handle_tx(), which derives the queue pair from the virtqueue index with QPAIR_FROM_QUEUE().
The parameter is plumbed but not yet consumed. Subsequent patches will use it to direct traffic to the correct queue pair.
No functional change.
Signed-off-by: Laurent Vivier
Reviewed-by: David Gibson
diff --git a/vu_common.c b/vu_common.c index 8b555ea9a8b1..6aa1ba768136 100644 --- a/vu_common.c +++ b/vu_common.c @@ -200,11 +200,12 @@ static void vu_handle_tx(struct vu_dev *vdev, int index,
data = IOV_TAIL(elem[count].out_sg, elem[count].out_num, 0); if (IOV_DROP_HEADER(&data, struct virtio_net_hdr_mrg_rxbuf)) - tap_add_packet(vdev->context, &data, now); + tap_add_packet(vdev->context, QPAIR_FROM_QUEUE(index), + &data, now);
Since the body has grown to >1 line, this should get { }.
count++; } - tap_handler(vdev->context, now); + tap_handler(vdev->context, QPAIR_FROM_QUEUE(index), now);
if (count) { int i; -- 2.54.0
-- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson