Projet

Général

Profil

Buffer Bloat » Historique » Version 20

« Précédent - Version 20/98 (diff) - Suivant » - Version actuelle
Laurent GUERBY, 13/03/2012 07:06


Buffer Bloat

QoS

Partage de bande passante ADSL

# Version du 20111207
function do_qos {
  tc qdisc add dev $DEV root handle 1: htb default 1
  tc class add dev $DEV parent 1: classid 1:1 htb rate $RATE
  for IP in $IP_LIST; do
    tc class add dev $DEV parent 1:1 classid 1:$IP htb rate 1kbit ceil $RATE
    tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 match ip $DIR 91.224.148.$IP flowid 1:$IP
  done
}

DIR=dst #on gw then RATE= ADSL download speed
#DIR=src #on local machine then RATE= ADSL upload speed

DEV=tapstg
RATE=11000kbit # src 700kbit
IP_LIST=$(seq 129 144)
do_qos

DEV=tapthd
RATE=5500kbit # src TODO
IP_LIST=$(seq 194 207)
do_qos

DEV=tapmon
RATE=480kbit # src 96kbit
IP_LIST=$(seq 114 115)
do_qos

Pour supprimer un qdisc :

tc qdisc del dev tapxxx root

Pour afficher :

tc -p -s -d qdisc show dev tapxxx
tc -p -s -d class show dev tapxxx
tc -p -s -d filter show dev tapxxx

Documentation :

# tc qdisc add htb help
What is "help"?
Usage: ... qdisc add ... htb [default N] [r2q N]
 default  minor id of class to which unclassified packets are sent {0}
 r2q      DRR quantums are computed as rate in Bps/r2q {10}
 debug    string of 16 numbers each 0-3 {0}

... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
                      [prio P] [slot S] [pslot PS]
                      [ceil R2] [cburst B2] [mtu MTU] [quantum Q]
 rate     rate allocated to this class (class can still borrow)
 burst    max bytes burst which can be accumulated during idle period {computed}
 mpu      minimum packet size used in rate computations
 overhead per-packet size overhead used in rate computations
 linklay  adapting to a linklayer e.g. atm
 ceil     definite upper class rate (no borrows) {rate}
 cburst   burst but for ceil {computed}
 mtu      max packet size we create rate map for {1600}
 prio     priority of leaf; lower are served first {0}
 quantum  how much bytes to serve from leaf at once {use r2q}

TC HTB version 3.3