diff options
author | Monthadar Al Jaberi <monthadar@FreeBSD.org> | 2012-05-01 15:47:30 +0000 |
---|---|---|
committer | Monthadar Al Jaberi <monthadar@FreeBSD.org> | 2012-05-01 15:47:30 +0000 |
commit | b5df85a6fd6afa11023863293334d2cf8f788810 (patch) | |
tree | 65098c124ba0f2f21be8fe1f8be7ee9c5ab321af /sys/net80211/ieee80211_mesh.h | |
parent | 6eb9b443f44c197bf5a998cb264753d4b8e37c40 (diff) | |
download | src-b5df85a6fd6afa11023863293334d2cf8f788810.tar.gz src-b5df85a6fd6afa11023863293334d2cf8f788810.zip |
Notes
Diffstat (limited to 'sys/net80211/ieee80211_mesh.h')
-rw-r--r-- | sys/net80211/ieee80211_mesh.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/sys/net80211/ieee80211_mesh.h b/sys/net80211/ieee80211_mesh.h index b3cb73d017e4..2d2631d5eb2b 100644 --- a/sys/net80211/ieee80211_mesh.h +++ b/sys/net80211/ieee80211_mesh.h @@ -409,9 +409,19 @@ MALLOC_DECLARE(M_80211_MESH_PREP); MALLOC_DECLARE(M_80211_MESH_PERR); MALLOC_DECLARE(M_80211_MESH_RT); +/* + * Basic forwarding information: + * o Destination MAC + * o Next-hop MAC + * o Precursor list (not implemented yet) + * o Path timeout + * The rest is part of the active Mesh path selection protocol. + * XXX: to be moved out later. + */ struct ieee80211_mesh_route { TAILQ_ENTRY(ieee80211_mesh_route) rt_next; - int rt_crtime; /* creation time */ + struct mtx rt_lock; /* fine grained route lock */ + int rt_updtime; /* last update time */ uint8_t rt_dest[IEEE80211_ADDR_LEN]; uint8_t rt_nexthop[IEEE80211_ADDR_LEN]; uint32_t rt_metric; /* path metric */ @@ -419,7 +429,7 @@ struct ieee80211_mesh_route { uint16_t rt_flags; #define IEEE80211_MESHRT_FLAGS_VALID 0x01 /* patch discovery complete */ #define IEEE80211_MESHRT_FLAGS_PROXY 0x02 /* proxy entry */ - uint32_t rt_lifetime; + uint32_t rt_lifetime; /* route timeout */ uint32_t rt_lastmseq; /* last seq# seen dest */ void *rt_priv; /* private data */ }; @@ -508,6 +518,7 @@ void ieee80211_mesh_rt_del(struct ieee80211vap *, void ieee80211_mesh_rt_flush(struct ieee80211vap *); void ieee80211_mesh_rt_flush_peer(struct ieee80211vap *, const uint8_t [IEEE80211_ADDR_LEN]); +int ieee80211_mesh_rt_update(struct ieee80211_mesh_route *rt, int); void ieee80211_mesh_proxy_check(struct ieee80211vap *, const uint8_t [IEEE80211_ADDR_LEN]); |