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:
The disconnected NIC igb2 and it's bridge and tap as seen by FreeNAS. Tap1 is up even though igb2 and bidge1 are not?:
The connected NIC igb3 and it's bridge and tap as seen by FreeNAS:
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
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: