Linux wireless drivers development
 help / color / mirror / Atom feed
From: Benjamin Berg <benjamin@sipsolutions.net>
To: linux-wireless@vger.kernel.org
Cc: Rameshkumar Sundaram <rameshkumar.sundaram@oss.qualcomm.com>,
	Ramasamy Kaliappan <ramasamy.kaliappan@oss.qualcomm.com>,
	Jouni Malinen <j@w1.fi>,
	Jose Ignacio Tornos Martinez <jtornosm@redhat.com>,
	Benjamin Berg <benjamin.berg@intel.com>
Subject: [PATCH wireless-next 0/8] Adding NO_STA flag and reworking RX link resolution
Date: Thu, 30 Jul 2026 16:34:16 +0200	[thread overview]
Message-ID: <20260730143415.1833312-10-benjamin@sipsolutions.net> (raw)

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.

Benjamin

Changes in v1:
 * Add NAN_DATA interface handling
 * Handle NO_STA flag correctly for NAN
 * Fixed forwarding of station parameter
 * Rebase and other small fixes

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      |   2 -
 drivers/net/wireless/ath/ath12k/dp_rx.c       |  20 +-
 drivers/net/wireless/ath/ath12k/hw.h          |  20 +-
 drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c |  20 +-
 drivers/net/wireless/ath/ath12k/wifi7/dp_rx.h |  12 +-
 drivers/net/wireless/ath/ath12k/wifi7/hw.c    |   6 +-
 drivers/net/wireless/ath/ath12k/wmi.c         |   6 -
 drivers/net/wireless/intel/iwlwifi/mld/agg.c  |  17 +-
 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 -
 .../wireless/virtual/mac80211_hwsim_main.c    |   3 -
 include/net/cfg80211.h                        |   4 +
 include/net/mac80211.h                        |  25 +-
 include/uapi/linux/nl80211.h                  |   7 +
 net/mac80211/agg-tx.c                         |   4 +-
 net/mac80211/ap.c                             |   3 -
 net/mac80211/ht.c                             |   2 +-
 net/mac80211/ieee80211_i.h                    |  11 +-
 net/mac80211/iface.c                          |   7 +-
 net/mac80211/mlme.c                           |  10 +-
 net/mac80211/offchannel.c                     |  13 +-
 net/mac80211/rx.c                             | 447 ++++++++++--------
 net/mac80211/scan.c                           |  10 +-
 net/mac80211/tdls.c                           |   2 +-
 net/mac80211/tx.c                             |  10 +-
 net/wireless/nl80211.c                        |   8 +-
 33 files changed, 413 insertions(+), 357 deletions(-)

-- 
2.55.0


             reply	other threads:[~2026-07-30 14:35 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-30 14:34 Benjamin Berg [this message]
2026-07-30 14:34 ` [PATCH wireless-next 1/8] wifi: iwlwifi: use link_sta internally to the driver Benjamin Berg
2026-07-30 14:34 ` [PATCH wireless-next 2/8] wifi: mac80211: change public RX API to use link stations Benjamin Berg
2026-07-30 14:34 ` [PATCH wireless-next 3/8] wifi: mac80211: refactor RX link_id and station handling Benjamin Berg
2026-07-30 14:34 ` [PATCH wireless-next 4/8] wifi: mac80211: rework RX packet handling Benjamin Berg
2026-07-30 14:34 ` [PATCH wireless-next 5/8] wifi: cfg80211: add attribute for TX/RX denoting there is no station Benjamin Berg
2026-07-30 14:34 ` [PATCH wireless-next 6/8] wifi: mac80211: report to cfg80211 when no STA is known for a frame Benjamin Berg
2026-07-30 14:34 ` [PATCH wireless-next 7/8] wifi: mac80211: pass station to ieee80211_tx_skb_tid Benjamin Berg
2026-07-30 14:34 ` [PATCH wireless-next 8/8] wifi: mac80211: pass error station if non-STA transmit was requested Benjamin 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=20260730143415.1833312-10-benjamin@sipsolutions.net \
    --to=benjamin@sipsolutions.net \
    --cc=benjamin.berg@intel.com \
    --cc=j@w1.fi \
    --cc=jtornosm@redhat.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=ramasamy.kaliappan@oss.qualcomm.com \
    --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