LINUX.ORG.RU
ФорумAdmin

Проблема с esfq


0

1

Здравствуйте.

Подскажите где косяк. Есть сервер Debian 5.0 работает шлюзом, настроен шейпер типа htb-pfifo,sfq. Решил настроить esfq - пропатчил, пересобрал, установил ядро, тож самое проделал с iproute2. Вроде все хорошо, НО команда:

tc qdisc add dev eth0 parent 1:3 handle 3: esfq hash dst

из терминала под рутом работает:

#tc -s -d qdisc show dev eth0

qdisc esfq 3: parent 1:3 quantum 1514b limit 128p flows 128/1024 hash: dst Sent 55888 bytes 70 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0

а если ту же команду вбить в сценарий и сунуть в автозапуск, то пишет:

Unknown qdisc «esfq», hence option «hash» is unparsable

где копать?


Копай в сторону $PATH. Скорее всего у тебя в /sbin осталась непатченная версия ip, а патченая пошла в какой-нибудь /usr/local/sbin.

anonymous
()

Кстати, сейчас обычный sfq уже поддерживает все фичи esfq, но документации про это - кот наплакал.

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

Кстати, сейчас обычный sfq уже поддерживает все фичи esfq, но документации про это - кот наплакал.


Дааа? А ты, уважаемый, пробовал настроить этот «заменитель»? К примеру, заменитель hash dst у меня попросту вешает сервак. Или неправильно что-то делаю?
Вот пример:
$TC filter add dev eth0 parent 120: protocol ip handle 120 flow hash keys nfct-dst divisor 1024

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

кусок команд из моего скрипта на домашнем роутере:

# SFQ Discipline in high-priority traffic with filter based on destination IP (fair use)
tc qdisc add dev ${MAIN_IFACE} parent 1:10 handle 10: sfq
tc filter add dev ${MAIN_IFACE} parent 10: protocol ip handle 1 flow hash keys nfct-dst divisor 256 baseclass 1:10

У меня ничего не вешается.

P.S. Gentoo uclibc stage, kernel 2.6.34

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

У меня тоже Gentoo, только kernel 2.6.35-zen2

Спасибо. Попробую через денек-другой и отпишусь.

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

Копание в сторону $PATH оказалось верным советом, спасибо. Но, я устанавливал патченную версию из исходников, а это не совсем хорошо в Debian. Короче я снес родной iproute, собрал deb пакет из патченного iproute2-2.6.35 и все чудесно работает.

http://help.ubuntu.ru/wiki/создание_deb_пакетов

leex
() автор топика
Ответ на: комментарий от iron

должно быть так:

tc qdisc add dev eth0 parent 1:120 handle 120: esfq perturb 10 hash dst

т.е. к классу 1:120 привязать дисциплину 120: типа esfq ...... а у тя какойто непонятный для меня синтаксис :)

leex
() автор топика
Ответ на: комментарий от Pinkbyte

Все так же как и раньше. После выполнения скрипта полностью прекращается трафик через eth0. Выкладываю весь скрипт целиком:

TC="/sbin/tc"
$TC qdisc del dev eth0 root &> /dev/null
$TC filter del dev eth0 &> /dev/null
$TC class del dev eth0 &> /dev/null

$TC qdisc add dev eth0 root handle 1: htb default 20 r2q 10
$TC class add dev eth0 parent 1: classid 1:1 htb rate 1024mbit

$TC class add dev eth0 parent 1:1 classid 1:10 htb rate 100mbit burst 6k prio 0

$TC class add dev eth0 parent 1:10 classid 1:110 htb rate 256kbit ceil 100mbit prio 0 burst 6k
$TC class add dev eth0 parent 1:10 classid 1:120 htb rate 128kbit ceil 900kbit prio 7 burst 6k

$TC class add dev eth0 parent 1:1 classid 1:20 htb rate 1000mbit prio 2

$TC qdisc add dev eth0 parent 1:110 handle 110 sfq perturb 5
$TC qdisc add dev eth0 parent 1:120 handle 120: sfq perturb 5
$TC qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 5

# после добавления ниже перечисленных строк, полностью прекращается прохождения трафика через eth0
$TC filter add dev eth0 parent 110: protocol ip handle 1 flow hash keys nfct-dst divisor 256 baseclass 1:110
$TC filter add dev eth0 parent 120: protocol ip handle 1 flow hash keys nfct-dst divisor 256 baseclass 1:120
$TC filter add dev eth0 parent 20: protocol ip handle 1 flow hash keys nfct-dst divisor 256 baseclass 1:20

Может кто-то покажет где я накосячил?

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

попробуй завернуть трафик в ifb0 и шейпи его там. Я просто шейпером пользовался только или на ifb или на ppp устройствах

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

>попробуй завернуть трафик в ifb0 и шейпи его там. Я просто шейпером пользовался только или на ifb или на ppp устройствах

Нуу....заворачивать гигобит в ifb0 как-то не по православному :/
Может с самой конфигурацией что-то не то?

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

в ifb0 хоть 10Г заверни, производительность не упадет.

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