On Sun, Aug 16, 2026 at 7:50 AM Nariman Sayed <narimansayed28@gmail.com> 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