diff options
author | thompsa <thompsa@FreeBSD.org> | 2010-01-19 05:00:57 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2010-01-19 05:00:57 +0000 |
commit | e3e987d4d1f2740c3f6820b69ac9170ffb38cfa5 (patch) | |
tree | a63da5ef95f41ec8ff00f25979822611418b23d0 /sys/net80211/ieee80211.c | |
parent | d0093d69aa47b2e5b4ca7be5feb402876e1bc9f2 (diff) | |
download | FreeBSD-src-e3e987d4d1f2740c3f6820b69ac9170ffb38cfa5.zip FreeBSD-src-e3e987d4d1f2740c3f6820b69ac9170ffb38cfa5.tar.gz |
Use the iflladdr_event event to keep the mac address on the vap in sync with
the parent wirless interface. If the user passed in a mac address or it was
autogenerated then flag this to avoid trashing it on update.
This will fix wlan+lagg in a post vap world.
Diffstat (limited to 'sys/net80211/ieee80211.c')
-rw-r--r-- | sys/net80211/ieee80211.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c index d0fc692..f72e10b 100644 --- a/sys/net80211/ieee80211.c +++ b/sys/net80211/ieee80211.c @@ -440,6 +440,9 @@ ieee80211_vap_setup(struct ieee80211com *ic, struct ieee80211vap *vap, /* auto-enable s/w beacon miss support */ if (flags & IEEE80211_CLONE_NOBEACONS) vap->iv_flags_ext |= IEEE80211_FEXT_SWBMISS; + /* auto-generated or user supplied MAC address */ + if (flags & (IEEE80211_CLONE_BSSID|IEEE80211_CLONE_MACADDR)) + vap->iv_flags_ext |= IEEE80211_FEXT_UNIQMAC; /* * Enable various functionality by default if we're * capable; the driver can override us if it knows better. |