Repository navigation
Home
Julius Bairaktaris edited this page Oct 17, 2026
·
16 revisions
OpenWrt main with hardware offload for Qualcomm IPQ807x and IPQ60xx routers
in the qualcommax target, such as the Xiaomi AX3600, Redmi AX6, Linksys
MX4300 and MR7350, Dynalink DL-WRX36 and GL.iNet GL-AX1800.
The default branch, ppe-nss, runs OpenWrt's upstream qca_edma and
qca_ppe ethernet and DSA drivers on kernel 6.18. It uses only in-kernel
offload interfaces. There is no ECM, no NSS qdisc and no vendor NSS host
driver.
Two engines do the work:
- The PPE, the packet engine in the SoC's switch, forwards wired
traffic.
qca_ppeprograms it from the fw4 flowtable, switchdev and tc. - The NSS cores run the Wi-Fi data path.
nss-wifi-drv, a small host driver, boots the NSS firmware and hands it the ath11k rings.
| Traffic | Engine | Kernel interface |
|---|---|---|
| Routed IPv4/IPv6, NAT, PPPoE, 802.1Q VLAN | PPE | fw4 flowtable (flow_offloading_hw) |
| Bridging, VLAN filtering, multicast snooping | PPE | switchdev |
| SQM shaping and queue classes | PPE | tc qdisc and flower offload, DCB |
| Wi-Fi data path of the SoC radios | NSS |
nss-wifi-drv, ath11k |
| Routed and bridged flows with a Wi-Fi end | NSS | fw4 flowtable, bridge conntrack |
| Routed multicast to Wi-Fi | NSS | kernel multicast routing (MFC) |
| Routed flows over a cellular modem (raw-IP device) | NSS | fw4 flowtable |
-
Installing and Upgrading: which image to take, first install, moving
from the old
edma-nssimages. - Hardware Support: boards, image groups and test status.
- Wired Offload: the PPE, how to turn it on and how to check it.
- Wi-Fi Offload: the NSS Wi-Fi path, how to turn it off, and mesh.
-
SQM and QoS:
hw_ppe.qosand the PPE QoS classifiers. - Multicast and IPTV: snooping, routed multicast, multicast to Wi-Fi.
- Building: building the images yourself.
- Reporting Bugs: what to collect before you report.
- Limitations: what is not offloaded or not tested.
- FAQ: questions from the forum thread.
| Branch | Contents |
|---|---|
ppe-nss |
The default. ppe-flow-offload plus nss-wifi-drv and the ath11k patches for the NSS Wi-Fi path. |
ppe-flow-offload |
OpenWrt main plus the PPE flowtable, tc and switchdev offload (openwrt/openwrt#24806). No NSS. |
nss-edma-rework |
Archived. The vendor NSS stack (qca-nss-drv, ECM, NSS qdiscs). Final state: tag archive/nss-edma-rework-final. |
The only package taken from the
nss-packages feed
(branch edma-nss) is nss-firmware. Prebuilt images come from
Qualcommax_NSS_Builder.
The pages for the archived vendor stack were removed. They remain in the wiki history.