[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Миграция шейпера с ESFQ на SFQ flow has keys dst



Добрый день.
В более-менее последних ядрах появилась альтернатива ESFQ в виде
внешнего классификатора для SFQ, что позволяет организовать
псевдосправедливую (per-host) раздачу трафика на основе стандартного
ядра без сторонних патчей и т.п.

Вот кусочек шейпера с ESFQ:


/opt/sbin/tc qdisc del dev eth2 root
/opt/sbin/tc qdisc add dev eth2 root handle 1 htb default 50 r2q 10
/opt/sbin/tc class add dev eth2 parent 1: classid 1:2 htb rate 100Mbit

# Это кусочек полосы для ssh
/opt/sbin/tc class add dev eth2 parent 1:2 classid 1:20 htb rate
200Kbit ceil 100Mbit prio 10
/opt/sbin/tc qdisc add dev eth2 parent 1:20 handle 20 esfq perturb 10 hash dst
/opt/sbin/tc filter add dev eth2 parent 1:0 protocol ip prio 100 u32
match ip sport 22 0xffff classid 1:20

~skip~

#А это дефолтный класс
/opt/sbin/tc class add dev eth2 parent 1:2 classid 1:50 htb rate
85Mbit ceil 100Mbit prio 50
/opt/sbin/tc qdisc add dev eth2 parent 1:50 handle 50 esfq perturb 10 hash dst


Вот аналог придуманный мною для SFQ/flow:

[code]
/sbin/tc qdisc del dev eth2 root
/sbin/tc qdisc add dev eth2 root handle 1 htb default 50 r2q 10

/sbin/tc class add dev eth2 parent 1: classid 1:2 htb rate 100Mbit

/sbin/tc class add dev eth2 parent 1:2 classid 1:20 htb rate 200Kbit
ceil 100Mbit prio 10
/sbin/tc qdisc add dev eth2 parent 1:20 handle 20 sfq
/sbin/tc filter add dev eth2 parent 1:0 protocol ip prio 100 u32 match
ip sport 22 0xffff classid 1:20
/sbin/tc filter add dev eth2 parent 20: protocol ip handle 20 flow
hash keys nfct-dst divisor 1024

~skip~

/sbin/tc class add dev eth2 parent 1:2 classid 1:50 htb rate 85Mbit
ceil 100Mbit prio 50
/sbin/tc qdisc add dev eth2 parent 1:50 handle 50: sfq
/sbin/tc filter add dev eth2 parent 50: protocol ip handle 50 flow
hash keys nfct-dst divisor 1024
[/code]

Синтаксис верный, но - не работает. Через какое-то время пакеты
теряются до полной непроходимости.
Документации по flow я не обнаружил и слабо понимаю как действует
фильтр на дисциплину...



-- 
WBR,  Bogdan B. Rudas

Reply to: