Commit Graph

56 Commits

Author SHA1 Message Date
Sean Khan
2683c49084 nss-clients: ovpn: fixup init script
This is just a check-in of some fixes.

Offloaded OpenVPN via NSS is non-functional though

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-07-14 03:04:21 -04:00
Sean Khan
81518eb187 nss-clients: netlink: Reduce logging noise
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-07-14 03:02:02 -04:00
Sean Khan
adbbcb0c41 treewide: Refresh patches
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-07-10 22:12:00 -04:00
Sean Khan
99700f4bf9 nss-clients: netlink: modularize build components
Instead forcing all components to be built together, selectively build
feature sets based on driver and client selections.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-07-10 21:55:22 -04:00
Sean Khan
274cc66de7 nss-clients: backport and fixes for ipsecmgr, netlink, vxlanmgr, qdisc
backport 12.5:
* ipsecmgr
* netlink
* vxlanmgr
* qdisc

fixes:
* impsecmgr

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-07-10 21:02:00 -04:00
Sean Khan
88ee738cb5 nss-clients: nss_qdisc: restore dev_base_lock usage for kernels < 6.10
In kernels prior to 6.10, dev_base_lock was required to protect the
net_device list traversal. From 6.10 onward the lock was
dropped in favor of RCU.

To preserve previous behavior (i.e. 24.10-nss on kernel 6.6), restore
read_lock()/read_unlock() and wrap into kernel macros check.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-06-15 13:52:33 -04:00
Sean Khan
c0bbc6f168 treewide: Remove dependency on br_netfilter
Upstream OpenWrt 24.10 and later uses nftables by default.
Bridge filtering is not really needed anymore.

This should also prevent unnecessary chain dependencies getting built
like like `kmod-ipt-ipopt`.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-05-30 18:43:45 -04:00
Sean Khan
589db1c9c8 nss-clients: GRE: Fix building on kernels < 6.10
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-05-30 05:25:17 -04:00
Sean Khan
de828e39b2 treewide: Additional fixes for kernel 6.12 + GCC 14.3+
Fixes for:

  incompatible-pointer-types: (nss gre)
  int-conversion

And ignore warnings for:
  empty-body

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-05-28 21:06:50 -04:00
Sean Khan
25086fbac3 treewide: Additional fixes for kernel 6.12 + GCC 15.1
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-05-25 15:36:03 -04:00
Sean Khan
6f823a2b34 treewide: Initial support for kernel 6.12 + GCC 15.1
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-05-08 23:12:18 -04:00
Sean Khan
2ffd5034a6 treewide: mark various qca-nss modules as BROKEN
Several QCA NSS modules compile successfully but do not
function properly at runtime. This is due to either faulty
implementation or deliberate disabling of certain features in the NSS
firmware by Qualcomm.

Based on extensive testing with NSS firmware 11.4:
- Only 22 out of 64 dynamic interface types succeed in creation.
- All others return NACK, indicating lack of support or broken
  implementation.

Modules affected include DTLS, IPSEC, TLS, CAPWAP, GRE redirect paths,
VXLAN, CLMAP and more.

OpenVPN support is partially enabled on crypto core, but requires patching
userspace OpenVPN to function — outside scope here. Wireguard is preferred
as it already achieves line-rate performance without relying on NSS offload.

Marking these kernel packages as BROKEN to prevent false expectations
and discourage their use, though they're available should Qualcomm
ever release a firmware that supports them. (NOT GOING TO HAPPEN...)

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-30 03:18:00 -04:00
Sean Khan
17c99d8b48 nss-crypto: fix unnecessary build when not selected
Recent changes in nss-clients enabled unconditional evaluation
of the `qca-nss-drv-dtlsmgr` and `qca-nss-drv-tlsmgr` packages,
which always pulled in their dependencies, including `qca-nss-cfi`
and `qca-nss-crypto`, even if these packages were not selected.

This caused build failures due to missing symbols when the
required NSS crypto components were not enabled.

This commit updates the Makefiles for `qca-nss-crypto` and `qca-nss-cfi`
to ensure that their build and install steps are only executed
if the corresponding package is selected.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-29 21:02:17 -04:00
Sean Khan
0a07b0c6b0 nss-clients: tun6rd: partial revert of commit 7a0c508
commit 7a0c508 `treewide: rework handling platform specific features`
accidently set tun6rd and tlsmgr to 'y' vs. 'm' causing them to be built
if selected.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-28 11:48:16 -04:00
Sean Khan
7a0c508dec treewide: rework handling platform specific features
Overhaul the way platform-specific requirements are handled since
IPQ60xx and IPQ50xx don't support all the same features as IPQ807x.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-27 21:52:50 -04:00
Sean Khan
25bb2ac73b treewide: fix SHA hashes in Makefiles
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-27 13:55:38 -04:00
Sean Khan
bb4d4c9a25 nss-clients: [12.5] fix failure to apply 0030-fixup-compiler-errors patch
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-18 05:28:10 -04:00
Sean Khan
a3692762e9 nss-clients: nss_match fix read/write procfs files
More fixes to read/write procfs files in nss_match.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-17 22:55:00 -04:00
Sean Khan
0eb92d185e nss-clients: treewide fixup compiler errors
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-17 22:42:16 -04:00
Sean Khan
c5fd1f6430 nss-clients: use patches vs. compiler overrides to fix warnings
Remove '-Wno-enum-conversion -Wno-unused-variable -Wno-int-conversion' from CFLAGS
and instead patch the code to fix the warnings.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-15 12:04:45 -04:00
Sean Khan
cd4db9aa4e nss-clients: [12.5] sync release from latest QSDK 12.5
This commit updates 12.5 version of the nss-drv from:

1bcef16 -> 51be82d (2024-07-08)

Bringing in the following changes:

```
2024-07-08 - 26ed7e6 - [qca-nss-clients] Added a flag to check if HW UDP checksum is supported
2024-06-16 - 5514683 - [nss-qdisc] Replace add_timer() to mod_timer()
2024-06-11 - 3a567e0 - [qca-nss-clients] udp_st: Add a new mode to handle unsynchronized time
```

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2025-04-15 12:04:45 -04:00
shi JiaY
ab4635c11a
add ipq5018 support (#41)
* qca-nss-drv: add ipq5018 support

* qca-nss-clients: add ipq5018 support

* qca-nss-crypto: add ipq5018 support

* qca-nss-cfi: add ipq5018 support

* qca-nss-macsec: add ipq5018 support
2025-01-14 11:34:11 -05:00
Sean Khan
c5340b8d58 qca-nss: Bump 11.4 FW to 11.4.0.5-6
This bumps NSS 11.4.0.5-5 to 11.4.0.5-6 along with the driver and client
packages.

This is the actual final release of 11.4.0.5 series. It brings in
changes related to mesh dummy paths and wifi.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-08-04 01:42:54 -04:00
Sean Khan
9c1bd07946 treewide: Bump NSS FW 12.1 to 12.5
Switch to personal fork utilizing NSS fw binaries from dd-wrt repo:
`https://github.com/mirror/dd-wrt/tree/master/src/router/qca-nss/firmware`

Also delete patches that limited feature set to NSS firmware 12.1

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-07-22 16:51:11 -04:00
Sean Khan
872487e55d nss-clients: fix tun6rd and tunipip build
These were accidently configured as 'y' when it was supposed to be 'm'

Should resolve the following build errors:

```
qca-nss-tun6rd.ko' is missing.
```

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-07-10 12:21:52 -04:00
Sean Khan
841d43b00f treewide: various patches for GCC-14 + build fixes
Also disabled pvxlanmgr and clmapmgr from showing up. It's badly broken
and not suported.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-07-08 21:03:51 -04:00
Sean Khan
f7d8d21b3d nss-clients: Backport 12.5 changes
Backport some minor patches from QSDK 12.5

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-07-08 10:08:59 -04:00
Sean Khan
afa7e180cd nss-clients: [nss-qdisc] Replace add_timer() to mod_timer()
commit 1bcef1647804d08e3d00b6f651086878786494e0 (HEAD, origin/NHSS.QSDK.12.5)
Author:     Manish Verma <quic_maniverm@quicinc.com>
AuthorDate: Wed Jun 12 18:05:27 2024 +0530
Commit:     Manish Verma <quic_maniverm@quicinc.com>
CommitDate: Mon Jun 24 22:04:14 2024 -0700

    [nss-qdisc] Replace add_timer() to mod_timer()

    For the unserialized modification of the timer's timerout, mod_timer()
    API seems to be better suited as compared to the add_timer() API

    Change-Id: I53fbb6174b975571dd3cc5cdd4ac3561903e178b
    Signed-off-by: Manish Verma <quic_maniverm@quicinc.com>
    (cherry picked from commit 55146834637d55f081f843e7330d4f1e7fe886dc)

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-07-08 10:08:09 -04:00
Sean Khan
4b43beae97 qca-nss: switch to checking value vs. ifdef
This allows specifiying `CONFIG_NSS_FIRMWARE_VERSION_.*` on
the command line without having to set in .config. This is helpful if
needing to build/test both version quickly.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-07-02 20:31:01 -04:00
Sean Khan
1ae543092a treewide: Refactor for APK based builds
Update to comply with APK's `pkgver` format.

Rather than stick with the same convention as upstream `qca-ssdk` and
`qca-nss-dp` which uses:

```
$(PKG_NAME)-$(PKG_SOURCE_DATE)~$(PKG_SOURCE_VERSION)
```

i.e. `qca-ssdk-2024.06.13~c451136b.tar.zst`

Add in the QSDK version as part of the release since we
have options to build for both 11.4 and 12.5. This makes it easier to
debug build related issues, by knowing exactly which QSDK version is
being built against.

Example:
```
qca-nss-drv-11.4.0.5.2021.06.24~dc14ca2.tar.zst
qca-nss-drv-12.5.2024.04.06~53a0dc1.tar.zst
qca-nss-clients-11.4.0.5.2021.08.17~153998d.tar.zst
qca-nss-clients-12.5.2024.03.05~9a53b18.tar.zst
```

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-06-24 20:33:28 -04:00
Sean Khan
b00980f17b treewide: Bump to consolidated release QSDK-12.5
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-06-23 16:39:16 -04:00
Sean Khan
9308d452f6 nss-packages: Bump to QSDK 12.5 for kernel 6.6
note: qca-nss-crypto, and qca-nss-cfi are non-code change releases, but
align with naming scheme upstream anyways.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-05-05 02:49:54 -04:00
Qosmio
2075ebd759 nss-packages: update hashes for 'zst'
Signed-off-by: Qosmio <datapronix@protonmail.com>
2024-04-09 00:25:58 -04:00
Qosmio
c7ed1c790c nss-packages: disable broken and abandoned modules
The following modules have been disabled for either being broken,
incompatible or abandoned by Qualcomm:
  * profile
  * capwapmgr
  * dtlsmgr
  * ipsecmgr
  * tlsmgr
  * mscs
  * nssinfo (netlink + libnl-nss)
2024-03-26 22:41:03 -04:00
Qosmio
1d68a08b44 nss-clients: netlink compatibility with kernel 6.6 2024-03-25 18:43:20 -04:00
Qosmio
15370e5d9d nss-clients: netlink compatibility with kernel 6.6 2024-03-24 22:06:21 -04:00
Qosmio
952e573a71 nss-packages: convert modules to use wifili vs wifi 2024-03-17 02:18:20 -04:00
Qosmio
ebd3cebaec nss-packages: Initial support for kernel 6.6 on NSS 11.4 2024-03-15 23:24:02 -04:00
Qosmio
2692698a8a nss-packages: add QSDK release in naming scheme
Easier to understand which QSDK you're developing with vs. date and git
hash
2024-03-15 23:22:46 -04:00
Qosmio
28a8c5e649 nss-clients: update vlan, match, tunipip6, mirror, l2tpv2 for 6.6 2024-03-12 17:24:01 -04:00
Qosmio
d39e59662b qca-nss-clients: use consistent arch names
Also remove unnecessary 'TARGET_ipq_ipq*' platforms. Stick to
IPQ807x/IPQ60XX
2024-03-12 14:35:16 -04:00
Qosmio
8795d29dfb nss-packages: Initial support for kernel 6.6
WIP
2024-03-12 12:00:52 -04:00
Qosmio
c7c8de990f nss-packages: refresh patches 2024-03-11 15:53:55 -04:00
Qosmio
5463bc9633 qca-nss-clients: Fix build for NHSS.QSDK.11.4.0.5 2024-03-11 12:25:50 -04:00
Qosmio
7329a4f74d nss: Properly build drv/client based on FW
There are significant changes between NSS version 11.4.0.5 and 12.1 (12.0.5),
that it doesn't really make sense to use it with older firmware (i.e. using mesh releated
features).

This change will explicitly link building the proper driver and client
packages when FW 12.1 or 11.4 is selected, while also backporting
patches from 12.4.
2024-03-09 12:25:24 -05:00
JiaY-shi
fb38cf637f qca-nss-clients: fix ipq60xx support 2024-02-28 15:12:55 +08:00
Qosmio
beb4b7f970 qca-nss-clients: Remove nss-ifb dependency 2024-02-27 01:10:01 -05:00
Qosmio
7080d89470 qca-nss-clients: add required wifili symbol 2024-02-19 03:01:56 -05:00
Qosmio
53162cdf9c qca-nss-clients: fix incorrectly defined exports include directory 2024-02-19 03:00:40 -05:00
Qosmio
3dfeff28b6 Revert "qca-nss-clients: fix incorrectly defined exports include directory"
This reverts commit 83b5ea1e6a.
2024-02-19 02:59:48 -05:00