| #
6d21920e
|
| 14-Mar-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: refactor out the AAD init code shared between GCMP and CCMP
The 802.11 specification specifically calls out that the GCMP AES uses the CCMP AES specification, so we can re-use this here.
net80211: refactor out the AAD init code shared between GCMP and CCMP
The 802.11 specification specifically calls out that the GCMP AES uses the CCMP AES specification, so we can re-use this here.
Changes during refactoring:
* the first block (b0) needs the priority field populated, which was being done inline with the CCMP AAD assembly. So write a new function that implements just that.
* Use IEEE80211_IS_QOS_ANY() in the AAD assembly; 802.11-2020 12.5.3.3.3 (Construct AAD) talks about frames with QoS control field, not specifically QoS data frames (ie, not avoiding PS-POLL.)
* Use IEEE80211_IS_QOS_ANY() in the CCM nonce assembly. Leave some verbose comments about the definition of "MPDU priority".
* mask the HTC/ORDER bit in the FC if the data frame contains a QoS control field. Again, see 802.11-2020 12.5.3.3.3.
* Add extra comments about missing items and functionality for later implementation.
Differential Revision: https://reviews.freebsd.org/D49367 Reviewed by: bz
show more ...
|
| #
a54a240c
|
| 13-Mar-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: work around unused variable "vap" in non-debug builds
Don't declare a variable that's only used during debug builds.
|
| #
2d4583c4
|
| 28-Feb-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: add initial AES-GCMP crypto support
This adds initial AES-GCMP crypto support. It registers for both 128 and 256 bit support, although the 256 bit support will not work without extending
net80211: add initial AES-GCMP crypto support
This adds initial AES-GCMP crypto support. It registers for both 128 and 256 bit support, although the 256 bit support will not work without extending the net80211/ioctl keylength.
This is not yet enabled by default; drivers will need to opt-in to supporting it in either hardware or software.
The AES-GCMP code is BSD licenced code from hostapd.git release 2.11.
Differential Revision: https://reviews.freebsd.org/D49161
show more ...
|
| #
6d21920e
|
| 14-Mar-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: refactor out the AAD init code shared between GCMP and CCMP
The 802.11 specification specifically calls out that the GCMP AES uses the CCMP AES specification, so we can re-use this here.
net80211: refactor out the AAD init code shared between GCMP and CCMP
The 802.11 specification specifically calls out that the GCMP AES uses the CCMP AES specification, so we can re-use this here.
Changes during refactoring:
* the first block (b0) needs the priority field populated, which was being done inline with the CCMP AAD assembly. So write a new function that implements just that.
* Use IEEE80211_IS_QOS_ANY() in the AAD assembly; 802.11-2020 12.5.3.3.3 (Construct AAD) talks about frames with QoS control field, not specifically QoS data frames (ie, not avoiding PS-POLL.)
* Use IEEE80211_IS_QOS_ANY() in the CCM nonce assembly. Leave some verbose comments about the definition of "MPDU priority".
* mask the HTC/ORDER bit in the FC if the data frame contains a QoS control field. Again, see 802.11-2020 12.5.3.3.3.
* Add extra comments about missing items and functionality for later implementation.
Differential Revision: https://reviews.freebsd.org/D49367 Reviewed by: bz
show more ...
|
| #
a54a240c
|
| 13-Mar-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: work around unused variable "vap" in non-debug builds
Don't declare a variable that's only used during debug builds.
|
| #
2d4583c4
|
| 28-Feb-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: add initial AES-GCMP crypto support
This adds initial AES-GCMP crypto support. It registers for both 128 and 256 bit support, although the 256 bit support will not work without extending
net80211: add initial AES-GCMP crypto support
This adds initial AES-GCMP crypto support. It registers for both 128 and 256 bit support, although the 256 bit support will not work without extending the net80211/ioctl keylength.
This is not yet enabled by default; drivers will need to opt-in to supporting it in either hardware or software.
The AES-GCMP code is BSD licenced code from hostapd.git release 2.11.
Differential Revision: https://reviews.freebsd.org/D49161
show more ...
|
| #
6d21920e
|
| 14-Mar-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: refactor out the AAD init code shared between GCMP and CCMP
The 802.11 specification specifically calls out that the GCMP AES uses the CCMP AES specification, so we can re-use this here.
net80211: refactor out the AAD init code shared between GCMP and CCMP
The 802.11 specification specifically calls out that the GCMP AES uses the CCMP AES specification, so we can re-use this here.
Changes during refactoring:
* the first block (b0) needs the priority field populated, which was being done inline with the CCMP AAD assembly. So write a new function that implements just that.
* Use IEEE80211_IS_QOS_ANY() in the AAD assembly; 802.11-2020 12.5.3.3.3 (Construct AAD) talks about frames with QoS control field, not specifically QoS data frames (ie, not avoiding PS-POLL.)
* Use IEEE80211_IS_QOS_ANY() in the CCM nonce assembly. Leave some verbose comments about the definition of "MPDU priority".
* mask the HTC/ORDER bit in the FC if the data frame contains a QoS control field. Again, see 802.11-2020 12.5.3.3.3.
* Add extra comments about missing items and functionality for later implementation.
Differential Revision: https://reviews.freebsd.org/D49367 Reviewed by: bz
show more ...
|
| #
a54a240c
|
| 13-Mar-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: work around unused variable "vap" in non-debug builds
Don't declare a variable that's only used during debug builds.
|
| #
2d4583c4
|
| 28-Feb-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: add initial AES-GCMP crypto support
This adds initial AES-GCMP crypto support. It registers for both 128 and 256 bit support, although the 256 bit support will not work without extending
net80211: add initial AES-GCMP crypto support
This adds initial AES-GCMP crypto support. It registers for both 128 and 256 bit support, although the 256 bit support will not work without extending the net80211/ioctl keylength.
This is not yet enabled by default; drivers will need to opt-in to supporting it in either hardware or software.
The AES-GCMP code is BSD licenced code from hostapd.git release 2.11.
Differential Revision: https://reviews.freebsd.org/D49161
show more ...
|