local_node: query client MBO support from hostapd
Query client MBO support from hostapd and display it in the output of the connected_clients ubus method as "multi-band-operation". Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This commit is contained in:
14
local_node.c
14
local_node.c
@@ -388,6 +388,10 @@ usteer_local_node_assoc_update(struct sta_info *si, struct blob_attr *data)
|
|||||||
static void
|
static void
|
||||||
usteer_local_node_update_sta_rrm_wnm(struct sta_info *si, struct blob_attr *client_attr)
|
usteer_local_node_update_sta_rrm_wnm(struct sta_info *si, struct blob_attr *client_attr)
|
||||||
{
|
{
|
||||||
|
static const struct blobmsg_policy mbo_policy = {
|
||||||
|
.name = "mbo",
|
||||||
|
.type = BLOBMSG_TYPE_BOOL,
|
||||||
|
};
|
||||||
static const struct blobmsg_policy rrm_policy = {
|
static const struct blobmsg_policy rrm_policy = {
|
||||||
.name = "rrm",
|
.name = "rrm",
|
||||||
.type = BLOBMSG_TYPE_ARRAY,
|
.type = BLOBMSG_TYPE_ARRAY,
|
||||||
@@ -396,10 +400,18 @@ usteer_local_node_update_sta_rrm_wnm(struct sta_info *si, struct blob_attr *clie
|
|||||||
.name = "extended_capabilities",
|
.name = "extended_capabilities",
|
||||||
.type = BLOBMSG_TYPE_ARRAY,
|
.type = BLOBMSG_TYPE_ARRAY,
|
||||||
};
|
};
|
||||||
struct blob_attr *rrm_blob = NULL, *wnm_blob = NULL, *cur;
|
struct blob_attr *mbo_blob = NULL, *rrm_blob = NULL, *wnm_blob = NULL, *cur;
|
||||||
int rem;
|
int rem;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
|
/* MBO */
|
||||||
|
blobmsg_parse(&mbo_policy, 1, &mbo_blob, blobmsg_data(client_attr), blobmsg_data_len(client_attr));
|
||||||
|
|
||||||
|
if (mbo_blob)
|
||||||
|
si->mbo = blobmsg_get_u8(mbo_blob);
|
||||||
|
else
|
||||||
|
si->mbo = false;
|
||||||
|
|
||||||
/* RRM */
|
/* RRM */
|
||||||
blobmsg_parse(&rrm_policy, 1, &rrm_blob, blobmsg_data(client_attr), blobmsg_data_len(client_attr));
|
blobmsg_parse(&rrm_policy, 1, &rrm_blob, blobmsg_data(client_attr), blobmsg_data_len(client_attr));
|
||||||
if (!rrm_blob)
|
if (!rrm_blob)
|
||||||
|
3
ubus.c
3
ubus.c
@@ -442,6 +442,9 @@ usteer_ubus_get_connected_clients(struct ubus_context *ctx, struct ubus_object *
|
|||||||
/* BSS-Transition support */
|
/* BSS-Transition support */
|
||||||
blobmsg_add_u8(&b, "bss-transition-management", si->bss_transition);
|
blobmsg_add_u8(&b, "bss-transition-management", si->bss_transition);
|
||||||
|
|
||||||
|
/* MBO support */
|
||||||
|
blobmsg_add_u8(&b, "multi-band-operation", si->mbo);
|
||||||
|
|
||||||
/* Measurements */
|
/* Measurements */
|
||||||
a = blobmsg_open_array(&b, "measurements");
|
a = blobmsg_open_array(&b, "measurements");
|
||||||
list_for_each_entry(mr, &si->sta->measurements, sta_list) {
|
list_for_each_entry(mr, &si->sta->measurements, sta_list) {
|
||||||
|
Reference in New Issue
Block a user