qemu-e2k/hw
Stefan Hajnoczi 6d71357a3b rtl8139: honor large send MSS value
The Large-Send Task Offload Tx Descriptor (9.2.1 Transmit) has a
Large-Send MSS value where the driver specifies the MSS. See the
datasheet here:
http://realtek.info/pdf/rtl8139cp.pdf

The code ignores this value and uses a hardcoded MSS of 1500 bytes
instead. When the MTU is less than 1500 bytes the hardcoded value
results in IP fragmentation and poor performance.

Use the Large-Send MSS value to correctly size Large-Send packets.

Jason Wang <jasowang@redhat.com> noticed that the Large-Send MSS value
mask was incorrect so it is adjusted to match the datasheet and Linux
8139cp driver.

This issue was discussed in the past here:
https://lore.kernel.org/all/20161114162505.GD26664@stefanha-x1.localdomain/

Reported-by: Russell King - ARM Linux <linux@armlinux.org.uk>
Reported-by: Tobias Fiebig <tobias+git@fiebig.nl>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1312
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20221117165554.1773409-4-stefanha@redhat.com>
2022-11-21 09:28:43 -05:00
..
9pfs
acpi hw/acpi/erst.c: Fix memory handling issues 2022-11-07 14:08:17 -05:00
adc
alpha hw: Remove unused MAX_IDE_BUS define 2022-10-31 11:32:07 +01:00
arm pci,pc,virtio: features, tests, fixes, cleanups 2022-11-07 18:43:56 -05:00
audio
avr
block Revert "hw/block/pflash_cfi: Error out if dev length isn't power of 2" 2022-11-08 15:53:40 -05:00
char
core pci,pc,virtio: features, tests, fixes, cleanups 2022-11-07 18:43:56 -05:00
cpu
cris
cxl hw/cxl/cdat: CXL CDAT Data Object Exchange implementation 2022-11-07 13:12:19 -05:00
display display: include dependencies explicitly 2022-11-10 10:17:18 -05:00
dma
gpio
hppa hw: Remove unused MAX_IDE_BUS define 2022-10-31 11:32:07 +01:00
hyperv
i2c
i386 pci,pc,virtio: features, tests, fixes, cleanups 2022-11-07 18:43:56 -05:00
ide hw/ppc/mac.h: Rename to include/hw/nvram/mac_nvram.h 2022-10-31 18:48:23 +00:00
input
intc hw/intc: add implementation of GICD_IIDR to Arm GIC 2022-11-21 11:45:13 +00:00
ipack
ipmi
isa acpi: pc/q35: drop ad-hoc PCI-ISA bridge AML routines and let bus ennumeration generate AML 2022-11-07 14:08:17 -05:00
loongarch hw/loongarch: Fix loongarch fdt addr confict 2022-11-12 11:05:52 +10:00
m68k
mem hw/mem/cxl-type3: Add CXL CDAT Data Object Exchange 2022-11-07 13:12:19 -05:00
microblaze
mips hw/mips/malta: Use bootloader helper to set BAR registers 2022-10-31 11:32:56 +01:00
misc mac_nvram: Use NVRAM_SIZE constant 2022-10-31 18:48:23 +00:00
net rtl8139: honor large send MSS value 2022-11-21 09:28:43 -05:00
nios2
nubus
nvme pci,pc,virtio: features, tests, fixes, cleanups 2022-11-07 18:43:56 -05:00
nvram hw/ppc/mac.h: Rename to include/hw/nvram/mac_nvram.h 2022-10-31 18:48:23 +00:00
openrisc
pci msix: Assert that specified vector is in range 2022-11-07 14:08:17 -05:00
pci-bridge hw/pci-bridge/cxl-upstream: Add a CDAT table access DOE 2022-11-07 13:12:19 -05:00
pci-host hw/pci-host/pnv_phb: Avoid quitting QEMU if hotplug of pnv-phb-root-port fails 2022-11-10 18:22:10 -03:00
pcmcia
ppc mac_newworld: Turn CORE99_VIA_CONFIG defines into an enum 2022-10-31 18:48:23 +00:00
rdma msix: Assert that specified vector is in range 2022-11-07 14:08:17 -05:00
remote msix: Assert that specified vector is in range 2022-11-07 14:08:17 -05:00
riscv
rtc
rx
s390x s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
scsi Fix several typos in documentation (found by codespell) 2022-11-11 09:39:25 +01:00
sd hw/sd: Fix sun4i allwinner-sdhost for U-Boot 2022-11-21 11:45:12 +00:00
sensor
sh4
smbios hw/smbios: add core_count2 to smbios table type 4 2022-11-07 14:08:17 -05:00
sparc
sparc64 hw: Remove unused MAX_IDE_BUS define 2022-10-31 11:32:07 +01:00
ssi
timer
tpm
tricore
usb host-libusb: Remove unused variable 2022-11-11 09:12:10 +01:00
vfio pci,pc,virtio: features, tests, fixes, cleanups 2022-11-07 18:43:56 -05:00
virtio hw/virtio: introduce virtio_device_should_start 2022-11-07 14:08:18 -05:00
watchdog
xen xen/pt: fix syntax error that causes FTBFS in some configurations 2022-11-05 20:35:45 +01:00
xenpv
xtensa
Kconfig
meson.build