Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Slavish re-implementation of the venerable wondershaper
The wondershaper was one of the first widely used and documented shaper scripts used in Linux. It's still widely used. It's still very wrong on multiple particulars, notably, it breaks ECN, has no ipv6 support, and the model of prioritizing acks only is subject to being gamed, and can mess up certain kinds of flows. That said, I felt modeling it, as it was written and often deployed would be a good thing to do. I also plan to produce a corrected version at some point, but wshapers methods are largely past... You can invoke this one by setting environment variables for UPLINK and DOWNLINK, a QMODEL of owshaper, and an IFACE=some_ethernet device. IFACE=eth0 UPLINK=200 DOWNLINK=800 QMODEL=owshaper ./debloat It's not fully tested (need to test ping and the port filters), but does generate code substancially similar to the original wshaper.htb I based it on. Also in this commit: * Improved debugging and code generation - QDEBUG=1 will send tc's output to stdout * More environment variables overall
- Loading branch information