summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/net80211/ieee80211_var.h
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/net80211/ieee80211_var.h')
-rw-r--r--freebsd/sys/net80211/ieee80211_var.h37
1 files changed, 27 insertions, 10 deletions
diff --git a/freebsd/sys/net80211/ieee80211_var.h b/freebsd/sys/net80211/ieee80211_var.h
index 1b73d392..1d806a92 100644
--- a/freebsd/sys/net80211/ieee80211_var.h
+++ b/freebsd/sys/net80211/ieee80211_var.h
@@ -93,7 +93,13 @@
* says that VHT is supported - and then this macro can be
* changed.
*/
-#define IEEE80211_CONF_VHT(ic) ((ic)->ic_vhtcaps != 0)
+#define IEEE80211_CONF_VHT(ic) \
+ ((ic)->ic_flags_ext & IEEE80211_FEXT_VHT)
+
+#define IEEE80211_CONF_SEQNO_OFFLOAD(ic) \
+ ((ic)->ic_flags_ext & IEEE80211_FEXT_SEQNO_OFFLOAD)
+#define IEEE80211_CONF_FRAG_OFFLOAD(ic) \
+ ((ic)->ic_flags_ext & IEEE80211_FEXT_FRAG_OFFLOAD)
/*
* 802.11 control state is split into a common portion that maps
@@ -143,7 +149,6 @@ struct ieee80211com {
struct task ic_chan_task; /* deferred channel change */
struct task ic_bmiss_task; /* deferred beacon miss hndlr */
struct task ic_chw_task; /* deferred HT CHW update */
- struct task ic_wme_task; /* deferred WME update */
struct task ic_restart_task; /* deferred device restart */
counter_u64_t ic_ierrors; /* input errors */
@@ -169,6 +174,7 @@ struct ieee80211com {
uint16_t ic_holdover; /* PM hold over duration */
uint16_t ic_txpowlimit; /* global tx power limit */
struct ieee80211_rateset ic_sup_rates[IEEE80211_MODE_MAX];
+ struct ieee80211_htrateset ic_sup_htrates;
/*
* Channel state:
@@ -550,6 +556,10 @@ struct ieee80211vap {
int (*iv_output)(struct ifnet *, struct mbuf *,
const struct sockaddr *, struct route *);
+ int (*iv_wme_update)(struct ieee80211vap *,
+ const struct wmeParams *wme_params);
+ struct task iv_wme_task; /* deferred VAP WME update */
+
uint64_t iv_spare[6];
};
MALLOC_DECLARE(M_80211_VAP);
@@ -566,8 +576,7 @@ MALLOC_DECLARE(M_80211_VAP);
#define IEEE80211_F_PRIVACY 0x00000010 /* CONF: privacy enabled */
#define IEEE80211_F_PUREG 0x00000020 /* CONF: 11g w/o 11b sta's */
#define IEEE80211_F_SCAN 0x00000080 /* STATUS: scanning */
-#define IEEE80211_F_ASCAN 0x00000100 /* STATUS: active scan */
-#define IEEE80211_F_SIBSS 0x00000200 /* STATUS: start IBSS */
+/* 0x00000300 reserved */
/* NB: this is intentionally setup to be IEEE80211_CAPINFO_SHORT_SLOTTIME */
#define IEEE80211_F_SHSLOT 0x00000400 /* STATUS: use short slot time*/
#define IEEE80211_F_PMGTON 0x00000800 /* CONF: Power mgmt enable */
@@ -575,8 +584,7 @@ MALLOC_DECLARE(M_80211_VAP);
#define IEEE80211_F_WME 0x00002000 /* CONF: enable WME use */
#define IEEE80211_F_BGSCAN 0x00004000 /* CONF: bg scan enabled (???)*/
#define IEEE80211_F_SWRETRY 0x00008000 /* CONF: sw tx retry enabled */
-#define IEEE80211_F_TXPOW_FIXED 0x00010000 /* TX Power: fixed rate */
-#define IEEE80211_F_IBSSON 0x00020000 /* CONF: IBSS creation enable */
+/* 0x00030000 reserved */
#define IEEE80211_F_SHPREAMBLE 0x00040000 /* STATUS: use short preamble */
#define IEEE80211_F_DATAPAD 0x00080000 /* CONF: do alignment pad */
#define IEEE80211_F_USEPROT 0x00100000 /* STATUS: protection enabled */
@@ -594,9 +602,9 @@ MALLOC_DECLARE(M_80211_VAP);
#define IEEE80211_F_DWDS 0x80000000 /* CONF: Dynamic WDS enabled */
#define IEEE80211_F_BITS \
- "\20\1TURBOP\2COMP\3FF\4BURST\5PRIVACY\6PUREG\10SCAN\11ASCAN\12SIBSS" \
- "\13SHSLOT\14PMGTON\15DESBSSID\16WME\17BGSCAN\20SWRETRY\21TXPOW_FIXED" \
- "\22IBSSON\23SHPREAMBLE\24DATAPAD\25USEPROT\26USERBARKER\27CSAPENDING" \
+ "\20\1TURBOP\2COMP\3FF\4BURST\5PRIVACY\6PUREG\10SCAN" \
+ "\13SHSLOT\14PMGTON\15DESBSSID\16WME\17BGSCAN\20SWRETRY" \
+ "\23SHPREAMBLE\24DATAPAD\25USEPROT\26USERBARKER\27CSAPENDING" \
"\30WPA1\31WPA2\32DROPUNENC\33COUNTERM\34HIDESSID\35NOBRIDG\36PCF" \
"\37DOTH\40DWDS"
@@ -629,14 +637,21 @@ MALLOC_DECLARE(M_80211_VAP);
#define IEEE80211_FEXT_PROBECHAN 0x00020000 /* CONF: probe passive channel*/
#define IEEE80211_FEXT_UNIQMAC 0x00040000 /* CONF: user or computed mac */
#define IEEE80211_FEXT_SCAN_OFFLOAD 0x00080000 /* CONF: scan is fully offloaded */
+#define IEEE80211_FEXT_SEQNO_OFFLOAD 0x00100000 /* CONF: driver does seqno insertion/allocation */
+#define IEEE80211_FEXT_FRAG_OFFLOAD 0x00200000 /* CONF: hardware does 802.11 fragmentation + assignment */
+#define IEEE80211_FEXT_VHT 0x00400000 /* CONF: VHT support */
+#define IEEE80211_FEXT_QUIET_IE 0x00800000 /* STATUS: quiet IE in a beacon has been added */
#define IEEE80211_FEXT_BITS \
"\20\2INACT\3SCANWAIT\4BGSCAN\5WPS\6TSN\7SCANREQ\10RESUME" \
"\0114ADDR\12NONEPR_PR\13SWBMISS\14DFS\15DOTD\16STATEWAIT\17REINIT" \
- "\20BPF\21WDSLEGACY\22PROBECHAN\23UNIQMAC\24SCAN_OFFLOAD"
+ "\20BPF\21WDSLEGACY\22PROBECHAN\23UNIQMAC\24SCAN_OFFLOAD\25SEQNO_OFFLOAD" \
+ "\26VHT\27QUIET_IE"
/* ic_flags_ht/iv_flags_ht */
#define IEEE80211_FHT_NONHT_PR 0x00000001 /* STATUS: non-HT sta present */
+#define IEEE80211_FHT_LDPC_TX 0x00010000 /* CONF: LDPC tx enabled */
+#define IEEE80211_FHT_LDPC_RX 0x00020000 /* CONF: LDPC rx enabled */
#define IEEE80211_FHT_GF 0x00040000 /* CONF: Greenfield enabled */
#define IEEE80211_FHT_HT 0x00080000 /* CONF: HT supported */
#define IEEE80211_FHT_AMPDU_TX 0x00100000 /* CONF: A-MPDU tx supported */
@@ -681,6 +696,8 @@ int ieee80211_vap_attach(struct ieee80211vap *,
void ieee80211_vap_detach(struct ieee80211vap *);
const struct ieee80211_rateset *ieee80211_get_suprates(struct ieee80211com *ic,
const struct ieee80211_channel *);
+const struct ieee80211_htrateset *ieee80211_get_suphtrates(
+ struct ieee80211com *, const struct ieee80211_channel *);
void ieee80211_announce(struct ieee80211com *);
void ieee80211_announce_channels(struct ieee80211com *);
void ieee80211_drain(struct ieee80211com *);