Table of Contents

Wireless Ethernet Dispatch (WED)

WED is a hardware acceleration feature available on MediaTek Filogic SoCs (e.g. MT7622, MT7986, MT7988). It is an extension of hardware flow offloading (HFO) that 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 QoS AQL on WiFi traffic. MediaTek refers to this part of the SoC as the Network Processing Unit (NPU).

Caveats and Limitations

Enable WED

Set the module parameter for the wireless driver then reboot the device.

OpenWrt 24.10 or newer (including snapshots)

options mt7915e wed_enable=Y

OpenWrt 22.03 or 23.05

mt7915e wed_enable=Y

:!: This change must be reapplied across a sysupgrade as this file is not included in the default backup tarball.

Dumb Access Point Configuration

If you configure your router 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.

  1. Install bridger.
  2. (Optional) Edit /etc/config/bridger to define specific devices or bridges to exclude from acceleration.

Native Linux kernel support may make the bridger package obsolete in the future via bridge-fastpath and related improvements.

Verification

Confirm Module Status

To verify that WED is running the kernel module will return Y (meaning yes):

# 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

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

Notes on Output: