summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_mesh.h
diff options
context:
space:
mode:
authormonthadar <monthadar@FreeBSD.org>2012-05-01 16:16:20 +0000
committermonthadar <monthadar@FreeBSD.org>2012-05-01 16:16:20 +0000
commit6ebd719aaa80b29d6ddd27533ece2965cd549371 (patch)
tree8185a5eee81b60553940fa933dad123d2bb9956c /sys/net80211/ieee80211_mesh.h
parent4369a1aa49babd15eafa2ad5990a809f802e2814 (diff)
downloadFreeBSD-src-6ebd719aaa80b29d6ddd27533ece2965cd549371.zip
FreeBSD-src-6ebd719aaa80b29d6ddd27533ece2965cd549371.tar.gz
PREQ discovery update.
* Added a new discovery flag IEEE80211_MESHRT_FLAGS_DISCOVER; * Modified ieee80211_ioctl.h to include IEEE80211_MESHRT_FLAGS_DISCOVER; * Added hwmp_rediscover_cb, which will be called by a timeout to do rediscovery if we have not reach max number of preq discovery; * Modified hwmp_discover to setup a callout for path rediscovery; * Added to ieee80211req_mesh_route to have a back pointer to ieee80211vap for the discovery callout context; * Modified mesh_rt_add_locked arguemnt from ieee80211_mesh_state to ieee80211vap, this because we have to initialize the above back pointer; Approved by: adrian
Diffstat (limited to 'sys/net80211/ieee80211_mesh.h')
-rw-r--r--sys/net80211/ieee80211_mesh.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/net80211/ieee80211_mesh.h b/sys/net80211/ieee80211_mesh.h
index 008141a..f161012 100644
--- a/sys/net80211/ieee80211_mesh.h
+++ b/sys/net80211/ieee80211_mesh.h
@@ -410,7 +410,9 @@ MALLOC_DECLARE(M_80211_MESH_RT);
*/
struct ieee80211_mesh_route {
TAILQ_ENTRY(ieee80211_mesh_route) rt_next;
+ struct ieee80211vap *rt_vap;
struct mtx rt_lock; /* fine grained route lock */
+ struct callout rt_discovery; /* discovery timeout */
int rt_updtime; /* last update time */
uint8_t rt_dest[IEEE80211_ADDR_LEN];
uint8_t rt_mesh_gate[IEEE80211_ADDR_LEN]; /* meshDA */
@@ -418,8 +420,9 @@ struct ieee80211_mesh_route {
uint32_t rt_metric; /* path metric */
uint16_t rt_nhops; /* number of hops */
uint16_t rt_flags;
-#define IEEE80211_MESHRT_FLAGS_VALID 0x01 /* path discovery complete */
-#define IEEE80211_MESHRT_FLAGS_PROXY 0x02 /* proxy entry */
+#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 */
uint32_t rt_lifetime; /* route timeout */
uint32_t rt_lastmseq; /* last seq# seen dest */
uint32_t rt_ext_seq; /* proxy seq number */
OpenPOWER on IntegriCloud