FreeBSD kernel WLAN code
ieee80211_proto.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ieee80211_authenticator
 
struct  ieee80211_aclator
 
struct  wmeParams
 
struct  chanAccParams
 
struct  ieee80211_wme_state
 
struct  ieee80211_beacon_offsets
 

Macros

#define IEEE80211_S_MAX   (IEEE80211_S_SLEEP+1)
 
#define IEEE80211_SEND_MGMT(_ni, _type, _arg)    ((*(_ni)->ni_ic->ic_send_mgmt)(_ni, _type, _arg))
 
#define ieee80211_input(ni, m, rssi, nf)    ((ni)->ni_vap->iv_input(ni, m, NULL, rssi, nf))
 
#define IEEE80211_SEND_LEGACY_11B   0x1 /* legacy 11b client */
 
#define IEEE80211_SEND_LEGACY_11   0x2 /* other legacy client */
 
#define IEEE80211_SEND_LEGACY   0x3 /* any legacy client */
 
#define IEEE80211_F_DOSORT   0x00000001 /* sort rate list */
 
#define IEEE80211_F_DOFRATE   0x00000002 /* use fixed legacy rate */
 
#define IEEE80211_F_DONEGO   0x00000004 /* calc negotiated rate */
 
#define IEEE80211_F_DODEL   0x00000008 /* delete ignore rate */
 
#define IEEE80211_F_DOBRS   0x00000010 /* check basic rate set */
 
#define IEEE80211_F_JOIN   0x00000020 /* sta joining our bss */
 
#define IEEE80211_F_DOFMCS   0x00000040 /* use fixed HT rate */
 
#define IEEE80211_TXOP_TO_US(_txop)   ((_txop)<<5)
 
#define IEEE80211_US_TO_TXOP(_us)   ((_us)>>5)
 
#define WME_F_AGGRMODE   0x00000001 /* STATUS: WME aggressive mode */
 

Enumerations

enum  ieee80211_state {
  IEEE80211_S_INIT = 0 , IEEE80211_S_SCAN = 1 , IEEE80211_S_AUTH = 2 , IEEE80211_S_ASSOC = 3 ,
  IEEE80211_S_CAC = 4 , IEEE80211_S_RUN = 5 , IEEE80211_S_CSA = 6 , IEEE80211_S_SLEEP = 7
}
 
enum  {
  IEEE80211_BEACON_CAPS = 0 , IEEE80211_BEACON_TIM = 1 , IEEE80211_BEACON_WME = 2 , IEEE80211_BEACON_ERP = 3 ,
  IEEE80211_BEACON_HTINFO = 4 , IEEE80211_BEACON_APPIE = 5 , IEEE80211_BEACON_CFP = 6 , IEEE80211_BEACON_CSA = 7 ,
  IEEE80211_BEACON_TDMA = 9 , IEEE80211_BEACON_ATH = 10 , IEEE80211_BEACON_MESHCONF = 11 , IEEE80211_BEACON_QUIET = 12 ,
  IEEE80211_BEACON_VHTINFO = 13
}
 
enum  ieee80211_notify_cac_event { IEEE80211_NOTIFY_CAC_START = 0 , IEEE80211_NOTIFY_CAC_STOP = 1 , IEEE80211_NOTIFY_CAC_RADAR = 2 , IEEE80211_NOTIFY_CAC_EXPIRE = 3 }
 

Functions

static __inline const char * ieee80211_mgt_subtype_name (uint8_t subtype)
 
static __inline const char * ieee80211_ctl_subtype_name (uint8_t subtype)
 
const char * ieee80211_reason_to_string (uint16_t)
 
void ieee80211_proto_attach (struct ieee80211com *)
 
void ieee80211_proto_detach (struct ieee80211com *)
 
void ieee80211_proto_vattach (struct ieee80211vap *)
 
void ieee80211_proto_vdetach (struct ieee80211vap *)
 
void ieee80211_promisc (struct ieee80211vap *, bool)
 
void ieee80211_allmulti (struct ieee80211vap *, bool)
 
void ieee80211_syncflag (struct ieee80211vap *, int flag)
 
void ieee80211_syncflag_ht (struct ieee80211vap *, int flag)
 
void ieee80211_syncflag_vht (struct ieee80211vap *, int flag)
 
void ieee80211_syncflag_ext (struct ieee80211vap *, int flag)
 
int ieee80211_input_all (struct ieee80211com *, struct mbuf *, int, int)
 
int ieee80211_input_mimo (struct ieee80211_node *, struct mbuf *)
 
int ieee80211_input_mimo_all (struct ieee80211com *, struct mbuf *)
 
int ieee80211_mgmt_output (struct ieee80211_node *, struct mbuf *, int, struct ieee80211_bpf_params *)
 
int ieee80211_raw_xmit (struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *)
 
int ieee80211_output (struct ifnet *, struct mbuf *, const struct sockaddr *, struct route *ro)
 
int ieee80211_vap_pkt_send_dest (struct ieee80211vap *, struct mbuf *, struct ieee80211_node *)
 
int ieee80211_raw_output (struct ieee80211vap *, struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *)
 
void ieee80211_send_setup (struct ieee80211_node *, struct mbuf *, int, int, const uint8_t[IEEE80211_ADDR_LEN], const uint8_t[IEEE80211_ADDR_LEN], const uint8_t[IEEE80211_ADDR_LEN])
 
int ieee80211_vap_transmit (struct ifnet *ifp, struct mbuf *m)
 
void ieee80211_vap_qflush (struct ifnet *ifp)
 
int ieee80211_send_nulldata (struct ieee80211_node *)
 
int ieee80211_classify (struct ieee80211_node *, struct mbuf *m)
 
struct mbuf * ieee80211_mbuf_adjust (struct ieee80211vap *, int, struct ieee80211_key *, struct mbuf *)
 
struct mbuf * ieee80211_encap (struct ieee80211vap *, struct ieee80211_node *, struct mbuf *)
 
void ieee80211_free_mbuf (struct mbuf *)
 
int ieee80211_send_mgmt (struct ieee80211_node *, int, int)
 
int ieee80211_probereq_ie (struct ieee80211vap *, struct ieee80211com *, uint8_t **, uint32_t *, const uint8_t *, size_t, bool)
 
int ieee80211_send_probereq (struct ieee80211_node *ni, const uint8_t sa[IEEE80211_ADDR_LEN], const uint8_t da[IEEE80211_ADDR_LEN], const uint8_t bssid[IEEE80211_ADDR_LEN], const uint8_t *ssid, size_t ssidlen)
 
struct mbuf * ieee80211_ff_encap1 (struct ieee80211vap *, struct mbuf *, const struct ether_header *)
 
void ieee80211_tx_complete (struct ieee80211_node *, struct mbuf *, int)
 
struct mbuf * ieee80211_alloc_proberesp (struct ieee80211_node *, int)
 
int ieee80211_send_proberesp (struct ieee80211vap *, const uint8_t da[IEEE80211_ADDR_LEN], int)
 
struct mbuf * ieee80211_alloc_rts (struct ieee80211com *ic, const uint8_t[IEEE80211_ADDR_LEN], const uint8_t[IEEE80211_ADDR_LEN], uint16_t)
 
struct mbuf * ieee80211_alloc_cts (struct ieee80211com *, const uint8_t[IEEE80211_ADDR_LEN], uint16_t)
 
struct mbuf * ieee80211_alloc_prot (struct ieee80211_node *, const struct mbuf *, uint8_t, int)
 
uint8_t * ieee80211_add_rates (uint8_t *, const struct ieee80211_rateset *)
 
uint8_t * ieee80211_add_xrates (uint8_t *, const struct ieee80211_rateset *)
 
uint8_t * ieee80211_add_ssid (uint8_t *, const uint8_t *, u_int)
 
uint8_t * ieee80211_add_wpa (uint8_t *, const struct ieee80211vap *)
 
uint8_t * ieee80211_add_rsn (uint8_t *, const struct ieee80211vap *)
 
uint8_t * ieee80211_add_qos (uint8_t *, const struct ieee80211_node *)
 
uint16_t ieee80211_getcapinfo (struct ieee80211vap *, struct ieee80211_channel *)
 
uint8_t * ieee80211_add_wme_info (uint8_t *frm, struct ieee80211_wme_state *wme, struct ieee80211_node *ni)
 
void ieee80211_vap_reset_erp (struct ieee80211vap *)
 
void ieee80211_reset_erp (struct ieee80211com *)
 
void ieee80211_vap_set_shortslottime (struct ieee80211vap *, int onoff)
 
int ieee80211_iserp_rateset (const struct ieee80211_rateset *)
 
void ieee80211_setbasicrates (struct ieee80211_rateset *, enum ieee80211_phymode)
 
void ieee80211_addbasicrates (struct ieee80211_rateset *, enum ieee80211_phymode)
 
static __inline int ieee80211_hdrsize (const void *data)
 
static __inline int ieee80211_anyhdrsize (const void *data)
 
void ieee80211_authenticator_register (int type, const struct ieee80211_authenticator *)
 
void ieee80211_authenticator_unregister (int type)
 
const struct ieee80211_authenticatorieee80211_authenticator_get (int auth)
 
void ieee80211_aclator_register (const struct ieee80211_aclator *)
 
void ieee80211_aclator_unregister (const struct ieee80211_aclator *)
 
const struct ieee80211_aclatorieee80211_aclator_get (const char *name)
 
int ieee80211_fix_rate (struct ieee80211_node *, struct ieee80211_rateset *, int)
 
void ieee80211_wme_initparams (struct ieee80211vap *)
 
void ieee80211_wme_updateparams (struct ieee80211vap *)
 
void ieee80211_wme_updateparams_locked (struct ieee80211vap *)
 
void ieee80211_wme_vap_getparams (struct ieee80211vap *vap, struct chanAccParams *)
 
void ieee80211_wme_ic_getparams (struct ieee80211com *ic, struct chanAccParams *)
 
int ieee80211_wme_vap_ac_is_noack (struct ieee80211vap *vap, int ac)
 
void ieee80211_vap_update_preamble (struct ieee80211vap *vap)
 
void ieee80211_vap_update_erp_protmode (struct ieee80211vap *vap)
 
void ieee80211_vap_update_ht_protmode (struct ieee80211vap *vap)
 
static __inline uint8_t * ieee80211_getqos (void *data)
 
static __inline uint8_t ieee80211_gettid (const struct ieee80211_frame *wh)
 
void ieee80211_waitfor_parent (struct ieee80211com *)
 
void ieee80211_start_locked (struct ieee80211vap *)
 
void ieee80211_init (void *)
 
void ieee80211_start_all (struct ieee80211com *)
 
void ieee80211_stop_locked (struct ieee80211vap *)
 
void ieee80211_stop (struct ieee80211vap *)
 
void ieee80211_stop_all (struct ieee80211com *)
 
void ieee80211_suspend_all (struct ieee80211com *)
 
void ieee80211_resume_all (struct ieee80211com *)
 
void ieee80211_restart_all (struct ieee80211com *)
 
void ieee80211_dturbo_switch (struct ieee80211vap *, int newflags)
 
void ieee80211_swbmiss (void *arg)
 
void ieee80211_beacon_miss (struct ieee80211com *)
 
int ieee80211_new_state (struct ieee80211vap *, enum ieee80211_state, int)
 
int ieee80211_new_state_locked (struct ieee80211vap *, enum ieee80211_state, int)
 
void ieee80211_print_essid (const uint8_t *, int)
 
void ieee80211_dump_pkt (struct ieee80211com *, const uint8_t *, int, int, int)
 
struct mbuf * ieee80211_beacon_alloc (struct ieee80211_node *)
 
int ieee80211_beacon_update (struct ieee80211_node *, struct mbuf *, int mcast)
 
void ieee80211_csa_startswitch (struct ieee80211com *, struct ieee80211_channel *, int mode, int count)
 
void ieee80211_csa_completeswitch (struct ieee80211com *)
 
void ieee80211_csa_cancelswitch (struct ieee80211com *)
 
void ieee80211_cac_completeswitch (struct ieee80211vap *)
 
void ieee80211_notify_node_join (struct ieee80211_node *, int newassoc)
 
void ieee80211_notify_node_leave (struct ieee80211_node *)
 
void ieee80211_notify_scan_done (struct ieee80211vap *)
 
void ieee80211_notify_wds_discover (struct ieee80211_node *)
 
void ieee80211_notify_csa (struct ieee80211com *, const struct ieee80211_channel *, int mode, int count)
 
void ieee80211_notify_radar (struct ieee80211com *, const struct ieee80211_channel *)
 
void ieee80211_notify_cac (struct ieee80211com *, const struct ieee80211_channel *, enum ieee80211_notify_cac_event)
 
void ieee80211_notify_node_deauth (struct ieee80211_node *)
 
void ieee80211_notify_node_auth (struct ieee80211_node *)
 
void ieee80211_notify_country (struct ieee80211vap *, const uint8_t[], const uint8_t cc[2])
 
void ieee80211_notify_radio (struct ieee80211com *, int)
 
void ieee80211_notify_ifnet_change (struct ieee80211vap *)
 

Variables

const char * mgt_subtype_name []
 
const char * ctl_subtype_name []
 
const char * ieee80211_phymode_name [IEEE80211_MODE_MAX]
 
const int ieee80211_opcap [IEEE80211_OPMODE_MAX]
 
const char * ieee80211_opmode_name []
 
const char * ieee80211_state_name [IEEE80211_S_MAX]
 
const char * ieee80211_wme_acnames []
 

Macro Definition Documentation

◆ IEEE80211_F_DOBRS

#define IEEE80211_F_DOBRS   0x00000010 /* check basic rate set */

Definition at line 259 of file ieee80211_proto.h.

◆ IEEE80211_F_DODEL

#define IEEE80211_F_DODEL   0x00000008 /* delete ignore rate */

Definition at line 258 of file ieee80211_proto.h.

◆ IEEE80211_F_DOFMCS

#define IEEE80211_F_DOFMCS   0x00000040 /* use fixed HT rate */

Definition at line 261 of file ieee80211_proto.h.

◆ IEEE80211_F_DOFRATE

#define IEEE80211_F_DOFRATE   0x00000002 /* use fixed legacy rate */

Definition at line 256 of file ieee80211_proto.h.

◆ IEEE80211_F_DONEGO

#define IEEE80211_F_DONEGO   0x00000004 /* calc negotiated rate */

Definition at line 257 of file ieee80211_proto.h.

◆ IEEE80211_F_DOSORT

#define IEEE80211_F_DOSORT   0x00000001 /* sort rate list */

Definition at line 255 of file ieee80211_proto.h.

◆ IEEE80211_F_JOIN

#define IEEE80211_F_JOIN   0x00000020 /* sta joining our bss */

Definition at line 260 of file ieee80211_proto.h.

◆ ieee80211_input

#define ieee80211_input (   ni,
  m,
  rssi,
  nf 
)     ((ni)->ni_vap->iv_input(ni, m, NULL, rssi, nf))

Definition at line 85 of file ieee80211_proto.h.

◆ IEEE80211_S_MAX

#define IEEE80211_S_MAX   (IEEE80211_S_SLEEP+1)

Definition at line 47 of file ieee80211_proto.h.

◆ IEEE80211_SEND_LEGACY

#define IEEE80211_SEND_LEGACY   0x3 /* any legacy client */

Definition at line 136 of file ieee80211_proto.h.

◆ IEEE80211_SEND_LEGACY_11

#define IEEE80211_SEND_LEGACY_11   0x2 /* other legacy client */

Definition at line 135 of file ieee80211_proto.h.

◆ IEEE80211_SEND_LEGACY_11B

#define IEEE80211_SEND_LEGACY_11B   0x1 /* legacy 11b client */

Definition at line 134 of file ieee80211_proto.h.

◆ IEEE80211_SEND_MGMT

#define IEEE80211_SEND_MGMT (   _ni,
  _type,
  _arg 
)     ((*(_ni)->ni_ic->ic_send_mgmt)(_ni, _type, _arg))

Definition at line 49 of file ieee80211_proto.h.

◆ IEEE80211_TXOP_TO_US

#define IEEE80211_TXOP_TO_US (   _txop)    ((_txop)<<5)

Definition at line 276 of file ieee80211_proto.h.

◆ IEEE80211_US_TO_TXOP

#define IEEE80211_US_TO_TXOP (   _us)    ((_us)>>5)

Definition at line 277 of file ieee80211_proto.h.

◆ WME_F_AGGRMODE

#define WME_F_AGGRMODE   0x00000001 /* STATUS: WME aggressive mode */

Definition at line 286 of file ieee80211_proto.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
IEEE80211_BEACON_CAPS 
IEEE80211_BEACON_TIM 
IEEE80211_BEACON_WME 
IEEE80211_BEACON_ERP 
IEEE80211_BEACON_HTINFO 
IEEE80211_BEACON_APPIE 
IEEE80211_BEACON_CFP 
IEEE80211_BEACON_CSA 
IEEE80211_BEACON_TDMA 
IEEE80211_BEACON_ATH 
IEEE80211_BEACON_MESHCONF 
IEEE80211_BEACON_QUIET 
IEEE80211_BEACON_VHTINFO 

Definition at line 414 of file ieee80211_proto.h.

◆ ieee80211_notify_cac_event

Enumerator
IEEE80211_NOTIFY_CAC_START 
IEEE80211_NOTIFY_CAC_STOP 
IEEE80211_NOTIFY_CAC_RADAR 
IEEE80211_NOTIFY_CAC_EXPIRE 

Definition at line 451 of file ieee80211_proto.h.

◆ ieee80211_state

Enumerator
IEEE80211_S_INIT 
IEEE80211_S_SCAN 
IEEE80211_S_AUTH 
IEEE80211_S_ASSOC 
IEEE80211_S_CAC 
IEEE80211_S_RUN 
IEEE80211_S_CSA 
IEEE80211_S_SLEEP 

Definition at line 37 of file ieee80211_proto.h.

Function Documentation

◆ ieee80211_aclator_get()

const struct ieee80211_aclator * ieee80211_aclator_get ( const char *  name)

Definition at line 522 of file ieee80211_proto.c.

References acl, and ieee80211_load_module().

Referenced by ieee80211_ioctl_macmac(), and ieee80211_ioctl_setmaccmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_aclator_register()

void ieee80211_aclator_register ( const struct ieee80211_aclator iac)

Definition at line 507 of file ieee80211_proto.c.

References ieee80211_aclator::iac_name.

◆ ieee80211_aclator_unregister()

void ieee80211_aclator_unregister ( const struct ieee80211_aclator iac)

Definition at line 514 of file ieee80211_proto.c.

References ieee80211_aclator::iac_name.

◆ ieee80211_add_qos()

uint8_t * ieee80211_add_qos ( uint8_t *  frm,
const struct ieee80211_node ni 
)

◆ ieee80211_add_rates()

◆ ieee80211_add_rsn()

uint8_t * ieee80211_add_rsn ( uint8_t *  frm,
const struct ieee80211vap vap 
)

Definition at line 2400 of file ieee80211_output.c.

References add_ie(), IEEE80211_F_WPA2, ieee80211vap::iv_flags, and ieee80211vap::iv_rsn_ie.

Referenced by ieee80211_alloc_proberesp(), ieee80211_beacon_construct(), ieee80211_probereq_ie(), and ieee80211_send_mgmt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_add_ssid()

uint8_t * ieee80211_add_ssid ( uint8_t *  frm,
const uint8_t *  ssid,
u_int  len 
)

Definition at line 2094 of file ieee80211_output.c.

References IEEE80211_ELEMID_SSID.

Referenced by ieee80211_alloc_proberesp(), ieee80211_probereq_ie(), and ieee80211_send_mgmt().

Here is the caller graph for this function:

◆ ieee80211_add_wme_info()

◆ ieee80211_add_wpa()

uint8_t * ieee80211_add_wpa ( uint8_t *  frm,
const struct ieee80211vap vap 
)

Definition at line 2389 of file ieee80211_output.c.

References add_ie(), IEEE80211_F_WPA1, ieee80211vap::iv_flags, and ieee80211vap::iv_wpa_ie.

Referenced by ieee80211_alloc_proberesp(), ieee80211_beacon_construct(), ieee80211_probereq_ie(), and ieee80211_send_mgmt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_add_xrates()

◆ ieee80211_addbasicrates()

void ieee80211_addbasicrates ( struct ieee80211_rateset rs,
enum  ieee80211_phymode 
)

Definition at line 1351 of file ieee80211_proto.c.

References setbasicrates().

Referenced by ieee80211_create_ibss().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_allmulti()

void ieee80211_allmulti ( struct ieee80211vap vap,
bool  on 
)

Definition at line 830 of file ieee80211.c.

References ieee80211com::ic_allmulti, ieee80211com::ic_mcast_task, IEEE80211_LOCK_ASSERT, ieee80211_runtask(), and ieee80211vap::iv_ic.

Referenced by ieee80211_ioctl(), and ieee80211_vap_detach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_alloc_cts()

struct mbuf * ieee80211_alloc_cts ( struct ieee80211com ic,
const uint8_t  ra[IEEE80211_ADDR_LEN],
uint16_t  dur 
)

◆ ieee80211_alloc_proberesp()

struct mbuf * ieee80211_alloc_proberesp ( struct ieee80211_node bss,
int  legacy 
)

Definition at line 3055 of file ieee80211_output.c.

References add_appie(), ieee80211com::ic_bsschan, ieee80211com::ic_flags, ieee80211com::ic_headroom, ieee80211com::ic_wme, ieee80211_appie::ie_len, ieee80211_add_athcaps(), ieee80211_add_countryie(), ieee80211_add_csa(), ieee80211_add_erp(), ieee80211_add_htcap(), ieee80211_add_htcap_vendor(), ieee80211_add_htinfo(), ieee80211_add_htinfo_vendor(), ieee80211_add_meshconf(), ieee80211_add_meshid(), ieee80211_add_powerconstraint(), ieee80211_add_quiet(), ieee80211_add_rates(), ieee80211_add_rsn(), ieee80211_add_ssid(), ieee80211_add_vhtcap(), ieee80211_add_vhtinfo(), ieee80211_add_wme_param(), ieee80211_add_wpa(), ieee80211_add_xrates(), ieee80211_chan2ieee(), IEEE80211_COUNTRY_MAX_SIZE, IEEE80211_ELEMID_DSPARMS, IEEE80211_ELEMID_FHPARMS, IEEE80211_ELEMID_IBSSPARMS, IEEE80211_F_ATHEROS, IEEE80211_F_CSAPENDING, IEEE80211_F_DOTH, IEEE80211_F_WME, IEEE80211_FEXT_DFS, IEEE80211_FEXT_DOTD, IEEE80211_FEXT_UAPSD, IEEE80211_FH_CHANPAT, IEEE80211_FH_CHANSET, IEEE80211_FHT_HTCOMPAT, ieee80211_get_suprates(), ieee80211_getcapinfo(), ieee80211_getmgtframe(), IEEE80211_IS_CHAN_5GHZ, IEEE80211_IS_CHAN_ANYG, IEEE80211_IS_CHAN_DFS, IEEE80211_IS_CHAN_FHSS, IEEE80211_IS_CHAN_HT, IEEE80211_IS_CHAN_VHT, IEEE80211_M_IBSS, IEEE80211_M_MBSS, IEEE80211_MESHID_LEN, IEEE80211_NWID_LEN, IEEE80211_RATE_MAXSIZE, IEEE80211_RATE_SIZE, IEEE80211_SEND_LEGACY_11B, ieee80211_stats::is_tx_nobuf, ieee80211vap::iv_appie_proberesp, ieee80211vap::iv_flags, ieee80211vap::iv_flags_ext, ieee80211vap::iv_flags_ht, ieee80211vap::iv_opmode, ieee80211vap::iv_quiet, ieee80211vap::iv_stats, ieee80211_node::ni_chan, ieee80211_node::ni_essid, ieee80211_node::ni_esslen, ieee80211_node::ni_fhdwell, ieee80211_node::ni_fhindex, ieee80211_node::ni_ic, ieee80211_node::ni_intval, and ieee80211_node::ni_vap.

Referenced by ieee80211_send_proberesp().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_alloc_prot()

◆ ieee80211_alloc_rts()

struct mbuf * ieee80211_alloc_rts ( struct ieee80211com ic,
const uint8_t  ra[IEEE80211_ADDR_LEN],
const uint8_t  ta[IEEE80211_ADDR_LEN],
uint16_t  dur 
)

◆ ieee80211_anyhdrsize()

static __inline int ieee80211_anyhdrsize ( const void *  data)
static

◆ ieee80211_authenticator_get()

const struct ieee80211_authenticator * ieee80211_authenticator_get ( int  auth)

Definition at line 473 of file ieee80211_proto.c.

References auth_modnames, authenticators, IEEE80211_AUTH_MAX, and ieee80211_load_module().

Referenced by ieee80211_ioctl_set80211(), and ieee80211_node_latevattach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_authenticator_register()

void ieee80211_authenticator_register ( int  type,
const struct ieee80211_authenticator auth 
)

Definition at line 483 of file ieee80211_proto.c.

References authenticators, and IEEE80211_AUTH_MAX.

Referenced by ieee80211_auth_setup().

Here is the caller graph for this function:

◆ ieee80211_authenticator_unregister()

void ieee80211_authenticator_unregister ( int  type)

Definition at line 492 of file ieee80211_proto.c.

References authenticators, and IEEE80211_AUTH_MAX.

◆ ieee80211_beacon_alloc()

◆ ieee80211_beacon_miss()

void ieee80211_beacon_miss ( struct ieee80211com ic)

Definition at line 2199 of file ieee80211_proto.c.

References ieee80211com::ic_bmiss_task, ieee80211com::ic_flags, IEEE80211_F_SCAN, IEEE80211_LOCK, ieee80211_runtask(), and IEEE80211_UNLOCK.

Here is the call graph for this function:

◆ ieee80211_beacon_update()

int ieee80211_beacon_update ( struct ieee80211_node ni,
struct mbuf *  m,
int  mcast 
)

Definition at line 3774 of file ieee80211_output.c.

References add_appie(), ieee80211_beacon_offsets::bo_appie, ieee80211_beacon_offsets::bo_appie_len, ieee80211_beacon_offsets::bo_ath, ieee80211_beacon_offsets::bo_caps, ieee80211_beacon_offsets::bo_csa, ieee80211_beacon_offsets::bo_csa_trailer_len, ieee80211_beacon_offsets::bo_erp, ieee80211_beacon_offsets::bo_flags, ieee80211_beacon_offsets::bo_htinfo, ieee80211_beacon_offsets::bo_meshconf, ieee80211_beacon_offsets::bo_quiet, ieee80211_beacon_offsets::bo_tdma, ieee80211_beacon_offsets::bo_tim, ieee80211_beacon_offsets::bo_tim_len, ieee80211_beacon_offsets::bo_tim_trailer, ieee80211_beacon_offsets::bo_tim_trailer_len, ieee80211_beacon_offsets::bo_vhtinfo, ieee80211_beacon_offsets::bo_wme, ieee80211_csa_ie::csa_count, ieee80211_frame::i_seq, ieee80211com::ic_bsschan, ieee80211com::ic_csa_count, ieee80211com::ic_csa_newchan, ieee80211com::ic_wme, ieee80211_appie::ie_len, ieee80211_add_athcaps(), ieee80211_add_csa(), ieee80211_add_erp(), ieee80211_add_quiet(), ieee80211_add_wme_param(), IEEE80211_BEACON_APPIE, IEEE80211_BEACON_ATH, ieee80211_beacon_construct(), IEEE80211_BEACON_CSA, IEEE80211_BEACON_ERP, IEEE80211_BEACON_HTINFO, IEEE80211_BEACON_TIM, IEEE80211_BEACON_WME, IEEE80211_C_TDMA, ieee80211_csa_completeswitch(), IEEE80211_DPRINTF, IEEE80211_F_WME, IEEE80211_FEXT_DFS, IEEE80211_FEXT_QUIET_IE, IEEE80211_FEXT_UAPSD, ieee80211_getcapinfo(), ieee80211_ht_update_beacon(), IEEE80211_IS_CHAN_DFS, IEEE80211_LOCK, IEEE80211_M_HOSTAP, IEEE80211_M_MBSS, ieee80211_mesh_update_beacon(), IEEE80211_MSG_POWER, IEEE80211_MSG_WME, IEEE80211_NONQOS_TID, IEEE80211_SEQ_SEQ_SHIFT, ieee80211_tdma_update_beacon(), IEEE80211_UNLOCK, ieee80211_wme_updateparams_locked(), ieee80211vap::iv_appie_beacon, ieee80211vap::iv_bcn_off, ieee80211vap::iv_caps, ieee80211vap::iv_csa_count, ieee80211vap::iv_flags, ieee80211vap::iv_flags_ext, ieee80211vap::iv_opmode, ieee80211vap::iv_ps_pending, ieee80211vap::iv_quiet, ieee80211vap::iv_tim_bitmap, ieee80211vap::iv_tim_len, M_SEQNO_SET, ieee80211_node::ni_chan, ieee80211_node::ni_ic, ieee80211_node::ni_txseqs, ieee80211_node::ni_vap, ieee80211_tim_ie::tim_bitctl, ieee80211_tim_ie::tim_bitmap, ieee80211_tim_ie::tim_count, ieee80211_tim_ie::tim_len, ieee80211_tim_ie::tim_period, WME_F_AGGRMODE, ieee80211_wme_state::wme_flags, ieee80211_wme_state::wme_hipri_switch_hysteresis, ieee80211_wme_state::wme_hipri_switch_thresh, and ieee80211_wme_state::wme_hipri_traffic.

Here is the call graph for this function:

◆ ieee80211_cac_completeswitch()

void ieee80211_cac_completeswitch ( struct ieee80211vap vap0)

Definition at line 2381 of file ieee80211_proto.c.

References IEEE80211_LOCK, ieee80211_new_state_locked(), IEEE80211_S_CAC, IEEE80211_S_RUN, IEEE80211_UNLOCK, ieee80211vap::iv_ic, and ieee80211vap::iv_state.

Referenced by cac_timeout().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_classify()

◆ ieee80211_csa_cancelswitch()

void ieee80211_csa_cancelswitch ( struct ieee80211com ic)

Definition at line 2369 of file ieee80211_proto.c.

References csa_completeswitch(), and IEEE80211_LOCK_ASSERT.

Referenced by ieee80211_ioctl_chanswitch(), ieee80211_parse_csaparams(), and sta_recv_mgmt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_csa_completeswitch()

void ieee80211_csa_completeswitch ( struct ieee80211com ic)

◆ ieee80211_csa_startswitch()

◆ ieee80211_ctl_subtype_name()

static __inline const char * ieee80211_ctl_subtype_name ( uint8_t  subtype)
static

◆ ieee80211_dturbo_switch()

void ieee80211_dturbo_switch ( struct ieee80211vap ,
int  newflags 
)

Referenced by sta_beacon_miss().

Here is the caller graph for this function:

◆ ieee80211_dump_pkt()

◆ ieee80211_encap()

struct mbuf * ieee80211_encap ( struct ieee80211vap vap,
struct ieee80211_node ni,
struct mbuf *  m 
)

Definition at line 1464 of file ieee80211_output.c.

References chanAccParams::cap_wmeParams, ETHER_HEADER_COPY, ieee80211_frame::i_addr1, ieee80211_frame::i_addr2, ieee80211_frame::i_addr3, ieee80211_frame::i_dur, ieee80211_frame::i_fc, ieee80211_frame::i_seq, ieee80211com::ic_flags, ieee80211_cipher::ic_header, ieee80211com::ic_wme, IEEE80211_ADDR_COPY, IEEE80211_ADDR_EQ, IEEE80211_ADDR_LEN, ieee80211_amsdu_encap(), ieee80211_amsdu_tx_ok(), IEEE80211_C_TXFRAG, IEEE80211_CONF_FRAG_OFFLOAD, ieee80211_crypto_enmic(), ieee80211_crypto_getmcastkey(), ieee80211_crypto_getucastkey(), IEEE80211_DPRINTF, IEEE80211_F_DATAPAD, IEEE80211_F_PRIVACY, IEEE80211_F_WPA, IEEE80211_FC0_SUBTYPE_QOS, IEEE80211_FC0_TYPE_DATA, IEEE80211_FC0_VERSION_0, IEEE80211_FC1_DIR_DSTODS, IEEE80211_FC1_DIR_FROMDS, IEEE80211_FC1_DIR_NODS, IEEE80211_FC1_DIR_TODS, IEEE80211_FC1_MORE_DATA, IEEE80211_FC1_PROTECTED, IEEE80211_FEXT_4ADDR, IEEE80211_FEXT_WDSLEGACY, ieee80211_ff_encap(), ieee80211_fragment(), IEEE80211_IS_MULTICAST, IEEE80211_KEY_UNDEFINED, IEEE80211_M_AHDEMO, IEEE80211_M_HOSTAP, IEEE80211_M_IBSS, IEEE80211_M_MBSS, IEEE80211_M_STA, IEEE80211_M_WDS, ieee80211_mbuf_adjust(), IEEE80211_MESH_AE_00, IEEE80211_MESH_AE_01, IEEE80211_MESH_AE_10, ieee80211_mesh_rt_find(), IEEE80211_MESHRT_FLAGS_PROXY, IEEE80211_MSG_CRYPTO, IEEE80211_MSG_MESH, IEEE80211_MSG_OUTPUT, IEEE80211_MSG_SUPERG, IEEE80211_NODE_HT, IEEE80211_NODE_QOS, IEEE80211_NODE_STAT, IEEE80211_NODE_STAT_ADD, IEEE80211_NONQOS_TID, IEEE80211_NOTE_MAC, IEEE80211_QOS_ACKPOLICY_NOACK, IEEE80211_QOS_AMSDU, IEEE80211_QOS_MC, IEEE80211_QOS_TID, IEEE80211_SEQ_SEQ_SHIFT, IEEE80211_TX_LOCK_ASSERT, ieee80211_stats::is_crypto_enmicfail, ieee80211_stats::is_tx_nobuf, ieee80211_stats::is_tx_nodefkey, ieee80211vap::iv_bss, ieee80211vap::iv_caps, ieee80211vap::iv_def_txkey, ieee80211vap::iv_flags, ieee80211vap::iv_flags_ext, ieee80211vap::iv_fragthreshold, ieee80211vap::iv_mesh, ieee80211vap::iv_myaddr, ieee80211vap::iv_opmode, ieee80211vap::iv_stats, M_AMPDU_MPDU, M_EAPOL, M_ENCAP, M_FF, M_MORE_DATA, M_SEQNO_SET, M_WME_GETAC, MC01, ieee80211_meshcntl_ae10::mc_addr5, ieee80211_meshcntl_ae10::mc_addr6, ieee80211_meshcntl_ae10::mc_flags, ieee80211_meshcntl_ae10::mc_seq, ieee80211_meshcntl_ae10::mc_ttl, ieee80211_mesh_state::ms_seq, ieee80211_mesh_state::ms_ttl, ieee80211_node::ni_bssid, ieee80211_node::ni_flags, ieee80211_node::ni_ic, ieee80211_node::ni_macaddr, ieee80211_node::ni_txseqs, ieee80211_node::ni_ucastkey, ieee80211_mesh_route::rt_flags, ieee80211_mesh_route::rt_mesh_gate, ieee80211_mesh_route::rt_nexthop, WH4, ieee80211_key::wk_cipher, WME_AC_TO_TID, ieee80211_wme_state::wme_wmeChanParams, and wmeParams::wmep_noackPolicy.

Referenced by ieee80211_dwds_mcast(), and ieee80211_vap_pkt_send_dest().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_ff_encap1()

struct mbuf * ieee80211_ff_encap1 ( struct ieee80211vap vap,
struct mbuf *  m,
const struct ether_header *  eh 
)

◆ ieee80211_fix_rate()

◆ ieee80211_free_mbuf()

void ieee80211_free_mbuf ( struct mbuf *  m)

Definition at line 1940 of file ieee80211_output.c.

Referenced by ieee80211_fragment(), and ieee80211_parent_xmitpkt().

Here is the caller graph for this function:

◆ ieee80211_getcapinfo()

◆ ieee80211_getqos()

static __inline uint8_t * ieee80211_getqos ( void *  data)
static

Definition at line 316 of file ieee80211_proto.h.

References IEEE80211_IS_DSTODS, and IEEE80211_QOS_HAS_SEQ.

Referenced by adhoc_input(), hostap_input(), ieee80211_ampdu_reorder(), ieee80211_fragment(), mesh_input(), sta_input(), and wds_input().

Here is the caller graph for this function:

◆ ieee80211_gettid()

static __inline uint8_t ieee80211_gettid ( const struct ieee80211_frame wh)
static

◆ ieee80211_hdrsize()

static __inline int ieee80211_hdrsize ( const void *  data)
static

◆ ieee80211_init()

void ieee80211_init ( void *  arg)

Definition at line 2054 of file ieee80211_proto.c.

References IEEE80211_DPRINTF, IEEE80211_LOCK, IEEE80211_MSG_DEBUG, IEEE80211_MSG_STATE, ieee80211_start_locked(), IEEE80211_UNLOCK, and ieee80211vap::iv_ic.

Referenced by bpf_track(), ieee80211_ioctl_set80211(), ieee80211_vap_setup(), and wlan_iflladdr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_input_all()

int ieee80211_input_all ( struct ieee80211com ic,
struct mbuf *  m,
int  rssi,
int  nf 
)

◆ ieee80211_input_mimo()

int ieee80211_input_mimo ( struct ieee80211_node ni,
struct mbuf *  m 
)

Definition at line 88 of file ieee80211_input.c.

References ieee80211_rx_stats::c_nf, ieee80211_rx_stats::c_rssi, ieee80211_get_rx_params(), ieee80211_process_mimo(), ieee80211vap::iv_input, and ieee80211_node::ni_vap.

Referenced by ieee80211_input_mimo_all().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_input_mimo_all()

int ieee80211_input_mimo_all ( struct ieee80211com ic,
struct mbuf *  m 
)

Definition at line 120 of file ieee80211_input.c.

References ieee80211_free_node(), ieee80211_input_mimo(), IEEE80211_M_WDS, ieee80211_ref_node(), IEEE80211_S_INIT, ieee80211vap::iv_bss, ieee80211vap::iv_opmode, and ieee80211vap::iv_state.

Referenced by ieee80211_input_all().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_iserp_rateset()

int ieee80211_iserp_rateset ( const struct ieee80211_rateset rs)

◆ ieee80211_mbuf_adjust()

struct mbuf * ieee80211_mbuf_adjust ( struct ieee80211vap vap,
int  hdrsize,
struct ieee80211_key key,
struct mbuf *  m 
)

◆ ieee80211_mgmt_output()

◆ ieee80211_mgt_subtype_name()

static __inline const char * ieee80211_mgt_subtype_name ( uint8_t  subtype)
static

◆ ieee80211_new_state()

int ieee80211_new_state ( struct ieee80211vap vap,
enum  ieee80211_state,
int  arg 
)

◆ ieee80211_new_state_locked()

◆ ieee80211_notify_cac()

void ieee80211_notify_cac ( struct ieee80211com ic,
const struct ieee80211_channel c,
enum  ieee80211_notify_cac_event 
)

◆ ieee80211_notify_country()

void ieee80211_notify_country ( struct ieee80211vap ,
const uint8_t  [],
const uint8_t  cc[2] 
)

◆ ieee80211_notify_csa()

◆ ieee80211_notify_ifnet_change()

void ieee80211_notify_ifnet_change ( struct ieee80211vap vap)

Definition at line 1018 of file ieee80211_freebsd.c.

References IEEE80211_DPRINTF, IEEE80211_MSG_DEBUG, and ieee80211vap::iv_ifp.

Referenced by ieee80211_start_locked(), and ieee80211_stop_locked().

Here is the caller graph for this function:

◆ ieee80211_notify_node_auth()

void ieee80211_notify_node_auth ( struct ieee80211_node ni)

Definition at line 974 of file ieee80211_freebsd.c.

References IEEE80211_MSG_NODE, IEEE80211_NOTE, ieee80211vap::iv_ifp, ieee80211_node::ni_macaddr, ieee80211_node::ni_vap, notify_macaddr(), and RTM_IEEE80211_AUTH.

Referenced by hostap_auth_open(), and hostap_auth_shared().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_notify_node_deauth()

void ieee80211_notify_node_deauth ( struct ieee80211_node ni)

◆ ieee80211_notify_node_join()

void ieee80211_notify_node_join ( struct ieee80211_node ni,
int  newassoc 
)

◆ ieee80211_notify_node_leave()

void ieee80211_notify_node_leave ( struct ieee80211_node ni)

Definition at line 801 of file ieee80211_freebsd.c.

References IEEE80211_MSG_NODE, IEEE80211_NOTE, ieee80211vap::iv_bss, ieee80211vap::iv_ifp, ieee80211_node::ni_macaddr, ieee80211_node::ni_vap, notify_macaddr(), RTM_IEEE80211_DISASSOC, and RTM_IEEE80211_LEAVE.

Referenced by ieee80211_sta_leave().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_notify_radar()

◆ ieee80211_notify_radio()

void ieee80211_notify_radio ( struct ieee80211com ic,
int  state 
)

◆ ieee80211_notify_scan_done()

void ieee80211_notify_scan_done ( struct ieee80211vap vap)

Definition at line 821 of file ieee80211_freebsd.c.

References IEEE80211_DPRINTF, IEEE80211_MSG_SCAN, ieee80211vap::iv_ifp, and RTM_IEEE80211_SCAN.

Referenced by ieee80211_swscan_check_scan(), and scan_done().

Here is the caller graph for this function:

◆ ieee80211_notify_wds_discover()

void ieee80211_notify_wds_discover ( struct ieee80211_node ni)

Definition at line 891 of file ieee80211_freebsd.c.

References ieee80211vap::iv_ifp, ieee80211_node::ni_macaddr, ieee80211_node::ni_vap, notify_macaddr(), and RTM_IEEE80211_WDS.

Referenced by ieee80211_dwds_discover().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_output()

◆ ieee80211_print_essid()

void ieee80211_print_essid ( const uint8_t *  essid,
int  len 
)

Definition at line 530 of file ieee80211_proto.c.

References IEEE80211_NWID_LEN.

Referenced by adhoc_newstate(), hostap_newstate(), match_bss(), mesh_newstate(), and sta_newstate().

Here is the caller graph for this function:

◆ ieee80211_probereq_ie()

int ieee80211_probereq_ie ( struct ieee80211vap vap,
struct ieee80211com ic,
uint8_t **  frmp,
uint32_t *  frmlen,
const uint8_t *  ssid,
size_t  ssidlen,
bool  alloc 
)

◆ ieee80211_promisc()

void ieee80211_promisc ( struct ieee80211vap vap,
bool  on 
)

Definition at line 808 of file ieee80211.c.

References ieee80211com::ic_promisc, ieee80211com::ic_promisc_task, IEEE80211_LOCK_ASSERT, ieee80211_runtask(), and ieee80211vap::iv_ic.

Referenced by ieee80211_ioctl(), and ieee80211_vap_detach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_proto_attach()

◆ ieee80211_proto_detach()

void ieee80211_proto_detach ( struct ieee80211com ic)

Definition at line 308 of file ieee80211_proto.c.

References ieee80211_adhoc_detach(), ieee80211_hostap_detach(), ieee80211_mesh_detach(), ieee80211_monitor_detach(), ieee80211_sta_detach(), and ieee80211_wds_detach().

Referenced by ieee80211_ifdetach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_proto_vattach()

void ieee80211_proto_vattach ( struct ieee80211vap vap)

Definition at line 326 of file ieee80211_proto.c.

References beacon_swmiss(), ieee80211com::ic_headroom, ieee80211com::ic_modecaps, ieee80211com::ic_sup_rates, ieee80211com::ic_vattach, IEEE80211_BMISS_MAX, ieee80211_deliver_data(), IEEE80211_FIXED_RATE_NONE, IEEE80211_FRAG_DEFAULT, IEEE80211_LOCK_OBJ, IEEE80211_MODE_11A, IEEE80211_MODE_11NA, IEEE80211_MODE_11NG, IEEE80211_MODE_MAX, ieee80211_newstate_cb(), IEEE80211_PROT_CTSONLY, IEEE80211_RATE_MCS, IEEE80211_RATE_VAL, IEEE80211_ROAMING_AUTO, IEEE80211_RTS_DEFAULT, IEEE80211_TXMAX_DEFAULT, IEEE80211_WEP_EXTIVLEN, IEEE80211_WEP_IVLEN, IEEE80211_WEP_KIDLEN, ieee80211vap::iv_bmiss_max, ieee80211vap::iv_deliver_data, ieee80211vap::iv_erp_protmode_task, ieee80211vap::iv_fragthreshold, ieee80211vap::iv_ht_protmode_task, ieee80211vap::iv_ic, ieee80211vap::iv_ifp, ieee80211vap::iv_mgtsend, ieee80211vap::iv_nstate_task, ieee80211vap::iv_opmode, ieee80211vap::iv_preamble_task, ieee80211vap::iv_protmode, ieee80211vap::iv_roaming, ieee80211vap::iv_rtsthreshold, ieee80211vap::iv_slot_task, ieee80211vap::iv_swbmiss, ieee80211vap::iv_swbmiss_task, ieee80211vap::iv_txparms, ieee80211vap::iv_update_beacon, ieee80211vap::iv_wme_task, ieee80211_txparam::maxretry, ieee80211_txparam::mcastrate, ieee80211_txparam::mgmtrate, null_update_beacon(), ieee80211_rateset::rs_rates, ieee80211_txparam::ucastrate, vap_update_erp_protmode(), vap_update_ht_protmode(), vap_update_preamble(), vap_update_slot(), and vap_update_wme().

Referenced by ieee80211_vap_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_proto_vdetach()

◆ ieee80211_raw_output()

int ieee80211_raw_output ( struct ieee80211vap vap,
struct ieee80211_node ni,
struct mbuf *  m,
const struct ieee80211_bpf_params params 
)

◆ ieee80211_raw_xmit()

int ieee80211_raw_xmit ( struct ieee80211_node ,
struct mbuf *  ,
const struct ieee80211_bpf_params  
)

◆ ieee80211_reason_to_string()

const char * ieee80211_reason_to_string ( uint16_t  reason)

Definition at line 112 of file ieee80211_proto.c.

References IEEE80211_REASON_4WAY_HANDSHAKE_TIMEOUT, IEEE80211_REASON_802_1X_AUTH_FAILED, IEEE80211_REASON_AKMP_INVALID, IEEE80211_REASON_ASSOC_EXPIRE, IEEE80211_REASON_ASSOC_LEAVE, IEEE80211_REASON_ASSOC_NOT_AUTHED, IEEE80211_REASON_ASSOC_TOOMANY, IEEE80211_REASON_AUTH_EXPIRE, IEEE80211_REASON_AUTH_LEAVE, IEEE80211_REASON_BAD_MECHANISM, IEEE80211_REASON_CIPHER_SUITE_REJECTED, IEEE80211_REASON_DISASSOC_PWRCAP_BAD, IEEE80211_REASON_DISASSOC_SUPCHAN_BAD, IEEE80211_REASON_GROUP_CIPHER_INVALID, IEEE80211_REASON_GROUP_KEY_UPDATE_TIMEOUT, IEEE80211_REASON_IE_IN_4WAY_DIFFERS, IEEE80211_REASON_IE_INVALID, IEEE80211_REASON_INSUFFICIENT_BW, IEEE80211_REASON_INVALID_RSN_IE_CAP, IEEE80211_REASON_LEAVING_QBSS, IEEE80211_REASON_MESH_CHAN_SWITCH_REG, IEEE80211_REASON_MESH_CHAN_SWITCH_UNSPEC, IEEE80211_REASON_MESH_CLOSE_RCVD, IEEE80211_REASON_MESH_CONFIRM_TIMEOUT, IEEE80211_REASON_MESH_CPVIOLATION, IEEE80211_REASON_MESH_INCONS_PARAMS, IEEE80211_REASON_MESH_INVALID_GTK, IEEE80211_REASON_MESH_INVALID_SECURITY, IEEE80211_REASON_MESH_MAC_ALRDY_EXISTS_MBSS, IEEE80211_REASON_MESH_MAX_PEERS, IEEE80211_REASON_MESH_MAX_RETRIES, IEEE80211_REASON_MESH_PERR_DEST_UNREACH, IEEE80211_REASON_MESH_PERR_NO_FI, IEEE80211_REASON_MESH_PERR_NO_PROXY, IEEE80211_REASON_MIC_FAILURE, IEEE80211_REASON_NOT_ASSOCED, IEEE80211_REASON_NOT_AUTHED, IEEE80211_REASON_OUTSIDE_TXOP, IEEE80211_REASON_PAIRWISE_CIPHER_INVALID, IEEE80211_REASON_PEER_LINK_CANCELED, IEEE80211_REASON_SETUP_NEEDED, IEEE80211_REASON_TIMEOUT, IEEE80211_REASON_TOOMANY_FRAMES, IEEE80211_REASON_UNSPECIFIED, IEEE80211_REASON_UNSPECIFIED_QOS, and IEEE80211_REASON_UNSUPP_RSN_IE_VERSION.

Referenced by hostap_recv_mgmt(), ht_send_action_ba_delba(), ieee80211_ampdu_stop(), ieee80211_send_mgmt(), mesh_send_action_meshpeering_close(), mlmedebug(), and sta_recv_mgmt().

Here is the caller graph for this function:

◆ ieee80211_reset_erp()

void ieee80211_reset_erp ( struct ieee80211com ic)

◆ ieee80211_restart_all()

void ieee80211_restart_all ( struct ieee80211com ic)

Definition at line 2189 of file ieee80211_proto.c.

References ieee80211com::ic_restart_task.

Referenced by ieee80211_sysctl_vap_restart().

Here is the caller graph for this function:

◆ ieee80211_resume_all()

void ieee80211_resume_all ( struct ieee80211com ic)

Definition at line 2169 of file ieee80211_proto.c.

References IEEE80211_FEXT_RESUME, IEEE80211_LOCK, ieee80211_start_locked(), IEEE80211_UNLOCK, IFNET_IS_UP_RUNNING, ieee80211vap::iv_flags_ext, and ieee80211vap::iv_ifp.

Referenced by restart_vaps().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_send_mgmt()

int ieee80211_send_mgmt ( struct ieee80211_node ni,
int  type,
int  arg 
)

Definition at line 2682 of file ieee80211_output.c.

References add_appie(), ieee80211_ies::htcap_ie, HTFLAGS, ieee80211_bpf_params::ibp_flags, ieee80211_bpf_params::ibp_power, ieee80211_bpf_params::ibp_pri, ieee80211_bpf_params::ibp_rate0, ieee80211_bpf_params::ibp_try0, ieee80211com::ic_caps, ieee80211com::ic_curchan, ieee80211com::ic_flags, ieee80211com::ic_headroom, ieee80211com::ic_lintval, ieee80211com::ic_wme, ieee80211_appie::ie_len, ieee80211_add_ath(), ieee80211_add_callback(), ieee80211_add_htcap(), ieee80211_add_htcap_vendor(), ieee80211_add_htinfo(), ieee80211_add_htinfo_vendor(), ieee80211_add_powercapability(), ieee80211_add_rates(), ieee80211_add_rsn(), ieee80211_add_ssid(), ieee80211_add_supportedchannels(), ieee80211_add_vhtcap(), ieee80211_add_vhtinfo(), ieee80211_add_wme_info(), ieee80211_add_wme_param(), ieee80211_add_wpa(), ieee80211_add_xrates(), IEEE80211_ADDR_COPY, IEEE80211_ADDR_LEN, IEEE80211_ATH_CAP, IEEE80211_AUTH_8021X, IEEE80211_AUTH_ALG_OPEN, IEEE80211_AUTH_ALG_SHARED, IEEE80211_AUTH_SHARED, IEEE80211_AUTH_SHARED_CHALLENGE, IEEE80211_AUTH_SHARED_REQUEST, IEEE80211_AUTH_SHARED_RESPONSE, IEEE80211_BPF_CRYPTO, IEEE80211_C_SHSLOT, IEEE80211_CAPINFO_ESS, IEEE80211_CAPINFO_PRIVACY, IEEE80211_CAPINFO_SHORT_PREAMBLE, IEEE80211_CAPINFO_SHORT_SLOTTIME, IEEE80211_CAPINFO_SPECTRUM_MGMT, IEEE80211_CHALLENGE_LEN, IEEE80211_DPRINTF, IEEE80211_ELEMID_CHALLENGE, IEEE80211_ELEMID_HTCAP, IEEE80211_ELEMID_VENDOR, IEEE80211_ELEMID_VHT_CAP, IEEE80211_F_ATHEROS, IEEE80211_F_DOTH, IEEE80211_F_PRIVACY, IEEE80211_F_SHPREAMBLE, IEEE80211_F_WME, IEEE80211_F_WPA, IEEE80211_FC0_SUBTYPE_ASSOC_REQ, IEEE80211_FC0_SUBTYPE_ASSOC_RESP, IEEE80211_FC0_SUBTYPE_AUTH, IEEE80211_FC0_SUBTYPE_DEAUTH, IEEE80211_FC0_SUBTYPE_DISASSOC, IEEE80211_FC0_SUBTYPE_REASSOC_REQ, IEEE80211_FC0_SUBTYPE_REASSOC_RESP, IEEE80211_FEXT_UAPSD, IEEE80211_FHT_HT, ieee80211_free_node(), IEEE80211_FVHT_VHT, ieee80211_getcapinfo(), ieee80211_getmgtframe(), IEEE80211_IS_CHAN_2GHZ, IEEE80211_IS_CHAN_ANYG, IEEE80211_IS_CHAN_HT, IEEE80211_IS_CHAN_VHT, IEEE80211_KEYIX_NONE, IEEE80211_M_STA, ieee80211_mgmt_output(), IEEE80211_MSG_ANY, IEEE80211_MSG_ASSOC, IEEE80211_MSG_AUTH, IEEE80211_MSG_NODE, IEEE80211_NODE_HT, ieee80211_node_refcnt, IEEE80211_NODE_STAT, IEEE80211_NODE_STAT_SET, ieee80211_node_unauthorize(), IEEE80211_NODE_VHT, IEEE80211_NOTE, IEEE80211_NWID_LEN, IEEE80211_RATE_MAXSIZE, IEEE80211_RATE_SIZE, ieee80211_reason_to_string(), ieee80211_ref_node(), IEEE80211_STATUS_SUCCESS, ieee80211_tx_mgt_cb(), ieee80211vap::iv_appie_assocreq, ieee80211vap::iv_appie_assocresp, ieee80211vap::iv_appie_wpa, ieee80211vap::iv_bss, ieee80211vap::iv_def_txkey, ieee80211vap::iv_flags, ieee80211vap::iv_flags_ext, ieee80211vap::iv_flags_ht, ieee80211vap::iv_flags_vht, ieee80211vap::iv_opmode, ieee80211vap::iv_state, ieee80211_txparam::maxretry, ieee80211_txparam::mgmtrate, ieee80211_node::ni_associd, ieee80211_node::ni_authmode, ieee80211_node::ni_bssid, ieee80211_node::ni_capinfo, ieee80211_node::ni_challenge, ieee80211_node::ni_chan, ieee80211_node::ni_essid, ieee80211_node::ni_esslen, ieee80211_node::ni_flags, ieee80211_node::ni_ic, ieee80211_node::ni_ies, ieee80211_node::ni_intval, ieee80211_node::ni_macaddr, ieee80211_node::ni_rates, ieee80211_node::ni_txparms, ieee80211_node::ni_txpower, ieee80211_node::ni_vap, senderr, ieee80211_ies::vhtcap_ie, WME_AC_VO, and ieee80211_ies::wme_ie.

Referenced by ieee80211_proto_attach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_send_nulldata()

int ieee80211_send_nulldata ( struct ieee80211_node ni)

Definition at line 1095 of file ieee80211_output.c.

References chanAccParams::cap_wmeParams, ieee80211_frame::i_fc, ieee80211com::ic_curchan, ieee80211com::ic_flags, ieee80211com::ic_headroom, ieee80211com::ic_wme, ieee80211_add_callback(), IEEE80211_ADDR_LEN, ieee80211_chan2ieee(), IEEE80211_F_DATAPAD, IEEE80211_F_SCAN, IEEE80211_FC0_SUBTYPE_NODATA, IEEE80211_FC0_SUBTYPE_QOS_NULL, IEEE80211_FC0_TYPE_DATA, IEEE80211_FC1_PWR_MGT, ieee80211_free_node(), ieee80211_getmgtframe(), IEEE80211_M_HOSTAP, IEEE80211_M_WDS, IEEE80211_MSG_DEBUG, IEEE80211_MSG_DOTH, IEEE80211_MSG_DUMPPKTS, IEEE80211_MSG_OUTPUT, IEEE80211_NODE_HT, IEEE80211_NODE_PWR_MGT, IEEE80211_NODE_QOS, IEEE80211_NODE_STAT, IEEE80211_NONQOS_TID, IEEE80211_NOTE, ieee80211_nulldata_transmitted(), IEEE80211_QOS_ACKPOLICY_NOACK, IEEE80211_QOS_TID, ieee80211_raw_output(), IEEE80211_S_CAC, ieee80211_send_setup(), IEEE80211_TX_LOCK, IEEE80211_TX_UNLOCK, ieee80211_unref_node(), ieee80211_stats::is_tx_badstate, ieee80211_stats::is_tx_nobuf, ieee80211vap::iv_myaddr, ieee80211vap::iv_opmode, ieee80211vap::iv_state, ieee80211vap::iv_stats, M_ENCAP, M_WME_SETAC, ieee80211_node::ni_bssid, ieee80211_node::ni_flags, ieee80211_node::ni_ic, ieee80211_node::ni_macaddr, ieee80211_node::ni_vap, WME_AC_BE, WME_AC_TO_TID, ieee80211_wme_state::wme_wmeChanParams, and wmeParams::wmep_noackPolicy.

Referenced by ieee80211_recv_pspoll(), ieee80211_sta_pwrsave(), and timeout_stations().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_send_probereq()

int ieee80211_send_probereq ( struct ieee80211_node ni,
const uint8_t  sa[IEEE80211_ADDR_LEN],
const uint8_t  da[IEEE80211_ADDR_LEN],
const uint8_t  bssid[IEEE80211_ADDR_LEN],
const uint8_t *  ssid,
size_t  ssidlen 
)

◆ ieee80211_send_proberesp()

◆ ieee80211_send_setup()

◆ ieee80211_setbasicrates()

void ieee80211_setbasicrates ( struct ieee80211_rateset rs,
enum  ieee80211_phymode 
)

Definition at line 1341 of file ieee80211_proto.c.

References setbasicrates().

Referenced by ieee80211_create_ibss(), and ieee80211_setmode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_start_all()

void ieee80211_start_all ( struct ieee80211com ic)

Definition at line 2070 of file ieee80211_proto.c.

References IEEE80211_LOCK, ieee80211_start_locked(), IEEE80211_UNLOCK, IFNET_IS_UP_RUNNING, and ieee80211vap::iv_ifp.

Here is the call graph for this function:

◆ ieee80211_start_locked()

◆ ieee80211_stop()

void ieee80211_stop ( struct ieee80211vap vap)

Definition at line 2115 of file ieee80211_proto.c.

References IEEE80211_LOCK, ieee80211_stop_locked(), IEEE80211_UNLOCK, and ieee80211vap::iv_ic.

Referenced by ieee80211_vap_detach().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_stop_all()

void ieee80211_stop_all ( struct ieee80211com ic)

Definition at line 2128 of file ieee80211_proto.c.

References IEEE80211_LOCK, ieee80211_stop_locked(), IEEE80211_UNLOCK, ieee80211_waitfor_parent(), IFNET_IS_UP_RUNNING, and ieee80211vap::iv_ifp.

Here is the call graph for this function:

◆ ieee80211_stop_locked()

◆ ieee80211_suspend_all()

void ieee80211_suspend_all ( struct ieee80211com ic)

Definition at line 2148 of file ieee80211_proto.c.

References IEEE80211_FEXT_RESUME, IEEE80211_LOCK, ieee80211_stop_locked(), IEEE80211_UNLOCK, ieee80211_waitfor_parent(), IFNET_IS_UP_RUNNING, ieee80211vap::iv_flags_ext, and ieee80211vap::iv_ifp.

Referenced by restart_vaps().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_swbmiss()

◆ ieee80211_syncflag()

void ieee80211_syncflag ( struct ieee80211vap vap,
int  flag 
)

Definition at line 873 of file ieee80211.c.

References IEEE80211_LOCK, ieee80211_syncflag_locked(), IEEE80211_UNLOCK, ieee80211vap::iv_flags, and ieee80211vap::iv_ic.

Referenced by ieee80211_ioctl_set80211().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_syncflag_ext()

void ieee80211_syncflag_ext ( struct ieee80211vap vap,
int  flag 
)

Definition at line 993 of file ieee80211.c.

References IEEE80211_LOCK, ieee80211_syncflag_ext_locked(), IEEE80211_UNLOCK, ieee80211vap::iv_flags_ext, and ieee80211vap::iv_ic.

Referenced by bpf_track().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_syncflag_ht()

void ieee80211_syncflag_ht ( struct ieee80211vap vap,
int  flag 
)

Definition at line 913 of file ieee80211.c.

References IEEE80211_LOCK, ieee80211_syncflag_ht_locked(), IEEE80211_UNLOCK, ieee80211vap::iv_flags_ht, and ieee80211vap::iv_ic.

Referenced by ieee80211_ioctl_set80211().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_syncflag_vht()

void ieee80211_syncflag_vht ( struct ieee80211vap vap,
int  flag 
)

Definition at line 953 of file ieee80211.c.

References IEEE80211_LOCK, ieee80211_syncflag_vht_locked(), IEEE80211_UNLOCK, ieee80211vap::iv_flags_vht, and ieee80211vap::iv_ic.

Referenced by ieee80211_ioctl_set80211().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_tx_complete()

void ieee80211_tx_complete ( struct ieee80211_node ni,
struct mbuf *  m,
int  status 
)

◆ ieee80211_vap_pkt_send_dest()

◆ ieee80211_vap_qflush()

void ieee80211_vap_qflush ( struct ifnet *  ifp)

Definition at line 544 of file ieee80211_output.c.

Referenced by ieee80211_vap_setup().

Here is the caller graph for this function:

◆ ieee80211_vap_reset_erp()

◆ ieee80211_vap_set_shortslottime()

void ieee80211_vap_set_shortslottime ( struct ieee80211vap vap,
int  onoff 
)

Definition at line 1193 of file ieee80211_proto.c.

References IEEE80211_DPRINTF, IEEE80211_F_SHSLOT, IEEE80211_MSG_DEBUG, ieee80211_runtask(), ieee80211vap::iv_flags, ieee80211vap::iv_ic, and ieee80211vap::iv_slot_task.

Referenced by ieee80211_node_join_11g(), ieee80211_node_leave_11g(), ieee80211_vap_reset_erp(), and sta_recv_mgmt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_vap_transmit()

int ieee80211_vap_transmit ( struct ifnet *  ifp,
struct mbuf *  m 
)

◆ ieee80211_vap_update_erp_protmode()

void ieee80211_vap_update_erp_protmode ( struct ieee80211vap vap)

Definition at line 1240 of file ieee80211_proto.c.

References IEEE80211_DPRINTF, IEEE80211_MSG_DEBUG, ieee80211_runtask(), ieee80211vap::iv_erp_protmode_task, and ieee80211vap::iv_ic.

Referenced by disable_protection(), hostap_recv_mgmt(), ieee80211_ioctl_set80211(), ieee80211_node_join_11g(), and sta_recv_mgmt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_vap_update_ht_protmode()

void ieee80211_vap_update_ht_protmode ( struct ieee80211vap vap)

Definition at line 1257 of file ieee80211_proto.c.

References IEEE80211_DPRINTF, IEEE80211_MSG_DEBUG, ieee80211_runtask(), ieee80211vap::iv_ht_protmode_task, and ieee80211vap::iv_ic.

Referenced by htinfo_update(), ieee80211_htprot_update(), and ieee80211_ioctl_set80211().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_vap_update_preamble()

void ieee80211_vap_update_preamble ( struct ieee80211vap vap)

Definition at line 1223 of file ieee80211_proto.c.

References IEEE80211_DPRINTF, IEEE80211_MSG_DEBUG, ieee80211_runtask(), ieee80211vap::iv_ic, and ieee80211vap::iv_preamble_task.

Referenced by disable_protection(), ieee80211_node_join_11g(), and sta_recv_mgmt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_waitfor_parent()

void ieee80211_waitfor_parent ( struct ieee80211com ic)

◆ ieee80211_wme_ic_getparams()

void ieee80211_wme_ic_getparams ( struct ieee80211com ic,
struct chanAccParams wp 
)

◆ ieee80211_wme_initparams()

void ieee80211_wme_initparams ( struct ieee80211vap vap)

Definition at line 1587 of file ieee80211_proto.c.

References IEEE80211_LOCK, IEEE80211_UNLOCK, ieee80211_wme_initparams_locked(), and ieee80211vap::iv_ic.

Referenced by ieee80211_sta_join1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_wme_updateparams()

void ieee80211_wme_updateparams ( struct ieee80211vap vap)

Definition at line 1759 of file ieee80211_proto.c.

References ieee80211com::ic_caps, IEEE80211_C_WME, IEEE80211_LOCK, IEEE80211_UNLOCK, ieee80211_wme_updateparams_locked(), and ieee80211vap::iv_ic.

Referenced by ieee80211_ioctl_setwmeparam(), ieee80211_wme_initparams_locked(), and sta_recv_mgmt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ieee80211_wme_updateparams_locked()

void ieee80211_wme_updateparams_locked ( struct ieee80211vap vap)

◆ ieee80211_wme_vap_ac_is_noack()

int ieee80211_wme_vap_ac_is_noack ( struct ieee80211vap vap,
int  ac 
)

◆ ieee80211_wme_vap_getparams()

void ieee80211_wme_vap_getparams ( struct ieee80211vap vap,
struct chanAccParams wp 
)

Variable Documentation

◆ ctl_subtype_name

const char* ctl_subtype_name[]
extern

Definition at line 74 of file ieee80211_proto.c.

Referenced by ieee80211_ctl_subtype_name().

◆ ieee80211_opcap

const int ieee80211_opcap[IEEE80211_OPMODE_MAX]
extern

Definition at line 80 of file ieee80211.c.

Referenced by ieee80211_vap_setup(), and wlan_clone_create().

◆ ieee80211_opmode_name

◆ ieee80211_phymode_name

const char* ieee80211_phymode_name[IEEE80211_MODE_MAX]
extern

◆ ieee80211_state_name

◆ ieee80211_wme_acnames

const char* ieee80211_wme_acnames[]
extern

◆ mgt_subtype_name

const char* mgt_subtype_name[]
extern

Definition at line 68 of file ieee80211_proto.c.

Referenced by ieee80211_mgt_subtype_name().