Wireless Ethernet Dispatch (WED)
Wireless Ethernet Dispatch (WED) is a hardware acceleration feature available on modern MediaTek Filogic chipsets (such as MT7986 and MT7622). It is an extension of hardware flow offloading that specifically targets wireless traffic, allowing the Packet Processing Engine (PPE) to handle packets directly to/from the WiFi chipset, significantly reducing CPU load and increasing throughput.
Caveats and Limitations
- OpenWrt Version: Requires 22.03 or later.
- Stability: May be less stable than software routing as it is a relatively new feature.
- Coexistence: Can be used alone or in addition to other hardware offloading.
- Incompatibility: It is incompatible with AQL (Airtime Queue Limits).
- Scope: Only accelerates wireless traffic (not wired-to-wired) and is currently supported only on the 5 GHz radio.
- Topology: If used on a dumb AP, an additional package (
bridger) is required.
Enable WED
To enable WED, you must set a module parameter for the wireless driver and reboot the device.
OpenWrt 24.10 or Snapshots (Main)
- Edit
/etc/modules.confand append the following line:
options mt7915e wed_enable=Y
OpenWrt 22.03 or 23.05
- Edit
/etc/modules.d/mt7915eand append the following line:
mt7915e wed_enable=Y
Note: This change will not persist across a sysupgrade as this file is not included in the default backup tarball.
Dumb Access Point Configuration
Flow offloading typically requires flows to be tracked via NAT or routing. To use WED on a bridged “Dumb AP,” you must install the bridger package, which uses BPF to track bridged streams for the PPE.
1. [[faq/how_to_install_packages|Install]] the **bridger** package. 2. (Optional) Edit ''/etc/config/bridger'' to define specific devices or bridges to exclude from acceleration.
Note: Native kernel support may make the bridger package obsolete in the future (Ref: https://patchwork.kernel.org/project/netdevbpf/cover/20250204194921.46692-1-ericwouds@gmail.com/).
Verification
Confirm Module Status
Verify that the kernel module has the option applied correctly:
# cat /sys/module/mt7915e/parameters/wed_enable Y
Query Offloaded Flows
To see which flows are currently being handled by the hardware (works for Router mode natively):
# cat /sys/kernel/debug/ppe0/bind
(Note: On some versions/setups, this may be ppe1 or located at /sys/kernel/debug/mtk_ppe/bind)
Example output showing a bound (BND) flow:
01dd0 BND IPv4 5T orig=xxx:11068->10.1.10.241:33328 new=xxx:11068->10.1.10.241:33328 eth=xx:xx:xx:xx:xx:xx->xx:xx:xx:xx:xx:xx etype=0008 vlan=0,129 ib1=21403a8d ib2=007e0060
Important Notes on Output:
- This list shows all traffic accelerated by the PPE, including wired clients. To confirm WED is working, look for the IPs or MAC addresses of your wireless clients.
- If the file is empty, no flows are currently offloaded.
- On OpenWrt 22.03, WED will not work in bridged AP mode without the
bridgerpackage available in development snapshots.