qcacld-3.0: Send peer ML info on BSS join/leave to cfg80211

On client connection, send the client's MLD address, assoc response IEs
and the link_id of SAP on which the new client is added.
For non-MLO capable clients the MLD is sent as NULL address

On ML client disconnection, use MLD address of the client as argument
to cfg80211_del_sta().
For non-MLO client disconnection, use the legacy address of the client
as argument to cfg80211_del_sta().

Change-Id: I43cb8e688251b6118932e1ae88f7abdf53dd54a0
CRs-Fixed: 3324216
This commit is contained in:
Vinod Kumar Pirla
2022-10-27 03:55:25 -07:00
committed by Madan Koyyalamudi
parent 188e55a759
commit 10ddbd5a8c
4 changed files with 132 additions and 4 deletions

View File

@@ -2811,6 +2811,30 @@ bool wlan_mlme_is_primary_interface_configured(struct wlan_objmgr_psoc *psoc)
QCA_WLAN_CONCURRENT_STA_POLICY_PREFER_PRIMARY);
}
QDF_STATUS wlan_mlme_peer_get_assoc_rsp_ies(struct wlan_objmgr_peer *peer,
const uint8_t **ie_buf,
size_t *ie_len)
{
struct peer_mlme_priv_obj *peer_priv;
if (!peer || !ie_buf || !ie_len)
return QDF_STATUS_E_INVAL;
*ie_buf = NULL;
*ie_len = 0;
peer_priv = wlan_objmgr_peer_get_comp_private_obj(peer,
WLAN_UMAC_COMP_MLME);
if (!peer_priv || peer_priv->assoc_rsp.len == 0)
return QDF_STATUS_SUCCESS;
*ie_buf = peer_priv->assoc_rsp.ptr;
*ie_len = peer_priv->assoc_rsp.len;
return QDF_STATUS_SUCCESS;
}
int wlan_mlme_get_mcc_duty_cycle_percentage(struct wlan_objmgr_pdev *pdev)
{
struct wlan_objmgr_psoc *psoc = NULL;