PERFORCE change 149279 for review
Sam Leffler
sam at FreeBSD.org
Fri Sep 5 20:58:30 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=149279
Change 149279 by sam at sam_ebb on 2008/09/05 20:57:57
o kill IEEE80211_NODE_CHWUPDATE; it was not useful and needs to
be replaced by a notification callback that handles other state
changes (and was defined in the wrong place so it overlapped with
another flag)
o cleanup node flags etc.
- widen ni_flags as it's going to be full shortly
- shuffle members to minimize holes
- remove IEEE80211_NODE_PSUPDATE, it was never used and overlapped
- add IEEE80211_NODE_HT_ALL as an aggregate of all HT-related flags;
we're about to grow some more
Affected files ...
.. //depot/projects/vap/sys/net80211/ieee80211_ht.c#41 edit
.. //depot/projects/vap/sys/net80211/ieee80211_node.h#23 edit
Differences ...
==== //depot/projects/vap/sys/net80211/ieee80211_ht.c#41 (text+ko) ====
@@ -1650,16 +1650,14 @@
switch (ia->ia_action) {
case IEEE80211_ACTION_HT_TXCHWIDTH:
chw = frm[2] == IEEE80211_A_HT_TXCHWIDTH_2040 ? 40 : 20;
+ IEEE80211_NOTE(vap,
+ IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni,
+ "%s: HT txchwidth, width %d%s",
+ __func__, chw, ni->ni_chw != chw ? "*" : "");
if (chw != ni->ni_chw) {
ni->ni_chw = chw;
- ni->ni_flags |= IEEE80211_NODE_CHWUPDATE;
+ /* XXX notify on change */
}
- IEEE80211_NOTE(vap,
- IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni,
- "%s: HT txchwidth, width %d (%s)",
- __func__, chw,
- ni->ni_flags & IEEE80211_NODE_CHWUPDATE ?
- "new" : "no change");
break;
case IEEE80211_ACTION_HT_MIMOPWRSAVE:
IEEE80211_NOTE(vap,
==== //depot/projects/vap/sys/net80211/ieee80211_node.h#23 (text+ko) ====
@@ -99,18 +99,7 @@
LIST_ENTRY(ieee80211_node) ni_hash; /* hash collision list */
u_int ni_refcnt; /* count of held references */
u_int ni_scangen; /* gen# for timeout scan */
- uint8_t ni_authmode; /* authentication algorithm */
- uint8_t ni_ath_flags; /* Atheros feature flags */
- /* NB: These must have the same values as IEEE80211_ATHC_* */
-#define IEEE80211_NODE_TURBOP 0x0001 /* Turbo prime enable */
-#define IEEE80211_NODE_COMP 0x0002 /* Compresssion enable */
-#define IEEE80211_NODE_FF 0x0004 /* Fast Frame capable */
-#define IEEE80211_NODE_XR 0x0008 /* Atheros WME enable */
-#define IEEE80211_NODE_AR 0x0010 /* AR capable */
-#define IEEE80211_NODE_BOOST 0x0080
-#define IEEE80211_NODE_PSUPDATE 0x0200 /* power save state changed */
-#define IEEE80211_NODE_CHWUPDATE 0x0400 /* 11n channel width change */
- uint16_t ni_flags; /* special-purpose state */
+ u_int ni_flags;
#define IEEE80211_NODE_AUTH 0x0001 /* authorized for data */
#define IEEE80211_NODE_QOS 0x0002 /* QoS enabled */
#define IEEE80211_NODE_ERP 0x0004 /* ERP enabled */
@@ -123,11 +112,20 @@
#define IEEE80211_NODE_TSN 0x0200 /* TSN association */
#define IEEE80211_NODE_AMPDU_RX 0x0400 /* AMPDU rx enabled */
#define IEEE80211_NODE_AMPDU_TX 0x0800 /* AMPDU tx enabled */
+ uint16_t ni_associd; /* association ID */
+ uint16_t ni_vlan; /* vlan tag */
+ uint16_t ni_txpower; /* current transmit power */
+ uint8_t ni_authmode; /* authentication algorithm */
+ uint8_t ni_ath_flags; /* Atheros feature flags */
+ /* NB: These must have the same values as IEEE80211_ATHC_* */
+#define IEEE80211_NODE_TURBOP 0x0001 /* Turbo prime enable */
+#define IEEE80211_NODE_COMP 0x0002 /* Compresssion enable */
+#define IEEE80211_NODE_FF 0x0004 /* Fast Frame capable */
+#define IEEE80211_NODE_XR 0x0008 /* Atheros WME enable */
+#define IEEE80211_NODE_AR 0x0010 /* AR capable */
+#define IEEE80211_NODE_BOOST 0x0080 /* Dynamic Turbo boosted */
uint16_t ni_ath_defkeyix;/* Atheros def key index */
- uint16_t ni_associd; /* assoc response */
- uint16_t ni_txpower; /* current transmit power */
const struct ieee80211_txparam *ni_txparms;
- uint16_t ni_vlan; /* vlan tag */
uint32_t ni_jointime; /* time of join (secs) */
uint32_t *ni_challenge; /* shared-key challenge */
struct ieee80211_ies ni_ies; /* captured ie's */
@@ -195,6 +193,8 @@
#define IEEE80211_NODE_ATH (IEEE80211_NODE_FF | IEEE80211_NODE_TURBOP)
#define IEEE80211_NODE_AMPDU \
(IEEE80211_NODE_AMPDU_RX | IEEE80211_NODE_AMPDU_TX)
+#define IEEE80211_NODE_HT_ALL \
+ (IEEE80211_NODE_HT | IEEE80211_NODE_HTCOMPAT)
#define IEEE80211_NODE_AID(ni) IEEE80211_AID(ni->ni_associd)
More information about the p4-projects
mailing list