NAME
ieee80211_bmiss
—
802.11 beacon miss support
SYNOPSIS
#include
<net80211/ieee80211_var.h>
void
ieee80211_beacon_miss
(struct
ieee80211com *);
DESCRIPTION
Thenet80211
software layer provides a support framework
for drivers that includes handling beacon miss events in station mode. Drivers
can dispatch beacon miss events that are recognized in hardware or
net80211
can detect beacon miss if the driver
dispatches received beacon frames through the normal receive path. Software
beacon miss support is especially useful when multiple vaps are operating and
any hardware beacon miss support is not available (e.g. operating as an access
point together with one or more station mode vaps).
Drivers should dispatch beacon miss
events recognized in the driver with
ieee80211_beacon_miss
().
This causes some number of ProbeRequest frames to be sent to the access
point to check if the association is still alive. If no response is received
and roaming mode is set to IEEE80211_ROAMING_AUTO
then net80211
will try to re-associate and if that
fails trigger a scan to look for the access point or another suitable AP.
When the net80211
state machine is being operated
manually, e.g. by
wpa_supplicant(8), then applications are notified of the
state change and are responsible for handling the work of scanning for a new
access point. The number of beacon miss events (without a ProbeResponse) is
user settable with the IEEE80211_IOC_BMISSTHRESHOLD
request.
Software beacon miss detection is enabled per-vap by setting the
IEEE80211_FEXT_SWBMISS
flag. Typically this is done
when a vap is setup when the
IEEE80211_CLONE_NOBEACONS
option is supplied to the
clone operation. But drivers may also force this when they know they need
help detecting beacon miss. When beacon miss is detected in software the
event is dispatched without driver involvement. Note that software beacon
miss handling is not limited to station mode; it can be used in any
operating mode where beacons from a peer station are received.