Make channel parameters available in set_ap() driver operation
This provides information to allow the driver to be configured for updated channel parameters, e.g., when dynamically changing HT20/HT40 bandwidth. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
19318861a5
commit
196c9c7cd2
2 changed files with 21 additions and 1 deletions
|
@ -951,6 +951,9 @@ void ieee802_11_free_ap_params(struct wpa_driver_ap_params *params)
|
||||||
int ieee802_11_set_beacon(struct hostapd_data *hapd)
|
int ieee802_11_set_beacon(struct hostapd_data *hapd)
|
||||||
{
|
{
|
||||||
struct wpa_driver_ap_params params;
|
struct wpa_driver_ap_params params;
|
||||||
|
struct hostapd_freq_params freq;
|
||||||
|
struct hostapd_iface *iface = hapd->iface;
|
||||||
|
struct hostapd_config *iconf = iface->conf;
|
||||||
struct wpabuf *beacon, *proberesp, *assocresp;
|
struct wpabuf *beacon, *proberesp, *assocresp;
|
||||||
int res, ret = -1;
|
int res, ret = -1;
|
||||||
|
|
||||||
|
@ -972,6 +975,17 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
|
||||||
params.proberesp_ies = proberesp;
|
params.proberesp_ies = proberesp;
|
||||||
params.assocresp_ies = assocresp;
|
params.assocresp_ies = assocresp;
|
||||||
|
|
||||||
|
if (iface->current_mode &&
|
||||||
|
hostapd_set_freq_params(&freq, iconf->hw_mode, iface->freq,
|
||||||
|
iconf->channel, iconf->ieee80211n,
|
||||||
|
iconf->ieee80211ac,
|
||||||
|
iconf->secondary_channel,
|
||||||
|
iconf->vht_oper_chwidth,
|
||||||
|
iconf->vht_oper_centr_freq_seg0_idx,
|
||||||
|
iconf->vht_oper_centr_freq_seg1_idx,
|
||||||
|
iface->current_mode->vht_capab) == 0)
|
||||||
|
params.freq = &freq;
|
||||||
|
|
||||||
res = hostapd_drv_set_ap(hapd, ¶ms);
|
res = hostapd_drv_set_ap(hapd, ¶ms);
|
||||||
hostapd_free_ap_extra_ies(hapd, beacon, proberesp, assocresp);
|
hostapd_free_ap_extra_ies(hapd, beacon, proberesp, assocresp);
|
||||||
if (res)
|
if (res)
|
||||||
|
|
|
@ -868,6 +868,11 @@ struct wpa_driver_ap_params {
|
||||||
* osen - Whether OSEN security is enabled
|
* osen - Whether OSEN security is enabled
|
||||||
*/
|
*/
|
||||||
int osen;
|
int osen;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* freq - Channel parameters for dynamic bandwidth changes
|
||||||
|
*/
|
||||||
|
struct hostapd_freq_params *freq;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -921,7 +926,8 @@ struct wpa_driver_capa {
|
||||||
#define WPA_DRIVER_FLAGS_AP 0x00000040
|
#define WPA_DRIVER_FLAGS_AP 0x00000040
|
||||||
/* Driver needs static WEP key setup after association has been completed */
|
/* Driver needs static WEP key setup after association has been completed */
|
||||||
#define WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC_DONE 0x00000080
|
#define WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC_DONE 0x00000080
|
||||||
/* unused: 0x00000100 */
|
/* Driver supports dynamic HT 20/40 MHz channel changes during BSS lifetime */
|
||||||
|
#define WPA_DRIVER_FLAGS_HT_2040_COEX 0x00000100
|
||||||
/* Driver supports concurrent P2P operations */
|
/* Driver supports concurrent P2P operations */
|
||||||
#define WPA_DRIVER_FLAGS_P2P_CONCURRENT 0x00000200
|
#define WPA_DRIVER_FLAGS_P2P_CONCURRENT 0x00000200
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Reference in a new issue