diff options
author | sam <sam@FreeBSD.org> | 2009-04-26 23:11:22 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-04-26 23:11:22 +0000 |
commit | 506d007c7de2e8fbbe90bed7dd9b91a3d59e9de2 (patch) | |
tree | a0bf2cdf5a730707c3ac044fc4085f0c36bacc05 /sys/net80211/ieee80211_ioctl.c | |
parent | b56ccf5e16a730658f80c0f89fd03bafd1ed90cb (diff) | |
download | FreeBSD-src-506d007c7de2e8fbbe90bed7dd9b91a3d59e9de2.zip FreeBSD-src-506d007c7de2e8fbbe90bed7dd9b91a3d59e9de2.tar.gz |
add IEEE80211_FEXT_4ADDR to indicate ieee80211_encap should do 4-address
encapsulation when relaying frames; this reduces the cost of the test and
enables use for situations other than "sta vap + dwds"
Diffstat (limited to 'sys/net80211/ieee80211_ioctl.c')
-rw-r--r-- | sys/net80211/ieee80211_ioctl.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c index 4e018cb..b28dffa 100644 --- a/sys/net80211/ieee80211_ioctl.c +++ b/sys/net80211/ieee80211_ioctl.c @@ -3048,8 +3048,13 @@ ieee80211_ioctl_set80211(struct ieee80211vap *vap, u_long cmd, struct ieee80211r vap->iv_opmode != IEEE80211_M_STA) return EINVAL; vap->iv_flags |= IEEE80211_F_DWDS; - } else + if (vap->iv_opmode == IEEE80211_M_STA) + vap->iv_flags_ext |= IEEE80211_FEXT_4ADDR; + } else { vap->iv_flags &= ~IEEE80211_F_DWDS; + if (vap->iv_opmode == IEEE80211_M_STA) + vap->iv_flags_ext &= ~IEEE80211_FEXT_4ADDR; + } break; case IEEE80211_IOC_INACTIVITY: if (ireq->i_val) |