Date: Fri, 5 Sep 2008 20:58:29 GMT From: Sam Leffler <sam@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 149279 for review Message-ID: <200809052058.m85KwTdf036133@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=149279 Change 149279 by sam@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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809052058.m85KwTdf036133>