FreeBSD kernel WLAN code
|
#include <sys/cdefs.h>
#include "opt_inet.h"
#include "opt_wlan.h"
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/malloc.h>
#include <sys/socket.h>
#include <sys/sockio.h>
#include <net/if.h>
#include <net/if_var.h>
#include <net/if_media.h>
#include <net/ethernet.h>
#include <net80211/ieee80211_var.h>
#include <net80211/ieee80211_adhoc.h>
#include <net80211/ieee80211_sta.h>
#include <net80211/ieee80211_hostap.h>
#include <net80211/ieee80211_wds.h>
#include <net80211/ieee80211_monitor.h>
#include <net80211/ieee80211_input.h>
Go to the source code of this file.
Data Structures | |
struct | phyParamType |
Macros | |
#define | AGGRESSIVE_MODE_SWITCH_HYSTERESIS 3 /* pkts / 100ms */ |
#define | HIGH_PRI_SWITCH_THRESH 10 /* pkts / 100ms */ |
#define | FREEAPPIE(ie) |
#define | IEEE80211_AUTH_MAX (IEEE80211_AUTH_WPA+1) |
Typedefs | |
typedef struct phyParamType | paramType |
Variables | |
const char * | mgt_subtype_name [] |
const char * | ctl_subtype_name [] |
const char * | ieee80211_opmode_name [IEEE80211_OPMODE_MAX] |
const char * | ieee80211_state_name [IEEE80211_S_MAX] |
const char * | ieee80211_wme_acnames [] |
static const char * | auth_modnames [IEEE80211_AUTH_MAX] |
static const struct ieee80211_authenticator * | authenticators [IEEE80211_AUTH_MAX] |
static const struct ieee80211_authenticator | auth_internal |
static const struct ieee80211_aclator * | acl = NULL |
static const struct phyParamType | phyParamForAC_BE [IEEE80211_MODE_MAX] |
static const struct phyParamType | phyParamForAC_BK [IEEE80211_MODE_MAX] |
static const struct phyParamType | phyParamForAC_VI [IEEE80211_MODE_MAX] |
static const struct phyParamType | phyParamForAC_VO [IEEE80211_MODE_MAX] |
static const struct phyParamType | bssPhyParamForAC_BE [IEEE80211_MODE_MAX] |
static const struct phyParamType | bssPhyParamForAC_VI [IEEE80211_MODE_MAX] |
static const struct phyParamType | bssPhyParamForAC_VO [IEEE80211_MODE_MAX] |
#define AGGRESSIVE_MODE_SWITCH_HYSTERESIS 3 /* pkts / 100ms */ |
Definition at line 65 of file ieee80211_proto.c.
#define FREEAPPIE | ( | ie | ) |
#define HIGH_PRI_SWITCH_THRESH 10 /* pkts / 100ms */ |
Definition at line 66 of file ieee80211_proto.c.
#define IEEE80211_AUTH_MAX (IEEE80211_AUTH_WPA+1) |
Definition at line 440 of file ieee80211_proto.c.
typedef struct phyParamType paramType |
__FBSDID | ( | "$FreeBSD$" | ) |
Definition at line 1483 of file ieee80211_proto.c.
References phyParamType::aifsn, phyParamType::logcwmax, phyParamType::logcwmin, phyParamType::txopLimit, wmeParams::wmep_aifsn, wmeParams::wmep_logcwmax, wmeParams::wmep_logcwmin, and wmeParams::wmep_txopLimit.
Referenced by setwmeparams().
|
static |
Definition at line 2210 of file ieee80211_proto.c.
References IEEE80211_LOCK, IEEE80211_M_STA, IEEE80211_S_RUN, IEEE80211_UNLOCK, ieee80211vap::iv_bmiss, ieee80211vap::iv_opmode, and ieee80211vap::iv_state.
Referenced by ieee80211_proto_attach().
|
static |
Definition at line 2231 of file ieee80211_proto.c.
References IEEE80211_LOCK, IEEE80211_S_RUN, IEEE80211_UNLOCK, ieee80211vap::iv_bmiss, ieee80211vap::iv_ic, and ieee80211vap::iv_state.
Referenced by ieee80211_proto_vattach().
|
static |
Definition at line 2323 of file ieee80211_proto.c.
References ieee80211com::ic_csa_newchan, ieee80211com::ic_flags, ieee80211_new_state_locked(), IEEE80211_S_CSA, IEEE80211_S_RUN, and ieee80211vap::iv_state.
Referenced by ieee80211_csa_cancelswitch(), and ieee80211_csa_completeswitch().
|
static |
Definition at line 629 of file ieee80211_proto.c.
References IEEE80211_RATE_VAL, ieee80211_rateset::rs_nrates, and ieee80211_rateset::rs_rates.
Referenced by ieee80211_fix_rate().
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.
void ieee80211_addbasicrates | ( | struct ieee80211_rateset * | rs, |
enum ieee80211_phymode | mode | ||
) |
Definition at line 1351 of file ieee80211_proto.c.
References setbasicrates().
Referenced by ieee80211_create_ibss().
|
static |
Definition at line 464 of file ieee80211_proto.c.
References auth_internal, IEEE80211_AUTH_AUTO, IEEE80211_AUTH_OPEN, IEEE80211_AUTH_SHARED, and ieee80211_authenticator_register().
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.
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.
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().
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().
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().
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_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_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().
int ieee80211_new_state | ( | struct ieee80211vap * | vap, |
enum ieee80211_state | nstate, | ||
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 | nstate, | ||
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().
|
static |
Definition at line 2470 of file ieee80211_proto.c.
References IEEE80211_DPRINTF, IEEE80211_FEXT_REINIT, IEEE80211_FEXT_STATEWAIT, IEEE80211_LOCK, IEEE80211_LOCK_ASSERT, IEEE80211_MSG_STATE, ieee80211_new_state_locked(), IEEE80211_S_INIT, IEEE80211_S_RUN, IEEE80211_S_SCAN, ieee80211_scan_flush(), ieee80211_state_name, IEEE80211_UNLOCK, ieee80211vap::iv_flags_ext, ieee80211vap::iv_ic, ieee80211vap::iv_ifp, ieee80211vap::iv_newstate, ieee80211vap::iv_nstate, ieee80211vap::iv_nstate_arg, ieee80211vap::iv_state, markwaiting(), and wakeupwaiting().
Referenced by ieee80211_proto_vattach().
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().
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().
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().
void ieee80211_setbasicrates | ( | struct ieee80211_rateset * | rs, |
enum ieee80211_phymode | mode | ||
) |
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.
|
static |
Definition at line 1940 of file ieee80211_proto.c.
References ieee80211com::ic_curchan, IEEE80211_IS_CHAN_NOADHOC, IEEE80211_IS_CHAN_NOHOSTAP, IEEE80211_M_HOSTAP, IEEE80211_M_IBSS, ieee80211vap::iv_ic, and ieee80211vap::iv_opmode.
Referenced by ieee80211_start_locked().
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().
|
static |
Definition at line 1956 of file ieee80211_proto.c.
References ieee80211com::ic_channels, ieee80211com::ic_curchan, and ieee80211vap::iv_ic.
Referenced by ieee80211_start_locked().
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_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().
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().
|
static |
Definition at line 1506 of file ieee80211_proto.c.
References bssPhyParamForAC_BE, bssPhyParamForAC_VI, bssPhyParamForAC_VO, chanAccParams::cap_info, chanAccParams::cap_wmeParams, HIGH_PRI_SWITCH_THRESH, ieee80211com::ic_bsschan, ieee80211com::ic_caps, ieee80211com::ic_nrunning, ieee80211com::ic_opmode, ieee80211com::ic_wme, IEEE80211_C_WME, ieee80211_chan2mode(), IEEE80211_CHAN_ANYC, IEEE80211_LOCK_ASSERT, IEEE80211_M_HOSTAP, IEEE80211_MODE_AUTO, ieee80211_wme_updateparams(), ieee80211vap::iv_bss, ieee80211vap::iv_ic, ieee80211_node::ni_intval, phyParamForAC_BE, phyParamForAC_BK, phyParamForAC_VI, phyParamForAC_VO, setwmeparams(), WME_AC_BE, WME_AC_BK, WME_AC_VI, WME_AC_VO, ieee80211_wme_state::wme_flags, ieee80211_wme_state::wme_hipri_switch_thresh, WME_NUM_AC, ieee80211_wme_state::wme_wmeBssChanParams, and ieee80211_wme_state::wme_wmeChanParams.
Referenced by ieee80211_wme_initparams().
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.
|
static |
Definition at line 2408 of file ieee80211_proto.c.
References IEEE80211_FEXT_SCANWAIT, IEEE80211_LOCK_ASSERT, IEEE80211_S_INIT, ieee80211vap::iv_flags_ext, ieee80211vap::iv_ic, ieee80211vap::iv_newstate, and ieee80211vap::iv_state.
Referenced by ieee80211_newstate_cb().
|
static |
Definition at line 254 of file ieee80211_proto.c.
References ic_printf(), and ieee80211_node::ni_ic.
Referenced by ieee80211_proto_attach().
|
static |
Definition at line 321 of file ieee80211_proto.c.
Referenced by ieee80211_proto_vattach().
|
static |
Definition at line 1817 of file ieee80211_proto.c.
References ieee80211com::ic_parent.
Referenced by ieee80211_proto_attach().
|
static |
Definition at line 1902 of file ieee80211_proto.c.
References ieee80211_resume_all(), and ieee80211_suspend_all().
Referenced by ieee80211_proto_attach().
|
static |
Definition at line 1304 of file ieee80211_proto.c.
References IEEE80211_MODE_11A, IEEE80211_MODE_11B, IEEE80211_MODE_11G, IEEE80211_MODE_11NA, IEEE80211_MODE_11NG, 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_RATE_BASIC, IEEE80211_RATE_VAL, ieee80211_rateset::rs_nrates, and ieee80211_rateset::rs_rates.
Referenced by ieee80211_addbasicrates(), and ieee80211_setbasicrates().
|
static |
Definition at line 1492 of file ieee80211_proto.c.
References _setifsparams(), phyParamType::acm, IEEE80211_DPRINTF, IEEE80211_MSG_WME, ieee80211_wme_acnames, wmeParams::wmep_acm, wmeParams::wmep_aifsn, wmeParams::wmep_logcwmax, wmeParams::wmep_logcwmin, and wmeParams::wmep_txopLimit.
Referenced by ieee80211_wme_initparams_locked().
SYSINIT | ( | wlan_auth | , |
SI_SUB_DRIVERS | , | ||
SI_ORDER_FIRST | , | ||
ieee80211_auth_setup | , | ||
NULL | |||
) |
|
static |
Definition at line 1841 of file ieee80211_proto.c.
References ieee80211com::ic_set_channel, and ieee80211_radiotap_chan_change().
Referenced by ieee80211_proto_attach().
|
static |
Definition at line 1850 of file ieee80211_proto.c.
References ieee80211com::ic_update_chw.
Referenced by ieee80211_proto_attach().
|
static |
Definition at line 1825 of file ieee80211_proto.c.
References ieee80211com::ic_update_mcast.
Referenced by ieee80211_proto_attach().
|
static |
Definition at line 1833 of file ieee80211_proto.c.
References ieee80211com::ic_update_promisc.
Referenced by ieee80211_proto_attach().
|
static |
Definition at line 919 of file ieee80211_proto.c.
References ieee80211com::ic_flags, ieee80211com::ic_flags_ext, IEEE80211_DPRINTF, IEEE80211_F_USEPROT, IEEE80211_FEXT_NONERP_PR, IEEE80211_LOCK, IEEE80211_MSG_DEBUG, ieee80211_notify_erp_locked(), IEEE80211_UNLOCK, ieee80211vap::iv_erp_protmode_update, ieee80211vap::iv_flags, ieee80211vap::iv_flags_ext, and ieee80211vap::iv_ic.
Referenced by ieee80211_proto_vattach().
|
static |
Definition at line 1051 of file ieee80211_proto.c.
References ieee80211com::ic_curhtprotmode, ieee80211com::ic_flags_ht, IEEE80211_DPRINTF, IEEE80211_FHT_NONHT_PR, ieee80211_get_vap_ifname(), IEEE80211_HTINFO_NONHT_PRESENT, ieee80211_htinfo_notify(), IEEE80211_HTINFO_OPMODE, IEEE80211_HTINFO_OPMODE_HT20PR, IEEE80211_HTINFO_OPMODE_MIXED, IEEE80211_HTINFO_OPMODE_PROTOPT, IEEE80211_HTINFO_OPMODE_PURE, IEEE80211_LOCK, IEEE80211_MSG_11N, IEEE80211_UNLOCK, ieee80211vap::iv_curhtprotmode, ieee80211vap::iv_erp_protmode_update, ieee80211vap::iv_flags_ht, ieee80211vap::iv_ht40_sta_assoc, ieee80211vap::iv_ht_protmode_update, ieee80211vap::iv_ht_sta_assoc, ieee80211vap::iv_ic, and ieee80211vap::iv_sta_assoc.
Referenced by ieee80211_proto_vattach().
|
static |
Definition at line 985 of file ieee80211_proto.c.
References ieee80211com::ic_flags, IEEE80211_DPRINTF, IEEE80211_F_SHPREAMBLE, IEEE80211_F_USEBARKER, IEEE80211_LOCK, IEEE80211_MSG_DEBUG, ieee80211_notify_erp_locked(), IEEE80211_UNLOCK, ieee80211vap::iv_erp_protmode_update, ieee80211vap::iv_flags, ieee80211vap::iv_ic, and ieee80211vap::iv_preamble_update.
Referenced by ieee80211_proto_vattach().
|
static |
Definition at line 846 of file ieee80211_proto.c.
References ieee80211com::ic_flags, ieee80211com::ic_updateslot, IEEE80211_F_SHSLOT, IEEE80211_LOCK, IEEE80211_UNLOCK, ieee80211vap::iv_flags, ieee80211vap::iv_ic, and ieee80211vap::iv_updateslot.
Referenced by ieee80211_proto_vattach().
|
static |
Definition at line 1869 of file ieee80211_proto.c.
References chanAccParams::cap_info, chanAccParams::cap_wmeParams, ieee80211com::ic_wme, ieee80211_beacon_notify(), IEEE80211_BEACON_WME, IEEE80211_LOCK, IEEE80211_M_HOSTAP, IEEE80211_M_IBSS, IEEE80211_UNLOCK, ieee80211vap::iv_ic, ieee80211vap::iv_opmode, ieee80211vap::iv_wme_update, ieee80211_wme_state::wme_bssChanParams, ieee80211_wme_state::wme_chanParams, WME_QOSINFO_COUNT, and ieee80211_wme_state::wme_update.
Referenced by ieee80211_proto_vattach().
|
static |
Definition at line 2439 of file ieee80211_proto.c.
References IEEE80211_FEXT_SCANWAIT, IEEE80211_LOCK_ASSERT, IEEE80211_M_STA, IEEE80211_S_RUN, IEEE80211_S_SCAN, ieee80211vap::iv_flags_ext, ieee80211vap::iv_ic, ieee80211vap::iv_newstate, and ieee80211vap::iv_opmode.
Referenced by ieee80211_newstate_cb().
|
static |
Definition at line 504 of file ieee80211_proto.c.
Referenced by _find_acl(), acl_add(), acl_free_all(), acl_getioctl(), acl_remove(), ieee80211_aclator_get(), ieee80211_ioctl_macmac(), and ieee80211_ioctl_setmaccmd().
|
static |
Definition at line 452 of file ieee80211_proto.c.
Referenced by ieee80211_auth_setup().
|
static |
Definition at line 442 of file ieee80211_proto.c.
Referenced by ieee80211_authenticator_get().
|
static |
Definition at line 450 of file ieee80211_proto.c.
Referenced by ieee80211_authenticator_get(), ieee80211_authenticator_register(), and ieee80211_authenticator_unregister().
|
static |
Definition at line 1439 of file ieee80211_proto.c.
Referenced by ieee80211_wme_initparams_locked().
|
static |
Definition at line 1453 of file ieee80211_proto.c.
Referenced by ieee80211_wme_initparams_locked().
|
static |
Definition at line 1467 of file ieee80211_proto.c.
Referenced by ieee80211_wme_initparams_locked().
const char* ctl_subtype_name[] |
Definition at line 74 of file ieee80211_proto.c.
Referenced by ieee80211_ctl_subtype_name().
const char* ieee80211_opmode_name[IEEE80211_OPMODE_MAX] |
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().
const char* ieee80211_state_name[IEEE80211_S_MAX] |
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().
const char* ieee80211_wme_acnames[] |
Definition at line 99 of file ieee80211_proto.c.
Referenced by ieee80211_ampdu_enable(), ieee80211_wme_updateparams_locked(), and setwmeparams().
const char* mgt_subtype_name[] |
Definition at line 68 of file ieee80211_proto.c.
Referenced by ieee80211_mgt_subtype_name().
|
static |
Definition at line 1374 of file ieee80211_proto.c.
Referenced by ieee80211_wme_initparams_locked().
|
static |
Definition at line 1390 of file ieee80211_proto.c.
Referenced by ieee80211_wme_initparams_locked().
|
static |
Definition at line 1406 of file ieee80211_proto.c.
Referenced by ieee80211_wme_initparams_locked().
|
static |
Definition at line 1422 of file ieee80211_proto.c.
Referenced by ieee80211_wme_initparams_locked().