public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
From: Ramasamy Kaliappan <ramasamy.kaliappan@oss.qualcomm.com>
To: Benjamin Berg <benjamin@sipsolutions.net>,
	linux-wireless@vger.kernel.org,
	Jouni Malinen <jouni.malinen@oss.qualcomm.com>
Cc: Rameshkumar Sundaram <rameshkumar.sundaram@oss.qualcomm.com>,
	Benjamin Berg <benjamin.berg@intel.com>
Subject: Re: [RFC PATCH v2 0/8] Adding NO_STA flag and reworking RX link resolution
Date: Mon, 27 Apr 2026 15:32:29 +0530	[thread overview]
Message-ID: <01295135-6bcf-4567-869b-75597649d11c@oss.qualcomm.com> (raw)
In-Reply-To: <20260223123818.384184-10-benjamin@sipsolutions.net>



On 2/23/2026 6:08 PM, Benjamin Berg wrote:
> From: Benjamin Berg <benjamin.berg@intel.com>
> 
> Hi,
> 
> This patchset refactors the RX link resolution a bit to fix some issues
> where mac80211 might accept frames on the wrong link and incorrectly
> translate the address. It also adds a new NL80211_ATTR_FRAME_CMD_NO_STA
> flag so that userspace can know whether address translation was done by
> the kernel on RX and can also prevent address translation for management
> frames during TX.
> 
> This together should be enough to fix the existing issues in hostapd
> where stations that are still associated try to authenticate again but
> hostapd for example ends up sending the frame to an old link address.
> 
> I would appreciate if you test the patches and work on the hostapd side.
> Note that I have not properly verified the new nl80211 API, so it could
> well be that I missed something.
> 
> Benjamin
> 
> Changes in RFCv2:
>   * Port other drivers to new API (untested)
>   * Fix a checkpatch warning
> 
> Benjamin Berg (8):
>    wifi: iwlwifi: use link_sta internally to the driver
>    wifi: mac80211: change public RX API to use link stations
>    wifi: mac80211: refactor RX link_id and station handling
>    wifi: mac80211: rework RX packet handling
>    wifi: cfg80211: add attribute for TX/RX denoting there is no station
>    wifi: mac80211: report to cfg80211 when no STA is known for a frame
>    wifi: mac80211: pass station to ieee80211_tx_skb_tid
>    wifi: mac80211: pass error station if non-STA transmit was requested
> 
>   drivers/net/wireless/ath/ath11k/dp_rx.c       |   2 +-
>   drivers/net/wireless/ath/ath12k/dp_mon.c      |  18 +-
>   drivers/net/wireless/ath/ath12k/dp_rx.c       |  15 +-
>   drivers/net/wireless/intel/iwlwifi/mld/agg.c  |  21 +-
>   drivers/net/wireless/intel/iwlwifi/mld/agg.h  |   4 +-
>   drivers/net/wireless/intel/iwlwifi/mld/rx.c   |  50 +-
>   drivers/net/wireless/intel/iwlwifi/mld/rx.h   |   2 +-
>   .../wireless/intel/iwlwifi/mld/tests/agg.c    |   7 +-
>   drivers/net/wireless/intel/iwlwifi/mvm/rx.c   |   2 +-
>   drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c |   6 +-
>   drivers/net/wireless/mediatek/mt76/mac80211.c |  22 +-
>   drivers/net/wireless/realtek/rtw89/core.c     |   6 -
>   drivers/net/wireless/virtual/mac80211_hwsim.c |   3 -
>   include/net/cfg80211.h                        |   4 +
>   include/net/mac80211.h                        |  25 +-
>   include/uapi/linux/nl80211.h                  |   7 +
>   net/mac80211/agg-tx.c                         |   6 +-
>   net/mac80211/eht.c                            |   3 -
>   net/mac80211/ht.c                             |   4 +-
>   net/mac80211/ieee80211_i.h                    |  14 +-
>   net/mac80211/iface.c                          |   7 +-
>   net/mac80211/mlme.c                           |   9 +-
>   net/mac80211/offchannel.c                     |  13 +-
>   net/mac80211/rx.c                             | 436 ++++++++++--------
>   net/mac80211/scan.c                           |  10 +-
>   net/mac80211/tdls.c                           |   4 +-
>   net/mac80211/tx.c                             |   8 +-
>   net/wireless/nl80211.c                        |   8 +-
>   28 files changed, 390 insertions(+), 326 deletions(-)
> 

The hostapd changes were made and validated against the relevant test 
cases. During testing, we observed some complexities in specific 
scenarios particularly when a Non‑AP STA first associates as L1 (M1)
and then reappears as L1 (M2) during the authentication/association phase.
In this case, on the RX path, when an authentication frame for L1 (M2 in 
the ML IE) is received, the driver finds the existing STA L1 (M1) and 
therefore does not add the NO_STA attribute.

As a result, the complexity of handling authentication and association 
frames increases within the user‑space hostapd application. While 
processing the authentication frame, hostapd parses the ML IE
but fails to create a new STA entry for L1 (M2) in the driver, 
especially in scenarios involving different MLD addresses.

To simplify this handling, we would like to explore an alternative 
approach that avoids address translation for management frames 
(authentication, association, and reassociation),
regardless of whether the STA already exists.

However, this approach may introduce backward compatibility concerns 
when either the driver or hostapd is not updated.
To address this, we propose introducing a capability indication 
mechanism between the driver and user space (driver ↔ hostapd).
Based on the advertised capabilities, mac80211 can then skip 
management‑frame address translation accordingly.

Benjamin and Jouni, Could you please help share your thoughts on this?

Thanks,
Ramasamy

  parent reply	other threads:[~2026-04-27 10:03 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-23 12:38 [RFC PATCH v2 0/8] Adding NO_STA flag and reworking RX link resolution Benjamin Berg
2026-02-23 12:38 ` [RFC PATCH v2 1/8] wifi: iwlwifi: use link_sta internally to the driver Benjamin Berg
2026-02-23 12:38 ` [RFC PATCH v2 2/8] wifi: mac80211: change public RX API to use link stations Benjamin Berg
2026-02-24 17:41   ` Ramasamy Kaliappan
2026-02-25  9:19     ` Berg, Benjamin
2026-02-24 18:22   ` Jeff Johnson
2026-02-23 12:38 ` [RFC PATCH v2 3/8] wifi: mac80211: refactor RX link_id and station handling Benjamin Berg
2026-02-23 12:38 ` [RFC PATCH v2 4/8] wifi: mac80211: rework RX packet handling Benjamin Berg
2026-02-23 12:38 ` [RFC PATCH v2 5/8] wifi: cfg80211: add attribute for TX/RX denoting there is no station Benjamin Berg
2026-02-23 12:38 ` [RFC PATCH v2 6/8] wifi: mac80211: report to cfg80211 when no STA is known for a frame Benjamin Berg
2026-02-23 12:38 ` [RFC PATCH v2 7/8] wifi: mac80211: pass station to ieee80211_tx_skb_tid Benjamin Berg
2026-02-24 17:45   ` Ramasamy Kaliappan
2026-02-25  9:28     ` Benjamin Berg
2026-02-23 12:38 ` [RFC PATCH v2 8/8] wifi: mac80211: pass error station if non-STA transmit was requested Benjamin Berg
2026-02-24 17:47   ` Ramasamy Kaliappan
2026-02-25  9:15     ` Benjamin Berg
2026-02-24 17:35 ` [RFC PATCH v2 0/8] Adding NO_STA flag and reworking RX link resolution Ramasamy Kaliappan
2026-04-27 10:02 ` Ramasamy Kaliappan [this message]
2026-04-27 11:13   ` Benjamin Berg
2026-04-27 14:24   ` Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01295135-6bcf-4567-869b-75597649d11c@oss.qualcomm.com \
    --to=ramasamy.kaliappan@oss.qualcomm.com \
    --cc=benjamin.berg@intel.com \
    --cc=benjamin@sipsolutions.net \
    --cc=jouni.malinen@oss.qualcomm.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=rameshkumar.sundaram@oss.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox