From: Jason Huang <Jason.Huang2@infineon.com>
To: <linux-wireless@vger.kernel.org>
Cc: Johannes Berg <johannes@sipsolutions.net>,
Arend van Spriel <arend.vanspriel@broadcom.com>,
<brcm80211@lists.linux.dev>, <wlan-kernel-dev-list@infineon.com>
Subject: [PATCH v6 1/5] wifi: nl80211: add fast roam offload extended feature
Date: Fri, 11 Sep 2026 14:56:52 +0800 [thread overview]
Message-ID: <20260911065656.1269623-2-Jason.Huang2@infineon.com> (raw)
In-Reply-To: <20260911065656.1269623-1-Jason.Huang2@infineon.com>
From: Carella Chen <carella.chen@infineon.com>
Drivers can offload FT or OKC roaming without necessarily advertising
full 802.1X 4-way handshake offload. Add an extended feature bit for
that capability and allow PMK configuration when it is present.
This gives userspace a way to provide PMK or PMK-R0 material needed by
fast roaming firmware implementations while keeping the existing 4-way
handshake offload capability unchanged.
Assisted-by: GitHub-Copilot-CLI:gpt-5.5
Signed-off-by: Carella Chen <carella.chen@infineon.com>
Signed-off-by: Jason Huang <jason.huang2@infineon.com>
---
include/uapi/linux/nl80211.h | 5 +++++
net/wireless/nl80211.c | 10 ++++++++--
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index 020387d76412..920d5e2d9966 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -7110,6 +7110,10 @@ enum nl80211_feature_flags {
* @NL80211_EXT_FEATURE_PROBE_AP: Driver supports probing the associated AP
* in STA mode using @NL80211_CMD_PROBE_PEER.
*
+ * @NL80211_EXT_FEATURE_FAST_ROAM_OFFLOAD: Driver supports fast roaming
+ * offload in station mode, including Fast Transition or Opportunistic
+ * Key Caching.
+ *
* @NUM_NL80211_EXT_FEATURES: number of extended features.
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
*/
@@ -7192,6 +7196,7 @@ enum nl80211_ext_feature_index {
NL80211_EXT_FEATURE_ROC_ADDR_FILTER,
NL80211_EXT_FEATURE_SET_KEY_LTF_SEED,
NL80211_EXT_FEATURE_PROBE_AP,
+ NL80211_EXT_FEATURE_FAST_ROAM_OFFLOAD,
/* add new features before the definition below */
NUM_NL80211_EXT_FEATURES,
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 44f2bad08670..e4850129a582 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -18434,6 +18434,7 @@ static int nl80211_set_multicast_to_unicast(struct sk_buff *skb,
static int nl80211_set_pmk(struct sk_buff *skb, struct genl_info *info)
{
struct cfg80211_registered_device *rdev = info->user_ptr[0];
+ struct wiphy *wiphy = &rdev->wiphy;
struct net_device *dev = info->user_ptr[1];
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_pmk_conf pmk_conf = {};
@@ -18442,7 +18443,9 @@ static int nl80211_set_pmk(struct sk_buff *skb, struct genl_info *info)
wdev->iftype != NL80211_IFTYPE_P2P_CLIENT)
return -EOPNOTSUPP;
- if (!wiphy_ext_feature_isset(&rdev->wiphy,
+ if (!wiphy_ext_feature_isset(wiphy,
+ NL80211_EXT_FEATURE_FAST_ROAM_OFFLOAD) &&
+ !wiphy_ext_feature_isset(wiphy,
NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X))
return -EOPNOTSUPP;
@@ -18472,6 +18475,7 @@ static int nl80211_set_pmk(struct sk_buff *skb, struct genl_info *info)
static int nl80211_del_pmk(struct sk_buff *skb, struct genl_info *info)
{
struct cfg80211_registered_device *rdev = info->user_ptr[0];
+ struct wiphy *wiphy = &rdev->wiphy;
struct net_device *dev = info->user_ptr[1];
struct wireless_dev *wdev = dev->ieee80211_ptr;
const u8 *aa;
@@ -18480,7 +18484,9 @@ static int nl80211_del_pmk(struct sk_buff *skb, struct genl_info *info)
wdev->iftype != NL80211_IFTYPE_P2P_CLIENT)
return -EOPNOTSUPP;
- if (!wiphy_ext_feature_isset(&rdev->wiphy,
+ if (!wiphy_ext_feature_isset(wiphy,
+ NL80211_EXT_FEATURE_FAST_ROAM_OFFLOAD) &&
+ !wiphy_ext_feature_isset(wiphy,
NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X))
return -EOPNOTSUPP;
--
2.25.1
next prev parent reply other threads:[~2026-09-11 6:58 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-21 7:56 [PATCH v5 0/5] brcmfmac: add FT/OKC roaming offload support Jason Huang
2026-08-21 7:56 ` [PATCH v5 1/5] wifi: nl80211: add roam offload extended feature Jason Huang
2026-08-22 18:36 ` Arend van Spriel
2026-08-30 9:14 ` Arend van Spriel
2026-09-01 7:14 ` HungTsung Huang
2026-09-01 8:56 ` Arend van Spriel
2026-09-04 8:38 ` Johannes Berg
2026-09-08 5:59 ` HungTsung Huang
2026-08-21 7:56 ` [PATCH v5 2/5] wifi: brcmfmac: detect firmware FBT and OKC support Jason Huang
2026-08-21 7:56 ` [PATCH v5 3/5] wifi: brcmfmac: add PMK programming for firmware roaming offload Jason Huang
2026-08-21 7:56 ` [PATCH v5 4/5] wifi: brcmfmac: report port authorization after offloaded roaming Jason Huang
2026-08-22 18:24 ` [PATCH v5 0/5] brcmfmac: add FT/OKC roaming offload support Arend van Spriel
2026-08-22 18:26 ` Arend van Spriel
2026-08-24 3:08 ` HungTsung Huang
2026-08-24 2:27 ` [PATCH v5 5/5] wifi: brcmfmac: advertise firmware roam " Jason Huang
2026-09-11 6:56 ` [PATCH v6 0/5] wifi: brcmfmac: add FT/OKC fast roaming " Jason Huang
2026-09-11 6:56 ` Jason Huang [this message]
2026-09-11 6:56 ` [PATCH v6 2/5] wifi: brcmfmac: detect firmware FBT and OKC support Jason Huang
2026-09-11 6:56 ` [PATCH v6 3/5] wifi: brcmfmac: add PMK programming for firmware roaming offload Jason Huang
2026-09-11 6:56 ` [PATCH v6 4/5] wifi: brcmfmac: report port authorization after offloaded roaming Jason Huang
2026-09-11 6:56 ` [PATCH v6 5/5] wifi: brcmfmac: advertise firmware fast roam offload support Jason Huang
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=20260911065656.1269623-2-Jason.Huang2@infineon.com \
--to=jason.huang2@infineon.com \
--cc=arend.vanspriel@broadcom.com \
--cc=brcm80211@lists.linux.dev \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=wlan-kernel-dev-list@infineon.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.