Provided by: freebsd-manpages_12.2-1_all bug

NAME

       ieee80211_input — software 802.11 stack input functions

SYNOPSIS

       #include <net80211/ieee80211_var.h>

       void
       ieee80211_input(struct ieee80211_node *, struct mbuf *, int rssi, int noise);

       void
       ieee80211_input_all(struct ieee80211com *, struct mbuf *, int rssi, int noise);

DESCRIPTION

       The  net80211  layer  that  supports  802.11  device  drivers requires that receive processing be single-
       threaded.  Typically this is done using a dedicated driver taskqueue(9)  thread.   ieee80211_input()  and
       ieee80211_input_all()  process  received  802.11 frames and are designed for use in that context; e.g. no
       driver locks may be held.

       The frame passed up in the mbuf must have the 802.11 protocol header at the  front;  all  device-specific
       information and/or PLCP must be removed.  Any CRC must be stripped from the end of the frame.  The 802.11
       protocol  header should be 32-bit aligned for optimal performance but receive processing does not require
       it.  If the frame holds a payload and that is not aligned to a 32-bit boundary then the payload  will  be
       re-aligned so that it is suitable for processing by protocols such as ip(4).

       If  a  device  (such  as ath(4)) inserts padding after the 802.11 header to align the payload to a 32-bit
       boundary the IEEE80211_C_DATAPAD capability must be  set.   Otherwise  header  and  payload  are  assumed
       contiguous in the mbuf chain.

       If a received frame must pass through the A-MPDU receive reorder buffer then the mbuf must be marked with
       the  M_AMPDU  flag.   Note that for the moment this is required of all frames received from a station and
       TID where a Block ACK stream is active, not just A-MPDU  aggregates.   It  is  sufficient  to  check  for
       IEEE80211_NODE_HT  in  the  ni_flags  of  the  station's node table entry, any frames that do not require
       reorder processing will be dispatched with only minimal overhead.

       The rssi parameter is the Receive Signal Strength Indication  of  the  frame  measured  in  0.5dBm  units
       relative  to  the  noise  floor.  The noise parameter is the best approximation of the noise floor in dBm
       units at the time the frame was received.  RSSI and noise are used by the net80211 layer to make scanning
       and roaming decisions in station mode and to do auto channel selection  for  hostap  and  similar  modes.
       Otherwise  the  values  are  made  available  to user applications (with the rssi presented as a filtered
       average over the last ten values and the noise floor the last reported value).

SEE ALSO

       ieee80211(9)

Debian                                           August 4, 2009                               IEEE80211_INPUT(9)