Newer
Older
[Map-Controller](https://dev.iopsys.eu/iopsys/map-controller)
## Introduction
This package provides the `mapcontroller` daemon, which is responsible for
distributing wireless credentials, vlan configuration and more.
## Overview
This README will show how to properly setup the mapcontroller configuration file
and trigger mapcontroller functionality.
## UCI Configuration
A default configuration file which will propagate one fronthaul and one backhaul
interface for the 5GHz and 2.4GHz bands respectively may look as such:
```
config controller 'controller'
option enabled '1'
option registrar '5 2'
option debug '0'
option enable_sta_steer '0'
option enable_bsta_steer '0'
option use_bcn_metrics '0'
option use_usta_metrics '0'
option primary_vid '1'
option primary_pcp '0'
option ssid 'MAP-EC6C9A52B027-5GHz'
option encryption 'sae-mixed'
option vid '1'
option type 'fronthaul'
option network 'lan'
option key '7NTx-APvX-pba7-tvd7'
option ssid 'MAP-EC6C9A52B027-2.4GHz'
option encryption 'sae-mixed'
option vid '1'
option type 'fronthaul'
option network 'lan'
option key '7NTx-APvX-pba7-tvd7'
option ssid 'MAP-EC6C9A52B027-BH-5GHz'
option encryption 'sae'
option type 'backhaul'
option vid '1'
option network 'lan'
option key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
option ssid 'MAP-EC6C9A52B027-BH-2.4GHz'
option encryption 'sae'
option type 'backhaul'
list disallow_bsta '0'
option vid '1'
option network 'lan'
option key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
config policy 'policy'
list steer_exclude '00:11:22:33:44:55'
list steer_exclude_btm '00:aa:bb:cc:dd:ee'
option steer_policy '2'
option util_threshold '200'
option rcpi_threshold '30'
option report_scan '0'
option report_sta_assocfails '1'
option report_sta_assocfails_rate '2'
option report_metric_periodic '0'
option report_rcpi_threshold '0'
option report_util_threshold '0'
option rcpi_hysteresis_margin '0'
option include_sta_stats '0'
option include_sta_metric '0'
option disallow_bsta_p1 '0'
option disallow_bsta_p2 '0'
```
The important part of this configuration file is to properly setup the wireless
credentials.
### Credentials
The section `ap` holds the wireless credentials that will be passed to agents in
the network, which will setup the local wireless configuration accordingly.
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Fronthaul AP credentials are identified by `type 'fronthaul'`. In the wireless
uci configuration, these are mapped to the option `multi_ap '2'`, which will
be the APs that regular clients connect to.
As such, the following mapagent sections will be correspodning to the respective
wireless sections:
```
config ap
option band '5'
option ssid 'MAP-EC6C9A52B027-5GHz'
option encryption 'sae-mixed'
option vid '1'
option type 'fronthaul'
option network 'lan'
option key '7NTx-APvX-pba7-tvd7'
config ap
option band '2'
option ssid 'MAP-EC6C9A52B027-2.4GHz'
option encryption 'sae-mixed'
option vid '1'
option type 'fronthaul'
option network 'lan'
option key '7NTx-APvX-pba7-tvd7'
```
```
config wifi-iface 'wl1_ap'
option ifname 'wl1'
option network 'lan'
option ssid 'MAP-EC6C9A52B027-5GHz'
option key '7NTx-APvX-pba7-tvd7'
option encryption 'sae-mixed+aes'
option mode 'ap'
option device 'wl1'
option multi_ap '2'
option ieee80211k '1'
option ieee80211v '1'
option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
option wps '1'
option wps_pushbutton '1'
option multi_ap_backhaul_ssid 'MAP-EC6C9A52B027-BH-5GHz'
option multi_ap_backhaul_key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
config wifi-iface 'wl0_ap'
option ifname 'wl0'
option network 'lan'
option ssid 'MAP-EC6C9A52B027-2.4GHz'
option key '7NTx-APvX-pba7-tvd7'
option encryption 'sae-mixed+aes'
option mode 'ap'
option device 'wl0'
option multi_ap '2'
option ieee80211k '1'
option ieee80211v '1'
option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
option wps '1'
option wps_pushbutton '1'
option multi_ap_backhaul_ssid 'MAP-EC6C9A52B027-BH-2.4GHz'
option multi_ap_backhaul_key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
Backhaul AP credentials are identified by `type 'backhaul'`. In the wireless
uci configuration, these are mapped to the option `multi_ap '1'`, which will
be the APs that backhaul STA clients will connect to, in a Multi-AP environment.
The following mapagent sections will be correspodning to the respective
wireless sections:
```
config ap
option band '5'
option ssid 'MAP-EC6C9A52B027-BH-5GHz'
option encryption 'sae'
option type 'backhaul'
option vid '1'
option network 'lan'
option key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
config ap
option band '2'
option ssid 'MAP-EC6C9A52B027-BH-2.4GHz'
option encryption 'sae'
option type 'backhaul'
list disallow_bsta '0'
option vid '1'
option network 'lan'
option key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
```
```
config wifi-iface 'wl1_1_ap'
option ifname 'wl1.1'
option network 'lan'
option ssid 'MAP-EC6C9A52B027-BH-5GHz'
option key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
option encryption 'sae+aes'
option mode 'ap'
option device 'wl1'
option multi_ap '1'
option ieee80211k '1'
option ieee80211v '1'
option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
config wifi-iface 'wl0_1_ap'
option ifname 'wl0.1'
option network 'lan'
option ssid 'MAP-EC6C9A52B027-BH-2.4GHz'
option key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
option encryption 'sae+aes'
option mode 'ap'
option device 'wl0'
option multi_ap '1'
option ieee80211k '1'
option ieee80211v '1'
option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
```
### Combined Front/Back
If combined fronthaul and backhaul interfaces are to be used, a `config ap`
section with the option `type 'combined'` shall be provided:
option ssid 'MAP-EC6C9A52B027-COMBINED-5GHz'
option encryption 'sae'
option type 'combined'
option vid '1'
option network 'lan'
option key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
In turn map-agent will create the interface with the option `multi_ap '3'`,
meaning combined fronthaul/backhaul interface.
```
config wifi-iface 'wl0_ap'
option ifname 'wl0'
option network 'lan'
option ssid 'MAP-EC6C9A52B027-COMBINED-5GHz'
option key '0138a5f1b2bea4941be88001a55954ca228629eeaf51d66656893791a60bfed'
option encryption 'sae+aes'
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
option mode 'ap'
option device 'wl0'
option multi_ap '3'
option ieee80211k '1'
option ieee80211v '1'
option uuid 'cfa7df87-06a3-5daf-911f-44d4376af600'
option wps '1'
option wps_pushbutton '1'
```
## AP-Autoconfig Renew
Autoconfig Renew will trigger all agents to be reconfigured with updated
credentials.
### Prerequisites
* Mapcontroller must be running
### How to Trigger
Mapcontroller will re-read the mapcontroller network credentials (and vlan
section) upon receiving `SIGHUP`. In order to trigger AP-Autoconfig Renew the
mapcontroller credentials loaded in memory at runtime, must differ from what
are in its config, causing mapcontroller to generate a AP-Autoconfig Renew for
all agents to be reconfigured.
## uBus
```
root@iopsys:~# ubus -v list map.controller
"status":{}
"ap_caps":{"agent":"String"}
"sta_caps":{"agent":"String","sta":"String","bssid":"String"}
"channel_pref":{"agent":"String"}
"bk_steer":{"agent":"String","bssid":"String","channel":"Integer","op_class":"Integer","bksta":"String"}
"agent_policy":{"agent":"String","radiolist":"Array","bsslist":"Array"}
"channel_select":{"agent":"String","radio_id":"String","class_id":"Integer","channel":"Array","preference":"Integer","transmit_power":"Integer"}
"steer":{"agent":"String","src_bssid":"String","sta":"Array","target_bssid":"Array","steer_timeout":"Integer","btm_timeout":"Integer","steer_req_mode":"Boolean"}
"client_assoc_cntlr":{"agent":"String","bssid":"String","assoc_cntl_mode":"Integer","assoc_valid_timeout":"Integer","stalist":"Array"}
"ap_metric_query":{"agent":"String","bsslist":"Array","radiolist":"Array"}
"scan":{"agent":"String","radio":"Array","channel":"Array"}
"sta_metric_query":{"agent":"String","sta":"String"}
"unassoc_sta_lm_query":{"agent":"String","opclass":"Integer","metrics":"Array"}
"bcn_metrics_query":{"agent":"String","sta":"String","opclass":"Integer","channel":"Integer","bssid":"String","reporting_detail":"Integer","ssid":"String","channel_report":"Array","request_element":"Array"}
"bk_caps":{"agent":"String"}
"topology_query":{"agent":"String"}
"cac_req":{"agent":"String","radiolist":"Array"}
"cac_term":{"agent":"String","radiolist":"Array"}
"higher_layer_data":{"agent":"String","protocol":"Integer","data":"String"}