Skip site navigation (1)Skip section navigation (2)
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>