linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] wifi: changes for MLD AP when SME offload to driver
@ 2022-12-06  8:02 Veerendranath Jakkam
  2022-12-06  8:02 ` [PATCH 1/3] wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP Veerendranath Jakkam
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Veerendranath Jakkam @ 2022-12-06  8:02 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless

This series contains changes needed for MLD AP when driver's SME in use.

Veerendranath Jakkam (3):
  wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP
  wifi: cfg80211: Extend cfg80211_update_owe_info_event() for MLD AP
  wifi: cfg80211: Use MLD address to indicate MLD STA disconnection

 .../net/wireless/quantenna/qtnfmac/event.c    |  1 +
 include/net/cfg80211.h                        | 33 +++++++++++++++++--
 include/uapi/linux/nl80211.h                  |  3 +-
 net/wireless/nl80211.c                        | 27 +++++++++++++++
 net/wireless/trace.h                          | 14 +++++---
 5 files changed, 71 insertions(+), 7 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/3] wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP
  2022-12-06  8:02 [PATCH 0/3] wifi: changes for MLD AP when SME offload to driver Veerendranath Jakkam
@ 2022-12-06  8:02 ` Veerendranath Jakkam
  2023-01-18 15:41   ` Johannes Berg
  2022-12-06  8:02 ` [PATCH 2/3] wifi: cfg80211: Extend cfg80211_update_owe_info_event() " Veerendranath Jakkam
  2022-12-06  8:02 ` [PATCH 3/3] wifi: cfg80211: Use MLD address to indicate MLD STA disconnection Veerendranath Jakkam
  2 siblings, 1 reply; 9+ messages in thread
From: Veerendranath Jakkam @ 2022-12-06  8:02 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless

Add support for drivers to indicate STA connection when user space SME
(e.g., hostapd) is not used for MLD AP. Add new parameters in struct
station_info to provide (re)association link ID, station's MLD address
and (Re)Association Response IEs in cfg80211_new_sta().

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
---
 include/net/cfg80211.h | 22 ++++++++++++++++++++++
 net/wireless/nl80211.c | 16 ++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 03d4f4deadae..15619e0f5f0b 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1882,6 +1882,22 @@ struct cfg80211_tid_stats {
  *	received packet with an FCS error matches the peer MAC address.
  * @airtime_link_metric: mesh airtime link metric.
  * @connected_to_as: true if mesh STA has a path to authentication server
+ * @mlo_params_valid: Indicates @assoc_link_id and @mld_addr fields are valid.
+ *	Drivers use this only in cfg80211_new_sta() calls when AP MLD's MLME/SME
+ *	is offload to driver. Drivers won't fill this information in
+ *	cfg80211_del_sta_sinfo(), get_station() and dump_station() callbacks.
+ * @assoc_link_id: Indicates link ID of the AP MLD link on which the station
+ *	association happened.
+ * @mld_addr: MLD address if the station is an MLD. Otherwise, set to all zeros.
+ * @assoc_resp_ies: IEs from (Re)Association Response.
+ *	This is used only when in AP mode with drivers that do not use user
+ *	space MLME/SME implementation. The information is provided only for the
+ *	cfg80211_new_sta() calls to notify user space of the IEs. Drivers won't
+ *	fill this information in cfg80211_del_sta_sinfo(), get_station() and
+ *	dump_station() callbacks. Userspace needs this information to determine
+ *	the other affiliated link stations information when MLD station is
+ *	connected.
+ * @assoc_resp_ies_len: Length of @assoc_resp_ies buffer in octets.
  */
 struct station_info {
 	u64 filled;
@@ -1941,6 +1957,12 @@ struct station_info {
 	u32 airtime_link_metric;
 
 	u8 connected_to_as;
+
+	bool mlo_params_valid;
+	u8 assoc_link_id;
+	u8 mld_addr[ETH_ALEN] __aligned(2);
+	const u8 *assoc_resp_ies;
+	size_t assoc_resp_ies_len;
 };
 
 /**
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 33a82ecab9d5..5a20bf8b85d6 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -6527,6 +6527,22 @@ static int nl80211_send_station(struct sk_buff *msg, u32 cmd, u32 portid,
 		    sinfo->assoc_req_ies))
 		goto nla_put_failure;
 
+	if (sinfo->assoc_resp_ies_len &&
+	    nla_put(msg, NL80211_ATTR_RESP_IE, sinfo->assoc_resp_ies_len,
+		    sinfo->assoc_resp_ies))
+		goto nla_put_failure;
+
+	if (sinfo->mlo_params_valid) {
+		if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID,
+			       sinfo->assoc_link_id))
+			goto nla_put_failure;
+
+		if (!is_zero_ether_addr(sinfo->mld_addr) &&
+		    nla_put(msg, NL80211_ATTR_MLD_ADDR, ETH_ALEN,
+			    sinfo->mld_addr))
+			goto nla_put_failure;
+	}
+
 	cfg80211_sinfo_release_content(sinfo);
 	genlmsg_end(msg, hdr);
 	return 0;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/3] wifi: cfg80211: Extend cfg80211_update_owe_info_event() for MLD AP
  2022-12-06  8:02 [PATCH 0/3] wifi: changes for MLD AP when SME offload to driver Veerendranath Jakkam
  2022-12-06  8:02 ` [PATCH 1/3] wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP Veerendranath Jakkam
@ 2022-12-06  8:02 ` Veerendranath Jakkam
  2023-01-18 15:42   ` Johannes Berg
  2022-12-06  8:02 ` [PATCH 3/3] wifi: cfg80211: Use MLD address to indicate MLD STA disconnection Veerendranath Jakkam
  2 siblings, 1 reply; 9+ messages in thread
From: Veerendranath Jakkam @ 2022-12-06  8:02 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless

Add support to offload OWE processing to user space for MLD AP. Send
link ID and peer's MLD address to user space when reporting
NL80211_CMD_UPDATE_OWE_INFO event in MLD AP mode.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
---
 drivers/net/wireless/quantenna/qtnfmac/event.c |  1 +
 include/net/cfg80211.h                         |  7 +++++++
 net/wireless/nl80211.c                         | 11 +++++++++++
 net/wireless/trace.h                           | 14 ++++++++++----
 4 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/quantenna/qtnfmac/event.c b/drivers/net/wireless/quantenna/qtnfmac/event.c
index 4fafe370101a..f0158737aed6 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/event.c
+++ b/drivers/net/wireless/quantenna/qtnfmac/event.c
@@ -662,6 +662,7 @@ qtnf_event_handle_update_owe(struct qtnf_vif *vif,
 	memcpy(ie, owe_ev->ies, ie_len);
 	owe_info.ie_len = ie_len;
 	owe_info.ie = ie;
+	owe_info.assoc_link_id = -1;
 
 	pr_info("%s: external OWE processing: peer=%pM\n",
 		vif->netdev->name, owe_ev->peer);
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 15619e0f5f0b..36cecfa217f1 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -3890,12 +3890,19 @@ struct cfg80211_pmsr_request {
  *	the IEs of the remote peer in the event from the host driver and
  *	the constructed IEs by the user space in the request interface.
  * @ie_len: Length of IEs in octets.
+ * @assoc_link_id: Indicates link ID of the AP MLD link on which (re)association
+ *	requested by peer. In non-MLD AP mode, it will be -1. Used only with OWE
+ *	update event (driver to user space).
+ * @peer_mld_addr: MLD address of the peer. For non-MLD peer, it will be all
+ *	zeros. Used only with OWE update event (driver to user space).
  */
 struct cfg80211_update_owe_info {
 	u8 peer[ETH_ALEN] __aligned(2);
 	u16 status;
 	const u8 *ie;
 	size_t ie_len;
+	int assoc_link_id;
+	u8 peer_mld_addr[ETH_ALEN] __aligned(2);
 };
 
 /**
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 5a20bf8b85d6..77254ed3b054 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -19776,6 +19776,17 @@ void cfg80211_update_owe_info_event(struct net_device *netdev,
 	    nla_put(msg, NL80211_ATTR_IE, owe_info->ie_len, owe_info->ie))
 		goto nla_put_failure;
 
+	if (owe_info->assoc_link_id != -1) {
+		if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID,
+			       owe_info->assoc_link_id))
+			goto nla_put_failure;
+
+		if (!is_zero_ether_addr(owe_info->peer_mld_addr) &&
+		    nla_put(msg, NL80211_ATTR_MLD_ADDR, ETH_ALEN,
+			    owe_info->peer_mld_addr))
+			goto nla_put_failure;
+	}
+
 	genlmsg_end(msg, hdr);
 
 	genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
diff --git a/net/wireless/trace.h b/net/wireless/trace.h
index a405c3edbc47..68b933d28070 100644
--- a/net/wireless/trace.h
+++ b/net/wireless/trace.h
@@ -3755,14 +3755,20 @@ TRACE_EVENT(cfg80211_update_owe_info_event,
 	    TP_STRUCT__entry(WIPHY_ENTRY
 			     NETDEV_ENTRY
 			     MAC_ENTRY(peer)
-			     __dynamic_array(u8, ie, owe_info->ie_len)),
+			     __dynamic_array(u8, ie, owe_info->ie_len)
+			     __field(int, assoc_link_id)
+			     MAC_ENTRY(peer_mld_addr)),
 	    TP_fast_assign(WIPHY_ASSIGN;
 			   NETDEV_ASSIGN;
 			   MAC_ASSIGN(peer, owe_info->peer);
 			   memcpy(__get_dynamic_array(ie), owe_info->ie,
-				  owe_info->ie_len);),
-	    TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", peer: " MAC_PR_FMT,
-		      WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer))
+				  owe_info->ie_len);
+			   __entry->assoc_link_id = owe_info->assoc_link_id;
+			   MAC_ASSIGN(peer_mld_addr, owe_info->peer_mld_addr);),
+	    TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", peer: " MAC_PR_FMT
+		      ", assoc_link_id: %d, peer_mld_addr: " MAC_PR_FMT,
+		      WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer),
+		      __entry->assoc_link_id, MAC_PR_ARG(peer_mld_addr))
 );
 
 TRACE_EVENT(cfg80211_bss_color_notify,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/3] wifi: cfg80211: Use MLD address to indicate MLD STA disconnection
  2022-12-06  8:02 [PATCH 0/3] wifi: changes for MLD AP when SME offload to driver Veerendranath Jakkam
  2022-12-06  8:02 ` [PATCH 1/3] wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP Veerendranath Jakkam
  2022-12-06  8:02 ` [PATCH 2/3] wifi: cfg80211: Extend cfg80211_update_owe_info_event() " Veerendranath Jakkam
@ 2022-12-06  8:02 ` Veerendranath Jakkam
  2023-01-18 15:44   ` Johannes Berg
  2 siblings, 1 reply; 9+ messages in thread
From: Veerendranath Jakkam @ 2022-12-06  8:02 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless

Use station's MLD address to report disconnection of MLD station.
Updated documentation in multiple places to indicate the same.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
---
 include/net/cfg80211.h       | 4 ++--
 include/uapi/linux/nl80211.h | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 36cecfa217f1..eeb9a43c77df 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -7812,7 +7812,7 @@ void cfg80211_new_sta(struct net_device *dev, const u8 *mac_addr,
 /**
  * cfg80211_del_sta_sinfo - notify userspace about deletion of a station
  * @dev: the netdev
- * @mac_addr: the station's address
+ * @mac_addr: the station's address. For MLD station, MLD address is used.
  * @sinfo: the station information/statistics
  * @gfp: allocation flags
  */
@@ -7823,7 +7823,7 @@ void cfg80211_del_sta_sinfo(struct net_device *dev, const u8 *mac_addr,
  * cfg80211_del_sta - notify userspace about deletion of a station
  *
  * @dev: the netdev
- * @mac_addr: the station's address
+ * @mac_addr: the station's address. For MLD station, MLD address is used.
  * @gfp: allocation flags
  */
 static inline void cfg80211_del_sta(struct net_device *dev,
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index c14a91bbca7c..e1d54ebc1dcb 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -424,7 +424,8 @@
  *	interface identified by %NL80211_ATTR_IFINDEX.
  * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC
  *	or, if no MAC address given, all stations, on the interface identified
- *	by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and
+ *	by %NL80211_ATTR_IFINDEX. For MLD station, MLD address is used in
+ *	%NL80211_ATTR_MAC. %NL80211_ATTR_MGMT_SUBTYPE and
  *	%NL80211_ATTR_REASON_CODE can optionally be used to specify which type
  *	of disconnection indication should be sent to the station
  *	(Deauthentication or Disassociation frame and reason code for that
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/3] wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP
  2022-12-06  8:02 ` [PATCH 1/3] wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP Veerendranath Jakkam
@ 2023-01-18 15:41   ` Johannes Berg
  2023-01-21  8:55     ` Veerendranath Jakkam
  0 siblings, 1 reply; 9+ messages in thread
From: Johannes Berg @ 2023-01-18 15:41 UTC (permalink / raw)
  To: Veerendranath Jakkam; +Cc: linux-wireless

Hi,

> + * @mlo_params_valid: Indicates @assoc_link_id and @mld_addr fields are valid.
> + *	Drivers use this only in cfg80211_new_sta() calls when AP MLD's MLME/SME
> + *	is offload to driver. Drivers won't fill this information in
> + *	cfg80211_del_sta_sinfo(), get_station() and dump_station() callbacks.
> 
> + * @mld_addr: MLD address if the station is an MLD. Otherwise, set to all zeros.


> +	if (sinfo->mlo_params_valid) {
> +		if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID,
> +			       sinfo->assoc_link_id))
> +			goto nla_put_failure;
> +
> +		if (!is_zero_ether_addr(sinfo->mld_addr) &&
> +		    nla_put(msg, NL80211_ATTR_MLD_ADDR, ETH_ALEN,
> +			    sinfo->mld_addr))
> 


It'd be invalid, but now you could have mlo_params_valid == true &&
is_zero_ether_addr(sinfo->mld_addr), which would lead to a very strange
situation for userspace, it would see a link ID but no MLD address.

With the documented requirement that
	mlo_params_valid == (mld_addr is valid)

wouldn't it make sense to just remove mlo_params_valid, and lift the
is_zero_ether_addr() check to the outer condition?

johannes

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/3] wifi: cfg80211: Extend cfg80211_update_owe_info_event() for MLD AP
  2022-12-06  8:02 ` [PATCH 2/3] wifi: cfg80211: Extend cfg80211_update_owe_info_event() " Veerendranath Jakkam
@ 2023-01-18 15:42   ` Johannes Berg
  2023-01-21 10:12     ` Veerendranath Jakkam
  0 siblings, 1 reply; 9+ messages in thread
From: Johannes Berg @ 2023-01-18 15:42 UTC (permalink / raw)
  To: Veerendranath Jakkam; +Cc: linux-wireless

On Tue, 2022-12-06 at 13:32 +0530, Veerendranath Jakkam wrote:
> 
> + * @assoc_link_id: Indicates link ID of the AP MLD link on which (re)association
> + *	requested by peer. In non-MLD AP mode, it will be -1. Used only with OWE
> + *	update event (driver to user space).
> + * @peer_mld_addr: MLD address of the peer. For non-MLD peer, it will be all
> + *	zeros. Used only with OWE update event (driver to user space).


Similar here - why require setting assoc_link_id == -1 if
peer_mld_address can be left zeroes to indicate non-MLO connection?

That'd save you from updating the quantenna driver too, and

> --- a/net/wireless/nl80211.c
> +++ b/net/wireless/nl80211.c
> @@ -19776,6 +19776,17 @@ void cfg80211_update_owe_info_event(struct net_device *netdev,
>  	    nla_put(msg, NL80211_ATTR_IE, owe_info->ie_len, owe_info->ie))
>  		goto nla_put_failure;
>  
> +	if (owe_info->assoc_link_id != -1) {
> +		if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID,
> +			       owe_info->assoc_link_id))
> +			goto nla_put_failure;
> +
> +		if (!is_zero_ether_addr(owe_info->peer_mld_addr) &&
> +		    nla_put(msg, NL80211_ATTR_MLD_ADDR, ETH_ALEN,
> +			    owe_info->peer_mld_addr))
> +			goto nla_put_failure;
> +	}

here anyway you have that condition, so you could just lift the
is_zero_ether_addr() to the outer if?

johannes


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/3] wifi: cfg80211: Use MLD address to indicate MLD STA disconnection
  2022-12-06  8:02 ` [PATCH 3/3] wifi: cfg80211: Use MLD address to indicate MLD STA disconnection Veerendranath Jakkam
@ 2023-01-18 15:44   ` Johannes Berg
  0 siblings, 0 replies; 9+ messages in thread
From: Johannes Berg @ 2023-01-18 15:44 UTC (permalink / raw)
  To: Veerendranath Jakkam; +Cc: linux-wireless

On Tue, 2022-12-06 at 13:32 +0530, Veerendranath Jakkam wrote:
> Use station's MLD address to report disconnection of MLD station.
> Updated documentation in multiple places to indicate the same.
> 

Applied, but in the future please write commit messages in imperative:

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#commit_messages

johannes

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/3] wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP
  2023-01-18 15:41   ` Johannes Berg
@ 2023-01-21  8:55     ` Veerendranath Jakkam
  0 siblings, 0 replies; 9+ messages in thread
From: Veerendranath Jakkam @ 2023-01-21  8:55 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless

Thanks Johannes for reviewing the patches.


On 1/18/2023 9:11 PM, Johannes Berg wrote:
> Hi,
>
>> + * @mlo_params_valid: Indicates @assoc_link_id and @mld_addr fields are valid.
>> + *	Drivers use this only in cfg80211_new_sta() calls when AP MLD's MLME/SME
>> + *	is offload to driver. Drivers won't fill this information in
>> + *	cfg80211_del_sta_sinfo(), get_station() and dump_station() callbacks.
>>
>> + * @mld_addr: MLD address if the station is an MLD. Otherwise, set to all zeros.
>
>> +	if (sinfo->mlo_params_valid) {
>> +		if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID,
>> +			       sinfo->assoc_link_id))
>> +			goto nla_put_failure;
>> +
>> +		if (!is_zero_ether_addr(sinfo->mld_addr) &&
>> +		    nla_put(msg, NL80211_ATTR_MLD_ADDR, ETH_ALEN,
>> +			    sinfo->mld_addr))
>>
>
> It'd be invalid, but now you could have mlo_params_valid == true &&
> is_zero_ether_addr(sinfo->mld_addr), which would lead to a very strange
> situation for userspace, it would see a link ID but no MLD address.


Only link ID and no MLD address also a valid combination. It indicates 
the connected STA is non-MLD.  User space needs the link ID information 
to determine "STA connected to which affiliated AP of the AP MLD".

>
> With the documented requirement that
> 	mlo_params_valid == (mld_addr is valid)


No, I think there is some misinterpretation of the documentation here. 
Let me submit new patch-set after adding more detailed text in the 
documentation.

Actually what I mean,  cfg80211 can consider parsing both the 
"assoc_link_id" and "mld_addr" fields when "mlo_params_valid" is true. 
"assoc_link_id" will be set to link ID of the affiliated AP on which STA 
(MLD/non-MLD) completed association. "mld_addr" will be set to MLD 
address of the STA if applicable (i.e., MLD STA) . Otherwise, will be 
set to zeros (i.e., non-MLD STA).

--

veeru


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/3] wifi: cfg80211: Extend cfg80211_update_owe_info_event() for MLD AP
  2023-01-18 15:42   ` Johannes Berg
@ 2023-01-21 10:12     ` Veerendranath Jakkam
  0 siblings, 0 replies; 9+ messages in thread
From: Veerendranath Jakkam @ 2023-01-21 10:12 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless


On 1/18/2023 9:12 PM, Johannes Berg wrote:
> On Tue, 2022-12-06 at 13:32 +0530, Veerendranath Jakkam wrote:
>> + * @assoc_link_id: Indicates link ID of the AP MLD link on which (re)association
>> + *	requested by peer. In non-MLD AP mode, it will be -1. Used only with OWE
>> + *	update event (driver to user space).
>> + * @peer_mld_addr: MLD address of the peer. For non-MLD peer, it will be all
>> + *	zeros. Used only with OWE update event (driver to user space).
>
> Similar here - why require setting assoc_link_id == -1 if
> peer_mld_address can be left zeroes to indicate non-MLO connection?


"assoc_link_id" will be set to -1 when the AP operating in non-MLD mode, 
in that case peer_mld_addr can always be ignored since STAs always 
connects in non-MLO mode only.

When the AP operating in MLD mode, "assoc_link_id" should always be 
filled irrespective of the STA is MLD or not. This is needed to indicate 
user space about the event belong which affiliated AP of the AP MLD.

"peer_mld_addr" filled to indicate whether the peer is MLD or not.

Ex: if the AP operating in MLD mode and connected STA is non-MLD then 
"peer_mld_addr" will be all zeros but still "assoc_link_id" will set 
link ID of the corresponding AP under the AP MLD.

---

veeru






^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-01-21 10:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-06  8:02 [PATCH 0/3] wifi: changes for MLD AP when SME offload to driver Veerendranath Jakkam
2022-12-06  8:02 ` [PATCH 1/3] wifi: cfg80211: Extend cfg80211_new_sta() for MLD AP Veerendranath Jakkam
2023-01-18 15:41   ` Johannes Berg
2023-01-21  8:55     ` Veerendranath Jakkam
2022-12-06  8:02 ` [PATCH 2/3] wifi: cfg80211: Extend cfg80211_update_owe_info_event() " Veerendranath Jakkam
2023-01-18 15:42   ` Johannes Berg
2023-01-21 10:12     ` Veerendranath Jakkam
2022-12-06  8:02 ` [PATCH 3/3] wifi: cfg80211: Use MLD address to indicate MLD STA disconnection Veerendranath Jakkam
2023-01-18 15:44   ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).