diff --git a/README.md b/README.md
index a119616e53a407d00dbf9545077e8aabd7156a1d..bac668f73cbc631d81913e7fd1fe13c4a9848fdd 100644
--- a/README.md
+++ b/README.md
@@ -25,19 +25,44 @@ and explain some key features of map-agent:
 For full documentation of UCI configuration options, see
 [UCI docs](./docs/api/mapagent.md).
 
-When setting up the boot-up map-agent configuration file it must contain
-an `ap` section for each interface that is supposed to be a part of the mesh
-and managed by map-agent. Additional interfaces may be generated at runtime, as
-dictated by mapcontroller.
+When starting map-agent, the only _mandated_ section is the global agent
+section:
 
-Existing interfaces not included in the configuration will not be a part of the
-mesh, meaning no statistics will be gathered, clients steered and the interface
-will never be torn down or otherwise configured by mapagent. This means, if
-desired, interfaces may left out of multi-ap management by excluding them from
-the map-agent configuration.
+```
+config agent 'agent'
+	option enabled '1'
+	option debug '0'
+	option profile '2'
+	option brcm_setup '1'
+	option al_bridge 'br-lan'
+	option netdev 'wl'
+	option island_prevention '0'
+	option eth_onboards_wifi_bhs '1'
+	option guest_isolation '1'
+	option scan_on_boot_only '0'
+```
+
+All the remaining mandatory (`radio`) and optionally mandatory (`ap`) may
+be generated by map-agent at start-up. Whereas the non-mandatory sections may
+use their default values.
+
+The `ap` sections will be automatically generated based on the presence of a
+`multi_ap` flag in the wireless configuration file under the `wifi-iface`
+sections. If such a flag is set, map-agent assumes it is a multi_ap interface.
+Nonetheless, it is recommended that the map-agent configuration is aligned
+with the respective `ap` section for each interface that is to be a part of the
+mesh and managed by map-agent. For more information on how to align the
+map-agent and wireless configuration file, see the quick start [guide](./docs/QUICK_START.md).
+Additional interfaces may be generated at runtime, as dictated by mapcontroller.
+
+Existing interfaces *not* included in the configuration will not be a part of
+the mesh, meaning no statistics will be gathered, clients steered and the
+interface will never be torn down or otherwise configured by mapagent.
 
 To summarize:
-* Mapagent will manage all interface provided in its configuration file
+* Mapagent may automatically generate mandatory `radio` and optionally mandatory
+`ap` sections
+* Mapagent will manage all interface provided within its configuration file
 * Mapagent will not touch interfaces not in its configuration file. They will
 be left intact (and outside of the mesh) and be interleaved with any additional
 interfaces provided by mapcontroller
@@ -187,7 +212,7 @@ config wifi-iface 'default_sta_wl2'
 ### Radios
 
 The `radio` section will primarily hold the band, device name and whether the
-radio is a dedicated backhaul. Dedicated backhaul means no fronthaul interfaces
+radio is a dedicated backhaul. Dedicated backhaul means no AP interfaces
 will be configured on the radio via AP-Autoconfig.
 
 Radio sections will be auto-generated on startup by mapagent if not present.
@@ -200,13 +225,16 @@ config radio
 	option dedicated_backhaul '1'
 ```
 
+More radio specific configuration and policies will by the map-controller within
+the Multi-AP Policy Config Request CMDU.
+
 ### Interfaces
 
 When specifying an interface in the mapagent configuration file, there are four
 parameters that must be set.
 
 Map-agent configuration divides interfaces into different section types, based
-on the interface type. Backhaul station interfaces are created with the section
+on the interface type. Backhaul station interfaces are defined with the section
 type `bsta`:
 
 ```Minimum BSTA configuration
@@ -226,17 +254,30 @@ config ap
 ```
 
 Each interface section must at minimum contain the options:
-* `band` - Set `2` for 2.4GHz and `5` for 5GHz
+* `band` - Set `2` for 2.4GHz, `5` for 5GHz and `6` for 6GHz
 * `ifname` - Interface name
 * `device` - Device name (i.e. radio name)
 
+An `ap` section may optionally include:
+* `type` - Human readable multi_ap flag. (`backhaul`, `fronthaul`, `combined`)
+* `ssid` - SSID of this AP
+* `key` - Key of this AP
+* `encryption` - Encryption used by this AP
+* `vid` - VLAN ID handled by this AP, if any
+* `enabled` - If interface is enabled and written to hostapd config.
+* `disallow_bsta` - Disallow connections from certain Multi-AP profiles. Used as
+bitmap.
+
+All optional arguments will be provided within WSC M2 provided by
+map-controller. If an AP is provided within a WSC M2 but there are no AP
+sections available within map-agent configuration, map-agent will generate a new
+interface section for it.
 
 #### Fronthaul Interfaces
 
-Fronthaul interfaces are `ap` sections with `type 'fronthaul'` set. This
-section may also include the options `ssid`, `key`, `encryption`, and `vid`.
-These are not mandatory in the default configuration, but will be written
-automatically during AP-Autoconfiguration.
+Fronthaul interfaces are `ap` sections with `type 'fronthaul'` set.
+
+Applicble options: `ssid`, `key`, `encryption`, `vid`, `enabled`.
 
 ```
 config ap
@@ -248,14 +289,15 @@ config ap
 	option encryption 'psk2+aes'
 	option type 'fronthaul'
 	option vid '1'
+	option enabled '1'
 ```
 
 #### Backhaul Interfaces
 
-Backhaul interfaces are `ap` sections with `type 'backhaul'` set. This
-section may also include the options `ssid`, `key`, `encryption`, `enabled`,
-`vid` and a `disallow_bsta` list. These are not mandatory in the default
-configuration, but will be written automatically during AP-Autoconfiguration.
+Backhaul interfaces are `ap` sections with `type 'backhaul'` set.
+
+Applicble options: `ssid`, `key`, `encryption`, `vid`, `enabled` and
+`disallow_bsta`.
 
 ```
 config ap
@@ -275,9 +317,10 @@ config ap
 #### Combined Front/Back Interfaces
 
 Combined fronthaul/backhaul interfaces are `ap` sections with
-`type 'combined'` set. This section may also include the options `ssid`, `key`,
-`encryption`, and `vid`. These are not mandatory in the default
-configuration, but will be written automatically during AP-Autoconfiguration.
+`type 'combined'` set.
+
+Applicble options: `ssid`, `key`, `encryption`, `vid`, `enabled` and
+`disallow_bsta`.
 
 
 ```
@@ -289,6 +332,7 @@ config ap
 	option key 'IFJBD2RGYLZ3NE'
 	option encryption 'psk2+aes'
 	option type 'combined'
+	option disallow_bsta '0'
 	option vid '1'
 	option enabled '1'
 ```
@@ -302,8 +346,8 @@ If not present in map-agent configuration, all interfaces in the wireless
 configuration with `option mode 'sta'` will be automatically added to map-agent
 configuration.
 
-Once onboarded, map-agent will set `option onboarded '1'` along with the passed
-credentials.
+Once WPA onboarded, map-agent will set `option onboarded '1'` along with the
+passed credentials.
 
 An onboarded backhaul station may look as follows:
 
@@ -342,7 +386,7 @@ and enrollee node.
 compatible band
 * The wireless uci configuration must have the backhaul credentials in the
 fronthaul section under the keys `multi_ap_backhaul_ssid` and
-`multi_ap_backhaul_key`.
+`multi_ap_backhaul_key` (Automatically generated after AP-Autoconfiguration).
 * The enrollee backhaul STA interface must not be a part of a bridge
 * Enrollee and registrar interface must both have the multi_ap options properly
 set in the wireless config (multi_ap '1' for STA and backhaul BSS, multi_ap '2'
@@ -396,7 +440,7 @@ Response, AP-Autoconfig WSC and the configuration of the credentials provided
 with the AP-Autoconfig WSC.
 
 For how to configure mapcontroller for AP-Autoconfiguration, see
-[map-Controller](https://dev.iopsys.eu/iopsys/map-controller).
+[Map-Controller](https://dev.iopsys.eu/iopsys/map-controller).
 
 ### Prerequisites
 
@@ -406,12 +450,13 @@ For how to configure mapcontroller for AP-Autoconfiguration, see
 
 Map-agent is periodically sending AP-Autoconfig Search messages, to find the
 map-controller, as well as other agents in the mesh. When an
-AP-Autoconfiguration Response is received, map-agent will send an AP-Autoconfig
-WSC M1 if it has not been configured already.
+AP-Autoconfiguration Response with SupportedRole=Controller is received,
+map-agent will send an AP-Autoconfig WSC M1 if it has not been configured
+already.
 
 The periodicity of AP-Autoconfig Search messages is set by `probe_int`
-(defaults to 20s if not set) in the mapagent configuration. Once configured, an
-interval of 70s will be used as heartbeat timer.
+(defaults to 20s if not set) in the mapagent configuration. Once autoconfigured
+an interval of 70s will be used as heartbeat timer.
 
 #### Radio State
 
@@ -425,11 +470,11 @@ responses.
 
 Some conditions that will set map-agent radios to an active state
 * Upon mapagent (re)start
-* Establishing a first-time connection
+* Establishing a first-time connection over a backhaul STA
 * No mapcontroller is observed for `probe_int` * `retry_int` seconds
 * New mapcontroller is discovered (almac of controller changed)
 * Connection was lost for `missing_bh_timer` + 15 seconds
-* Backhaul STA connects to an entirely new BSSID
+* Backhaul STA connects to a different BSSID
 
 #### Upon Receival of AP-Autoconfig WSC M2
 
@@ -693,26 +738,26 @@ config wifi-iface 'wl1_2_ap'
 
 ### UCI
 
-The following UCI config section in “mapagent” config is used to control how a
+The following UCI config section in "mapagent" config is used to control how a
 MAP Controller is discovered and (auto)started/stopped on demand in a MAP
 network.
 
 ```
 config controller_select
-	option local     ‘true’
-	option id        ‘auto’
-	option probe_int ‘20’
-	option retry_int ‘3’
-	option autostart ‘true’
+	option local     'true'
+	option id        'auto'
+	option probe_int '20'
+	option retry_int '3'
+	option autostart 'true'
 ```
 
 | Name	        | Type          | Required  | Default     | Description   |
 | ------------- |---------------| ----------|-------------|---------------|
 | local         | Boolean	| yes       | false	  | When set to true, the MAP Controller running in the same 1905 device as the MAP Agent, will be treated as the main or primary Controller. It takes precedence over others discovered in the network.		 |
-| id            | Mac address   | no        | auto-detect | User can provide the 1905 ALID of the device that will have the MAP Controller service. When set to ‘auto’, the MAP Agent will discover the MAP Controller ID. OPTION NOT YET SUPPORTED.		 |
+| id            | Mac address   | no        | auto-detect | User can provide the 1905 ALID of the device that will have the MAP Controller service. When set to 'auto', the MAP Agent will discover the MAP Controller ID. OPTION NOT YET SUPPORTED.		 |
 | probe_int     | Integer       | no        | 20s    	  |The time interval in seconds between controller discovery by the MAP Agent		 |
 | retry_int     | Integer       | no        | 15    	  |After these many failed attempts to discover a controller in the network, the agent will infer that the controller is not available and accordingly takes the next action.		 |
-| autostart     | Boolean       | no        | false    	  |When this is set to ‘true’, the agent will try to start the controller after not finding one in the network.		 |
+| autostart     | Boolean       | no        | false    	  |When this is set to 'true', the agent will try to start the controller after not finding one in the network.		 |
 
 
 ### Algorithm
@@ -731,7 +776,7 @@ notify the detected Controller to user (e.g.: over UBUS).
 3. If a MAP controller is running in its own device, and local = false, then
 stop the local Controller. Update the Controller-ID and the last-seen timestamp.
 
-If after ‘retry_int’ number of times, the MAP Agent cannot discover a MAP
+If after 'retry_int' number of times, the MAP Agent cannot discover a MAP
 Controller in the network, then take one of the following actions:
 
 1. When autostart = true, the MAP Agent will try to start the MAP Controller
@@ -761,7 +806,7 @@ Main Device: Controller to be run in a designated node only.
 
 ```
 config controller_select
-	option local ‘true’
+	option local 'true'
 ```
 
 Repeater Device: Controller start/stop automatically if another is not detected
@@ -769,8 +814,8 @@ in the network.
 
 ```
 config controller_select
-	option local ‘false’
-	option autostart ‘true’
+	option local 'false'
+	option autostart 'true'
 ```
 
 ## Dynamic Controller Sync
@@ -1117,6 +1162,14 @@ topo_res_handler(cmdu)
 		trigger_supplicant_update()
 ```
 
+## Traffic Separation
+
+For quick start guide see [here](./docs/QUICK_START.md#traffic-separation).
+
+For more detailed guide see [here](./docs/README-Traffic_Separation.md).
+
+For layer 3 setup guide see [here](./docs/layer3_ts.md).
+
 ## Misc
 
 ### Netdev Format
@@ -1145,13 +1198,13 @@ config agent 'agent'
 ## UBUS
 
 ```
-root@iopsys-ec6c9a52acb7:~# ubus -v list map.agent
-'map.agent' @be66d606
+root@iopsys-44d43771b730:~# ubus -v list map.agent
+'map.agent' @1237706b
 	"apconfig":{"band":"Integer"}
 	"steer_policy":{"vif":"String","rule":"String"}
 	"steer":{"vif":"String","type":"String","sta":"String","to_bss":"Array","optime":"Integer"}
 	"assoc_control":{"vif":"String","sta":"String","enable":"Boolean","time":"Integer"}
-	"toggle_fh":{"enable":"Boolean", "prevent_island":"Boolean", "ifname":"String"}
+	"toggle_fh":{"enable":"Boolean","prevent_island":"Boolean","ifname":"String"}
 	"bcn_metrics_query":{"agent":"String","sta":"String","opclass":"Integer","channel":"Integer","bssid":"String","reporting_detail":"Integer","ssid":"String","channel_report":"Array","request_element":"Array"}
 	"unassoc_sta_lm_query":{"agent":"String","opclass":"Integer","metrics":"Array"}
 	"topology_query":{"agent":"String"}
@@ -1161,8 +1214,10 @@ root@iopsys-ec6c9a52acb7:~# ubus -v list map.agent
 	"status":{}
 	"info":{}
 	"assoc_notify":{"bss_status_list":"Array"}
-	"pref_channels":{"radio":"String","mode":"Integer"}
 	"sync":{}
 	"timers":{}
 	"dynamic_backhaul_upgrade":{}
+	"backhaul_blacklist":{}
 ```
+
+
diff --git a/docs/QUICK_START.md b/docs/QUICK_START.md
index ac92fad4f18a0d33e11589fdda30856c968dee00..0eaff8ba9a26d15ade58519ecb361f7ee077a2eb 100644
--- a/docs/QUICK_START.md
+++ b/docs/QUICK_START.md
@@ -20,7 +20,7 @@ The second chapter will setup a repeater device which wil connect to it.
 
 ## Setting up Controller device
 
-In this example, I will be setting up a smarthub3 with wl0 (5GHz) and wl1 (2.4GHz)
+In this example, I will be setting up a device with wl0 (5GHz) and wl1 (2.4GHz)
 
 ### Prerequisites
 
@@ -37,8 +37,6 @@ config ieee1905 'ieee1905'
 also used as an ieee1905 interface, set by uci option `al_bridge`.
 
 #### Notes
-* If ieee1905d is restarted during run time, mapagent and mapcontroller should
-also be restarted.
 * Only mapagent is expected to modify interfaces specified in mapagent config
 
 ### Setting up Mapagent
@@ -112,11 +110,12 @@ config ap
 
 #### Notes
 * `multi_ap` should be set in wireless config on map-agent managed interfaces
+	* If correspodning `ap` section is missing in map-agent config, it will
+	be generated automatically based on `multi_ap` flag in wireless config
 * `brcm_setup` must be used for broadcom platform
 * This default config will not support backhaul connections
 * `radio` sections will be generated automatically by map-agent if absent
 
-
 ### Setting up Mapcontroller
 
 * Setup credentials
@@ -167,7 +166,6 @@ config ap
 ### AP-Autoconfiguration
 
 With these configurations at boot, AP-Autoconfig should automatically trigger.
-However, if setup at runtime, ieee1905d should be started first.
 
 1. ieee1905d &
 2. mapcontroller -d &
@@ -179,8 +177,8 @@ Or via procd:
 2. /etc/init.d/mapagent start
 3. /etc/init.d/mapcontroller start
 
-Order of mapagent and mapcontroller is not important, but by starting mapcontroller
-first we will immediately trigger AP-Autoconfig upon mapagent start.
+Start order is not important, but by starting mapcontroller before map-agent we
+will immediately trigger AP-Autoconfig Search and Response upon mapagent start.
 
 Config files after AP-Autoconfig:
 ```
@@ -346,11 +344,12 @@ map-agent README for more info.
 
 To trigger AP-Autoconfig Renew, credentials in /etc/config/mapcontroller must
 differ from the config loaded in memory by mapcontroller *AND* mapcontroller
-must receive `SIGHUP`.
+must receive a `SIGHUP`.
 
 A `SIGUHP` can be triggered via preferred method, i.e.:
 * `kill -1 \`pidof mapcontroller\``
-* `ubus call uci commit '{"config":"mapcontroller"}'` which will trigger an init.d hook.
+* `ubus call uci commit '{"config":"mapcontroller"}'` which will trigger an
+init.d hook.
 
 Some example steps:
 ```
@@ -365,8 +364,8 @@ BSSID: 0E:10:00:00:00:04	Capability: ESS ShortPre ShortSlot RRM
 
 ## Setting up Repeater Device
 
-In this example, I will be setting up a disc with wl0 (5GHz), wl1 (2.4GHz) and
-wl2 (5GHz).
+In this example, I will be adding another device to the mesh with wl0 (5GHz High
+Power), wl1 (2.4GHz) and wl2 (5GHz Low Power).
 
 ### Prerequisites
 
@@ -378,13 +377,14 @@ config ieee1905 'ieee1905'
 	option extension '1'
 	list extmodule 'map'
 ```
-* Mapagent expects there to be one 'main' bridge in the network, which is
-also used as an ieee1905 interface, set by uci option `al_bridge`.
+* Mapagent expects there to be one 'main' bridge in the network, set by uci
+option `al_bridge`.
 * If wireless connection is to be used, a backhaul STA interface *MUST* be
 present on a radio with the same band and channel range as the controller device.
 * **** Any backhaul STA interface *MUST* be the first interface on the radio. ****
 * For the backhaul STA radio `apsta` option should be set in the wireless
 configuration for the radio.
+
 ```
 config wifi-device 'wl2'
 	option type 'mac80211'
@@ -397,11 +397,8 @@ config wifi-device 'wl2'
 ```
 
 #### Notes
-* If ieee1905d is restarted during run time, mapagent and mapcontroller should
-also be restarted.
 * Only mapagent is expected to modify interfaces specified in mapagent config
 
-
 ### Setting up Mapagent
 
 * Align wireless and mapagent default configuration
@@ -497,11 +494,11 @@ take place on this radio (optional).
 ### Onboarding
 
 To trigger onboarding, WPS must be triggered with registrar role (default) on
-controller node (smarthub3), on the autoconfigured fronthaul:
+controller node (device 1), on the autoconfigured fronthaul:
 
 * `ubus call wifi.wps start '{"ifname":"wl0"}'`
 
-On the repeater (disc), WPS must be started on the bsta interface, with the
+On the repeater (device 2), WPS must be started on the bsta interface, with the
 enrollee role, as well as providing the multiap IE, this is done by using the
 `bsta role`.
 
@@ -531,6 +528,62 @@ Only one backhaul should be active at any given time, on a device that is alread
 onboarded, plugging an ethernet cable will dynamically swap to that link. Similarily,
 unplugging it will automatically enable the wireless backhaul again.
 
+To observe which connection is the active backhaul either the map-agent UBUS API
+may be used:
+
+```
+root@iopsys-44d43771bd50:~# ubus call map.agent backhaul_info
+{
+	"type": "wifi",
+	"ifname": "wl1",
+	"macaddr": "44:d4:37:71:bd:5e",
+	"backhaul_device_id": "46:d4:37:71:b7:30",
+	"backhaul_macddr": "fa:d4:37:71:b7:3f"
+}
+```
+
+or the multiap.backhaul file directly:
+
+```
+root@iopsys-44d43771bd50:~# cat /var/run/multiap/multiap.backhaul
+{ "type": "wifi", "ifname": "wl1", "macaddr": "44:d4:37:71:bd:5e", "backhaul_device_id": "46:d4:37:71:b7:30", "backhaul_macddr": "fa:d4:37:71:b7:3f" }
+```
+
 ### Controller Discovery
 
-For controller discovery, see map-agent README.
+For controller discovery, see map-agent [README](https://dev.iopsys.eu/iopsys/map-agent#controller-discovery).
+
+### Traffic Separation
+
+To enable Guest WiFi and Easymesh Traffic Segregation, the option 'primary_vid'
+and 'enable_ts' must be set to a non-zero value in the map-controller config's
+global section.
+
+NOTE: Currently, only primary_vid = '1' is supported:
+
+```
+config controller 'controller'
+	option enabled '1'
+	option registrar '5 2'
+	option primary_vid '1'
+	option primary_pcp '0'
+	option enable_ts '1'
+```
+
+To create a Guest WiFi network, a new 'ap' configuration section must be added
+to the map-controller configuration, with a VID different from the primary.
+Alternatively, an existing section may have its VID changed.
+
+```
+config ap
+	option band '5'
+	option ssid 'iopsysWrt-GUEST-5'
+	option encryption 'sae-mixed'
+	option key '1234567890'
+	option vid '10'
+	option type 'fronthaul'
+```
+
+After changing as above, issue a `SIGHUP` to map-controller in order to reload
+the new configuration and propagate them to the map-agents in the Multi-AP
+network.
\ No newline at end of file
diff --git a/docs/api/mapagent.md b/docs/api/mapagent.md
index 6390cc54477f2ec6252d3d8ff57755ff9daae73e..38dd5b02ff2e49253541319a44088cc1db6eac4a 100644
--- a/docs/api/mapagent.md
+++ b/docs/api/mapagent.md
@@ -1 +1 @@
-<tbody><tr><td colspan="2"><div style="font-weight: bold">mapagent</div><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">section</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td><td><div style="font-weight: bold; font-size: 14px">multi</div></td><td><div style="font-weight: bold; font-size: 14px">options</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">agent</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">Mapagent daemon Configuration</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">enabled</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><div class="td_row_even">Enables mapagent daemon</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">debug</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Mapagent debug level</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">profile</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">2</div></td><td class="td_row_even"><div class="td_row_even">Currently unused</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">brcm_setup</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">For broadcom platforms, mapagent is responsible for adding the wds interface to the bridge</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">al_bridge</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">br-lan</div></td><td class="td_row_even"><div class="td_row_even">The bridge which the wds interface will be attached to.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">netdev</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">wl if brcm_setup is set, else wlan</div></td><td class="td_row_odd"><div class="td_row_odd">The interface names that will be created by mapagent are using the specified netdev. Netdev supports a variety of formats, using % as an identifier</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">controller_mac</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Will be set at runtime by mapagent</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">island_prevention</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Enable or disables the island prevention feature. Must additionally be compile-time selected</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">vlan_segregation</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Enable or disable VLAN segregation. To be moved to mapcontroller configuration</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">resend_num</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Number of retry attempts for CMDUs which expect a response if none is received</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">dyn_cntlr_sync</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Allow map-agent to sync its local controller config (if any) using HLD messages</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">eth_onboards_wifi_bhs</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Automatically configure backhaul stations based on received bBSS credentials upon AP-Autoconfiguration</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dynamic_backhaul</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">Options to manage dynamic backhaul functionality</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">missing_bh_timer</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">60</div></td><td class="td_row_even"><div class="td_row_even">Time after lost backhaul connection at which agent will start scanning on all backhaul stations</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">missing_bh_reconfig_timer</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">1800</div></td><td class="td_row_odd"><div class="td_row_odd">Time after lost backhaul connection at which agent will allow backhaul stations to find a new bBSS to connect to, clearing previously set BSSID options from configurations</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">controller_select</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">Configure controller selection parameters</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">local</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Enforce local controller. If set, the device will not be configurable by a non-local controller. If set, it also enables autostart</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">id</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">auto</div></td><td class="td_row_odd"><div class="td_row_odd">Lock mapagent to a specific controller AL-ID. NOT YET IMPLEMENTED</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">probe_int</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">20</div></td><td class="td_row_even"><div class="td_row_even">The interval at which AP-Autoconfig Search (discovery) will be sent</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">retry_int</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">15</div></td><td class="td_row_odd"><div class="td_row_odd">After these many failed attempts mapagent infers no controller is active and accordingly takes next action</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">autostart</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><div class="td_row_even">When this is set to true, the agent will try to start the controller after not finding one in the network.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">radio</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">Represents a radio. Also contains radio specific policies</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">device</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Radio name</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">band</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Band on which the radio operates</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">onboarded</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Set by mapagent if the radio has been onboarded (credentials received)</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dedicated_backhaul</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">This radio will not be configured with fronthaul interfaces</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">steer_policy</div></td><td class="td_row_even"><div class="td_row_even">unteger</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Steer policy to be used. 0 = Agent Initiated Steering Disallowed, 1 = Agent Initiated RCPI-based Steering Mandated, 2 = Agent Initiated RCPI-based Steering Allowed</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">util_threshold</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Indicate utilization threshold used for agent-initiated steering</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">rcpi_threshold</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">86</div></td><td class="td_row_even"><div class="td_row_even">Indicate RCPI threshold used for agent-initiated steering. Defaults to 86 for 5GHz and 70 for 2.4GHz</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">report_rcpi_threshold</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">96</div></td><td class="td_row_odd"><div class="td_row_odd">RCPI threshold at which the agent will start sending unsolicited metric reporting to controller. 0 means do not report. Defaults to 96 for 5GHz and 80 for 2.4GHz</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">include_sta_stats</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Include STA Traffic Stats TLV in AP Metrics Response</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">include_sta_metric</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Include Associated STA Link Metrics TLV in AP Metrics Response</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">rcpi_hysteresis_margin</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">STA Metrics Reporting RCPI Hysteresis Margin Override. This field is coded as an unsigned integer in units of decibels (dB).</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">report_util_threshold</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Utilization threshold at which the agent will start sending unsolicited metric reporting to controller. 0 means do not report</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">bsta</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">Represents a backhaul station interface</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">ifname</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Interface name of backhaul station interface</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">band</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Frequency of the interface</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">device</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Radio on which the interface is operating</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">onboarded</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Whether WPS credentials have successfully been received over the interface</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">priority</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">2</div></td><td class="td_row_even"><div class="td_row_even">Priority of the backhaul with respect to other backhaul STAs. The lower the better.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">ssid</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">null</div></td><td class="td_row_odd"><div class="td_row_odd">SSID provided with the WPS M8 credentials, will be used for the backhaul connection</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">encryption</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">null</div></td><td class="td_row_even"><div class="td_row_even">Encryption provided with the WPS m8 credentials, will be used for the backhaul connection</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">key</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">null</div></td><td class="td_row_odd"><div class="td_row_odd">Key provided with the WPS M8 credentials, will be used for the backhaul connection</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">bssid</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">null</div></td><td class="td_row_even"><div class="td_row_even">BSSID to which the connection occured</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">enabled</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">null</div></td><td class="td_row_odd"><div class="td_row_odd">An option used by map-agent to maintain which backhaul STAs should be enabled upon dynamic backhaul link upgrade</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">ap</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">An AP interface (front or backhaul)</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">ifname</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Interface name</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">band</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Frequency on which the interface operates</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">device</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Radio of which the interface belongs</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">ssid</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">SSID of the interface</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">key</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Password to the SSID</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">encryption</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Encryption for the SSID</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">type</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Human readable interface type. Backhaul (multi_ap=1), fronthaul (multi_ap=2) or combined (multi_ap=3)</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">enabled</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><div class="td_row_odd">Whether the AP should be enabled. Enabled=0 maps to start_disabled=1 in wireless config</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">policy</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">Policy configuration values as provided by mapcontroller</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">report_interval</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">STA RCPI reporting interval in case of RCPI threshold is met. Provided by mapcontroller</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">pvid</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Primary VLAN ID</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">pcp_default</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">PCP for primary VLAN ID</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">report_scan</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Reporting of independent channel scans. NOT YET IMPLEMENTED</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">report_sta_assocfails</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Whether the agent should report association fails to the mapcontroller. NOT YET IMPLEMENTED</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">report_sta_assocfails_rate</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Maximum reported failed association attempts per minute. NOT YET IMPLEMENTED</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">opclass</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">Channel preference for a certain operation class</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">opclassid</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">The operating class to which the preference applies</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">preference</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">15</div></td><td class="td_row_odd"><div class="td_row_odd">The preference of the provided channels, 15 is best, 0 is lowest</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">radio</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">The radio on which the channels are managed</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">channel</div></td><td class="td_row_odd"><div class="td_row_odd">list</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Channels to which the preference applies</div></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody>
\ No newline at end of file
+<tbody><tr><td colspan="2"><div style="font-weight: bold">mapagent</div><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">section</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td><td><div style="font-weight: bold; font-size: 14px">multi</div></td><td><div style="font-weight: bold; font-size: 14px">options</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">agent</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">Mapagent daemon Configuration</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">enabled</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><div class="td_row_even">Enables mapagent daemon</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">debug</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Mapagent debug level</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">profile</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">2</div></td><td class="td_row_even"><div class="td_row_even">Currently unused</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">brcm_setup</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">For broadcom platforms, mapagent is responsible for adding the wds interface to the bridge</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">al_bridge</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">br-lan</div></td><td class="td_row_even"><div class="td_row_even">The bridge which the wds interface will be attached to.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">ifprefix</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">wl if brcm_setup is set, else wlan</div></td><td class="td_row_odd"><div class="td_row_odd">The interface names that will be created by mapagent are using the specified netdev. Netdev supports a variety of formats, using % as an identifier</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">netdev</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">wl if brcm_setup is set, else wlan</div></td><td class="td_row_even"><div class="td_row_even">Old/alternate (to be deprecated) option to ifprefix.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">controller_mac</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Will be set at runtime by mapagent</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">island_prevention</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Enable or disables the island prevention feature. Must additionally be compile-time selected</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">resend_num</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Number of retry attempts for CMDUs which expect a response if none is received</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">dyn_cntlr_sync</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Allow map-agent to sync its local controller config (if any) using HLD messages</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">eth_onboards_wifi_bhs</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Automatically configure backhaul stations based on received bBSS credentials upon AP-Autoconfiguration</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">ap_follow_sta_dfs</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">If backhaul STA connects to a channel/bandwidth which has not cleared DFS, it will disconnect and reconnect over any lower priority backhaul STA (if available). It will perform a fresh CAC and reconnect once complete. Recommended for mac80211 based platforms.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">guest_isolation</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Isolate guests-to-guest traffic in the case of traffic separation is enabled.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">scan_on_boot_only</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Perform scan at map-agent start-up. Disallow fresh scan on request.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">dynamic_backhaul</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">Options to manage dynamic backhaul functionality</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">missing_bh_timer</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">60</div></td><td class="td_row_even"><div class="td_row_even">Time after lost backhaul connection at which agent will start scanning on all backhaul stations</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">missing_bh_reconfig_timer</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">300</div></td><td class="td_row_odd"><div class="td_row_odd">Time after lost backhaul connection at which agent will allow backhaul stations to find a new bBSS to connect to, clearing previously set BSSID options from configurations</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">controller_select</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">Configure controller selection parameters</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">local</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Enforce local controller. If set, the device will not be configurable by a non-local controller. If set, it also enables autostart</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">id</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">auto</div></td><td class="td_row_odd"><div class="td_row_odd">Lock mapagent to a specific controller AL-ID. NOT YET IMPLEMENTED</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">probe_int</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">20</div></td><td class="td_row_even"><div class="td_row_even">The interval at which AP-Autoconfig Search (discovery) will be sent</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">retry_int</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">15</div></td><td class="td_row_odd"><div class="td_row_odd">After these many failed attempts mapagent infers no controller is active and accordingly takes next action</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">autostart</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><div class="td_row_even">When this is set to true, the agent will try to start the controller after not finding one in the network.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">radio</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">Represents a radio. Also contains radio specific policies</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">device</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Radio name</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">band</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Band on which the radio operates</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">encryption</div></td><td class="td_row_even"><div class="td_row_even">list</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">sae-mixed, sae, psk2, none, psk-mixed, psk, wpa, wpa2</div></td><td class="td_row_even"><div class="td_row_even">Encryptions supported. Sent with WSC M1 meta data.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">onboarded</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Set by mapagent if the radio has been onboarded (credentials received)</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">dedicated_backhaul</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">This radio will not be configured with fronthaul interfaces</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">steer_policy</div></td><td class="td_row_odd"><div class="td_row_odd">unteger</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Steer policy to be used. 0 = Agent Initiated Steering Disallowed, 1 = Agent Initiated RCPI-based Steering Mandated, 2 = Agent Initiated RCPI-based Steering Allowed</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">util_threshold</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Indicate utilization threshold used for agent-initiated steering</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">rcpi_threshold</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">86</div></td><td class="td_row_odd"><div class="td_row_odd">Indicate RCPI threshold used for agent-initiated steering. Defaults to 86 for 5GHz and 70 for 2.4GHz</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">report_rcpi_threshold</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">96</div></td><td class="td_row_even"><div class="td_row_even">RCPI threshold at which the agent will start sending unsolicited metric reporting to controller. 0 means do not report. Defaults to 96 for 5GHz and 80 for 2.4GHz</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">include_sta_stats</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Include STA Traffic Stats TLV in AP Metrics Response</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">include_sta_metric</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><div class="td_row_even">Include Associated STA Link Metrics TLV in AP Metrics Response</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">rcpi_hysteresis_margin</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">STA Metrics Reporting RCPI Hysteresis Margin Override. This field is coded as an unsigned integer in units of decibels (dB).</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">report_util_threshold</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">Utilization threshold at which the agent will start sending unsolicited metric reporting to controller. 0 means do not report</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">include_wifi6_sta_status</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">include Associated Wi-Fi 6 STA Status Report TLV in the AP metrics response.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">bsta</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">Represents a backhaul station interface</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">ifname</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Interface name of backhaul station interface</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">band</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Frequency of the interface</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">device</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Radio on which the interface is operating</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">onboarded</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">false</div></td><td class="td_row_odd"><div class="td_row_odd">Whether WPS credentials have successfully been received over the interface</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">priority</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">2</div></td><td class="td_row_even"><div class="td_row_even">Priority of the backhaul with respect to other backhaul STAs. The lower the better.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">ssid</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">null</div></td><td class="td_row_odd"><div class="td_row_odd">SSID provided with the WPS M8 credentials, will be used for the backhaul connection</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">encryption</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">null</div></td><td class="td_row_even"><div class="td_row_even">Encryption provided with the WPS m8 credentials, will be used for the backhaul connection</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">key</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">null</div></td><td class="td_row_odd"><div class="td_row_odd">Key provided with the WPS M8 credentials, will be used for the backhaul connection</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">bssid</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">null</div></td><td class="td_row_even"><div class="td_row_even">BSSID to which the connection occured</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">enabled</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">null</div></td><td class="td_row_odd"><div class="td_row_odd">An option used by map-agent to maintain which backhaul STAs should be enabled upon dynamic backhaul link upgrade</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">ap</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">An AP interface (front or backhaul)</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">ifname</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Interface name</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">band</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Frequency on which the interface operates</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">device</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Radio of which the interface belongs</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">ssid</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">SSID of the interface</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">key</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Password to the SSID</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">encryption</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Encryption for the SSID</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">vid</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">1</div></td><td class="td_row_even"><div class="td_row_even">VLAN ID tag handled by this interface</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">type</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Human readable interface type. Backhaul (multi_ap=1), fronthaul (multi_ap=2) or combined (multi_ap=3)</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">enabled</div></td><td class="td_row_even"><div class="td_row_even">boolean</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">true</div></td><td class="td_row_even"><div class="td_row_even">Whether the AP should be enabled. If vendor extensions are compiled in enabled=0 maps to disabled=1 in wireless config.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">disallow_bsta</div></td><td class="td_row_odd"><div class="td_row_odd">boolean</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><div class="td_row_odd">Disallow backhaul station connections of a certain profile. Used as a bitmap, 1 = profile 1 disallow, 2 = profile 2 disallowed, 3 = both</div></td></tr></tbody></table></td></tr><tr><td class="td_row_even"><div class="td_row_even">policy</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">Policy configuration values as provided by mapcontroller</div></td><td class="td_row_even"><div class="td_row_even">false</div></td><td class="td_row_even"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">report_interval</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">STA RCPI reporting interval in case of RCPI threshold is met. Provided by mapcontroller</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">pvid</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">0</div></td><td class="td_row_odd"><div class="td_row_odd">Primary VLAN ID</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">pcp_default</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">PCP for primary VLAN ID</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">report_scan</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Reporting of independent channel scans.</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">report_sta_assocfails</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Whether the agent should report association fails to the mapcontroller. NOT YET IMPLEMENTED</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">report_sta_assocfails_rate</div></td><td class="td_row_odd"><div class="td_row_odd">string</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Maximum reported failed association attempts per minute. NOT YET IMPLEMENTED</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">steer_exclude</div></td><td class="td_row_even"><div class="td_row_even">list</div></td><td class="td_row_even"><div class="td_row_even">no</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">Do not try to steer STA of specified mac address by any means.</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">steer_exclude_btm</div></td><td class="td_row_odd"><div class="td_row_odd">list</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Do not try to steer STA of specified macaddress by BTM request.</div></td></tr></tbody></table></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">opclass</div></td><td class="td_row_odd"><div class="td_row_odd">no</div></td><td class="td_row_odd"><div class="td_row_odd">Channel preference for a certain operation class</div></td><td class="td_row_odd"><div class="td_row_odd">true</div></td><td class="td_row_odd"><table style="width:100%"><tbody><tr><td><div style="font-weight: bold; font-size: 14px">name</div></td><td><div style="font-weight: bold; font-size: 14px">type</div></td><td><div style="font-weight: bold; font-size: 14px">required</div></td><td><div style="font-weight: bold; font-size: 14px">default</div></td><td><div style="font-weight: bold; font-size: 14px">description</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">opclassid</div></td><td class="td_row_even"><div class="td_row_even">integer</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even">0</div></td><td class="td_row_even"><div class="td_row_even">The operating class to which the preference applies</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">preference</div></td><td class="td_row_odd"><div class="td_row_odd">integer</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd">15</div></td><td class="td_row_odd"><div class="td_row_odd">The preference of the provided channels, 15 is best, 0 is lowest</div></td></tr><tr><td class="td_row_even"><div class="td_row_even">radio</div></td><td class="td_row_even"><div class="td_row_even">string</div></td><td class="td_row_even"><div class="td_row_even">yes</div></td><td class="td_row_even"><div class="td_row_even"></div></td><td class="td_row_even"><div class="td_row_even">The radio on which the channels are managed</div></td></tr><tr><td class="td_row_odd"><div class="td_row_odd">channel</div></td><td class="td_row_odd"><div class="td_row_odd">list</div></td><td class="td_row_odd"><div class="td_row_odd">yes</div></td><td class="td_row_odd"><div class="td_row_odd"></div></td><td class="td_row_odd"><div class="td_row_odd">Channels to which the preference applies</div></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody>
\ No newline at end of file
diff --git a/schemas/uci/mapagent.json b/schemas/uci/mapagent.json
index b368c763dbc8777fab0c2c3708a3ccb4f823d80f..63ed2f837e30cc6b691574dae485eda7b306f18a 100644
--- a/schemas/uci/mapagent.json
+++ b/schemas/uci/mapagent.json
@@ -1,481 +1,534 @@
 {
-	"mapagent": [
-	{
-	    "section": "agent",
-	    "required": "yes",
-	    "description": "Mapagent daemon Configuration",
-	    "multi": false,
-	    "options": [
-	    {
-		"name": "enabled",
-		"type": "boolean",
-		"required": "no",
-		"default": true,
-		"description": "Enables mapagent daemon"
-	    },
-	    {
-		"name": "debug",
-		"type": "integer",
-		"required": "no",
-		"default": "0",
-		"description": "Mapagent debug level"
-	    },
-	    {
-		"name": "profile",
-		"type": "integer",
-		"required": "no",
-		"default": "2",
-		"description": "Currently unused"
-	    },
-	    {
-		"name": "brcm_setup",
-		"type": "boolean",
-		"required": "no",
-		"default": false,
-		"description": "For broadcom platforms, mapagent is responsible for adding the wds interface to the bridge"
-	    },
-	    {
-		"name": "al_bridge",
-		"type": "string",
-		"required": "no",
-		"default": "br-lan",
-		"description": "The bridge which the wds interface will be attached to."
-	    },
-	    {
-		"name": "netdev",
-		"type": "string",
-		"required": "no",
-		"default": "wl if brcm_setup is set, else wlan",
-		"description": "The interface names that will be created by mapagent are using the specified netdev. Netdev supports a variety of formats, using % as an identifier"
-	    },
-	    {
-		"name": "controller_mac",
-		"type": "string",
-		"required": "no",
-		"default": "",
-		"description": "Will be set at runtime by mapagent"
-	    },
-	    {
-		"name": "island_prevention",
-		"type": "boolean",
-		"required": "no",
-		"default": false,
-		"description": "Enable or disables the island prevention feature. Must additionally be compile-time selected"
-	    },
-	    {
-		"name": "vlan_segregation",
-		"type": "boolean",
-		"required": "no",
-		"default": false,
-		"description": "Enable or disable VLAN segregation. To be moved to mapcontroller configuration"
-	    },
-	    {
-		"name": "resend_num",
-		"type": "integer",
-		"required": "no",
-		"default": "0",
-		"description": "Number of retry attempts for CMDUs which expect a response if none is received"
-	    },
-	    {
-		"name": "dyn_cntlr_sync",
-		"type": "boolean",
-		"required": "no",
-		"default": false,
-		"description": "Allow map-agent to sync its local controller config (if any) using HLD messages"
-	    },
-	    {
-		"name": "eth_onboards_wifi_bhs",
-		"type": "boolean",
-		"required": "no",
-		"default": false,
-		"description": "Automatically configure backhaul stations based on received bBSS credentials upon AP-Autoconfiguration"
-	    }
-	    ]
-	},
-	{
-		"section": "dynamic_backhaul",
-		"required": "no",
-		"description": "Options to manage dynamic backhaul functionality",
-		"multi": false,
-		"options": [
-		{
-		    "name": "missing_bh_timer",
-		    "type": "integer",
-		    "required": "no",
-		    "default": "60",
-		    "description": "Time after lost backhaul connection at which agent will start scanning on all backhaul stations"
-		},
-		{
-		    "name": "missing_bh_reconfig_timer",
-		    "type": "integer",
-		    "required": "no",
-		    "default": "1800",
-		    "description": "Time after lost backhaul connection at which agent will allow backhaul stations to find a new bBSS to connect to, clearing previously set BSSID options from configurations"
-		}
-		]
-	},
-	{
-	    "section": "controller_select",
-	    "required": "no",
-	    "description": "Configure controller selection parameters",
-	    "multi": false,
-	    "options": [
-	    {
-		"name":"local",
-		"type":"boolean",
-		"required":"no",
-		"default": false,
-		"description": "Enforce local controller. If set, the device will not be configurable by a non-local controller. If set, it also enables autostart"
-	    },
-	    {
-		"name":"id",
-		"type":"string",
-		"required":"no",
-		"default": "auto",
-		"description": "Lock mapagent to a specific controller AL-ID. NOT YET IMPLEMENTED"
-	    },
-	    {
-		"name":"probe_int",
-		"type":"integer",
-		"required":"no",
-		"default": "20",
-		"description": "The interval at which AP-Autoconfig Search (discovery) will be sent"
-	    },
-	    {
-		"name":"retry_int",
-		"type":"integer",
-		"required":"no",
-		"default": "15",
-		"description": "After these many failed attempts mapagent infers no controller is active and accordingly takes next action"
-	    },
-	    {
-		"name":"autostart",
-		"type":"boolean",
-		"required":"no",
-		"default": true,
-		"description": "When this is set to true, the agent will try to start the controller after not finding one in the network."
-	    }
-	    ]
-	},
-	{
-	    "section": "radio",
-	    "required": "yes",
-	    "description": "Represents a radio. Also contains radio specific policies",
-	    "multi": true,
-	    "options":[
-	    {
-		"name": "device",
-		"type": "string",
-		"required": "yes",
-		"default": "",
-		"description": "Radio name"
-	    },
-	    {
-		"name": "band",
-		"type": "integer",
-		"required": "yes",
-		"default": "",
-		"description": "Band on which the radio operates"
-	    },
-	    {
-		"name": "onboarded",
-		"type": "boolean",
-		"required": "no",
-		"default": false,
-		"description": "Set by mapagent if the radio has been onboarded (credentials received)"
-	    },
-	    {
-		"name": "dedicated_backhaul",
-		"type": "boolean",
-		"required": "no",
-		"default": false,
-		"description": "This radio will not be configured with fronthaul interfaces"
-	    },
-	    {
-		"name": "steer_policy",
-		"type": "unteger",
-		"required": "no",
-		"default": "0",
-		"description": "Steer policy to be used. 0 = Agent Initiated Steering Disallowed, 1 = Agent Initiated RCPI-based Steering Mandated, 2 = Agent Initiated RCPI-based Steering Allowed"
-	    },
-	    {
-		"name": "util_threshold",
-		"type": "integer",
-		"required": "no",
-		"default": "0",
-		"description": "Indicate utilization threshold used for agent-initiated steering"
-	    },
-	    {
-		"name": "rcpi_threshold",
-		"type": "integer",
-		"required": "no",
-		"default": "86",
-		"description": "Indicate RCPI threshold used for agent-initiated steering. Defaults to 86 for 5GHz and 70 for 2.4GHz"
-	    },
-	    {
-		"name": "report_rcpi_threshold",
-		"type": "integer",
-		"required": "no",
-		"default": "96",
-		"description": "RCPI threshold at which the agent will start sending unsolicited metric reporting to controller. 0 means do not report. Defaults to 96 for 5GHz and 80 for 2.4GHz"
-	    },
-	    {
-		"name": "include_sta_stats",
-		"type": "boolean",
-		"required": "no",
-		"default": false,
-		"description": "Include STA Traffic Stats TLV in AP Metrics Response"
-	    },
-	    {
-		"name": "include_sta_metric",
-		"type": "boolean",
-		"required": "no",
-		"default": false,
-		"description": "Include Associated STA Link Metrics TLV in AP Metrics Response"
-	    },
-	    {
-		"name": "rcpi_hysteresis_margin",
-		"type": "integer",
-		"required": "no",
-		"default": "0",
-		"description": "STA Metrics Reporting RCPI Hysteresis Margin Override. This field is coded as an unsigned integer in units of decibels (dB)."
-	    },
-	    {
-		"name": "report_util_threshold",
-		"type": "integer",
-		"required": "no",
-		"default": "0",
-		"description": "Utilization threshold at which the agent will start sending unsolicited metric reporting to controller. 0 means do not report"
-	    }
-	    ]
-	},
-	{
-	    "section":"bsta",
-	    "description": "Represents a backhaul station interface",
-	    "required": "no",
-	    "multi": true,
-	    "options": [
-	    {
-		"name":"ifname",
-		"type":"boolean",
-		"required":"yes",
-		"default": "",
-		"description": "Interface name of backhaul station interface"
-	    },
-	    {
-		"name":"band",
-		"type":"integer",
-		"required":"yes",
-		"default": "",
-		"description": "Frequency of the interface"
-	    },
-	    {
-		"name":"device",
-		"type":"string",
-		"required":"yes",
-		"default": "",
-		"description": "Radio on which the interface is operating"
-	    },
-	    {
-		"name":"onboarded",
-		"type":"boolean",
-		"required":"no",
-		"default": false,
-		"description": "Whether WPS credentials have successfully been received over the interface"
-	    },
-	    {
-		"name":"priority",
-		"type":"integer",
-		"required":"no",
-		"default": "2",
-		"description": "Priority of the backhaul with respect to other backhaul STAs. The lower the better."
-	    },
-	    {
-		"name":"ssid",
-		"type":"string",
-		"required":"no",
-		"default": null,
-		"description": "SSID provided with the WPS M8 credentials, will be used for the backhaul connection"
-	    },
-	    {
-		"name":"encryption",
-		"type":"string",
-		"required":"no",
-		"default": null,
-		"description": "Encryption provided with the WPS m8 credentials, will be used for the backhaul connection"
-	    },
-	    {
-		"name":"key",
-		"type":"string",
-		"required":"no",
-		"default": null,
-		"description": "Key provided with the WPS M8 credentials, will be used for the backhaul connection"
-	    },
-	    {
-		"name":"bssid",
-		"type":"string",
-		"required":"no",
-		"default": null,
-		"description": "BSSID to which the connection occured"
-	    },
-	    {
-		"name":"enabled",
-		"type":"string",
-		"required":"no",
-		"default": null,
-		"description": "An option used by map-agent to maintain which backhaul STAs should be enabled upon dynamic backhaul link upgrade"
-	    }
-	    ]
-	},
-	{
-	    "section": "ap",
-	    "required": "no",
-	    "description": "An AP interface (front or backhaul)",
-	    "multi": true,
-	    "options": [
-	    {
-		"name": "ifname",
-		"type": "string",
-		"required": "yes",
-		"default": "",
-		"description": "Interface name"
-	    },
-	    {
-		"name": "band",
-		"type": "string",
-		"required": "yes",
-		"default": "",
-		"description": "Frequency on which the interface operates"
-	    },
-	    {
-		"name": "device",
-		"type": "string",
-		"required": "yes",
-		"default": "",
-		"description": "Radio of which the interface belongs"
-	    },
-	    {
-		"name": "ssid",
-		"type": "string",
-		"required": "no",
-		"default": "",
-		"description": "SSID of the interface"
-	    },
-	    {
-		"name": "key",
-		"type": "string",
-		"required": "no",
-		"default": "",
-		"description": "Password to the SSID"
-	    },
-	    {
-		"name": "encryption",
-		"type": "string",
-		"required": "no",
-		"default": "",
-		"description": "Encryption for the SSID"
-	    },
-	    {
-		"name": "type",
-		"type": "string",
-		"required": "no",
-		"default": "",
-		"description": "Human readable interface type. Backhaul (multi_ap=1), fronthaul (multi_ap=2) or combined (multi_ap=3)"
-	    },
-	    {
-		"name": "enabled",
-		"type": "boolean",
-		"required": "no",
-		"default": true,
-		"description": "Whether the AP should be enabled. Enabled=0 maps to start_disabled=1 in wireless config"
-	    }
-	    ]
-	},
-	{
-	    "section": "policy",
-	    "required": "no",
-	    "description": "Policy configuration values as provided by mapcontroller",
-	    "multi": false,
-	    "options": [
-	    {
-		"name": "report_interval",
-		"type": "integer",
-		"required": "no",
-		"default": "0",
-		"description": "STA RCPI reporting interval in case of RCPI threshold is met. Provided by mapcontroller"
-	    },
-	    {
-		"name": "pvid",
-		"type": "integer",
-		"required": "no",
-		"default": "0",
-		"description": "Primary VLAN ID"
-	    },
-	    {
-		"name": "pcp_default",
-		"type": "integer",
-		"required": "no",
-		"default": "0",
-		"description": "PCP for primary VLAN ID"
-	    },
-	    {
-		"name": "report_scan",
-		"type": "string",
-		"required": "no",
-		"default": "",
-		"description": "Reporting of independent channel scans. NOT YET IMPLEMENTED"
-	    },
-	    {
-		"name": "report_sta_assocfails",
-		"type": "string",
-		"required": "no",
-		"default": "",
-		"description": "Whether the agent should report association fails to the mapcontroller. NOT YET IMPLEMENTED"
-	    },
-	    {
-		"name": "report_sta_assocfails_rate",
-		"type": "string",
-		"required": "no",
-		"default": "",
-		"description": "Maximum reported failed association attempts per minute. NOT YET IMPLEMENTED"
-	    }
-	    ]
-	},
-	{
-	    "section": "opclass",
-	    "required": "no",
-	    "description": "Channel preference for a certain operation class",
-	    "multi": true,
-	    "options": [
-	    {
-		"name": "opclassid",
-		"type": "integer",
-		"required": "yes",
-		"default": "0",
-		"description": "The operating class to which the preference applies"
-	    },
-	    {
-		"name": "preference",
-		"type": "integer",
-		"required": "yes",
-		"default": "15",
-		"description": "The preference of the provided channels, 15 is best, 0 is lowest"
-	    },
-	    {
-		"name": "radio",
-		"type": "string",
-		"required": "yes",
-		"default": "",
-		"description": "The radio on which the channels are managed"
-	    },
-	    {
-		"name": "channel",
-		"type": "list",
-		"required": "yes",
-		"default": "",
-		"description": "Channels to which the preference applies"
-	    }
-	    ]
-	}
-	]
-    }
+    "mapagent": [{
+            "section": "agent",
+            "required": "yes",
+            "description": "Mapagent daemon Configuration",
+            "multi": false,
+            "options": [{
+                    "name": "enabled",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": true,
+                    "description": "Enables mapagent daemon"
+                },
+                {
+                    "name": "debug",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "0",
+                    "description": "Mapagent debug level"
+                },
+                {
+                    "name": "profile",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "2",
+                    "description": "Currently unused"
+                },
+                {
+                    "name": "brcm_setup",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "For broadcom platforms, mapagent is responsible for adding the wds interface to the bridge"
+                },
+                {
+                    "name": "al_bridge",
+                    "type": "string",
+                    "required": "no",
+                    "default": "br-lan",
+                    "description": "The bridge which the wds interface will be attached to."
+                },
+                {
+                    "name": "ifprefix",
+                    "type": "string",
+                    "required": "no",
+                    "default": "wl if brcm_setup is set, else wlan",
+                    "description": "The interface names that will be created by mapagent are using the specified netdev. Netdev supports a variety of formats, using % as an identifier"
+                },
+                {
+                    "name": "netdev",
+                    "type": "string",
+                    "required": "no",
+                    "default": "wl if brcm_setup is set, else wlan",
+                    "description": "Old/alternate (to be deprecated) option to ifprefix."
+                },
+                {
+                    "name": "controller_mac",
+                    "type": "string",
+                    "required": "no",
+                    "default": "",
+                    "description": "Will be set at runtime by mapagent"
+                },
+                {
+                    "name": "island_prevention",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Enable or disables the island prevention feature. Must additionally be compile-time selected"
+                }, {
+                    "name": "resend_num",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "0",
+                    "description": "Number of retry attempts for CMDUs which expect a response if none is received"
+                },
+                {
+                    "name": "dyn_cntlr_sync",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Allow map-agent to sync its local controller config (if any) using HLD messages"
+                },
+                {
+                    "name": "eth_onboards_wifi_bhs",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Automatically configure backhaul stations based on received bBSS credentials upon AP-Autoconfiguration"
+                },
+                {
+                    "name": "ap_follow_sta_dfs",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "If backhaul STA connects to a channel/bandwidth which has not cleared DFS, it will disconnect and reconnect over any lower priority backhaul STA (if available). It will perform a fresh CAC and reconnect once complete. Recommended for mac80211 based platforms."
+                },
+                {
+                    "name": "guest_isolation",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Isolate guests-to-guest traffic in the case of traffic separation is enabled."
+                },
+                {
+                    "name": "scan_on_boot_only",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Perform scan at map-agent start-up. Disallow fresh scan on request."
+                }
+            ]
+        },
+        {
+            "section": "dynamic_backhaul",
+            "required": "no",
+            "description": "Options to manage dynamic backhaul functionality",
+            "multi": false,
+            "options": [{
+                    "name": "missing_bh_timer",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "60",
+                    "description": "Time after lost backhaul connection at which agent will start scanning on all backhaul stations"
+                },
+                {
+                    "name": "missing_bh_reconfig_timer",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "300",
+                    "description": "Time after lost backhaul connection at which agent will allow backhaul stations to find a new bBSS to connect to, clearing previously set BSSID options from configurations"
+                }
+            ]
+        },
+        {
+            "section": "controller_select",
+            "required": "no",
+            "description": "Configure controller selection parameters",
+            "multi": false,
+            "options": [{
+                    "name": "local",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Enforce local controller. If set, the device will not be configurable by a non-local controller. If set, it also enables autostart"
+                },
+                {
+                    "name": "id",
+                    "type": "string",
+                    "required": "no",
+                    "default": "auto",
+                    "description": "Lock mapagent to a specific controller AL-ID. NOT YET IMPLEMENTED"
+                },
+                {
+                    "name": "probe_int",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "20",
+                    "description": "The interval at which AP-Autoconfig Search (discovery) will be sent"
+                },
+                {
+                    "name": "retry_int",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "15",
+                    "description": "After these many failed attempts mapagent infers no controller is active and accordingly takes next action"
+                },
+                {
+                    "name": "autostart",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": true,
+                    "description": "When this is set to true, the agent will try to start the controller after not finding one in the network."
+                }
+            ]
+        },
+        {
+            "section": "radio",
+            "required": "yes",
+            "description": "Represents a radio. Also contains radio specific policies",
+            "multi": true,
+            "options": [{
+                    "name": "device",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Radio name"
+                },
+                {
+                    "name": "band",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Band on which the radio operates"
+                },
+                {
+                    "name": "encryption",
+                    "type": "list",
+                    "required": "no",
+                    "default": "sae-mixed, sae, psk2, none, psk-mixed, psk, wpa, wpa2",
+                    "description": "Encryptions supported. Sent with WSC M1 meta data."
+                },
+                {
+                    "name": "onboarded",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Set by mapagent if the radio has been onboarded (credentials received)"
+                },
+                {
+                    "name": "dedicated_backhaul",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "This radio will not be configured with fronthaul interfaces"
+                },
+                {
+                    "name": "steer_policy",
+                    "type": "unteger",
+                    "required": "no",
+                    "default": "0",
+                    "description": "Steer policy to be used. 0 = Agent Initiated Steering Disallowed, 1 = Agent Initiated RCPI-based Steering Mandated, 2 = Agent Initiated RCPI-based Steering Allowed"
+                },
+                {
+                    "name": "util_threshold",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "0",
+                    "description": "Indicate utilization threshold used for agent-initiated steering"
+                },
+                {
+                    "name": "rcpi_threshold",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "86",
+                    "description": "Indicate RCPI threshold used for agent-initiated steering. Defaults to 86 for 5GHz and 70 for 2.4GHz"
+                },
+                {
+                    "name": "report_rcpi_threshold",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "96",
+                    "description": "RCPI threshold at which the agent will start sending unsolicited metric reporting to controller. 0 means do not report. Defaults to 96 for 5GHz and 80 for 2.4GHz"
+                },
+                {
+                    "name": "include_sta_stats",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Include STA Traffic Stats TLV in AP Metrics Response"
+                },
+                {
+                    "name": "include_sta_metric",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Include Associated STA Link Metrics TLV in AP Metrics Response"
+                },
+                {
+                    "name": "rcpi_hysteresis_margin",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "0",
+                    "description": "STA Metrics Reporting RCPI Hysteresis Margin Override. This field is coded as an unsigned integer in units of decibels (dB)."
+                },
+                {
+                    "name": "report_util_threshold",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "0",
+                    "description": "Utilization threshold at which the agent will start sending unsolicited metric reporting to controller. 0 means do not report"
+                },
+                {
+                    "name": "include_wifi6_sta_status",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "include Associated Wi-Fi 6 STA Status Report TLV in the AP metrics response."
+                }
+            ]
+        },
+        {
+            "section": "bsta",
+            "description": "Represents a backhaul station interface",
+            "required": "no",
+            "multi": true,
+            "options": [{
+                    "name": "ifname",
+                    "type": "boolean",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Interface name of backhaul station interface"
+                },
+                {
+                    "name": "band",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Frequency of the interface"
+                },
+                {
+                    "name": "device",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Radio on which the interface is operating"
+                },
+                {
+                    "name": "onboarded",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": false,
+                    "description": "Whether WPS credentials have successfully been received over the interface"
+                },
+                {
+                    "name": "priority",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "2",
+                    "description": "Priority of the backhaul with respect to other backhaul STAs. The lower the better."
+                },
+                {
+                    "name": "ssid",
+                    "type": "string",
+                    "required": "no",
+                    "default": null,
+                    "description": "SSID provided with the WPS M8 credentials, will be used for the backhaul connection"
+                },
+                {
+                    "name": "encryption",
+                    "type": "string",
+                    "required": "no",
+                    "default": null,
+                    "description": "Encryption provided with the WPS m8 credentials, will be used for the backhaul connection"
+                },
+                {
+                    "name": "key",
+                    "type": "string",
+                    "required": "no",
+                    "default": null,
+                    "description": "Key provided with the WPS M8 credentials, will be used for the backhaul connection"
+                },
+                {
+                    "name": "bssid",
+                    "type": "string",
+                    "required": "no",
+                    "default": null,
+                    "description": "BSSID to which the connection occured"
+                },
+                {
+                    "name": "enabled",
+                    "type": "string",
+                    "required": "no",
+                    "default": null,
+                    "description": "An option used by map-agent to maintain which backhaul STAs should be enabled upon dynamic backhaul link upgrade"
+                }
+            ]
+        },
+        {
+            "section": "ap",
+            "required": "no",
+            "description": "An AP interface (front or backhaul)",
+            "multi": true,
+            "options": [{
+                    "name": "ifname",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Interface name"
+                },
+                {
+                    "name": "band",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Frequency on which the interface operates"
+                },
+                {
+                    "name": "device",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Radio of which the interface belongs"
+                },
+                {
+                    "name": "ssid",
+                    "type": "string",
+                    "required": "no",
+                    "default": "",
+                    "description": "SSID of the interface"
+                },
+                {
+                    "name": "key",
+                    "type": "string",
+                    "required": "no",
+                    "default": "",
+                    "description": "Password to the SSID"
+                },
+                {
+                    "name": "encryption",
+                    "type": "string",
+                    "required": "no",
+                    "default": "",
+                    "description": "Encryption for the SSID"
+                },
+                {
+                    "name": "vid",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "1",
+                    "description": "VLAN ID tag handled by this interface"
+                },
+                {
+                    "name": "type",
+                    "type": "string",
+                    "required": "no",
+                    "default": "",
+                    "description": "Human readable interface type. Backhaul (multi_ap=1), fronthaul (multi_ap=2) or combined (multi_ap=3)"
+                },
+                {
+                    "name": "enabled",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": true,
+                    "description": "Whether the AP should be enabled. If vendor extensions are compiled in enabled=0 maps to disabled=1 in wireless config."
+                },
+                {
+                    "name": "disallow_bsta",
+                    "type": "boolean",
+                    "required": "no",
+                    "default": true,
+                    "description": "Disallow backhaul station connections of a certain profile. Used as a bitmap, 1 = profile 1 disallow, 2 = profile 2 disallowed, 3 = both"
+                }
+            ]
+        },
+        {
+            "section": "policy",
+            "required": "no",
+            "description": "Policy configuration values as provided by mapcontroller",
+            "multi": false,
+            "options": [{
+                    "name": "report_interval",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "0",
+                    "description": "STA RCPI reporting interval in case of RCPI threshold is met. Provided by mapcontroller"
+                },
+                {
+                    "name": "pvid",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "0",
+                    "description": "Primary VLAN ID"
+                },
+                {
+                    "name": "pcp_default",
+                    "type": "integer",
+                    "required": "no",
+                    "default": "0",
+                    "description": "PCP for primary VLAN ID"
+                },
+                {
+                    "name": "report_scan",
+                    "type": "string",
+                    "required": "no",
+                    "default": "",
+                    "description": "Reporting of independent channel scans."
+                },
+                {
+                    "name": "report_sta_assocfails",
+                    "type": "string",
+                    "required": "no",
+                    "default": "",
+                    "description": "Whether the agent should report association fails to the mapcontroller. NOT YET IMPLEMENTED"
+                },
+                {
+                    "name": "report_sta_assocfails_rate",
+                    "type": "string",
+                    "required": "no",
+                    "default": "",
+                    "description": "Maximum reported failed association attempts per minute. NOT YET IMPLEMENTED"
+                },
+                {
+                    "name": "steer_exclude",
+                    "type": "list",
+                    "required": "no",
+                    "default": "",
+                    "description": "Do not try to steer STA of specified mac address by any means."
+                },
+                {
+                    "name": "steer_exclude_btm",
+                    "type": "list",
+                    "required": "no",
+                    "default": "",
+                    "description": "Do not try to steer STA of specified macaddress by BTM request."
+                }
+            ]
+        },
+        {
+            "section": "opclass",
+            "required": "no",
+            "description": "Channel preference for a certain operation class",
+            "multi": true,
+            "options": [{
+                    "name": "opclassid",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "0",
+                    "description": "The operating class to which the preference applies"
+                },
+                {
+                    "name": "preference",
+                    "type": "integer",
+                    "required": "yes",
+                    "default": "15",
+                    "description": "The preference of the provided channels, 15 is best, 0 is lowest"
+                },
+                {
+                    "name": "radio",
+                    "type": "string",
+                    "required": "yes",
+                    "default": "",
+                    "description": "The radio on which the channels are managed"
+                },
+                {
+                    "name": "channel",
+                    "type": "list",
+                    "required": "yes",
+                    "default": "",
+                    "description": "Channels to which the preference applies"
+                }
+            ]
+        }
+    ]
+}
\ No newline at end of file
diff --git a/src/config.c b/src/config.c
index 4ff03b4e3f7e5a1da13858714cf849272bb2f327..6e1af0af2643f5e1aad380dc6c4a8d5797355067 100644
--- a/src/config.c
+++ b/src/config.c
@@ -2484,6 +2484,11 @@ static int agent_config_get_ap(struct agent_config *a,
 			fh->band = BAND_5;
 		else if (band == 6)
 			fh->band = BAND_6;
+	} else {
+		dbg("|%s:%d| FH:%s is missing band option, discarding!\n",
+		    __func__, __LINE__, fh->name);
+		clean_fh(fh);
+		return -1;
 	}
 
 	if (tb[FH_STEER]) {
@@ -2515,6 +2520,11 @@ static int agent_config_get_ap(struct agent_config *a,
 		device = tb[FH_DEVICE]->v.string;
 
 		strncpy(fh->device, device, sizeof(fh->device) - 1);
+	} else {
+		dbg("|%s:%d| FH:%s is missing device option, discarding!\n",
+		    __func__, __LINE__, fh->name);
+		clean_fh(fh);
+		return -1;
 	}
 
 	if (tb[FH_BTM_RETRY])
diff --git a/src/dynbh/KNOWN_ISSUES b/src/dynbh/KNOWN_ISSUES.md
similarity index 100%
rename from src/dynbh/KNOWN_ISSUES
rename to src/dynbh/KNOWN_ISSUES.md
diff --git a/src/dynbh/README b/src/dynbh/README.md
similarity index 100%
rename from src/dynbh/README
rename to src/dynbh/README.md