wifi: nl80211: expose link ID for associated BSSes
authorJohannes Berg <johannes.berg@intel.com>
Mon, 13 Jun 2022 14:52:02 +0000 (16:52 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 20 Jun 2022 10:57:08 +0000 (12:57 +0200)
When retrieving scan data, expose not just whether or not the
interface (possibly an MLD) is associated to the BSS or not,
but also on which link ID if it is an MLD.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/nl80211.c

index 64934dd..aca799b 100644 (file)
@@ -9959,8 +9959,10 @@ static int nl80211_send_bss(struct sk_buff *msg, struct netlink_callback *cb,
        case NL80211_IFTYPE_STATION:
                for_each_valid_link(wdev, link_id) {
                        if (intbss == wdev->links[link_id].client.current_bss &&
-                           nla_put_u32(msg, NL80211_BSS_STATUS,
-                                       NL80211_BSS_STATUS_ASSOCIATED))
+                           (nla_put_u32(msg, NL80211_BSS_STATUS,
+                                        NL80211_BSS_STATUS_ASSOCIATED) ||
+                            (wdev->valid_links &&
+                             nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))))
                                goto nla_put_failure;
                }
                break;