summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_ioctl.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2005-07-06 15:38:27 +0000
committersam <sam@FreeBSD.org>2005-07-06 15:38:27 +0000
commit61cabe0353ae9b0d47fc3d68e8019caae3ba11dc (patch)
treedcd8b59c98c47887d9c8ba7d66a7413d7da703f1 /sys/net80211/ieee80211_ioctl.c
parentd0d10216310971a993ad53165ee8e5e4244c5a36 (diff)
downloadFreeBSD-src-61cabe0353ae9b0d47fc3d68e8019caae3ba11dc.zip
FreeBSD-src-61cabe0353ae9b0d47fc3d68e8019caae3ba11dc.tar.gz
add "pureg" mode for ap operation: reject association requests from
11b-only stations when operating in 11g Reviewed by: avatar Approved by: re (scottl)
Diffstat (limited to 'sys/net80211/ieee80211_ioctl.c')
-rw-r--r--sys/net80211/ieee80211_ioctl.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c
index 490b567..83ac126 100644
--- a/sys/net80211/ieee80211_ioctl.c
+++ b/sys/net80211/ieee80211_ioctl.c
@@ -1451,6 +1451,9 @@ ieee80211_ioctl_get80211(struct ieee80211com *ic, u_long cmd, struct ieee80211re
/* NB: get from ic_bss for station mode */
ireq->i_val = ic->ic_bss->ni_intval;
break;
+ case IEEE80211_IOC_PUREG:
+ ireq->i_val = (ic->ic_flags & IEEE80211_F_PUREG) != 0;
+ break;
default:
error = EINVAL;
break;
@@ -2316,6 +2319,15 @@ ieee80211_ioctl_set80211(struct ieee80211com *ic, u_long cmd, struct ieee80211re
} else
error = EINVAL;
break;
+ case IEEE80211_IOC_PUREG:
+ if (ireq->i_val)
+ ic->ic_flags |= IEEE80211_F_PUREG;
+ else
+ ic->ic_flags &= ~IEEE80211_F_PUREG;
+ /* NB: reset only if we're operating on an 11g channel */
+ if (ic->ic_curmode == IEEE80211_MODE_11G)
+ error = ENETRESET;
+ break;
default:
error = EINVAL;
break;
OpenPOWER on IntegriCloud