Skip to content
Snippets Groups Projects
Commit d99f068f authored by Jakob Olsson's avatar Jakob Olsson
Browse files

docs: update steer docs

parent 433218c3
Branches
Tags
No related merge requests found
Pipeline #145087 passed
...@@ -27,21 +27,21 @@ config sta_steering ...@@ -27,21 +27,21 @@ config sta_steering
option use_usta_metrics '0' option use_usta_metrics '0'
# use ul_rcpi measured as an unassociated sta as additional trigger for steering (experimental) # use ul_rcpi measured as an unassociated sta as additional trigger for steering (experimental)
option bandsteer '0' option bandsteer '0'
# if 1 then steering from 5g/6g to 2.4g is alowed # if 1 then steering from 5g/6g to 2.4g is alowed
option diffsnr '8' option diffsnr '8'
# minimal RSSI diff (dest RSSI - src RSSI) for the BTM to kick in (default 8dB) # minimal RSSI diff (dest RSSI - src RSSI) for the BTM to kick in (default 8dB)
option rcpi_threshold_2g '70' option rcpi_threshold_2g '70'
# global default rcpi threshold to trigger steering on 2GHZ band # global default rcpi threshold to trigger steering on 2GHZ band
option rcpi_threshold_5g '86' option rcpi_threshold_5g '86'
# global default rcpi threshold to trigger steering on 5GHZ band # global default rcpi threshold to trigger steering on 5GHZ band
option rcpi_threshold_6g '86' option rcpi_threshold_6g '86'
# global default rcpi threshold to trigger steering on 6GHZ band # global default rcpi threshold to trigger steering on 6GHZ band
option report_rcpi_threshold_2g '80' option report_rcpi_threshold_2g '80'
# global default rcpi threshold to start reporing on 2GHZ band # global default rcpi threshold to start reporing on 2GHZ band
option report_rcpi_threshold_5g '96' option report_rcpi_threshold_5g '96'
# global default rcpi threshold to start reporing on 5GHZ band # global default rcpi threshold to start reporing on 5GHZ band
option report_rcpi_threshold_6g '96' option report_rcpi_threshold_6g '96'
# global default rcpi threshold to start reporing on 6GHZ band # global default rcpi threshold to start reporing on 6GHZ band
... ...
``` ```
...@@ -80,7 +80,7 @@ config wifi-radio ...@@ -80,7 +80,7 @@ config wifi-radio
# mandate steering may be trigerred by controller in handler of the above # mandate steering may be trigerred by controller in handler of the above
... ...
option rcpi_threshold '86' option rcpi_threshold '86'
# steer once ul rcpi goes below this threshold, providing there's enough bcn metrics data available # steer once ul rcpi goes below this threshold, providing there's enough bcn metrics data available
... ...
option include_sta_metric '1' option include_sta_metric '1'
# additional trigger point on top of the previous two # additional trigger point on top of the previous two
...@@ -101,7 +101,7 @@ In case the report_rcpi_threshold is not set explicitly in configuration file it ...@@ -101,7 +101,7 @@ In case the report_rcpi_threshold is not set explicitly in configuration file it
Controller initiated mandate steering is now working as follows: Controller initiated mandate steering is now working as follows:
Once the STA – AP rcpi goes below given value, map-agent sends the Associated STA Link Metrics Response to the map-controller. This in turn will cause map-controller to send beacon metrics request for given STA on all operating classes/channels of nodes operating in the mesh and SSID value set to current network. After some time (depends on number of opclass/channel pairs) – the beacon metrics results will be parsed. Once there’s a better (diffsnr of at least 8dB is a default) BSS found for given STA, controller will try to to move STA to that BSS using BTM request. Once the STA – AP rcpi goes below given value (report_rcpi_threshold), map-agent sends the Associated STA Link Metrics Response to the map-controller. This in turn will cause map-controller to send beacon metrics request for given STA on all operating classes/channels of nodes operating in the mesh and SSID value set to current network. After some time (depends on number of opclass/channel pairs) – the beacon metrics results will be parsed. Once there’s a better (diffsnr of at least 8dB is a default) BSS found for given STA, controller will try to to move STA to that BSS using BTM request.
Depending on the settings there'll be more or less frequent checks done by the controller. - Frequency of the checks depends on the frequency of the associated sta link metrics responses received from the nodes, which depends on the settings as explained earlier (util_threshold, report_rcpi_threshold, rcpi_threshold, include_sta_metric). Controller will check if RCPI goes below the reporting threshold. If so, then controller will request for beacon metrics and/or unassociated STA link metrics for given client. After some time it will then compare current RCPI of that given station with the values obtained in metrics and only try to (BTM) steer that station if there's a better candidate found. - The delta RCPI of at least 8 is required (difference in beacon metrics RCPI of source and target). Additionally the current uplink RCPI will be always compared with rcpi_threshold in the plugin, and steering will not take place if it's above that trigger. Depending on the settings there'll be more or less frequent checks done by the controller. - Frequency of the checks depends on the frequency of the associated sta link metrics responses received from the nodes, which depends on the settings as explained earlier (util_threshold, report_rcpi_threshold, rcpi_threshold, include_sta_metric). Controller will check if RCPI goes below the reporting threshold. If so, then controller will request for beacon metrics and/or unassociated STA link metrics for given client. After some time it will then compare current RCPI of that given station with the values obtained in metrics and only try to (BTM) steer that station if there's a better candidate found. - The delta RCPI of at least 8 is required (difference in beacon metrics RCPI of source and target). Additionally the current uplink RCPI will be always compared with rcpi_threshold in the plugin, and steering will not take place if it's above that trigger.
...@@ -156,33 +156,31 @@ This option is also passed down to rcpi plugin. If set then rcpi plugin will all ...@@ -156,33 +156,31 @@ This option is also passed down to rcpi plugin. If set then rcpi plugin will all
In order to steer the STA one can also use a map-controller UBUS API as follows In order to steer the STA one can also use a map-controller UBUS API as follows
``` shell ``` shell
ubus call map.controller steer '{"agent":"46:d4:37:6a:f7:d0", "src_bssid":"7e:d4:37:6a:f7:d8", "sta":["e0:d4:e8:79:c4:ee"], "steer_req_mode":true, "target_bssid":["44:d4:37:6a:f4:cf"]}' ubus call map.controller steer '{"agent":"46:d4:37:fe:2d:d0","sta":"c4:03:a8:86:97:0a","src_bssid":"44:d4:37:fe:2d:df","target_agent":"5a:00:32:e6:c8:c0","target_bssid":"3e:00:32:e6:c8:c8","abridged":"0","disassoc_tmo":10,"mbo_reason":"0"}'
``` ```
The parameters are: The parameters are:
- agent - alid of the agent node of the source BSSID - agent - alid of the agent node of the source BSSID
- src_bssid - source BSSID to which the STA is currently connected - src_bssid - source BSSID to which the STA is currently connected
- sta - MAC address of the STA to be steered - sta - MAC address of the STA to be steered
- steer_req_mode - true for mandate, false for opportunity (experimental) - target_agent - the agent to which the sta is to be steered
- target_bssid - target BSSID to which the STA is requested to connect - target_bssid - the target bssid to which the sta is to be steered
- abridged - abridged bit in Bssinfo of BTM Request
- disassoc_tmo - maps to Diassoc Immenent field and Disassoc Timer in TUs. When not set, Controller doesnot set the Disassoc Immenent field. Otherwise, it holds the Disassoc timer value in TUs
- mbo_reason - MBO Transition Reason Code to be sent if STA is Agile Multiband capable
## Other UBUS commands ## Other UBUS commands
Get independent (from the algorithm) beacon metrics for one opclass/channel pair: Get independent (from the algorithm) beacon metrics:
``` shell ``` shell
ubus call map.controller bcn_metrics_query '{"agent":"46:d4:37:6a:f4:c0", "sta":"e0:d4:e8:79:c4:ee", "ssid":"44:d4:37:6a:f4:cf", "opclass":115, "channel":36}' ubus call map.controller query_beacon_metrics '{"agent":"44:d4:37:42:47:b9", "sta":"44:d4:37:4d:84:83", "bssid":"44:d4:37:42:47:bf", "ssid":"MAP-112233445566-5GHz", "channel_report":[{"opclass":81,"channels": [1, 6, 13]}, {"opclass":82, "channels": [1, 6, 13]}], "reporting_detail":1, "request_element": [7, 33]}'
``` ```
Get independent (from the algorithm) beacon metrics for more than one opclass/channel:
``` shell
ubus call map.controller bcn_metrics_query '{"agent":"46:d4:37:6a:f4:c0", "sta":"e0:d4:e8:79:c4:ee", "bssid":"ff:ff:ff:ff:ff:ff", "opclass":0, "channel":255, "ssid":"iopsysWrt-44D4376AF4C0", "channel_report":[{"opclass":115,"channels":[36,40,44,48]}, {"opclass":118,"channels":[52,56,60,64]}]}'
```
Displaying of the currently stored beacon metrics: Displaying of the currently stored beacon metrics:
``` shell ``` shell
ubus call map.controller bcn_metrics_resp ubus call map.controller dump_beacon_metrics
ubus call map.controller bcn_metrics_resp '{"sta":"e0:d4:e8:79:c4:ee"} ubus call map.controller dump_beacon_metrics '{"sta":"e0:d4:e8:79:c4:ee"}
``` ```
## Known issues & limitations ## Known issues & limitations
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment