URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Details |
Compare with Previous |
View Log
Line No. |
Rev |
Author |
Line |
1 |
1275 |
phoenix |
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
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.