Lines Matching +full:conf +full:- +full:rx
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)
106 * 1-1 to a physical device and one or more "Virtual AP's" (VAP)
116 * e.g. device-specific callbacks.
123 uint8_t ie_data[]; /* user-specified IE's */
144 enum ieee80211_phytype ic_phytype; /* XXX wrong for multi-mode */
166 /* driver-supported software crypto caps */
194 * ic_chan_avail that reflects any mode setting or user-specified
197 * be different from ic_bsschan when we are off-channel scanning
235 /* XXX multi-bss: split out common/vap parts */
243 uint8_t ic_rxstream; /* # RX streams */
258 struct ieee80211_radiotap_header *ic_rh;/* rx radiotap headers */
342 * of A-MPDU tx aggregation is provided; the driver may
344 * A-MPDU rx re-ordering happens automatically if the
345 * driver passes out-of-order frames to ieee80211_input
353 /* check if A-MPDU should be enabled this station+ac */
356 /* start/stop doing A-MPDU tx aggregation for a station */
371 /* start/stop doing A-MPDU rx processing for a station */
378 /* The channel width has changed (20<->2040) */
457 /* sta-mode roaming state */
468 int iv_ampdu_rxmax; /* A-MPDU rx limit (bytes) */
469 int iv_ampdu_density;/* A-MPDU density */
470 int iv_ampdu_limit; /* A-MPDU tx limit (bytes) */
471 int iv_amsdu_limit; /* A-MSDU tx limit (bytes) */
482 uint8_t *iv_tim_bitmap; /* power-save stations w/ data*/
499 /* application-specified IE's to attach to mgt frames */
538 /* operate-mode detach hook */
591 uint16_t iv_nonerpsta; /* # non-ERP stations */
595 int iv_lastnonerp; /* last time non-ERP sta noted*/
596 int iv_lastnonht; /* last time non-HT sta noted */
611 /* per-vap U-APSD state */
626 #define IEEE80211_F_TURBOP 0x00000001 /* CONF: ATH Turbo enabled*/
627 #define IEEE80211_F_COMP 0x00000002 /* CONF: ATH comp enabled */
628 #define IEEE80211_F_FF 0x00000004 /* CONF: ATH FF enabled */
629 #define IEEE80211_F_BURST 0x00000008 /* CONF: bursting enabled */
631 #define IEEE80211_F_PRIVACY 0x00000010 /* CONF: privacy enabled */
632 #define IEEE80211_F_PUREG 0x00000020 /* CONF: 11g w/o 11b sta's */
637 #define IEEE80211_F_PMGTON 0x00000800 /* CONF: Power mgmt enable */
638 #define IEEE80211_F_DESBSSID 0x00001000 /* CONF: des_bssid is set */
639 #define IEEE80211_F_WME 0x00002000 /* CONF: enable WME use */
640 #define IEEE80211_F_BGSCAN 0x00004000 /* CONF: bg scan enabled (???)*/
641 #define IEEE80211_F_SWRETRY 0x00008000 /* CONF: sw tx retry enabled */
644 #define IEEE80211_F_DATAPAD 0x00080000 /* CONF: do alignment pad */
648 #define IEEE80211_F_WPA1 0x00800000 /* CONF: WPA enabled */
649 #define IEEE80211_F_WPA2 0x01000000 /* CONF: WPA2 enabled */
650 #define IEEE80211_F_WPA 0x01800000 /* CONF: WPA/WPA2 enabled */
651 #define IEEE80211_F_DROPUNENC 0x02000000 /* CONF: drop unencrypted */
652 #define IEEE80211_F_COUNTERM 0x04000000 /* CONF: TKIP countermeasures */
653 #define IEEE80211_F_HIDESSID 0x08000000 /* CONF: hide SSID in beacon */
654 #define IEEE80211_F_NOBRIDGE 0x10000000 /* CONF: dis. internal bridge */
655 #define IEEE80211_F_PCF 0x20000000 /* CONF: PCF enabled */
656 #define IEEE80211_F_DOTH 0x40000000 /* CONF: 11h enabled */
657 #define IEEE80211_F_DWDS 0x80000000 /* CONF: Dynamic WDS enabled */
666 /* Atheros protocol-specific flags */
671 ((vap)->iv_flags & (ni)->ni_ath_flags & (bit))
674 #define IEEE80211_FEXT_INACT 0x00000002 /* CONF: sta inact handling */
678 #define IEEE80211_FEXT_WPS 0x00000010 /* CONF: WPS enabled */
679 #define IEEE80211_FEXT_TSN 0x00000020 /* CONF: TSN enabled */
682 #define IEEE80211_FEXT_4ADDR 0x00000100 /* CONF: apply 4-addr encap */
683 #define IEEE80211_FEXT_NONERP_PR 0x00000200 /* STATUS: non-ERP sta present*/
684 #define IEEE80211_FEXT_SWBMISS 0x00000400 /* CONF: do bmiss in s/w */
685 #define IEEE80211_FEXT_DFS 0x00000800 /* CONF: DFS enabled */
686 #define IEEE80211_FEXT_DOTD 0x00001000 /* CONF: 11d enabled */
691 #define IEEE80211_FEXT_WDSLEGACY 0x00010000 /* CONF: legacy WDS operation */
692 #define IEEE80211_FEXT_PROBECHAN 0x00020000 /* CONF: probe passive channel*/
693 #define IEEE80211_FEXT_UNIQMAC 0x00040000 /* CONF: user or computed mac */
694 #define IEEE80211_FEXT_SCAN_OFFLOAD 0x00080000 /* CONF: scan is fully offloaded */
695 #define IEEE80211_FEXT_SEQNO_OFFLOAD 0x00100000 /* CONF: driver does seqno insertion/allocation */
696 #define IEEE80211_FEXT_FRAG_OFFLOAD 0x00200000 /* CONF: hardware does 802.11 fragmentation + assignment */
697 #define IEEE80211_FEXT_VHT 0x00400000 /* CONF: VHT support */
699 #define IEEE80211_FEXT_UAPSD 0x01000000 /* CONF: enable U-APSD */
709 #define IEEE80211_FHT_NONHT_PR 0x00000001 /* STATUS: non-HT sta present */
710 #define IEEE80211_FHT_LDPC_TX 0x00010000 /* CONF: LDPC tx enabled */
711 #define IEEE80211_FHT_LDPC_RX 0x00020000 /* CONF: LDPC rx enabled */
712 #define IEEE80211_FHT_GF 0x00040000 /* CONF: Greenfield enabled */
713 #define IEEE80211_FHT_HT 0x00080000 /* CONF: HT supported */
714 #define IEEE80211_FHT_AMPDU_TX 0x00100000 /* CONF: A-MPDU tx supported */
715 #define IEEE80211_FHT_AMPDU_RX 0x00200000 /* CONF: A-MPDU rx supported */
716 #define IEEE80211_FHT_AMSDU_TX 0x00400000 /* CONF: A-MSDU tx supported */
717 #define IEEE80211_FHT_AMSDU_RX 0x00800000 /* CONF: A-MSDU rx supported */
718 #define IEEE80211_FHT_USEHT40 0x01000000 /* CONF: 20/40 use enabled */
719 #define IEEE80211_FHT_PUREN 0x02000000 /* CONF: 11n w/o legacy sta's */
720 #define IEEE80211_FHT_SHORTGI20 0x04000000 /* CONF: short GI in HT20 */
721 #define IEEE80211_FHT_SHORTGI40 0x08000000 /* CONF: short GI in HT40 */
722 #define IEEE80211_FHT_HTCOMPAT 0x10000000 /* CONF: HT vendor OUI's */
723 #define IEEE80211_FHT_RIFS 0x20000000 /* CONF: RIFS enabled */
724 #define IEEE80211_FHT_STBC_TX 0x40000000 /* CONF: STBC tx enabled */
725 #define IEEE80211_FHT_STBC_RX 0x80000000 /* CONF: STBC rx enabled */
735 #define IEEE80211_FVHT_VHT 0x000000001 /* CONF: VHT supported */
736 #define IEEE80211_FVHT_USEVHT40 0x000000002 /* CONF: Use VHT40 */
737 #define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */
738 #define IEEE80211_FVHT_USEVHT160 0x000000008 /* CONF: Use VHT160 */
739 #define IEEE80211_FVHT_USEVHT80P80 0x000000010 /* CONF: Use VHT 80+80 */
740 #define IEEE80211_FVHT_STBC_TX 0x00000020 /* CONF: STBC tx enabled */
741 #define IEEE80211_FVHT_STBC_RX 0x00000040 /* CONF: STBC rx enabled */
831 #define ieee80211_get_current_channel(_ic) ((_ic)->ic_curchan)
832 #define ieee80211_get_home_channel(_ic) ((_ic)->ic_bsschan)
833 #define ieee80211_get_vap_desired_channel(_iv) ((_iv)->iv_des_chan)
861 return (ic->ic_flags_ext & IEEE80211_FEXT_BPF) != 0;
867 return (vap->iv_flags_ext & IEEE80211_FEXT_BPF) ||
868 vap->iv_ic->ic_montaps != 0;
877 taskqueue_enqueue(ic->ic_tq, task);
886 taskqueue_drain(ic->ic_tq, task);
895 vap->iv_key_update_begin(vap);
900 vap->iv_key_update_end(vap);
916 if (ic->ic_flags & IEEE80211_F_DATAPAD)
928 if (ic->ic_flags & IEEE80211_F_DATAPAD)
939 if (vap->iv_state == IEEE80211_S_RUN)
940 vap->iv_update_beacon(vap, what);
980 * but it doesn't take into account any per-rate limit.
985 struct ieee80211com *ic = ni->ni_ic;
988 txpower = ni->ni_txpower;
989 txpower = MIN(txpower, ic->ic_txpowlimit);
990 if (ic->ic_curchan != NULL) {
991 txpower = MIN(txpower, 2 * ic->ic_curchan->ic_maxregpower);
992 txpower = MIN(txpower, ic->ic_curchan->ic_maxpower);
1033 #define IEEE80211_MSG_ROAM 0x00000040 /* sta-mode roaming */
1053 #define ieee80211_msg(_vap, _m) ((_vap)->iv_debug & (_m))
1060 ieee80211_note_mac(_vap, (_ni)->ni_macaddr, _fmt, __VA_ARGS__);\
1076 ((_vap)->iv_debug & IEEE80211_MSG_DEBUG)
1078 ((_vap)->iv_debug & IEEE80211_MSG_DUMPPKTS)
1080 ((_vap)->iv_debug & IEEE80211_MSG_INPUT)
1082 ((_vap)->iv_debug & IEEE80211_MSG_RADIUS)
1084 ((_vap)->iv_debug & IEEE80211_MSG_RADDUMP)
1086 ((_vap)->iv_debug & IEEE80211_MSG_RADKEYS)
1088 ((_vap)->iv_debug & IEEE80211_MSG_SCAN)
1090 ((_vap)->iv_debug & IEEE80211_MSG_ASSOC)
1099 if ((_vap)->iv_debug & (_m)) \
1104 if ((_vap)->iv_debug & (_m)) \
1109 if ((_vap)->iv_debug & (_m)) \