aboutsummaryrefslogtreecommitdiff
path: root/sys/net80211/ieee80211_var.h
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2007-11-02 05:22:25 +0000
committerSam Leffler <sam@FreeBSD.org>2007-11-02 05:22:25 +0000
commit1b6167d23905ef392a200c3cf17c0b59d5461bb9 (patch)
tree31ef816fec1ce8d9e6eb861a98c569ed24053ce5 /sys/net80211/ieee80211_var.h
parentcd9a2dab49cedd3070006dbe3c2ccc3fbd789b10 (diff)
downloadsrc-1b6167d23905ef392a200c3cf17c0b59d5461bb9.tar.gz
src-1b6167d23905ef392a200c3cf17c0b59d5461bb9.zip
sync 11n support with vap code base; many changes based on interop
testing with all major vendors MFC after: 1 week
Notes
Notes: svn path=/head/; revision=173273
Diffstat (limited to 'sys/net80211/ieee80211_var.h')
-rw-r--r--sys/net80211/ieee80211_var.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h
index d66198b310b1..cd8403074b3d 100644
--- a/sys/net80211/ieee80211_var.h
+++ b/sys/net80211/ieee80211_var.h
@@ -105,7 +105,9 @@ struct ieee80211com {
uint32_t ic_flags; /* state flags */
uint32_t ic_flags_ext; /* extended state flags */
+ uint32_t ic_flags_ven; /* vendor state flags */
uint32_t ic_caps; /* capabilities */
+ uint32_t ic_htcaps; /* HT capabilities */
uint8_t ic_modecaps[2]; /* set of mode capabilities */
uint16_t ic_curmode; /* current mode */
struct ieee80211_rateset ic_sup_rates[IEEE80211_MODE_MAX];
@@ -113,7 +115,6 @@ struct ieee80211com {
uint16_t ic_lintval; /* listen interval */
uint16_t ic_holdover; /* PM hold over duration */
uint16_t ic_txpowlimit; /* global tx power limit */
- uint32_t ic_htcaps; /* HT capabilities */
int ic_ampdu_rxmax; /* A-MPDU rx limit (bytes) */
int ic_ampdu_density;/* A-MPDU density */
int ic_ampdu_limit; /* A-MPDU tx limit (bytes) */
@@ -175,8 +176,12 @@ struct ieee80211com {
uint16_t ic_nonerpsta; /* # non-ERP stations */
uint16_t ic_longslotsta; /* # long slot time stations */
uint16_t ic_sta_assoc; /* stations associated */
+ uint16_t ic_ht_sta_assoc;/* HT stations associated */
+ uint16_t ic_ht40_sta_assoc;/* HT40 stations associated */
uint8_t ic_curhtprotmode;/* HTINFO bss state */
+ enum ieee80211_protmode ic_htprotmode; /* HT protection mode */
int ic_lastnonerp; /* last time non-ERP sta noted*/
+ int ic_lastnonht; /* last time non-HT sta noted */
struct ifqueue ic_mgtq;
enum ieee80211_state ic_state; /* 802.11 state */
@@ -334,7 +339,7 @@ struct ieee80211com {
((ic)->ic_flags & (ni)->ni_ath_flags & (bit))
/* ic_flags_ext */
-#define IEEE80211_FEXT_WDS 0x00000001 /* CONF: 4 addr allowed */
+#define IEEE80211_FEXT_NONHT_PR 0x00000001 /* STATUS: non-HT sta present */
#define IEEE80211_FEXT_INACT 0x00000002 /* CONF: sta inact handling */
/* 0x00000006 reserved */
#define IEEE80211_FEXT_BGSCAN 0x00000008 /* STATUS: complete bgscan */
@@ -391,6 +396,8 @@ struct ieee80211com {
*/
#define IEEE80211_HTC_AMPDU 0x00010000 /* CAPABILITY: A-MPDU tx */
#define IEEE80211_HTC_AMSDU 0x00020000 /* CAPABILITY: A-MSDU tx */
+/* NB: HT40 is implied by IEEE80211_HTCAP_CHWIDTH40 */
+#define IEEE80211_HTC_HT 0x00040000 /* CAPABILITY: HT operation */
void ieee80211_ifattach(struct ieee80211com *);
void ieee80211_ifdetach(struct ieee80211com *);
@@ -472,6 +479,16 @@ ieee80211_beacon_notify(struct ieee80211com *ic, int what)
ic->ic_update_beacon(ic, what);
}
+/*
+ * Debugging facilities compiled in when IEEE80211_DEBUG is defined.
+ *
+ * The intent is that any problem in the net80211 layer can be
+ * diagnosed by inspecting the statistics (dumped by the wlanstats
+ * program) and/or the msgs generated by net80211. Messages are
+ * broken into functional classes and can be controlled with the
+ * wlandebug program. Certain of these msg groups are for facilities
+ * that are no longer part of net80211 (e.g. IEEE80211_MSG_DOT1X).
+ */
#define IEEE80211_MSG_11N 0x80000000 /* 11n mode debug */
#define IEEE80211_MSG_DEBUG 0x40000000 /* IFF_DEBUG equivalent */
#define IEEE80211_MSG_DUMPPKTS 0x20000000 /* IFF_LINK2 equivalant */
@@ -500,6 +517,8 @@ ieee80211_beacon_notify(struct ieee80211com *ic, int what)
#define IEEE80211_MSG_ROAM 0x00000040 /* sta-mode roaming */
#define IEEE80211_MSG_RATECTL 0x00000020 /* tx rate control */
#define IEEE80211_MSG_ACTION 0x00000010 /* action frame handling */
+#define IEEE80211_MSG_WDS 0x00000008 /* WDS handling */
+#define IEEE80211_MSG_IOCTL 0x00000004 /* ioctl handling */
#define IEEE80211_MSG_ANY 0xffffffff /* anything */