mac80211: Use 3-address format for mesh broadcast frames.
authorJavier Cardona <javier@cozybit.com>
Mon, 10 Aug 2009 19:15:48 +0000 (12:15 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 14 Aug 2009 13:14:00 +0000 (09:14 -0400)
commit3c5772a5279de9eadfff7adb5ddea08106495fff
tree297772521c18283ccfa19aacb090f396fa2b399e
parenta9e3091bf08ddea35f172549a8a21d5bd6ee6129
mac80211: Use 3-address format for mesh broadcast frames.

The 11s task group recently changed the frame mesh multicast/broadcast frame
format to use 3-address.  This was done to avoid interactions with widely
deployed lazy-WDS access points.

This patch changes the format of group addressed frames, both mesh-originated
and proxied, to use the data format defined in draft D2.08 and forward.  The
address fields used for group addressed frames is:

In 802.11 header
 ToDS:0  FromDS:1
 addr1: DA  (broadcast/multicast address)
 addr2: TA
 addr3: Mesh SA

In address extension header:
 addr4: SA  (only present if frame was proxied)

Note that this change breaks backward compatibility with earlier mesh stack
versions.

Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/mesh.c
net/mac80211/mesh.h
net/mac80211/rx.c
net/mac80211/tx.c
net/wireless/util.c