FreeBSD kernel WLAN code
|
#include <sys/cdefs.h>
#include "opt_wlan.h"
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/eventhandler.h>
#include <sys/kernel.h>
#include <sys/linker.h>
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/module.h>
#include <sys/priv.h>
#include <sys/proc.h>
#include <sys/sysctl.h>
#include <sys/socket.h>
#include <net/bpf.h>
#include <net/debugnet.h>
#include <net/if.h>
#include <net/if_var.h>
#include <net/if_dl.h>
#include <net/if_clone.h>
#include <net/if_media.h>
#include <net/if_types.h>
#include <net/ethernet.h>
#include <net/route.h>
#include <net/vnet.h>
#include <net80211/ieee80211_var.h>
#include <net80211/ieee80211_input.h>
#include <sys/libkern.h>
Go to the source code of this file.
Macros | |
#define | MC_ALIGN(m, len) |
Functions | |
__FBSDID ("$FreeBSD$") | |
DEBUGNET_DEFINE (ieee80211) | |
SYSCTL_NODE (_net, OID_AUTO, wlan, CTLFLAG_RD|CTLFLAG_MPSAFE, 0, "IEEE 80211 parameters") | |
int | ieee80211_priv_check_vap_getkey (u_long cmd __unused, struct ieee80211vap *vap __unused, struct ifnet *ifp __unused) |
int | ieee80211_priv_check_vap_manage (u_long cmd __unused, struct ieee80211vap *vap __unused, struct ifnet *ifp __unused) |
int | ieee80211_priv_check_vap_setmac (u_long cmd __unused, struct ieee80211vap *vap __unused, struct ifnet *ifp __unused) |
int | ieee80211_priv_check_create_vap (u_long cmd __unused, struct ieee80211vap *vap __unused, struct ifnet *ifp __unused) |
static int | wlan_clone_create (struct if_clone *ifc, int unit, caddr_t params) |
static void | wlan_clone_destroy (struct ifnet *ifp) |
void | ieee80211_vap_destroy (struct ieee80211vap *vap) |
int | ieee80211_sysctl_msecs_ticks (SYSCTL_HANDLER_ARGS) |
static int | ieee80211_sysctl_inact (SYSCTL_HANDLER_ARGS) |
static int | ieee80211_sysctl_parent (SYSCTL_HANDLER_ARGS) |
static int | ieee80211_sysctl_radar (SYSCTL_HANDLER_ARGS) |
static int | ieee80211_sysctl_vap_restart (SYSCTL_HANDLER_ARGS) |
void | ieee80211_sysctl_attach (struct ieee80211com *ic) |
void | ieee80211_sysctl_detach (struct ieee80211com *ic) |
void | ieee80211_sysctl_vattach (struct ieee80211vap *vap) |
void | ieee80211_sysctl_vdetach (struct ieee80211vap *vap) |
int | ieee80211_com_vincref (struct ieee80211vap *vap) |
void | ieee80211_com_vdecref (struct ieee80211vap *vap) |
void | ieee80211_com_vdetach (struct ieee80211vap *vap) |
int | ieee80211_node_dectestref (struct ieee80211_node *ni) |
void | ieee80211_drain_ifq (struct ifqueue *ifq) |
void | ieee80211_flush_ifq (struct ifqueue *ifq, struct ieee80211vap *vap) |
struct mbuf * | ieee80211_getmgtframe (uint8_t **frm, int headroom, int pktlen) |
struct mbuf * | ieee80211_realign (struct ieee80211vap *vap, struct mbuf *m, size_t align) |
int | ieee80211_add_callback (struct mbuf *m, void(*func)(struct ieee80211_node *, void *, int), void *arg) |
int | ieee80211_add_xmit_params (struct mbuf *m, const struct ieee80211_bpf_params *params) |
int | ieee80211_get_xmit_params (struct mbuf *m, struct ieee80211_bpf_params *params) |
void | ieee80211_process_callback (struct ieee80211_node *ni, struct mbuf *m, int status) |
int | ieee80211_add_rx_params (struct mbuf *m, const struct ieee80211_rx_stats *rxs) |
int | ieee80211_get_rx_params (struct mbuf *m, struct ieee80211_rx_stats *rxs) |
const struct ieee80211_rx_stats * | ieee80211_get_rx_params_ptr (struct mbuf *m) |
int | ieee80211_add_toa_params (struct mbuf *m, const struct ieee80211_toa_params *p) |
int | ieee80211_get_toa_params (struct mbuf *m, struct ieee80211_toa_params *p) |
int | ieee80211_parent_xmitpkt (struct ieee80211com *ic, struct mbuf *m) |
int | ieee80211_vap_xmitpkt (struct ieee80211vap *vap, struct mbuf *m) |
void | net80211_get_random_bytes (void *p, size_t n) |
static void | notify_macaddr (struct ifnet *ifp, int op, const uint8_t mac[IEEE80211_ADDR_LEN]) |
void | ieee80211_notify_node_join (struct ieee80211_node *ni, int newassoc) |
void | ieee80211_notify_node_leave (struct ieee80211_node *ni) |
void | ieee80211_notify_scan_done (struct ieee80211vap *vap) |
void | ieee80211_notify_replay_failure (struct ieee80211vap *vap, const struct ieee80211_frame *wh, const struct ieee80211_key *k, u_int64_t rsc, int tid) |
void | ieee80211_notify_michael_failure (struct ieee80211vap *vap, const struct ieee80211_frame *wh, u_int keyix) |
void | ieee80211_notify_wds_discover (struct ieee80211_node *ni) |
void | ieee80211_notify_csa (struct ieee80211com *ic, const struct ieee80211_channel *c, int mode, int count) |
void | ieee80211_notify_radar (struct ieee80211com *ic, const struct ieee80211_channel *c) |
void | ieee80211_notify_cac (struct ieee80211com *ic, const struct ieee80211_channel *c, enum ieee80211_notify_cac_event type) |
void | ieee80211_notify_node_deauth (struct ieee80211_node *ni) |
void | ieee80211_notify_node_auth (struct ieee80211_node *ni) |
void | ieee80211_notify_country (struct ieee80211vap *vap, const uint8_t bssid[IEEE80211_ADDR_LEN], const uint8_t cc[2]) |
void | ieee80211_notify_radio (struct ieee80211com *ic, int state) |
void | ieee80211_notify_ifnet_change (struct ieee80211vap *vap) |
void | ieee80211_load_module (const char *modname) |
static void | bpf_track (void *arg, struct ifnet *ifp, int dlt, int attach) |
static void | wlan_iflladdr (void *arg __unused, struct ifnet *ifp) |
const char * | ieee80211_get_vap_ifname (struct ieee80211vap *vap) |
static int | wlan_modevent (module_t mod, int type, void *unused) |
DECLARE_MODULE (wlan, wlan_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST) | |
MODULE_VERSION (wlan, 1) | |
MODULE_DEPEND (wlan, ether, 1, 1, 1) | |
Variables | |
static const char | wlanname [] = "wlan" |
static struct if_clone * | wlan_cloner |
static eventhandler_tag | wlan_bpfevent |
static eventhandler_tag | wlan_ifllevent |
static moduledata_t | wlan_mod |
#define MC_ALIGN | ( | m, | |
len | |||
) |
Definition at line 463 of file ieee80211_freebsd.c.
__FBSDID | ( | "$FreeBSD$" | ) |
|
static |
Definition at line 1045 of file ieee80211_freebsd.c.
References DLT_IEEE802_11_RADIO, ieee80211com::ic_montaps, IEEE80211_FEXT_BPF, ieee80211_init(), IEEE80211_M_MONITOR, ieee80211_syncflag_ext(), ieee80211vap::iv_ic, ieee80211vap::iv_opmode, and ieee80211vap::iv_rawbpf.
Referenced by wlan_modevent().
DEBUGNET_DEFINE | ( | ieee80211 | ) |
DECLARE_MODULE | ( | wlan | , |
wlan_mod | , | ||
SI_SUB_DRIVERS | , | ||
SI_ORDER_FIRST | |||
) |
int ieee80211_add_callback | ( | struct mbuf * | m, |
void(*)(struct ieee80211_node *, void *, int) | func, | ||
void * | arg | ||
) |
Definition at line 551 of file ieee80211_freebsd.c.
References ieee80211_cb::arg, ieee80211_cb::func, M_TXCB, MTAG_ABI_NET80211, and NET80211_TAG_CALLBACK.
Referenced by ieee80211_send_bar(), ieee80211_send_mgmt(), and ieee80211_send_nulldata().
int ieee80211_add_rx_params | ( | struct mbuf * | m, |
const struct ieee80211_rx_stats * | rxs | ||
) |
Definition at line 623 of file ieee80211_freebsd.c.
References MTAG_ABI_NET80211, NET80211_TAG_RECV_PARAMS, and ieee80211_rx_params::params.
Referenced by ieee80211_input_all().
int ieee80211_add_toa_params | ( | struct mbuf * | m, |
const struct ieee80211_toa_params * | p | ||
) |
Definition at line 672 of file ieee80211_freebsd.c.
References MTAG_ABI_NET80211, and NET80211_TAG_TOA_PARAMS.
int ieee80211_add_xmit_params | ( | struct mbuf * | m, |
const struct ieee80211_bpf_params * | params | ||
) |
Definition at line 571 of file ieee80211_freebsd.c.
References MTAG_ABI_NET80211, NET80211_TAG_XMIT_PARAMS, and ieee80211_tx_params::params.
Referenced by ieee80211_raw_output().
void ieee80211_com_vdecref | ( | struct ieee80211vap * | vap | ) |
Definition at line 380 of file ieee80211_freebsd.c.
References _IEEE80211_MASKSHIFT, IEEE80211_COM_REF, IEEE80211_COM_REF_ADD, and ieee80211vap::iv_com_state.
Referenced by ieee80211_ioctl().
void ieee80211_com_vdetach | ( | struct ieee80211vap * | vap | ) |
Definition at line 393 of file ieee80211_freebsd.c.
References _IEEE80211_MASKSHIFT, IEEE80211_COM_DETACHED, IEEE80211_COM_REF, ieee80211vap::iv_com_state, and msecs_to_ticks.
Referenced by ieee80211_ifdetach().
int ieee80211_com_vincref | ( | struct ieee80211vap * | vap | ) |
Definition at line 359 of file ieee80211_freebsd.c.
References _IEEE80211_MASKSHIFT, IEEE80211_COM_DETACHED, IEEE80211_COM_REF, IEEE80211_COM_REF_ADD, IEEE80211_COM_REF_MAX, and ieee80211vap::iv_com_state.
Referenced by ieee80211_ioctl().
void ieee80211_drain_ifq | ( | struct ifqueue * | ifq | ) |
Definition at line 413 of file ieee80211_freebsd.c.
References ieee80211_free_node().
void ieee80211_flush_ifq | ( | struct ifqueue * | ifq, |
struct ieee80211vap * | vap | ||
) |
Definition at line 433 of file ieee80211_freebsd.c.
References ieee80211_free_node(), and ieee80211_node::ni_vap.
int ieee80211_get_rx_params | ( | struct mbuf * | m, |
struct ieee80211_rx_stats * | rxs | ||
) |
Definition at line 640 of file ieee80211_freebsd.c.
References MTAG_ABI_NET80211, NET80211_TAG_RECV_PARAMS, and ieee80211_rx_params::params.
Referenced by ieee80211_input_mimo().
const struct ieee80211_rx_stats * ieee80211_get_rx_params_ptr | ( | struct mbuf * | m | ) |
Definition at line 655 of file ieee80211_freebsd.c.
References MTAG_ABI_NET80211, NET80211_TAG_RECV_PARAMS, and ieee80211_rx_params::params.
Referenced by ampdu_rx_add_slot(), ccmp_decap(), ieee80211_crypto_decap(), ieee80211_crypto_demic(), tkip_decap(), tkip_demic(), and wep_decap().
int ieee80211_get_toa_params | ( | struct mbuf * | m, |
struct ieee80211_toa_params * | p | ||
) |
Definition at line 689 of file ieee80211_freebsd.c.
References MTAG_ABI_NET80211, and NET80211_TAG_TOA_PARAMS.
const char * ieee80211_get_vap_ifname | ( | struct ieee80211vap * | vap | ) |
Definition at line 1092 of file ieee80211_freebsd.c.
References ieee80211vap::iv_ifp.
Referenced by vap_update_ht_protmode().
int ieee80211_get_xmit_params | ( | struct mbuf * | m, |
struct ieee80211_bpf_params * | params | ||
) |
Definition at line 589 of file ieee80211_freebsd.c.
References MTAG_ABI_NET80211, NET80211_TAG_XMIT_PARAMS, and ieee80211_tx_params::params.
struct mbuf * ieee80211_getmgtframe | ( | uint8_t ** | frm, |
int | headroom, | ||
int | pktlen | ||
) |
Definition at line 478 of file ieee80211_freebsd.c.
References MC_ALIGN.
Referenced by ht_send_action_ba_addba(), ht_send_action_ba_delba(), ht_send_action_ht_txchwidth(), hwmp_send_action(), ieee80211_alloc_proberesp(), ieee80211_beacon_alloc(), ieee80211_send_bar(), ieee80211_send_mgmt(), ieee80211_send_nulldata(), ieee80211_send_probereq(), mesh_send_action_meshgate(), mesh_send_action_meshlmetric(), mesh_send_action_meshpeering_close(), mesh_send_action_meshpeering_confirm(), and mesh_send_action_meshpeering_open().
void ieee80211_load_module | ( | const char * | modname | ) |
Definition at line 1031 of file ieee80211_freebsd.c.
Referenced by ieee80211_aclator_get(), ieee80211_authenticator_get(), ieee80211_crypto_newkey(), ieee80211_ratectl_set(), and ieee80211_scanner_get().
int ieee80211_node_dectestref | ( | struct ieee80211_node * | ni | ) |
Definition at line 405 of file ieee80211_freebsd.c.
References ieee80211_node::ni_refcnt.
Referenced by ieee80211_free_node(), and node_reclaim().
void ieee80211_notify_cac | ( | struct ieee80211com * | ic, |
const struct ieee80211_channel * | c, | ||
enum ieee80211_notify_cac_event | type | ||
) |
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 * | vap, |
const uint8_t | bssid[IEEE80211_ADDR_LEN], | ||
const uint8_t | cc[2] | ||
) |
Definition at line 985 of file ieee80211_freebsd.c.
References IEEE80211_ADDR_COPY, ieee80211_country_event::iev_addr, ieee80211_country_event::iev_cc, ieee80211vap::iv_ifp, and RTM_IEEE80211_COUNTRY.
Referenced by sta_add().
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_michael_failure | ( | struct ieee80211vap * | vap, |
const struct ieee80211_frame * | wh, | ||
u_int | keyix | ||
) |
Definition at line 868 of file ieee80211_freebsd.c.
References ieee80211_frame::i_addr1, ieee80211_frame::i_addr2, IEEE80211_ADDR_COPY, IEEE80211_CIPHER_TKIP, IEEE80211_MSG_CRYPTO, IEEE80211_NOTE_MAC, ieee80211_michael_event::iev_cipher, ieee80211_michael_event::iev_dst, ieee80211_michael_event::iev_keyix, ieee80211_michael_event::iev_src, ieee80211_stats::is_rx_tkipmic, ieee80211vap::iv_ifp, ieee80211vap::iv_stats, and RTM_IEEE80211_MICHAEL.
Referenced by ieee80211_crypto_demic(), and tkip_demic().
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_replay_failure | ( | struct ieee80211vap * | vap, |
const struct ieee80211_frame * | wh, | ||
const struct ieee80211_key * | k, | ||
u_int64_t | rsc, | ||
int | tid | ||
) |
Definition at line 834 of file ieee80211_freebsd.c.
References ieee80211_frame::i_addr1, ieee80211_frame::i_addr2, ieee80211_cipher::ic_cipher, ieee80211_cipher::ic_name, IEEE80211_ADDR_COPY, IEEE80211_KEYIX_NONE, IEEE80211_MSG_CRYPTO, IEEE80211_NOTE_MAC, ieee80211_replay_event::iev_cipher, ieee80211_replay_event::iev_dst, ieee80211_replay_event::iev_keyix, ieee80211_replay_event::iev_keyrsc, ieee80211_replay_event::iev_rsc, ieee80211_replay_event::iev_src, ieee80211vap::iv_ifp, RTM_IEEE80211_REPLAY, ieee80211_key::wk_cipher, ieee80211_key::wk_keyix, ieee80211_key::wk_keyrsc, and ieee80211_key::wk_rxkeyix.
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_parent_xmitpkt | ( | struct ieee80211com * | ic, |
struct mbuf * | m | ||
) |
Definition at line 708 of file ieee80211_freebsd.c.
References ieee80211com::ic_transmit, ieee80211_free_mbuf(), ieee80211_free_node(), IEEE80211_TX_LOCK_ASSERT, ieee80211vap::iv_ifp, and ieee80211_node::ni_vap.
Referenced by ieee80211_dwds_mcast(), ieee80211_recv_pspoll(), ieee80211_vap_pkt_send_dest(), mesh_forward(), and pwrsave_flushq().
int ieee80211_priv_check_create_vap | ( | u_long cmd | __unused, |
struct ieee80211vap *vap | __unused, | ||
struct ifnet *ifp | __unused | ||
) |
Definition at line 107 of file ieee80211_freebsd.c.
Referenced by wlan_clone_create().
int ieee80211_priv_check_vap_getkey | ( | u_long cmd | __unused, |
struct ieee80211vap *vap | __unused, | ||
struct ifnet *ifp | __unused | ||
) |
Definition at line 83 of file ieee80211_freebsd.c.
Referenced by ieee80211_ioctl_get80211(), and ieee80211_ioctl_getkey().
int ieee80211_priv_check_vap_manage | ( | u_long cmd | __unused, |
struct ieee80211vap *vap | __unused, | ||
struct ifnet *ifp | __unused | ||
) |
Definition at line 91 of file ieee80211_freebsd.c.
Referenced by ieee80211_ioctl().
int ieee80211_priv_check_vap_setmac | ( | u_long cmd | __unused, |
struct ieee80211vap *vap | __unused, | ||
struct ifnet *ifp | __unused | ||
) |
Definition at line 99 of file ieee80211_freebsd.c.
Referenced by ieee80211_ioctl().
void ieee80211_process_callback | ( | struct ieee80211_node * | ni, |
struct mbuf * | m, | ||
int | status | ||
) |
Definition at line 605 of file ieee80211_freebsd.c.
References ieee80211_cb::arg, ieee80211_cb::func, MTAG_ABI_NET80211, and NET80211_TAG_CALLBACK.
Referenced by ieee80211_tx_complete().
struct mbuf * ieee80211_realign | ( | struct ieee80211vap * | vap, |
struct mbuf * | m, | ||
size_t | align | ||
) |
Definition at line 517 of file ieee80211_freebsd.c.
References IEEE80211_DISCARD, IEEE80211_MSG_ANY, ieee80211_stats::is_rx_badalign, and ieee80211vap::iv_stats.
Referenced by ieee80211_decap(), and mesh_decap().
void ieee80211_sysctl_attach | ( | struct ieee80211com * | ic | ) |
Definition at line 254 of file ieee80211_freebsd.c.
Referenced by ieee80211_ifattach().
void ieee80211_sysctl_detach | ( | struct ieee80211com * | ic | ) |
Definition at line 259 of file ieee80211_freebsd.c.
Referenced by ieee80211_ifdetach().
|
static |
Definition at line 198 of file ieee80211_freebsd.c.
References IEEE80211_INACT_WAIT.
Referenced by ieee80211_sysctl_vattach().
int ieee80211_sysctl_msecs_ticks | ( | SYSCTL_HANDLER_ARGS | ) |
Definition at line 185 of file ieee80211_freebsd.c.
References msecs_to_ticks, and ticks_to_msecs.
|
static |
Definition at line 211 of file ieee80211_freebsd.c.
References ieee80211com::ic_name.
Referenced by ieee80211_sysctl_vattach().
|
static |
Definition at line 219 of file ieee80211_freebsd.c.
References ieee80211com::ic_curchan, ieee80211_dfs_notify_radar(), IEEE80211_LOCK, and IEEE80211_UNLOCK.
Referenced by ieee80211_sysctl_vattach().
|
static |
Definition at line 240 of file ieee80211_freebsd.c.
References ieee80211_restart_all(), and ieee80211vap::iv_ic.
Referenced by ieee80211_sysctl_vattach().
void ieee80211_sysctl_vattach | ( | struct ieee80211vap * | vap | ) |
Definition at line 264 of file ieee80211_freebsd.c.
References IEEE80211_C_DFS, IEEE80211_HTC_HT, IEEE80211_M_NOWAIT, IEEE80211_M_ZERO, IEEE80211_MALLOC, ieee80211_sysctl_inact(), ieee80211_sysctl_parent(), ieee80211_sysctl_radar(), ieee80211_sysctl_vap_restart(), ieee80211vap::iv_ampdu_mintraffic, ieee80211vap::iv_bmiss_max, ieee80211vap::iv_caps, ieee80211vap::iv_debug, ieee80211vap::iv_htcaps, ieee80211vap::iv_ic, ieee80211vap::iv_ifp, ieee80211vap::iv_inact_auth, ieee80211vap::iv_inact_init, ieee80211vap::iv_inact_probe, ieee80211vap::iv_inact_run, ieee80211vap::iv_oid, ieee80211vap::iv_sysctl, WME_AC_BE, WME_AC_BK, WME_AC_VI, and WME_AC_VO.
Referenced by ieee80211_vap_setup().
void ieee80211_sysctl_vdetach | ( | struct ieee80211vap * | vap | ) |
Definition at line 348 of file ieee80211_freebsd.c.
References IEEE80211_FREE, and ieee80211vap::iv_sysctl.
Referenced by ieee80211_vap_detach().
void ieee80211_vap_destroy | ( | struct ieee80211vap * | vap | ) |
Definition at line 177 of file ieee80211_freebsd.c.
References ieee80211vap::iv_ifp, and wlan_cloner.
Referenced by ieee80211_ifdetach().
int ieee80211_vap_xmitpkt | ( | struct ieee80211vap * | vap, |
struct mbuf * | m | ||
) |
Definition at line 735 of file ieee80211_freebsd.c.
References IEEE80211_TX_UNLOCK_ASSERT, ieee80211vap::iv_ic, and ieee80211vap::iv_ifp.
Referenced by hostap_deliver_data(), hwmp_recv_prep(), ieee80211_recv_pspoll(), and pwrsave_flushq().
MODULE_DEPEND | ( | wlan | , |
ether | , | ||
1 | , | ||
1 | , | ||
1 | |||
) |
MODULE_VERSION | ( | wlan | , |
1 | |||
) |
void net80211_get_random_bytes | ( | void * | p, |
size_t | n | ||
) |
Definition at line 752 of file ieee80211_freebsd.c.
Referenced by hostap_auth_shared(), ieee80211_create_ibss(), ieee80211_dfs_pickchannel(), mesh_generateid(), and wep_attach().
|
static |
Definition at line 768 of file ieee80211_freebsd.c.
References IEEE80211_ADDR_COPY, ieee80211_join_event::iev_addr, and mac.
Referenced by ieee80211_notify_node_auth(), ieee80211_notify_node_deauth(), ieee80211_notify_node_join(), ieee80211_notify_node_leave(), and ieee80211_notify_wds_discover().
SYSCTL_NODE | ( | _net | , |
OID_AUTO | , | ||
wlan | , | ||
CTLFLAG_RD| | CTLFLAG_MPSAFE, | ||
0 | , | ||
"IEEE 80211 parameters" | |||
) |
|
static |
Definition at line 115 of file ieee80211_freebsd.c.
References ieee80211com::ic_caps, ieee80211com::ic_debugnet_meth, ieee80211com::ic_macaddr, ic_printf(), ieee80211com::ic_vap_create, ieee80211_clone_params::icp_bssid, ieee80211_clone_params::icp_flags, ieee80211_clone_params::icp_macaddr, ieee80211_clone_params::icp_opmode, ieee80211_clone_params::icp_parent, IEEE80211_C_TDMA, IEEE80211_CLONE_MACADDR, IEEE80211_CLONE_TDMA, ieee80211_find_com(), ieee80211_opcap, IEEE80211_OPMODE_MAX, ieee80211_opmode_name, ieee80211_priv_check_create_vap(), ieee80211vap::iv_ifp, and wlanname.
Referenced by wlan_modevent().
|
static |
Definition at line 168 of file ieee80211_freebsd.c.
References ieee80211com::ic_vap_delete, and ieee80211vap::iv_ic.
Referenced by wlan_modevent().
|
static |
Definition at line 1074 of file ieee80211_freebsd.c.
References IEEE80211_ADDR_COPY, ieee80211_init(), and ieee80211vap::iv_myaddr.
Referenced by wlan_modevent().
|
static |
Definition at line 1153 of file ieee80211_freebsd.c.
References bpf_track(), wlan_bpfevent, wlan_clone_create(), wlan_clone_destroy(), wlan_cloner, wlan_iflladdr(), wlan_ifllevent, and wlanname.
|
static |
Definition at line 1041 of file ieee80211_freebsd.c.
Referenced by wlan_modevent().
|
static |
Definition at line 76 of file ieee80211_freebsd.c.
Referenced by ieee80211_vap_destroy(), and wlan_modevent().
|
static |
Definition at line 1042 of file ieee80211_freebsd.c.
Referenced by wlan_modevent().
|
static |
Definition at line 1175 of file ieee80211_freebsd.c.
|
static |
Definition at line 75 of file ieee80211_freebsd.c.
Referenced by wlan_clone_create(), and wlan_modevent().