On Fri, 5 Dec 2025 01:51:56 +0100
Stefano Brivio
Add a further iovec frame part, TCP_IOV_ETH_PAD for TCP and UDP_IOV_ETH_PAD for UDP, after the payload, make that point to a zero-filled buffer, and send out a part of it if needed to reach the minimum frame length given by 802.3, that is, 60 bytes altogether.
The frames we might need to pad are IPv4 only (the IPv6 header is larger), and are typically TCP ACK segments but can also be small data segments or datagrams.
Link: https://bugs.passt.top/show_bug.cgi?id=166 Signed-off-by: Stefano Brivio
Reviewed-by: David Gibson Reviewed-by: Laurent Vivier
...for some reason, in combination with the previous series with TCP throughput fixes, this patch now seems to break basic transfers ("large transfer", IPv4, guest to host), with passt only. I'm fairly sure it didn't cause failures when I ran tests on this series alone, at least twice, once now and once for the RFC version, but it might also be that I missed running tests (in isolation) for some reason. No idea where the issue is, yet... -- Stefano