LINUX.ORG.RU
ФорумAdmin

htb+sfq - вопрос по синтаксису tc


0

0

Использую shapper htb + scheduller sfq. Запускаю командами
$TC qdisc add dev $IFNAME root handle 1: htb default 10 r2q "$R2Q"
$TC class add dev $IFNAME parent 1: classid 1:10 htb rate $RATE burst $BURST
$TC qdisc add dev $IFNAME parent 1:10 sfq perturb 10

Собственно первый вопрос - как я понимаю то что я записал избыточно
(например вроде можно убрать default 10) - хотелось бы чтобы получить
тот же результат с помощью меньшего числа команд с меньшим числом
аргументов. Если кто понимает хорошо то не мог бы поправить.

И второй вопрос - что лучше использовать в качестве шейпера - htb
или tbf.

Третий вопрос - а что за параметр r2q - в манах по iproute2 вроде
ничего не нашёл.

anonymous

>как я понимаю то что я записал избыточно

а что собственно надо? Есть подозрения, что это еще как избыточно :)

>И второй вопрос - что лучше использовать в качестве шейпера - htb или tbf.

Это разные вещи. TBF может использоваться для простого ограничения скорости. HTB - классовая дисциплина, классы которой действуют подобно TBF, но в целом HTB умеет значительно больше.

>а что за параметр r2q - в манах по iproute2 вроде ничего не нашёл.

http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm

It might be good time to touch concept of quantums now. In fact when more classes want to borrow bandwidth they are each given some number of bytes before serving other competing class. This number is called quantum. You should see that if several classes are competing for parent's bandwidth then they get it in proportion of their quantums. It is important to know that for precise operation quantums need to be as small as possible and larger than MTU. Normaly you don't need to specify quantums manualy as HTB chooses precomputed values. It computes classe's quantum (when you add or change it) as its rate divided by r2q global parameter. Its default value is 10 and because typical MTU is 1500 the default is good for rates from 15 kBps (120 kbit). For smaller minimal rates specify r2q 1 when creating qdisc - it is good from 12 kbit which should be enough. If you will need you can specify quantum manualy when adding or changing the class. You can avoid warnings in log if precomputed value would be bad. When you specify quantum on command line the r2q is ignored for that class.

fagot ★★★★★
()
Ответ на: комментарий от fagot

> а что собственно надо? Есть подозрения, что это еще как избыточно :)

Нужен шейпер - т. е. чтобы скорость исходяжего трафика на интерфейсе $IFNAME не была больше чем $RATE.

anonymous
()

> то что я записал избыточно (например вроде можно убрать default 10)
default убрать конечно можно, но тогда придется добавлять filter, который будет отправлять трафик в нужный класс. По-моему проще обойтись с default.

> Нужен шейпер
Если просто shaper, то конечно же хватит и tbf. Только не совсем понятно зачем в примере с htb было прикручивать sfq. Если нужен был "просто shaper", можно было добавить какой-нибудь *fifo или ничего не добавлять (был бы pfifo_fast).

spirit ★★★★★
()
Ответ на: комментарий от LifeWins

Не думаю. Возможно, имелся ввиду какой-то конкретный случай?

Ссылочку можно?

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