Commit Graph

230 Commits

Author SHA1 Message Date
Sean Khan
da8d2acc7a nss-ecm: fix uci config lookup 2024-05-01 14:38:38 -04:00
Sean Khan
d0669b3eb9 qca-mcs: Add support for kernel >= 6.6.29
kernel 6.6.29 added an additional parameter to `br_pass_frame_up` (bool
promisc). Add a check for it and handle accordingly.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-28 13:37:50 -04:00
Sean Khan
1891a290e0 nss-ecm: switch to using named sections in uci
The way ECM uci config is handled is pretty ugly due to it not specifying a
named section for 'general'.

Current:
```
➤ uci show ecm
ecm.global=ecm
ecm.global.acceleration_engine='nss'
ecm.@general[0]=general
ecm.@general[0].enable_bridge_filtering='0'
ecm.@general[0].disable_offloads='0'
ecm.@general[0].disable_flow_control='0'
ecm.@general[0].disable_interrupt_moderation='0'
ecm.@general[0].disable_gro='0'
```

None of the options require the use of unnamed sections
(like /etc/config/dhcp does when defining configs for multiple hosts)

With this change the config would produce:
```
ecm.global=ecm
ecm.global.acceleration_engine='nss'
ecm.general=ecm
ecm.general.enable_bridge_filtering='0'
ecm.general.disable_offloads='0'
ecm.general.disable_flow_control='0'
ecm.general.disable_interrupt_moderation='0'
ecm.general.disable_gro='0'
```

Which is a lot easier to read, and access programmatically.

We can also merge `global` and `general` into a single section as it
doesn't really make sense why we need global/general when it's
technically "ALL" globally applied.

For now, to ease users on the change, let's just stick to 2 sections.

**PLEASE NOTE: For users building their own images, and storing their**
**configs in 'files/etc/config/ecm' you will need to manually update the**
**config before compiling.**

For users using **sysupgrade** or installing without custom config at build
time 'files/etc/config/ecm' should be OK.

The following can be run manually on the config file 'ecm'

```sh
conf=/etc/config/ecm
uci -q show ecm.general || {
  echo "Converting 'ECM' config to new format."
  sed -i "s/config.*general.*/config ecm 'general'/g" "$conf"
}
```

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-28 13:10:58 -04:00
Sean Khan
3ffec2d091 nss-ecm: workaround insmod issue
switch to using modprobe vs. insmod as it allows more versatility in
  dependency loading.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-25 05:17:18 -04:00
Sean Khan
7173bd647c ssdk-shell: add qca-ssdk dependency
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-14 05:46:47 -04:00
Sean Khan
387da654c2 ssdk-shell: clean leftovers in Makefile
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-13 16:08:33 -04:00
Sean Khan
de0a338571 ssdk-shell: fix uninitialized tmpbool
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-13 15:59:09 -04:00
Sean Khan
2b4e3b2b37 ssdk-shell: bump 12.0.5 to match ssdk 12.4.r4
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-13 15:49:49 -04:00
Qosmio
2151cf9df5 Merge branch 'NSS-12.4-K6.x' of https://github.com/qosmio/nss-packages into NSS-12.4-K6.x 2024-04-09 00:27:29 -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
61ac52c7d0 nss-packages: update hashes for 'zst'
Signed-off-by: Qosmio <datapronix@protonmail.com>
2024-04-08 22:36:19 -04:00
Qosmio
f47aab0ae0 qca-nss-drv: better logging + handle more IRQs + sane defaults
1.) Rather than modify upstream `smp_affinity` script, move changes into
    this init script.

    Primarily: "xhci-hcd:usb1", "ppdu-end-interrupts-mac1", "ppdu-end-interrupts-mac2"

2.) Move logging into separate function, and better account for NSS core
    specific output.

3.) Set the defaults for `enable_rps` and `enable_log` to true ('1').

4.) Change startup to sequence to `94` [after `smp_affinity` (93)]

Signed-off-by: Qosmio <datapronix@protonmail.com>
2024-04-08 18:36:03 -04:00
Qosmio
2670f4c75a qca-nss-drv: Fix missing /usr/bin for nss_stats 2024-04-07 00:01:31 -04:00
Qosmio
ac967d3fc0 Merge branch 'NSS-12.4-K6.x' of https://github.com/qosmio/nss-packages into NSS-12.4-K6.x 2024-04-06 20:06:36 -04:00
anonymous-one
28a6d744d4
Better handling of nss_queue + etc affinity (#22)
Using the previous version, not all nss related interrupts were being balanced across the available CPU cores.

This makes sure they are as well as moving a bit more off cpu0.
2024-04-06 20:03:43 -04:00
Qosmio
41f1217c5e qca-nss-drv: Rework smp_affinity + Add nss_stats
1.) Moved `set_affinity` function outside of `enable_rps`
2.) Added 2 new functions `bitmask_to_cpus` and `cpus_to_bitmask`
    a.) bitmask_to_cpus - Takes a bitmask of CPUs and returns a
        list of CPU numbers. (i.e. `bitmask_to_cpus "f"` -> 0,1,2,3)
    b.) cpus_to_bitmask - Takes a comma/space or range list of CPUs and returns
        a bitmask. (i.e. `cpus_to_bitmask "2,3"` -> c)
3.) Changed logic of `set_affinity` to now use physical CPUs rather than
    knowing the bitmask. This should make it more straight forward when
    testing changes
4.) Added an UCI option `enable_log` to enable/disable logging output to
   `logger`. Default is `1` (on)
5.) Removed unused UCI options `nss_firmware *`
6.) Changed the way UCI options are retrieved to account for missing
    options.
7.) Moved '/lib/debug/qca-nss-drv' to '/usr/bin/nss_stats' so it's in
    $PATH and has a more intuitive name
2024-04-06 19:59:50 -04:00
anonymous-one
29f9ba9648
Better handling of nss_queue + etc affinity
Using the previous version, not all nss related interrupts were being balanced across the available CPU cores.

This makes sure they are as well as moving a bit more off cpu0.
2024-04-06 10:32:14 +02:00
Qosmio
c39093e475 qca-nss-ecm: parse and load mod depends
Since many of ECM's module depends are dynamic and chosen at build time
`kmodloader` seems to have trouble properly loading its dependencies.

Attempt to parse ecm's module depends and load them prior to installing
the module.

This commit also replaces error prone `uci get` command with `config_get`,
in case certain options are missing from `/etc/config/ecm`
2024-04-01 06:35:42 -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
e577cbd457 qca-nss-cfi: Fix incorrect package description 2024-03-26 22:37:45 -04:00
Qosmio
486a2c1f34 qca-nss-ecm: use config_get_bool to avoid missing option errors 2024-03-26 12:28:40 -04:00
Qosmio
a681594860 nss-packages: add backwards compatible TARGET option ipq807x 2024-03-26 12:26:14 -04:00
Qosmio
54013375f5 qca-nss-ecm: add ethtool dependency
Enforce dependency as it is used by 'disable_offloads' script
2024-03-26 12:20:18 -04:00
Qosmio
1d68a08b44 nss-clients: netlink compatibility with kernel 6.6 2024-03-25 18:43:20 -04:00
Qosmio
fd81770c4c Merge branch 'NSS-12.4-K6.1' into NSS-12.4-K6.6 2024-03-24 22:07:15 -04:00
Qosmio
15370e5d9d nss-clients: netlink compatibility with kernel 6.6 2024-03-24 22:06:21 -04:00
Qosmio
78aedd1916 qca-nss-ecm: move MLO check internally
`is_mlo_device` is a check for whether a device is multi-link operation
capable, it is also geared towards WiFi 7 which is only supported on
IPQ95xx/53xx platforms with SFE. Since these patches are only focused on NSS,
rather than unecessarily patching the kernel, don't check if device is MLO capable.
2024-03-24 21:59:48 -04:00
Qosmio
7e0e5abd8c qca-nss-ecm: refresh patches 2024-03-24 21:59:08 -04:00
Qosmio
7c69a23a5f nss-firmware: Fix Makefile to be compatible with new APK compatible version schema 2024-03-24 21:56:35 -04:00
Qosmio
8ffa394fb7 nss-udp-st: Remove incompatible UDP speedtest module/tool
It is only compatible with IPQ95XX/53XX. Remove it for now to avoid any
user confusion.
2024-03-24 21:53:59 -04:00
Qosmio
1625586a6c qca-nss-ecm: remove ovs dependency 2024-03-19 12:03:52 -04:00
Qosmio
b2eda32a24 Merge branch 'NSS-12.4-K6.1' into NSS-12.4-K6.6 2024-03-18 06:57:31 -04:00
Qosmio
295aa3cc0b Merge branch 'NSS-12.4-K6.1' of https://github.com/qosmio/nss-packages into NSS-12.4-K6.1 2024-03-18 06:57:01 -04:00
Qosmio
7e02d378bb qca-nss-ecm: bump version 12.4.5.r3 to 12.4.5.r5 2024-03-18 06:54:43 -04:00
Qosmio
952e573a71 nss-packages: convert modules to use wifili vs wifi 2024-03-17 02:18:20 -04:00
Qosmio
9a2a123a47 qca-nss-ecm: fix incorrect else if statement 2024-03-17 01:40:36 -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
911ca7392c qca-nss-drv: show cpu_load_ubi in output 2024-03-15 19:43:57 -04:00
Qosmio
088f830466 qca-nss-ecm: refactor disable offload scripts 2024-03-15 19:34:39 -04:00
Qosmio
5900f254b9 qca-nss-ecm: Add IGS (ingress) QoS compile flag 2024-03-15 19:30:13 -04:00
Qosmio
8fb422e4d7 qca-nss-ecm: enable band steering
Useful for setups that have external APs to allow better handling when
switching between APs
2024-03-15 19:23:27 -04:00
Qosmio
e08d3c0607 qca-nss-ecm: rearrange order kernel version is checked 2024-03-15 19:18:10 -04:00
Qosmio
1431912bdb qca-nss-ecm: bump version 12.4.r4 to 12.4.5.r3
NOTE: QSDK 12.2, 12.4 are for kernel 5.4, starting with release 12.4.5
QSDK switched to kernel 6.1.
2024-03-15 19:16:15 -04:00
Qosmio
3fa6b5b7d4 qca-nss-ecm: remove backported 5.15 ipv6_dev_find_and_hold 2024-03-15 19:11:44 -04:00
Qosmio
40a48f512b qca-nss-ecm: make building ae example optional 2024-03-15 19:10:23 -04:00
Qosmio
837dd16342 Merge branch 'NSS-12.4-K6.1' of https://github.com/qosmio/nss-packages into NSS-12.4-K6.6 2024-03-15 02:13:56 -04:00
qosmio
05d50aab28
Merge pull request #16 from zxlhhyccc/patch-1
qca-nss-ecm:Fixed the problem that the route does not respond after s…
2024-03-14 22:51:00 -04:00
zxlhhyccc
399136a5ee
qca-nss-ecm:Fixed the problem that the route does not respond after startup. 2024-03-13 22:50:51 +08:00
Qosmio
28a8c5e649 nss-clients: update vlan, match, tunipip6, mirror, l2tpv2 for 6.6 2024-03-12 17:24:01 -04:00