]> git.ipfire.org Git - thirdparty/hostap.git/log
thirdparty/hostap.git
21 months agoWNM: Choose the best available BSS, not just the first one
Ben Greear [Thu, 27 Jul 2023 16:02:11 +0000 (09:02 -0700)] 
WNM: Choose the best available BSS, not just the first one

This should allow STA to make better choice about which BSS to roam to.

Use estimated throughput as comparison value. Can improve the estimated
throughput calculation to improve this selection criteria if wanted in
the future.

Signed-off-by: Ben Greear <greearb@candelatech.com>
21 months agoSync with wireless-next.git include/uapi/linux/nl80211.h
Jouni Malinen [Sat, 28 Oct 2023 15:39:48 +0000 (18:39 +0300)] 
Sync with wireless-next.git include/uapi/linux/nl80211.h

This brings in nl80211 definitions as of 2023-10-23.

Signed-off-by: Jouni Malinen <j@w1.fi>
21 months agodbus: Report guard interval and dual carrier modulation
David Ruth [Wed, 19 Jul 2023 17:29:15 +0000 (17:29 +0000)] 
dbus: Report guard interval and dual carrier modulation

Propagate guard interval as a double value and dual carrier modulation
as a boolean over D-Bus.

Signed-off-by: David Ruth <druth@chromium.org>
21 months agoAbort ongoing scan on DISCONNECT
Chaitanya Tata [Mon, 17 Jul 2023 19:51:37 +0000 (01:21 +0530)] 
Abort ongoing scan on DISCONNECT

Along with canceling queued scan, abort ongoing scan if any, this
ensures Wi-Fi interface is in usable state after disconnect is issued,
else subsequent scan after disconnect might fail with EBUSY.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
21 months agol2_packet_freebsd: Enable receiving priority tagged (VID=0) frames
R. Christian McDonald [Fri, 9 Jun 2023 16:27:12 +0000 (16:27 +0000)] 
l2_packet_freebsd: Enable receiving priority tagged (VID=0) frames

Certain internet service providers transmit VLAN 0 priority tagged
EAPOL frames from the ONT towards the residential gateway. VID 0
should be ignored, and the frame processed according to the priority
set in the 802.1P bits and the encapsulated EtherType (i.e., EAPOL).

The pcap filter utilized by l2_packet_* is inadquate for this use case.

Here we modify the pcap filter on FreeBSD to accept both unencapsulated
and encapsulated (with VLAN 0) EAPOL EtherTypes. This preserves the
original filter behavior while also matching on encapsulated EAPOL.

Additional work is required to support this handling on other platforms.

We also modify the rx_receive handler to offset the packet buffer
and length when handling dot1q encapsulated frames so the existing
packet parsing code works as-is.

Signed-off-by: R. Christian McDonald <rcm@rcm.sh>
Sponsored by: Rubicon Communications, LLC ("Netgate")

21 months agoWNM: Lower rankings of current AP if disassociation imminent bit set
Po-Hao Huang [Fri, 9 Jun 2023 09:26:43 +0000 (17:26 +0800)] 
WNM: Lower rankings of current AP if disassociation imminent bit set

If the current AP advertises disassociation imminent, move it to the
back of the candidate list so we don't select it again while other
candidates are available.

Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
21 months agoP2P: Remove pending p2p-listen radio work on stopping listen
Jouni Malinen [Sat, 28 Oct 2023 14:23:25 +0000 (17:23 +0300)] 
P2P: Remove pending p2p-listen radio work on stopping listen

Some kind of race condition seemed to be hit at least in test sequence
"p2p_ext_vendor_elem_invitation pasn_comeback_after_0_sae" where the P2P
invitation response could have been received just after having scheduled
a new p2p-listen radio work, but before that work had been started. In
the case of accepted invitation, this could result in unnecessary extra
delay when that p2p-listen work ended up getting started at the exact
time that the local device was starting GO.

Avoid this race condition by removing the pending p2p-listen radio work
when P2P listen is stopped.

Signed-off-by: Jouni Malinen <j@w1.fi>
21 months agohostapd: Update op_class after AP channel switching
Michael-CY Lee [Fri, 25 Aug 2023 02:14:06 +0000 (10:14 +0800)] 
hostapd: Update op_class after AP channel switching

Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
21 months agoUse 6 GHz default noise when estimating 6 GHz SNR
Kaidong Wang [Mon, 28 Aug 2023 23:58:32 +0000 (23:58 +0000)] 
Use 6 GHz default noise when estimating 6 GHz SNR

wpa_supplicant underestimates 6 GHz SNR as it assumes 2 GHz default
noise in the estimation.

Use 6 GHz default noise when estimating 6 GHz SNR.

Signed-off-by: Kaidong Wang <kaidong@chromium.org>
21 months agoACS: Fix typo in bw_40 frequency array
Michael-CY Lee [Tue, 5 Sep 2023 01:43:25 +0000 (09:43 +0800)] 
ACS: Fix typo in bw_40 frequency array

The range for the 5 GHz channel 118 was encoded with an incorrect
channel number.

Fixes: ed8e13decc71 (ACS: Extract bw40/80/160 freqs out of acs_usable_bwXXX_chan())
Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
21 months agotests: hwsim: Add more tracing
Johannes Berg [Mon, 25 Sep 2023 07:20:49 +0000 (09:20 +0200)] 
tests: hwsim: Add more tracing

Add SKB tracing (which shows now why/where a frame was dropped
in the stack), and also -T for stack trace at each event.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: ap_mixed_security: Give AP time to set up stations
Johannes Berg [Mon, 25 Sep 2023 07:20:57 +0000 (09:20 +0200)] 
tests: ap_mixed_security: Give AP time to set up stations

Give the AP some time to set up stations fully (in the
kernel) so that traffic forwarding will work.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: GAS: Wait for STA before ANQP_GET
Johannes Berg [Mon, 25 Sep 2023 07:20:56 +0000 (09:20 +0200)] 
tests: GAS: Wait for STA before ANQP_GET

We can't do ANQP when the STA is connected but the AP hasn't fully set
up the STA yet, so wait on the AP side before continuing.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: ap_open_poll_sta_no_ack: Fix mgmt-rx race
Johannes Berg [Mon, 25 Sep 2023 07:20:55 +0000 (09:20 +0200)] 
tests: ap_open_poll_sta_no_ack: Fix mgmt-rx race

We need to wait for the MGMT-RX event before disabling
ext_mgmt_frame_handling again, otherwise we might be disabling it and
hostapd only receives the deauth frame after we already disable it,
defeating the purpose of the test.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: ap_pmf: Wait for STA appropriately
Johannes Berg [Mon, 25 Sep 2023 07:20:54 +0000 (09:20 +0200)] 
tests: ap_pmf: Wait for STA appropriately

With PMF, we cannot do even deauth unless we wait for the STA to have
fully connected on the AP side, the STA thinking it has isn't sufficient
since it immediately says so after M4. Add wait_sta() before disconnect,
and also before SA_QUERY.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: pmksa_cache: Wait for STA on AP side before query
Johannes Berg [Mon, 25 Sep 2023 07:20:53 +0000 (09:20 +0200)] 
tests: pmksa_cache: Wait for STA on AP side before query

Before querying the PMKSA cache, wait for the STA to have appeared on
the AP side, otherwise scheduling differences may have us asking when
the STA thinks it's connected but the AP hasn't fully processed that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agoDon't disconnect on scan_freq update from control interface
Johannes Berg [Mon, 25 Sep 2023 07:20:52 +0000 (09:20 +0200)] 
Don't disconnect on scan_freq update from control interface

It doesn't make sense to disconnect on updates to the
network's scan_freq, and in fact doing so causes some
(timing-/scheduling-dependent) test failures.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: ap_tdls: Wait before connectivity checks
Johannes Berg [Mon, 25 Sep 2023 07:20:51 +0000 (09:20 +0200)] 
tests: ap_tdls: Wait before connectivity checks

All processes need to have a bit of time to mark the kernel STAs
authorized, otherwise traffic may fail. Give them some time, and also
use check_connectivity() in connectivity() since it's the same check,
just different arguments.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: Blocked rekey: Give slightly more time
Johannes Berg [Mon, 25 Sep 2023 07:20:50 +0000 (09:20 +0200)] 
tests: Blocked rekey: Give slightly more time

Due to scheduling changes, we don't always now succeed to reconnect in
exactly 1 second, it might take 1.01. Give it 1.1 for a bit more leeway,
it's not clear why it should be exactly 1 second anyway.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: ap_hs20: Add more wait_sta()
Johannes Berg [Mon, 25 Sep 2023 07:20:48 +0000 (09:20 +0200)] 
tests: ap_hs20: Add more wait_sta()

We should always wait_sta() so that we know we can even deauth next,
otherwise the key might not be installed yet by the time we try to
connect to the next AP.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: ap_hs20_connect_no_full_match: Add appropriate waits
Johannes Berg [Mon, 25 Sep 2023 07:20:47 +0000 (09:20 +0200)] 
tests: ap_hs20_connect_no_full_match: Add appropriate waits

We need to appropriately wait for the STA to connect/disconnect before
continuing with the test, add that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: autogo_legacy: Wait for 4-way handshake
Johannes Berg [Mon, 25 Sep 2023 07:20:46 +0000 (09:20 +0200)] 
tests: autogo_legacy: Wait for 4-way handshake

We need to wait for the 4-way handshake to be completed on the GO side,
so the GO will actually have marked the station as authorized and will
forward packets.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: RRM: Wait for AP STA before requests to AP
Johannes Berg [Mon, 25 Sep 2023 07:20:45 +0000 (09:20 +0200)] 
tests: RRM: Wait for AP STA before requests to AP

Before requesting anything about the specific STA from the AP wait for
it to show up, so that things don't fail if the hostapd process didn't
yet get time to process things.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: PASN: Try get_ptksa() from AP a few times
Johannes Berg [Mon, 25 Sep 2023 07:20:44 +0000 (09:20 +0200)] 
tests: PASN: Try get_ptksa() from AP a few times

We wait for the PASN auth to complete on the wpas side, but there's no
indication of this on the AP side. So if scheduling ordering is bad, we
can ask the AP for the PTKSA cache before it even received the frame
from the kernel and created the PTKSA entry.

To fix this, try this a few times, to see if it becomes available.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: persistent_go_client_list: Ignore client order
Johannes Berg [Mon, 25 Sep 2023 07:20:43 +0000 (09:20 +0200)] 
tests: persistent_go_client_list: Ignore client order

Clients could connect in a different order depending on
timing differences, don't check for the order here.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: FT/RRM: Wait for STA before check_beacon_req()
Johannes Berg [Mon, 25 Sep 2023 07:20:42 +0000 (09:20 +0200)] 
tests: FT/RRM: Wait for STA before check_beacon_req()

check_beacon_req() will request from hostapd to request a beacon
report from the STA, but that only works if it already knows about
the STA. Due to scheduling issues, it may not know even if wpa_s
reports it has successfully connected, so also wait for the STA to
show up in hostapd before check_beacon_req().

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: Wait for radio work to start after DPP_LISTEN command
Johannes Berg [Mon, 25 Sep 2023 07:20:41 +0000 (09:20 +0200)] 
tests: Wait for radio work to start after DPP_LISTEN command

Since DPP listen is a radio work, it doesn't start immediately and
then we can end up missing whatever happens next in the test. Wait
for the radio work to start before continuing the test.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
21 months agotests: Multi-AP backhaul to backhaul+fronthaul BSS
Stefan Schake [Wed, 18 Oct 2023 09:21:38 +0000 (11:21 +0200)] 
tests: Multi-AP backhaul to backhaul+fronthaul BSS

Signed-off-by: Stefan Schake <stefan.schake@devolo.de>
21 months agoEnsure WDS is available on combined backhaul and fronthaul APs
Stefan Schake [Wed, 18 Oct 2023 09:21:38 +0000 (11:21 +0200)] 
Ensure WDS is available on combined backhaul and fronthaul APs

It is valid to configure an AP to be both backhaul and
fronthaul (multi_ap=3), so we should not test for a missing
fronthaul flag but instead test directly for backhaul capability.

Signed-off-by: Stefan Schake <stefan.schake@devolo.de>
21 months agodefconfig: Remove remaining reference to IEEE80211W symbol
Koen Vandeputte [Tue, 24 Oct 2023 12:16:13 +0000 (14:16 +0200)] 
defconfig: Remove remaining reference to IEEE80211W symbol

This symbol was removed in an earlier commit. Remove this leftover which
was forgotten then.

Fixes: 7d2ed8bae ("Remove CONFIG_IEEE80211W build parameter")
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
21 months agotests: More thorough testing of PMF and need for association comeback
Jouni Malinen [Sat, 28 Oct 2023 08:34:35 +0000 (11:34 +0300)] 
tests: More thorough testing of PMF and need for association comeback

Signed-off-by: Jouni Malinen <j@w1.fi>
21 months agoCheck the need for SA Query earlier in association processing
Jouni Malinen [Sat, 28 Oct 2023 08:31:42 +0000 (11:31 +0300)] 
Check the need for SA Query earlier in association processing

The way these checks were done for WPS enabled APs were unnecessarily
complex and missed one of the cases. Simplify this by doing the check
only once and do that earlier in the process to minimize changes to STA
state.

Fixes: a7f55f7f68f1 ("WPS: Enable SA Query checks for WPS AP")
Signed-off-by: Jouni Malinen <j@w1.fi>
21 months agotests: wpa_supplicant AP with all possible 20 MHz PRI for 80 MHz channel
Jouni Malinen [Fri, 27 Oct 2023 10:49:48 +0000 (13:49 +0300)] 
tests: wpa_supplicant AP with all possible 20 MHz PRI for 80 MHz channel

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
21 months agoUpdate correct VHT/HE/EHT mode in channel switch event
Xinyue Ling [Thu, 8 Jun 2023 05:45:13 +0000 (13:45 +0800)] 
Update correct VHT/HE/EHT mode in channel switch event

Currently if ch_switch_vht_config is present, only ieee80211ac config
will be updated in hostapd_config and ieee80211ax/ieee80211be config may
be wrong. Fix this by adding handlings for ch_switch_he_config and
ch_switch_eht_config as well.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
21 months agoAdd NULL check for pmksa cache free_cb() callback
Vinay Gannevaram [Wed, 11 Oct 2023 11:02:23 +0000 (16:32 +0530)] 
Add NULL check for pmksa cache free_cb() callback

free_cb can be NULL during the pmksa_cache_auth_init() from the modules
using libpasn.so. So check it explicitly before dereferencing.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
21 months agotests: VHT80 and channel 161
Jouni Malinen [Thu, 26 Oct 2023 10:52:54 +0000 (13:52 +0300)] 
tests: VHT80 and channel 161

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
21 months agotests: EHT+MLO AP with SAE and transition mode
Jouni Malinen [Wed, 25 Oct 2023 11:06:23 +0000 (14:06 +0300)] 
tests: EHT+MLO AP with SAE and transition mode

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
21 months agotests: Remove exception for SAE MLD testing
Jouni Malinen [Wed, 25 Oct 2023 10:53:35 +0000 (13:53 +0300)] 
tests: Remove exception for SAE MLD testing

hostapd now has support for SAE in MLD cases, so there is no need to
maintain this exception that allowed the test case to pass even if the
connection failed.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
21 months agoSAE: Remove current PMKSA from driver after reauth threshold is passed
Veerendranath Jakkam [Wed, 27 Sep 2023 05:57:13 +0000 (11:27 +0530)] 
SAE: Remove current PMKSA from driver after reauth threshold is passed

wpa_supplicant postpones expired PMKSA deletion untillassociation is
lost for SAE to avoid forced disconnection. But during this time the
driver may use the expired PMKSA for reassociation with the current
connected AP.

Remove the current PMKSA for SAE from the driver after reauth threshold
is passed when the driver takes care of BSS selection.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
22 months agoDouble the first group rekey timeout if over 100 associated stations
Sai Pratyusha Magam [Fri, 29 Sep 2023 15:27:05 +0000 (20:57 +0530)] 
Double the first group rekey timeout if over 100 associated stations

Increase the first group rekey timeout from 500 ms to 1000 ms when the
number of associated stations is greater than 100. This is to avoid
client disconnections due to group handshake timeout in multiclient
scenarios where it might take more than 500 ms to be able deliver Group
Key msg 1/2 to all associated STAs.

Signed-off-by: Sai Pratyusha Magam <quic_smagam@quicinc.com>
22 months agoReserve QCA vendor sub command id 234
Purushottam Kushwaha [Fri, 29 Sep 2023 09:27:28 +0000 (14:57 +0530)] 
Reserve QCA vendor sub command id 234

This is reserved for QCA use.

Signed-off-by: Purushottam Kushwaha <quic_pkushwah@quicinc.com>
22 months agoFILS: EHT additions
Aloka Dixit [Mon, 24 Jul 2023 23:16:26 +0000 (16:16 -0700)] 
FILS: EHT additions

Add support for EHT phy index and maximum NSS as per IEEE P802.11be/D4.0,
9.6.7.36 and 9.4.2.313.4.

Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
22 months agoFILS: Fix NSS calculation for HE mode
Aloka Dixit [Mon, 24 Jul 2023 23:16:25 +0000 (16:16 -0700)] 
FILS: Fix NSS calculation for HE mode

Maximum NSS calculation for HE mode checks if both Tx and Rx support
a given NSS. Modify it to instead check if either of these two support
the given NSS.

Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
22 months agoFILS: Rename local variable to indicate HE mode
Aloka Dixit [Mon, 24 Jul 2023 23:16:24 +0000 (16:16 -0700)] 
FILS: Rename local variable to indicate HE mode

Rename the local variable mcs_nss_size to he_mcs_nss_size in
hostapd_fils_discovery_cap() and hostapd_gen_fils_discovery_nss()
to limit its usage to HE mode.

Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
22 months agoFILS: Move maximum NSS determination to a new function
Aloka Dixit [Mon, 24 Jul 2023 23:16:23 +0000 (16:16 -0700)] 
FILS: Move maximum NSS determination to a new function

Create a separate function to set the maximum number of spatial streams
in FILS discovery frames.

Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
22 months agoFILS: Move phy index determination to new function
Aloka Dixit [Mon, 24 Jul 2023 23:16:22 +0000 (16:16 -0700)] 
FILS: Move phy index determination to new function

Move the phy index determination for FILS discovery frames to a new
function without changing the functionality. HE support is mandatory for
operating in the 6 GHz band hence the phy index will always be set to
FD_CAP_PHY_INDEX_HE for this band.

Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
22 months agoDPP: Use CONFIG_SAE consistently to avoid a compiler warning
Jouni Malinen [Fri, 29 Sep 2023 14:07:56 +0000 (17:07 +0300)] 
DPP: Use CONFIG_SAE consistently to avoid a compiler warning

The sae_password_entry is used in this function only if CONFIG_SAE is
defined, so declare this variable only under the same condition.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
22 months agoAP MLD: Add missing CONFIG_SAE checks
Aloka Dixit [Mon, 24 Jul 2023 20:33:01 +0000 (13:33 -0700)] 
AP MLD: Add missing CONFIG_SAE checks

Fix the compilation errors caused by missing checks for CONFIG_SAE.

Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
22 months agoUpdate Wide Bandwidth Channel Switch element
Yuvarani V [Wed, 27 Sep 2023 07:22:03 +0000 (12:52 +0530)] 
Update Wide Bandwidth Channel Switch element

Update Wide Bandwidth Channel Switch element as per IEEE
P802.11-REVme/D4.0, 9.4.2.159 (Wide Bandwidth Channel Switch element)
and Table 9-314 (VHT Operation Information subfields).

Update New Channel Width, New Channel Center Frequency Segment 0, and
New Channel Center Frequency Segment 1 fields as per IEEE
P802.11-REVme/D4.0 for 160 MHz and 80+80 MHz bandwidth. This replaces
the use of now deprecated Channel Width 2 and 3 values with a more
backwards compatible design.

Signed-off-by: Yuvarani V <quic_yuvarani@quicinc.com>
22 months agoSAE: Do not reject reauth threshold passed PMKSA in association event
Veerendranath Jakkam [Wed, 27 Sep 2023 04:55:34 +0000 (10:25 +0530)] 
SAE: Do not reject reauth threshold passed PMKSA in association event

Do not reject reauth threshold passed PMKSA indicated in successful
association event since the PMKSA is still valid.

Additionally, remove the reauth threshold passed PMKSA entry from the
driver to prevent using it further in the driver.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
22 months agoPASN: Copy PMK to PASN context on responder
Vinay Gannevaram [Tue, 26 Sep 2023 14:47:43 +0000 (20:17 +0530)] 
PASN: Copy PMK to PASN context on responder

Wi-Fi Aware pairing responder needs to forward the derive PMK to the
framework on successful pairing setup. The framework will set
corresponding PMK while a pairing verification is initiated by the
paired peer. Since the PMK is not updated for responder's PASN context,
framework does not have a valid PMK and verification fails. Hence copy
the derived PMK to PASN context.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
22 months agohostapd: Fix premature beacon set during association handling
Aditya Kumar Singh [Tue, 26 Sep 2023 07:42:39 +0000 (13:12 +0530)] 
hostapd: Fix premature beacon set during association handling

Currently, during association handling, if any of the iface parameters
changes due to some reason, it calls ieee802_11_set_beacons() function.
This function sets beacon for the all the BSSes in that iface even if
the beacon was not set already. This leads to setting the beacon
prematurely for some BSSes which was intentionally not started.

Fix the above issue by calling ieee802_11_update_beacons() function
instead. This function only updates the beacon if it was already set.

While at it, do the same while freeing STA entry.

Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
22 months agoAdd channel 144 (5720 MHz) into operating class conversion tables
Shuibing Dai [Tue, 19 Sep 2023 03:02:23 +0000 (20:02 -0700)] 
Add channel 144 (5720 MHz) into operating class conversion tables

Based on IEEE Std 802.11-2020 Table E-3 (Operating classes in Japan) and
Table E-4 (Global operating classes), we update channel 144 for those
corresponding operating classes.

The changes applicable to the global operating classes fixes an issue of
P2P GO not starting on channel 144 (frequency 5720 MHz) in cases where
the driver supports DFS operations.

Signed-off-by: Shuibing Dai <shuibing@google.com>
22 months agoRefine roam stats frame subtypes in a QCA vendor attribute
Chunquan Luo [Wed, 13 Sep 2023 12:17:34 +0000 (05:17 -0700)] 
Refine roam stats frame subtypes in a QCA vendor attribute

Enumeration qca_wlan_roam_stats_frame_subtype defines the various frame
subtypes which may be collected by the driver and reported via the
QCA_WLAN_VENDOR_ATTR_ROAM_STATS_FRAME_SUBTYPE attribute.

Two of the enumerators are:
* QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_PREAUTH
* QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_REASSOC

These were initially defined and used to respectively report
Authentication Response and Reassociation Response frames.

Now there is a requirement to also report Authentication Request and
Reassociation Request frames. In order to satisfy this requirement,
add two new enumerators:
* QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_AUTH_REQ
* QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_REASSOC_REQ

Note that the first of these uses the standard term "AUTH" instead of
the confusing term "PREAUTH" used previously.

And to align with that naming, and in order to clearly show the usage
of the original enumerators, rename them to:
* QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_AUTH_RESP
* QCA_WLAN_ROAM_STATS_FRAME_SUBTYPE_REASSOC_RESP

Furthermore, Authentication Request/Response frame refers to the
Authentication frames sent by the non-AP STA and AP, respectively.

And finally, to support backward compatibility with applications using
the original enumerators, redefine those in terms of the new names.

Signed-off-by: Chunquan Luo <quic_chunquan@quicinc.com>
22 months agoUpdate roam stats of AP BSSID to user space in a QCA vendor attribute
Chunquan Luo [Fri, 22 Sep 2023 02:55:25 +0000 (19:55 -0700)] 
Update roam stats of AP BSSID to user space in a QCA vendor attribute

Fetch AP BSSID from each roam connection frame and cache the info in the
WLAN driver. When user space gets roam stats by
QCA_WLAN_VENDOR_ATTR_ROAM_STATS_INFO, user space can now collect the AP
BSSID info for roam issue.

Signed-off-by: Chunquan Luo <quic_chunquan@quicinc.com>
22 months agoEAP-SIM/AKA peer: Simplify identity selection for MK derivation
Jouni Malinen [Thu, 21 Sep 2023 07:46:38 +0000 (10:46 +0300)] 
EAP-SIM/AKA peer: Simplify identity selection for MK derivation

Redesign the identity selection for MK derivation to be done explicitly
based on the last indicated identity (whether it is from
EAP-Response/Identity or method specific AT_IDENTITY) during the current
exchange. This makes the implementation cleaner and avoids cases were
more or less duplicated selection steps ended up being slightly
different. This is not as clean as it could otherwise be due to the
exception needed for the IMSI privacy case where the identity used in MK
derivation is actually not the one exchanged in the EAP messages.

Furthermore, this moves the somewhat confusing EAP method specific
tracking of the lasgt EAP-Response/Identity value from EAP-SIM/AKA into
the main EAP peer implementation.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
22 months agotests: Adding EAP-SIM/AKA coverage for ID selection
Jouni Malinen [Thu, 21 Sep 2023 07:56:42 +0000 (10:56 +0300)] 
tests: Adding EAP-SIM/AKA coverage for ID selection

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
22 months agoEAP-SIM/AKA server: Configurable limit to fast re-authentication
Jouni Malinen [Thu, 21 Sep 2023 08:02:38 +0000 (11:02 +0300)] 
EAP-SIM/AKA server: Configurable limit to fast re-authentication

Allow the EAP-SIM/AKA server to be configured to use a smaller limit for
the number of times fast re-authentication can be used before falling
back to running full authentication. This is particularly useful for EAP
peer testing to cover cases when falling back from fast
re-authentication to full authentication in various different cases.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
22 months agoEAP-SIM/AKA server: Allow method specific identity exchange to be skipped
Jouni Malinen [Thu, 21 Sep 2023 08:00:04 +0000 (11:00 +0300)] 
EAP-SIM/AKA server: Allow method specific identity exchange to be skipped

While the EAP-SIM/AKA RFCs recommend against doing this, some deployed
authentication servers use the identity from the EAP-Response/Identity
directly without using an EAP method specific indication (AT_IDENTITY).
Having a capability to configure hostapd EAP server to behave in this
manner helps in increasing testing coverage for the EAP peer
implementation.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
22 months agoEAP-SIM/AKA peer: Fix identity selection for MK derivation with AT_IDENTITY
Jouni Malinen [Thu, 21 Sep 2023 08:45:37 +0000 (11:45 +0300)] 
EAP-SIM/AKA peer: Fix identity selection for MK derivation with AT_IDENTITY

A case was missing in the way wpa_supplicant was tracking the identity
that is used when deriving MK if the EAP server does not follow the RFC
guidance on using EAP method specific identity determination (i.e.,
AT_IDENTITY for EAP-SIM/AKA) combined with a fallback from fast
re-authentication to full authentication. wpa_supplicant ended up using
the actual identity instead of the last identity included in an EAP
message even though MK derivation is supposed to use the identity that
was included in the last AT_IDENTITY or in the EAP-Response/Identity if
AT_IDENTITY was not used. This resulted in such an authentication
attempt failing due to incorrect MK being derived and AT_MAC validation
resulting in an mismatch.

Fix this by checking for the case where fast re-authentication is
attempted and the server recognizes the fast re-auth identity, but
decides to fall back to full authentication without a separate EAP
method specific identity exchange using AT_IDENTITY. This allows the
fast re-auth identity from EAP-Response/Identity to be used in MK
derivation in such cases.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
22 months agoDefine a QCA vendor attribute to set traffic shaping policy
Shailendra Singh [Wed, 13 Sep 2023 03:42:04 +0000 (09:12 +0530)] 
Define a QCA vendor attribute to set traffic shaping policy

Define a new QCA vendor attribute to configure traffic
shaping policy applied during coex scenarios.

Signed-off-by: Shailendra Singh <quic_shasing@quicinc.com>
22 months agoAdd _IS_ML flag attribute to the ADD_STA_NODE QCA vendor command
Adil Saeed Musthafa [Wed, 13 Sep 2023 22:56:03 +0000 (15:56 -0700)] 
Add _IS_ML flag attribute to the ADD_STA_NODE QCA vendor command

Add an attribute QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_IS_ML to the
ADD_STA_NODE command. If this attribute is set, it implies that the node
being added is an MLD node.

Signed-off-by: Adil Saeed Musthafa <quic_adilm@quicinc.com>
22 months agoExtend maximum allowed bandwidth update type QCA vendor interface
Veerendranath Jakkam [Wed, 6 Sep 2023 20:45:26 +0000 (02:15 +0530)] 
Extend maximum allowed bandwidth update type QCA vendor interface

Extend QCA_WLAN_VENDOR_ATTR_CONFIG_CHAN_WIDTH_UPDATE_TYPE attribute to
support handling interoperability issues with APs which don't handle
the maximum bandwidth change indication correctly.

Additionally define an enum for possible values of
QCA_WLAN_VENDOR_ATTR_CONFIG_CHAN_WIDTH_UPDATE_TYPE.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
22 months agoAdd QCA vendor attributes to indicate MLO capabilities
mukul sharma [Fri, 1 Sep 2023 11:24:05 +0000 (16:54 +0530)] 
Add QCA vendor attributes to indicate MLO capabilities

Add QCA vendor attributes to indicate various MLO capabilities supported
by the WLAN driver to userspace. These capabilities are usually reported
by the firmware during the initial bootup handshake with the driver.

Signed-off-by: Mukul Sharma <quic_mukul@quicinc.com>
22 months agoSplit long comment lines in QCA vendor related definitions
Yu Wang [Wed, 6 Sep 2023 06:10:20 +0000 (23:10 -0700)] 
Split long comment lines in QCA vendor related definitions

Fix one of the style problems in qca-vendor.h.

Signed-off-by: Yu Wang <quic_yyuwang@quicinc.com>
22 months agoFix inconsistent whitespace use in QCA vendor related definitions
Yu Wang [Wed, 6 Sep 2023 06:10:20 +0000 (23:10 -0700)] 
Fix inconsistent whitespace use in QCA vendor related definitions

Fix one of the style problems in qca-vendor.h.

Signed-off-by: Yu Wang <quic_yyuwang@quicinc.com>
22 months agoFix typos in QCA vendor related definitions
Yu Wang [Wed, 6 Sep 2023 06:10:20 +0000 (23:10 -0700)] 
Fix typos in QCA vendor related definitions

Signed-off-by: Yu Wang <quic_yyuwang@quicinc.com>
22 months agoRemove space-before-tab in QCA vendor related definitions
Yu Wang [Wed, 6 Sep 2023 06:10:20 +0000 (23:10 -0700)] 
Remove space-before-tab in QCA vendor related definitions

Fix one of the style problems in qca-vendor.h.

Signed-off-by: Yu Wang <quic_yyuwang@quicinc.com>
22 months agoTDLS: Set EHT/MLO information for TDLS STA into the driver
Kiran Kumar Lokere [Thu, 9 Feb 2023 08:25:30 +0000 (00:25 -0800)] 
TDLS: Set EHT/MLO information for TDLS STA into the driver

Add the copied EHT capabilities into the sta_add() call when adding a
TDLS peer.

The mld_link_id value was previously only for AP mode, but it can now be
used for TDLS links as well to indicate the link on which a
single-link-TDLS direct link is negotiated.

Signed-off-by: Jouni Malinen <quic_klokere@quicinc.com>
22 months agoTDLS: Use link-specific BSSID instead of sm->bssid for MLO cases
Kiran Kumar Lokere [Thu, 9 Feb 2023 08:25:30 +0000 (00:25 -0800)] 
TDLS: Use link-specific BSSID instead of sm->bssid for MLO cases

When the current association is with an AP MLD, the BSSID for TDLS
operations needs to be selected based on which link is used to transmit
the frames.

Signed-off-by: Jouni Malinen <quic_klokere@quicinc.com>
22 months agoTDLS: Reply to Discovery Request on the link with matching BSSID
Kiran Kumar Lokere [Thu, 9 Feb 2023 08:25:30 +0000 (00:25 -0800)] 
TDLS: Reply to Discovery Request on the link with matching BSSID

When the current association is with an AP MLD, the Discovery Response
needs to be sent using the link that matches the indicated BSSID.

Signed-off-by: Jouni Malinen <quic_klokere@quicinc.com>
22 months agoTDLS: Learn MLD link ID from TDLS Discovery Response
Kiran Kumar Lokere [Thu, 9 Feb 2023 08:25:30 +0000 (00:25 -0800)] 
TDLS: Learn MLD link ID from TDLS Discovery Response

This is needed to be able to determine which link is used for TDLS setup
when the current association is with an AP MLD.

Signed-off-by: Jouni Malinen <quic_klokere@quicinc.com>
22 months agoTDLS: Copy peer's EHT capabilities
Kiran Kumar Lokere [Thu, 9 Feb 2023 08:25:30 +0000 (00:25 -0800)] 
TDLS: Copy peer's EHT capabilities

This is needed to be able to configure the STA entry into the driver
with the information for EHT.

Signed-off-by: Jouni Malinen <quic_klokere@quicinc.com>
22 months agonl80211: Use a QCA vendor command to set the link for TDLS Discovery Response
Kiran Kumar Lokere [Thu, 9 Feb 2023 08:25:30 +0000 (00:25 -0800)] 
nl80211: Use a QCA vendor command to set the link for TDLS Discovery Response

For now, only a vendor command is available for this functionality that
is needed to implement single-link TDLS during an MLO association.

Signed-off-by: Jouni Malinen <quic_klokere@quicinc.com>
22 months agodriver: Add option for link ID to be specified for send_tdls_mgmt()
Kiran Kumar Lokere [Thu, 9 Feb 2023 08:25:30 +0000 (00:25 -0800)] 
driver: Add option for link ID to be specified for send_tdls_mgmt()

This is needed to allow the driver to know on which operating channel
(as specified by the link that is affiliated with AP MLD for the current
association) is used for transmitting TDLS Discovery Response. This
commit adds the link_id parameter to various functions, but does not
implement the driver interface change itself.

Signed-off-by: Jouni Malinen <quic_klokere@quicinc.com>
22 months agoExtend wpa_parse_kde_ies() to include EHT capabilities
Kiran Kumar Lokere [Thu, 9 Feb 2023 08:25:30 +0000 (00:25 -0800)] 
Extend wpa_parse_kde_ies() to include EHT capabilities

This is needed for TDLS.

Signed-off-by: Jouni Malinen <quic_klokere@quicinc.com>
22 months agoDocument per-ESS MAC address (mac_addr=3 and mac_value)
Jouni Malinen [Thu, 7 Sep 2023 15:28:24 +0000 (18:28 +0300)] 
Document per-ESS MAC address (mac_addr=3 and mac_value)

Commit 9025def55cfd ("wpa_supplicant: Add support for pregenerated MAC")
added this capability, but did not update wpa_supplicant.conf to
document it. Add such documentation to match the information in
config_ssid.h.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
22 months agotests: Beacon protection and reconnection
Jouni Malinen [Tue, 5 Sep 2023 17:12:36 +0000 (20:12 +0300)] 
tests: Beacon protection and reconnection

Regression test case for the issue fixed in the previous commit.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
22 months agoClear BIGTK values from wpa_supplicant state machine when not needed
Veerendranath Jakkam [Sun, 3 Sep 2023 19:36:41 +0000 (01:06 +0530)] 
Clear BIGTK values from wpa_supplicant state machine when not needed

wpa_supplicant does not configure BIGTK(s) to the driver when the STA
reconnects to the same AP after disconnect due to not clearing the last
configured BIGTK values during disconnect. To avoid such issues clear
the BIGTK values while clearing PTK and other group keys.

Fixes: 2d4c78aef718 ("Configure received BIGTK on station/supplicant side")
Fixes: f15cc834cb77 ("MLD STA: Processing of EAPOL-Key msg 3/4 frame when using MLO")
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
23 months agowlantest: Minimal parsing of Basic MLE STA Profile
Jouni Malinen [Fri, 1 Sep 2023 16:24:40 +0000 (19:24 +0300)] 
wlantest: Minimal parsing of Basic MLE STA Profile

Debug print RSNE and RSNXE if they are present in the STA Profile.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: Defragment the Per-STA Profile subelement
Jouni Malinen [Fri, 1 Sep 2023 15:53:56 +0000 (18:53 +0300)] 
wlantest: Defragment the Per-STA Profile subelement

This subelement within the Basic MLE Link Info can be long enough to
require fragmentation, so defragment it before parsing.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: Defragment Basic MLE before processing
Jouni Malinen [Fri, 1 Sep 2023 15:29:18 +0000 (18:29 +0300)] 
wlantest: Defragment Basic MLE before processing

The Basic Multi-Link element is going to be fragmented in many cases, so
defragment it first before trying to parse it.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: Learn group keys from MLO FT Reassociation Response frames
Jouni Malinen [Fri, 1 Sep 2023 08:51:47 +0000 (11:51 +0300)] 
wlantest: Learn group keys from MLO FT Reassociation Response frames

Extend FT Reassociation Response frame processing to support the new MLO
GTK/IGTK/BIGTK subelements similarly to how the MLO group keys were
already learned from EAPOL-Key msg 3/4.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: Fix FTE MIC calculation for MLO Reassociation Response frames
Jouni Malinen [Thu, 31 Aug 2023 21:03:16 +0000 (00:03 +0300)] 
wlantest: Fix FTE MIC calculation for MLO Reassociation Response frames

The AP's RSNE needs to be modified by inserting the PMKR1Name in the
PMKID List field for each affiliated link.

Fixes: 8cf919ffd5c4 ("wlantest: FTE MIC calculation for MLO Reassociation Response frame")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: Derive PTK in MLO using MLD MAC addresses for FT over-the-air
Jouni Malinen [Thu, 31 Aug 2023 18:10:54 +0000 (21:10 +0300)] 
wlantest: Derive PTK in MLO using MLD MAC addresses for FT over-the-air

IEEE P802.11be/D4.0 does not seem to have changed the rules for deriving
PTK in FT hierarchy since there were no changes to 12.7.1.6.5 (PTK)
where BSSID and STA-ADDR are used. However, the MLO changes for FT and
for PTK derivation in non-FT cases seem to imply that this FT case is
also supposed to use MLD MAC addresses.

Commit 628b9f10223d ("wlantest: Derive PMK-R1 and PTK using AA/SPA for
MLO FT over-the-DS") did this already for FT over-the-DS, so do the same
for FT over-the-air.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: Use non-AP MLD's MLD MAC address in FT over-the-air derivation
Jouni Malinen [Thu, 31 Aug 2023 17:47:00 +0000 (20:47 +0300)] 
wlantest: Use non-AP MLD's MLD MAC address in FT over-the-air derivation

S1KH-ID is supposed to be SPA, so learn the MLD MAC address of the
non-AP MLD from the FT Authentication frame and use that instead of the
link address when deriving keys in FT over-the-air case.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agoDefine new BSS command info mask for AP MLD address
Kiran Kumar Lokere [Wed, 23 Aug 2023 19:40:53 +0000 (12:40 -0700)] 
Define new BSS command info mask for AP MLD address

The ap_mld_addr entry was added without introducing a new mask bit which
does not follow the expected style for adding new information into the
BSS command and might result in unexpected behavior for external
components. Define a new BSS command information mask bit for this AP
MLD address and print the AP MLD address in the BSS info only if the
mask bit is set.

Fixes: db99e7341a37 ("Add AP MLD address into BSS command output")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: Determine whether A1 points to STA once in rx_data_bss_prot()
Jouni Malinen [Thu, 31 Aug 2023 12:02:02 +0000 (15:02 +0300)] 
wlantest: Determine whether A1 points to STA once in rx_data_bss_prot()

Use the initial BSS/STA routines to determine whether A1 points to STA
instead of maintaining multiple somewhat different ways of doing this.
In addition to making the code easier to maintain, this fixes at least
some cases where incorrect tx/rx_tid or rsc_tods/fromds value was
selected for 4-address frames.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: Remove duplicated A1/A2/A3 override detection for MLO
Jouni Malinen [Thu, 31 Aug 2023 11:44:41 +0000 (14:44 +0300)] 
wlantest: Remove duplicated A1/A2/A3 override detection for MLO

Use the A1/A2/A3 overrides for MLO determined within rx_data_bss_prot()
in try_ptk_decrypt() to avoid duplicated code in these two functions.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: MLO support for decrypting 4-address frames
Jouni Malinen [Thu, 31 Aug 2023 11:32:55 +0000 (14:32 +0300)] 
wlantest: MLO support for decrypting 4-address frames

Search the A1/A2 values in 4-address frames using the MLO enabled
functions to allow appropriate STA entries to be located when these
frames are used with MLO.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agowlantest: Indicate ToDS/FromDS values for BSS DATA entries
Jouni Malinen [Thu, 31 Aug 2023 09:33:45 +0000 (12:33 +0300)] 
wlantest: Indicate ToDS/FromDS values for BSS DATA entries

This makes it a bit more convenient to debug decryption issues.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agoAdd QCA vendor attribute for TTLM negotiation support type
Gururaj Pandurangi [Mon, 21 Aug 2023 17:26:55 +0000 (10:26 -0700)] 
Add QCA vendor attribute for TTLM negotiation support type

Add a vendor attribute for an EHT DUT to configure the type of TID-To-Link
Mapping Negotiation Support for testing purposes.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
23 months agoAdd QCA vendor attribute for configuring max A-MPDU aggregation count
Will Huang [Mon, 28 Aug 2023 02:30:16 +0000 (08:00 +0530)] 
Add QCA vendor attribute for configuring max A-MPDU aggregation count

Add a QCA vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_AMPDU_CNT to
enable configuration of TX maximum aggregate size with a specific peer.
This can be used to improve performance in noisy environment. In AP
mode, the peer MAC address of the associated STA is specified with
QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_MAC.

Signed-off-by: Will Huang <quic_wilhuang@quicinc.com>
23 months agoChange QCA vendor configure attribution name of peer MAC address
Will Huang [Mon, 28 Aug 2023 02:15:56 +0000 (07:45 +0530)] 
Change QCA vendor configure attribution name of peer MAC address

Rename the attribute QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_PEER_MAC
to a generic name QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_MAC, so other
configuration commands can reuse it. And make backward compatibility of
QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_PEER_MAC, define it as same
value of QCA_WLAN_VENDOR_ATTR_CONFIG_PEER_MAC (35).

Signed-off-by: Will Huang <quic_wilhuang@quicinc.com>
23 months agoUpdate hw_mode when CSA finishes
Nijun Gong [Mon, 10 Jul 2023 13:19:29 +0000 (21:19 +0800)] 
Update hw_mode when CSA finishes

The driver might decide to change the operating band on its own, e.g.,
when trying to use a single channel in AP + AP case. A CSA event will be
notified to hostapd to update the channel/frequency, but hw_mode did not
get updated accordingly.

This may cause hostapd interface restarting to fail, e.g., with control
interface DISABLE / ENABLE commands at configured_fixed_chan_to_freq(),
because of the mismatch between conf->channel and conf->hw_mode.

Update hw_mode right after channel change to fix this.

Signed-off-by: ngong <quic_ngong@quicinc.com>
23 months agoSend actual MFP configuration when driver takes care of BSS selection
Veerendranath Jakkam [Mon, 28 Aug 2023 18:34:45 +0000 (00:04 +0530)] 
Send actual MFP configuration when driver takes care of BSS selection

Send the actual MFP configuration value to the driver instead of
overriding it with MFP required based on the wpa_supplicant selected BSS
when the driver takes care of BSS selection.

This is needed to allow the driver to know whether it can select an MFP
disabled BSS.

Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
23 months agoSCS: Add support for optional QoS Charateristics parameters
Purushottam Kushwaha [Tue, 18 Apr 2023 14:04:19 +0000 (19:34 +0530)] 
SCS: Add support for optional QoS Charateristics parameters

Per IEEE P802.11be/D4.0, 9.4.2.316 (QoS Characteristics element), enable
support for the following optional QoS Characteristics parameters:
 - Maximum MSDU Size
 - Service Start Time
 - Service Start Time LinkID
 - Mean Data Rate
 - Delayed Bounded Burst Size
 - MSDU Lifetime
 - MSDU Delivery Info
 - Medium Time

Signed-off-by: Purushottam Kushwaha <quic_pkushwah@quicinc.com>
23 months agoSCS: Add support for QoS Characteristics in SCS request
Purushottam Kushwaha [Tue, 18 Apr 2023 13:45:06 +0000 (19:15 +0530)] 
SCS: Add support for QoS Characteristics in SCS request

Add support to configure the mandatory QoS Characteristics parameters
per IEEE P802.11be/D4.0, 9.4.2.316 (QoS Characteristics element), in SCS
request:
 - Minimum Service Interval
 - Maximum Service Interval
 - Minimum Data Rate
 - Delay Bound

Enable STA SCS traffic descriptor support for EHT connection when the
connected EHT AP advertises SCS traffic descriptor capability in the EHT
Capabilities element.

Signed-off-by: Purushottam Kushwaha <quic_pkushwah@quicinc.com>
23 months agoAdd Non EHT SCS Capability in (Re)Association Request frames
Purushottam Kushwaha [Tue, 18 Apr 2023 14:24:09 +0000 (19:54 +0530)] 
Add Non EHT SCS Capability in (Re)Association Request frames

Set WFA capability to allow non-EHT SCS Traffic support in association
elements when the AP advertises support for non-EHT SCS Traffic support
via Beacon or Probe Response frame. This capability is upper layer
functionality and as such, does not need a separate driver capability
indication or configuration, but indicate this only if the AP supports
the feature to minimize risk of interoperability issues with a new
information element.

Signed-off-by: Purushottam Kushwaha <quic_pkushwah@quicinc.com>
23 months agoAdd support for conversion to little endian for 24 bits
Purushottam Kushwaha [Tue, 28 Mar 2023 12:09:59 +0000 (17:39 +0530)] 
Add support for conversion to little endian for 24 bits

Like le16/le32, add support for conversion to le24.

Signed-off-by: Purushottam Kushwaha <quic_pkushwah@quicinc.com>