mac80211: add ssid config to bss information in AP-mode

Set SSID information from nl80211 beacon parameters. Advertise changes
in SSID to low level drivers.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Cette révision appartient à :
Arik Nemtsov
2011-09-04 11:11:32 +03:00
révisé par John W. Linville
Parent 28e3181a77
révision 7827493b88
3 fichiers modifiés avec 28 ajouts et 1 suppressions

Voir le fichier

@@ -455,6 +455,20 @@ static int ieee80211_get_station(struct wiphy *wiphy, struct net_device *dev,
return ret;
}
static void ieee80211_config_ap_ssid(struct ieee80211_sub_if_data *sdata,
struct beacon_parameters *params)
{
struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf;
bss_conf->ssid_len = params->ssid_len;
if (params->ssid_len)
memcpy(bss_conf->ssid, params->ssid, params->ssid_len);
bss_conf->hidden_ssid =
(params->hidden_ssid != NL80211_HIDDEN_SSID_NOT_IN_USE);
}
/*
* This handles both adding a beacon and setting new beacon info
*/
@@ -548,8 +562,11 @@ static int ieee80211_config_beacon(struct ieee80211_sub_if_data *sdata,
kfree(old);
ieee80211_config_ap_ssid(sdata, params);
ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED |
BSS_CHANGED_BEACON);
BSS_CHANGED_BEACON |
BSS_CHANGED_SSID);
return 0;
}