svn commit: r246501 - head/sys/net80211

Monthadar Al Jaberi monthadar at FreeBSD.org
Thu Feb 7 21:20:29 UTC 2013


Author: monthadar
Date: Thu Feb  7 21:20:28 2013
New Revision: 246501
URL: http://svnweb.freebsd.org/changeset/base/246501

Log:
  Update net80211 mesh struct ieee80211_meshgann_ie.
  
  * Change all field prefix from pann_ to gann_;
  * Added IEEE80211_MESHGANN_BASE_SZ macro to be used in the length field
    of a GANN frame according to 802.11 standard;
  * Changed gann_seq field type to uint32_t;
  * Added a Gate Announcement interval field according to
    IEEE802.11 2012 standard;
  * Added IEEE80211_MESHRT_FLAGS_GATE as flag bit to ieee80211_mesh_route;
  * Added IEEE80211_MESHRT_FLAGS_GATE as flag bit to ieee80211req_mesh_route;
  
  Approved by:	adrian (mentor)

Modified:
  head/sys/net80211/ieee80211_ioctl.h
  head/sys/net80211/ieee80211_mesh.h

Modified: head/sys/net80211/ieee80211_ioctl.h
==============================================================================
--- head/sys/net80211/ieee80211_ioctl.h	Thu Feb  7 21:19:44 2013	(r246500)
+++ head/sys/net80211/ieee80211_ioctl.h	Thu Feb  7 21:20:28 2013	(r246501)
@@ -342,6 +342,7 @@ struct ieee80211req_mesh_route {
 #define	IEEE80211_MESHRT_FLAGS_DISCOVER	0x01
 #define	IEEE80211_MESHRT_FLAGS_VALID	0x02
 #define	IEEE80211_MESHRT_FLAGS_PROXY	0x04
+#define	IEEE80211_MESHRT_FLAGS_GATE	0x08
 	uint8_t		imr_dest[IEEE80211_ADDR_LEN];
 	uint8_t		imr_nexthop[IEEE80211_ADDR_LEN];
 	uint16_t	imr_nhops;

Modified: head/sys/net80211/ieee80211_mesh.h
==============================================================================
--- head/sys/net80211/ieee80211_mesh.h	Thu Feb  7 21:19:44 2013	(r246500)
+++ head/sys/net80211/ieee80211_mesh.h	Thu Feb  7 21:20:28 2013	(r246501)
@@ -194,14 +194,20 @@ struct ieee80211_meshbeacont_ie {
 #endif
 
 /* Gate (GANN) Annoucement */
+/*
+ * NB: these macros used for the length in the IEs does not include 2 bytes
+ * for _ie and _len fields as is defined by the standard.
+ */
+#define	IEEE80211_MESHGANN_BASE_SZ 	(15)
 struct ieee80211_meshgann_ie {
-	uint8_t		pann_ie;		/* IEEE80211_ELEMID_MESHGANN */
-	uint8_t		pann_len;
-	uint8_t		pann_flags;
-	uint8_t		pann_hopcount;
-	uint8_t		pann_ttl;
-	uint8_t		pann_addr[IEEE80211_ADDR_LEN];
-	uint8_t		pann_seq;		/* PANN Sequence Number */
+	uint8_t		gann_ie;		/* IEEE80211_ELEMID_MESHGANN */
+	uint8_t		gann_len;
+	uint8_t		gann_flags;
+	uint8_t		gann_hopcount;
+	uint8_t		gann_ttl;
+	uint8_t		gann_addr[IEEE80211_ADDR_LEN];
+	uint32_t	gann_seq;		/* GANN Sequence Number */
+	uint16_t	gann_interval;		/* GANN Interval */
 } __packed;
 
 /* Root (MP) Annoucement */
@@ -423,6 +429,7 @@ struct ieee80211_mesh_route {
 #define	IEEE80211_MESHRT_FLAGS_DISCOVER	0x01	/* path discovery */
 #define	IEEE80211_MESHRT_FLAGS_VALID	0x02	/* path discovery complete */
 #define	IEEE80211_MESHRT_FLAGS_PROXY	0x04	/* proxy entry */
+#define	IEEE80211_MESHRT_FLAGS_GATE	0x08	/* mesh gate entry */
 	uint32_t		rt_lifetime;	/* route timeout */
 	uint32_t		rt_lastmseq;	/* last seq# seen dest */
 	uint32_t		rt_ext_seq;	/* proxy seq number */


More information about the svn-src-all mailing list