bhyve VM does not notice disconnected NIC?

Status
Not open for further replies.

tobiasbp

Patron
Joined
Dec 2, 2015
Messages
238
I have a bhyve VM set up in FreeNAS 11.1-RELEASE.

The VM has been assigned two NICS (VirtIO), not used by FreeNAS. In the VM (pfSense) i have configured a failover LAGG (lagg0).

My problem is, that the VM does not notice it when a physical NIC becomes unavailable (I detach it from the switch), so failover can not happen. I have detached one of the ethernet cables from the switch, and gathered the data below:

Here are the NICs as seen by the VM. vtnet1 is the NIC not currently connected to the switch:
Code:
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
	ether 00:a0:98:20:49:58
	inet6 fe80::2a0:98ff:fe20:4958%lagg0 prefixlen 64 scopeid 0x7
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	groups: lagg
	laggproto failover lagghash l2,l3,l4
	laggport: vtnet0 flags=5<MASTER,ACTIVE>
	laggport: vtnet1 flags=0<>

vtnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
	ether 00:a0:98:20:49:58
	hwaddr 00:a0:98:20:49:58
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet 10Gbase-T <full-duplex>
	status: active

vtnet1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
	ether 00:a0:98:20:49:58
	hwaddr 00:a0:98:05:45:f7
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet 10Gbase-T <full-duplex>
	status: active



The disconnected NIC igb2 and it's bridge and tap as seen by FreeNAS. Tap1 is up even though igb2 and bidge1 are not?:
Code:
igb2: flags=8d02<BROADCAST,PROMISC,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=2400b9<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,RXCSUM_IPV6>
	ether 00:25:90:1e:f2:46
	hwaddr 00:25:90:1e:f2:46
	nd6 options=9<PERFORMNUD,IFDISABLED>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active

bridge1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 02:09:91:60:3d:01
	nd6 options=1<PERFORMNUD>
	groups: bridge
	id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
	maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
	root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
	member: tap1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
		   ifmaxaddr 0 port 8 priority 128 path cost 2000000
	member: igb2 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
		   ifmaxaddr 0 port 3 priority 128 path cost 20000

tap1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80000<LINKSTATE>
	ether 00:bd:04:35:a0:01
	hwaddr 00:bd:04:35:a0:01
	nd6 options=1<PERFORMNUD>
	media: Ethernet autoselect
	status: active
	groups: tap
	Opened by PID 10578


The connected NIC igb3 and it's bridge and tap as seen by FreeNAS:
Code:
igb3: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=2400b9<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,RXCSUM_IPV6>
	ether 00:25:90:1e:f2:47
	hwaddr 00:25:90:1e:f2:47
	nd6 options=9<PERFORMNUD,IFDISABLED>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active


bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 02:09:91:60:3d:00
	nd6 options=1<PERFORMNUD>
	groups: bridge
	id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
	maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
	root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
	member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
			ifmaxaddr 0 port 6 priority 128 path cost 2000000
	member: igb3 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
			ifmaxaddr 0 port 4 priority 128 path cost 20000
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80000<LINKSTATE>
	ether 00:bd:d9:34:a0:00
	hwaddr 00:bd:d9:34:a0:00
	nd6 options=1<PERFORMNUD>
	media: Ethernet autoselect
	status: active
	groups: tap
	Opened by PID 10578


So, how can I make this work? Do I need to have the LAGG outside the VM (I can't assign a LAGG to a VM in the GUI)? Do I need to pass through the NICS to the VM? Is there a setting I could use for the network configuration on the FreeNAS side? Any other ideas?

Thank you,
Tobias
 
Last edited:
D

dlavigne

Guest
Sounds like a bug. Please create a report at bugs.freenas.org and post the issue number here.
 
Status
Not open for further replies.
Top