Re: bhyve with lagg failover doesn't work on wifi

From: Kamil Czekirda <kczekirda_at_freebsd.org>
Date: Fri, 29 Jul 2016 11:11:39 +0200
I have similar problem with bridging tap0 and lagg0 (lacp). Problem I think
is beetween lagg0 and tap0.

I can see ICMP traffic from guest to host on bridge0 interface (ping), but
no tcp (ssh).
Tcpdump on host on tap0:

host: 192.168.22.19
guest: 192.168.22.135

tcpdump: listening on tap0, link-type EN10MB (Ethernet), capture size 65535
bytes
09:05:17.641006 IP (tos 0x0, ttl 64, id 8317, offset 0, flags [DF], proto
TCP (6), length 60)
    192.168.22.135.41140 > 192.168.22.19.ssh: Flags [S], cksum 0x3133
(correct), seq 2326804792, win 29200, options [mss 1460,sackOK,TS val
2027493701 ecr 0,nop,wscale 7], length 0
09:05:17.641100 IP (tos 0x0, ttl 64, id 21800, offset 0, flags [DF], proto
TCP (6), length 60)
    192.168.22.19.ssh > 192.168.22.135.41140: Flags [S.], cksum 0xae19
(incorrect -> 0x4e8f), seq 3120117570, ack 2326804793, win 65535, options
[mss 1460,nop,wscale 6,sackOK,TS val 941632328 ecr 2027493701], length 0

and silence on bagg0 and lagg0.

I can't connect to jails on host too.

Traffic for other hosts on the network works fine.

Links:
https://twitter.com/creepingfur/status/633360497270632448
https://wiki.freebsd.org/201510DevSummit/Virtualization
Q: VirtIO/lagg bridge bug? Benjamin Perrault has observed a massive
slowdown in host to VM networking with a combination of bhyve VirtIO/lagg
and bridge. Works fine to the outside world but not between the host and
VM. Must investigate.

My configuration:

em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500
options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500
options=4019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO>
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lagg0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500
options=4019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO>
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
laggproto lacp lagghash l2,l3,l4
laggport: em0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: em1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
1500
description: vm-switch
nd6 options=1<PERFORMNUD>
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 7 priority 128 path cost 55
member: lagg0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
        ifmaxaddr 0 port 5 priority 128 path cost 10000
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500
options=80000<LINKSTATE>
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: active
Opened by PID 48719

Kamil Czekirda

2016-07-29 6:56 GMT+02:00 Randy Westlund <rwestlun_at_gmail.com>:

> I'm using bhyve on 11.0-BETA2, bridging tap0 to lagg0, a failover
> between wifi and ethernet.  The bhyve VM's networking only works I'm
> using ethernet.
>
> > # Lagg config.
> > ifconfig_em0="up"
> > create_args_wlan0="wlanaddr 3c:97:0e:46:70:ca"
> > wlans_iwn0="wlan0"
> > ifconfig_wlan0="WPA"
> > cloned_interfaces="lagg0 bridge0 tap0"
> > ifconfig_lagg0="laggproto failover laggport em0 laggport wlan0 DHCP"
> > # tap0 and bridge0 are for bhyve.
> > ifconfig_bridge0="addm lagg0 addm tap0"
>
> With the ethernet cable connected, the VM's networking works.  But when
> I remove the ethernet cable and lagg0 fails over to wifi, the VM can no
> longer use the network.
>
> I can use tcpdump to see the DHCP packets going along this path:
>     vtnet0 -> tap0 -> bridge0 -> lagg0 -> wlan0
>
> The DHCP requests appear on wlan0.  But the router never sees them.
>
> Here's the ifconfig output when wlan0 is active:
>
> > em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
> mtu 1500
> >
>  options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
> >         ether 3c:97:0e:46:70:ca
> >         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> >         media: Ethernet autoselect
> >         status: no carrier
> > 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
> > wlan0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric
> 0 mtu 1500
> >         ether 3c:97:0e:46:70:ca
> >         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> >         media: IEEE 802.11 Wireless Ethernet MCS mode 11ng
> >         status: associated
> >         ssid neural_network channel 1 (2412 MHz 11g ht/40+) bssid
> c4:04:15:90:f5:fd
> >         regdomain FCC country US authmode WPA2/802.11i privacy ON
> >         deftxkey UNDEF AES-CCM 2:128-bit AES-CCM 3:128-bit txpower 30
> bmiss 10
> >         scanvalid 60 protmode CTS ampdulimit 64k ampdudensity 8
> >         -amsdutx amsdurx shortgi -stbc wme roaming MANUAL
> >         groups: wlan
> > lagg0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric
> 0 mtu 1500
> >         ether 3c:97:0e:46:70:ca
> >         inet 192.168.1.17 netmask 0xffffff00 broadcast 192.168.1.255
> >         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> >         media: Ethernet autoselect
> >         status: active
> >         groups: lagg
> >         laggproto failover lagghash l2,l3,l4
> >         laggport: em0 flags=1<MASTER>
> >         laggport: wlan0 flags=4<ACTIVE>
> > bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu
> 1500
> >         ether 02:4a:6b:6e:fc:00
> >         nd6 options=9<PERFORMNUD,IFDISABLED>
> >         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: lagg0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
> >                 ifmaxaddr 0 port 4 priority 128 path cost 55
> > tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric
> 0 mtu 1500
> >         options=80000<LINKSTATE>
> >         ether 00:bd:ea:f0:f6:00
> >         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> >         media: Ethernet autoselect
> >         status: active
> >         groups: tap
> >         Opened by PID 1322
>
>
Received on Fri Jul 29 2016 - 07:12:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:07 UTC