Add EDMG parameters to set_freq functions

This updates the frequency parameter setting functions to include
argument for EDMG.

Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
This commit is contained in:
Alexei Avshalom Lazar 2019-09-11 12:03:07 +03:00 committed by Jouni Malinen
parent fdd0fef2c6
commit bebd91e9c4
8 changed files with 25 additions and 9 deletions

View File

@ -538,7 +538,8 @@ int hostapd_flush(struct hostapd_data *hapd)
int hostapd_set_freq(struct hostapd_data *hapd, enum hostapd_hw_mode mode, int hostapd_set_freq(struct hostapd_data *hapd, enum hostapd_hw_mode mode,
int freq, int channel, int ht_enabled, int vht_enabled, int freq, int channel, int edmg, u8 edmg_channel,
int ht_enabled, int vht_enabled,
int he_enabled, int he_enabled,
int sec_channel_offset, int oper_chwidth, int sec_channel_offset, int oper_chwidth,
int center_segment0, int center_segment1) int center_segment0, int center_segment1)
@ -546,7 +547,8 @@ int hostapd_set_freq(struct hostapd_data *hapd, enum hostapd_hw_mode mode,
struct hostapd_freq_params data; struct hostapd_freq_params data;
struct hostapd_hw_modes *cmode = hapd->iface->current_mode; struct hostapd_hw_modes *cmode = hapd->iface->current_mode;
if (hostapd_set_freq_params(&data, mode, freq, channel, ht_enabled, if (hostapd_set_freq_params(&data, mode, freq, channel, edmg,
edmg_channel, ht_enabled,
vht_enabled, he_enabled, sec_channel_offset, vht_enabled, he_enabled, sec_channel_offset,
oper_chwidth, oper_chwidth,
center_segment0, center_segment1, center_segment0, center_segment1,
@ -808,7 +810,8 @@ int hostapd_start_dfs_cac(struct hostapd_iface *iface,
return -1; return -1;
} }
if (hostapd_set_freq_params(&data, mode, freq, channel, ht_enabled, if (hostapd_set_freq_params(&data, mode, freq, channel, 0, 0,
ht_enabled,
vht_enabled, he_enabled, sec_channel_offset, vht_enabled, he_enabled, sec_channel_offset,
oper_chwidth, center_segment0, oper_chwidth, center_segment0,
center_segment1, center_segment1,

View File

@ -62,7 +62,8 @@ int hostapd_get_seqnum(const char *ifname, struct hostapd_data *hapd,
const u8 *addr, int idx, u8 *seq); const u8 *addr, int idx, u8 *seq);
int hostapd_flush(struct hostapd_data *hapd); int hostapd_flush(struct hostapd_data *hapd);
int hostapd_set_freq(struct hostapd_data *hapd, enum hostapd_hw_mode mode, int hostapd_set_freq(struct hostapd_data *hapd, enum hostapd_hw_mode mode,
int freq, int channel, int ht_enabled, int vht_enabled, int freq, int channel, int edmg, u8 edmg_channel,
int ht_enabled, int vht_enabled,
int he_enabled, int sec_channel_offset, int oper_chwidth, int he_enabled, int sec_channel_offset, int oper_chwidth,
int center_segment0, int center_segment1); int center_segment0, int center_segment1);
int hostapd_set_rts(struct hostapd_data *hapd, int rts); int hostapd_set_rts(struct hostapd_data *hapd, int rts);

View File

@ -1434,7 +1434,8 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
if (cmode && if (cmode &&
hostapd_set_freq_params(&freq, iconf->hw_mode, iface->freq, hostapd_set_freq_params(&freq, iconf->hw_mode, iface->freq,
iconf->channel, iconf->ieee80211n, iconf->channel, iconf->enable_edmg,
iconf->edmg_channel, iconf->ieee80211n,
iconf->ieee80211ac, iconf->ieee80211ax, iconf->ieee80211ac, iconf->ieee80211ax,
iconf->secondary_channel, iconf->secondary_channel,
hostapd_get_oper_chwidth(iconf), hostapd_get_oper_chwidth(iconf),

View File

@ -960,6 +960,8 @@ static int hostapd_dfs_start_channel_switch(struct hostapd_iface *iface)
iface->conf->hw_mode, iface->conf->hw_mode,
channel->freq, channel->freq,
channel->chan, channel->chan,
iface->conf->enable_edmg,
iface->conf->edmg_channel,
iface->conf->ieee80211n, iface->conf->ieee80211n,
iface->conf->ieee80211ac, iface->conf->ieee80211ac,
iface->conf->ieee80211ax, iface->conf->ieee80211ax,

View File

@ -1914,6 +1914,8 @@ static int hostapd_setup_interface_complete_sync(struct hostapd_iface *iface,
if (!delay_apply_cfg && if (!delay_apply_cfg &&
hostapd_set_freq(hapd, hapd->iconf->hw_mode, iface->freq, hostapd_set_freq(hapd, hapd->iconf->hw_mode, iface->freq,
hapd->iconf->channel, hapd->iconf->channel,
hapd->iconf->enable_edmg,
hapd->iconf->edmg_channel,
hapd->iconf->ieee80211n, hapd->iconf->ieee80211n,
hapd->iconf->ieee80211ac, hapd->iconf->ieee80211ac,
hapd->iconf->ieee80211ax, hapd->iconf->ieee80211ax,
@ -3282,7 +3284,8 @@ static int hostapd_change_config_freq(struct hostapd_data *hapd,
if (old_params && if (old_params &&
hostapd_set_freq_params(old_params, conf->hw_mode, hostapd_set_freq_params(old_params, conf->hw_mode,
hostapd_hw_get_freq(hapd, conf->channel), hostapd_hw_get_freq(hapd, conf->channel),
conf->channel, conf->ieee80211n, conf->channel, conf->enable_edmg,
conf->edmg_channel, conf->ieee80211n,
conf->ieee80211ac, conf->ieee80211ax, conf->ieee80211ac, conf->ieee80211ax,
conf->secondary_channel, conf->secondary_channel,
hostapd_get_oper_chwidth(conf), hostapd_get_oper_chwidth(conf),

View File

@ -360,7 +360,8 @@ int check_40mhz_2g4(struct hostapd_hw_modes *mode,
int hostapd_set_freq_params(struct hostapd_freq_params *data, int hostapd_set_freq_params(struct hostapd_freq_params *data,
enum hostapd_hw_mode mode, enum hostapd_hw_mode mode,
int freq, int channel, int ht_enabled, int freq, int channel, int enable_edmg,
u8 edmg_channel, int ht_enabled,
int vht_enabled, int he_enabled, int vht_enabled, int he_enabled,
int sec_channel_offset, int sec_channel_offset,
int oper_chwidth, int center_segment0, int oper_chwidth, int center_segment0,
@ -381,6 +382,9 @@ int hostapd_set_freq_params(struct hostapd_freq_params *data,
data->center_freq2 = 0; data->center_freq2 = 0;
data->bandwidth = sec_channel_offset ? 40 : 20; data->bandwidth = sec_channel_offset ? 40 : 20;
hostapd_encode_edmg_chan(enable_edmg, edmg_channel, channel,
&data->edmg);
if (data->vht_enabled) switch (oper_chwidth) { if (data->vht_enabled) switch (oper_chwidth) {
case CHANWIDTH_USE_HT: case CHANWIDTH_USE_HT:
if (center_segment1 || if (center_segment1 ||

View File

@ -31,7 +31,8 @@ int check_40mhz_2g4(struct hostapd_hw_modes *mode,
int sec_chan); int sec_chan);
int hostapd_set_freq_params(struct hostapd_freq_params *data, int hostapd_set_freq_params(struct hostapd_freq_params *data,
enum hostapd_hw_mode mode, enum hostapd_hw_mode mode,
int freq, int channel, int ht_enabled, int freq, int channel, int edmg, u8 edmg_channel,
int ht_enabled,
int vht_enabled, int he_enabled, int vht_enabled, int he_enabled,
int sec_channel_offset, int sec_channel_offset,
int oper_chwidth, int center_segment0, int oper_chwidth, int center_segment0,

View File

@ -2433,7 +2433,8 @@ skip_ht40:
} }
if (hostapd_set_freq_params(&vht_freq, mode->mode, freq->freq, if (hostapd_set_freq_params(&vht_freq, mode->mode, freq->freq,
freq->channel, freq->ht_enabled, freq->channel, ssid->enable_edmg,
ssid->edmg_channel, freq->ht_enabled,
vht_freq.vht_enabled, freq->he_enabled, vht_freq.vht_enabled, freq->he_enabled,
freq->sec_channel_offset, freq->sec_channel_offset,
chwidth, seg0, seg1, vht_caps, chwidth, seg0, seg1, vht_caps,