Skip to content
Snippets Groups Projects
Commit 5eb51d87 authored by Filip Matusiak's avatar Filip Matusiak
Browse files

Backport changes in combined_link_metric_periodic_collection

parent 16c1be6d
No related branches found
No related tags found
1 merge request!377Backport changes in combined_link_metric_periodic_collection
Pipeline #172197 passed
...@@ -1912,7 +1912,7 @@ static void cntlr_ageout_nodes(struct controller *c) ...@@ -1912,7 +1912,7 @@ static void cntlr_ageout_nodes(struct controller *c)
static void combined_link_metric_periodic_collection(struct controller *c) static void combined_link_metric_periodic_collection(struct controller *c)
{ {
trace("%s: --->\n", __func__); trace("%s: --->\n", __func__);
struct node *p; struct node *p = NULL;
uint8_t *radiolist = NULL, *bsslist = NULL; uint8_t *radiolist = NULL, *bsslist = NULL;
/* AP metrics query for each agent */ /* AP metrics query for each agent */
...@@ -1921,7 +1921,7 @@ static void combined_link_metric_periodic_collection(struct controller *c) ...@@ -1921,7 +1921,7 @@ static void combined_link_metric_periodic_collection(struct controller *c)
uint8_t *new_radiolist; uint8_t *new_radiolist;
struct node *n; struct node *n;
struct cmdu_buff *cmdu; struct cmdu_buff *cmdu;
struct netif_radio *r; struct netif_radio *r = NULL;
int num_bss = 0, num_radio = 0; int num_bss = 0, num_radio = 0;
uint8_t hwaddr[6]; uint8_t hwaddr[6];
...@@ -1930,7 +1930,7 @@ static void combined_link_metric_periodic_collection(struct controller *c) ...@@ -1930,7 +1930,7 @@ static void combined_link_metric_periodic_collection(struct controller *c)
memcpy(hwaddr, p->alid, 6); memcpy(hwaddr, p->alid, 6);
/* For each radio */ /* For each radio */
list_for_each_entry(r, &p->radiolist, list) { list_for_each_entry(r, &p->radiolist, list) {
struct netif_iface *bss; struct netif_iface *bss = NULL;
int radio_index; int radio_index;
/* Building a radiolist of all radios */ /* Building a radiolist of all radios */
...@@ -1971,14 +1971,18 @@ static void combined_link_metric_periodic_collection(struct controller *c) ...@@ -1971,14 +1971,18 @@ static void combined_link_metric_periodic_collection(struct controller *c)
memcpy(bsslist + bss_index, bss->bss->bssid, 6); memcpy(bsslist + bss_index, bss->bss->bssid, 6);
} }
} }
if (num_bss > 0) {
cmdu = cntlr_gen_ap_metrics_query(c, hwaddr, num_bss, bsslist, num_radio, radiolist); cmdu = cntlr_gen_ap_metrics_query(c, hwaddr, num_bss, bsslist, num_radio, radiolist);
if (!cmdu) { if (!cmdu) {
trace("cmdu_gen failed!\n"); trace("cmdu_gen failed!\n");
goto error; goto error;
} }
send_cmdu(c, cmdu); send_cmdu(c, cmdu);
cmdu_free(cmdu); cmdu_free(cmdu);
} else {
dbg("Skip sending AP metrics query, no BSS to query\n");
}
/* query i1905d base CMDU */ /* query i1905d base CMDU */
cmdu = ieee1905_ubus_buildcmdu(c->ubus_ctx, CMDU_TYPE_LINK_METRIC_RESPONSE); cmdu = ieee1905_ubus_buildcmdu(c->ubus_ctx, CMDU_TYPE_LINK_METRIC_RESPONSE);
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment