Commit Graph

382 Commits

Author SHA1 Message Date
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
Qosmio
327b97d4a0 qca-nss-drv: Move Profiler code to ipq806x
Useless to build on IPQ807x/60xx
2024-03-12 17:22:54 -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
9ab44ea39c nss-ecm: renumber patches 2024-03-12 02:07:53 -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
Qosmio
79597046e6 qca-nss-drv: Rework debug script to be more helpful
This version will print all non-zero stats, and highlight certain
keywords to better aide debugging.
2024-02-28 22:55:45 -05:00
Qosmio
dae6cba360 qca-nss-drv: Remove invalid sysctl settings
These values are now module parameters.
2024-02-28 22:54:05 -05:00
qosmio
96dd82da8a
Merge pull request #13 from JiaY-shi/NSS-12.4-K6.1
nss: fix ipq60xx support
2024-02-28 02:33:05 -05:00
JiaY-shi
a5cff6d62e qca-nss-drv: fix ipq60xx support 2024-02-28 15:25:25 +08:00
JiaY-shi
5bf042dbe4 qca-nss-crypto: fix ipq60xx support 2024-02-28 15:14:10 +08:00
JiaY-shi
fb38cf637f qca-nss-clients: fix ipq60xx support 2024-02-28 15:12:55 +08:00
JiaY-shi
3251554ab6 qca-nss-cfi: fix ipq60xx support 2024-02-28 15:11:38 +08:00
Qosmio
26486b45f9 nss-firmware: fix pkg dependency
Fixes the following

Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency nss-firmware-default for nss-firmware-ipq8074
 * pkg_hash_fetch_best_installation_candidate: Packages for nss-firmware-ipq8074 found, but incompatible with the architectures configured
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-qca-nss-cfi-cryptoapi:
 * 	nss-firmware-default
 * opkg_install_cmd: Cannot install package kmod-qca-nss-cfi-cryptoapi.
2024-02-27 18:49:43 -05:00
Qosmio
931313931c nss-firmware: Allow selecting version 11.4/12.1
There is an issue with NSS firmware version 12.0/12.1 where NSS WIFI
mesh feature fails to bring up meshmgr.

Example of error:

Tue Feb 27 13:52:04 2024 kern.debug kernel: [10738.593826] nss_wifi_meshmgr_if_create_sync[1827]:ffffff8022a40000: Encap allocation failed.
Tue Feb 27 13:52:04 2024 kern.warn kernel: [10738.593858] ath11k c000000.wifi: failed to create meshmgr
Tue Feb 27 13:52:04 2024 kern.warn kernel: [10738.593880] ath11k c000000.wifi: failed to alloc and register mesh vap -22
Tue Feb 27 13:52:04 2024 kern.debug kernel: [10738.598335] nss_wifi_meshmgr_find_and_ref_inc[167]:ffffffc000be0500: Invalid mesh handle: -1
Tue Feb 27 13:52:04 2024 kern.debug kernel: [10738.598349] nss_wifi_meshmgr_if_destroy_sync[1728]:ffffffc000be0500: Mesh context is null
Tue Feb 27 13:52:04 2024 kern.warn kernel: [10738.598357] ath11k c000000.wifi: failed to free nss mesh object vdev nss_err:7
Tue Feb 27 13:52:04 2024 kern.warn kernel: [10738.605208] ath11k c000000.wifi: failed to create nss vdev -22
Tue Feb 27 13:52:04 2024 kern.debug kernel: [10738.616401] nss_wifi_meshmgr_if_create_sync[1827]:ffffff8022a40000: Encap allocation failed.
Tue Feb 27 13:52:04 2024 kern.warn kernel: [10738.616436] ath11k c000000.wifi: failed to create meshmgr
Tue Feb 27 13:52:04 2024 kern.warn kernel: [10738.618091] ath11k c000000.wifi: failed to alloc and register mesh vap -22
Tue Feb 27 13:52:04 2024 kern.debug kernel: [10738.623697] nss_wifi_meshmgr_find_and_ref_inc[167]:ffffffc000be0500: Invalid mesh handle: -1
Tue Feb 27 13:52:04 2024 kern.debug kernel: [10738.623715] nss_wifi_meshmgr_if_destroy_sync[1728]:ffffffc000be0500: Mesh context is null
Tue Feb 27 13:52:04 2024 kern.warn kernel: [10738.623723] ath11k c000000.wifi: failed to free nss mesh object vdev nss_err:7
Tue Feb 27 13:52:04 2024 kern.warn kernel: [10738.630541] ath11k c000000.wifi: failed to create nss vdev -22

The only version currently working is version 11.4. It is not
confirmed if this feature was removed in firmware > 11.4, or if the
issue if with the NSS driver package, or client package wifimgr. Looking
at the code changes between NHSS.QSDK.11.4 and 12.0.5 little was changed in
nss-drv/nss-clients related to the way mesh interfaces are brought up
(dynamic interfaces), much of the changes are related to stats.

To work around the issue, allow user selectable option to choose a
specific NSS firmware. The dependency is currently not enforced when
selecting NSS mesh offloading in ath11k. Users will need to switch
manually or disable the option altogether.
2024-02-27 13:36:16 -05: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
Qosmio
83b5ea1e6a qca-nss-clients: fix incorrectly defined exports include directory 2024-02-19 02:58:17 -05:00
Qosmio
60c4bb0852 Revert "qca-nss-clients: fix incorrectly defined exports include directory"
This reverts commit 0c4e2ee764.
2024-02-19 02:55:22 -05:00
Qosmio
dc2090eb0b Revert "qca-nss-clients: add required legacy wifi symbol"
This reverts commit 5c43764e5d.
2024-02-19 02:54:43 -05:00
Qosmio
5c43764e5d qca-nss-clients: add required legacy wifi symbol 2024-02-19 02:40:24 -05:00
Qosmio
0c4e2ee764 qca-nss-clients: fix incorrectly defined exports include directory 2024-02-19 02:39:45 -05:00
Qosmio
9a35375fef nss-crypto: Require symbol NSS_DRV_CRYPTO_ENABLE 2024-02-19 02:24:12 -05:00
Qosmio
8d54d726c2 Move non-upstream NSS packages back into repo
To keep fork as closely synced with upstream, move NSS packages back
into repository. Not sure why they were moved out from my original fork.
* nss-firmware
* qca-nss-crypto
* qca-nss-cfi

Removed the following:
* mhz (already available in packages repo)
* qrtr (unecessary, and has been broken for years)

Also moved packages out of `qca` and back into root directory.
2024-02-19 01:35:04 -05:00
Qosmio
441990caf1 qca-nss-drv: add required nss firmare dependency 2024-02-18 02:03:08 -05:00
Qosmio
14d6d1431c qca-nss-clients: add nss-ifb as dependency
It's required to get proper qdisc traffic shaping
2024-02-18 01:58:38 -05:00
Qosmio
07bfcd93d6 nss: fix warnings and dependencies
* nssinfo:
  - Fix warnings related string formatting
* qca-nss-ecm:
  - Remove unnecessary dependency on `CONFIG_NSS_DRV_WIFIOFFLOAD_ENABLE`
* qca-nss-clients(netlink):
  - Fix regression in enabling wifil. It was rename to 'CONFIG_NSS_DRV_WIFIOFFLOAD_ENABLE'
    in qca-nss-drv vs 'CONFIG_NSS_DRV_WIFI_ENABLE'
  - Modularize Makefile to only build nludp_st on platform ipq95xx/ipq50xx
* qca-nss-clients(qdisc/igs):
  - fix build igs
* qca-nss-drv:
  - Remove options to configure `CONFIG_NSS_DRV_DMA_ENABLE` and `CONFIG_NSS_DRV_EDMA_ENABLE`.
    These are always built and required on ipq807x, ipq60xx
2024-02-17 17:04:37 -05:00
Qosmio
1c4870f402 qca-nss-drv: fix build regression
restore required Makefile option NSS_DRV_IPV6_ENABLE

fixes the following:

../qca-nss-drv-2024-01-04-89cc01b5/nss_rps.c:289:24: error: 'nss_rps_ipv4_hash_bitmap_cfg' defined but not used [-Werror=unused-function]
  289 | static nss_tx_status_t nss_rps_ipv4_hash_bitmap_cfg(struct nss_ctx_instance *nss_ctx, int hash_bitmap)
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
2024-02-16 19:53:46 -05:00
Qosmio
a6f3128889 qca-nss-drv: add option to configure NSS memory profile
Similar to how memory profile is assignable for ath11k, introduce a
config option to set NSS memory profile. Default was always set to
512MB in upstream for ipq807x even though the platform is available in
256MB/512MB/1GB.

This option primarily limits the default number of offloaded
connections, and for low memory profile, empty buffer pool size

Default number of connections for each IPv4 and IPv6
* NSS_MEM_PROFILE_HIGH    4096
* NSS_MEM_PROFILE_MEDIUM  2048
* NSS_MEM_PROFILE_LOW     512

MAX Connection shared between IPv4 and IPv6
* NSS_MEM_PROFILE_HIGH    8192
* NSS_MEM_PROFILE_MEDIUM  4096
* NSS_MEM_PROFILE_LOW     1024
2024-02-16 18:26:28 -05:00
Qosmio
5d30819182 qca-ssdk-shell: Resolve segmentation fault errors
Revert to using version `3.0.0` as version `3.1.0` results in a segmentation
fault whenever trying to run any command.
2024-02-11 16:43:40 -05:00
Qosmio
123f0c1272 qca-nss-drv: Avoid recreating debugfs entry virt_if
Everytime a virtual interface is created/destroyed, nss driver
tries to create a debugfs entry, without checking if it exists.
Prevent creation if it already exists. This will also prevent the
annoying kernel warning.

'virt_if' in directory 'stats' already present!
2024-02-11 16:39:28 -05:00
Qosmio
1ce879e50f qca-nss-drv: assign empty_buf sos/queue to core 4 2024-02-11 16:24:01 -05:00
Qosmio
001d347392 qca-nss-drv: Fix wifi offload regression
The option for wifi offload is `NSS_DRV_WIFIOFFLOAD_ENABLE` but the
package Makefile was showing it as `NSS_DRV_WIFI_ENABLE` but then enabling the
flag as `NSS_DRV_WIFI_ENABLE`. Incorrectly assumed `NSS_DRV_WIFI_ENABLE`
was the global option. Reverted the change and updated the option to use
`NSS_DRV_WIFIOFFLOAD_ENABLE`.
2024-01-29 17:14:22 -05:00
Qosmio
7bdfc69b3d qca-nss-clients: Show titles for all packages
menuconfig doesn't show the title of packages if they are over a certain
length. Rewrite the titles to better describe what the package is as
well as show them in menuconfig without having to view the `HELP`
section.
2024-01-29 17:12:19 -05:00
Qosmio
32bdeb5192 qca-nss-clients: fix dependancies and capwapmgr
The following modules should all compile on ipq807x

kmod-qca-nss-drv-bridge-mgr
kmod-qca-nss-drv-capwapmgr
kmod-qca-nss-drv-clmapmgr
kmod-qca-nss-drv-dtlsmgr
kmod-qca-nss-drv-eogremgr
kmod-qca-nss-drv-gre
kmod-qca-nss-drv-igs
kmod-qca-nss-drv-ipsecmgr
kmod-qca-nss-drv-l2tpv2
kmod-qca-nss-drv-lag-mgr
kmod-qca-nss-drv-map-t
kmod-qca-nss-drv-match
kmod-qca-nss-drv-mirror
kmod-qca-nss-drv-netlink
kmod-qca-nss-drv-pppoe
kmod-qca-nss-drv-pptp
kmod-qca-nss-drv-pvxlanmgr
kmod-qca-nss-drv-qdisc
kmod-qca-nss-drv-tlsmgr
kmod-qca-nss-drv-tun6rd
kmod-qca-nss-drv-tunipip6
kmod-qca-nss-drv-vlan-mgr
kmod-qca-nss-drv-vxlanmgr
kmod-qca-nss-drv-wifi-meshmgr
2024-01-29 13:10:17 -05:00
Qosmio
3b822d5964 qca-nss-ecm: fix dependancy ppp_l2tp.ko 2024-01-29 13:07:08 -05:00
Qosmio
ebb069d7c6 libnl-nss: Revert removing dependancy on kmod-qca-nss-drv-netlink 2024-01-29 09:50:30 -05:00
Qosmio
468029840a qca-nss-drv/clients/userspace: Fix build of nssinfo/netlink 2024-01-28 11:41:25 -05:00
Qosmio
4454f4fd86 qca-nss-drv: Remove legacy wifi code
Mostly for ipq806x platform, reduces overall size by 30%
2024-01-28 00:19:18 -05:00
Qosmio
567b878120 qca-nss-drv: Mute verbose boot messages
Mostly noise, can be enabled with debug mode turned on
2024-01-28 00:18:03 -05:00
Qosmio
4de4f0b6bb qca-nss-drv: Remove legacy gmac stat
Used for ipq806x platform, remove it from showing up in debugfs
2024-01-27 18:47:10 -05:00
Qosmio
e862d14986 qca-nss-drv: Backport changes from 12.2
2024-01-02 - 89cc01b - Introduce new msg for pn error"

2024-01-02 - 8f31ae5 - Fix greredir stats partial copy issue
                       If the kernel passes smaller user buffer to copy stats
                       than required, copy the partial content from local buffer
                       and in the next call, copy the remaining content.

2023-12-27 - bd89094 - qca-nss-drv: Introduce new msg for pn error
2024-01-27 18:27:37 -05:00
Qosmio
ffdc908e7b qca-nss-drv: add affinity function to set last match
Since NSS IRQs use the same name for each core, the current function
assigns all matching names to the same CPU core. Add function
'set_affinity_last' to specify that only the 'last' matching irq ID be set
to the specified CPU core.
2024-01-27 18:18:36 -05:00
Qosmio
757783ae22 qca-nss-drv: fix up affinity script
Each NSS irq has two interrupts, distribute them evenly.
2024-01-26 19:20:29 -05:00
Qosmio
9e669af42a qca-ssdk-shell: Bump version to 12.4.5.r3 2024-01-26 16:46:28 -05:00