Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Main nss #177

Merged
merged 225 commits into from
Nov 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
225 commits
Select commit Hold shift + click to select a range
5b6f835
include/package-pack: actually call default_postinist/prerm when usin…
robimarko Nov 20, 2024
fc2ba10
include/package-pack: add support for postrm with APK
robimarko Nov 21, 2024
2784f78
build: fix filtering of non-upgradable packages
efahl Nov 21, 2024
3467ea9
mediatek: fix pwn fan settings for sinovoip bpi-r3
mkshevetskiy Nov 15, 2024
52b6c92
Revert "mediatek: fix pwn fan settings for sinovoip bpi-r3"
robimarko Nov 21, 2024
adf958c
wifi-scripts: Fix parsing of Capabilities
hauke Nov 22, 2024
611bfa4
kernel: bump 6.6 to 6.6.62
graysky2 Nov 17, 2024
eb39558
kernel: bump 6.6 to 6.6.63
graysky2 Nov 22, 2024
7bb99bc
ramips: sync upstream Ralink clock patches
DragonBluep Nov 22, 2024
75af6a0
x86: add all ports to the Gowin 1U default network config
tk154 Nov 15, 2024
d8a9669
mediatek: change Routerich AX3000 ubi size
RomanovDanila Oct 21, 2024
dedb90e
build: add generic build template for optee-os packages
thom24 Sep 26, 2024
fae25d4
optee-os-stm32: add OP-TEE for stm32 boards
thom24 Sep 26, 2024
ac79ad0
uboot-stm32: add U-Boot for stm32 boards
thom24 Sep 26, 2024
08dcb73
arm-trusted-firmware-stm32: add ATF for stm32 boards
thom24 Sep 26, 2024
456e0aa
mac80211: enable CONFIG_BRCMFMAC_SDIO for stm32
thom24 Sep 24, 2024
960f5f9
murata-firmware: add new package
thom24 Oct 10, 2024
be93795
murata-nvram: add new package
thom24 Oct 10, 2024
ff96bd8
kernel: package industrialio-hw-consumer driver
thom24 Oct 25, 2024
e606366
kernel: package snd-soc-dmic driver
thom24 Oct 25, 2024
6b9df46
kernel: unset CONFIG_DEVFREQ_THERMAL in kmod-thermal package
thom24 Oct 25, 2024
7bcc68e
kernel: package crypto_engine driver
thom24 Nov 5, 2024
b0adf5e
kernel: package industrialio-buffer-cb driver
thom24 Nov 5, 2024
bb3418f
kernel: package media controller driver
thom24 Nov 5, 2024
1095925
kernel: add kmod-media-controller dependency for kmod-usb-audio
thom24 Nov 5, 2024
e109831
kernel: package v4l2-async and v4l2-fwnode drivers
thom24 Nov 5, 2024
851e7f7
stm32: add new stm32 target
thom24 Sep 26, 2024
5eb25dd
kernel: modules: appletalk: add for Netatalk v4
Nov 16, 2024
5564439
mxs: run kernel_oldconfig
neheb Oct 23, 2024
6280b4a
mvebu: devm for mutex_init
neheb Oct 19, 2024
3a9752e
ramips: mt76x8: Add support for Zbtlink ZBT-WE2426-B
svobodavac Nov 11, 2024
832cc8c
ath79: refactor dts of TP-Link CPE710-v1
timnoack Oct 21, 2024
5572e01
ath79: add support for TP-Link CPE710-v2
timnoack Oct 21, 2024
c89ed7a
linux-firmware: Add support for Intel AX411
SG-O Apr 13, 2024
ce3b36b
mediatek: split Acer/W6 dts into W6 common dtsi and device specific dts
goldwrt Nov 11, 2024
e7aaba2
mediatek: make use of Acer Predator Connect W6's u-boot environment
goldwrt Nov 11, 2024
d42075d
mediatek: improve device tree for Acer Predator Connect W6
goldwrt Nov 11, 2024
2898d1d
mediatek: add support for Acer Predator W6d and Acer Vero W6m
goldwrt Nov 11, 2024
b8b658b
mediatek: fix Cudy AP3000 Outdoor label-mac
blocktrron Nov 23, 2024
faf4b3e
mediatek: filogic: add support for Cudy WR3000S v1
igieon Nov 13, 2024
a48ec44
config: rename SECCOMP to USE_SECCOMP
robimarko Nov 23, 2024
a4bd42b
config: dont select procd-seccomp via USE_SECCOMP
robimarko Nov 23, 2024
ed52345
x86: Deactivate kernel options with extra overhead
hauke Nov 24, 2024
a9d3c5b
dropbear: bump to 2024.86
hauke Nov 23, 2024
eb7aa07
CI: labeler: Add stm32 target
hauke Nov 24, 2024
ea2c860
stm32: Remove unnecessary kernel options
hauke Nov 24, 2024
b7dd70a
kernel: usb: kmod-usb-audio: Fix dependency
hauke Nov 24, 2024
0c57510
ramips: mt76x8: disable unused Ralink systick driver
DragonBluep Nov 3, 2024
ec839c7
ramips: dna_valokuitu-plus-ex400: clean-up image creation
msandber Oct 28, 2024
c058152
uboot-mediatek: add Routerich AX3000 support
csharper2005 Oct 26, 2024
d413163
mediatek: Routerich AX3000: add OpenWrt U-Boot layout
csharper2005 Oct 26, 2024
eed39d4
kernel: enable pressure interface
graysky2 Oct 29, 2023
1f53b7f
qualcommax: ipq60xx: remove source-only flag
robimarko Nov 24, 2024
118c657
Revert "openwrt-keyring: fix missing 24.10 usign key by installing it"
ynezz Nov 4, 2024
72dec10
openwrt-keyring: apk: use just snapshot key explicitly
ynezz Nov 4, 2024
5695267
ramips: mt7621: support openwrt,netdev-name for renaming interfaces
robimarko Nov 24, 2024
341cc04
Revert "target,base-files: unify handling of procd-ujail"
ynezz Nov 25, 2024
1bdb6d8
mediatek: remove ktd-202x driver filogic image (Aer Vero W6m)
goldwrt Nov 26, 2024
c857145
build: profiles.json: add kernel version information
efahl Nov 22, 2024
c19c31f
base-files: add migration information for APK
aparcar Nov 27, 2024
3929ef4
uci: update to Git HEAD (2024-11-26)
Ansuel Nov 27, 2024
f4492b6
netifd: update to Git 768027c5a7640137857f412f554227abd6160cdd (2024-…
systemcrash Nov 25, 2024
6f9384f
base-files: fix manger->manager typo
ynezz Nov 28, 2024
ee9eb91
gmp: use same source tarball for tools/gmp and package/libs/gmp
dangowrt Nov 27, 2024
e48903a
meson: honor MESON_ARGS and MESON_HOST_ARGS when calling ninja
dangowrt Nov 27, 2024
08f1228
tools: ccache update to 4.10.2
ynezz Nov 28, 2024
620a7ef
config: build: remove experimental warning from USE_APK option
ynezz Nov 28, 2024
56d97ff
generic: backport support for KTD2026/7 rgb(w) led controller
goldwrt Nov 26, 2024
e44180d
mediatek: filogic: add KTD2026/7 driver to Acer Connect Vero W6m
goldwrt Nov 26, 2024
30ae0b3
mediatek: filogic: Cudy WR3000S v1: fix CRLF line endings
ynezz Nov 27, 2024
79db5d6
ramips: move zyimage creation to include/image-commands.mk
Linaro1985 Jun 3, 2024
0d651dd
mediatek/filogic: enable mtd virtual concat support
Linaro1985 Oct 31, 2024
5a4eb56
mediatek/filogic: add Keenetic KN-3911 support
Linaro1985 Oct 31, 2024
0a7912b
feeds: Add nss-packages repo
qosmio Jul 14, 2024
c0fcca6
nat46: patches for QCA NSS ECM
bitthief Feb 3, 2023
cbf38c6
package: kernel: nat46: use standard build functions
qosmio May 6, 2024
a1e52ba
iproute2: add NSS QDISC support
bitthief Feb 3, 2023
ed5493c
qualcommax: dts: add NSS nodes to IPQ807x devices
bitthief Jul 17, 2023
5e9f04d
qualcommax: net: QCA NSS igs support
bitthief Jul 17, 2023
c8ed489
qualcommax: net: QCA NSS qdisc ifb support
bitthief Jul 17, 2023
a0f4a24
ath11k-nss: Add NSS WiFi feature
qosmio Dec 16, 2023
36e7881
ath11k_nss: handle qca-nss-drv symbol dependancies
qosmio Jan 8, 2024
8eb9fb1
ath11k_nss: fix ordering of sysctl values
qosmio Jan 8, 2024
005d831
ath11k_nss: bugfix overwriting high watermark
qosmio Jan 9, 2024
a184d24
ath11k_nss: Handle 256/512/1G boards automatically
qosmio Jan 11, 2024
00bb04d
ath11k_nss: Add support to account memory stats
qosmio Jan 11, 2024
a20bf2f
ath11k_nss: allow specifying pbuf 'memory_profile'
qosmio Jan 11, 2024
9de9301
ath11k_nss: ath11k support dynamic vlan
qosmio Jan 13, 2024
daa31d5
ath11k_nss: fix `'ppdu_info' is a pointer...` error
qosmio Jan 13, 2024
7580062
ath11k_nss: bugfix NSS memleak + enhancements
qosmio Jan 16, 2024
6ca790d
ath11k_nss: set pbuf script off by default
qosmio Jan 17, 2024
f9469f1
ath11k_nss: squash and refactor patches
qosmio Jan 17, 2024
a1e4131
qualcommax: Introduce skbuff_recycle for performance
qosmio Mar 9, 2024
a71c19c
ath11k_nss: set pbuf to 'auto'
qosmio Mar 25, 2024
acb446f
ath11k_nss: refresh and fixup patches
qosmio Mar 25, 2024
c11d7dd
qualcommax: NSS: kernel 6.6 support (squash)
qosmio Mar 25, 2024
d37d689
qualcommax: remove uneeded btcoex dts
qosmio Mar 9, 2024
633a5aa
qualcommax: Move QCE to user selectable module
qosmio Mar 25, 2024
579846f
qualcommax: NSS: kernel 6.6 support
qosmio Mar 25, 2024
fc2041a
cryptodev-linux: Add hooks for QCA NSS
qosmio Mar 25, 2024
d97b933
feeds: NSS: point to 6.x branch
qosmio Mar 25, 2024
afa5c9b
qualcommax: disable swiotlb for 64mb in saving.
qosmio Mar 31, 2024
cb3afe3
qualcommax: qca-mcs support for kernel >= 6.6.29
qosmio Apr 30, 2024
eb7fa7c
feeds: nss-packages: switch to branch 12.5-6.x
qosmio May 5, 2024
e2a4301
ath11k_nss: fix invalid access to memory
qosmio May 5, 2024
f8c62a2
qualcommax: NSS: Add support for all ipq807x targets
qosmio May 7, 2024
1af0cdf
ath11k_nss: revert AMPDU in radiotap header
qosmio May 15, 2024
8b7090a
qualcommax: NSS: Set required NSS packages and options
qosmio May 25, 2024
dd9e6a0
iproute2: Fixup NSS patches for GCC 14.x
qosmio Jun 1, 2024
f1a85a3
ath11k_nss: mac80211 fix pending airtime
qosmio Jun 2, 2024
9ae5472
ath11k_nss: mac80211: remove STA txq pending airtime underflow warning
qosmio Jun 2, 2024
95271d0
ath11k_nss: change warning levels
qosmio Jun 2, 2024
21fee38
ath11k_nss: fix incorrect tx/rx stats WDS
qosmio Jun 2, 2024
9401db8
ath11k_nss: correctly free skb using ieee80211_free_txskb()
qosmio Jun 2, 2024
91aa570
ath11k_nss: Add lock when accessing idr_pool of tx_ring
qosmio Jun 2, 2024
518fd68
ath11k_nss: mac80211 Use C99 flexible arrays instead of zero-length a…
qosmio Jun 2, 2024
09a60a6
qualcommax: NSS: Add support for sxk80, mx8500
qosmio Jun 2, 2024
b5dbfab
qualcommax: NSS: Add DTS entries for nss-macsec
qosmio Jun 2, 2024
5e14dc7
qualcommax: NSS: ECM: Fixes for Bridge VLAN Filtering
qosmio Jun 2, 2024
82264e3
ath11k_nss: Fix IPQ6018 wifi offloading
qosmio Jun 7, 2024
0332bc3
qualcommax: add ramoops memory region
qosmio Jun 10, 2024
1d0a526
ath11k_nss: modularize nss-pbuf options
qosmio Jun 22, 2024
622290b
ath11k_nss: Organize patch order and formatting
qosmio Jun 22, 2024
ce56601
ath11k_nss: Drop unnecessary iphone fix patch
qosmio Jun 27, 2024
fd7a898
wifi_nss: Add threaded NAPI for ath10k and ath11k
qosmio Jun 27, 2024
5bffb7d
ath11k_nss: Add mac80211 based AQL support
qosmio Jun 27, 2024
b1f88fd
qualcommax: Fix threaded NAPI scheduling
qosmio Jun 28, 2024
619e064
qualcommax: clean up kernel config, align with QSDK
qosmio Jul 3, 2024
361a737
qualcommax: NSS: introduce helper functions for NAPI threading
qosmio Jul 3, 2024
932a436
wifi_nss: Use NAPI threaded helper functions
qosmio Jul 3, 2024
660ace1
ath11k_nss: fix incorrectly applied ath11k_pci threaded napi patch
qosmio Jul 3, 2024
4e294d7
qualcommax: NSS: Add default packages drv, ecm, bridge-mgr
qosmio Jul 3, 2024
4505f83
ath10k-ct: Bump patch for 6.4 to 6.7
qosmio Jul 3, 2024
700511f
ath10k-ct: Use NAPI threaded helper functions
qosmio Jul 3, 2024
f9d8350
ath11k_nss: add tracing for update_muedca_params_event
qosmio Jul 4, 2024
98d63a9
Revert "qualcommax: NSS: introduce helper functions for NAPI threading"
qosmio Jul 5, 2024
4d142e1
wifi_nss: Revert using napi threaded helper function
qosmio Jul 5, 2024
ecb6eee
ath11k_nss: fix monitor mode
qosmio Jul 6, 2024
69354d8
hostapd: handle updated MU-EDCA params from driver
qosmio Jul 6, 2024
f2f9d7a
Revert "ath11k_nss: Add mac80211 based AQL support"
qosmio Jul 8, 2024
c8d4231
ath11k_nss: add missing NL80211_ATTR_HE_MUEDCA_PARAMS
qosmio Jul 8, 2024
605cc35
qualcommax: add coherent_pool=2M swiotlb=noforce
qosmio Jul 8, 2024
44c4f6c
qualcommax: skbuff_recycle: allow specifiying max size
qosmio Jul 9, 2024
cadec3e
qualcommax: NSS: Enable NSS for Asus RT-AX89X
qosmio Jul 10, 2024
e215a5c
ath11k_nss: Refresh patches
qosmio Jul 10, 2024
f02860f
ath11k_nss: Check for NSS FW 11.4 and build accordingly
qosmio Jul 10, 2024
2707e8f
ath11k_nss: Bump version 6.6.15 to 6.9.9
qosmio Jul 13, 2024
6cf1cb7
ath11k_nss: optimize qca-nss-pbuf init script
qosmio Jul 13, 2024
8aeff71
qualcommax: Switch to upstream default config
qosmio Jul 13, 2024
418408e
qualcommax: Add new menu item for IPQ settings
qosmio Jul 13, 2024
964b414
qualcommax: skbuff_recycle: add proc option to enable/disable
qosmio Jul 13, 2024
5392a55
qualcommax: skbuff: at latest changes from QSDK
qosmio Jul 13, 2024
a3b871d
iproute2: NSS: sync patch from QSDK 12.5
qosmio Jul 13, 2024
0abdb54
qualcommax: enable skb_recycle for IPQ > 256M
qosmio Jul 14, 2024
a80c2d9
qualcommax: add notes about SKB_RECYCLER_PREALLOC and SKB_FIXED_SIZE_2K
qosmio Jul 14, 2024
cc8c039
qualcommax: NSS: Refresh patches against 6.6.41
qosmio Jul 22, 2024
f452ebf
ath11k_nss: Revert logic from coconut branch in NSS redirect
qosmio Jul 22, 2024
365b748
ath11k_nss: Possible fix for WDS
qosmio Aug 1, 2024
63f2273
ath11k_nss: Fix RX thermal throttling on newer 2.12 firmware
qosmio Aug 1, 2024
aa70681
ath11k_nss: WAR for association failure issue with WDS
qosmio Aug 1, 2024
398746f
ath11k_nss: fix bss transition firmware crash
BrainSlayer Aug 6, 2024
2b5a4e8
ath11k_nss: utilize existing function to get arvif from dev
qosmio Aug 9, 2024
bc14b30
qualcommax: NSS: refresh patches for 6.6.51
qosmio Aug 9, 2024
69aa14c
hostapd: fix MUEDCA patch for hostapd 2024-09-15
qosmio Sep 19, 2024
98a552a
ath11k_nss: skip status ring entry processing (V5)
qosmio Sep 20, 2024
34e1ec0
ath11k_nss: Refresh patches for 6.9.9
qosmio Sep 20, 2024
8947ccd
nat46: Bump to version 2024-08-12
qosmio Sep 21, 2024
5d601d7
ath11k_nss: Remove unecessary ignore frags patch
qosmio Sep 28, 2024
67be5d9
ath11k_nss: Fix patches for backports 6.11
qosmio Sep 26, 2024
c7edda5
ath11k_nss: Refresh patches for backports 6.11
qosmio Sep 27, 2024
0d665b2
ath11k_nss: Revert patch for 512M + 2KB RX header
qosmio Sep 27, 2024
e6a6427
ath11k_nss: Consolidate Allow-fast-rx-by-bypassing-stats-update
qosmio Sep 30, 2024
b1e66a5
ath11k_nss: remove call trace while rebooting AP
qosmio Sep 29, 2024
3ca38b0
ath11k_nss: mac80211: fix NULL pointer access, Klocwork issue
qosmio Sep 28, 2024
7a6d813
ath11k_nss: fix WDS instability by disabling NAWDS mode
qosmio Sep 29, 2024
bb76331
Revert "ath11k_nss: Revert patch for 512M + 2KB RX header"
qosmio Sep 30, 2024
a6bb6e7
ath11k_nss: Fix iface stats showing up as 0
qosmio Sep 30, 2024
f7935a1
docs: Update README for NSS specific info
qosmio Oct 1, 2024
b2ce31d
nss-setup: Add example NSS configs/scripts
qosmio Aug 10, 2024
3537584
nss-setup: Refactor and add options for setting up nodes to use DHCP
qosmio Aug 12, 2024
ebc8a30
nss-setup: fix led configs not generating
qosmio Aug 12, 2024
5abad45
nss-setup: Add additional notes
qosmio Sep 20, 2024
b88b2fe
feeds: fix disable nss feed from being packaged
qosmio Sep 26, 2024
d04f3eb
nss-setup: change default optimization to '-O2'
qosmio Oct 1, 2024
5b71fb7
nss-setup: Make sure user selects their own target
qosmio Oct 1, 2024
90fa4b0
ath11k_nss: 6.11.2: fix 235-003-ath11k-add-AP_VLAN-vif-support-for-WD…
qosmio Oct 4, 2024
f6db916
ath11k_nss: 6.11.2: fix 999-783-001-wifi-ath11k-Fix-BCCA-counter-for-…
qosmio Oct 4, 2024
bebcc71
ath11k_nss: Delete 999-783-001-wifi-ath11k-Fix-BCCA-counter-for-EMA.p…
qosmio Oct 5, 2024
af62b1d
ath11k_nss: Possible workaround to 0 wifi stats
qosmio Oct 4, 2024
30b0404
ath11k_nss: Add diagnostic gathering utility
qosmio Oct 5, 2024
d8c906a
ath11k_nss: Enhance nss_diag to properly list ifaces
qosmio Oct 5, 2024
d20d1cc
ath11k_nss: only show peer ast warning if NSS is off
qosmio Oct 9, 2024
b21957f
ath11k_nss: Refresh patches for backports 6.11.2
qosmio Oct 1, 2024
ac6d0a0
iproute2: NSS fixup for 6.11.0
qosmio Oct 5, 2024
63aafa2
docs: Change default branch
qosmio Oct 1, 2024
20fd3d4
docs: Add donation links
qosmio Oct 8, 2024
3f026a0
ath11k_nss: consistently use ath11k_sta_to_arsta
qosmio Oct 9, 2024
9dffdb2
qualcommax: Remove swiotlb 64m savings patch
qosmio Oct 11, 2024
8d2b08c
ath11k_nss: Remove generic-ndo-get_stats64 patch
qosmio Oct 11, 2024
3f5ea5e
qualcommax: add console-size + increase record-size
qosmio Oct 12, 2024
85d68d0
qualcommax: NSS: refresh patches for 6.6.56
qosmio Oct 12, 2024
65ccaa6
ath10k: change 'peer unmap' warning to debug
qosmio Oct 12, 2024
1288928
nss-setup: Reorg and make uci-defaults pluggable
qosmio Oct 12, 2024
822d255
nss-setup: Optimize mesh node/sat configs
qosmio Oct 12, 2024
c65cb6b
nss-setup: Include example for setting up VLANs
qosmio Oct 12, 2024
fddd92b
nss-setup: clean up mesh base and sat config
qosmio Oct 13, 2024
543fb5b
nss-setup: explicitly require nss-ecm
qosmio Oct 14, 2024
e753031
nss-setup: reorg seed file with additional instructions and clarifica…
qosmio Oct 16, 2024
97581b3
qualcommax: ath10k-ct: bump patch for 6.7 to 6.10
AgustinLorenzo Oct 19, 2024
23ac8af
ath11k_nss: add disable_mesh_chksum_ath11k.hotplug
qosmio Oct 20, 2024
4a52fbd
ath11k_nss: Improve NSS event callback handling
qosmio Oct 20, 2024
94250a6
ath10k-ct: fix incompatible pointer type
qosmio Oct 20, 2024
c5f63d1
qualcommax: set non-ct ath10k as default
qosmio Oct 20, 2024
45038db
ath11k_nss: replace rcu_read_unlock with spin_unlock
qosmio Oct 20, 2024
92b1fd0
nss-setup: Initial README for examples
qosmio Oct 21, 2024
36bdb67
ath11k_nss: Rebase against 87033c3
qosmio Oct 25, 2024
6f198cc
nss-setup: update wifi configs for WPA3
qosmio Oct 26, 2024
30d32b4
ath11k_nss: Refactor nss_diag interface display
qosmio Oct 27, 2024
caed624
nss-setup: fix network in wifi + formatting
qosmio Oct 29, 2024
24799f5
nss-setup: Detail advanced setup with trunk ports
bgcngm Nov 3, 2024
59cbad9
qualcommax: NSS: refresh patches for 6.6.60
qosmio Nov 14, 2024
ba583c4
ath11k_nss: Fix null pointer dereference in BSS transition handling
qosmio Nov 15, 2024
57a2f05
nss-setup: switch to using apk package manager
qosmio Nov 20, 2024
2dbb073
ath11k_nss: nss_diag: check for opkg/apk
qosmio Nov 20, 2024
dbb4a11
ath11k_nss: Refresh patches against rebase 53eab61
qosmio Nov 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,13 @@
- changed-files:
- any-glob-to-any-file:
- "target/linux/starfive/**"
"target/stm32":
- changed-files:
- any-glob-to-any-file:
- "target/linux/stm32/**"
- "package/boot/arm-trusted-firmware-stm32/**"
- "package/boot/optee-os-stm32/**"
- "package/boot/uboot-stm32/**"
"target/sunxi":
- changed-files:
- any-glob-to-any-file:
Expand Down
2 changes: 2 additions & 0 deletions Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,5 @@ source "target/sdk/Config.in"
source "target/toolchain/Config.in"

source "tmp/.config-package.in"

source "config/Config-ipq.in"
206 changes: 133 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,108 +1,168 @@
![OpenWrt logo](include/logo.png)
# NSS Fork for IPQ807x
| Branch | mac80211 Version | Notes |
|-----------------------------------------------------------------------------------------|------------------|----------------------------------------------------------------------|
| [qualcommax-6.x-nss-wifi](https://github.com/qosmio/openwrt-ipq/tree/qualcommax-6.x-nss-wifi) |6.11|Current with upstream|
| [qualcommax-6.x-nss-mx4300](https://github.com/qosmio/openwrt-ipq/tree/qualcommax-6.x-nss-mx4300) |6.11|Current with upstream. [Supports Linksys MX4300](https://github.com/openwrt/openwrt/pull/16070) |
| [qualcommax-6.x-nss-wifi-6.9](https://github.com/qosmio/openwrt-ipq/tree/qualcommax-6.x-nss-wifi-6.9) |6.9.9|Current with upstream, except older mac80211|
| [qualcommax-6.x-nss-mx4300-6.9](https://github.com/qosmio/openwrt-ipq/tree/qualcommax-6.x-nss-mx4300-6.11) |6.9.9|Current with upstream, except older mac80211. [Supports Linksys MX4300](https://github.com/openwrt/openwrt/pull/16070) |

OpenWrt Project is a Linux operating system targeting embedded devices. Instead
of trying to create a single, static firmware, OpenWrt provides a fully
writable filesystem with package management. This frees you from the
application selection and configuration provided by the vendor and allows you
to customize the device through the use of packages to suit any application.
For developers, OpenWrt is the framework to build an application without having
to build a complete firmware around it; for users this means the ability for
full customization, to use the device in ways never envisioned.
NOTE: The 6.9 branches are meant for folks having issues with the current 6.11.2 version of backports/mac80211. These are mostly just meant as a workaround for the time being. I don't plan on supporting these branches longterm.

Sunshine!
The MX4300 branches will soon be merged in once the PR for MX4300 is approved upstream.

## Download
## Table of Contents
- [Overview](#overview)
- [What's NSS?](#whats-nss)
- [How Does OpenWrt "Offload" Traffic?](#how-does-openwrt-offload-traffic)
- [How Is NSS Different from OpenWrt's Offloading Options?](#how-is-nss-different-from-openwrts-offloading-options)
- [Do I Need NSS?](#do-i-need-nss)
- [OK, I Want NSS. Does My Device Support It?](#ok-i-want-nss-does-my-device-support-it)
- [Quickstart](#quickstart)
- [Important Note](#important-note)
- [Donate](#donate)

Built firmware images are available for many architectures and come with a
package selection to be used as WiFi home router. To quickly find a factory
image usable to migrate from a vendor stock firmware to OpenWrt, try the
*Firmware Selector*.
---

* [OpenWrt Firmware Selector](https://firmware-selector.openwrt.org/)
## Overview
This repository contains a fork of OpenWrt that integrates Qualcomm's NSS (Network Subsystem) support for the IPQ807x and IPQ6018 series of SoCs. The goal of this project is to provide enhanced network performance and reliability through hardware offloading, leveraging NSS's capabilities to improve throughput and reduce CPU load.

If your device is supported, please follow the **Info** link to see install
instructions or consult the support resources listed below.
---
#### What's NSS?

##
NSS (**N**etwork **S**ub**s**ystem) is a specialized hardware offloading engine developed by Qualcomm, integrated into their IPQ series SoCs (System-on-Chip), such as the IPQ807x and IPQ6018. NSS is designed to handle high-throughput network tasks like NAT, routing, and even security tasks such as IPsec, without burdening the main CPU cores.

An advanced user may require additional or specific package. (Toolchain, SDK, ...) For everything else than simple firmware download, try the wiki download page:
---
#### How Does OpenWrt "Offload" Traffic?

* [OpenWrt Wiki Download](https://openwrt.org/downloads)
OpenWrt offers three primary methods for offloading network traffic, each aimed at reducing CPU load and improving throughput:

## Development
1. **Packet Steering**: Distributes network processing across multiple CPU cores. It helps balance the load on multi-core CPUs but still relies on the CPU to handle packet processing.

To build your own firmware you need a GNU/Linux, BSD or macOS system (case
sensitive filesystem required). Cygwin is unsupported because of the lack of a
case sensitive file system.
2. **Software Flow Offloading**: Accelerates traffic processing by using the CPU’s fast path, allowing more efficient handling of routing and NAT (Network Address Translation) by bypassing the kernel's normal slow path. This relies entirely on the CPU to speed up packet forwarding.

### Requirements
3. **Hardware Flow Offloading**: Available only on select devices (e.g., Mediatek), this method offloads packet forwarding directly to the network hardware using kernel-based mechanisms (nftables/iptables) to accelerate traffic. However, this is limited to devices that have hardware acceleration capabilities supported by OpenWrt.

You need the following tools to compile OpenWrt, the package names vary between
distributions. A complete list with distribution specific packages is found in
the [Build System Setup](https://openwrt.org/docs/guide-developer/build-system/install-buildsystem)
documentation.
---
#### Why Isn't NSS Supported in Vanilla OpenWrt?

```
binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev
make4.1+ perl python3.7+ rsync subversion unzip which
```
NSS requires proprietary binaries (NSS firmware) and extensive patches to the Linux kernel and networking stack. Qualcomm does not openly release the necessary firmware or detailed documentation on how to integrate NSS support, making it extremely difficult for the OpenWrt community to maintain. The required patches are invasive and complex, altering significant portions of the network stack, which makes upstream integration into OpenWrt unlikely. Maintaining compatibility with each new kernel version is another barrier, as Qualcomm’s support for these patches is minimal and sporadic.

### Quickstart
---

1. Run `./scripts/feeds update -a` to obtain all the latest package definitions
defined in feeds.conf / feeds.conf.default
#### How Is NSS Different from OpenWrt's Offloading Options?

2. Run `./scripts/feeds install -a` to install symlinks for all obtained
packages into package/feeds/
The main difference between NSS and OpenWrt's offloading methods is that NSS provides **hardware acceleration** directly within the SoC, bypassing the CPU almost entirely for certain network tasks. OpenWrt's offloading, on the other hand, relies heavily on the **CPU** to manage and accelerate traffic, either via multi-core CPU distribution (Packet Steering) or kernel-level acceleration (Software/Hardware Flow Offloading).

3. Run `make menuconfig` to select your preferred configuration for the
toolchain, target system & firmware packages.
NSS doesn’t play nice with OpenWrt’s built-in offloading because they conflict in how they handle packets, leading to performance issues or even outright failures.

4. Run `make` to build your firmware. This will download all sources, build the
cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen
applications for your target system.
---

### Related Repositories
#### Key Differences:

The main repository uses multiple sub-repositories to manage packages of
different categories. All packages are installed via the OpenWrt package
manager called `opkg`. If you're looking to develop the web interface or port
packages to OpenWrt, please find the fitting repository below.
- **Packet Steering**: While it redistributes packet processing across multiple CPU cores, it still involves the CPU heavily. With NSS, dedicated hardware cores handle packet processing, so packet steering can interfere by unnecessarily involving the CPU, reducing the benefits of offloading to hardware.

* [LuCI Web Interface](https://github.com/openwrt/luci): Modern and modular
interface to control the device via a web browser.
- **Software Flow Offloading**: This uses kernel-level mechanisms (nftables/iptables) to accelerate packet forwarding by utilizing the CPU’s fast path. NSS, however, bypasses the kernel’s networking stack and offloads these tasks directly to the hardware. If both are enabled, packet handling may be done redundantly in software and hardware, leading to inefficiencies or conflicts.

* [OpenWrt Packages](https://github.com/openwrt/packages): Community repository
of ported packages.
- **Hardware Flow Offloading**: Available only for certain devices like Mediatek, this method offloads packet processing to specific hardware via kernel drivers. However, this hardware-based acceleration is entirely separate from NSS and not as efficient on Qualcomm devices. Using it alongside NSS can lead to unpredictable behavior, as both try to accelerate traffic but in incompatible ways.

* [OpenWrt Routing](https://github.com/openwrt/routing): Packages specifically
focused on (mesh) routing.
---

* [OpenWrt Video](https://github.com/openwrt/video): Packages specifically
focused on display servers and clients (Xorg and Wayland).
#### Do I Need NSS?

## Support Information
Here are some reasons you might need NSS:

For a list of supported devices see the [OpenWrt Hardware Database](https://openwrt.org/supported_devices)
- You require high network throughput (e.g., gigabit speeds) on devices like the IPQ807x or IPQ6018 series.
- Your router handles resource-intensive tasks like NAT, VPN (IPsec), or other routing-heavy activities that would otherwise overwhelm the CPU.
- You’re seeking better performance than what OpenWrt’s software and hardware offloading options can provide.

### Documentation
However, it’s important to note that **NSS is NOT supported upstream** in OpenWrt. As of now, there are only a few community-driven projects that maintain NSS patches.

* [Quick Start Guide](https://openwrt.org/docs/guide-quick-start/start)
* [User Guide](https://openwrt.org/docs/guide-user/start)
* [Developer Documentation](https://openwrt.org/docs/guide-developer/start)
* [Technical Reference](https://openwrt.org/docs/techref/start)
I personally maintain an NSS fork of OpenWrt [qosmio/openwrt-ipq](https://github.com/qosmio/openwrt-ipq) and the necessary NSS packages [qosmio/nss-packages](https://github.com/qosmio/nss-packages).

### Support Community
---

* [Forum](https://forum.openwrt.org): For usage, projects, discussions and hardware advise.
* [Support Chat](https://webchat.oftc.net/#openwrt): Channel `#openwrt` on **oftc.net**.
#### OK, I Want NSS. Does My Device Support It?

### Developer Community
NSS is available for most Qualcomm IPQ807x and IPQ6018 devices. If your device is part of this chipset family and supported in OpenWrt, it can run NSS.

* [Bug Reports](https://bugs.openwrt.org): Report bugs in OpenWrt
* [Dev Mailing List](https://lists.openwrt.org/mailman/listinfo/openwrt-devel): Send patches
* [Dev Chat](https://webchat.oftc.net/#openwrt-devel): Channel `#openwrt-devel` on **oftc.net**.
Supported devices include, but are not limited to:
- Devices based on the **IPQ807x** (e.g., some high-end Netgear and TP-Link routers)
- Devices based on the **IPQ6018** (e.g., certain enterprise routers)

## License
---

OpenWrt is licensed under GPL-2.0
## Quickstart

1. Clone this repository:
```bash
git clone https://github.com/qosmio/openwrt-ipq -b qualcommax-6.x-nss-wifi
cd openwrt-ipq
```
2. Update feeds:
```bash
./scripts/feeds update
./scripts/feeds install -a
```
3. Copy over the seed file
```bash
cp nss-setup/config-nss.seed .config
```
4. Open the `.config` in a text editor, find your device, and remove the "#" and change `"is not set"` to `"=y"`

Example:
```diff
-# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_dynalink_dl-wrx36 is not set
+CONFIG_TARGET_qualcommax_ipq807x_DEVICE_dynalink_dl-wrx36=y
```
6. Generate the full config
```bash
make defconfig V=s
```
7. Now run full build
```bash
make download -j$(nproc) V=s
make -j$(nproc) V=s
```
---
### Important Note:

Many users report issues after enabling Packet Steering or Flow Offloading (Software or Hardware), often because they are used to these options or they get carried over during a sysupgrade. Even if the setup seems to work initially, it is not optimized for NSS offloading, and you are losing the full benefits of hardware acceleration.

If you plan to use NSS, **start fresh** and **disable all other offloading options**.

By default OpenWrt's offloading is disabled, but if you ever happen to enable it accidentally, make sure you disable it.

---
```bash
uci set network.@device[0].packet_steering=0
uci set network.@device[0].flow_offloading=0
uci set network.@device[0].flow_offloading_hw=0
uci commit network
```
If you have questions or issues, please join the discussion on OpenWrt's forums.
[Qualcomm NSS Build](https://forum.openwrt.org/t/qualcommax-nss-build)

## Please remember when posting about an issue:
1. Include your device make and model.
2. Relevant logs and screenshots.
3. State clearly and concisely the issue you're having.
> "My router doesn't work", "I'm getting an error"

Is not something I can help with.
4. Include the specific commit you're building from.
> "I'm building from latest"

Also not helpful as I'm always pushing changes...

5. Be respectful and mindful. I dedicate my free time to maintain and improve this project, and I do it for the benefit of the community. Remember that I'm not a full-time developer or support team—I'm just an individual sharing my work. Constructive feedback is always welcome, but please refrain from being overly critical or demanding.

## Support the Project

I never really thought about setting up donations before, but with so many people being receptive and appreciative and asking how to contribute, I figured, why not? Of course, this project also builds on the incredible work done by the talented devs upstream who put in countless hours into OpenWrt itself. I’ll definitely continue working on this, but if you’d like to support, every bit helps.

[![Donate with PayPal](./paypal.png)](https://www.paypal.com/donate?business=3V3H2SZFY7DNQ&item_name=Maintaining+NSS+fork+of+OpenWRT+and+NSS+packages.)
<a href="https://cash.app/$austinzk">
<img src="./cashapp.png" alt="Cashapp" width="150px"/>
</a>

Consider donating to the [OpenWrt Foundation](https://openwrt.org/donate)
Binary file added cashapp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 2 additions & 3 deletions config/Config-build.in
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ menu "Global build settings"

config USE_APK
imply PACKAGE_apk-mbedtls
bool "Use APK instead of OPKG to build distribution (EXPERIMENTAL)"
bool "Use APK instead of OPKG to build distribution"
default y

comment "General build options"
Expand Down Expand Up @@ -423,10 +423,9 @@ menu "Global build settings"

endchoice

config SECCOMP
config USE_SECCOMP
bool "Enable SECCOMP"
select KERNEL_SECCOMP
select PACKAGE_procd-seccomp
depends on (aarch64 || arm || armeb || mips || mipsel || mips64 || mips64el || i386 || powerpc || x86_64)
depends on !TARGET_uml
default y
Expand Down
Loading