generated from rust-vmm/crate-template
-
Notifications
You must be signed in to change notification settings - Fork 78
Open
Description
Linux's virtio-vsock driver can split large transmits buffers after https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6693731487a8145a9b039bc983d77edc47693855 released with Linux 6.17.
This is an old issue we worked around but never fixed in virtio-vsock crate, see rust-vmm/vm-virtio#216 (comment)
How to replicate:
host$ RUST_LOG=debug ./target/debug/vhost-device-vsock --guest-cid=3 --socket=/tmp/vhost3.socket --uds-path=/tmp/vm3.vsock
host$ qemu-system-x86_64 -smp 2 -M q35,accel=kvm,memory-backend=mem \
-drive file=fedora.qcow2,format=qcow2,if=virtio \
-chardev socket,id=char0,reconnect=0,path=/tmp/vhost3.socket \
-device vhost-user-vsock-pci,chardev=char0 \
-object memory-backend-memfd,id=mem,size=512M \
-nographic
guest$ iperf3 --vsock -s
# till 32k packet length it works, after that it stops
host$ iperf3 --vsock -c /tmp/vm3.vsock --reverse -l 33k
Metadata
Metadata
Assignees
Labels
No labels