diff --git a/README.md b/README.md
index 97508e9684019ad6dff34811d3bd6d94643e31e0..74191f4b2fd481c7348360d8006affe066bd3429 100644
--- a/README.md
+++ b/README.md
@@ -527,7 +527,6 @@ 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'
@@ -659,6 +658,62 @@ To easily identify a backhaul BSS, a vendor extension TLV is optionally added to
 Topology Response CMDUs and parsed by map-controller. This is merely a cosmetic
 improvement in the map-controller `status` UBUS API.
 
+## DPP Easy Connect
+
+NOTE: The enrollee and the controller/configurator device must be operating at
+the same channel, as off channeling listening for DPP Chirp messages is
+currently not supported.
+
+To perform DPP Easy Connect, the enrollees bootstrap information must provided
+to the map-controller via its UBUS API:
+
+```
+ubus call map.controller dpp_enrollee_uri '{"uri":"DPP:C:128/44;M:44d43771bb2f;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADa1Eoz/Lz0u0XO+Y+786MMst2kqGFJmCb8iOQWcekwS8=;;"}'
+```
+
+All provided URIs are stored in reboot persistent memory in
+`/etc/multiap/dpp_uris.json`:
+
+```
+root@eagle-44d43771bf50:~# cat /etc/multiap/dpp_uris.json
+{"uris":[{"uri":"DPP:C:81\/1;M:44d43771bb2e;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgACQiHpcmOs5LhdwCBylPoDRdVS21swh6nrM+XQxGnGpG0=;;","type":"qr"}]}
+```
+
+If map-controller is compiled with the ubus debug method (default) it can
+additionally be observed from its debug object:
+
+```
+root@eagle-44d43771bf50:~# ubus call map.controller.dbg list_uris
+{
+	"uris": [
+		{
+			"macadr": "44:d4:37:71:bb:2e",
+			"type": "qrcode",
+			"uri": "DPP:C:81/1;M:44d43771bb2e;V:2;K:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgACQiHpcmOs5LhdwCBylPoDRdVS21swh6nrM+XQxGnGpG0=;;",
+			"hashlen": 32,
+			"frames": [
+
+			]
+		}
+	]
+}
+```
+
+For map-controller to accept the URI, some optional fields are mandated:
+* Opclass/Channel list must be provided. In the case of multiple, each
+Opclass/Channel must be provided separately, i.e. C:128/44,128/36;
+* The enrolle mac address must be included and match the backhaul station mac address
+of the enrollee.
+
+
+Once the map-controller has received the enrollee URI, it will listen and parse
+its chirps and proceed to onboard the enrollee onto the network.
+
+NOTE: Legacy AKMs are strongly recommended, as backhaul configuration Request/Response/Result
+are not yet implemented, fronthaul configurations relies on AP-Autoconfiguration,
+which does not support passing DPP AKMs. With this said, it is possible to onboard
+via DPP only AKMs and establish a connection.
+
 ## UBUS APIs
 
 Map-controller offers a variety of UBUS APIs, most of them map to CMDU request
@@ -670,10 +725,12 @@ each agent
 * `steer_summary` and `steer_history` - Maps to TR-181 data model.
 
 ```
-root@iopsys-021000000001:~# ubus -v list map.controller
-'map.controller' @35515cda
+root@eagle-44d43771bf50:~# ubus -v list map.controller
+'map.controller' @52dd51f5
 	"status":{}
+	"status_full":{}
 	"timers":{}
+	"dpp_enrollee_uri":{"uri":"String","type":"String"}
 	"steer_summary":{"sta":"String"}
 	"steer_history":{"sta":"String"}
 	"ap_caps":{"agent":"String"}
@@ -701,4 +758,6 @@ root@iopsys-021000000001:~# ubus -v list map.controller
 	"higher_layer_data":{"agent":"String","protocol":"Integer","data":"String"}
 	"send_combined_metrics":{"agent":"String","bssid":"String"}
 	"sync":{"agent":"String"}
+	"dpp_cce_indication":{"agent":"String","cce_advertise":"Boolean"}
+
 ```