id = 1312 title = "TCP performance problems - GSO/TSO, MSS, 8139 related (Ignores lower MTU from PMTUD/MSS)" state = "closed" created_at = "2022-11-13T22:52:41.955Z" closed_at = "2022-11-21T21:21:31.810Z" labels = ["Networking"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1312" host-os = "-" host-arch = "any" qemu-version = "- QEMU command line:" guest-os = "Linux (others not tested)" guest-arch = "Any" description = """MTU handling on guests using an RTL8139 virtualized NIC is broken; net/hw/8139.c works with a static MTU of 1500b for TCP offloading, leading to low throughput when clients connect from sub 1500MTU networks. PMTUD is ignored, and locking to a lower MTU in the OS mitigates the issue.""" reproduce = """1. Create a guest with an RTL8139 nic 2. Try to retrieve a file from a client behind a sub 1500 MTU link 3. Observe low bandwidth due to retransmits""" additional = """I just debugged this issue for an NGO which, for whatever reason, had an RTL8139 NIC in their guest. After i finally traced this to the RTL8139, i found this qemu-devel/netdev thread from six years ago, which apparently already debugged this issue and proposed a patch: https://lore.kernel.org/all/20161114162505.GD26664@stefanha-x1.localdomain/ I did not test the patch proposed there, but note that `net/hw/8139.c` still looks as discussed in that qemu-devel/netdev thread. As i haven't found a bug report in the archives, i figured you might want to know."""