mac80211: process the CSA frame for mesh accordingly
authorChun-Yeow Yeoh <yeohchunyeow@cozybit.com>
Tue, 15 Oct 2013 02:08:27 +0000 (19:08 -0700)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 28 Oct 2013 14:05:28 +0000 (15:05 +0100)
commit8f2535b92d685c68db4bc699dd78462a646f6ef9
treee64579c3dfc09f81fbf47f2a76d316721a4da2e3
parentc0f17eb9b2d4d322c099a0700437209149224583
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>
include/linux/ieee80211.h
net/mac80211/Kconfig
net/mac80211/debug.h
net/mac80211/ieee80211_i.h
net/mac80211/mesh.c
net/mac80211/util.c