HAPD_IFACE_DISABLED,
--- /dev/null
+++ b/src/ap/ubus.c
-@@ -0,0 +1,494 @@
+@@ -0,0 +1,511 @@
+/*
+ * hostapd / ubus support
+ * Copyright (c) 2013, Felix Fietkau <nbd@openwrt.org>
+ return 0;
+}
+
++static int
++hostapd_bss_update_beacon(struct ubus_context *ctx, struct ubus_object *obj,
++ struct ubus_request_data *req, const char *method,
++ struct blob_attr *msg)
++{
++ int rc;
++ struct hostapd_data *hapd = container_of(obj, struct hostapd_data, ubus.obj);
++
++ rc = ieee802_11_set_beacon(hapd);
++
++ if (rc != 0)
++ return UBUS_STATUS_NOT_SUPPORTED;
++
++ return 0;
++}
++
+enum {
+ CSA_FREQ,
+ CSA_BCN_COUNT,
+ UBUS_METHOD_NOARG("list_bans", hostapd_bss_list_bans),
+ UBUS_METHOD_NOARG("wps_start", hostapd_bss_wps_start),
+ UBUS_METHOD_NOARG("wps_cancel", hostapd_bss_wps_cancel),
++ UBUS_METHOD_NOARG("update_beacon", hostapd_bss_update_beacon),
+#ifdef NEED_AP_MLME
+ UBUS_METHOD("switch_chan", hostapd_switch_chan, csa_policy),
+#endif
sta->capability = capab_info;
sta->listen_interval = listen_interval;
-@@ -2236,7 +2262,7 @@ int ieee802_11_mgmt(struct hostapd_data
+@@ -2236,7 +2262,7 @@ int ieee802_11_mgmt(struct hostapd_data
if (stype == WLAN_FC_STYPE_PROBE_REQ) {
return 1;
}
-@@ -2251,17 +2277,17 @@ int ieee802_11_mgmt(struct hostapd_data
+@@ -2251,17 +2277,17 @@ int ieee802_11_mgmt(struct hostapd_data
switch (stype) {
case WLAN_FC_STYPE_AUTH:
wpa_printf(MSG_DEBUG, "mgmt::auth");