Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jun 2009 19:30:58 +0000 (UTC)
From:      Rui Paulo <rpaulo@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r195205 - projects/mesh11s/sys/net80211
Message-ID:  <200906301930.n5UJUwSE090213@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rpaulo
Date: Tue Jun 30 19:30:58 2009
New Revision: 195205
URL: http://svn.freebsd.org/changeset/base/195205

Log:
  Add mesh seq modulo 2^32 operations and use them.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/mesh11s/sys/net80211/ieee80211_hwmp.c
  projects/mesh11s/sys/net80211/ieee80211_mesh.h

Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c
==============================================================================
--- projects/mesh11s/sys/net80211/ieee80211_hwmp.c	Tue Jun 30 19:23:44 2009	(r195204)
+++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c	Tue Jun 30 19:30:58 2009	(r195205)
@@ -1174,7 +1174,7 @@ ieee80211_hwmp_checkpseq(struct ieee8021
 		rt->rt_lastpseq = seq;
 		return 0;
 	}
-	if (rt->rt_lastpseq >= seq) {
+	if (IEEE80211_MESH_SEQ_GEQ(rt->rt_lastpseq, seq)) {
 		IEEE80211_NOTE(vap, IEEE80211_MSG_MESH,
 		    vap->iv_bss, "seqno %u <= seqno %u", seq,
 		    rt->rt_lastpseq);

Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.h
==============================================================================
--- projects/mesh11s/sys/net80211/ieee80211_mesh.h	Tue Jun 30 19:23:44 2009	(r195204)
+++ projects/mesh11s/sys/net80211/ieee80211_mesh.h	Tue Jun 30 19:30:58 2009	(r195205)
@@ -392,6 +392,8 @@ struct ieee80211_mesh_proto {
 };
 
 typedef uint32_t ieee80211_mesh_seq;
+#define	IEEE80211_MESH_SEQ_LEQ(a, b)	((int32_t)((a)-(b)) <= 0)
+#define	IEEE80211_MESH_SEQ_GEQ(a, b)	((int32_t)((a)-(b)) >= 0)
 
 struct ieee80211_mesh_state {
 	int			ms_idlen;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906301930.n5UJUwSE090213>