hostapd: expose client 802.11k capabilities via ubus
authorFelix Fietkau <nbd@nbd.name>
Sat, 10 Feb 2018 18:42:12 +0000 (19:42 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 21 Feb 2018 18:28:59 +0000 (19:28 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/network/services/hostapd/src/src/ap/ubus.c

index 3dfc0a268fdd4a74f2ab9ac1c0eb3f87223d0664..2f92b785932c729219521cdc48fef96ffadd5eb1 100644 (file)
@@ -168,6 +168,7 @@ hostapd_bss_get_clients(struct ubus_context *ctx, struct ubus_object *obj,
        blobmsg_add_u32(&b, "freq", hapd->iface->freq);
        list = blobmsg_open_table(&b, "clients");
        for (sta = hapd->sta_list; sta; sta = sta->next) {
        blobmsg_add_u32(&b, "freq", hapd->iface->freq);
        list = blobmsg_open_table(&b, "clients");
        for (sta = hapd->sta_list; sta; sta = sta->next) {
+               void *r;
                int i;
 
                sprintf(mac_buf, MACSTR, MAC2STR(sta->addr));
                int i;
 
                sprintf(mac_buf, MACSTR, MAC2STR(sta->addr));
@@ -175,6 +176,11 @@ hostapd_bss_get_clients(struct ubus_context *ctx, struct ubus_object *obj,
                for (i = 0; i < ARRAY_SIZE(sta_flags); i++)
                        blobmsg_add_u8(&b, sta_flags[i].name,
                                       !!(sta->flags & sta_flags[i].flag));
                for (i = 0; i < ARRAY_SIZE(sta_flags); i++)
                        blobmsg_add_u8(&b, sta_flags[i].name,
                                       !!(sta->flags & sta_flags[i].flag));
+
+               r = blobmsg_open_array(&b, "rrm");
+               for (i = 0; i < ARRAY_SIZE(sta->rrm_enabled_capa); i++)
+                       blobmsg_add_u32(&b, "", sta->rrm_enabled_capa[i]);
+               blobmsg_close_array(&b, r);
                blobmsg_add_u32(&b, "aid", sta->aid);
                blobmsg_close_table(&b, c);
        }
                blobmsg_add_u32(&b, "aid", sta->aid);
                blobmsg_close_table(&b, c);
        }