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
Thu Dec 22 11:25:25 UTC 2016


Bezüglich Andrey V. Elsukov's Nachricht vom 22.12.2016 11:13 (localtime):
> On 21.12.2016 19:08, Harry Schmalzbauer wrote:
>>  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'
>>
>> 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?
> 
> This looks like the problem with mbufs bigger than PAGE_SIZE.
> Do you see some denied requests in the `netstat -m` output?


Thanks for your attention!

Nope, there are no denied mbuf requests after sending icmp echo-request
through virtio-net with all participants' MTU set to 9000:
0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0 requests for sfbufs denied

The icmp echo-reply just doesn't make it through virtio-net (the
echo-request reaches the destination host, and the echo-reply reaches
vmnet0!).
Keeping everything untouched, just
replacing '-s 5,virtio-net,vmnet0'
with '-s 5,e1000,vmnet0', I get the reply into the guest:
ping -D -s 8972 mirashare
PING mirashare.egn.mo1.omnilan.net (172.21.34.11): 8972 data bytes
8980 bytes from 172.21.34.11: icmp_seq=0 ttl=64 time=1.590 ms

Thanks,

-harry


More information about the freebsd-virtualization mailing list