socsvn commit: r256487 - soc2013/ccqin/head/sys/net80211

ccqin at FreeBSD.org ccqin at FreeBSD.org
Sun Aug 25 10:17:16 UTC 2013


Author: ccqin
Date: Sun Aug 25 10:17:16 2013
New Revision: 256487
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=256487

Log:
  change to ieee80211_ratectl_none
  * rename ieee80211_ratectl_none.c to ieee80211_rc_none.c
  * update __init__ and __node_init__ interface
  * add ieee80211_ratectl_none.h for the common state fields.
  

Added:
  soc2013/ccqin/head/sys/net80211/ieee80211_rc_none.c
     - copied, changed from r255970, soc2013/ccqin/head/sys/net80211/ieee80211_ratectl_none.c
Deleted:
  soc2013/ccqin/head/sys/net80211/ieee80211_ratectl_none.c

Copied and modified: soc2013/ccqin/head/sys/net80211/ieee80211_rc_none.c (from r255970, soc2013/ccqin/head/sys/net80211/ieee80211_ratectl_none.c)
==============================================================================
--- soc2013/ccqin/head/sys/net80211/ieee80211_ratectl_none.c	Thu Aug 15 10:18:36 2013	(r255970, copy source)
+++ soc2013/ccqin/head/sys/net80211/ieee80211_rc_none.c	Sun Aug 25 10:17:16 2013	(r256487)
@@ -46,8 +46,23 @@
 #include <net80211/ieee80211_ratectl.h>
 
 static void
-none_init(struct ieee80211vap *vap)
+none_init(struct ieee80211vap *vap, uint32_t capabilities)
 {
+	struct ieee80211_node *none;
+
+	KASSERT(vap->iv_rs == NULL, ("%s called multiple times", __func__));
+
+	none = vap->iv_rs = malloc(sizeof(struct ieee80211_none),
+	    M_80211_RATECTL, M_NOWAIT|M_ZERO);
+	if (none == NULL) {
+		if_printf(vap->iv_ifp, "couldn't alloc ratectl structure\n");
+		return;
+	}
+
+	struct ieee80211_rc_stat * irs = IEEE80211_RATECTL_STAT(vap);
+	irs->irs_capabilities = capabilities;
+
+	/* ... */
 }
 
 static void
@@ -57,8 +72,29 @@
 }
 
 static void
-none_node_init(struct ieee80211_node *ni, uint32_t capabilities)
+none_node_init(struct ieee80211_node *ni)
 {
+		const struct ieee80211_rateset *rs = NULL;
+	struct ieee80211vap *vap = ni->ni_vap;
+	struct ieee80211_amrr *amrr = vap->iv_rs;
+	struct ieee80211_none_node *non;
+	uint8_t rate;
+
+	if (ni->ni_rctls == NULL) {
+		ni->ni_rctls = non = malloc(sizeof(struct ieee80211_none_node),
+		    M_80211_RATECTL, M_NOWAIT|M_ZERO);
+		if (non == NULL) {
+			if_printf(vap->iv_ifp, "couldn't alloc per-node ratectl "
+			    "structure\n");
+			return;
+		}
+	} else
+		non = ni->ni_rctls;
+
+	non->non_none = none;
+
+	/* ... */
+	
 	ni->ni_txrate = ni->ni_rates.rs_rates[0] & IEEE80211_RATE_VAL;
 }
 


More information about the svn-soc-all mailing list