Date: Thu, 3 Dec 2009 02:00:15 GMT From: David Horn <dhorn2000@gmail.com> To: freebsd-net@FreeBSD.org Subject: Re: kern/139117: [lagg] + wlan boot timing (EBUSY) Message-ID: <200912030200.nB320F4M093097@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/139117; it has been noted by GNATS. From: David Horn <dhorn2000@gmail.com> To: bug-followup@freebsd.org Cc: Subject: Re: kern/139117: [lagg] + wlan boot timing (EBUSY) Date: Wed, 2 Dec 2009 20:58:06 -0500 Just for anyone else running into this problem, a "hack" workaround is to force the raw wireless interface (wlan0) and the raw wired interface (bfe0 in my case) to not accept IPv6 router advertisements, and just allow the lagg0 interface to accept them. This causes the timing window for OACTIVE (and thus the EBUSY response) to be MUCH smaller, and now I only very rarely see this issue. Example 8.0 rc.conf hack to use ndp to disable accepting IPv6 rtadv: ifconfig_bfe0="ether 00:1c:23:98:2c:5d `ndp -i bfe0 nud -accept_rtadv >/dev/null 2>&1`" ifconfig_wlan0="WPA `ndp -i wlan0 nud -accept_rtadv >/dev/null 2>&1`" ifconfig_iwn0="ether 00:1c:23:98:2c:5d" cloned_interfaces="lagg0" ipv6_network_interfaces="lagg0" ifconfig_lagg0="laggproto failover laggport bfe0 laggport wlan0 DHCP" ipv6_enable="YES" Note, you will need to ignore any ndp error messages out of rc.conf at boot time, as this will cause spurious (but innocuous) console error messages about ndp. Example 9.0 rc.conf settings: ifconfig_iwn0="ether 00:1c:23:98:2c:5d" wlans_iwn0="wlan0" ifconfig_bfe0="UP" ifconfig_bfe0_ipv6="inet6 ifdisabled -nud -auto_linklocal" ifconfig_wlan0="WPA" ifconfig_wlan0_ipv6="inet6 ifdisabled -nud -auto_linklocal" cloned_interfaces="lagg0" ifconfig_lagg0="laggproto failover laggport bfe0 laggport wlan0 DHCP" ifconfig_lagg0_ipv6="inet6 accept_rtadv" ipv6_prefer="YES" This was thanks to sam@ for pointing me away from wpa_supplicant and towards IPv6 as a likely culprit for causing the OACTIVE flag to be set on the interface causing the ifconfig lagg0 call to not add the wireless interface. Of course in 9.0 (-current as of the moment), there is the new facility to disable IPv6 router advertisements (and other ipv6 flags) via ifconfig so this hack is not needed there. The contention/timing issue still exists, but since users likely to NOT want the non-lagg interfaces to get IPv6 addresses from a router advertisement message anyway, the work around makes this problem less severe. The 9.0 example here is of course subject to change... ---Dave Horn
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912030200.nB320F4M093097>