In the vhost-user code paths, buffers from the virtio queue include a virtio net header prepended to the Ethernet frame. The minimum frame size checks (ETH_ZLEN, i.e. 60 bytes per IEEE 802.3) must account for this extra header, otherwise the size requested from vu_collect() and validated in ASSERT() is too small. v2: - PATCH 1/2 is merged, rebase the series on top of master - Add a patch to remove VNET_HLEN from l2len in vu_pad() callers - Remove assert on ETH_ZLEN in tcp_vu_prepare() as the size is trimmed to the actual data size Laurent Vivier (2): tcp_vu: vu_pad() expects l2 length tcp_vu, udp_vu: Account for virtio net header in minimum frame size tcp_vu.c | 17 ++++++++++------- udp_vu.c | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) -- 2.53.0