Jumbo frames truncated at 4084 bytes by virtio-net? (using if_bridge(4) and vtnet(4) with mtu 9000)

Harry Schmalzbauer freebsd at omnilan.de
Wed Dec 21 16:40:30 UTC 2016


 Bezüglich Harry Schmalzbauer's Nachricht vom 21.12.2016 17:08 (localtime):

…
> Guest flow:
> 16:57:06.642073 00:a0:98:73:9f:42 > 96:07:e9:78:c6:ac, ethertype IPv4
> (0x0800), length 4085: 172.21.35.1 > 172.21.35.32: ICMP echo request, id
> 27401, seq 0, length 4051
> 16:57:06.642233 96:07:e9:78:c6:ac > 00:a0:98:73:9f:42, ethertype IPv4
> (0x0800), length 4084: truncated-ip - 1 bytes missing! 172.21.35.32 >
> 172.21.35.1: ICMP echo reply, id 27401, seq 0, length 405
>
> Now my problem is that I can't simply keep guest's mtu at 1500, since
> the host will send jumbo frames as answer wich never get through virtio-net.
>
> Does anybody have an idea how to fix/work arround?

For the records, replacing virtio-net with e1000 (as bhyve
PCI-slot-resident) solves the jumbo frame issue!
It seems 82545EM is fully emulated (not 82545GM which doesn't support
jumbo frames) :-)

Thank you very much for this nice work!

mav's commit (r302504) mentions heavy performance penalties (factor 2).
Has anyone tried the influence of disabling/keeping offload functions in
the guest?

Thanks,

-Harry


More information about the freebsd-virtualization mailing list