Jump to content

Recommended Posts

Posted

Привет.

 

Недавно обновил порты на одном тазике с 7.3-RELEASE.

Квагга обновилась до 0.99.16, сломался OSPF.

Симптомы - не видит соседей, соседи её видят.

Смотрел tcpdump-ом, так и есть, шлет hello, а hello-пакеты соседей игнорируются.

В логах сообщения

2010/07/17 00:49:28 OSPF: interface 10.0.0.1 [2] join AllSPFRouters Multicast group.
2010/07/17 00:49:28 OSPF: can't setsockopt IP_ADD_MEMBERSHIP (fd 10, addr 10.0.0.2, ifindex 2, AllSPFRouters): Invalid argument; perhaps a kernel limit on #
of multicast group memberships has been exceeded?
2010/07/17 00:50:08 OSPF: DR-Election[1st]: Backup 10.0.0.1
2010/07/17 00:50:08 OSPF: DR-Election[1st]: DR     10.0.0.1
2010/07/17 00:50:08 OSPF: DR-Election[2nd]: Backup 0.0.0.0
2010/07/17 00:50:08 OSPF: DR-Election[2nd]: DR     10.0.0.1

На интерфейсе были два адреса, 10.0.0.1/24, 10.0.0.2/32.

После снятия алиаса ошибка can't setsockopt IP_ADD_MEMBERSHIP пропала, но соседи все так же не видны.

Конфиг

router ospf
ospf router-id 10.0.0.1
log-adjacency-changes
network 10.0.0.0/24 area 0.0.0.0

 

Проблема решилась откатом до quagga-0.99.15_4.

Скажите, работает ли у вас 0.99.16 из портов на 7-ке, и в чем собсно грабли?

  • 1 month later...
Posted

%pkg_info | grep quagga

quagga-0.99.17 Free RIPv1, RIPv2, OSPFv2, BGP4, IS-IS route software

Все работает, вижу кошку и маршруты от неё.

Posted

Недолгая пляска с бубном дала удивительнейшие результаты - как и в ветке 0.99.16, так и в ветке 0.99.17 трабла полностью лечится вставкой андефа:

#ifdef HAVE_STRUCT_IP_MREQN_IMR_IFINDEX
#undef HAVE_STRUCT_IP_MREQN_IMR_IFINDEX
#endif

в начало файла lib/sockopt.c

 

в http://www.freebsd.org/cgi/query-pr.cgi?pr=148238 написано (в самом низу страницы), что в 0.99.17 фикс 148238 уже включен - брехня полная!

Posted

Алсо обнаружилась странная грабля,

при перезагрузке сервера quagga не стартует, приходится запускать инитскрипт руками,

в rc.conf

quagga_enable="YES"
quagga_daemons="zebra ospfd"
quagga_flags="-d -A 127.0.0.1"

Posted (edited)

Не стартовала, ибо почему-то во время первоначального запуска не хватало libnetsnmp.so.16, пересборка квагги без snmp решила проблему.

было:

%ldd /usr/local/sbin/zebra 
/usr/local/sbin/zebra:
    libzebra.so.0 => /usr/local/lib/libzebra.so.0 (0x28300000)
    libdlmalloc.so.2 => /usr/local/lib/libdlmalloc.so.2 (0x281b7000)
    libcrypt.so.4 => /lib/libcrypt.so.4 (0x281bc000)
    libnetsnmp.so.16 => /usr/local/lib/compat/pkg/libnetsnmp.so.16 (0x28354000)
    libcrypto.so.5 => /lib/libcrypto.so.5 (0x28401000)
    librt.so.1 => /usr/lib/librt.so.1 (0x281d5000)
    libc.so.7 => /lib/libc.so.7 (0x28083000)

 

Edited by mr.Scamp
  • 5 months later...
Posted

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

Сброс сессии не помог, помогло только

service quagga restart

 

quagga-0.99.17_5    Free RIPv1, RIPv2, OSPFv2, BGP4, IS-IS route software

 

 

BGP-router# sh ip bgp sum
BGP router identifier ZZZ.ZZZ.ZZZ.ZZZ, local AS number 11111
RIB entries 631715, using 58 MiB of memory
Peers 2, using 9120 bytes of memory

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
XXX.XXX.XXX.ZZZ   4 22222   12262     386        0    0    0 06:22:00        0
XXX.XXX.XXX.XXX  4 22222 326375     386        0    0    0 06:22:02        0

Total number of neighbors 2

 

 

 

BGP-router# sh ip bgp neighbors XXX.XXX.XXX.XXX prefix-counts
Prefix counts for XXX.XXX.XXX.XXX, IPv4 Unicast
PfxCt: 0

Counts from RIB table walk:

              Adj-in: 336716
              Damped: 0
             Removed: 0
             History: 0
               Stale: 0
               Valid: 0
             All RIB: 336675
       PfxCt counted: 0
             Useable: 336675
XXX.XXX.XXX.XXX [pcount] PfxCt drift!
Please report this bug, with the above command output

  • 1 month later...
Posted (edited)
Недолгая пляска с бубном дала удивительнейшие результаты - как и в ветке 0.99.16, так и в ветке 0.99.17 трабла полностью лечится вставкой андефа:

#ifdef HAVE_STRUCT_IP_MREQN_IMR_IFINDEX
#undef HAVE_STRUCT_IP_MREQN_IMR_IFINDEX
#endif

в начало файла lib/sockopt.c

 

в http://www.freebsd.org/cgi/query-pr.cgi?pr=148238 написано (в самом низу страницы), что в 0.99.17 фикс 148238 уже включен - брехня полная!

Это "исправление" чинит ospfd, но ломает ripd - если приходится на одной и той же машине держать обеих, оно не годится. Правильное исправление есть тут и тут

Edited by dadv
  • 6 months later...

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.