Lines Matching +full:conf +full:- +full:tx

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
5 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting
93 * says that VHT is supported - and then this macro can be
97 ((ic)->ic_flags_ext & IEEE80211_FEXT_VHT)
100 ((ic)->ic_flags_ext & IEEE80211_FEXT_SEQNO_OFFLOAD)
102 ((ic)->ic_flags_ext & IEEE80211_FEXT_FRAG_OFFLOAD)
104 ((ic)->ic_flags_ext & IEEE80211_FEXT_AMPDU_OFFLOAD)
108 * 1-1 to a physical device and one or more "Virtual AP's" (VAP)
118 * e.g. device-specific callbacks.
125 uint8_t ie_data[]; /* user-specified IE's */
141 ieee80211_tx_lock_t ic_txlock; /* ic/vap TX lock */
145 int ic_headroom; /* driver tx headroom needs */
146 enum ieee80211_phytype ic_phytype; /* XXX wrong for multi-mode */
168 /* driver-supported software crypto caps */
183 uint16_t ic_txpowlimit; /* global tx power limit */
196 * ic_chan_avail that reflects any mode setting or user-specified
199 * be different from ic_bsschan when we are off-channel scanning
237 /* XXX multi-bss: split out common/vap parts */
246 uint8_t ic_txstream; /* # TX streams */
258 struct ieee80211_radiotap_header *ic_th;/* tx radiotap headers */
344 * of A-MPDU tx aggregation is provided; the driver may
346 * A-MPDU rx re-ordering happens automatically if the
347 * driver passes out-of-order frames to ieee80211_input
355 /* check if A-MPDU should be enabled this station+ac */
358 /* start/stop doing A-MPDU tx aggregation for a station */
373 /* start/stop doing A-MPDU rx processing for a station */
380 /* The channel width has changed (20<->2040) */
459 /* sta-mode roaming state */
470 int iv_ampdu_rxmax; /* A-MPDU rx limit (bytes) */
471 int iv_ampdu_density;/* A-MPDU density */
472 int iv_ampdu_limit; /* A-MPDU tx limit (bytes) */
473 int iv_amsdu_limit; /* A-MSDU tx limit (bytes) */
484 uint8_t *iv_tim_bitmap; /* power-save stations w/ data*/
501 /* application-specified IE's to attach to mgt frames */
513 ieee80211_keyix iv_def_txkey; /* default/group tx key index */
540 /* operate-mode detach hook */
593 uint16_t iv_nonerpsta; /* # non-ERP stations */
597 int iv_lastnonerp; /* last time non-ERP sta noted*/
598 int iv_lastnonht; /* last time non-HT sta noted */
613 /* per-vap U-APSD state */
628 #define IEEE80211_F_TURBOP 0x00000001 /* CONF: ATH Turbo enabled*/
629 #define IEEE80211_F_COMP 0x00000002 /* CONF: ATH comp enabled */
630 #define IEEE80211_F_FF 0x00000004 /* CONF: ATH FF enabled */
631 #define IEEE80211_F_BURST 0x00000008 /* CONF: bursting enabled */
633 #define IEEE80211_F_PRIVACY 0x00000010 /* CONF: privacy enabled */
634 #define IEEE80211_F_PUREG 0x00000020 /* CONF: 11g w/o 11b sta's */
639 #define IEEE80211_F_PMGTON 0x00000800 /* CONF: Power mgmt enable */
640 #define IEEE80211_F_DESBSSID 0x00001000 /* CONF: des_bssid is set */
641 #define IEEE80211_F_WME 0x00002000 /* CONF: enable WME use */
642 #define IEEE80211_F_BGSCAN 0x00004000 /* CONF: bg scan enabled (???)*/
643 #define IEEE80211_F_SWRETRY 0x00008000 /* CONF: sw tx retry enabled */
646 #define IEEE80211_F_DATAPAD 0x00080000 /* CONF: do alignment pad */
650 #define IEEE80211_F_WPA1 0x00800000 /* CONF: WPA enabled */
651 #define IEEE80211_F_WPA2 0x01000000 /* CONF: WPA2 enabled */
652 #define IEEE80211_F_WPA 0x01800000 /* CONF: WPA/WPA2 enabled */
653 #define IEEE80211_F_DROPUNENC 0x02000000 /* CONF: drop unencrypted */
654 #define IEEE80211_F_COUNTERM 0x04000000 /* CONF: TKIP countermeasures */
655 #define IEEE80211_F_HIDESSID 0x08000000 /* CONF: hide SSID in beacon */
656 #define IEEE80211_F_NOBRIDGE 0x10000000 /* CONF: dis. internal bridge */
657 #define IEEE80211_F_PCF 0x20000000 /* CONF: PCF enabled */
658 #define IEEE80211_F_DOTH 0x40000000 /* CONF: 11h enabled */
659 #define IEEE80211_F_DWDS 0x80000000 /* CONF: Dynamic WDS enabled */
668 /* Atheros protocol-specific flags */
673 ((vap)->iv_flags & (ni)->ni_ath_flags & (bit))
676 #define IEEE80211_FEXT_INACT 0x00000002 /* CONF: sta inact handling */
680 #define IEEE80211_FEXT_WPS 0x00000010 /* CONF: WPS enabled */
681 #define IEEE80211_FEXT_TSN 0x00000020 /* CONF: TSN enabled */
684 #define IEEE80211_FEXT_4ADDR 0x00000100 /* CONF: apply 4-addr encap */
685 #define IEEE80211_FEXT_NONERP_PR 0x00000200 /* STATUS: non-ERP sta present*/
686 #define IEEE80211_FEXT_SWBMISS 0x00000400 /* CONF: do bmiss in s/w */
687 #define IEEE80211_FEXT_DFS 0x00000800 /* CONF: DFS enabled */
688 #define IEEE80211_FEXT_DOTD 0x00001000 /* CONF: 11d enabled */
693 #define IEEE80211_FEXT_WDSLEGACY 0x00010000 /* CONF: legacy WDS operation */
694 #define IEEE80211_FEXT_PROBECHAN 0x00020000 /* CONF: probe passive channel*/
695 #define IEEE80211_FEXT_UNIQMAC 0x00040000 /* CONF: user or computed mac */
696 #define IEEE80211_FEXT_SCAN_OFFLOAD 0x00080000 /* CONF: scan is fully offloaded */
697 #define IEEE80211_FEXT_SEQNO_OFFLOAD 0x00100000 /* CONF: driver does seqno insertion/allocation */
698 #define IEEE80211_FEXT_FRAG_OFFLOAD 0x00200000 /* CONF: hardware does 802.11 fragmentation + assign…
699 #define IEEE80211_FEXT_VHT 0x00400000 /* CONF: VHT support */
701 #define IEEE80211_FEXT_UAPSD 0x01000000 /* CONF: enable U-APSD */
702 #define IEEE80211_FEXT_AMPDU_OFFLOAD 0x02000000 /* CONF: driver/fw handles AMPDU[-TX] itself */
712 #define IEEE80211_FHT_NONHT_PR 0x00000001 /* STATUS: non-HT sta present */
713 #define IEEE80211_FHT_LDPC_TX 0x00010000 /* CONF: LDPC tx enabled */
714 #define IEEE80211_FHT_LDPC_RX 0x00020000 /* CONF: LDPC rx enabled */
715 #define IEEE80211_FHT_GF 0x00040000 /* CONF: Greenfield enabled */
716 #define IEEE80211_FHT_HT 0x00080000 /* CONF: HT supported */
717 #define IEEE80211_FHT_AMPDU_TX 0x00100000 /* CONF: A-MPDU tx supported */
718 #define IEEE80211_FHT_AMPDU_RX 0x00200000 /* CONF: A-MPDU rx supported */
719 #define IEEE80211_FHT_AMSDU_TX 0x00400000 /* CONF: A-MSDU tx supported */
720 #define IEEE80211_FHT_AMSDU_RX 0x00800000 /* CONF: A-MSDU rx supported */
721 #define IEEE80211_FHT_USEHT40 0x01000000 /* CONF: 20/40 use enabled */
722 #define IEEE80211_FHT_PUREN 0x02000000 /* CONF: 11n w/o legacy sta's */
723 #define IEEE80211_FHT_SHORTGI20 0x04000000 /* CONF: short GI in HT20 */
724 #define IEEE80211_FHT_SHORTGI40 0x08000000 /* CONF: short GI in HT40 */
725 #define IEEE80211_FHT_HTCOMPAT 0x10000000 /* CONF: HT vendor OUI's */
726 #define IEEE80211_FHT_RIFS 0x20000000 /* CONF: RIFS enabled */
727 #define IEEE80211_FHT_STBC_TX 0x40000000 /* CONF: STBC tx enabled */
728 #define IEEE80211_FHT_STBC_RX 0x80000000 /* CONF: STBC rx enabled */
742 #define IEEE80211_FVHT_VHT 0x000000001 /* CONF: VHT supported */
743 #define IEEE80211_FVHT_USEVHT40 0x000000002 /* CONF: Use VHT40 */
744 #define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */
745 #define IEEE80211_FVHT_USEVHT80P80 0x000000008 /* CONF: Use VHT 80+80 */
746 #define IEEE80211_FVHT_USEVHT160 0x000000010 /* CONF: Use VHT160 */
747 #define IEEE80211_FVHT_STBC_TX 0x00000020 /* CONF: STBC tx enabled */
748 #define IEEE80211_FVHT_STBC_RX 0x00000040 /* CONF: STBC rx enabled */
841 #define ieee80211_get_current_channel(_ic) ((_ic)->ic_curchan)
842 #define ieee80211_get_home_channel(_ic) ((_ic)->ic_bsschan)
843 #define ieee80211_get_vap_desired_channel(_iv) ((_iv)->iv_des_chan)
874 return (ic->ic_flags_ext & IEEE80211_FEXT_BPF) != 0; in ieee80211_radiotap_active()
880 return (vap->iv_flags_ext & IEEE80211_FEXT_BPF) || in ieee80211_radiotap_active_vap()
881 vap->iv_ic->ic_montaps != 0; in ieee80211_radiotap_active_vap()
890 taskqueue_enqueue(ic->ic_tq, task); in ieee80211_runtask()
899 taskqueue_drain(ic->ic_tq, task); in ieee80211_draintask()
908 vap->iv_key_update_begin(vap); in ieee80211_key_update_begin()
913 vap->iv_key_update_end(vap); in ieee80211_key_update_end()
929 if (ic->ic_flags & IEEE80211_F_DATAPAD) in ieee80211_hdrspace()
941 if (ic->ic_flags & IEEE80211_F_DATAPAD) in ieee80211_anyhdrspace()
952 if (vap->iv_state == IEEE80211_S_RUN) in ieee80211_beacon_notify()
953 vap->iv_update_beacon(vap, what); in ieee80211_beacon_notify()
990 * Fetch the current TX power (cap) for the given node.
992 * This includes the node and ic/vap TX power limit as needed,
993 * but it doesn't take into account any per-rate limit.
998 struct ieee80211com *ic = ni->ni_ic; in ieee80211_get_node_txpower()
1001 txpower = ni->ni_txpower; in ieee80211_get_node_txpower()
1002 txpower = MIN(txpower, ic->ic_txpowlimit); in ieee80211_get_node_txpower()
1003 if (ic->ic_curchan != NULL) { in ieee80211_get_node_txpower()
1004 txpower = MIN(txpower, 2 * ic->ic_curchan->ic_maxregpower); in ieee80211_get_node_txpower()
1005 txpower = MIN(txpower, ic->ic_curchan->ic_maxpower); in ieee80211_get_node_txpower()
1046 #define IEEE80211_MSG_ROAM 0x00000040 /* sta-mode roaming */
1047 #define IEEE80211_MSG_RATECTL 0x00000020 /* tx rate control */
1066 #define ieee80211_msg(_vap, _m) ((_vap)->iv_debug & (_m))
1073 ieee80211_note_mac(_vap, (_ni)->ni_macaddr, _fmt, __VA_ARGS__);\
1089 ((_vap)->iv_debug & IEEE80211_MSG_DEBUG)
1091 ((_vap)->iv_debug & IEEE80211_MSG_DUMPPKTS)
1093 ((_vap)->iv_debug & IEEE80211_MSG_INPUT)
1095 ((_vap)->iv_debug & IEEE80211_MSG_RADIUS)
1097 ((_vap)->iv_debug & IEEE80211_MSG_RADDUMP)
1099 ((_vap)->iv_debug & IEEE80211_MSG_RADKEYS)
1101 ((_vap)->iv_debug & IEEE80211_MSG_SCAN)
1103 ((_vap)->iv_debug & IEEE80211_MSG_ASSOC)
1112 if ((_vap)->iv_debug & (_m)) \
1117 if ((_vap)->iv_debug & (_m)) \
1122 if ((_vap)->iv_debug & (_m)) \