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).
bridger is required.Set the module parameter for the wireless driver then reboot the device.
/etc/modules.conf and append the following line:options mt7915e wed_enable=Y
/etc/modules.d/mt7915e and append the following line:mt7915e wed_enable=Y
This change must be reapplied across a sysupgrade as this file is not included in the default backup tarball.
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.
bridger./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.
To verify that WED is running the kernel module will return Y (meaning yes):
# cat /sys/module/mt7915e/parameters/wed_enable Y
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:
bridger package available in newer releases.