On Thu, Nov 17, 2022 at 11:55:51AM -0500, Stefan Hajnoczi wrote: > v3: > - Add Patch 1 to avoid clobbering tx descriptor bits > - Add Patch 2 to avoid confusing tx command modes > - Exclude IP and TCP headers from large send MSS value > > The rtl8139 large send offload currently does not honor the MSS value provided > by the driver. This is a problem especially when the MTU is small because IP > fragmentation occurs and leads to poor performance. > > These patches make use of the large send MSS value. > > I have done basic testing by running the following Python code inside the > guest: > > import socket > s = socket.socket() > s.connect(('10.0.2.2', 1234)) > buf = b'A' * 4096 > s.send(buf) > > The device sees a 4150 byte tx descriptor that results in the transmission of > 3 > Ethernet frames with sizes of 1514, 1514, and 1230 bytes when the large send > MSS value is 1460 bytes. > > Stefan Hajnoczi (3): > rtl8139: avoid clobbering tx descriptor bits > rtl8139: keep Tx command mode 0 and 1 separate > rtl8139: honor large send MSS value > > hw/net/rtl8139.c | 47 ++++++++++++++++++++++++----------------------- > 1 file changed, 24 insertions(+), 23 deletions(-) > > -- > 2.38.1 >
Thanks, applied to qemu.git/master! Stefan
signature.asc
Description: PGP signature