Перейти к содержимому
Калькуляторы

sc: скрипт для управления Linux-шейпером

добрый день! :)

 

есть тестовая тачка:

Debian — 7.4

iproute - 3.4.0

ipset- 6.12.1

iptables - 1.4.14

sc - 1.5.0

 

limit_method = hybrid

 

с загрузкой всё нормально....проблема заключается в аплоаде..он в районе 2-2,5 мбит...на любых скоростях...

 

policer_burst_ratio - вообще никак не влияет на него....

 

отключается sc - с аплоадом всё нормально

 

нат есть..

 

в чём может быть проблема ?:)

 

а возможно как-то выпилить аплоад вообще? :)

 

спасибо :)

 

и да...в режиме hybrid, команда "sc list" ничего не выводит - это нормально?:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не понятно. Как интерфейсы подключены? Аплоад - это имеется ввиду откуда и куда?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

eth2 смотрит в инет с ip 194.44.х.х

eth1 смотрит во внутрь с ip 192.168.1.10

 

аплоад...

 

включаем sc, заходим на тот же спидтест с любого другого компа на спидтест - аплоад не более 2-2,5 мбит

торрент - 2-2,5 мбит

заливаем на 1.10 какой-то файл, с другого компа качаем wget-oм и имеем те же 2-2,5 мбит

ставим сервер iperf на 1.10 , запускаем тест с другой тачки и ..ну вы поняли :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для увеличения аплоада нужно поставить большие значения policer_burst_ratio или использовать режим shaping. Полисер по определению не может гарантировать полосу пропускания, он только обрезает избыточный пакетрейт. Баг с неработающей в режиме hybrid командой sc list починил в 1.5.1.

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

так вот в том и дело, что у меня policer_burst_ratio не реагирует..никак..ни на какие значения..от 0.1 до 1000 :) он держится на 2-2,5

 

я бы просто вырезал нарезку аплоуда и это бы всё решило :) только как? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Во всех функциях hybrid_* нужно найти и отключить все вызовы функций policer_dev_*. Например,

 

sub hybrid_add
{
my ($ip, $cid, $rate) = @_;
my $ceil = $rate;
my ($ht, $key) = ip_leafht_key($ip);

#	policer_dev_add($i_if, $rate, $ceil, "ip src $ip", $ht, $key);
shaper_dev_add($i_if, $cid, $rate, $ceil, "ip dst $ip", $ht, $key);
return $?;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

out_if = disable

limit_method = shaping

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день!

 

Я закоментировал строки где блокируется остальной трафик.

Но при включении шейпера я теряю управление по ssh.

 

На что еще можно посмотреть.

Дебиан 7.4

sc 1.5.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Перед запуском создайте в базе аккаунт для шейпера или пропишите default-класс fffe в самом скрипте, если нужно пропускать весь неклассифицированный трафик. По умолчанию они не создаются. default-класс появился в sc 1.5.x потому что без него не работало в дистрибутивах с новыми ядрами и iproute.

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Заюзал шейпирование только одного интерфейса, спасибо что реализовали.

Сделал как написано в комментах:

# Possible values: interface name or "disable" keyword, which disables rule

# generation for a specified traffic direction.

 

sc.conf

 

out_if = eth4
in_if = disable

 

Однако:

 

$ sc start
$ sc list
2021  192.168.2.3  1024414kibit

$ sc sync
Cannot find device "disable"
Command failed -:1

$ sc version
Shaper Control Tool (version 1.5.2)

 

Вроде всё работает но ошибка повторяется каждый раз при синхронизации

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это странно, т.к. там везде натыканы if $i_if_enabled; ... if $o_if_enabled. Посмотрю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

red_neon, какие изменения внесены по сравнению со стандартным конфигом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

О, простите, пропустил ваш ответ. Оживим...

 

Подозреваю что надо смотреть на SC со слов "# block all other traffic".

Если трафик не проходит через созданные для него фильтры и режется этим правилом, то он и шейпиться не будет. Нужно использовать простые конфигурации: шейпер на выделенной машине в режиме моста, без вланов. Вланы нужно маршрутизировать до шейпера на L3-коммутаторе.

 

А кто вам сказал что весь трафик должен шейпится?

 

Вланы нужно маршрутизировать там где это удобно, а не там где автору стороннего софта нравится. ;)

Аналогично и с конфигурациями ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дело в том, что я тестирую скрипт в простой конфигурации с двумя интерфейсами. Невозможно воспроизвести и предусмотреть все выкрутасы с вланами на шейпере. Это ваши личные дела.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это понятно.

Я думаю вам интересно будет узнать, что ваш скрипт прекрасно работает в режиме hybrid + u32 с кучей вланов (простейшие изменения что бы указывать в конфигурации несколько интерфейсов одновременно, при этом на всех интерфейсах прописываются одинаковые правила), к примеру есть сервер в одной богом забытой деревне:

 

in_if =  eth0.127 eth0.128 eth0.129 eth0.130 eth0.131 eth0.132 eth0.133 eth0.134 eth0.135 eth0.136 eth0.137 eth0.138 eth0.139 eth0.140 eth0.141 eth0.142 eth0.143 eth0.151

sc list | wc -l
433

+ на той же машинке ipt_NETFLOW + nat + nfq_filter + куча правил фильтрации/бината в iptables + активное использование списков ipset.

 

Никаких проблем никогда не было, разве что подбор оптимальных параметров для полисера...

Так что, боюсь вы малость недооцениваете SC..в конце-концов, он просто генерит правила, а уж дальше как там TC будет глючить от него не зависит :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поддержку нескольких интерфейсов на вход и выход добавить несложно. Однако, будет ли такая возможность востребована кем-то еще?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

red_neon, какие изменения внесены по сравнению со стандартным конфигом?

 

Только эти:

out_if = eth4
in_if = disable
debug = 1
network = 192.168.253.0/24 192.168.230.0/24 192.168.240.0/24 192.168.2.0/24
syslog = 1

Изменено пользователем red_neon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Исправил, там не хватало проверок в двух местах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Исправил

 

спасибо!

 

Вопрос, можно ли реализовать шейпирование ipv6 адресов в скрипте? Т.е. хеш таблицы под шестерку

Или тут нужен другой метод шейпирования (ipset+iptables)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если раздавать IPv6 блоками по /64, как это обычно и делается, то изменятся только смещения для src/dst ip. Просто хэширование будет не по всем октетам IPv6-адреса, а только по четырем.

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно ли будет совместить ipv4 + ipv6 в одном конфиге? (при условии что ипв6 с маской /64 или меньше)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, если 4 байта из ipv6 совпадают с ipv4, то в базе можно хранить только их. С другой стороны, можно делать хэш-фильтрацию по двум байтам, т.к. классов все равно максимум 2^16-1, т.е. совпадать должны только два.

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Приветствую. Шибко полезный скрипт.

 

Вылезла тут бага, только не могу понять, чья. Или sc правила неправильно генерирует, или tc их плохо кушает.

Общая суть в том, что не работают фильтры.

 

Вот кусок того, что делает sc init

[root@server sc]# head tc.batch 
qdisc add dev em2.100 root handle 1: htb default fffe
filter add dev em2.100 parent 1:0 protocol ip pref 10 u32
filter add dev em2.100 parent 1:0 protocol ip pref 10 handle 100: u32 divisor 256
filter add dev em2.100 parent 1:0 protocol ip pref 10 u32 ht 800:: match ip dst 10.10.0.0/16 hashkey mask 0x0000ff00 at 16 link 100:
filter add dev em2.100 parent 1:0 protocol ip pref 10 handle 200: u32 divisor 256
filter add dev em2.100 parent 1:0 protocol ip pref 10 u32 ht 100:0: match ip dst 10.10.0.0/24 hashkey mask 0x000000ff at 16 link 200:
filter add dev em2.100 parent 1:0 protocol ip pref 10 handle 201: u32 divisor 256
filter add dev em2.100 parent 1:0 protocol ip pref 10 u32 ht 100:1: match ip dst 10.10.1.0/24 hashkey mask 0x000000ff at 16 link 201:
filter add dev em2.100 parent 1:0 protocol ip pref 10 handle 202: u32 divisor 256
filter add dev em2.100 parent 1:0 protocol ip pref 10 u32 ht 100:2: match ip dst 10.10.2.0/24 hashkey mask 0x000000ff at 16 link 202:

 

А вот то, что при этом получается в tc

[root@server sc]# tc filter list dev em2.100
filter parent 1: protocol ip pref 10 u32 
filter parent 1: protocol ip pref 10 u32 fh 2ff: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2fe: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2fd: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2fc: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2fb: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2fa: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f9: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f8: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f7: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f6: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f5: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f4: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f3: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f2: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f1: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2f0: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ef: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ee: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ed: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ec: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2eb: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ea: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e9: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e8: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e7: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e6: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e5: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e4: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e3: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e2: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e1: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2e0: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2df: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2de: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2dd: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2dc: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2db: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2da: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d9: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d8: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d7: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d6: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d5: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d4: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d3: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d2: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d1: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2d0: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2cf: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ce: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2cd: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2cc: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2cb: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ca: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c9: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c8: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c7: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c6: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c5: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c4: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c3: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c2: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c1: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2c0: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2bf: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2be: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2bd: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2bc: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2bb: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ba: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b9: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b8: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b7: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b6: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b5: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b4: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b3: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b2: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b1: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2b0: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2af: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ae: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ad: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ac: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2ab: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2aa: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a9: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a8: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a7: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a6: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a5: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a4: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a3: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a2: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a1: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 2a0: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 29f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 29e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 29d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 29c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 29b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 29a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 299: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 298: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 297: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 296: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 295: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 294: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 293: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 292: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 291: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 290: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 28f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 28e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 28d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 28c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 28b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 28a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 289: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 288: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 287: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 286: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 285: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 284: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 283: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 282: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 281: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 280: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 27f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 27e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 27d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 27c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 27b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 27a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 279: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 278: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 277: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 276: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 275: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 274: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 273: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 272: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 271: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 270: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 26f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 26e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 26d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 26c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 26b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 26a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 269: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 268: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 267: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 266: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 265: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 264: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 263: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 262: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 261: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 260: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 25f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 25e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 25d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 25c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 25b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 25a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 259: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 258: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 257: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 256: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 255: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 254: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 253: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 252: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 251: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 250: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 24f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 24e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 24d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 24c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 24b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 24a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 249: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 248: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 247: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 246: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 245: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 244: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 243: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 242: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 241: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 240: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 23f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 23e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 23d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 23c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 23b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 23a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 239: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 238: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 237: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 236: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 235: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 234: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 233: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 232: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 231: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 230: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 22f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 22e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 22d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 22c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 22b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 22a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 229: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 228: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 227: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 226: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 225: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 224: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 223: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 222: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 221: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 220: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 21f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 21e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 21d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 21c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 21b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 21a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 219: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 218: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 217: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 216: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 215: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 214: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 213: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 212: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 211: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 210: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 20f: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 20e: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 20d: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 20c: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 20b: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 20a: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 209: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 208: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 207: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 206: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 205: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 204: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 203: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 202: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 201: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 200: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 100: ht divisor 256 
filter parent 1: protocol ip pref 10 u32 fh 100::800 order 2048 key ht 100 bkt 0 link 200: 
 match 0a0a0000/ffffff00 at 16
hash mask 000000ff at 16 
filter parent 1: protocol ip pref 10 u32 fh 800: ht divisor 1 
filter parent 1: protocol ip pref 10 u32 fh 800::800 order 2048 key ht 800 bkt 0 link 100: 
 match 0a0a0000/ffff0000 at 16
hash mask 0000ff00 at 16 
filter parent 1: protocol all pref 20 u32 
filter parent 1: protocol all pref 20 u32 fh 801: ht divisor 1 

 

Собственно, отсутствуют фильтры u32 но не все... Причём, если строку filter add dev em2.100 parent 1:0 protocol ip pref 10 u32 ht 100:1: match ip dst 10.10.1.0/24 hashkey mask 0x000000ff at 16 link 201:скормить непосредственно самому tc - то он её скушает, без ошибок, но фильтр не появится.

 

ОС - Федора 20 64 бит.

Ядро - последнее из репо 3.18.9-100.fc20.x86_64 селинукс отключен

tc - iproute-3.14.0-2.fc20.x86_64

 

На другом сервере всё работало до поры. Потом сервер подох, взяли другой, накатили всё из бекапов и на тебе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что произойдет, если отключить batch-режим и включить отладку (в конфиге поставить verbose = 2 и debug = 1)? Если все выполнится без сообщений об ошибках, и фильтры так и не будут создаваться, то советую сгенерировать максимально простую последовательность команд tc, где такой баг проявляется, и создать bugreport на багтрекере ядра. Они постоянно что-то ломают в сетевой подсистеме, похожий прецедент уже был: https://bugzilla.kernel.org/show_bug.cgi?id=84661

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.