#
7f31d95c |
| 15-Feb-2025 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: rename \4 in IEEE80211_VHTCAP_BITS for clarity
Bits 2 and 3 (\3 and \4 of the %b flag mask) are the 'Supported Channel Width Set' indicating VHT160 (B2) or VHT160 and VHT80P80 (B3) support
net80211: rename \4 in IEEE80211_VHTCAP_BITS for clarity
Bits 2 and 3 (\3 and \4 of the %b flag mask) are the 'Supported Channel Width Set' indicating VHT160 (B2) or VHT160 and VHT80P80 (B3) support. Though longer rename \4 from CHAN80P80 to CHAN160+80P80 to not confuse the reader that VHT160 might not be supported.
Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48977
show more ...
|
#
75fb66d8 |
| 15-Feb-2025 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211 / LinuxKPI 802.11: add 802.11-2016 VHT Extended NSS BW defines
Add the mask and shift for the VHT Extended NSS BW Support field. Document them in net80211 and further related bitmasks in Li
net80211 / LinuxKPI 802.11: add 802.11-2016 VHT Extended NSS BW defines
Add the mask and shift for the VHT Extended NSS BW Support field. Document them in net80211 and further related bitmasks in LinuxKPI.
Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48975
show more ...
|
Revision tags: release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0 |
|
#
11610210 |
| 29-Nov-2024 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: name IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_{NONE -> NO160}
IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_NONE is confusing as the field does indicate that the STA does not support 160 (or 80+80) Mhz. [802.1
net80211: name IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_{NONE -> NO160}
IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_NONE is confusing as the field does indicate that the STA does not support 160 (or 80+80) Mhz. [802.11ac: Table 8-183v-Subfields of the VHT Capabilities Info field] All the other bits are related to the support of 160Mhz so make it clear that it does not mean that we do not support any VHT CHAN WIDTH but merely do not support the optional 160/80+80.
Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47837
show more ...
|
#
4294f1ca |
| 29-Nov-2024 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: add missing reference for struct ieee80211_vht_mcs_info
Sponsored by: The FreeBSD Foundation Reviewed by: adrian MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47836
|
#
1375790a |
| 17-Nov-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: add IEEE80211_IS_QOS_NULL()
This will be useful when fixing up the sequence number generation and checks, as the rules around how sequence numbers are generated have been clarified in 802.
net80211: add IEEE80211_IS_QOS_NULL()
This will be useful when fixing up the sequence number generation and checks, as the rules around how sequence numbers are generated have been clarified in 802.11-2016 and later. QoS-NULL frames are explicitly marked as "any sequence number".
But for now, just create a macro and use it in the one place it's currently being used as a check - ath(4).
* Add IEEE80211_IS_QOS_NULL(). * Change the "will this frame go into the TX block-ack window" check in the ath(4) transmit path. Note this changes the check to be more specific, but both paths already had previous checks to ensure they're QoS data frames.
Locally tested:
* ath(4), AR9380, STA mode w/ AMPDU TX/RX enabled and negotiated
Differential Revision: https://reviews.freebsd.org/D47645
show more ...
|
#
3d0d43d2 |
| 10-Nov-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: remove IEEE80211_FC0_QOSDATA
This is unused by anything in the tree; anything using it should be instead using one of the frame type macros.
Differential Revision: https://reviews.freebsd
net80211: remove IEEE80211_FC0_QOSDATA
This is unused by anything in the tree; anything using it should be instead using one of the frame type macros.
Differential Revision: https://reviews.freebsd.org/D47503
show more ...
|
#
c249cc38 |
| 09-Nov-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: migrate FC0_TYPE_MASK / FC0_SUBTYPE_MASK frame type checks to macros
* Add macros for the management and control frame type checks that I've come across in the drivers. * Delete some now
net80211: migrate FC0_TYPE_MASK / FC0_SUBTYPE_MASK frame type checks to macros
* Add macros for the management and control frame type checks that I've come across in the drivers. * Delete some now old code (eg ath's ieee80211_is_action()) as there's now a macro for it.
Local testing:
* not yet, I have a lot of wifi devices to find and test against
Differential Revision: https://reviews.freebsd.org/D47500
show more ...
|
#
37e54466 |
| 09-Nov-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: clean up / add more macros to check the frame types
* Add new macros to check the version+type and version+type+subtype of a frame. * Use these for existing frame checks. * Convert the fla
net80211: clean up / add more macros to check the frame types
* Add new macros to check the version+type and version+type+subtype of a frame. * Use these for existing frame checks. * Convert the flag checks in net80211 to use the macros, rather than direct header poking.
Notably I'm callign out things like QOS any versus QOS data, the kind of NULL frames, etc. Eg, in the TKIP code it's checking whether a frame is ANY kind of QOS frame, not just QOS data.
These macros should hopefully make the header checks clearer and less error prone. They're also useful in drivers that are doing their own header parsing.
Locally:
* ath(4), AP, STA, AP+STA modes * local ath10k/athp - AP, STA modes * rtwn - STA mode
Differential Revision: https://reviews.freebsd.org/D36615
show more ...
|
Revision tags: release/13.4.0 |
|
#
50982d26 |
| 01-Sep-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: add MMIC element ID (for management frame protected group action frames)
* add the MMIC element ID * add a comment showing the source of this table from the 802.11-2016 specification.
D
net80211: add MMIC element ID (for management frame protected group action frames)
* add the MMIC element ID * add a comment showing the source of this table from the 802.11-2016 specification.
Differential Revision: https://reviews.freebsd.org/D46505
show more ...
|
#
3e52b265 |
| 01-Sep-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: fix fast BSS transition element ID name
This is a straight up typo!
Differential Revision: https://reviews.freebsd.org/D46504
|
Revision tags: release/14.1.0 |
|
#
c2a005a0 |
| 19-Apr-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: add new ciphers and RSN flags
These are the rest of the ciphers and RSN flags from 802.11-2016.
* add the rest of the ciphers from 802.11-2016 * add the rest of the RSN flags from 802.11-
net80211: add new ciphers and RSN flags
These are the rest of the ciphers and RSN flags from 802.11-2016.
* add the rest of the ciphers from 802.11-2016 * add the rest of the RSN flags from 802.11-2016
Of special interest here are the extended key ID field for supporting >1 unicast key (to support seamless rekeying w/out dropping frames) and the MFP (management frame protection) config bits.
This is a no-op; no code is using these new fields. (In particular, no code in net80211 uses the RSN capability bits; but that will change when we start on MFP support.)
Differential Revision: https://reviews.freebsd.org/D44864
show more ...
|
Revision tags: release/13.3.0 |
|
#
e85eb4c8 |
| 02-Dec-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: adjust more VHT structures/fields
Replace ieee80211_ie_vhtcap with ieee80211_vht_cap and ieee80211_ie_vht_operation with ieee80211_vht_operation. The "ie" version has the two bytes type/le
net80211: adjust more VHT structures/fields
Replace ieee80211_ie_vhtcap with ieee80211_vht_cap and ieee80211_ie_vht_operation with ieee80211_vht_operation. The "ie" version has the two bytes type/length at the beginning which we did not actually use as such (the one place doing did just as unused extra work).
Using the non-"ie" versions allows us to re-use them on shared code. Using an enum helps us to not accidentally get unsuppored or unhandled values tough we cannot use it in the struct as we need to ensure the field width.
ieee80211_vht_operation is guarded by _KERNEL/WANT_NET80211. While the header is supposed to be exported to user land historically, software such as wpa bring their own structure definitions. For in-tree usage it is only ifconfig which really cares (at least for now).
Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian (earlier), cc Differential Revision: https://reviews.freebsd.org/D42901
show more ...
|
Revision tags: release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
800aa9cd |
| 09-Sep-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
LinuxKPI: 80211 (+net80211): update and cleanup headers
Fix types for various struct fields (initially added as int).
Move structs and inline functions logically together, e.g., for wowlan. Add mor
LinuxKPI: 80211 (+net80211): update and cleanup headers
Fix types for various struct fields (initially added as int).
Move structs and inline functions logically together, e.g., for wowlan. Add more skeleton functions and #defines needed for iwlwifi d3.c in the future.
Add struct ieee80211_vht_cap (without "_ie") to net80211 and remove duplicate definitions in LinuxKPI headers now using net80211 structs. For now leave ieee80211_ie_vhtcap in net80211. I am not sure yet if we actually need it as such. That'll be cleaned up with more VHT updates in net80211 in the future.
No functional changes in currently compiled code intended.
Try to implement ieee80211_action_contains_tpc() as I ran into it with an older iwlwifi chipset. This depends on c994352a8841eb453.
Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
show more ...
|
#
c994352a |
| 08-Sep-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: update (parts of) Action field categories
Update to the full list of action field category values based on 802.11-2020 with 11ax extensions and remove one value Reserved nowadays. While he
net80211: update (parts of) Action field categories
Update to the full list of action field category values based on 802.11-2020 with 11ax extensions and remove one value Reserved nowadays. While here annotate them with descriptions.
Also add Spectrum Management and Radio Measurement action field values needed in LinuxKPI.
No functional changes.
Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
#
fb47649e |
| 01-Sep-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: update (parts of) frame types and subtypes and annotate
Update to the full list of frame type and subtype values based on 802.11-2020 with 11ax and 11ay extensions. This includes the 4th t
net80211: update (parts of) frame types and subtypes and annotate
Update to the full list of frame type and subtype values based on 802.11-2020 with 11ax and 11ay extensions. This includes the 4th type "Extension" (IEEE80211_FC0_TYPE_EXT). While here annotate them with descriptions which should help matching names (as at times things get confusing with LinuxKPI). Also remove some 802.11-1997 values Reserved nowadays.
No functional changes.
Sponsored by: The FreeBSD Foundation MFC after: 5 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D36410
show more ...
|
#
c9b7e9df |
| 01-Sep-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211 / drivers: rename to IEEE80211_FC0_SUBTYPE_QOS_DATA
Going through the Frame (Sub)types the "QOS Data" being called "QOS" scheme leads to a naming conflict for QOS_CFPOLL and QOS_CFACKPOLL (
net80211 / drivers: rename to IEEE80211_FC0_SUBTYPE_QOS_DATA
Going through the Frame (Sub)types the "QOS Data" being called "QOS" scheme leads to a naming conflict for QOS_CFPOLL and QOS_CFACKPOLL (if added). Rename QOS* to QOS_DATA* to avoid the conflict and to also better match the standards name.
No functional changes intended.
Sponsored by: The FreeBSD Foundation MFC after: 5 days Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D36409
show more ...
|
#
8d371164 |
| 17-Aug-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: LinuxKPI 802.11: harmonize IEEE80211_VHT_MCS_*
Rather than defining the same values in two places and having to do conflict resulution on the name in LKPI, change the defines to an enum in
net80211: LinuxKPI 802.11: harmonize IEEE80211_VHT_MCS_*
Rather than defining the same values in two places and having to do conflict resulution on the name in LKPI, change the defines to an enum in net80211. In addition to de-duplication this also gives us value checks in certain cases.
Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D36250
show more ...
|
#
2889cbe2 |
| 12-Aug-2022 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: add an IEEE80211_IS_PROTECTED() macro
Summary: This returns whether the given 802.11 frame has the protected bit set.
Test Plan: * tested in AP/STA mode * STA mode - local athp/ath10k dri
net80211: add an IEEE80211_IS_PROTECTED() macro
Summary: This returns whether the given 802.11 frame has the protected bit set.
Test Plan: * tested in AP/STA mode * STA mode - local athp/ath10k driver * AP mode - in tree ath driver
Subscribers: imp, melifaro, glebius Reviewed by: bz Approved by: bz
Differential Revision: https://reviews.freebsd.org/D36183
show more ...
|
#
a78be09e |
| 29-Jul-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: add more 802.11ac Element IDs
Add more Element IDs for VHT (11ac) to complete the current list and we can use them if/as needed.
Sposnored by: The FreeBSD Foundation MFC after: 1 week Rev
net80211: add more 802.11ac Element IDs
Add more Element IDs for VHT (11ac) to complete the current list and we can use them if/as needed.
Sposnored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D35977
show more ...
|
#
4c3684ef |
| 18-Jun-2022 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211 / LinuxKPI: 802.11: add Control Trigger Subframe information
Add definitions related to 802.11ax Control Trigger frame format needed for rtw89.
MFC after: 3 days
|
Revision tags: release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0 |
|
#
04e7bb08 |
| 18-Oct-2020 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: update for (more) VHT160 support
Implement two macros IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160MHZ() and its 80+80 counter part to check in vhtcaps for appropriate levels of support and use
net80211: update for (more) VHT160 support
Implement two macros IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160MHZ() and its 80+80 counter part to check in vhtcaps for appropriate levels of support and use the macros throughout the code.
Add vht160_chan_ranges/is_vht160_valid_freq and handle analogue to vht80 in various parts of the code.
Add ieee80211_add_channel_cbw() which also takes the CBW flag fields and make the former ieee80211_add_channel() a wrapper to it. With the CBW flags we can add HT/VHT channels passing them to getflags() for the 2/5ghz functions.
In ifconfig(8) add the regdomain_addchans() support for VHT160 and VHT80P80.
With this (+ regdoain.xml updates) VHT160 channels can be configured, listed, and pass regdomain where appropriate.
Tested with: iwlwifi Reviewed by: adrian MFC after: 10 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26712
show more ...
|
#
662c1305 |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
net: clean up empty lines in .c and .h files
|
Revision tags: release/11.4.0 |
|
#
83fbae0c |
| 05-Jun-2020 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] Add field definition for A-MSDU inside A-MPDU.
Now that I have A-MSDU and A-MPDU coexisting together, we need to actually announce if (a) it's permitted and (b) figure out if we should us
[net80211] Add field definition for A-MSDU inside A-MPDU.
Now that I have A-MSDU and A-MPDU coexisting together, we need to actually announce if (a) it's permitted and (b) figure out if we should use it when transmitting.
This just adds the field; it doesn't yet include it in ADDBA exchanges.
show more ...
|