open80211s: Stop using zero for address 3 in mesh plink mgmt frames
authorJavier Cardona <javier@cozybit.com>
Tue, 3 May 2011 23:57:10 +0000 (16:57 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 11 May 2011 18:37:48 +0000 (14:37 -0400)
Previous versions of 11s draft used the all zeroes address.  Current
draft uses the same address as address 2.

Also, use the ANA-approved action category code for peer establishment frames.

Note: This breaks compatibility with previous mesh protocol instances.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/mesh_plink.c

index 0120e9e..2c37bee 100644 (file)
@@ -43,7 +43,7 @@
 #define dot11MeshMaxPeerLinks(s) (s->u.mesh.mshcfg.dot11MeshMaxPeerLinks)
 
 enum plink_frame_type {
-       PLINK_OPEN = 0,
+       PLINK_OPEN = 1,
        PLINK_CONFIRM,
        PLINK_CLOSE
 };
@@ -181,7 +181,7 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata,
                                          IEEE80211_STYPE_ACTION);
        memcpy(mgmt->da, da, ETH_ALEN);
        memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
-       /* BSSID is left zeroed, wildcard value */
+       memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
        mgmt->u.action.category = WLAN_CATEGORY_MESH_ACTION;
        mgmt->u.action.u.plink_action.action_code = action;