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
to create an initial beacon frame.
structure holds information about the beacon contents that is used
to optimize updates done with
Update calls should only be done when something changes that
affects the contents of the beacon frame.
When this happens the
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
ath_beacon_update(struct ieee80211vap *vap, int item)
struct ieee80211_beacon_offsets *bo = &ATH_VAP(vap)->av_boff;
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.