mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 08:43:19 -04:00
add beacon miss threshold control
Submitted by: Henrik Brix Andersen <henrik@brixandersen.dk> MFC after: 2 weeks
This commit is contained in:
parent
546786c951
commit
d7ccef331a
2 changed files with 29 additions and 1 deletions
|
|
@ -28,7 +28,7 @@
|
|||
.\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 23, 2006
|
||||
.Dd July 25, 2006
|
||||
.Dt IFCONFIG 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
|
@ -576,6 +576,19 @@ The
|
|||
.Ar interval
|
||||
parameter is specified in TU's (1/1024 msecs).
|
||||
By default beacon frames are transmitted every 100 TU's.
|
||||
.It Cm bmissthreshold Ar count
|
||||
Set the number of consecutive missed beacons at which the station
|
||||
will attempt to roam (i.e. search for a new access point).
|
||||
The
|
||||
.Ar count
|
||||
parameter is must be in the range 1 to 255; though the
|
||||
upper bound may be reduced according to device capabilities..
|
||||
The default threshold is 7 consecutive missed beacons; but
|
||||
this may be overridden by the device driver.
|
||||
Another name for the
|
||||
.Cm bmissthreshold
|
||||
parameter is
|
||||
.Cm bmiss .
|
||||
.It Cm bssid Ar address
|
||||
Specify the MAC address of the access point to use when operating
|
||||
as a station in a BSS network.
|
||||
|
|
|
|||
|
|
@ -682,6 +682,13 @@ DECL_CMD_FUNC(set80211fragthreshold, val, d)
|
|||
isundefarg(val) ? IEEE80211_FRAG_MAX : atoi(val), 0, NULL);
|
||||
}
|
||||
|
||||
static
|
||||
DECL_CMD_FUNC(set80211bmissthreshold, val, d)
|
||||
{
|
||||
set80211(s, IEEE80211_IOC_BMISSTHRESHOLD,
|
||||
isundefarg(val) ? IEEE80211_HWBMISS_MAX : atoi(val), 0, NULL);
|
||||
}
|
||||
|
||||
static int
|
||||
getmaxrate(uint8_t rates[15], uint8_t nrates)
|
||||
{
|
||||
|
|
@ -1671,6 +1678,12 @@ ieee80211_status(int s)
|
|||
LINE_CHECK("fragthreshold %d", ireq.i_val);
|
||||
}
|
||||
|
||||
ireq.i_type = IEEE80211_IOC_BMISSTHRESHOLD;
|
||||
if (ioctl(s, SIOCG80211, &ireq) != -1) {
|
||||
if (ireq.i_val != IEEE80211_HWBMISS_MAX || verbose)
|
||||
LINE_CHECK("bmiss %d", ireq.i_val);
|
||||
}
|
||||
|
||||
if (IEEE80211_IS_CHAN_G(c) || IEEE80211_IS_CHAN_PUREG(c) || verbose) {
|
||||
ireq.i_type = IEEE80211_IOC_PUREG;
|
||||
if (ioctl(s, SIOCG80211, &ireq) != -1) {
|
||||
|
|
@ -1977,6 +1990,8 @@ static struct cmd ieee80211_cmds[] = {
|
|||
DEF_CMD_ARG("fragthreshold", set80211fragthreshold),
|
||||
DEF_CMD("burst", 1, set80211burst),
|
||||
DEF_CMD("-burst", 0, set80211burst),
|
||||
DEF_CMD_ARG("bmiss", set80211bmissthreshold),
|
||||
DEF_CMD_ARG("bmissthreshold", set80211bmissthreshold),
|
||||
};
|
||||
static struct afswtch af_ieee80211 = {
|
||||
.af_name = "af_ieee80211",
|
||||
|
|
|
|||
Loading…
Reference in a new issue