Tagging module iproute2 - iproute2-2.6.16-2
[iproute2.git] / examples / cbqinit.eth1
1 #! /bin/sh
2
3 TC=/home/root/tc
4 IP=/home/root/ip
5 DEVICE=eth1
6 BANDWIDTH="bandwidth 10Mbit"
7
8 # Attach CBQ on $DEVICE. It will have handle 1:.
9 #   $BANDWIDTH is real $DEVICE bandwidth (10Mbit).
10 #   avpkt is average packet size.
11 #   mpu is minimal packet size.
12
13 $TC qdisc add dev $DEVICE  root  handle 1:  cbq \
14 $BANDWIDTH avpkt 1000 mpu 64
15
16 # Create root class with classid 1:1. This step is not necessary.
17 #   bandwidth is the same as on CBQ itself.
18 #   rate == all the bandwidth
19 #   allot is MTU + MAC header
20 #   maxburst measure allowed class burstiness (please,read S.Floyd and VJ papers)
21 #   est 1sec 8sec means, that kernel will evaluate average rate
22 #                 on this class with period 1sec and time constant 8sec.
23 #                 This rate is viewed with "tc -s class ls dev $DEVICE"
24
25 $TC class add dev $DEVICE parent 1:0 classid :1 est 1sec 8sec cbq \
26 $BANDWIDTH rate 10Mbit allot 1514 maxburst 50 avpkt 1000
27
28 # Bulk.
29 #    New parameters are: 
30 #    weight, which is set to be proportional to
31 #            "rate". It is not necessary, weight=1 will work as well.
32 #    defmap and split say that best effort ttraffic, not classfied
33 #            by another means will fall to this class.
34
35 $TC class add dev $DEVICE parent 1:1 classid :2 est 1sec 8sec cbq \
36 $BANDWIDTH rate 4Mbit allot 1514 weight 500Kbit \
37 prio 6 maxburst 50 avpkt 1000 split 1:0 defmap ff3d
38
39 # OPTIONAL.
40 # Attach "sfq" qdisc to this class, quantum is MTU, perturb
41 # gives period of hash function perturbation in seconds.
42 #
43 $TC qdisc add dev $DEVICE parent 1:2 sfq quantum 1514b perturb 15
44
45 # Interactive-burst class
46
47 $TC class add dev $DEVICE parent 1:1 classid :3 est 2sec 16sec cbq \
48 $BANDWIDTH rate 1Mbit allot 1514 weight 100Kbit \
49 prio 2 maxburst 100 avpkt 1000 split 1:0 defmap c0
50
51 $TC qdisc add dev $DEVICE parent 1:3 sfq quantum 1514b perturb 15
52
53 # Background.
54
55 $TC class add dev $DEVICE parent 1:1 classid :4 est 1sec 8sec cbq \
56   $BANDWIDTH rate 100Kbit allot 1514 weight 10Mbit \
57   prio 7 maxburst 10 avpkt 1000 split 1:0 defmap 2
58
59 $TC qdisc add dev $DEVICE parent 1:4 sfq quantum 1514b perturb 15
60
61 # Realtime class for RSVP
62
63 $TC class add dev $DEVICE parent 1:1 classid 1:7FFE cbq \
64 rate 5Mbit $BANDWIDTH allot 1514b avpkt 1000 \
65 maxburst 20
66
67 # Reclassified realtime traffic
68 #
69 # New element: split is not 1:0, but 1:7FFE. It means,
70 #     that only real-time packets, which violated policing filters
71 #     or exceeded reshaping buffers will fall to it.
72
73 $TC class add dev $DEVICE parent 1:7FFE classid 1:7FFF  est 4sec 32sec cbq \
74 rate 1Mbit $BANDWIDTH allot 1514b avpkt 1000 weight 10Kbit \
75 prio 6 maxburst 10 split 1:7FFE defmap ffff
76