Date: Wed, 3 Jun 2009 23:30:25 +0000 (UTC) From: Sam Leffler <sam@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r193413 - head/sys/net80211 Message-ID: <200906032330.n53NUQFb070418@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sam Date: Wed Jun 3 23:30:25 2009 New Revision: 193413 URL: http://svn.freebsd.org/changeset/base/193413 Log: After a channel switch mark associated stations so they will immediately be probed as inactive; this more quickly weeds out stations that don't follow to the new channel. Modified: head/sys/net80211/ieee80211_hostap.c Modified: head/sys/net80211/ieee80211_hostap.c ============================================================================== --- head/sys/net80211/ieee80211_hostap.c Wed Jun 3 23:28:22 2009 (r193412) +++ head/sys/net80211/ieee80211_hostap.c Wed Jun 3 23:30:25 2009 (r193413) @@ -114,6 +114,19 @@ sta_disassoc(void *arg, struct ieee80211 } } +static void +sta_csa(void *arg, struct ieee80211_node *ni) +{ + struct ieee80211vap *vap = arg; + + if (ni->ni_vap == vap && ni->ni_associd != 0) + if (ni->ni_inact > vap->iv_inact_init) { + ni->ni_inact = vap->iv_inact_init; + IEEE80211_NOTE(vap, IEEE80211_MSG_INACT, ni, + "%s: inact %u", __func__, ni->ni_inact); + } +} + /* * IEEE80211_M_HOSTAP vap state machine handler. */ @@ -249,6 +262,11 @@ hostap_newstate(struct ieee80211vap *vap /* fall thru... */ case IEEE80211_S_CSA: /* + * Shorten inactivity timer of associated stations + * to weed out sta's that don't follow a CSA. + */ + ieee80211_iterate_nodes(&ic->ic_sta, sta_csa, vap); + /* * Update bss node channel to reflect where * we landed after CSA. */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906032330.n53NUQFb070418>