1Traffic Shaper For Linux 2 3This is the current BETA release of the traffic shaper for Linux. It works 4within the following limits: 5 6o Minimum shaping speed is currently about 9600 baud (it can only 7shape down to 1 byte per clock tick) 8 9o Maximum is about 256K, it will go above this but get a bit blocky. 10 11o If you ifconfig the master device that a shaper is attached to down 12then your machine will follow. 13 14o The shaper must be a module. 15 16 17Setup: 18 19 A shaper device is configured using the shapeconfig program. 20Typically you will do something like this 21 22shapecfg attach shaper0 eth1 23shapecfg speed shaper0 64000 24ifconfig shaper0 myhost netmask 255.255.255.240 broadcast 1.2.3.4.255 up 25route add -net some.network netmask a.b.c.d dev shaper0 26 27The shaper should have the same IP address as the device it is attached to 28for normal use. 29 30Gotchas: 31 32 The shaper shapes transmitted traffic. It's rather impossible to 33shape received traffic except at the end (or a router) transmitting it. 34 35 Gated/routed/rwhod/mrouted all see the shaper as an additional device 36and will treat it as such unless patched. Note that for mrouted you can run 37mrouted tunnels via a traffic shaper to control bandwidth usage. 38 39 The shaper is device/route based. This makes it very easy to use 40with any setup BUT less flexible. You may need to use iproute2 to set up 41multiple route tables to get the flexibility. 42 43 There is no "borrowing" or "sharing" scheme. This is a simple 44traffic limiter. We implement Van Jacobson and Sally Floyd's CBQ 45architecture into Linux 2.2. This is the preferred solution. Shaper is 46for simple or back compatible setups. 47 48Alan 49