qemu/net
William Hooper 79b6a98587 net/vmnet: Pad short Ethernet frames
At least on macOS 12.7.2, vmnet doesn't pad Ethernet frames, such as the
host's ARP replies, to the minimum size (60 bytes before the frame check
sequence) defined in IEEE Std 802.3-2022, so guests' Ethernet device
drivers may drop them with "frame too short" errors.

This patch calls eth_pad_short_frame() to add padding, as in net/tap.c
and net/slirp.c. Thanks to Bin Meng, Philippe Mathieu-Daudé, and Phil
Dennis-Jordan for reviewing earlier versions.

Signed-off-by: William Hooper <wsh@wshooper.org>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2058
Reviewed-by: Phil Dennis-Jordan <phil@philjordan.eu>
Message-ID: <20241102205653.30476-1-wsh@wshooper.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2024-12-31 21:21:34 +01:00
..
can net/can: Remove unused struct 'CanBusState' 2024-06-30 19:51:44 +03:00
af-xdp.c net/af-xdp.c: Don't leak sock_fds array in net_init_af_xdp() 2024-03-25 10:41:00 +00:00
announce.c qapi net: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
checksum.c net: checksum: Convert data to void * 2024-11-25 13:59:50 +08:00
clients.h net: add initial support for AF_XDP network backend 2023-09-18 14:36:13 +08:00
colo-compare.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
colo-compare.h Add the function of colo_compare_cleanup 2021-06-11 10:30:13 +08:00
colo-stubs.c colo: move stubs out of stubs/ 2024-04-18 11:17:27 +02:00
colo.c net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
colo.h net/colo.c: Fix the pointer issue reported by Coverity. 2022-09-02 10:22:39 +08:00
dgram.c win32: replace closesocket() with close() wrapper 2023-03-13 15:39:31 +04:00
dump.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
eth.c net/eth: Clean up local variable shadowing 2023-09-29 10:07:16 +02:00
filter-buffer.c netfilter: Use class properties 2020-12-15 10:02:07 -05:00
filter-mirror.c net/filter: Optimize filter_send to coroutine 2022-02-14 11:50:44 +08:00
filter-replay.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
filter-rewriter.c net/colo: Fix a "double free" crash to clear the conn_list 2022-07-20 16:58:08 +08:00
filter.c misc/other: spelling fixes 2023-09-08 13:08:52 +03:00
hub.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
hub.h net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' 2020-03-09 18:44:04 +00:00
l2tpv3.c net: Increase L2TPv3 buffer to fit jumboframes 2023-02-17 13:31:33 +08:00
meson.build net: fix build when libbpf is disabled, but libxdp is enabled 2024-10-28 14:37:25 +08:00
net-hmp-cmds.c net: Move hmp_info_network() to net-hmp-cmds.c 2023-02-04 07:56:54 +01:00
net.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
netmap.c tap: Remove qemu_using_vnet_hdr() 2024-06-04 15:14:25 +08:00
queue.c net: Remove deadcode 2024-10-03 17:26:05 +03:00
slirp.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
socket.c net: socket: remove net_init_socket() 2023-07-07 16:35:12 +08:00
stream.c net/stream: deprecate 'reconnect' in favor of 'reconnect-ms' 2024-10-28 14:37:25 +08:00
tap-bsd.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-linux.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-linux.h tap: Add USO support to tap device. 2023-09-18 14:36:13 +08:00
tap-solaris.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-stub.c tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
tap-win32.c net/tap-win32: Fix gcc 14 format truncation errors 2024-10-28 14:37:25 +08:00
tap.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
tap_int.h tap: Remove tap_probe_vnet_hdr_len() 2024-06-04 15:14:25 +08:00
trace-events vdpa: add trace event for vhost_vdpa_net_load_mq 2024-03-12 17:56:55 -04:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
util.c net: Clean up includes 2016-02-04 17:41:30 +00:00
util.h Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
vde.c net: introduce qemu_set_info_str() function 2022-10-28 13:28:52 +08:00
vhost-user-stub.c vhost-net-user: add stubs for when no virtio-net device is present 2019-02-21 12:28:01 -05:00
vhost-user.c hw/char: Have FEWatchFunc handlers return G_SOURCE_CONTINUE/REMOVE 2023-08-31 19:47:43 +02:00
vhost-vdpa-stub.c vhost-net-vdpa: add stubs for when no virtio-net device is present 2022-07-20 16:58:08 +08:00
vhost-vdpa.c migration: Drop migration_is_setup_or_active() 2024-10-31 15:48:18 -04:00
vmnet-bridged.m net/vmnet: Drop ifdef for macOS versions older than 12.0 2024-07-02 06:58:48 +02:00
vmnet-common.m net/vmnet: Pad short Ethernet frames 2024-12-31 21:21:34 +01:00
vmnet-host.c net/vmnet: Drop ifdef for macOS versions older than 12.0 2024-07-02 06:58:48 +02:00
vmnet-shared.c net/vmnet: Drop ifdef for macOS versions older than 12.0 2024-07-02 06:58:48 +02:00
vmnet_int.h vmnet: stop recieving events when VM is stopped 2023-02-17 13:31:33 +08:00