LINUX.ORG.RU
ФорумAdmin

cbq traffic shaping - ругается на написанные правила


0

0

Была задумка немного разграничить 2х мегобитный канал таким образом, что бы всякие там ftp, http сервера не сильно забивали канал.

Почитал advanced routing & traffic control howto, порадовался, пишу правила.
Сначала в графике:

1: (root) (10mbit - скорость интерфейса сетевой карты)
|
1:1 -> 2mbit (скорость канала)
|               \
10:             20: (для всего остального)
(200kbit - для маленьких пакетов)
(isolated)      |                 \
                |                  \
              20:1                  20:2
     (1600Kbit - для ftp и http)    (1000Kbit - для всего остального)
            (bounded)                 (isolated)

правила для tc и cbq:

tc qdisc add dev eth2 root handle 1: cbq bandwidth 10Mbit avpkt 1000 mpu 64           

tc class add dev eth2 parent 1:0 classid 1:1 cbq bandwidth 10Mbit rate 2Mbit \        
   weight 200Kbit allot 1514 prio 8 maxburst 10 avpkt 100 

вот эти две строки проходят нормально, а на следующую уже ругается - RTNETLINK answers: Invalid argument   
Вроде все по документации написал, чего ему не нравиться?
iproute2 поставлено.
                         
tc class add dev eth2 parent 1:1 classid 10:1 cbq bandwidth 10Mbit rate 200Kbit \
weight 20Kbit allot 1514 prio 1 maxburst 10 avpkt 100 isolated                     

tc class add dev eth2 parent 1:1 classid 20: cbq bandwidth 10Mbit rate 1800Kbit \ 
weight 180Kbit allot 1514 prio 6 maxburst 20 avpkt 1500 bounded                    
                 
tc class add dev eth2 parent 20:0 classid 20:1 cbq bandwidth 10Mbit rate 1.6Mbit \
weight 160Kbit allot 1514 prio 6 maxburst 10 avpkt 1500 bounded                    

tc class add dev eth2 parent 20:0 classid 20:2 cbq bandwidth 10Mbit rate 1Mbit \
weight 100Kbit allot 1514 prio 3 maxburst 10 avpkt 1500 isolated                   


дальнейшее раскидывание пакетов по задумке осуществляется через их маркировку в iptables И потом
#max prio  
tc filter add dev eth2 parent 1:1 protocol ip handle 3 fw flowid 10:0
#min prio                                                         
tc filter add dev eth2 parent 20:0 protocol ip handle 4 fw flowid 20:1
#medium prio 
tc filter add dev eth2 parent 20:0 protocol ip handle 5 fw flowid 20:2
                                                                           
anonymous

root handle 1 parent 1:0 classid 1:1 cbq

parent 1:1 classid 10:1 cbq parent 1:1 classid 20:

10, 20.... eto ti naverno pro PRIO chital in cbq major number must be equal to parent qdisc you could change minor number

anonymous
()

Хм, судя по их примерам деревьев, major number меняется каждый раз, когда идет разветвление на несколько потоков. Получается не так?

То есть major всегда :1, а миноры меняются как 1:1 (уровень 0) 10,20,30:1 (уровень 1) 100,200,300:1 (уровень 2)

я правильно понял?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.