HomeFreeBSD

net80211: fix VHT160 and VHT80P80 selection and enable in LinuxKPI 802.11

Description

net80211: fix VHT160 and VHT80P80 selection and enable in LinuxKPI 802.11

Between 802.11ac-2013 and 802.11-2020 some fields were deprecated and the
way VHT160 and VHT80P80 are selected has changed.
In order to get onto VHT160 with modern APs adopt and support both the
deprecated as well as the new logic.

For simplicity of blocks we pull out the non-HT40 handling early on,
followed by the "use HT", followed by the deprectaed options and then
the 80Mhz channel width.

In all cases keep checking (a) what is locally supported, (b) what the
user has locally allowed (FVHT flags, [-]vht160 [-]vht80p80 [-]vht80
[-]vht40), as well as (c) what is announced. Provide possible fallbacks
to lower channel widths in all cases (but VHT20, which means VHT is
disabled).

With this enable VHT160 and VHT80P80 in the LinuxKPI 802.11 driver
compat code as well.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Reviewed by: thj
Differential Revision: https://reviews.freebsd.org/D49773

Details

Provenance
bzAuthored on Apr 11 2025, 1:44 AM
Reviewer
thj
Differential Revision
D49773: net80211: fix VHT160 and VHT80P80 selection and enable in LinuxKPI 802.11
Parents
rG517eb20e54e5: if_firewire: Make firewire_broadcastaddr static const
Branches
Unknown
Tags
Unknown