Projet

Général

Profil

Buffer Bloat » Historique » Version 9

Version 8 (Laurent GUERBY, 07/12/2011 11:55) → Version 9/98 (Laurent GUERBY, 09/12/2011 10:54)

h1. Buffer Bloat

* http://bufferbloat.net
* http://queue.acm.org/detail.cfm?id=2071893

h2. QoS

* tc qdisc par IP source
http://lists.tetalab.org/pipermail/tetaneutral/2011-April/000129.html
* ebtable packet flow chart http://ebtables.sourceforge.net/br_fw_ia/PacketFlow.png
* tc openwrt theory http://wiki.openwrt.org/doc/howto/tc/tc.theory
* tc openwrt howto http://wiki.openwrt.org/doc/howto/tc
* doc HTB http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
* http://www.faqs.org/docs/Linux-HOWTO/ADSL-Bandwidth-Management-HOWTO.html
* [PATCH net-next] sch_red: Adaptative RED AQM http://www.spinics.net/lists/netdev/msg182750.html
* http://icir.org/floyd/papers/adaptiveRed.pdf



Partage de bande passante ADSL

<pre>
# 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

</pre>

Pour supprimer un qdisc :

<pre>
tc qdisc del dev tapxxx root
</pre>

Pour afficher :

<pre>
tc -p -s -d qdisc show dev tapxxx
tc -p -s -d class show dev tapxxx
tc -p -s -d filter show dev tapxxx
</pre>