svn commit: r298941 - head/sys/net80211
Andriy Voskoboinyk
avos at FreeBSD.org
Mon May 2 20:46:06 UTC 2016
Author: avos
Date: Mon May 2 20:46:05 2016
New Revision: 298941
URL: https://svnweb.freebsd.org/changeset/base/298941
Log:
net80211: fix MAC address change via SIOCSIFLLADDR ioctl.
Recheck MAC address on SIOCSIFFLAGS; as a result,
'ifconfig wlan0 ether <addr>' can be used after interface startup.
PR: 208933
Modified:
head/sys/net80211/ieee80211_ioctl.c
Modified: head/sys/net80211/ieee80211_ioctl.c
==============================================================================
--- head/sys/net80211/ieee80211_ioctl.c Mon May 2 20:16:29 2016 (r298940)
+++ head/sys/net80211/ieee80211_ioctl.c Mon May 2 20:46:05 2016 (r298941)
@@ -3382,8 +3382,18 @@ ieee80211_ioctl(struct ifnet *ifp, u_lon
}
IEEE80211_UNLOCK(ic);
/* Wait for parent ioctl handler if it was queued */
- if (wait)
+ if (wait) {
ieee80211_waitfor_parent(ic);
+
+ /*
+ * Check if the MAC address was changed
+ * via SIOCSIFLLADDR ioctl.
+ */
+ if ((ifp->if_flags & IFF_UP) == 0 &&
+ !IEEE80211_ADDR_EQ(vap->iv_myaddr, IF_LLADDR(ifp)))
+ IEEE80211_ADDR_COPY(vap->iv_myaddr,
+ IF_LLADDR(ifp));
+ }
break;
case SIOCADDMULTI:
case SIOCDELMULTI:
More information about the svn-src-head
mailing list