From e8ff22f471c31b08842d557331ae6ed69ac140e4 Mon Sep 17 00:00:00 2001 From: Alexei Avshalom Lazar Date: Wed, 11 Sep 2019 12:03:07 +0300 Subject: [PATCH] wpa_supplicant: Add EDMG channel configuration parameters Add two new configuration parameters for wpa_supplicant: enable_edmg: Enable EDMG capability for STA/AP mode edmg_channel: Configure channel bonding. In AP mode it defines the EDMG channel to start the AP on. In STA mode it defines the EDMG channel to use for connection. Signed-off-by: Alexei Avshalom Lazar --- wpa_supplicant/config.c | 2 ++ wpa_supplicant/config_file.c | 2 ++ wpa_supplicant/config_ssid.h | 17 +++++++++++++++++ wpa_supplicant/wpa_cli.c | 1 + wpa_supplicant/wpa_supplicant.conf | 10 ++++++++++ 5 files changed, 32 insertions(+) diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c index 5ad6fc7bb..515228b78 100644 --- a/wpa_supplicant/config.c +++ b/wpa_supplicant/config.c @@ -2481,6 +2481,8 @@ static const struct parse_data ssid_fields[] = { { INT_RANGE(mixed_cell, 0, 1) }, { INT_RANGE(frequency, 0, 70200) }, { INT_RANGE(fixed_freq, 0, 1) }, + { INT_RANGE(enable_edmg, 0, 1) }, + { INT_RANGE(edmg_channel, 9, 13) }, #ifdef CONFIG_ACS { INT_RANGE(acs, 0, 1) }, #endif /* CONFIG_ACS */ diff --git a/wpa_supplicant/config_file.c b/wpa_supplicant/config_file.c index 5005aa925..7150ab809 100644 --- a/wpa_supplicant/config_file.c +++ b/wpa_supplicant/config_file.c @@ -847,6 +847,8 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid) INT(mode); INT(no_auto_peer); INT(frequency); + INT(enable_edmg); + INT(edmg_channel); INT(fixed_freq); #ifdef CONFIG_ACS INT(acs); diff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h index 649f8c82c..df5e9a2c5 100644 --- a/wpa_supplicant/config_ssid.h +++ b/wpa_supplicant/config_ssid.h @@ -483,6 +483,23 @@ struct wpa_ssid { */ int frequency; + /** + * enable_edmg - Enable EDMG feature in STA/AP mode + * + * This flag is used for enabling the EDMG capability in STA/AP mode. + */ + int enable_edmg; + + /** + * edmg_channel - EDMG channel number + * + * This value is used to configure the EDMG channel bonding feature. + * In AP mode it defines the EDMG channel to start the AP on. + * in STA mode it defines the EDMG channel to use for connection + * (if supported by AP). + */ + u8 edmg_channel; + /** * fixed_freq - Use fixed frequency for IBSS */ diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c index fa24121ca..bfa64cb9b 100644 --- a/wpa_supplicant/wpa_cli.c +++ b/wpa_supplicant/wpa_cli.c @@ -1441,6 +1441,7 @@ static const char *network_fields[] = { "dot11MeshHoldingTimeout", #endif /* CONFIG_MESH */ "wpa_ptk_rekey", "bgscan", "ignore_broadcast_ssid", + "enable_edmg", "edmg_channel", #ifdef CONFIG_P2P "go_p2p_dev_addr", "p2p_client_list", "psk_list", #endif /* CONFIG_P2P */ diff --git a/wpa_supplicant/wpa_supplicant.conf b/wpa_supplicant/wpa_supplicant.conf index 0babadcc8..63639732f 100644 --- a/wpa_supplicant/wpa_supplicant.conf +++ b/wpa_supplicant/wpa_supplicant.conf @@ -1548,6 +1548,16 @@ fast_reauth=1 # Set to 1 to disable BSS transition management #disable_btm=0 +# Enable EDMG capability in STA/AP mode, default value is false +#enable_edmg=1 + +# This value is used to configure the channel bonding feature. +# Default value is 0. +# Relevant only if enable_edmg is true +# In AP mode it defines the EDMG channel to use for AP operation. +# In STA mode it defines the EDMG channel for connection (if supported by AP). +#edmg_channel=9 + # Example blocks: # Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers