Re: bhyve VM not getting as much upload bandwidth as the host

From: Patrick M. Hausen <hausen_at_punkt.de>
Date: Mon, 14 Aug 2023 11:40:25 UTC
Hi all,

this:

> Am 14.08.2023 um 13:32 schrieb Odhiambo Washington <odhiambo@gmail.com>:
> em1 is NOT a bridge member. It's the host's interface that is connected to the Internet.

and this:

> ifconfig_em1bridge="addm em1 addm tap0 addm tap1 addm tap2 addm tap3 up"
> [...]
> Of course, because em1 is a bridge member, no?


contradict each other. em1 seems indeed to be the physical member interface of your
bridge. In that case you must move the IP address from em1 to em1bridge.

Like so:

ifconfig_em1="-tso -lro -txcsum -rxcsum up"
cloned_interfaces="bridge0 tap0 tap1 tap2 tap3"
ifconfig_bridge0_name="em1bridge"
ifconfig_em1bridge="addm em1 addm tap0 addm tap1 addm tap2 addm tap3 up"
ifconfig_em1bridge_alias0="inet w.x.y.z netmask 255.255.255.0"

Again: a bridge member interface must not have an IP address. Which directly leads to
your last question:

>  One last question for today (although I should just go and RTFM): Do I really need several tap devices? Can't I just have all my VMs on tap0? Each with it's own IP in that range?

You do need one tap interface per VM but these are just "virtual ethernet cables" plugged into
a "virtual switch" (em1bridge). So they need not and *must* not  have an IP address configured
on the host side. Just create them and add them to the bridge.

All IP configuration is done in the VM guest and should match the network connected to em1, of course.

HTH,
Patrick
-- 
punkt.de GmbH
Patrick M. Hausen
.infrastructure

Sophienstr. 187
76185 Karlsruhe

Tel. +49 721 9109500

https://infrastructure.punkt.de
info@punkt.de

AG Mannheim 108285
Geschäftsführer: Daniel Lienert, Fabian Stein