On Sun, Aug 16, 2026 at 7:50 AM Nariman Sayed <[email protected]> wrote: > > This series adds automatic detection of the host tap device's MTU > and exposes it to the guest via VIRTIO_NET_F_MTU, addressing > gitlab.com/qemu-project/qemu/-/issues/3155. > > Currently, host_mtu= must be set manually on the virtio-net-pci > device, duplicating the MTU already configured on the host's tap > interface. This series adds a new mtu-from-tap boolean property > (default off) that, when enabled, automatically reads the tap > device's MTU via SIOCGIFMTU and uses it for the guest, avoiding > the need to specify the value twice. > > The series is split into three patches: > - patch 1 adds a helper to query a tap fd's host MTU (Linux only, > with build-safe stubs for BSD/Solaris/stub backends) > - patch 2 exposes this via NetClientState for use by device models > - patch 3 adds the new virtio-net property and wires it up, > including a note on a config-space sizing timing issue > discovered during testing > > Tested manually with a tap device configured for MTU 9000 and an > Alpine Linux guest, confirming the guest correctly negotiates > VIRTIO_NET_F_MTU and reports the expected MTU. > > This patch series is part of my effort to get more familiar with > QEMU's networking stack ahead of GSoC 2027. > > Nariman Sayed (3): > net/tap: add tap_fd_get_mtu() to query host tap MTU > net/tap: expose tap_get_mtu() via NetClientState > virtio-net: add mtu-from-tap property for automatic MTU detection > > hw/net/virtio-net.c | 12 ++++++++++++ > include/hw/virtio/virtio-net.h | 1 + > include/net/tap.h | 1 + > net/tap-bsd.c | 5 +++++ > net/tap-linux.c | 30 ++++++++++++++++++++++++++++++ > net/tap-solaris.c | 5 +++++ > net/tap-stub.c | 5 +++++ > net/tap.c | 7 +++++++ > net/tap_int.h | 1 + > 9 files changed, 67 insertions(+)
CCing Jason Wang, network subsystem maintainer, so he can review this patch series. Stefan
