From 0dc340c92c28f68b227901db09524c36dcf8a9b0 Mon Sep 17 00:00:00 2001 From: Harshitha Prem Date: Wed, 24 May 2023 14:17:26 +0530 Subject: [PATCH] hostapd: display link details in status command Currently, link id and number of link details of 11be virtual ap interface is not displayed in status command of hostapd_cli. Add changes to display the link id and number of link details which can be used by any scripts. The details would be seen as below for 11be ap interface: # hostapd_cli -i wlan2 status | grep link num_links=1 link_id=0 link_addr=00:03:7f:12:03:03 The above details would not be displayed for non-11be ap interfaces. Signed-off-by: Harshitha Prem Signed-off-by: Manish Dharanenthiran --- src/ap/ctrl_iface_ap.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) --- a/src/ap/ctrl_iface_ap.c +++ b/src/ap/ctrl_iface_ap.c @@ -1096,6 +1096,41 @@ int hostapd_ctrl_iface_status(struct hos if (os_snprintf_error(buflen - len, ret)) return len; len += ret; + + if (hapd->conf->mld_ap) { + struct hostapd_data *link_bss; + ret = os_snprintf(buf +len, buflen - len, + "num_links=%d\n", + hapd->mld->num_links); + if (os_snprintf_error(buflen - len, ret)) + return len; + len +=ret; + + /* self bss */ + ret = os_snprintf(buf +len, buflen - len, + "link_id=%d\n" + "link_addr=" MACSTR "\n", + hapd->mld_link_id, + MAC2STR(hapd->own_addr)); + if (os_snprintf_error(buflen - len, ret)) + return len; + len +=ret; + + /* partner bss */ + for_each_partner_bss(link_bss, hapd) { + if (link_bss == hapd) + continue; + + ret = os_snprintf(buf +len, buflen - len, + "link_id=%d\n" + "link_addr=" MACSTR "\n", + link_bss->mld_link_id, + MAC2STR(link_bss->own_addr)); + if (os_snprintf_error(buflen - len, ret)) + return len; + len +=ret; + } + } } #endif /* CONFIG_IEEE80211BE */