Date: Sun, 20 Oct 2013 22:05:49 -0700 From: Adrian Chadd <adrian@freebsd.org> To: "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org>, =?ISO-8859-1?Q?Ulrich_Sp=F6rlein?= <uqs@spoerlein.net> Subject: implementing multiple BSSID addresses for different VAPs, or 'why was the flag called bssid again?' Message-ID: <CAJ-VmoksV3Es3Ef8ecxGzfrD%2BoA8Mx_t=Y_NEB92WoP5Ld6_cQ@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
So, I finally (!) figured out how this address cloning crap works. In if_ath.c, there's assign_address(). It, yes, assigns addresses. If the hardware supports the bssid mask field and the clone flag is set, it sets up multiple addresses. This works great for up to 4 MACs. We have to modify it to support more than 4 MAC addresses per NIC. .. but, how do you set the clone flag? The ifconfig manpage has two entries for 'bssid'. * the first is when you 'create' a VAP. It's passed as an arguement during create, but before wlanmode. It doesn't take an option. * the second is for setting the BSS ID for the VAP. It _does_ take an option (the MAC.) If you try this, it fails: * ifconfig wlan11 create wlandev ath0 wlanmode hostap ssid 'foo_2' bssid If you try this, it works: * ifconfig wlan11 create wlandev ath0 bssid wlanomde hostap ssid 'foo_2' So, if you run multi-VAP, and you want to use WPA on all of the VAPs, please try using 'bssid' as above and ensure you get multiple MAC addresses. This should make things behave much, much better. If it doesn't then we have bigger problems. Thanks, -adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmoksV3Es3Ef8ecxGzfrD%2BoA8Mx_t=Y_NEB92WoP5Ld6_cQ>