host loses network when rebooting jail/vm

Joined
Dec 9, 2016
Messages
6
I am playing around with a Dell optiplex 7060 micro tower that utilizes an onboard intel I219-LM. Other specs include an i7-8700 and 32gb of RAM. After setting up a jail or vm, when said jail/vm is started, stopped, or rebooted I briefly lose network connectivity to the host system. I started with 11.2-U4 and went down to 11.2-U2.1 with the same results.

Here is the output of /var/log/messages when the vm was started;
Code:
May 13 15:32:54 optisan01 tap0: Ethernet address: 00:bd:1a:97:81:00
May 13 15:32:54 optisan01 kernel: em0: link state changed to DOWN
May 13 15:32:54 optisan01 kernel: em0: link state changed to DOWN
May 13 15:32:54 optisan01 kernel: bridge0: link state changed to DOWN
May 13 15:32:54 optisan01 kernel: bridge0: link state changed to DOWN
May 13 15:32:54 optisan01 kernel: tap0: promiscuous mode enabled
May 13 15:32:54 optisan01 kernel: tap0: link state changed to UP
May 13 15:32:54 optisan01 kernel: tap0: link state changed to UP
May 13 15:32:54 optisan01 kernel: bridge0: link state changed to UP
May 13 15:32:54 optisan01 kernel: bridge0: link state changed to UP
May 13 15:32:57 optisan01 kernel: em0: link state changed to UP

Logs when vm is stopped;
Code:
May 13 15:47:26 optisan01 kernel: tap0: link state changed to DOWN
May 13 15:47:26 optisan01 kernel: tap0: link state changed to DOWN
May 13 15:47:27 optisan01 kernel: em0: link state changed to DOWN
May 13 15:47:27 optisan01 kernel: em0: link state changed to DOWN
May 13 15:47:27 optisan01 bridge0: can't disable some capabilities on em0: 0x1
May 13 15:47:30 optisan01 kernel: em0: link state changed to UP
May 13 15:47:30 optisan01 kernel: em0: link state changed to UP

What's more interesting is I found that this is only an issue when you're working with a single running jail/vm. If I start up a second jail or vm and let that run, I can start and stop the first jail or vm without experiencing the host network drop.

ifconfig output with vm running;
Code:
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=2098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
    ether 6c:2b:59:ed:63:44
    hwaddr 6c:2b:59:ed:63:44
    inet 10.99.99.109 netmask 0xffffff00 broadcast 10.99.99.255
    nd6 options=9<PERFORMNUD,IFDISABLED>
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
    inet 127.0.0.1 netmask 0xff000000
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: lo
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 02:9b:81:b4:fc: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 3 priority 128 path cost 2000000
    member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 1 priority 128 path cost 20000
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    description: Attached to optisan01dh
    options=80000<LINKSTATE>
    ether 00:bd:1a:97:81:00
    hwaddr 00:bd:1a:97:81:00
    nd6 options=1<PERFORMNUD>
    media: Ethernet autoselect
    status: active
    groups: tap
    Opened by PID 20461

ifconfig output with vm stopped;
Code:
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
    ether 6c:2b:59:ed:63:44
    hwaddr 6c:2b:59:ed:63:44
    inet 10.99.99.109 netmask 0xffffff00 broadcast 10.99.99.255
    nd6 options=9<PERFORMNUD,IFDISABLED>
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
    inet 127.0.0.1 netmask 0xff000000
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: lo
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 02:9b:81:b4:fc: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: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 1 priority 128 path cost 20000
 
Joined
Dec 9, 2016
Messages
6
Seem to be related to the rx/tx checksum feature being removed and added to the physical intel nic. I can run "ifconfig em0 -rxcsum" to replicate the issue not involving any jail, vm, or bridge.
 
Top