diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/networking/shaper.txt |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'Documentation/networking/shaper.txt')
-rw-r--r-- | Documentation/networking/shaper.txt | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Documentation/networking/shaper.txt b/Documentation/networking/shaper.txt new file mode 100644 index 000000000000..6c4ebb66a906 --- /dev/null +++ b/Documentation/networking/shaper.txt | |||
@@ -0,0 +1,48 @@ | |||
1 | Traffic Shaper For Linux | ||
2 | |||
3 | This is the current BETA release of the traffic shaper for Linux. It works | ||
4 | within the following limits: | ||
5 | |||
6 | o Minimum shaping speed is currently about 9600 baud (it can only | ||
7 | shape down to 1 byte per clock tick) | ||
8 | |||
9 | o Maximum is about 256K, it will go above this but get a bit blocky. | ||
10 | |||
11 | o If you ifconfig the master device that a shaper is attached to down | ||
12 | then your machine will follow. | ||
13 | |||
14 | o The shaper must be a module. | ||
15 | |||
16 | |||
17 | Setup: | ||
18 | |||
19 | A shaper device is configured using the shapeconfig program. | ||
20 | Typically you will do something like this | ||
21 | |||
22 | shapecfg attach shaper0 eth1 | ||
23 | shapecfg speed shaper0 64000 | ||
24 | ifconfig shaper0 myhost netmask 255.255.255.240 broadcast 1.2.3.4.255 up | ||
25 | route add -net some.network netmask a.b.c.d dev shaper0 | ||
26 | |||
27 | The shaper should have the same IP address as the device it is attached to | ||
28 | for normal use. | ||
29 | |||
30 | Gotchas: | ||
31 | |||
32 | The shaper shapes transmitted traffic. It's rather impossible to | ||
33 | shape 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 | ||
36 | and will treat it as such unless patched. Note that for mrouted you can run | ||
37 | mrouted tunnels via a traffic shaper to control bandwidth usage. | ||
38 | |||
39 | The shaper is device/route based. This makes it very easy to use | ||
40 | with any setup BUT less flexible. You may need to use iproute2 to set up | ||
41 | multiple route tables to get the flexibility. | ||
42 | |||
43 | There is no "borrowing" or "sharing" scheme. This is a simple | ||
44 | traffic limiter. We implement Van Jacobson and Sally Floyd's CBQ | ||
45 | architecture into Linux 2.2. This is the preferred solution. Shaper is | ||
46 | for simple or back compatible setups. | ||
47 | |||
48 | Alan | ||