hostapd: add op-class to get_status output
authorDavid Bauer <mail@david-bauer.net>
Sat, 8 Jan 2022 11:25:42 +0000 (12:25 +0100)
committerDavid Bauer <mail@david-bauer.net>
Sun, 20 Mar 2022 00:32:06 +0000 (01:32 +0100)
Include the current operation class to hostapd get_status interface.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 2a31e9ca975d99b6216b2979a825f07253c8947e)

package/network/services/hostapd/src/src/ap/ubus.c

index a9cded01132cd6b18f461d6d405b3df8b9ff4339..29a4af8ebdd4d9dc19ef8561fbde206ded29670a 100644 (file)
@@ -409,9 +409,15 @@ hostapd_bss_get_status(struct ubus_context *ctx, struct ubus_object *obj,
        char ssid[SSID_MAX_LEN + 1];
        char phy_name[17];
        size_t ssid_len = SSID_MAX_LEN;
+       u8 channel = 0, op_class = 0;
 
        if (hapd->conf->ssid.ssid_len < SSID_MAX_LEN)
                ssid_len = hapd->conf->ssid.ssid_len;
+       
+       ieee80211_freq_to_channel_ext(hapd->iface->freq,
+                                     hapd->iconf->secondary_channel,
+                                     hostapd_get_oper_chwidth(hapd->iconf),
+                                     &op_class, &channel);
 
        blob_buf_init(&b, 0);
        blobmsg_add_string(&b, "status", hostapd_state_text(hapd->iface->state));
@@ -422,7 +428,8 @@ hostapd_bss_get_status(struct ubus_context *ctx, struct ubus_object *obj,
        blobmsg_add_string(&b, "ssid", ssid);
 
        blobmsg_add_u32(&b, "freq", hapd->iface->freq);
-       blobmsg_add_u32(&b, "channel", ieee80211_frequency_to_channel(hapd->iface->freq));
+       blobmsg_add_u32(&b, "channel", channel);
+       blobmsg_add_u32(&b, "op_class", op_class);
        blobmsg_add_u32(&b, "beacon_interval", hapd->iconf->beacon_int);
 
        snprintf(phy_name, 17, "%s", hapd->iface->phy);