Wireless Ethernet Dispatch (WED)
Wireless Ethernet Dispatch (WED) is a hardware acceleration feature available on MediaTek Filogic chipsets (e.g. MT7986 and MT7622). It is an extension of hardware flow offloading (HFO) 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 albeit with the loss of some QoS AQL on WiFi traffic.
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: Since flows are offloading from the CPU to the PPEs it cannot be used with QoS features such as 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 newer (including main snapshots)
- 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
To configure your router to work with WED as a Dumb AP, flow offloading requires flows to be tracked via NAT or routing. The bridger package uses BPF to track bridged streams for the PPE.
- Install the
bridgerpackage. - (Optional) Edit
/etc/config/bridgerto 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 devices 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.