LINUX.ORG.RU
ФорумAdmin

traffic control проблема с ограничением скорости

 


0

1

добрый день осваиваю ограничение скорости при помощи traffic control

моя конфигурация следующая [что бы не занимать много места выложен пример только с двумя сетевыми адресами]

rmmod ifb
modprobe ifb numifbs=1
tc qdisc del dev eth4 root
tc qdisc add dev eth4 root handle 1: htb default 9
tc class add dev eth4 parent 1: classid 1:1 htb rate 10000MBit ceil 10000MBit
tc class add dev eth4 parent 1:1 classid 1:9 htb rate 10000MBit ceil 10000MBit
tc qdisc add dev eth4 parent 1:9 handle 9: sfq perturb 10

ip link set dev ifb0 up
tc qdisc del dev ifb0 root
tc qdisc del dev ifb0 ingress
tc qdisc add dev eth4 ingress
tc filter add dev eth4 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
tc qdisc add dev ifb0 root handle 1: htb default 9
tc class add dev ifb0 parent 1: classid 1:1 htb rate 10000MBit ceil 10000MBit
tc class add dev ifb0 parent 1:1 classid 1:9 htb rate 10000MBit ceil 10000MBit
tc qdisc add dev ifb0 parent 1:9 handle 9: sfq perturb 10

tc filter add dev eth4 parent 1:0 handle 10: protocol ip u32 divisor 256
tc filter add dev eth4 parent 1:0 protocol ip u32 ht 800:: match ip dst 10.3.5.0/24 hashkey mask 0x000000ff at 16 link 10:

tc class add dev eth4 parent 1:1 classid 1:a htb rate 100Mbit ceil 100Mbit
tc qdisc add dev eth4 parent 1:a handle a: sfq perturb 10
tc filter add dev eth4 parent 1:0 protocol ip prio 1 u32 ht 10:2c: match ip dst 10.3.5.44/32 flowid 1:a
tc class add dev ifb0 parent 1:1 classid 1:a htb rate 100Mbit ceil 100Mbit
tc qdisc add dev ifb0 parent 1:a handle a: sfq perturb 10
tc filter add dev ifb0 parent 1:0 protocol ip prio 1 u32 ht 800:: match ip src 10.3.5.44/32 flowid 1:a

tc class add dev eth4 parent 1:1 classid 1:b htb rate 20Mbit ceil 20Mbit
tc qdisc add dev eth4 parent 1:b handle b: sfq perturb 10
tc filter add dev eth4 parent 1:0 protocol ip prio 1 u32 ht 10:19: match ip dst 10.3.5.25/32 flowid 1:b
tc class add dev ifb0 parent 1:1 classid 1:b htb rate 20Mbit ceil 20Mbit
tc qdisc add dev ifb0 parent 1:b handle b: sfq perturb 10
tc filter add dev ifb0 parent 1:0 protocol ip prio 1 u32 ht 800:: match ip src 10.3.5.25/32 flowid 1:b

где

eth4 это сетевой интерфейс на котором настроены подсети ifb0 это виртуальный интерфейс на основе eth4 что бы резать скорость на нем в противположном направлении так как разработчики не смогли реализовать резалку скоростей без этого как мною было прочитано в интернете

сетевухи 10GBit при реальном употреблении 1Gbit-1.5GBit и общей загрузки процессора 30%

скорость режит нормально в обще стороны там где задано ограничение скорости на адрес а там где не задано наблюдаются проблемы со скоростью которая падает от скорости подключения сетевого интерфейса до нескольких мигабит и с потерей пакетов псевдослучайно от 10% до 50% каким то непонятным мне алгоритмом на каждый адрес с других подсетей [при отключении ограничения скоростей потери пакетов исчезают] все что в 10.3.5.0/24 нормально работает а параллельно еще есть подсеть 10.3.4.0/24 которую конфигурация не затрагивает обрезанием скорости конкретно на адрес а только направляет в отдельный класс

возможно что то у меня неверно прописано ибо я возможно еще что то недопонимаю в настройке и возможно кто то здесь хорошо разбирается в настройке и может подсказать в чем моя проблема

у классов есть счетчики (tc -s class show ...)

Смотри куда попадает трафик без ограничений. Да и в dmesg не плохо бы заглянуть.

IMHO Очень желательно чтобы сумма rate в подклассах не превышала rate класса.

У тебя есть класс «classid 1:1 htb rate 10000MBit ceil 10000MBit» и

подкласс «classid 1:9 htb rate 10000MBit ceil 10000MBit» который может сожрать все.

vel ★★★★★ ()

Пальцем в небо: https://wiki.gentoo.org/wiki/Traffic_shaping
Смотреть на ethtool -K $ext tso off gso off gro off

Я как-то тоже словил непонятный подземный стук с tc при переходе с ядер 2.6 на 3, потом наткнулся на эту ссылку. Помогло. Но я так понимаю, что должна быть зависимость от производителя сетевой карты (и драйвера соответственно).

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

отключил tso, gso и gro пока смотрю изменения помогло или нет

Izolda ()
Ответ на: комментарий от AS

непомогло к вечеру опять вернулась проблема что там где указаны ограничения трафик нормально ходит а там где не указаны большие потери пакетов

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