| #
8ebc054a
|
| 26-Feb-2026 |
Adrian Chadd <adrian@FreeBSD.org> |
mwl: migrate to new net80211 encryption key API
Migrate to the new encryption key API rather than poking at the key struct directly.
Notably this driver was very clear about its expectation the net
mwl: migrate to new net80211 encryption key API
Migrate to the new encryption key API rather than poking at the key struct directly.
Notably this driver was very clear about its expectation the net80211 key layout w/ key, TX MIC and RX MIC matches the firmware layout and just memcpy()'ed it. That has been refactored.
Differential Revision: https://reviews.freebsd.org/D54484
show more ...
|
| #
785edcc2
|
| 10-Jun-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: convert the rest of the native net80211 drivers to SEQNO_OFFLOAD
* Convert the rest of the drivers to implement driver/offloaded sequence number handling.
* For drivers that implement t
net80211: convert the rest of the native net80211 drivers to SEQNO_OFFLOAD
* Convert the rest of the drivers to implement driver/offloaded sequence number handling.
* For drivers that implement their own sequence number space handling for A-MPDU, only call ieee80211_output_seqno_assign() if the frame isn't tagged with M_AMPDU_MPDU, which mirrors the original net80211 sequence number behaviour. (Except of course, the assignment is now happening during final encap/transmit, not early in encap.)
Locally tested (sta mode):
* ath * iwn * bwi * bwn * iwm * otus * ral
Differential Revision: https://reviews.freebsd.org/D50772 Okayed by: bz
show more ...
|
| #
06527b28
|
| 14-Aug-2025 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211 / LinuxKPI: 802.11: revert / redo enum ieee80211_sta_rx_bw
The initial thought of migrating the LinuxKPI 802.11 enum into net80211 for shared use did not work out well. Currently in the ne
net80211 / LinuxKPI: 802.11: revert / redo enum ieee80211_sta_rx_bw
The initial thought of migrating the LinuxKPI 802.11 enum into net80211 for shared use did not work out well. Currently in the need for yet another adjustment, I decided to undo/de-couple net80211 and LinuxKPI 802.11 again.
The enum name now gets used in LinuxKPI based wifi drivers and it turns out it is spelt differntly than what I used initially. This creates a conflict.
net80211 still in the need to be able to express BW_320 in an uint8_t will likely be fine with the current solution as well. Rename the enum and prefixes in net80211 to "net80211" instead of "ieee80211". Apart from the names/prefix we leave the values the same.
In LinuxKPI add the enum with the expected name and use it there throughout to make modern versions of LinuxKPI based wifi drivers compile.
Sponsored by: The FreeBSD Foundation Fixes: ca389486a9599, 2c8b0d6205f6f MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D52064
show more ...
|
| #
4f768b8a
|
| 25-Aug-2025 |
Gordon Bergling <gbe@FreeBSD.org> |
mwl(4): Fix a typo in a source code comment
- s/firwmare/firmware/
MFC after: 3 days
|
| #
70674500
|
| 02-Jan-2025 |
Adrian Chadd <adrian@FreeBSD.org> |
sys: convert ni->ni_txrate references use to the new net80211 API
This just mechanically converts things.
* For linuxkpi, it was just used for display. * For uath, it was just used for display, as
sys: convert ni->ni_txrate references use to the new net80211 API
This just mechanically converts things.
* For linuxkpi, it was just used for display. * For uath, it was just used for display, as firmware doesn't report it up.
Differential Revision: https://reviews.freebsd.org/D48602 Reviewed by: bz, thj
show more ...
|
| #
ca389486
|
| 03-Dec-2024 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211 / LinuxKPI 802.11: use enum ieee80211_sta_rx_bw for ni_chw
net80211 node ni_chw currently encodes the channel width as Mhz number. LinuxKPI 802.11 uses enum ieee80211_sta_rx_bw for the same
net80211 / LinuxKPI 802.11: use enum ieee80211_sta_rx_bw for ni_chw
net80211 node ni_chw currently encodes the channel width as Mhz number. LinuxKPI 802.11 uses enum ieee80211_sta_rx_bw for the same.
Rather than keeping the "20" and "40" throughout the code (eventually expanded to 80/160/320) switch them over to use the enum throughout and add a print mask for debug output. While designed as bitmask it is not supposed to be used as such; the bitmask is only used to be able to use %b with a print mask.
Once we get to 320Mhz channel widths we would otherwise also need to extend the uint8_t in struct ieee80211_node; making enum ieee80211_sta_rx_bw __packed allows us for three more channel widths without breaking the KBI (if we were not to use %b with a print_mask but use a lookup function for the string we could extend it for a long time).
Sponsored by: The FreeBSD Foundation MFC after: 14 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47891
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 ...
|
| #
2589197a
|
| 06-Jun-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: migrate the group/unicast key check into inline functions
The way that net80211 and drivers are checking for the /type/ of key is to check if it's in the vap WEP key array and if so, it's
net80211: migrate the group/unicast key check into inline functions
The way that net80211 and drivers are checking for the /type/ of key is to check if it's in the vap WEP key array and if so, it's a group key. If not, it's a unicast key.
That's not only kind of terrible, but it's also going to be problematic with future 802.11 support (for multiple unicast keys and IGTK keys for management frame protection.)
So as part of this, remove the places where this is done and instead use a pair inline functions - ieee80211_is_key_global() and ieee80211_is_key_unicast(). They currenly still use the same logic but the drivers and net80211 stack isn't doing it itself.
There are still open questions about why keys are not being correctly tagged as GROUP, GTK, PTK, etc. That will be investigated and addressed in follow-up work as a pre-cursor to MFP, IGTK, etc. as mentioned above.
Testing:
* iwn, rtwn - STA mode
Differential Revision: https://reviews.freebsd.org/D45516
show more ...
|
| #
1c6dd33d
|
| 03-Nov-2023 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Revert "Widen EPOCH(9) usage in PCI WLAN drivers."
This reverts commit b65f813c1ab99448278961c5ca80dc422b1eae29. As a side effect this also seems to fix wtap which seems to have lost the epoch over
Revert "Widen EPOCH(9) usage in PCI WLAN drivers."
This reverts commit b65f813c1ab99448278961c5ca80dc422b1eae29. As a side effect this also seems to fix wtap which seems to have lost the epoch over the input path in between.
Sponsored by: The FreeBSD Foundation MFC after: 3 days
show more ...
|
| #
ca062b4d
|
| 27-Oct-2023 |
Warner Losh <imp@FreeBSD.org> |
mwl: Remove stale reference to splnet/splvm.
Sponsored by: Netflix
|
| #
685dc743
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\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 ...
|
| #
13f2ef16
|
| 19-Aug-2022 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Mechanically convert mwl(4) to IfAPI
Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37840
|
| #
52c80d49
|
| 19-Jul-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Suppress unused variable warning in if_mwl.c
With clang 15, the following -Werror warning is produced:
sys/dev/mwl/if_mwl.c:3445:8: error: variable 'ix' set but not used [-Werror,-Wunused-but-s
Suppress unused variable warning in if_mwl.c
With clang 15, the following -Werror warning is produced:
sys/dev/mwl/if_mwl.c:3445:8: error: variable 'ix' set but not used [-Werror,-Wunused-but-set-variable] u_int ix; ^
Here, 'ix' is a variable that is only used when debugging. Mark the variable as potentially unused, to suppress the warning.
MFC after: 3 days
show more ...
|
| #
cec04a5d
|
| 15-Dec-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
mwl: plug some of set-but-not-used vars
Sponsored by: Rubicon Communications, LLC ("Netgate")
|
| #
fe5ebb23
|
| 24-Sep-2020 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
Provide MS() and SM() macros for 80211 and wireless drivers.
We have (two versions) of MS() and SM() macros which we use throughout the wireless code. Change all but three places (ath_hal, rtwn, an
Provide MS() and SM() macros for 80211 and wireless drivers.
We have (two versions) of MS() and SM() macros which we use throughout the wireless code. Change all but three places (ath_hal, rtwn, and rsu) to the newly provided _IEEE80211_MASKSHIFT() and _IEEE80211_SHIFTMASK() macros. Also change one internal case using both _S and _M instead of just _S away from _M (one of the reasons rtwn and rsu were not changed).
This was done semi-mechanically. No functional changes intended.
Requested by: gnn (D26091) Reviewed by: adrian (pre line wrap) MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Differential Revision: https://reviews.freebsd.org/D26539
show more ...
|
| #
c6167b4b
|
| 07-Sep-2020 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
WiFi: fix ieee80211_media_change() callers
In r178354 with the introduction of multi-bss ("vap") support factoring out started and with r193340 ieee80211_media_change() no longer returned ENETRESET
WiFi: fix ieee80211_media_change() callers
In r178354 with the introduction of multi-bss ("vap") support factoring out started and with r193340 ieee80211_media_change() no longer returned ENETRESET but only 0 or error. As ieee80211(9) tells the ieee80211_media_change() function should not be called directly but is registered with ieee80211_vap_attach() instead.
Some drivers have not been fully converted. After fixing the return checking some of these functions were simply wrappers between ieee80211_vap_attach() and ieee80211_media_change(), so remove the extra function, where possible as well.
PR: 248955 Submitted by: Tong Zhang (ztong0001 gmail.com) (original) MFC after: 3 days Sponsored by: The FreeBSD Foundation
show more ...
|
| #
1046c450
|
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
mwl: clean up empty lines in .c and .h files
|
| #
75dfc66c
|
| 27-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358269 through r358399.
|
| #
7029da5c
|
| 26-Feb-2020 |
Pawel Biernacki <kaktus@FreeBSD.org> |
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly mark
Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are still not MPSAFE (or already are but aren’t properly marked). Use it in preparation for a general review of all nodes.
This is non-functional change that adds annotations to SYSCTL_NODE and SYSCTL_PROC nodes using one of the soon-to-be-required flags.
Mark all obvious cases as MPSAFE. All entries that haven't been marked as MPSAFE before are by default marked as NEEDGIANT
Approved by: kib (mentor, blanket) Commented by: kib, gallatin, melifaro Differential Revision: https://reviews.freebsd.org/D23718
show more ...
|
| #
44e86fbd
|
| 13-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357662 through r357854.
|
| #
6c3e93cb
|
| 11-Feb-2020 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process incoming packets in taskqueue context.
Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D23518
|
| #
59abbffa
|
| 31-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357270 through r357349.
|
| #
b65f813c
|
| 30-Jan-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Widen EPOCH(9) usage in PCI WLAN drivers.
Make sure all occurrences of ieee80211_input_xxx() in sys/dev are covered by a network epoch section. Do not depend on the interrupt handler nor any taskque
Widen EPOCH(9) usage in PCI WLAN drivers.
Make sure all occurrences of ieee80211_input_xxx() in sys/dev are covered by a network epoch section. Do not depend on the interrupt handler nor any taskqueues being in a network epoch section.
This patch should unbreak the PCI WLAN drivers after r357004.
Pointy hat: glebius@ Sponsored by: Mellanox Technologies
show more ...
|
| #
c981cbbd
|
| 15-Feb-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r343956 through r344177.
|