diff options
Diffstat (limited to 'static/freebsd/man9/ieee80211_beacon.9 3.html')
| -rw-r--r-- | static/freebsd/man9/ieee80211_beacon.9 3.html | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/static/freebsd/man9/ieee80211_beacon.9 3.html b/static/freebsd/man9/ieee80211_beacon.9 3.html deleted file mode 100644 index eff2b10e..00000000 --- a/static/freebsd/man9/ieee80211_beacon.9 3.html +++ /dev/null @@ -1,102 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">IEEE80211_BEACON(9)</td> - <td class="head-vol">Kernel Developer's Manual</td> - <td class="head-rtitle">IEEE80211_BEACON(9)</td> - </tr> -</table> -<div class="manual-text"> -<section class="Sh"> -<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> -<p class="Pp"><code class="Nm">ieee80211_beacon</code> — - <span class="Nd">802.11 beacon support</span></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> -<p class="Pp"><code class="In">#include - <<a class="In">net80211/ieee80211_var.h</a>></code></p> -<p class="Pp"> - <br/> - <var class="Ft">struct mbuf *</var> - <br/> - <code class="Fn">ieee80211_beacon_alloc</code>(<var class="Fa">struct - ieee80211_node *</var>, <var class="Fa">struct ieee80211_beacon_offsets - *</var>);</p> -<p class="Pp"><var class="Ft">int</var> - <br/> - <code class="Fn">ieee80211_beacon_update</code>(<var class="Fa">struct - ieee80211_node *</var>, <var class="Fa">struct ieee80211_beacon_offsets - *</var>, <var class="Fa">struct mbuf *</var>, <var class="Fa">int - mcast</var>);</p> -<p class="Pp"><var class="Ft">void</var> - <br/> - <code class="Fn">ieee80211_beacon_notify</code>(<var class="Fa" style="white-space: nowrap;">struct - ieee80211vap *</var>, <var class="Fa" style="white-space: nowrap;">int - what</var>);</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> -<p class="Pp">The <code class="Nm">net80211</code> 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 - <a class="permalink" href="#ieee80211_beacon_alloc"><code class="Fn" id="ieee80211_beacon_alloc">ieee80211_beacon_alloc</code></a>() - to create an initial beacon frame. The - <var class="Vt">ieee80211_beacon_offsets</var> structure holds information - about the beacon contents that is used to optimize updates done with - <code class="Fn">ieee80211_beacon_update</code>().</p> -<p class="Pp">Update calls should only be done when something changes that - affects the contents of the beacon frame. When this happens the - <code class="Dv">iv_update_beacon</code> 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 <var class="Vt">ieee80211_beacon_offsets</var> structure:</p> -<div class="Bd Pp Li"> -<pre>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); -}</pre> -</div> -<p class="Pp" id="ieee80211_beacon_update">with the - <a class="permalink" href="#ieee80211_beacon_update"><code class="Fn">ieee80211_beacon_update</code></a>() - call done before the next beacon is to be sent.</p> -<p class="Pp">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.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="MULTI-VAP_BEACON_SCHEDULING"><a class="permalink" href="#MULTI-VAP_BEACON_SCHEDULING">MULTI-VAP - BEACON SCHEDULING</a></h1> -<p class="Pp">Drivers that support multiple vaps that can each beacon need to - consider how to schedule beacon frames. There are two possibilities at the - moment: - <a class="permalink" href="#burst"><i class="Em" id="burst">burst</i></a> - all beacons at TBTT or - <a class="permalink" href="#stagger"><i class="Em" id="stagger">stagger - beacons</i></a> 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 usually superior to bursting frames, up to about eight vaps, at - which point the overhead becomes significant and the channel becomes - noticeably busy anyway.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE - ALSO</a></h1> -<p class="Pp"><a class="Xr">ieee80211(9)</a></p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">August 4, 2009</td> - <td class="foot-os">FreeBSD 15.0</td> - </tr> -</table> |
