Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ieee80211_bmiss(9) [freebsd man page]

IEEE80211_BMISS(9)					   BSD Kernel Developer's Manual					IEEE80211_BMISS(9)

NAME
ieee80211_bmiss -- 802.11 beacon miss support SYNOPSIS
#include <net80211/ieee80211_var.h> void ieee80211_beacon_miss(struct ieee80211com *); DESCRIPTION
The net80211 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 suit- able 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 ProbeRe- sponse) 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 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 ALSO
wpa_supplicant(8), ieee80211(9), ieee80211_vap(9) BSD
August 4, 2009 BSD

Check Out this Related Man Page

IEEE80211_BEACON(9)					   BSD Kernel Developer's Manual				       IEEE80211_BEACON(9)

NAME
ieee80211_beacon -- 802.11 beacon support SYNOPSIS
#include <net80211/ieee80211_var.h> struct mbuf * ieee80211_beacon_alloc(struct ieee80211_node *, struct ieee80211_beacon_offsets *); int ieee80211_beacon_update(struct ieee80211_node *, struct ieee80211_beacon_offsets *, struct mbuf *, int mcast); void ieee80211_beacon_notify(struct ieee80211vap *, int what); DESCRIPTION
The net80211 software layer provides a support framework for drivers that includes a template-based mechanism for dynamic update of beacon frames transmit in hostap, adhoc, and mesh operating modes. Drivers should use ieee80211_beacon_alloc() to create an initial beacon frame. The ieee80211_beacon_offsets structure holds information about the beacon contents that is used to optimize updates done with ieee80211_beacon_update(). Update calls should only be done when something changes that affects the contents of the beacon frame. When this happens the iv_update_beacon method is invoked and a driver-supplied routine must do the right thing. For devices that involve the host to transmit each beacon frame this work may be as simple as marking a bit in the ieee80211_beacon_offsets structure: static void ath_beacon_update(struct ieee80211vap *vap, int item) { struct ieee80211_beacon_offsets *bo = &ATH_VAP(vap)->av_boff; setbit(bo->bo_flags, item); } with the ieee80211_beacon_update() call done before the next beacon is to be sent. Devices that off-load beacon generation may instead choose to use this callback to push updates immediately to the device. Exactly how that is accomplished is unspecified. One possibility is to update the beacon frame contents and extract the appropriate information element, but other scenarios are possible. MULTI-VAP BEACON SCHEDULING Drivers that support multiple vaps that can each beacon need to consider how to schedule beacon frames. There are two possibilities at the moment: burst all beacons at TBTT or stagger beacons over the beacon interval. Bursting beacon frames may result in aperiodic delivery that can affect power save operation of associated stations. Applying some jitter (e.g. by randomly ordering burst frames) may be sufficient to combat this and typically this is not an issue unless stations are using aggressive power save techniques such as U-APSD (sometimes employed by VoIP phones). Staggering frames requires more interrupts and device support that may not be available. Staggering beacon frames is usu- ally superior to bursting frames, up to about eight vaps, at which point the overhead becomes significant and the channel becomes noticeably busy anyway. SEE ALSO
ieee80211(9) BSD
August 4, 2009 BSD
Man Page