usteer: add BSSID to node struct
authorDavid Bauer <mail@david-bauer.net>
Tue, 21 Sep 2021 14:02:16 +0000 (16:02 +0200)
committerDavid Bauer <mail@david-bauer.net>
Fri, 15 Oct 2021 13:49:34 +0000 (15:49 +0200)
Add the node BSSID to the usteer_node struct. This will be helpful in
the future when evaluating beacon reports from STAs.

Signed-off-by: David Bauer <mail@david-bauer.net>
nl80211.c
ubus.c
usteer.h

index fc3add9435f3a1764db7f32663bdbb3939df759b..f0ac137b9083d19cccaa9b3379e898ceee1285bd 100644 (file)
--- a/nl80211.c
+++ b/nl80211.c
@@ -200,8 +200,13 @@ static void nl80211_init_node(struct usteer_node *node)
        if (!tb[NL80211_ATTR_WIPHY])
                goto nla_put_failure;
 
+       if (!tb[NL80211_ATTR_MAC])
+               goto nla_put_failure;
+
        ln->wiphy = nla_get_u32(tb[NL80211_ATTR_WIPHY]);
 
+       memcpy(node->bssid, nla_data(tb[NL80211_ATTR_MAC]), ETH_ALEN);
+
        if (tb[NL80211_ATTR_SSID]) {
                int len = nla_len(tb[NL80211_ATTR_SSID]);
 
diff --git a/ubus.c b/ubus.c
index 00843efd96639626d1f6a80986ff5733b0292fdb..5e285d88b2212ad43664f912dfd369f16141311d 100644 (file)
--- a/ubus.c
+++ b/ubus.c
@@ -275,6 +275,7 @@ void usteer_dump_node(struct blob_buf *buf, struct usteer_node *node)
        void *c;
 
        c = blobmsg_open_table(buf, usteer_node_name(node));
+       blobmsg_printf(buf, "bssid", MAC_ADDR_FMT, MAC_ADDR_DATA(node->bssid));
        blobmsg_add_u32(buf, "freq", node->freq);
        blobmsg_add_u32(buf, "n_assoc", node->n_assoc);
        blobmsg_add_u32(buf, "noise", node->noise);
index 81d1c5a9fd293896b45629136caa783d0d7b141f..20a4432ab09d0c374a97a6bbad6e851718a1e58a 100644 (file)
--- a/usteer.h
+++ b/usteer.h
@@ -67,6 +67,7 @@ struct usteer_node {
        struct blob_attr *rrm_nr;
        struct blob_attr *node_info;
        char ssid[33];
+       uint8_t bssid[6];
 
        bool disabled;
        int freq;