IEEE80211_BMISS(9) BSD Kernel Developer's Manual IEEE80211_BMISS(9)NAME
ieee80211_bmiss — 802.11 beacon miss support
ieee80211_beacon_miss(struct ieee80211com *);
The net80211 software layer provides a support framework for drivers that
includes handling beacon miss events in station mode. Drivers can dis‐
patch 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 espe‐
cially 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 set‐
table 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 opera‐
tion. 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 bea‐
con miss handling is not limited to station mode; it can be used in any
operating mode where beacons from a peer station are received.
SEE ALSOwpa_supplicant(8), ieee80211(9), ieee80211_vap(9)BSD August 4, 2009 BSD