Date: Wed, 21 Dec 2016 17:08:34 +0100 From: Harry Schmalzbauer <freebsd@omnilan.de> To: freebsd-virtualization@freebsd.org Subject: Jumbo frames truncated at 4084 bytes by virtio-net? (using if_bridge(4) and vtnet(4) with mtu 9000) Message-ID: <585AA902.50907@omnilan.de>
next in thread | raw e-mail | index | archive | help
Hello, I'm having guest connectivity problems with jumbo frames. Since if_bridge(4) requires all interfaces to have the same MTU (and the uplink interface also handles iscsi traffic, which greatly benefits from jumbo frames), I 'ifconfig create vmnet0 mtu 9000' Afert adding it to the bridge 'ifconfig bregn addm vmnet0' and setting guest mtu to 9000 (which vtnet(4) claims to support), I can transceive frames larger than 1500, which this flow from the guest's vtnet(4) interface demonstrates: 16:54:36.672709 00:a0:98:73:9f:42 > 96:07:e9:78:c6:ac, ethertype IPv4 (0x0800), length 4084: 172.21.35.1 > 172.21.35.32: ICMP echo request, id 56840, seq 0, length 4050 16:54:36.672791 96:07:e9:78:c6:ac > 00:a0:98:73:9f:42, ethertype IPv4 (0x0800), length 4084: 172.21.35.32 > 172.21.35.1: ICMP echo reply, id 56840, seq 0, length 4050 On the host this looks similar. Now with a payload size of 4043 instead of 4042 bytes, the reply never makes it through virtio-net: Host flow: 16:57:06.641382 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.641399 96:07:e9:78:c6:ac > 00:a0:98:73:9f:42, ethertype IPv4 (0x0800), length 4085: 172.21.35.32 > 172.21.35.1: ICMP echo reply, id 27401, seq 0, length 4051 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? Thanks, -harry
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?585AA902.50907>