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-head
mailing list