Message ID | CAOtFK_XANjW6Z4AB8domDDz31EjbtO3No25YVdM8YtEM4HnPNA@mail.gmail.com |
---|---|
State | Changes Requested |
Headers | show |
On Wed, Jan 07, 2015 at 01:18:20PM +0100, Adrien Decostre wrote: > The patch below extend the possibility to define channel list > restriction for automatic channel selection (ACS) to the case DFS > support is not enabled. This seems reasonable. Could you please also update hostapd/hostapd.conf documentation for chanlist to indicate that it is used for ACS even without DFS? Please also read the top level CONTRIBUTIONS file and re-send the patch with Signed-off-by: line added to the commit message as described there so that I can apply this to the repository.
diff --git a/src/ap/acs.c b/src/ap/acs.c index 97cf26f..21d932e 100644 --- a/src/ap/acs.c +++ b/src/ap/acs.c @@ -454,6 +454,20 @@ static int acs_usable_chan(struct hostapd_channel_data *chan) return 1; } +static int is_in_chanlist(struct hostapd_iface *iface, + struct hostapd_channel_data *chan) +{ + int *entry; + + if (!iface->conf->chanlist) + return 1; + + for (entry = iface->conf->chanlist; *entry != -1; entry++) { + if (*entry == chan->chan) + return 1; + } + return 0; +} static void acs_survey_all_chans_intereference_factor(
Dear all, The patch below extend the possibility to define channel list restriction for automatic channel selection (ACS) to the case DFS support is not enabled. Best regards From a4b1378661dc5f8de47ac47af8f020cd20f6bd4d Mon Sep 17 00:00:00 2001 From: Adrien Decostre <ad.decostre@gmail.com> Date: Wed, 7 Jan 2015 13:03:04 +0100 Subject: [PATCH] add the possibility to define a subset of channels used by the ACS engine when not operating on DFS channels --- src/ap/acs.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) struct hostapd_iface *iface) @@ -467,6 +481,9 @@ static void acs_survey_all_chans_intereference_factor( if (!acs_usable_chan(chan)) continue; + if (!is_in_chanlist(iface, chan)) + continue; + wpa_printf(MSG_DEBUG, "ACS: Survey analysis for channel %d (%d MHz)", chan->chan, chan->freq); @@ -542,7 +559,9 @@ acs_find_ideal_chan(struct hostapd_iface *iface) if (chan->flag & HOSTAPD_CHAN_DISABLED) continue; - + + if (!is_in_chanlist(iface, chan)) + continue; /* HT40 on 5 GHz has a limited set of primary channels as per * 11n Annex J */ -- 1.7.9.5