FreeBSD kernel WLAN code
|
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 } |
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 [] |
#define IEEE80211_F_DOBRS 0x00000010 /* check basic rate set */ |
Definition at line 259 of file ieee80211_proto.h.
#define IEEE80211_F_DODEL 0x00000008 /* delete ignore rate */ |
Definition at line 258 of file ieee80211_proto.h.
#define IEEE80211_F_DOFMCS 0x00000040 /* use fixed HT rate */ |
Definition at line 261 of file ieee80211_proto.h.
#define IEEE80211_F_DOFRATE 0x00000002 /* use fixed legacy rate */ |
Definition at line 256 of file ieee80211_proto.h.
#define IEEE80211_F_DONEGO 0x00000004 /* calc negotiated rate */ |
Definition at line 257 of file ieee80211_proto.h.
#define IEEE80211_F_DOSORT 0x00000001 /* sort rate list */ |
Definition at line 255 of file ieee80211_proto.h.
#define IEEE80211_F_JOIN 0x00000020 /* sta joining our bss */ |
Definition at line 260 of file ieee80211_proto.h.
#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.
#define IEEE80211_S_MAX (IEEE80211_S_SLEEP+1) |
Definition at line 47 of file ieee80211_proto.h.
#define IEEE80211_SEND_LEGACY 0x3 /* any legacy client */ |
Definition at line 136 of file ieee80211_proto.h.
#define IEEE80211_SEND_LEGACY_11 0x2 /* other legacy client */ |
Definition at line 135 of file ieee80211_proto.h.
#define IEEE80211_SEND_LEGACY_11B 0x1 /* legacy 11b client */ |
Definition at line 134 of file ieee80211_proto.h.
#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.
#define IEEE80211_TXOP_TO_US | ( | _txop | ) | ((_txop)<<5) |
Definition at line 276 of file ieee80211_proto.h.
#define IEEE80211_US_TO_TXOP | ( | _us | ) | ((_us)>>5) |
Definition at line 277 of file ieee80211_proto.h.
#define WME_F_AGGRMODE 0x00000001 /* STATUS: WME aggressive mode */ |
Definition at line 286 of file ieee80211_proto.h.
anonymous enum |
Definition at line 414 of file ieee80211_proto.h.
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.
enum 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.
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().
void ieee80211_aclator_register | ( | const struct ieee80211_aclator * | iac | ) |
Definition at line 507 of file ieee80211_proto.c.
References ieee80211_aclator::iac_name.
void ieee80211_aclator_unregister | ( | const struct ieee80211_aclator * | iac | ) |
Definition at line 514 of file ieee80211_proto.c.
References ieee80211_aclator::iac_name.
uint8_t * ieee80211_add_qos | ( | uint8_t * | frm, |
const struct ieee80211_node * | ni | ||
) |
Definition at line 2411 of file ieee80211_output.c.
References IEEE80211_ELEMID_QOS, IEEE80211_NODE_QOS, and ieee80211_node::ni_flags.
uint8_t * ieee80211_add_rates | ( | uint8_t * | frm, |
const struct ieee80211_rateset * | rs | ||
) |
Definition at line 2058 of file ieee80211_output.c.
References IEEE80211_ELEMID_RATES, IEEE80211_RATE_SIZE, ieee80211_rateset::rs_nrates, and ieee80211_rateset::rs_rates.
Referenced by ieee80211_alloc_proberesp(), ieee80211_beacon_construct(), ieee80211_probereq_ie(), ieee80211_send_mgmt(), mesh_send_action_meshpeering_confirm(), and mesh_send_action_meshpeering_open().
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().
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().
uint8_t * ieee80211_add_wme_info | ( | uint8_t * | frm, |
struct ieee80211_wme_state * | wme, | ||
struct ieee80211_node * | ni | ||
) |
Definition at line 2181 of file ieee80211_output.c.
References chanAccParams::cap_info, IEEE80211_ELEMID_VENDOR, IEEE80211_FEXT_UAPSD, IEEE80211_M_HOSTAP, IEEE80211_M_STA, ieee80211vap::iv_flags_ext, ieee80211vap::iv_opmode, ieee80211vap::iv_uapsdinfo, ieee80211_node::ni_vap, ieee80211_wme_state::wme_bssChanParams, WME_CAPINFO_UAPSD_EN, WME_INFO_OUI_SUBTYPE, WME_OUI_BYTES, WME_OUI_TYPE, and WME_VERSION.
Referenced by ieee80211_send_mgmt().
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().
uint8_t * ieee80211_add_xrates | ( | uint8_t * | frm, |
const struct ieee80211_rateset * | rs | ||
) |
Definition at line 2075 of file ieee80211_output.c.
References IEEE80211_ELEMID_XRATES, IEEE80211_RATE_SIZE, ieee80211_rateset::rs_nrates, and ieee80211_rateset::rs_rates.
Referenced by ieee80211_alloc_proberesp(), ieee80211_beacon_construct(), ieee80211_probereq_ie(), ieee80211_send_mgmt(), mesh_send_action_meshpeering_confirm(), and mesh_send_action_meshpeering_open().
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().
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().
struct mbuf * ieee80211_alloc_cts | ( | struct ieee80211com * | ic, |
const uint8_t | ra[IEEE80211_ADDR_LEN], | ||
uint16_t | dur | ||
) |
Definition at line 3321 of file ieee80211_output.c.
References ieee80211_frame_cts::i_dur, ieee80211_frame_cts::i_fc, ieee80211_frame_cts::i_ra, IEEE80211_ADDR_COPY, IEEE80211_FC0_SUBTYPE_CTS, IEEE80211_FC0_TYPE_CTL, IEEE80211_FC0_VERSION_0, and IEEE80211_FC1_DIR_NODS.
Referenced by ieee80211_alloc_prot().
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().
struct mbuf * ieee80211_alloc_prot | ( | struct ieee80211_node * | ni, |
const struct mbuf * | m, | ||
uint8_t | rate, | ||
int | prot | ||
) |
Definition at line 3346 of file ieee80211_output.c.
References ieee80211_frame::i_addr1, ieee80211_frame::i_addr2, ieee80211com::ic_rt, ieee80211_ack_duration(), ieee80211_alloc_cts(), ieee80211_alloc_rts(), ieee80211_compute_duration(), IEEE80211_CRC_LEN, IEEE80211_F_SHPREAMBLE, IEEE80211_PROT_CTSONLY, IEEE80211_PROT_RTSCTS, ieee80211vap::iv_flags, ieee80211vap::iv_myaddr, ieee80211_node::ni_ic, and ieee80211_node::ni_vap.
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 | ||
) |
Definition at line 3293 of file ieee80211_output.c.
References ieee80211_frame_rts::i_dur, ieee80211_frame_rts::i_fc, ieee80211_frame_rts::i_ra, ieee80211_frame_rts::i_ta, IEEE80211_ADDR_COPY, IEEE80211_FC0_SUBTYPE_RTS, IEEE80211_FC0_TYPE_CTL, IEEE80211_FC0_VERSION_0, and IEEE80211_FC1_DIR_NODS.
Referenced by ieee80211_alloc_prot().
|
static |
Definition at line 192 of file ieee80211_proto.h.
References ieee80211_frame::i_fc, IEEE80211_FC0_SUBTYPE_ACK, IEEE80211_FC0_SUBTYPE_BAR, IEEE80211_FC0_SUBTYPE_CTS, IEEE80211_FC0_SUBTYPE_MASK, IEEE80211_FC0_TYPE_CTL, IEEE80211_FC0_TYPE_MASK, and ieee80211_hdrsize().
Referenced by ieee80211_anyhdrspace(), ieee80211_validate_frame(), and sta_input().
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().
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().
void ieee80211_authenticator_unregister | ( | int | type | ) |
Definition at line 492 of file ieee80211_proto.c.
References authenticators, and IEEE80211_AUTH_MAX.
struct mbuf * ieee80211_beacon_alloc | ( | struct ieee80211_node * | ni | ) |
Definition at line 3656 of file ieee80211_output.c.
References ieee80211_frame::i_addr1, ieee80211_frame::i_addr2, ieee80211_frame::i_addr3, ieee80211_frame::i_dur, ieee80211_frame::i_fc, ieee80211_frame::i_seq, IEEE80211_ADDR_COPY, ieee80211_beacon_construct(), IEEE80211_C_TDMA, IEEE80211_C_WME, IEEE80211_C_WPA, IEEE80211_COUNTRY_MAX_SIZE, IEEE80211_DPRINTF, IEEE80211_FC0_SUBTYPE_BEACON, IEEE80211_FC0_TYPE_MGT, IEEE80211_FC0_VERSION_0, IEEE80211_FC1_DIR_NODS, IEEE80211_FEXT_QUIET_IE, ieee80211_getmgtframe(), IEEE80211_MAX_APPIE, IEEE80211_MSG_ANY, IEEE80211_RATE_MAXSIZE, IEEE80211_RATE_SIZE, ieee80211_stats::is_tx_nobuf, ieee80211vap::iv_flags_ext, ieee80211vap::iv_ifp, ieee80211vap::iv_myaddr, ieee80211vap::iv_quiet, ieee80211vap::iv_stats, ieee80211vap::iv_tim_len, ieee80211_node::ni_bssid, ieee80211_node::ni_esslen, ieee80211_node::ni_ic, and ieee80211_node::ni_vap.
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.
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.
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().
int ieee80211_classify | ( | struct ieee80211_node * | ni, |
struct mbuf * | m | ||
) |
Definition at line 1200 of file ieee80211_output.c.
References chanAccParams::cap_wmeParams, ieee80211_frame::i_fc, ieee80211com::ic_wme, IEEE80211_FC0_SUBTYPE_MASK, IEEE80211_FC0_SUBTYPE_NODATA, ieee80211_hdrsize(), IEEE80211_M_STA, IEEE80211_NODE_QOS, IEEE80211_NODE_STAT, ieee80211vap::iv_opmode, M_EAPOL, M_ENCAP, M_WME_SETAC, ieee80211_node::ni_flags, ieee80211_node::ni_ic, ieee80211_node::ni_vap, ieee80211_node::ni_vlan, TID_TO_WME_AC, WME_AC_BE, WME_AC_BK, WME_AC_VI, WME_AC_VO, ieee80211_wme_state::wme_wmeBssChanParams, and wmeParams::wmep_acm.
Referenced by ieee80211_dwds_mcast(), ieee80211_output(), and ieee80211_vap_pkt_send_dest().
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().
void ieee80211_csa_completeswitch | ( | struct ieee80211com * | ic | ) |
Definition at line 2347 of file ieee80211_proto.c.
References csa_completeswitch(), ieee80211com::ic_csa_newchan, ieee80211com::ic_curchan, ieee80211com::ic_flags, IEEE80211_F_CSAPENDING, IEEE80211_LOCK_ASSERT, IEEE80211_S_CSA, ieee80211_setcurchan(), ieee80211vap::iv_bss, ieee80211vap::iv_state, and ieee80211_node::ni_chan.
Referenced by ieee80211_beacon_update(), ieee80211_parse_csaparams(), and sta_beacon_miss().
void ieee80211_csa_startswitch | ( | struct ieee80211com * | ic, |
struct ieee80211_channel * | c, | ||
int | mode, | ||
int | count | ||
) |
Definition at line 2294 of file ieee80211_proto.c.
References ieee80211com::ic_csa_count, ieee80211com::ic_csa_mode, ieee80211com::ic_csa_newchan, ieee80211com::ic_flags, IEEE80211_BEACON_CSA, ieee80211_beacon_notify(), IEEE80211_F_CSAPENDING, IEEE80211_LOCK_ASSERT, IEEE80211_M_HOSTAP, IEEE80211_M_IBSS, IEEE80211_M_MBSS, ieee80211_new_state_locked(), ieee80211_notify_csa(), IEEE80211_S_CSA, IEEE80211_S_RUN, ieee80211vap::iv_opmode, and ieee80211vap::iv_state.
Referenced by ieee80211_dfs_notify_radar(), ieee80211_ioctl_chanswitch(), and ieee80211_parse_csaparams().
|
static |
Definition at line 65 of file ieee80211_proto.h.
References ctl_subtype_name, IEEE80211_FC0_SUBTYPE_MASK, and IEEE80211_FC0_SUBTYPE_SHIFT.
void ieee80211_dturbo_switch | ( | struct ieee80211vap * | , |
int | newflags | ||
) |
void ieee80211_dump_pkt | ( | struct ieee80211com * | ic, |
const uint8_t * | buf, | ||
int | len, | ||
int | rate, | ||
int | rssi | ||
) |
Definition at line 555 of file ieee80211_proto.c.
References ieee80211_frame::i_addr1, ieee80211_frame::i_addr2, ieee80211_frame::i_addr3, ieee80211_frame::i_fc, ieee80211_qosframe::i_qos, ieee80211_anyhdrspace(), IEEE80211_FC0_TYPE_DATA, IEEE80211_FC0_TYPE_MASK, IEEE80211_FC0_TYPE_MGT, IEEE80211_FC1_DIR_DSTODS, IEEE80211_FC1_DIR_FROMDS, IEEE80211_FC1_DIR_MASK, IEEE80211_FC1_DIR_NODS, IEEE80211_FC1_DIR_TODS, IEEE80211_FC1_PROTECTED, ieee80211_mgt_subtype_name(), IEEE80211_QOS_ACKPOLICY, IEEE80211_QOS_HAS_SEQ, IEEE80211_QOS_TID, IEEE80211_WEP_EXTIV, and IEEE80211_WEP_IVLEN.
Referenced by ieee80211_pwrsave().
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().
struct mbuf * ieee80211_ff_encap1 | ( | struct ieee80211vap * | vap, |
struct mbuf * | m, | ||
const struct ether_header * | eh | ||
) |
Definition at line 4122 of file ieee80211_output.c.
References ETHER_HEADER_COPY, IEEE80211_DPRINTF, IEEE80211_MSG_SUPERG, ieee80211_stats::is_tx_nobuf, and ieee80211vap::iv_stats.
int ieee80211_fix_rate | ( | struct ieee80211_node * | ni, |
struct ieee80211_rateset * | nrs, | ||
int | flags | ||
) |
Definition at line 640 of file ieee80211_proto.c.
References findrix(), ieee80211_chan2mode(), IEEE80211_F_DOBRS, IEEE80211_F_DODEL, IEEE80211_F_DOFMCS, IEEE80211_F_DOFRATE, IEEE80211_F_DONEGO, IEEE80211_F_DOSORT, IEEE80211_F_JOIN, IEEE80211_FIXED_RATE_NONE, ieee80211_get_suphtrates(), ieee80211_get_suprates(), IEEE80211_MSG_11N, IEEE80211_MSG_XRATE, IEEE80211_NOTE, IEEE80211_RATE_BASIC, IEEE80211_RATE_VAL, IEEE80211_RV, ieee80211vap::iv_txparms, ieee80211_node::ni_chan, ieee80211_node::ni_ic, ieee80211_node::ni_vap, ieee80211_rateset::rs_nrates, ieee80211_rateset::rs_rates, and ieee80211_txparam::ucastrate.
Referenced by check_bss(), ieee80211_setup_htrates(), ieee80211_setup_rates(), and ieee80211_sta_join1().
void ieee80211_free_mbuf | ( | struct mbuf * | m | ) |
Definition at line 1940 of file ieee80211_output.c.
Referenced by ieee80211_fragment(), and ieee80211_parent_xmitpkt().
uint16_t ieee80211_getcapinfo | ( | struct ieee80211vap * | vap, |
struct ieee80211_channel * | chan | ||
) |
Definition at line 2652 of file ieee80211_output.c.
References IEEE80211_CAPINFO_ESS, IEEE80211_CAPINFO_IBSS, IEEE80211_CAPINFO_PRIVACY, IEEE80211_CAPINFO_SHORT_PREAMBLE, IEEE80211_CAPINFO_SHORT_SLOTTIME, IEEE80211_CAPINFO_SPECTRUM_MGMT, IEEE80211_F_DOTH, IEEE80211_F_PRIVACY, IEEE80211_F_SHPREAMBLE, IEEE80211_F_SHSLOT, IEEE80211_IS_CHAN_2GHZ, IEEE80211_IS_CHAN_5GHZ, IEEE80211_M_HOSTAP, IEEE80211_M_IBSS, IEEE80211_M_STA, ieee80211vap::iv_flags, and ieee80211vap::iv_opmode.
Referenced by ieee80211_alloc_proberesp(), ieee80211_beacon_construct(), ieee80211_beacon_update(), ieee80211_send_mgmt(), mesh_send_action_meshpeering_confirm(), and mesh_send_action_meshpeering_open().
|
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().
|
static |
Definition at line 333 of file ieee80211_proto.h.
References ieee80211_qosframe_addr4::i_qos, IEEE80211_IS_DSTODS, IEEE80211_NONQOS_TID, IEEE80211_QOS_HAS_SEQ, and IEEE80211_QOS_TID.
Referenced by adhoc_input(), ccmp_decap(), hostap_input(), ieee80211_check_rxseq(), mesh_input(), sta_input(), tkip_decap(), tkip_decrypt(), tkip_demic(), and wds_input().
|
static |
Definition at line 173 of file ieee80211_proto.h.
References ieee80211_frame::i_fc, IEEE80211_ADDR_LEN, IEEE80211_FC0_TYPE_CTL, IEEE80211_FC0_TYPE_MASK, IEEE80211_IS_DSTODS, and IEEE80211_QOS_HAS_SEQ.
Referenced by ieee80211_anyhdrsize(), ieee80211_classify(), ieee80211_hdrspace(), and ieee80211_output().
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().
int ieee80211_input_all | ( | struct ieee80211com * | ic, |
struct mbuf * | m, | ||
int | rssi, | ||
int | nf | ||
) |
Definition at line 105 of file ieee80211_input.c.
References ieee80211_rx_stats::c_nf, ieee80211_rx_stats::c_rssi, ieee80211_add_rx_params(), ieee80211_input_mimo_all(), IEEE80211_R_NF, IEEE80211_R_RSSI, and ieee80211_rx_stats::r_flags.
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().
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().
int ieee80211_iserp_rateset | ( | const struct ieee80211_rateset * | rs | ) |
Definition at line 1274 of file ieee80211_proto.c.
References IEEE80211_RATE_VAL, ieee80211_rateset::rs_nrates, and ieee80211_rateset::rs_rates.
Referenced by ieee80211_add_neighbor(), ieee80211_fakeup_adhoc_node(), ieee80211_node_join_11g(), and ieee80211_sta_join().
struct mbuf * ieee80211_mbuf_adjust | ( | struct ieee80211vap * | vap, |
int | hdrsize, | ||
struct ieee80211_key * | key, | ||
struct mbuf * | m | ||
) |
Definition at line 1344 of file ieee80211_output.c.
References ieee80211_cipher::ic_header, ieee80211com::ic_headroom, IEEE80211_DPRINTF, IEEE80211_KEY_SWENCRYPT, IEEE80211_KEY_SWENMIC, IEEE80211_MSG_OUTPUT, ieee80211_stats::is_tx_nobuf, ieee80211vap::iv_ic, ieee80211vap::iv_stats, TO_BE_RECLAIMED, ieee80211_key::wk_cipher, and ieee80211_key::wk_flags.
Referenced by ieee80211_encap().
int ieee80211_mgmt_output | ( | struct ieee80211_node * | ni, |
struct mbuf * | m, | ||
int | type, | ||
struct ieee80211_bpf_params * | params | ||
) |
Definition at line 1014 of file ieee80211_output.c.
References doprint(), ieee80211_frame::i_addr1, ieee80211_frame::i_fc, ieee80211_bpf_params::ibp_flags, ieee80211_bpf_params::ibp_pri, ieee80211com::ic_curchan, IEEE80211_BPF_CRYPTO, ieee80211_chan2ieee(), IEEE80211_FC0_SUBTYPE_PROBE_RESP, IEEE80211_FC0_TYPE_MGT, IEEE80211_FC1_PROTECTED, ieee80211_free_node(), ieee80211_mgt_subtype_name(), IEEE80211_MSG_AUTH, IEEE80211_MSG_DOTH, ieee80211_msg_dumppkts, IEEE80211_MSG_OUTPUT, IEEE80211_NODE_STAT, IEEE80211_NONQOS_TID, IEEE80211_NOTE, IEEE80211_NOTE_MAC, ieee80211_raw_output(), IEEE80211_S_CAC, ieee80211_send_setup(), IEEE80211_TX_LOCK, IEEE80211_TX_UNLOCK, ieee80211_stats::is_tx_badstate, ieee80211vap::iv_myaddr, ieee80211vap::iv_state, ieee80211vap::iv_stats, M_ENCAP, M_WME_SETAC, ieee80211_node::ni_bssid, ieee80211_node::ni_ic, ieee80211_node::ni_macaddr, and ieee80211_node::ni_vap.
Referenced by ht_action_output(), and ieee80211_send_mgmt().
|
static |
Definition at line 58 of file ieee80211_proto.h.
References IEEE80211_FC0_SUBTYPE_MASK, IEEE80211_FC0_SUBTYPE_SHIFT, and mgt_subtype_name.
Referenced by adhoc_input(), hostap_input(), hostap_recv_mgmt(), ieee80211_dump_pkt(), ieee80211_mgmt_output(), mesh_input(), sta_input(), and wds_input().
int ieee80211_new_state | ( | struct ieee80211vap * | vap, |
enum | ieee80211_state, | ||
int | arg | ||
) |
Definition at line 2758 of file ieee80211_proto.c.
References IEEE80211_LOCK, ieee80211_new_state_locked(), IEEE80211_UNLOCK, and ieee80211vap::iv_ic.
Referenced by ieee80211_ioctl_set80211(), ieee80211_scanreq(), ieee80211_sta_join1(), ieee80211_start_pkt(), setcurchan(), setmlme_common(), sta_auth_open(), sta_auth_shared(), sta_beacon_miss(), and sta_recv_mgmt().
int ieee80211_new_state_locked | ( | struct ieee80211vap * | vap, |
enum | ieee80211_state, | ||
int | arg | ||
) |
Definition at line 2598 of file ieee80211_proto.c.
References ieee80211com::ic_bsschan, ieee80211_cancel_scan(), IEEE80211_DPRINTF, IEEE80211_FEXT_DFS, IEEE80211_FEXT_REINIT, IEEE80211_FEXT_SCANWAIT, IEEE80211_FEXT_STATEWAIT, IEEE80211_FEXT_WDSLEGACY, IEEE80211_IS_CHAN_CACDONE, IEEE80211_IS_CHAN_DFS, IEEE80211_LOCK_ASSERT, IEEE80211_M_HOSTAP, IEEE80211_M_STA, IEEE80211_M_WDS, IEEE80211_MSG_STATE, ieee80211_runtask(), IEEE80211_S_CAC, IEEE80211_S_INIT, IEEE80211_S_RUN, IEEE80211_S_SCAN, ieee80211_state_name, ieee80211vap::iv_flags_ext, ieee80211vap::iv_ic, ieee80211vap::iv_ifp, ieee80211vap::iv_nstate, ieee80211vap::iv_nstate_arg, ieee80211vap::iv_nstate_task, ieee80211vap::iv_opmode, and ieee80211vap::iv_state.
Referenced by cac_timeout(), csa_completeswitch(), ieee80211_cac_completeswitch(), ieee80211_csa_startswitch(), ieee80211_new_state(), ieee80211_newstate_cb(), ieee80211_sta_ps_timer_check(), ieee80211_sta_tim_notify(), ieee80211_start_locked(), ieee80211_stop_locked(), and ieee80211_tx_mgt_timeout().
void ieee80211_notify_cac | ( | struct ieee80211com * | ic, |
const struct ieee80211_channel * | c, | ||
enum | ieee80211_notify_cac_event | ||
) |
Definition at line 942 of file ieee80211_freebsd.c.
References ieee80211_channel::ic_flags, ieee80211_channel::ic_freq, ieee80211_channel::ic_ieee, ieee80211_cac_event::iev_flags, ieee80211_cac_event::iev_freq, ieee80211_cac_event::iev_ieee, ieee80211_cac_event::iev_type, ieee80211vap::iv_ifp, and RTM_IEEE80211_CAC.
Referenced by cac_timeout(), ieee80211_dfs_cac_start(), and ieee80211_dfs_cac_stop().
void ieee80211_notify_country | ( | struct ieee80211vap * | , |
const uint8_t | [], | ||
const uint8_t | cc[2] | ||
) |
void ieee80211_notify_csa | ( | struct ieee80211com * | ic, |
const struct ieee80211_channel * | c, | ||
int | mode, | ||
int | count | ||
) |
Definition at line 900 of file ieee80211_freebsd.c.
References ieee80211_channel::ic_flags, ieee80211_channel::ic_freq, ieee80211_channel::ic_ieee, ieee80211_csa_event::iev_count, ieee80211_csa_event::iev_flags, ieee80211_csa_event::iev_freq, ieee80211_csa_event::iev_ieee, ieee80211_csa_event::iev_mode, ieee80211vap::iv_ifp, and RTM_IEEE80211_CSA.
Referenced by ieee80211_csa_startswitch().
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().
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().
void ieee80211_notify_node_deauth | ( | struct ieee80211_node * | ni | ) |
Definition at line 963 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_DEAUTH.
void ieee80211_notify_node_join | ( | struct ieee80211_node * | ni, |
int | newassoc | ||
) |
Definition at line 780 of file ieee80211_freebsd.c.
References IEEE80211_MSG_NODE, IEEE80211_NOTE, ieee80211vap::iv_bss, ieee80211vap::iv_ifp, ieee80211_node::ni_bssid, ieee80211_node::ni_macaddr, ieee80211_node::ni_vap, notify_macaddr(), RTM_IEEE80211_ASSOC, RTM_IEEE80211_JOIN, RTM_IEEE80211_REASSOC, and RTM_IEEE80211_REJOIN.
Referenced by ieee80211_create_wds(), ieee80211_node_join(), and sta_newstate().
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().
void ieee80211_notify_radar | ( | struct ieee80211com * | ic, |
const struct ieee80211_channel * | c | ||
) |
Definition at line 922 of file ieee80211_freebsd.c.
References ieee80211_channel::ic_flags, ieee80211_channel::ic_freq, ieee80211_channel::ic_ieee, ieee80211_radar_event::iev_flags, ieee80211_radar_event::iev_freq, ieee80211_radar_event::iev_ieee, ieee80211vap::iv_ifp, and RTM_IEEE80211_RADAR.
Referenced by dfs_timeout(), and ieee80211_dfs_notify_radar().
void ieee80211_notify_radio | ( | struct ieee80211com * | ic, |
int | state | ||
) |
Definition at line 1001 of file ieee80211_freebsd.c.
References ieee80211_radio_event::iev_state, ieee80211vap::iv_ifp, and RTM_IEEE80211_RADIO.
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().
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().
int ieee80211_output | ( | struct ifnet * | ifp, |
struct mbuf * | m, | ||
const struct sockaddr * | dst, | ||
struct route * | ro | ||
) |
Definition at line 746 of file ieee80211_output.c.
References ieee80211_frame::i_addr1, ieee80211_frame::i_addr3, ieee80211_frame::i_fc, ieee80211_classify(), IEEE80211_DPRINTF, IEEE80211_FC1_DIR_DSTODS, IEEE80211_FC1_DIR_FROMDS, IEEE80211_FC1_DIR_MASK, IEEE80211_FC1_DIR_NODS, IEEE80211_FC1_DIR_TODS, ieee80211_find_txnode(), ieee80211_free_node(), ieee80211_hdrsize(), IEEE80211_IS_DATA, IEEE80211_IS_MULTICAST, IEEE80211_MSG_DOTH, IEEE80211_MSG_OUTPUT, IEEE80211_NODE_STAT, IEEE80211_NODE_STAT_ADD, ieee80211_raw_output(), ieee80211_ref_node(), IEEE80211_S_CAC, IEEE80211_S_SCAN, ieee80211_sanitize_rates(), IEEE80211_TX_LOCK, IEEE80211_TX_UNLOCK, ieee80211_validate_frame(), IFNET_IS_UP_RUNNING, ieee80211_stats::is_tx_badstate, ieee80211vap::iv_bss, ieee80211vap::iv_ic, ieee80211vap::iv_output, ieee80211vap::iv_state, ieee80211vap::iv_stats, M_ENCAP, M_WME_SETAC, senderr, and WME_AC_BE.
Referenced by ieee80211_vap_attach().
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().
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 | ||
) |
Definition at line 2466 of file ieee80211_output.c.
References add_appie(), ieee80211com::ic_curchan, ieee80211_add_htcap_ch(), ieee80211_add_rates(), ieee80211_add_rsn(), ieee80211_add_ssid(), ieee80211_add_wpa(), ieee80211_add_xrates(), IEEE80211_FHT_HT, IEEE80211_FVHT_VHT, ieee80211_get_suprates(), ieee80211_ht_adjust_channel(), IEEE80211_M_IBSS, IEEE80211_NWID_LEN, ieee80211_probereq_ie_len(), ieee80211_vht_adjust_channel(), ieee80211vap::iv_appie_probereq, ieee80211vap::iv_flags_ht, ieee80211vap::iv_flags_vht, and ieee80211vap::iv_opmode.
Referenced by ieee80211_send_probereq().
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().
void ieee80211_proto_attach | ( | struct ieee80211com * | ic | ) |
Definition at line 264 of file ieee80211_proto.c.
References AGGRESSIVE_MODE_SWITCH_HYSTERESIS, beacon_miss(), ieee80211com::ic_bmiss_task, ieee80211com::ic_chan_task, ieee80211com::ic_chw_task, ieee80211com::ic_headroom, ieee80211com::ic_mcast_task, ieee80211com::ic_parent_task, ieee80211com::ic_promisc_task, ieee80211com::ic_raw_xmit, ieee80211com::ic_restart_task, ieee80211com::ic_send_mgmt, ieee80211com::ic_wme, ieee80211_adhoc_attach(), ieee80211_hostap_attach(), ieee80211_mesh_attach(), ieee80211_monitor_attach(), ieee80211_send_mgmt(), ieee80211_sta_attach(), ieee80211_wds_attach(), IEEE80211_WEP_EXTIVLEN, IEEE80211_WEP_IVLEN, IEEE80211_WEP_KIDLEN, null_raw_xmit(), parent_updown(), restart_vaps(), update_channel(), update_chw(), update_mcast(), update_promisc(), and ieee80211_wme_state::wme_hipri_switch_hysteresis.
Referenced by ieee80211_ifattach().
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().
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().
void ieee80211_proto_vdetach | ( | struct ieee80211vap * | vap | ) |
Definition at line 403 of file ieee80211_proto.c.
References FREEAPPIE, ieee80211_authenticator::ia_detach, ieee80211_aclator::iac_detach, ieee80211vap::iv_acl, ieee80211vap::iv_appie_assocreq, ieee80211vap::iv_appie_assocresp, ieee80211vap::iv_appie_beacon, ieee80211vap::iv_appie_probereq, ieee80211vap::iv_appie_proberesp, ieee80211vap::iv_appie_wpa, ieee80211vap::iv_auth, and ieee80211vap::iv_opdetach.
Referenced by ieee80211_vap_detach().
int ieee80211_raw_output | ( | struct ieee80211vap * | vap, |
struct ieee80211_node * | ni, | ||
struct mbuf * | m, | ||
const struct ieee80211_bpf_params * | params | ||
) |
Definition at line 561 of file ieee80211_output.c.
References ieee80211com::ic_raw_xmit, ieee80211_add_xmit_params(), ieee80211_free_node(), ieee80211vap::iv_ic, and ieee80211vap::iv_ifp.
Referenced by hwmp_send_action(), ieee80211_mgmt_output(), ieee80211_output(), ieee80211_send_bar(), ieee80211_send_nulldata(), ieee80211_send_probereq(), ieee80211_send_proberesp(), and mesh_send_action().
int ieee80211_raw_xmit | ( | struct ieee80211_node * | , |
struct mbuf * | , | ||
const struct ieee80211_bpf_params * | |||
) |
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().
void ieee80211_reset_erp | ( | struct ieee80211com * | ic | ) |
Definition at line 808 of file ieee80211_proto.c.
References ieee80211com::ic_caps, ieee80211com::ic_curchan, ieee80211com::ic_flags, IEEE80211_C_SHPREAMBLE, IEEE80211_F_SHPREAMBLE, IEEE80211_F_USEBARKER, and IEEE80211_IS_CHAN_A.
Referenced by ieee80211_setmode().
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().
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().
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().
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().
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 | ||
) |
Definition at line 2547 of file ieee80211_output.c.
References 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_curchan, ieee80211com::ic_headroom, IEEE80211_BPF_NOACK, ieee80211_chan2ieee(), ieee80211_chan2mode(), IEEE80211_DPRINTF, IEEE80211_FC0_SUBTYPE_PROBE_REQ, IEEE80211_FC0_TYPE_MGT, ieee80211_free_node(), ieee80211_getmgtframe(), IEEE80211_IS_MULTICAST, IEEE80211_MSG_DEBUG, IEEE80211_MSG_DUMPPKTS, IEEE80211_MSG_NODE, IEEE80211_MSG_OUTPUT, ieee80211_node_refcnt, IEEE80211_NODE_STAT, IEEE80211_NONQOS_TID, IEEE80211_NOTE, ieee80211_probereq_ie(), ieee80211_probereq_ie_len(), ieee80211_raw_output(), ieee80211_ref_node(), IEEE80211_S_CAC, ieee80211_send_setup(), IEEE80211_TX_LOCK, IEEE80211_TX_UNLOCK, ieee80211_stats::is_tx_badstate, ieee80211_stats::is_tx_nobuf, ieee80211vap::iv_bss, ieee80211vap::iv_state, ieee80211vap::iv_stats, ieee80211vap::iv_txparms, M_ENCAP, M_WME_GETAC, M_WME_SETAC, ieee80211_txparam::maxretry, ieee80211_txparam::mgmtrate, ieee80211_node::ni_ic, ieee80211_node::ni_macaddr, ieee80211_node::ni_txpower, ieee80211_node::ni_vap, and WME_AC_BE.
Referenced by adhoc_recv_mgmt(), ieee80211_fakeup_adhoc_node(), ieee80211_swscan_probe_curchan(), and sta_beacon_miss().
int ieee80211_send_proberesp | ( | struct ieee80211vap * | vap, |
const uint8_t | da[IEEE80211_ADDR_LEN], | ||
int | legacy | ||
) |
Definition at line 3234 of file ieee80211_output.c.
References ieee80211com::ic_curchan, ieee80211_alloc_proberesp(), ieee80211_chan2ieee(), IEEE80211_DPRINTF, IEEE80211_FC0_SUBTYPE_PROBE_RESP, IEEE80211_FC0_TYPE_MGT, ieee80211_free_node(), IEEE80211_MSG_DEBUG, IEEE80211_MSG_DUMPPKTS, IEEE80211_MSG_NODE, IEEE80211_MSG_OUTPUT, ieee80211_node_refcnt, IEEE80211_NODE_STAT, IEEE80211_NONQOS_TID, IEEE80211_NOTE, ieee80211_raw_output(), ieee80211_ref_node(), IEEE80211_S_CAC, ieee80211_send_setup(), IEEE80211_TX_LOCK, IEEE80211_TX_UNLOCK, ieee80211_stats::is_tx_badstate, ieee80211vap::iv_bss, ieee80211vap::iv_ic, ieee80211vap::iv_myaddr, ieee80211vap::iv_state, ieee80211vap::iv_stats, M_ENCAP, M_WME_SETAC, ieee80211_node::ni_bssid, ieee80211_node::ni_macaddr, and WME_AC_BE.
Referenced by adhoc_recv_mgmt(), hostap_recv_mgmt(), and mesh_recv_mgmt().
void ieee80211_send_setup | ( | struct ieee80211_node * | ni, |
struct mbuf * | m, | ||
int | type, | ||
int | tid, | ||
const uint8_t | sa[IEEE80211_ADDR_LEN], | ||
const uint8_t | da[IEEE80211_ADDR_LEN], | ||
const uint8_t | bssid[IEEE80211_ADDR_LEN] | ||
) |
Definition at line 885 of file ieee80211_output.c.
References ieee80211_frame::i_addr1, ieee80211_frame::i_addr2, ieee80211_frame::i_addr3, ieee80211_frame::i_dur, ieee80211_frame::i_fc, ieee80211_frame::i_seq, IEEE80211_ADDR_COPY, IEEE80211_AMPDU_RUNNING, IEEE80211_FC0_SUBTYPE_MASK, IEEE80211_FC0_TYPE_DATA, IEEE80211_FC0_TYPE_MASK, IEEE80211_FC0_VERSION_0, IEEE80211_FC1_DIR_DSTODS, IEEE80211_FC1_DIR_FROMDS, IEEE80211_FC1_DIR_NODS, IEEE80211_FC1_DIR_TODS, IEEE80211_HAS_SEQ, IEEE80211_IS_MULTICAST, IEEE80211_M_AHDEMO, IEEE80211_M_HOSTAP, IEEE80211_M_IBSS, IEEE80211_M_MBSS, IEEE80211_M_MONITOR, IEEE80211_M_STA, IEEE80211_M_WDS, IEEE80211_NONQOS_TID, IEEE80211_SEQ_SEQ_SHIFT, IEEE80211_TX_LOCK_ASSERT, ieee80211vap::iv_myaddr, ieee80211vap::iv_opmode, M_AMPDU_MPDU, M_SEQNO_SET, ieee80211_node::ni_ic, ieee80211_node::ni_tx_ampdu, ieee80211_node::ni_txseqs, ieee80211_node::ni_vap, and WH4.
Referenced by hwmp_send_action(), ieee80211_mgmt_output(), ieee80211_send_nulldata(), ieee80211_send_probereq(), ieee80211_send_proberesp(), and mesh_send_action().
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().
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.
void ieee80211_start_locked | ( | struct ieee80211vap * | vap | ) |
Definition at line 1969 of file ieee80211_proto.c.
References ieee80211com::ic_name, ieee80211com::ic_nrunning, ieee80211com::ic_parent_task, IEEE80211_DPRINTF, IEEE80211_FEXT_REINIT, IEEE80211_LOCK_ASSERT, IEEE80211_M_MONITOR, IEEE80211_M_STA, IEEE80211_M_WDS, IEEE80211_MSG_DEBUG, IEEE80211_MSG_STATE, ieee80211_new_state_locked(), ieee80211_notify_ifnet_change(), IEEE80211_ROAMING_MANUAL, ieee80211_runtask(), IEEE80211_S_ASSOC, IEEE80211_S_RUN, IEEE80211_S_SCAN, ieee80211_start_check_reset_chan(), ieee80211_start_reset_chan(), ieee80211vap::iv_flags_ext, ieee80211vap::iv_ic, ieee80211vap::iv_ifp, ieee80211vap::iv_opmode, ieee80211vap::iv_roaming, and ieee80211vap::iv_state.
Referenced by ieee80211_init(), ieee80211_ioctl(), ieee80211_resume_all(), and ieee80211_start_all().
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().
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.
void ieee80211_stop_locked | ( | struct ieee80211vap * | vap | ) |
Definition at line 2091 of file ieee80211_proto.c.
References ieee80211com::ic_name, ieee80211com::ic_nrunning, ieee80211com::ic_parent_task, IEEE80211_DPRINTF, IEEE80211_LOCK_ASSERT, IEEE80211_MSG_DEBUG, IEEE80211_MSG_STATE, ieee80211_new_state_locked(), ieee80211_notify_ifnet_change(), ieee80211_runtask(), IEEE80211_S_INIT, ieee80211vap::iv_ic, and ieee80211vap::iv_ifp.
Referenced by ieee80211_ioctl(), ieee80211_stop(), ieee80211_stop_all(), and 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().
void ieee80211_swbmiss | ( | void * | arg | ) |
Definition at line 2250 of file ieee80211_proto.c.
References ieee80211com::ic_flags, IEEE80211_F_SCAN, IEEE80211_LOCK_ASSERT, ieee80211_runtask(), IEEE80211_S_RUN, ieee80211_swbmiss(), ieee80211vap::iv_bmiss, ieee80211vap::iv_ic, ieee80211vap::iv_state, ieee80211vap::iv_swbmiss, ieee80211vap::iv_swbmiss_count, ieee80211vap::iv_swbmiss_period, and ieee80211vap::iv_swbmiss_task.
Referenced by ieee80211_swbmiss(), and sta_swbmiss_start().
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().
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().
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().
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().
void ieee80211_tx_complete | ( | struct ieee80211_node * | ni, |
struct mbuf * | m, | ||
int | status | ||
) |
Definition at line 4171 of file ieee80211_output.c.
References IEEE80211_DPRINTF, ieee80211_free_node(), IEEE80211_MSG_DEBUG, IEEE80211_MSG_STATE, ieee80211_opmode_name, ieee80211_process_callback(), ieee80211_state_name, ieee80211vap::iv_ifp, ieee80211vap::iv_opmode, ieee80211vap::iv_state, M_TXCB, and ieee80211_node::ni_vap.
int ieee80211_vap_pkt_send_dest | ( | struct ieee80211vap * | vap, |
struct mbuf * | m, | ||
struct ieee80211_node * | ni | ||
) |
Definition at line 122 of file ieee80211_output.c.
References ieee80211com::ic_ampdu_enable, ieee80211com::ic_lastdata, IEEE80211_AMPDU_NACKED, ieee80211_ampdu_request(), IEEE80211_AMPDU_REQUESTED, IEEE80211_AMPDU_RUNNING, IEEE80211_AMPDU_RUNNING_AMSDU, ieee80211_amsdu_check(), ieee80211_amsdu_tx_ok(), IEEE80211_ATH_CAP, IEEE80211_C_8023ENCAP, ieee80211_classify(), IEEE80211_DISCARD_MAC, IEEE80211_DPRINTF, ieee80211_encap(), ieee80211_ff_check(), IEEE80211_FHT_AMPDU_TX, IEEE80211_FHT_AMSDU_TX, ieee80211_free_node(), IEEE80211_MSG_OUTPUT, IEEE80211_MSG_SUPERG, IEEE80211_NODE_AMPDU_TX, IEEE80211_NODE_AMSDU_TX, IEEE80211_NODE_FF, IEEE80211_NODE_HT, IEEE80211_NODE_PWR_MGT, IEEE80211_NODE_VHT, ieee80211_parent_xmitpkt(), ieee80211_pwrsave(), IEEE80211_TX_LOCK, IEEE80211_TX_UNLOCK, ieee80211_txampdu_count_packet(), ieee80211_stats::is_tx_classify, ieee80211vap::iv_caps, ieee80211vap::iv_flags_ht, ieee80211vap::iv_ic, ieee80211vap::iv_ifp, ieee80211vap::iv_stats, M_AMPDU_MPDU, M_EAPOL, M_PWR_SAV, M_WME_GETAC, ieee80211_node::ni_flags, ieee80211_node::ni_macaddr, ieee80211_node::ni_tx_ampdu, and WME_AC_TO_TID.
Referenced by ieee80211_start_pkt(), and mesh_transmit_to_gate().
void ieee80211_vap_qflush | ( | struct ifnet * | ifp | ) |
Definition at line 544 of file ieee80211_output.c.
Referenced by ieee80211_vap_setup().
void ieee80211_vap_reset_erp | ( | struct ieee80211vap * | vap | ) |
Definition at line 768 of file ieee80211_proto.c.
References ieee80211com::ic_caps, ieee80211com::ic_curchan, IEEE80211_C_SHPREAMBLE, IEEE80211_C_SHSLOT, IEEE80211_F_SHPREAMBLE, IEEE80211_F_USEBARKER, IEEE80211_IS_CHAN_A, IEEE80211_IS_CHAN_ANYG, IEEE80211_IS_CHAN_HT, IEEE80211_M_HOSTAP, ieee80211_vap_set_shortslottime(), ieee80211vap::iv_caps, ieee80211vap::iv_flags, ieee80211vap::iv_ic, ieee80211vap::iv_longslotsta, ieee80211vap::iv_nonerpsta, and ieee80211vap::iv_opmode.
Referenced by ieee80211_reset_bss(), ieee80211_sta_join1(), and ieee80211_vap_setup().
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().
int ieee80211_vap_transmit | ( | struct ifnet * | ifp, |
struct mbuf * | m | ||
) |
Definition at line 495 of file ieee80211_output.c.
References IEEE80211_DPRINTF, IEEE80211_LOCK, IEEE80211_MSG_OUTPUT, IEEE80211_S_RUN, IEEE80211_S_SLEEP, ieee80211_start_pkt(), ieee80211_state_name, IEEE80211_UNLOCK, ieee80211_stats::is_tx_badstate, ieee80211vap::iv_ic, ieee80211vap::iv_state, ieee80211vap::iv_stats, M_80211_TX, M_MORE_DATA, and M_PWR_SAV.
Referenced by ieee80211_vap_setup().
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().
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().
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().
void ieee80211_waitfor_parent | ( | struct ieee80211com * | ic | ) |
Definition at line 1916 of file ieee80211_proto.c.
References ieee80211com::ic_bmiss_task, ieee80211com::ic_chan_task, ieee80211com::ic_chw_task, ieee80211com::ic_mcast_task, ieee80211com::ic_parent_task, ieee80211com::ic_promisc_task, ieee80211com::ic_tq, and ieee80211_draintask().
Referenced by ieee80211_ifdetach(), ieee80211_ioctl(), ieee80211_stop_all(), and ieee80211_suspend_all().
void ieee80211_wme_ic_getparams | ( | struct ieee80211com * | ic, |
struct chanAccParams * | wp | ||
) |
Definition at line 1790 of file ieee80211_proto.c.
References ieee80211com::ic_wme, and ieee80211_wme_state::wme_chanParams.
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().
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().
void ieee80211_wme_updateparams_locked | ( | struct ieee80211vap * | vap | ) |
Definition at line 1600 of file ieee80211_proto.c.
References phyParamType::aifsn, chanAccParams::cap_info, chanAccParams::cap_wmeParams, ieee80211com::ic_bsschan, ieee80211com::ic_wme, ieee80211_chan2mode(), IEEE80211_CHAN_ANYC, IEEE80211_DPRINTF, IEEE80211_F_BURST, IEEE80211_F_WME, IEEE80211_M_HOSTAP, IEEE80211_M_IBSS, IEEE80211_M_STA, IEEE80211_MODE_11A, IEEE80211_MODE_11B, IEEE80211_MODE_11G, IEEE80211_MODE_11NA, IEEE80211_MODE_11NG, IEEE80211_MODE_AUTO, IEEE80211_MODE_FH, IEEE80211_MODE_HALF, IEEE80211_MODE_MAX, IEEE80211_MODE_QUARTER, IEEE80211_MODE_STURBO_A, IEEE80211_MODE_TURBO_A, IEEE80211_MODE_TURBO_G, IEEE80211_MODE_VHT_2GHZ, IEEE80211_MODE_VHT_5GHZ, IEEE80211_MSG_WME, IEEE80211_NODE_QOS, ieee80211_runtask(), ieee80211_wme_acnames, ieee80211vap::iv_bss, ieee80211vap::iv_flags, ieee80211vap::iv_ic, ieee80211vap::iv_opmode, ieee80211vap::iv_sta_assoc, ieee80211vap::iv_wme_task, phyParamType::logcwmax, phyParamType::logcwmin, ieee80211_node::ni_flags, WME_AC_BE, ieee80211_wme_state::wme_bssChanParams, ieee80211_wme_state::wme_chanParams, WME_F_AGGRMODE, ieee80211_wme_state::wme_flags, WME_NUM_AC, ieee80211_wme_state::wme_wmeBssChanParams, ieee80211_wme_state::wme_wmeChanParams, wmeParams::wmep_acm, wmeParams::wmep_aifsn, wmeParams::wmep_logcwmax, wmeParams::wmep_logcwmin, and wmeParams::wmep_txopLimit.
Referenced by ieee80211_beacon_update(), and ieee80211_wme_updateparams().
int ieee80211_wme_vap_ac_is_noack | ( | struct ieee80211vap * | vap, |
int | ac | ||
) |
Definition at line 1806 of file ieee80211_proto.c.
References chanAccParams::cap_wmeParams, ieee80211com::ic_wme, ieee80211vap::iv_ic, ieee80211_wme_state::wme_chanParams, WME_NUM_AC, and wmeParams::wmep_noackPolicy.
void ieee80211_wme_vap_getparams | ( | struct ieee80211vap * | vap, |
struct chanAccParams * | wp | ||
) |
Definition at line 1777 of file ieee80211_proto.c.
References ieee80211com::ic_wme, ieee80211vap::iv_ic, and ieee80211_wme_state::wme_chanParams.
|
extern |
Definition at line 74 of file ieee80211_proto.c.
Referenced by ieee80211_ctl_subtype_name().
|
extern |
Definition at line 80 of file ieee80211.c.
Referenced by ieee80211_vap_setup(), and wlan_clone_create().
|
extern |
Definition at line 80 of file ieee80211_proto.c.
Referenced by ieee80211_create_ibss(), ieee80211_scan_update_locked(), ieee80211_start_scan(), ieee80211_tx_complete(), ieee80211_tx_mgt_cb(), ieee80211_tx_mgt_timeout(), ieee80211_vap_attach(), ieee80211_vap_detach(), setmlme_assoc_adhoc(), setmlme_assoc_sta(), sta_beacon_miss(), and wlan_clone_create().
|
extern |
Definition at line 63 of file ieee80211.c.
Referenced by ht_announce(), ieee80211_announce(), ieee80211_swscan_start_scan_locked(), and sta_roam_check().
|
extern |
Definition at line 89 of file ieee80211_proto.c.
Referenced by adhoc_input(), adhoc_newstate(), adhoc_recv_mgmt(), hostap_newstate(), hostap_recv_mgmt(), hwmp_newstate(), ieee80211_new_state_locked(), ieee80211_newstate_cb(), ieee80211_parse_csaparams(), ieee80211_tx_complete(), ieee80211_tx_mgt_cb(), ieee80211_tx_mgt_timeout(), ieee80211_vap_transmit(), mesh_newstate(), mesh_recv_mgmt(), monitor_newstate(), sta_beacon_miss(), sta_newstate(), sta_recv_mgmt(), wds_newstate(), and wds_recv_mgmt().
|
extern |
Definition at line 99 of file ieee80211_proto.c.
Referenced by ieee80211_ampdu_enable(), ieee80211_wme_updateparams_locked(), and setwmeparams().
|
extern |
Definition at line 68 of file ieee80211_proto.c.
Referenced by ieee80211_mgt_subtype_name().