On Wed, 20 May 2026 17:10:06 +0200
Laurent Vivier
This is the TCP counterpart to the UDP multi-iov series. It converts the TCP vhost-user receive path from direct pointer arithmetic (via vu_eth(), vu_ip(), etc.) to the iov_tail abstraction, removing the assumption that all headers reside in a single contiguous buffer.
With this series applied, the TCP path correctly handles virtio-net drivers that provide multiple buffers per virtqueue element (e.g. iPXE provides the vnet header in the first buffer and the frame payload in a second one), matching the support already present in the UDP path.
Based-on: 20260520095526.21519-1-lvivier@redhat.com
v7: - Use initializers for struct tcphdr - Rename reused 'payload' variable to 'l2frame' - Fix vu_pad() double-offset bug in tcp_vu_data_from_sock() - Remove redundant *elem_used = 0 before truncation loop - Add missing @vnlen to tcp_vu_send_dup() doc comment
Applied. -- Stefano