diff options
author | Sam Leffler <sam@FreeBSD.org> | 2009-04-26 23:11:22 +0000 |
---|---|---|
committer | Sam Leffler <sam@FreeBSD.org> | 2009-04-26 23:11:22 +0000 |
commit | f2a6a13c3b215ee8d0e59208fdaae028c197a4c0 (patch) | |
tree | a0bf2cdf5a730707c3ac044fc4085f0c36bacc05 /sys/net80211/ieee80211_ioctl.c | |
parent | 0510acbded03f2ab85e87635515dc96498cc65be (diff) | |
download | src-f2a6a13c3b215ee8d0e59208fdaae028c197a4c0.tar.gz src-f2a6a13c3b215ee8d0e59208fdaae028c197a4c0.zip |
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"
Notes
Notes:
svn path=/head/; revision=191555
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 4e018cb03717..b28dffa344fa 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) |