From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f99.google.com (mail-pj1-f99.google.com [209.85.216.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 69E94137750 for ; Sat, 22 Aug 2026 18:37:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.99 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787423821; cv=none; b=WcuMRXHgWOBlnG/louCgTROCJNCZP0x9c4qismn2nynPJMf6kgdT4eXOabhHJkI5U6/3RYWKF2GHezbn0ivj0duPgcv4ik7Mn9AAruraHSpfn9L3deMjfswCuRd4sVTDbA0O0dhwqaUD2bsitdvPpFkYoKfYxSZ4IvLYLz4Lei4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787423821; c=relaxed/simple; bh=/bLgPtanEHCqRSINFQyyFks+a32vTas2v53/QbfupqQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=K13n4OupW8IUPRySX+q9lPvTAkjmHZudR8TBt5j/I7eHfsoVg09tU+ajjXHjhqnDVtAw1QYV7HAlo0PCDVIyxHkT2h0aO9F6sYINWAbxG9NSS9oiFf6TKlzRkv1e+ZyLmlj30CeYWLEIIzq8Vec99vpAjdSQMXIO5aECZ+1KL0U= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=FBATxQrN; arc=none smtp.client-ip=209.85.216.99 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="FBATxQrN" Received: by mail-pj1-f99.google.com with SMTP id 98e67ed59e1d1-38dfe7eb825so1750490a91.0 for ; Sat, 22 Aug 2026 11:37:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787423820; x=1788028620; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:dkim-signature:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=0BrUF3YDllozzZMX6EDMXsk/rZCZ4fUUH57/usEwGdc=; b=FrteTvbPRx2ooXgM18hSlrT0keIRA6rVRxGGF0PjxyoYR7m2myLFgHjwrcaGI6+6oo 8MS0ViBPzmRNepDQ8Tw9oGwxmZRv0cYAT9wY8vPwUBLVLZImTCX41JdpNysXHh7Q9n1y zjxau1KG1z+pItGqr4ICInD3RhBNMYpbkgVJ2pTfe+GBXpPrYyfI5M5Mbkww+N+h74AW 0/w0fyKjhBEH1h5WS3l+SaKwU4yneuXdoo5iY1rNzy0JT6iiRIdoBuwV2orVlz3+R2Ea BuT56bMXe+nYuyCUbF4QTA29eHlG2gtrTPGQahao3WVW/i5MDM4itmboUHuQgIaTvUX4 NuCA== X-Forwarded-Encrypted: i=1; AHgh+RpFkLOHhzf0NOdvYexAxn5mp2UD5ZdOKNZPbXjYXNskrmkpu7iHLR6aAKcz675QuHE0LK1KYRKYDE8I36g=@vger.kernel.org X-Gm-Message-State: AFuF++kDV8A5yx508NwOb5mWCyCaUIl5EjldKGslqh1lHrdVrU/4uLqY LClMXpz2wlgX29+RrtU2IV8D8FIj2MsAefqg6m5bx7ONjI+l/qpI42f45OpwJLZPWWnKKRQC8ZS nig8x6viOrAaeLDBZ9gALB8B7fUvsxxVC0oJzwO+D89CklGpwVSXyiW4b9pMwQ2AUaEw2kesEo3 UUODv3+uCtAgAgsSJZcvdHF/5INLp1Erd+FlrOhM59hNtfS8grjMruE6HYSws64hu7TFSXIFXiz GFkO32Ork8Z28dXy3xBohwzIg== X-Gm-Gg: AR+sD12dtKfgyKnQlh6eEIhyuPs+MuJrp38Hm40w3Nvt8Xqhz+U40vyXCAJ5nARH5Lh WF8Zvi7GThcRmONJjiqv1kxRCmQXxcQsALRuYtdUXiFgl6wBRGpNWssGkfsUl6tB+PsBNu7tiOo 72hXmoMXlbZmNZPYDXoRy4QE3tM8vmdR58vu8G7n7iiUdvP/2vDdcN0/NlwFgyPDydIZqbym1nj 70pARjMIc7e+o4LtLeMq+Jas1g4tXaZWJE1vbc2J5XLDfRr7Y6SVLQqsGbUqB0dvuFDi5Z5sAUk N14Li887Kodw0nclCn38OE7S2DhyHRcE/mvQW4mgZeado4KSpfTrjHJ5QiTH46O+iK0g1CAvL0T Ow5UZttW4KbyPUGwDVnNv+V5jjHUCTs2Q8SO8j+rq7JfEqYTKyTAUuPAXfM5HfnK0XqNtdlf4vF +LVnvJOSjSA5p8cscQitkjyAAqwHwIL5Pz6CUIG5s= X-Received: by 2002:a17:90b:1a85:b0:38e:250b:122f with SMTP id 98e67ed59e1d1-395c3aa9e26mr26109864a91.16.1787423819615; Sat, 22 Aug 2026 11:36:59 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-23.dlp.protect.broadcom.com. [144.49.247.23]) by smtp-relay.gmail.com with ESMTPS id 98e67ed59e1d1-395e494f5bdsm1361104a91.1.2026.08.22.11.36.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 22 Aug 2026 11:36:59 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2cfc52ddc55so33141195ad.3 for ; Sat, 22 Aug 2026 11:36:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1787423818; x=1788028618; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=0BrUF3YDllozzZMX6EDMXsk/rZCZ4fUUH57/usEwGdc=; b=FBATxQrNwQIumEodLFvPWlksPnR7+wwj8AW0cWdkekGU6Lu5ktj3P9pvmlvCfi0i9z SclTUbQg44hyBktxb51UoafV1Mwc5bKMB5jI9vZB1+8EC2TdDAgUIsV2LuTKS2Re+Aa1 QlhZ2jRLA51qMSyYY/oS/MiKYj6V/pk4MXlaI= X-Forwarded-Encrypted: i=1; AHgh+RpOhtMn0KLgcvFYTEYUn3Ay48ZuwkHO/fl8rAAiyA+pv/p5jyb9k02L52UlsF+MIbOgY6e0Fgt6E7Xvdew=@vger.kernel.org X-Received: by 2002:a17:903:3804:b0:2cc:777f:d67c with SMTP id d9443c01a7336-2d64b0c5704mr294200505ad.13.1787423817770; Sat, 22 Aug 2026 11:36:57 -0700 (PDT) X-Received: by 2002:a17:903:3804:b0:2cc:777f:d67c with SMTP id d9443c01a7336-2d64b0c5704mr294199955ad.13.1787423817307; Sat, 22 Aug 2026 11:36:57 -0700 (PDT) Received: from [10.229.42.78] ([192.19.176.227]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327f90c0dd3sm9258201eec.7.2026.08.22.11.36.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 22 Aug 2026 11:36:56 -0700 (PDT) Message-ID: <382c3dbb-ff32-4e62-9b79-c6e4cc6273ef@broadcom.com> Date: Sat, 22 Aug 2026 20:36:53 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 1/5] wifi: nl80211: add roam offload extended feature To: Jason Huang , linux-wireless@vger.kernel.org Cc: johannes.berg@intel.com, johannes@sipsolutions.net, hsin-hung.li@cypress.com, linux-kernel@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, wlan-kernel-dev-list@infineon.com, jeff.johnson@oss.qualcomm.com, Carella Chen References: <20260821-upstream-wireless-next-main-jason-11r-support-v1-v5-0-eeab4fda0f31@infineon.com> <20260821-upstream-wireless-next-main-jason-11r-support-v1-v5-1-eeab4fda0f31@infineon.com> Content-Language: en-US From: Arend van Spriel In-Reply-To: <20260821-upstream-wireless-next-main-jason-11r-support-v1-v5-1-eeab4fda0f31@infineon.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e On 21/08/2026 09:56, Jason Huang wrote: > From: Carella Chen > > 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 firmware roaming implementations while keeping the existing 4-way > handshake offload capability unchanged. > > Assisted-by: GitHub-Copilot-CLI:gpt-5.5 > Signed-off-by: Carella Chen > Signed-off-by: Jason Huang > --- > include/uapi/linux/nl80211.h | 4 ++++ > net/wireless/nl80211.c | 7 +++++-- > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h > index 020387d76412..9f8d9e3d5990 100644 > --- a/include/uapi/linux/nl80211.h > +++ b/include/uapi/linux/nl80211.h > @@ -7110,6 +7110,9 @@ 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_ROAM_OFFLOAD: Driver supports Fast Transition or Please call it NL80211_EXT_FEATURE_FAST_ROAM_OFFLOAD or simply _FAST_ROAMING if the name is getting too long. As long as it is clear this is not for regular roaming scenario. > + * Opportunistic Key Caching roaming offload in station mode. > + * > * @NUM_NL80211_EXT_FEATURES: number of extended features. > * @MAX_NL80211_EXT_FEATURES: highest extended feature index. > */ > @@ -7192,6 +7195,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_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..15731440c57a 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,8 +18443,10 @@ 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, > - NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X)) > + if (!wiphy_ext_feature_isset(wiphy, > + NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X) && > + !wiphy_ext_feature_isset(wiphy, > + NL80211_EXT_FEATURE_ROAM_OFFLOAD)) Ah. _FAST_ROAM_OFFLOAD is not longer than the other ext_feature checked here. > return -EOPNOTSUPP; > > if (!info->attrs[NL80211_ATTR_MAC] || !info->attrs[NL80211_ATTR_PMK]) >