cfg80211/mac80211: add connected to auth server to meshconf
Besides information about num of peerings and gate connectivity, the mesh formation byte also contains a flag for authentication server connectivity, that currently cannot be set in the mesh conf. This patch adds this capability, which is necessary to implement 802.1X authentication in mesh mode. Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de> Link: https://lore.kernel.org/r/20200611140238.427461-1-markus.theil@tu-ilmenau.de Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
e3718a6114
commit
184eebe664
@@ -260,6 +260,7 @@ int mesh_add_meshconf_ie(struct ieee80211_sub_if_data *sdata,
|
||||
bool is_connected_to_gate = ifmsh->num_gates > 0 ||
|
||||
ifmsh->mshcfg.dot11MeshGateAnnouncementProtocol ||
|
||||
ifmsh->mshcfg.dot11MeshConnectedToMeshGate;
|
||||
bool is_connected_to_as = ifmsh->mshcfg.dot11MeshConnectedToAuthServer;
|
||||
|
||||
if (skb_tailroom(skb) < 2 + meshconf_len)
|
||||
return -ENOMEM;
|
||||
@@ -284,7 +285,9 @@ int mesh_add_meshconf_ie(struct ieee80211_sub_if_data *sdata,
|
||||
/* Mesh Formation Info - number of neighbors */
|
||||
neighbors = atomic_read(&ifmsh->estab_plinks);
|
||||
neighbors = min_t(int, neighbors, IEEE80211_MAX_MESH_PEERINGS);
|
||||
*pos++ = (neighbors << 1) | is_connected_to_gate;
|
||||
*pos++ = (is_connected_to_as << 7) |
|
||||
(neighbors << 1) |
|
||||
is_connected_to_gate;
|
||||
/* Mesh capability */
|
||||
*pos = 0x00;
|
||||
*pos |= ifmsh->mshcfg.dot11MeshForwarding ?
|
||||
|
Reference in New Issue
Block a user