Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Oct 2016 17:17:00 +0200
From:      "J.R. Oldroyd" <fbsd@opal.com>
To:        freebsd-wireless@freebsd.org
Subject:   Regression: ethernet + wireless/ath under lagg
Message-ID:  <20161012171700.5b4f9ea8@shibato>

next in thread | raw e-mail | index | archive | help
Since something like 9.0-release, I have used the following to config
an re and an ath interface together in a lagg.  The intent is to have
both ethernet and wireless interfaces share the lagg and be seamlessly 
pluggable between the two networks.  It was necessary to set the ath's
MAC address to be the same as the re's, else the wlan created from the
ath would not associate.  (The wlan's MAC address must be the same as
the underlying device's MAC, else the wlan fails WPA authentication.
Changing the underlying device's MAC before the wlan is created works
OK.)  This config has worked just fine on both 9.x and 10.x:

In /etc/rc.conf:

	ifconfig_re0="up"
	ifconfig_re0_ipv6="inet6 accept_rtadv"
	ifconfig_ath0="`ifconfig re0 ether`"
	ifconfig_ath0="ether ${ifconfig_ath0##*ether }"
	wlans_ath0=wlan0
	create_args_wlan0="regdomain FCC country US"
	ifconfig_wlan0="WPA"
	ifconfig_wlan0_ipv6="inet6 accept_rtadv"
	cloned_interfaces="lagg0"
	ifconfig_lagg0="laggproto failover laggport re0 laggport wlan0 DHCP"	# WAN_IF
	ifconfig_lagg0_ipv6="inet6 accept_rtadv"

Now, with 11.0-release, this no longer works because the ath interface
doesn't exist any more, so ifconfig cannot pre-change its MAC.  And, I
have been unable to find a way of either determining or setting the
ath's MAC address using sysctls.

Now, the following does work, hard-coding the ath's MAC, and changing
the re's address to that value, instead of the other way around:

	ether_ath0="70:1a:11:22:33:44"	 # actual ath0 MAC address
	ifconfig_re0="ether $ether_ath0 up"
	ifconfig_re0_ipv6="inet6 accept_rtadv"
	wlans_ath0=wlan0
	create_args_wlan0="regdomain FCC country US"
	ifconfig_wlan0="WPA"
	ifconfig_wlan0_ipv6="inet6 accept_rtadv"
	cloned_interfaces="lagg0"
	ifconfig_lagg0="laggproto failover laggport re0 laggport wlan0 DHCP"    # WAN_IF
	ifconfig_lagg0_ipv6="inet6 accept_rtadv"

Obviously, hard-coding a MAC address isn't a good solution.

Am I missing something?  Is there a way to config this without a
hard-coded address?

Or, do we need to fix the bug that is preventing setting the wlan's
MAC address to be something different from the underlying ath's
address? 

	-jr



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161012171700.5b4f9ea8>