svn commit: r195205 - projects/mesh11s/sys/net80211

Rui Paulo rpaulo at FreeBSD.org
Tue Jun 30 19:30:58 UTC 2009


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;


More information about the svn-src-projects mailing list