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 */
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to