diff options
author | Chun-Yeow Yeoh <yeohchunyeow@cozybit.com> | 2013-10-14 22:08:27 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-10-28 10:05:28 -0400 |
commit | 8f2535b92d685c68db4bc699dd78462a646f6ef9 (patch) | |
tree | e64579c3dfc09f81fbf47f2a76d316721a4da2e3 /net/mac80211/debug.h | |
parent | c0f17eb9b2d4d322c099a0700437209149224583 (diff) |
mac80211: process the CSA frame for mesh accordingly
Process the CSA frame according to the procedures define in IEEE Std
802.11-2012 section 10.9.8.4.3 as follow:
* The mesh channel switch parameters element (MCSP) must be availabe.
* If the MCSP's TTL is 1, drop the frame but still process the CSA.
* If the MCSP's precedence value is less than or equal to the current
precedence value, drop the frame and do not process the CSA.
* The CSA frame is forwarded after TTL is decremented by 1 and the
initiator field is set to 0. Transmit restrict field and others
are maintained as is.
* No beacon or probe response frame are handled here.
Also, introduce the debug message used for mesh CSA purpose.
Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@cozybit.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/debug.h')
-rw-r--r-- | net/mac80211/debug.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/net/mac80211/debug.h b/net/mac80211/debug.h index 4ccc5ed6237d..493d68061f0c 100644 --- a/net/mac80211/debug.h +++ b/net/mac80211/debug.h | |||
@@ -44,6 +44,12 @@ | |||
44 | #define MAC80211_MESH_SYNC_DEBUG 0 | 44 | #define MAC80211_MESH_SYNC_DEBUG 0 |
45 | #endif | 45 | #endif |
46 | 46 | ||
47 | #ifdef CONFIG_MAC80211_MESH_CSA_DEBUG | ||
48 | #define MAC80211_MESH_CSA_DEBUG 1 | ||
49 | #else | ||
50 | #define MAC80211_MESH_CSA_DEBUG 0 | ||
51 | #endif | ||
52 | |||
47 | #ifdef CONFIG_MAC80211_MESH_PS_DEBUG | 53 | #ifdef CONFIG_MAC80211_MESH_PS_DEBUG |
48 | #define MAC80211_MESH_PS_DEBUG 1 | 54 | #define MAC80211_MESH_PS_DEBUG 1 |
49 | #else | 55 | #else |
@@ -157,6 +163,10 @@ do { \ | |||
157 | _sdata_dbg(MAC80211_MESH_SYNC_DEBUG, \ | 163 | _sdata_dbg(MAC80211_MESH_SYNC_DEBUG, \ |
158 | sdata, fmt, ##__VA_ARGS__) | 164 | sdata, fmt, ##__VA_ARGS__) |
159 | 165 | ||
166 | #define mcsa_dbg(sdata, fmt, ...) \ | ||
167 | _sdata_dbg(MAC80211_MESH_CSA_DEBUG, \ | ||
168 | sdata, fmt, ##__VA_ARGS__) | ||
169 | |||
160 | #define mps_dbg(sdata, fmt, ...) \ | 170 | #define mps_dbg(sdata, fmt, ...) \ |
161 | _sdata_dbg(MAC80211_MESH_PS_DEBUG, \ | 171 | _sdata_dbg(MAC80211_MESH_PS_DEBUG, \ |
162 | sdata, fmt, ##__VA_ARGS__) | 172 | sdata, fmt, ##__VA_ARGS__) |