Jump to content
Калькуляторы

FreeBSD + ipfw + ng_car Работает ли?

Поделитесь опытом...

 

Работает ли у кого связка ipfw + ng_car ? Точнее не просто работает, а работает под нагрузкой.

 

У меня следующая ситуация

 

при нагрузке 20Mbit конструкция

ipfw add 100 netgraph tablearg all from table(1) to table(2)

отрабатывает так как должна в теории

 

как только увеличиваю нагрузку до рабочих 500Mbit/s в течение 20с получаю kernel panic trap 12

 

это соответствует известной ошибке о потери значения счетчика ipfw при работе с нодой ng_car - ipfw + ng_ipfw + ng_car + high load = kernel panic

 

Но мне эти патчи не помогли.

 

Очень хотелось бы знать получилась ли у кого-то работа на связке ipfw+ng_car под нагрузкой?

Share this post


Link to post
Share on other sites

У меня паниковало при модификации табличек или измененния параметров ноды на лету.

С тех пор забросил эту идею, сейчас классические pipe с tablearg

Share this post


Link to post
Share on other sites
С тех пор забросил эту идею, сейчас классические pipe с tablearg

Аналогично.

 

Но тарифы уже требуют безлимов на 5 и более мегабит, и тут очень бы пригодился ng_car с его rate-limit.

Share this post


Link to post
Share on other sites

Предлагаю реанимировать тему.

Кто-нибудь использует ng_car для mass shaping без mpd5, для чистого IPoE?

Хочется получить более производительную замену для dummynet.

Как вариант, предлагаю вместе спеть диферамбы автору ng_multicar - возможно, это ускорит разработку ;-))

Share this post


Link to post
Share on other sites

 

Нафик нужно, dummynet forever.

Share this post


Link to post
Share on other sites
Нафик нужно, dummynet forever.
http://www.opennet.ru/tips/info/1516.shtml

"Простая замена связки ipfw+pipe на эквивалентную связку ng_bpf+ng_car при 500 активных интерфейсах и 50Мбит/c трафика дала двухкратное снижение загрузки роутера. Если же перевести ng_car в режим rate-limit, его ресурсоемкость станет вообще нулевой, на уровне нескольких арифметических операций на пакет."

 

Share this post


Link to post
Share on other sites

Вы мне еще на лиссяру ссылки пришлите... За опеннет в приличных местах и в морду могут дать. :-)

 

Тут пол-форума забито плясками с mpd + ng_car.

Share this post


Link to post
Share on other sites
Предлагаю реанимировать тему.

Кто-нибудь использует ng_car для mass shaping без mpd5, для чистого IPoE?

Хочется получить более производительную замену для dummynet.

dummynet просто нужно адекватно настроить и прибить к определенному процессору (ядру процессора) с помощью cpuset.

 

Как вариант, предлагаю вместе спеть диферамбы автору ng_multicar - возможно, это ускорит разработку ;-))
Ну это будет очередная нода для Netgraph с уродским синтаксисом правил, которого врагу не пожелаешь.

 

Если говорить об альтернативах dummynet, то лучше избавиться от гигантских локов в ALTQ и добавить туда классификатор с хэшированием номеров очередей по IP, как pipe tablearg в ipfw. Это займет меньше времени, чем писание нод для Netgraph.

Edited by photon

Share this post


Link to post
Share on other sites
http://www.opennet.ru/tips/info/1516.shtml

"Простая замена связки ipfw+pipe на эквивалентную связку ng_bpf+ng_car при 500 активных интерфейсах и 50Мбит/c трафика дала двухкратное снижение загрузки роутера. Если же перевести ng_car в режим rate-limit, его ресурсоемкость станет вообще нулевой, на уровне нескольких арифметических операций на пакет."

Видимо речь идет о сравнении ng_car с неадекватно составленными правилами из тысяч пайпов, а не с динамическими пайпами и таблицами или pipe tablearg, как у всех нормальных людей. Вы кстати видели ng_bpf? Это какой-то ужас, ему надо подавать на вход не простые выражения a la tcpdump, а нечитабельный код на ассемблере BPF. ng_car не лучше. Такое впечатление, что те, кто пишет ноды для Netgraph, вообще не думают о нормальном синтаксисе правил. Для полного маразма надо еще какой-нибудь ng_xml с XML-парсером в ядро запихнуть, чтобы конфигурацию нод можно было передавать в виде XML, и чтобы стало совсем нечитабельно. А потом еще написать кучу костылей, чтобы со всем этим можно было хоть как-то работать.
Edited by photon

Share this post


Link to post
Share on other sites
Видимо речь идет о сравнении ng_car с неадекватно составленными правилами из тысяч пайпов, а не с динамическими пайпами и таблицами или pipe tablearg, как у всех нормальных людей. Вы кстати видели ng_bpf? Это какой-то ужас, ему надо подавать на вход не простые выражения a la tcpdump, а нечитабельный код на ассемблере BPF. ng_car не лучше. Такое впечатление, что те, кто пишет ноды для Netgraph, вообще не думают о нормальном синтаксисе правил. Для полного маразма надо еще какой-нибудь ng_xml с XML-парсером в ядро запихнуть, чтобы конфигурацию нод можно было передавать в виде XML, и чтобы стало совсем нечитабельно. А потом еще написать кучу костылей, чтобы со всем этим можно было хоть как-то работать.

Во-во, а потом сиди и лови lost orphans по всем нодам... :-) Такое впечатление, что они iptables для netgraph пишут.

Share this post


Link to post
Share on other sites

Такое впечатление, что они iptables для netgraph пишут.

Да, я так понимаю, что у некоторых разработчиков FreeBSD в последнее время есть идея фикс переписать все подсистемы ядра в виде нод Netgraph. Дескать, это позволит создавать очень гибкие конфигурации. А будут ли реально кому-то нужно такое -- никто не задумывается. При этом о качестве языка конфигурации нод думают в последнюю очередь, и в результате мы получаем ng_bpf и ng_car, с которыми можно работать, только если писать костыли на shell или Perl.

Edited by photon

Share this post


Link to post
Share on other sites
Да, я так понимаю, что у некоторых разработчиков FreeBSD в последнее время есть идея фикс переписать все подсистемы ядра в виде нод Netgraph. Дескать, это позволит создавать очень гибкие конфигурации. А будут ли реально кому-то нужно такое -- никто не задумывается. При этом о качестве языка конфигурации нод думают в последнюю очередь, и в результате мы получаем ng_bpf и ng_car, с которыми можно работать, только если писать костыли на shell или Perl.

Ну идеологически-то оно верно... Можно такое навертеть, от которого кискари в обморок падают. Да и фиг с ними с конфигами, в крайнем случае темплейтами набить. Но дебажить многонодные

конфигурации, особенно с глубокими графами - лучше сразу повеситься.

Share this post


Link to post
Share on other sites

У меня работает, уже около 1,5 года - с 7.0 и вот уже до 7.3, железо не обновлялось.

300Mbit/s - 70% idle - настроил, написал обвязку на Perl и забыл. Ни cpuset, ни bridge - вообще ничего такого нет, если все это сделать выиграю где-то ~15%.

Подумываю осилить демон, который следит за состоянием нод и удаляет их при простое, а затем создает при появлении трафика ala динамические pipe-ы.

Share this post


Link to post
Share on other sites
Такое впечатление, что они iptables для netgraph пишут.
Да, я так понимаю, что у некоторых разработчиков FreeBSD в последнее время есть идея фикс переписать все подсистемы ядра в виде нод Netgraph. Дескать, это позволит создавать очень гибкие конфигурации. А будут ли реально кому-то нужно такое -- никто не задумывается. При этом о качестве языка конфигурации нод думают в последнюю очередь, и в результате мы получаем ng_bpf и ng_car, с которыми можно работать, только если писать костыли на shell или Perl.

ну возможно поправят синтаксис и какие-то утилитки долепят - сложно же не только вам - но и им :))) - хотя они фанаты и им наверно нравится крючки крутить в нодах в команд лайне:)))

 

а вообще - да оно идёт именно к тому что всё будет один сплошной граф - по крайней мере так сбоку кажется....

по ng_car - типа получается что так как и мпд на нетграфе то логично что оно типа роднее к нему чем думинет - НО думинет уже вылизан и работает как часы - по ng_car пока такого сказать не получится ....

 

 

За опеннет в приличных местах и в морду могут дать. :-)

Тут пол-форума забито плясками с mpd + ng_car.

:))))))))))))))))))))

+1

Edited by Lynx10

Share this post


Link to post
Share on other sites
У меня работает, уже около 1,5 года - с 7.0 и вот уже до 7.3, железо не обновлялось.

300Mbit/s - 70% idle - настроил, написал обвязку на Perl и забыл. Ни cpuset, ни bridge - вообще ничего такого нет, если все это сделать выиграю где-то ~15%.

Подумываю осилить демон, который следит за состоянием нод и удаляет их при простое, а затем создает при появлении трафика ala динамические pipe-ы.

А три гигабита дуплекса при 1mpps слабо зашейпить на одном проце ? ;-)

Share this post


Link to post
Share on other sites
У меня работает, уже около 1,5 года - с 7.0 и вот уже до 7.3, железо не обновлялось.

300Mbit/s - 70% idle - настроил, написал обвязку на Perl и забыл. Ни cpuset, ни bridge - вообще ничего такого нет, если все это сделать выиграю где-то ~15%.

Подумываю осилить демон, который следит за состоянием нод и удаляет их при простое, а затем создает при появлении трафика ala динамические pipe-ы.

А три гигабита дуплекса при 1mpps слабо зашейпить на одном проце ? ;-)

~1,5 гигабита при 800Kpps было, правда ng_car был привязан к интерфейсам.

Share this post


Link to post
Share on other sites

 

Без всякой perl-обвязки и плясок с бубнами...

Share this post


Link to post
Share on other sites
Вы мне еще на лиссяру ссылки пришлите... За опеннет в приличных местах и в морду могут дать. :-)

 

Тут пол-форума забито плясками с mpd + ng_car.

Ну пока есть такие люди, как lavr, например - опеннет сам кому хош в морду даст! ;-)

 

Share this post


Link to post
Share on other sites

всем привет!

люди, помогите, уже пол месяца бьемся..

связка Abills+mpd+ng_car

проблема с пингами..

ситуация такая, юзеру по дхцп выдается ip 172.18.1.*

коннектимся по PPPoE, получаем адрес 10.10.10.*

делаем пинг на 10.10.1.1 (шлюз инета на сервере) или пинг на 10.10.1.50 (сетевуха на серваке смотрящая в инет)

включаем закачку, торрент или еще чего.. и пинг начинает ужасно теряться((

причем пинг 1-2мс, но потеря при закачке до 20-30%

как победить эту беду?

Share this post


Link to post
Share on other sites

ждём телепатов для получения вменяемой информации

Share this post


Link to post
Share on other sites

terrible

да даже все хрустальные шары уже переколол)

 

Share this post


Link to post
Share on other sites
Вы мне еще на лиссяру ссылки пришлите... За опеннет в приличных местах и в морду могут дать. :-)

 

Тут пол-форума забито плясками с mpd + ng_car.

Ну пока есть такие люди, как lavr, например - опеннет сам кому хош в морду даст! ;-)

а что - lavr и jab разные люди? :)

Share this post


Link to post
Share on other sites

 

Попрошу не обзываться. :-)

Share this post


Link to post
Share on other sites
НО думинет уже вылизан и работает как часы - по ng_car пока такого сказать не получится ....

чего бы я смотрел в сторону ng_car тогда?

Вот, полюбуйтесь

http://community.livejournal.com/ru_freebsd/169951.html

http://forum.lissyara.su/viewtopic.php?f=4&t=24332

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this