qemu-e2k/hw/net
Akihiko Odaki ffbd2dbd8e e1000e: Perform software segmentation for loopback
e1000e didn't perform software segmentation for loopback if virtio-net
header is enabled, which is wrong.

To fix the problem, introduce net_tx_pkt_send_custom(), which allows the
caller to specify whether offloading should be assumed or not.

net_tx_pkt_send_custom() also allows the caller to provide a custom
sending function. Packets with virtio-net headers and ones without
virtio-net headers will be provided at the same time so the function
can choose the preferred version. In case of e1000e loopback, it prefers
to have virtio-net headers as they allows to skip the checksum
verification if VIRTIO_NET_HDR_F_DATA_VALID is set.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2023-03-10 15:35:38 +08:00
..
can include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
fsl_etsec fsl_etsec: Use hw/net/mii.h 2023-03-10 15:35:38 +08:00
rocker rocker: Tweak stubbed out monitor commands' error messages 2023-02-23 14:10:17 +01:00
allwinner_emac.c bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
allwinner-sun8i-emac.c bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
cadence_gem.c Drop more useless casts from void * to pointer 2022-12-14 16:19:35 +01:00
dp8393x.c
e1000_regs.h e1000e: Introduce e1000_rx_desc_union 2023-03-10 15:35:38 +08:00
e1000.c e1000: Configure ResettableClass 2023-03-10 15:35:38 +08:00
e1000e_core.c e1000e: Perform software segmentation for loopback 2023-03-10 15:35:38 +08:00
e1000e_core.h e1000e: Remove pending interrupt flags 2023-03-10 15:35:38 +08:00
e1000e.c e1000e: Configure ResettableClass 2023-03-10 15:35:38 +08:00
e1000x_common.c e1000x: Alter the signature of e1000x_is_vlan_packet 2023-03-10 15:35:38 +08:00
e1000x_common.h e1000x: Alter the signature of e1000x_is_vlan_packet 2023-03-10 15:35:38 +08:00
eepro100.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
etraxfs_eth.c
ftgmac100.c hw/net: Fix read of uninitialized memory in ftgmac100 2023-02-07 09:02:04 +01:00
i82596.c
i82596.h
imx_fec.c hw/net: Fix read of uninitialized memory in imx_fec. 2023-01-05 15:33:00 +00:00
Kconfig hw: Include the VMWare devices only in the x86 targets 2022-12-15 15:19:24 +01:00
lan9118.c hw/net/lan9118: log [read|write]b when mode_16bit is enabled rather than abort 2023-02-17 13:31:33 +08:00
lance.c
lasi_i82596.c
mcf_fec.c net: Replace TAB indentations with spaces 2022-11-11 09:39:03 +01:00
meson.build rocker: Move HMP commands from monitor to hw/net/rocker/ 2023-02-04 07:56:54 +01:00
mipsnet.c
msf2-emac.c
mv88w8618_eth.c
ne2000-isa.c
ne2000-pci.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
ne2000.c net: Replace TAB indentations with spaces 2022-11-11 09:39:03 +01:00
ne2000.h
net_rx_pkt.c e1000e: Perform software segmentation for loopback 2023-03-10 15:35:38 +08:00
net_rx_pkt.h e1000e: Perform software segmentation for loopback 2023-03-10 15:35:38 +08:00
net_tx_pkt.c e1000e: Perform software segmentation for loopback 2023-03-10 15:35:38 +08:00
net_tx_pkt.h e1000e: Perform software segmentation for loopback 2023-03-10 15:35:38 +08:00
npcm7xx_emc.c
opencores_eth.c
pcnet-pci.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
pcnet.c bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00
pcnet.h net: Replace TAB indentations with spaces 2022-11-11 09:39:03 +01:00
rtl8139.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
smc91c111.c
spapr_llan.c
stellaris_enet.c
sungem.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
sunhme.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
trace-events hw/net/net_rx_pkt: Remove net_rx_pkt_has_virt_hdr 2023-03-10 15:35:38 +08:00
trace.h
tulip.c include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
tulip.h
vhost_net-stub.c virtio-net: add support for configure interrupt 2023-01-08 01:54:22 -05:00
vhost_net.c virtio-net: add support for configure interrupt 2023-01-08 01:54:22 -05:00
virtio-net.c hw/net/net_rx_pkt: Remove net_rx_pkt_has_virt_hdr 2023-03-10 15:35:38 +08:00
vmware_utils.h
vmxnet3_defs.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
vmxnet3.c hw/net/net_rx_pkt: Remove net_rx_pkt_has_virt_hdr 2023-03-10 15:35:38 +08:00
vmxnet3.h
vmxnet_debug.h
xen_nic.c hw/xen: Use XEN_PAGE_SIZE in PV backend drivers 2023-03-07 17:04:30 +00:00
xgmac.c
xilinx_axienet.c Drop duplicate #include 2023-02-08 07:28:05 +01:00
xilinx_ethlite.c bulk: Rename TARGET_FMT_plx -> HWADDR_FMT_plx 2023-01-18 11:14:34 +01:00