Skip to content

Commit

Permalink
Slavish re-implementation of the venerable wondershaper
Browse files Browse the repository at this point in the history
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
Dave Taht committed Jan 12, 2012
1 parent b62d947 commit 7a08b13
Show file tree
Hide file tree
Showing 3 changed files with 258 additions and 201 deletions.

0 comments on commit 7a08b13

Please sign in to comment.