summaryrefslogtreecommitdiff
path: root/static/freebsd/man9/ieee80211_beacon.9 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man9/ieee80211_beacon.9 3.html')
-rw-r--r--static/freebsd/man9/ieee80211_beacon.9 3.html102
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> &#x2014;
- <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
- &lt;<a class="In">net80211/ieee80211_var.h</a>&gt;</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 = &amp;ATH_VAP(vap)-&gt;av_boff;
- setbit(bo-&gt;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>