[PATCH 6/6] bss_coloring: allow using a random starting color

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: John Crispin <john@xxxxxxxxxxx>

Enhance the possible values for he_bss_color. Anything greater than 63 will
make hostapd choose a random color.

Co-developed-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
Signed-off-by: John Crispin <john@xxxxxxxxxxx>
Signed-off-by: Ryder Lee <ryder.lee@xxxxxxxxxxxx>
---
 hostapd/config_file.c | 7 +++++--
 hostapd/hostapd.conf  | 5 ++++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/hostapd/config_file.c b/hostapd/config_file.c
index 7b03edf36..70d8809c7 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
@@ -3503,8 +3503,11 @@ static int hostapd_config_fill(struct hostapd_config *conf,
 	} else if (os_strcmp(buf, "he_mu_beamformer") == 0) {
 		conf->he_phy_capab.he_mu_beamformer = atoi(pos);
 	} else if (os_strcmp(buf, "he_bss_color") == 0) {
-		conf->he_op.he_bss_color = atoi(pos) & 0x3f;
-		conf->he_op.he_bss_color_disabled = 0;
+		conf->he_op.he_bss_color = atoi(pos);
+		if (conf->he_op.he_bss_color > 63)
+			conf->he_op.he_bss_color = (os_random() % 63) + 1;
+		if (conf->he_op.he_bss_color)
+			conf->he_op.he_bss_color_disabled = 0;
 	} else if (os_strcmp(buf, "he_bss_color_partial") == 0) {
 		conf->he_op.he_bss_color_partial = atoi(pos);
 	} else if (os_strcmp(buf, "he_default_pe_duration") == 0) {
diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf
index dbdd3d7fb..88a2b9b83 100644
--- a/hostapd/hostapd.conf
+++ b/hostapd/hostapd.conf
@@ -816,7 +816,10 @@ wmm_ac_vo_acm=0
 # 1 = supported
 #he_mu_beamformer=1
 
-# he_bss_color: BSS color (1-63)
+# he_bss_color:
+# 0 = disable
+# 1-63 = pre-defined color
+# 64+ =	random color
 #he_bss_color=1
 
 # he_bss_color_partial: BSS color AID equation
-- 
2.29.2


_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux