tc.1.txt
author llbatlle@taga
Mon, 11 Aug 2008 10:52:12 +0200
changeset 3 77c382ef2850
parent 1 840aebd2e31e
permissions -rw-r--r--
Adding info on DLLs and scilab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
     1
Traffic control
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
     2
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
     3
Classless pfifo_fast
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
     4
-------------
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
     5
3 bands. This means three fifos. 0 prioritized over 1, 1 over 2.
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
     6
The kernel puts the packets into the fifos according to TOS.
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
     7
classless
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
     8
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
     9
Classless Tocken Bucket Filter (tbf)
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    10
--------------
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    11
limit: max number of bytes waiting for tokens
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    12
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    13
latency: max time the bytes may wait for tokens (sets limit)
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    14
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    15
burst/buffer/maxburst: size of the bucket in bytes.
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    16
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    17
mpu: minimal token usage for a packet
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    18
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    19
rate: speedknob?
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    20
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    21
peakrate: The peakrate can be used to specify how quickly the bucket is
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    22
allowed to be depleted. If doing everything by the book, this is achieved by
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    23
releasing a packet, and then wait just long enough, and release the next. We
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    24
calculated our waits so we send just at peakrate.
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    25
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    26
mtu/minburst: A higher peakrate is possible by sending out more packets per
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    27
timertick, which effectively means that we create a second bucket!. To calculate the maximum possible peakrate, multiply the configured mtu by 100
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    28
(or more correctly, HZ, which is 100 on Intel, 1024 on Alpha).
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    29
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    30
Classless Stochastic Fairness Queueing
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    31
-------------------------------
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    32
perturb: Reconfigure hashing once this many seconds.
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    33
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    34
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    35
HTB (Hierarchic Token Bucket)
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    36
-------------------------------
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    37
All packets go to the class 1:1
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    38
tc qdisc add dev eth1 root handle 1: htb default 1
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    39
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    40
The class:
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    41
tc class add dev eth1 parent 1: classid 1:1 htb rate 20kbps ceil 20kbps 
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    42
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    43
A SFQ qdisc for that rate limited class, so all connections get fair traffic
840aebd2e31e New pages
viric@mandarina
parents:
diff changeset
    44
tc qdisc add dev eth0 parent 1:1 handle 40: sfq perturb 10