Joined: 03 May 2015
|Posted: Mon Jun 10, 2019 5:38 Post subject: Possible solution to implement QoS with SFE enabled
|I think I may have a workable solution for the community who would like to implement QoS for their routers with the Shortcut Forwarding Engine (SFE) enabled. I stumbled across this solution when I found that when SFE is enabled, the Linux networking stack actually throttled egress traffic from an interface, but ignored ingress throttling.
Without SFE enabled, both ingress and egress throttling will be performed.
To work-around this, we could simply apply egress throttling to both the WAN and bridge interfaces, or whatever interface(s) configured for your router to service LAN hosts.
As an example, a typical DD-WRT installation would have 'vlan2' as the WAN interface, while 'br0' would be the LAN bridge, bridging both the ethernet and WiFi interfaces. To simply limit the upload and download bandwidth to 100mbps, the following would be all that's required:
|tc qdisc del dev vlan2 root
tc qdisc del br0 br0 root
tc qdisc add dev vlan2 root tbf rate 100mbit latency 50ms burst 10m
tc qdisc add dev br0 root tbf rate 100mbit latency 50ms burst 10m
The above is a simple example. I've only just started fiddling with QoS, so am not familiar with how to configure the various queues, classes and filters.
Those who are more familiar welcome to try out QoS with SFE enabled. Enabling SFE would reduce the CPU load of your router when forwarding network packets that passes through Linux's netfilter stack, so it is a good thing to have it enabled.
If it's confirmed to work for your various use cases, we can probably request the DD-WRT devs to implement a solution using GUI.