This changes the metrics variables that invove scores to arrays. At the
momemnt, there are two bands implemented, 802_11a and 802_11g.
Internally, they are chosen based on the frequency of the channel being
used. Anything < 2500 MHz is 802_11g, and everything else is 802_11a.
Dawn will issue a warning if it finds a frequency greater or equal to
5925 MHz. The upper limit of the 802.11a band, and the start of the
next band vary by country, so this will have to be reviewed.
The UCI configuration changes. Instead of a single metric config, there
will be a global metric config, and one for each band. The
non-band-specific configuration will only work in the global config.
Any per-band configuration present at the global config will be applied
to all bands. Any configuration present at the specific band will
override any global values.
The following configuration options are split into bands:
- ap_weight
- ht_support
- vht_support
- no_ht_support
- no_vht_support
- rssi
- rssi_val
- low_rssi
- low_rssi_val
- freq
- chan_util
- max_chan_util
- chan_util_val
- max_chan_util_val
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
The wnm_disassoc_imminent procedure takes a list of neighbor reports to
send to the client.
Instead of picking just one AP to be sent, send all that have the same
score.
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
datastorage: convert to linked lists and optimise use of pointers
datastorage: AP, client, probe, auth entry and MAC list converted to
linked list
datastorage: functions adjusted to take pointers as parameters
datastorage: optimised sort and search functions added
mac_utils: struct dawn_mac added and comparisons adjusted
general: adjust code to call new datastorage functions
test_storage: large scale 100 AP, 3000 client, 70k probe added
[fix commit]
Signed-off-by: Nick Hainke <vincent@systemli.org>
datastorage (bug fix): deleting expired array item would fail to test next item
test_storage: extended to cover all required datastorage entry points
test_storage: added ability to read script file
test_storage: added new and revised test scripts
TESTING.md: added to describe testing approach
general: added various TODO notes on things to come back to
general: revised #includes to make each "self-compiling"
general: revised #includes to minimise usage across source files
general: moved declarations and defintions to simplify and rationalise code
datastorage: refactor to support scalability testing
datastorage: made independent of time() calls to support testing
datastorage: fixed redundant use of both SORT_NUM and SORT_LENGTH defines
datastorage: fake kicking to test clients move between access points
msghandler: new module to reduce compile time interdependencies
mshhandler: (issue #100?) fixed SEGV memcpy() in dump_client() using strncpy()
ubus: merged uface into ubus
mac_utils: new module for MAC address utilites
test_header: added target to help #include rationalisation
Tested-by: Nick Hainke <vincent@systemli.org>