ограничение tc filter
eric cuper 7 сентября, 2011 - 12:05
Подскажите существует ли ограничение на кол-во фильтров в tc?
Абонентов около 3К при добавлении фильтров в хеш таблицу где-то после 2,5К записей на каждый новый tc filter add dev eth0 ... выдается ошибка:
RTNETLINK answer: File exists
We have error talking to the kernel
При этом, если удалить определенное кол-во фильтров из любого места скрипта до того места откуда начинает выдавать ошибку, ошибка появляется позже ровно на то кол-во правил которые были удалены, то есть складывается впечатление что существует ограничение на фильтры по кол-ву, а не адресному пространству.
подсети
10.0.0.0/24 10.0.1.0/24 10.0.2.0/24 10.0.3.0/24
10.1.0.0/24 10.1.16.0/24 10.1.32.0/24 10.1.48.0/24
192.168.10.0/24 192.168.12.0/24
/sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 /sbin/tc filter add dev eth0 parent 1:0 handle 100: protocol ip u32 divisor 256 /sbin/tc filter add dev eth0 parent 1:0 handle 101: protocol ip u32 divisor 256 /sbin/tc filter add dev eth0 parent 1:0 handle 192: protocol ip u32 divisor 256 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 800:: match ip src 10.0.0.0/16 hashkey mask 0x000000ff at 12 link 100: /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 800:: match ip src 10.1.0.0/16 hashkey mask 0x000000ff at 12 link 101: /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 800:: match ip src 192.168.0.0/16 hashkey mask 0x000000ff at 12 link 192: /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:53: match ip src 10.0.0.83 flowid 1:65 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:16: match ip src 10.0.0.22 flowid 1:66 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:35: match ip src 10.0.0.53 flowid 1:67 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:40: match ip src 10.0.0.64 flowid 1:68 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:28: match ip src 10.0.0.40 flowid 1:69 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:3: match ip src 10.0.1.3 flowid 1:6a /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:26: match ip src 10.0.0.38 flowid 1:6b /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:1c: match ip src 10.0.0.28 flowid 1:6c /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:ae: match ip src 10.0.4.174 flowid 1:6e /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:27: match ip src 10.0.0.39 flowid 1:6f /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:29: match ip src 10.0.0.41 flowid 1:70 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:1b: match ip src 10.0.0.27 flowid 1:72 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:ad: match ip src 10.0.4.173 flowid 1:73 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:ef: match ip src 10.0.0.239 flowid 1:74 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:b5: match ip src 10.0.1.181 flowid 1:75 /sbin/tc filter add dev eth0 parent 1:0 protocol ip u32 ht 100:ba: match ip src 10.0.1.186 flowid 1:75 ...
»
- Для комментирования войдите или зарегистрируйтесь
tuning
Я думаю Вам надо поднастроить ядро, вот как тут, например
опытным путем определил что
опытным путем определил что фильтров может быть 2048шт
я обязательно поищу в этом направлении, странно что не смог нагуглить ничего по запросу "tc ограничение по фильтам"
:-)
а это не ограничение tc, это ограничение ядра
uname -a eix -I iproute2 ;
uname -a
eix -I iproute2 ; eix -I iptables
в студию
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
к сожалению именно этот
к сожалению именно этот сервер пока еще не gentoo, а centos
Linux 2.6.18-238.19.1.el5 #1 SMP Fri Jul 15 07:31:24 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
iproute-2.6.18-11.el5.x86_64
iptables-1.3.5-5.3.el5_4.1.x86_64 (не используеться)
к сожалению, этот сайт про
к сожалению, этот сайт про гентоо, а не про непонятно как и кен упатченное вусмерть ядро центоса
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
я не думаю что это проблема
я не думаю что это проблема дистрибутива, но если вопрос принципиальный пжлста (симптомы те же, один в один):
Люди, юзающие i686 для
Люди, юзающие i686 для кернелспейс программ не более чем сззб.
Пожалуйста, подтверди тот же баг на x86_64. твой баг интересен для изучения , но безпереспективен, если это проблемы 32-х разрядной архитектуры.
Так же рекомендую попробовать 3-е ядро и самый свежий iproute2/iptables с USE=netlink, в свежаке, емнип, увеличивали разрядность счетчиков
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)