How juliusbairaktaris/openwrt-nss-edma works
This is an OpenWrt distribution tree whose defining product is NSS hardware offload for IPQ807x while retaining upstream EDMA/PPE drivers. The documented user-to-result path begins with network traffic entering the wired ports; a runtime service arms the offload plane, after which the PPE and NSS firmware accelerate supported established flows. New flows and exceptions remain host-mediated. The README also documents wired bridge, multicast, SQM, PPPoE, and Wi-Fi capabilities. The sampled source excerpts do not cover this integration; architecture links below rely on README statements, and paths are included only where supported by the supplied tree.
Main entry points: qca_ppe_nss.c Upstream qca_ppe · files NSS service · luci-nss-status.js NSS status UI
Components 18
Runtime control
- NSS service
package/nss/nss-tools/files - NSS status UI
package/nss/nss-tools/files/luci-nss-status.js
Wired datapath
- Linux host path
- Upstream qca_edma
- Upstream qca_ppe
package/kernel/qca-ppe-nss/src/qca_ppe_nss.c - NSS glue
package/kernel/qca-ppe-nss/src/qca_ppe_nss.c
NSS services
- NSS firmware
- ECM flow manager
- Routing and NAT
- PPPoE and VLAN
- Wired bridge
- Multicast snooping
- SQM shaping
- Ingress shaping
- DSCP/mark classes
Wireless offload
- ath11k Wi-Fi
- Wi-Fi offload
Other components
- LAN/WAN ports
Connections 20
- LAN/WAN ports → Upstream qca_edma: receive traffic
- Upstream qca_edma → Linux host path: host forwarding
- NSS service → NSS glue: arms plane
- NSS service → NSS firmware: boots firmware
- NSS service → ath11k Wi-Fi: configures offload
- Upstream qca_edma → Upstream qca_ppe: redirects packets
- Upstream qca_ppe → NSS glue: integrates with
- NSS glue → NSS firmware: attaches firmware
- Upstream qca_ppe → ECM flow manager: sends exceptions
- ECM flow manager → Upstream qca_ppe: installs flow rules
- NSS firmware → Routing and NAT: accelerates flows
- NSS firmware → PPPoE and VLAN: accelerates flows
- NSS firmware → Wired bridge: bridges ports
- NSS firmware → Multicast snooping: forwards snooped traffic
- NSS firmware → SQM shaping: shapes traffic
- NSS firmware → Ingress shaping: shapes ingress
- NSS firmware → DSCP/mark classes: classifies flows
- ath11k Wi-Fi → Wi-Fi offload: uses data path
- NSS firmware → Wi-Fi offload: offloads Wi-Fi
- NSS status UI → ECM flow manager: reports connections