LINUX.ORG.RU
ФорумAdmin

tc qdisc htb, prio + iptables classify

 , , ,


0

1

Всем привет!

Есть дерево классов tc

class htb 1:9 parent 1:1 leaf 9: prio 0 quantum 1514 rate 400Mbit ceil 400Mbit linklayer ethernet burst 1600b/1 mpu 0b cburst 1600b/1 mpu 0b level 0
 Sent 2016645296 bytes 1527543 pkt (dropped 0, overlimits 1400904 requeues 0)
 backlog 0b 0p requeues 0
 lended: 1527543 borrowed: 0 giants: 0
 tokens: 269 ctokens: 269
 
class htb 1:1 root rate 1900Mbit ceil 1900Mbit linklayer ethernet burst 1187b/1 mpu 0b cburst 1187b/1 mpu 0b level 7
 Sent 2016829698 bytes 1527684 pkt (dropped 0, overlimits 861912 requeues 0)
 backlog 0b 0p requeues 0
 lended: 141 borrowed: 0 giants: 0
 tokens: 44 ctokens: 44
 
class htb 1:2 parent 1:1 leaf 2: prio 0 quantum 1514 rate 1500Mbit ceil 1500Mbit linklayer ethernet burst 1500b/1 mpu 0b cburst 1500b/1 mpu 0b level 0
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 125 ctokens: 125
 
class prio 2:1 parent 2: leaf 10:
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
class prio 2:2 parent 2: leaf 20:
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
class prio 2:3 parent 2: leaf 30:
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
class prio 2:4 parent 2: leaf 40:
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
class prio 2:5 parent 2: leaf 50:
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
class prio 2:6 parent 2: leaf 60:
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
class prio 2:7 parent 2: leaf 70:
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
class prio 2:8 parent 2: leaf 80:
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0

Тестирую, выполняю

iptables -t mangle -A FORWARD -j CLASSIFY --set-class 2:8

Не вижу растущих счетчиков Sent/bytes в 2:8

Выполняю

iptables -t mangle -A FORWARD -j CLASSIFY --set-class 1:9

Трафик попадает в нужный класс.

Почему не классифицируется в 2:8 ?


Ответ на: комментарий от vel

Я подключаю qdisc PRIO не к корню, а к ветке корня, 1:2, там и создается handle 2: .

Это не правильно ?

Генерирую вот таким скриптом.

iface='bond0'

spd_phys='1900'
spd_uplink='1500'
units='Mbit'
let "spd_diff=$spd_phys-$spd_uplink"

tc qdisc del dev $iface root

tc qdisc add dev $iface root handle 1: htb default 1

tc class add dev $iface parent 1: classid 1:1 htb rate ${spd_phys}${units} ceil ${spd_phys}${units} prio 0 quantum 1514

tc class add dev $iface parent 1:1 classid 1:2 htb rate ${spd_uplink}${units} ceil ${spd_uplink}${units} prio 0 quantum 1514

tc class add dev $iface parent 1:1 classid 1:9 htb rate ${spd_diff}${units} ceil ${spd_diff}${units} prio 0 quantum 1514

tc qdisc add dev $iface parent 1:9 handle 9: fq_codel

bands='4'
tc qdisc add dev $iface parent 1:2 handle 2: prio bands $bands priomap 0 1 2 3 4 5 6 7

for (( i=1; i <= $bands; i++ ))
do
    let "handle=$i*10"
    tc qdisc add dev $iface parent 2:$i handle ${handle}: fq_codel
done
fet4 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.