diff options
author | Thomas Pedersen <thomas@cozybit.com> | 2011-08-11 22:35:15 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-22 14:46:00 -0400 |
commit | 25d49e4d63564c7004a4d6735d1d8c3cc41a7394 (patch) | |
tree | c052863386c4744beb808283cc3a3ff768d417e6 /net/mac80211/mesh.c | |
parent | 36c704fded53ee0d6866e8ae7f7e3d29cd4315b9 (diff) |
mac80211: update mesh path selection frame format
Make mesh path selection frames Mesh Action category, remove outdated
Mesh Path Selection category and defines, use updated reason codes, add
mesh_action_is_path_sel for readability, and update/correct path
selection IEs.
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mesh.c')
-rw-r--r-- | net/mac80211/mesh.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index da5e981c4833..ecdde6ce4df0 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c | |||
@@ -13,10 +13,6 @@ | |||
13 | #include "ieee80211_i.h" | 13 | #include "ieee80211_i.h" |
14 | #include "mesh.h" | 14 | #include "mesh.h" |
15 | 15 | ||
16 | #define IEEE80211_MESH_PEER_INACTIVITY_LIMIT (1800 * HZ) | ||
17 | #define IEEE80211_MESH_HOUSEKEEPING_INTERVAL (60 * HZ) | ||
18 | #define IEEE80211_MESH_RANN_INTERVAL (1 * HZ) | ||
19 | |||
20 | #define MESHCONF_CAPAB_ACCEPT_PLINKS 0x01 | 16 | #define MESHCONF_CAPAB_ACCEPT_PLINKS 0x01 |
21 | #define MESHCONF_CAPAB_FORWARDING 0x08 | 17 | #define MESHCONF_CAPAB_FORWARDING 0x08 |
22 | 18 | ||
@@ -27,6 +23,17 @@ | |||
27 | int mesh_allocated; | 23 | int mesh_allocated; |
28 | static struct kmem_cache *rm_cache; | 24 | static struct kmem_cache *rm_cache; |
29 | 25 | ||
26 | #ifdef CONFIG_MAC80211_MESH | ||
27 | bool mesh_action_is_path_sel(struct ieee80211_mgmt *mgmt) | ||
28 | { | ||
29 | return (mgmt->u.action.u.mesh_action.action_code == | ||
30 | WLAN_MESH_ACTION_HWMP_PATH_SELECTION); | ||
31 | } | ||
32 | #else | ||
33 | bool mesh_action_is_path_sel(struct ieee80211_mgmt *mgmt) | ||
34 | { return false; } | ||
35 | #endif | ||
36 | |||
30 | void ieee80211s_init(void) | 37 | void ieee80211s_init(void) |
31 | { | 38 | { |
32 | mesh_pathtbl_init(); | 39 | mesh_pathtbl_init(); |
@@ -671,8 +678,9 @@ static void ieee80211_mesh_rx_mgmt_action(struct ieee80211_sub_if_data *sdata, | |||
671 | break; | 678 | break; |
672 | } | 679 | } |
673 | break; | 680 | break; |
674 | case WLAN_CATEGORY_MESH_PATH_SEL: | 681 | case WLAN_CATEGORY_MESH_ACTION: |
675 | mesh_rx_path_sel_frame(sdata, mgmt, len); | 682 | if (mesh_action_is_path_sel(mgmt)) |
683 | mesh_rx_path_sel_frame(sdata, mgmt, len); | ||
676 | break; | 684 | break; |
677 | } | 685 | } |
678 | } | 686 | } |