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

bird_of_Luck

Пользователи
  • Публикации

    50
  • Зарегистрирован

  • Посещение

Все публикации пользователя bird_of_Luck


  1. Навскидку самое страшное тут - это куча правил в файрволле, которые проходит пакет. Делите на in/out для каждого интерфейса через skipto. Надо, чтобы основной трафик проходил минимум правил. 10 - предел. Далее, релиз - точно не самая лучше идея. Надо прыгать на STABLE. И еще чего сделать - убедиться, что очереди прибиты к ядрам. Ну и кстати, при наличии вланов держать еще и нетегированный трафик на igb - моветон Ииии. net.inet.ip.fw.one_pass то кстати выключен, да? PPS. в -STABLE есть setfib tablearg, например
  2. Не очень понял смысла патча. Если трафик non-ip, (то есть приходит в 1ю очередь карточки) - то у тебя по очевидным причинам это будет на одном CPU и никакой выгоды этот патч не несет. Если трафик - IP и карточка приличная, то у тебя (например, igb) выставит M_FLOWID и номер очереди в качестве ID. И пакет и так будет обрабатываться внутри этой очереди/ядра (при наличии включенного direct). Если в какой-то момент пакет улетает из обработки ISR, (например - шейп с задержкой), то вынимает его из очереди, очевидно, уже другой процессор и привязывать его обратно к старому - смысл довольно сомнительный. Ну и да, netisr тоже умеет на M_FLOWID смотреть, для определения того, в какую очередь свою класть. А так - netisr с восьмерки вообще не пилили, судя по svn логам.
  3. Появилось, на днях выложим. И драйвер таки нужен. Другое дело, что разница может быть заметной начиная с 300-400kpps, чего на em бывает редко. Настройками не поделюсь, не рулится оно простыми sysctl. Для нормального распаралеливания нужен нормальный flowid, я его рассчитал примерно вот так: ... case ETHERTYPE_ARP: Выглядит криво конечно, работает только для ethernet и ipv4, но я нифига не девелопер, и я хз почему это не сделали в базовой системе - штука тривиальная на самом деле, может кто знающий подскажет почему. Ну и по хорошему нужно нормальный патч, ну чтобы там можно было включать-выключать это через sysctl да и рассчет flowid можно дернуть макросами, которые в lagg используются и запостить pr какой-то. http://static.ipfw.ru/patches/netisr_ip_flowid.diff Я скорее всего через какое-то время закоммичу это в базу. Пока проблема в том, что и сам netisr тоже надо переписывать, на buf_ring(9), вместо очередей с мьютексом - с ним производительность проседает процентов на 20 от direct isr
  4. Из-за того, что коробка с днсом по каким-то причинам хочет ходить на адрес 172.18.29.90 через 172.18.29.91. А 91й не дурак, видит, что при подобной маске днс может ходить напрямую, о чем и пишет. А причина самая вероятная в том, что на днсе кривая маска прописана. Кстати, а в чем глубокий смысл иметь делать приватный /16 для серверов?
  5. Напишите потом, чем закончилось. Особенно, если до какого-нибудь внятно описываемого бага дело дойдет.
  6. Ну, в основном к тому, что видимо на той железке надо выставить net.inet.ip.redirect в 0? Или на этой net.inet.icmp.drop_redirect в 1 и net.inet.icmp.log_redirect в 0
  7. Ну, во-первых: в какие моменты оно возникает и чем мешает? Это ipv4 / ipv6 ? Ловить можно через route monitor, например. Вариантов-то в общем немного - скорее всего в момент навешивания адреса он еще живет в таблице маршрутизации. Если совсем непонятно, откуда вылезает и сложно повторяется - то уже надо думать про хитрый скрипт, который будет смотреть в messages, route monitor, выцеплять префикс и делать на этот адрес люкап в таблице маршрутизации.
  8. Интересно, с каких пор рассказ возможного варианта решения топикстартера называется рекламой :)
  9. rc2. Changelog: * пофиксился баг в 6PE (возник при мерже веток разработки с VPN/labeled ipv6) * улучшена обработка MP-BGP капабилетей ( ругается в лог и дропает сессию, если сконфигурен 'enforce capabilities' и сконфигуренные address families разные с 2х сторон) * Добалено 'show bgp summary [verbose]' (спасибо Alexander Shikov за патч/идею) Ссылка: http://bird.mpls.in/distfiles/bird/bird-20120323.tar.gz Пользователи FreeBSD могут просто обновить порты (или в очередной раз сказать 'make makesum') До mtrdump руки пока не дошли, видимо позже :(
  10. Можно легко сделать с bird - зацепить пира и аплинк в отдельную таблицу в птичке, тогда пиру будет отдаваться все-все-все от аплинка, а чтобы получить бесты в основной таблице - слить через pipe маршруты туда.
  11. Будут, но судя по mrt_put_bgp4_hdr() заголовок на данный момент будет с кривым afi/safi. В следующей версии, в общем, попробую дорисовать.
  12. А мейнстрим в курсе. И большая часть изменений, которая нужна для многопротокольности в BGP согласована, но скорее всего дальше деление на две ветки останется - одна с pure IPv4, остальная - с фичами. Разница по производительности в случае обычного IPv4 vs MP-BGP чуть ли не на порядок
  13. Коллеги, похоже, что переделка bird, умеющая рефлектить не только IPv4/IPv6, достигла более-менее стабильного статуса и можно ее пытаться тестировать/выкатывать. Собственно, список добавленного к базовой версии: * рефлексия VPNv4, VPNv6 (только v6-mapped некстхопы) и 6PE (тоже только v6-mapped) * возможность вешать фильтры для каждой address family * ряд полезных команд (show symbols [table|protocol|etc..], sh ospf lsadb advrouter, поддержка RD в show route) Ссылка: http://bird.mpls.in/distfiles/bird/bird-20120307.tar.gz Документация на новые фичи: http://bird.mpls.in/projects/mpls-bird/wiki/Bird_rr Git: http://bird.mpls.in/projects/mpls-bird/repository/show?rev=l3vpn Официальная документация: http://bird.network.cz/?get_doc&f=bird.html Установка: ./configure ... --enable-mpls (на FreeBSD это выглядит примерно так) ./configure --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/ --build=amd64-portbld-freebsd8.2 --enable-mpls А вообще, пользователи FreeBSD могут просто поправить версию в net/bird-devel на 20120307, после чего сказать make makesum Комментарии/баги/предложения можно писать сюда / в melifaro@ipfw.ru Вопросы по работе bird в целом можно также писать в англоязычную рассылку самого bird: http://bird.network.cz/?m_list
  14. ipv6, практические вопросы

    А можно версию bird6 озвучить?
  15. Никак. приложение не может ответить connection refused, потому что это реакция операционной системы при попытке установить TCP-соединение с портом, на котором никто не слушает (ну, или же политика файрволла, что опять же не имеет отношения к приложению).
  16. "Оно" это кто? "Connection refused" это strerror от ECONNREFUSED. Это тот код ошибки, которое прилетело в сокет bird'у при последней попытке установить TCP-соединение в сторону пира.
  17. Это значии, что с другой стороны вместо бгп спикера сидит страшный connection refused :)
  18. Это да. Вот, из того что в открытом доступе, например: http://dataix.ru/rus/s/11/looking_glass.html?typ=BGP&router=3&x=19&y=12# http://dataix.ru/rus/s/11/looking_glass.html?typ=PREFIX&router=2&arg1=213.248.23.202&x=17&y=9# Это 1.3.3+, судя по выводу информации о префиксе (ну, либо люди бекпортировали ряд патчей оттуда, но это сомнительно)
  19. После двух, не слишком удачных попыток, продолжать эксперименты чревато забрасыванием тухлыми яйцами. Хотелось бы success story, о юзании птицы в боевых условиях, со всевозможными ребутами чего-либо и отсутствием траблов. Само желание поюзать птицу есть, уж больно она к ресурсам непритязательна. Вот у MSK-IX был success story с bird, как раз в момент их последнего факапа :) Ну а вообще-то крупные IX-ы используют, криков в рассылке нет. У меня в паре мест крутится птичка в multi-fib конфигурации уже с год - пара десятков пиров/таблиц, пайпы, фильтры, все хорошо. Нареканий нет никаких Тестили недавно производительность bird как RR (5 FW, 300 пиров) - тоже все замечательно.
  20. Продолжая: это все очень странно, код в данном случае достаточно простой и не менялся с 1.3.* (см. https://git.nic.cz/redmine/projects/bird/repository/revisions/master/annotate/proto/bgp/bgp.c#L628 ) Фактически там идет перебор всех протоколов и для каждого с типом BGP сравнивается remote address. То есть, без как минимум sh protocols / sh protocols all нужный_протокол сказать ничего нельзя. Кстати, там никаких автоматизаций с cli не было? типа birdc 'disable протокол ' или подобного? Ну и да, в момент 1.3.1 в порту была некая каша на тему не очень правильных патчей. В общем, предлагаю последний релиз попробовать.
  21. ipv6, практические вопросы

    Ну, в таком случае чтобы понять, в чем проблема, надо иметь перед глазами кроме логов show protocols в целом и, show protocol all проблемный_протокол и , как минимкм, конфиг для этого протокола и общей секции. И тут, опять же - в 1.3.3+ добавили более подробную информацию по BGP в случае, когда сессия отвалилась.
  22. ipv6, практические вопросы

    Ну вот тестовый bird6, 1.3.3. вообще без каких-либо listen в конфиге: 1:06 [1] fbsd8# sockstat| grep bird root bird 24685 4 stream /usr/local/var/run/bird6.ctl root bird 24685 6 tcp6 *:179 *:* root bird 24685 7 tcp6 2a02:XXX:X::X:XX:34737 2a02:XXX:X::X:X:179 По идее, в 1.3.2 должно быть то же самое
  23. ipv6, практические вопросы

    Здесь не очень много информации о том, что произошло. Может быть у провайдера source-address поменялся, или еще что-то похожее. Но вообще проблем с BGP быть не должно - это как бы основное направление bird. Я в ряде мест сижу еще на 1.3.1 с локальными патчами на тему config includes и multiple fibs - все хорошо, никаких нареканий, в том числе и при пропадаении физики. Но а вообще сейчас имеет смысл ставить последний релиз, там достаточно много интересного со времен 1.3.1 появилось
  24. ipv6, практические вопросы

    bird 1.2.5 немного, гм, устарел. Обновитесь на 1.3.4 и у Вас все будет хорошо. listen на v6 сокете пофиксили в конце 2010 года, как раз после 1.2.5
  25. ipv6, практические вопросы

    RIPE вам моментально и без лишних вопросов /32 v6 выдаст. За пару дней. И (если что) это никак потом не мешает получить еще v4. Квага v6 вполне умеет, на 0.99.12 full view живет. Он правда маааахонький - 2138 префиксов на данный момент, но растет А с аплинками надо договариваться, да, многие пока не умеют :(