st_re Posted May 3, 2009 Posted May 3, 2009 Судя по упавшему с 60 гигабит до 25 трафику на М9 проблема с такой вот ошибкой массовая Assertion `len < str_size' failed in file bgp_aspath.c, line 619, function aspath_make_str_count http://groups.google.ru/group/fido7.ru.uni...d7a4f3ce0?hl=ru Вставить ник Quote
wawa Posted May 3, 2009 Posted May 3, 2009 Судя по упавшему с 60 гигабит до 25 трафику на М9 проблема с такой вот ошибкой массовая Assertion `len < str_size' failed in file bgp_aspath.c, line 619, function aspath_make_str_count http://groups.google.ru/group/fido7.ru.uni...d7a4f3ce0?hl=ru запредельная по безответственности ошибка патчится вот так собственно значимую часть патча я выдели болдом: aurora:/usr/home/wawa# cat /usr/ports/net/quagga/files/patch-WAWA-AS4fix* --- bgpd/bgp_aspath.h.orig 2008-09-05 18:27:26.000000000 +0400 +++ bgpd/bgp_aspath.h 2009-04-30 13:54:00.000000000 +0400 @@ -60,7 +60,7 @@ struct aspath char *str; }; -#define ASPATH_STR_DEFAULT_LEN 32 +#define ASPATH_STR_DEFAULT_LEN 512 /* Prototypes. */ extern void aspath_init (void); --- bgpd/bgp_aspath.c.orig 2008-09-05 18:27:26.000000000 +0400 +++ bgpd/bgp_aspath.c 2009-04-30 13:50:17.000000000 +0400 @@ -540,16 +540,14 @@ aspath_make_str_count (struct aspath *as seg = as->segments; - /* ASN takes 5 chars at least, plus seperator, see below. + /* ASN takes 10 chars at least, plus seperator, see below. * If there is one differing segment type, we need an additional * 2 chars for segment delimiters, and the final '\0'. * Hopefully this is large enough to avoid hitting the realloc * code below for most common sequences. * - * With 32bit ASNs, this range will increase, but only worth changing - * once there are significant numbers of ASN >= 100000 */ -#define ASN_STR_LEN (5 + 1) +#define ASN_STR_LEN (10 + 1) str_size = MAX (assegment_count_asns (seg, 0) * ASN_STR_LEN + 2 + 1, ASPATH_STR_DEFAULT_LEN); str_buf = XMALLOC (MTYPE_AS_STR, str_size); @@ -574,16 +572,6 @@ aspath_make_str_count (struct aspath *as XFREE (MTYPE_AS_STR, str_buf); return NULL; } - - /* We might need to increase str_buf, particularly if path has - * differing segments types, our initial guesstimate above will - * have been wrong. need 5 chars for ASN, a seperator each and - * potentially two segment delimiters, plus a space between each - * segment and trailing zero. - * - * This may need to revised if/when significant numbers of - * ASNs >= 100000 are assigned and in-use on the internet... - */ #define SEGMENT_STR_LEN(X) (((X)->length * ASN_STR_LEN) + 2 + 1 + 1) if ( (len + SEGMENT_STR_LEN(seg)) > str_size) { Вставить ник Quote
alks Posted May 3, 2009 Posted May 3, 2009 ээээ объясните плиз что это за проблема и зачем надо патчить квагу дело в том что пару дней дней назад поднял квагу в виртуалке - для теста - и наблюдал падение демона bgpd с записью в логе аналогичной ошибки Вставить ник Quote
bitbucket Posted May 3, 2009 Posted May 3, 2009 ээээ объясните плиз что это за проблема и зачем надо патчить квагу Патчить надо: 32bit ASN это больше, чем 5 цифр. Так что при появлении номеров более 99999 происходит "наезд" на другие данные со всеми вытекающими последствиями. Вставить ник Quote
GHhost Posted May 3, 2009 Posted May 3, 2009 тоже сегодня нарвались, пролежали около часа пока нарыли как с этим бороться. Вставить ник Quote
Keyptor Posted May 3, 2009 Posted May 3, 2009 http://keyptor.blogspot.com/2009/05/patch-...agga-09911.html вот таблетка. Вставить ник Quote
GHhost Posted May 3, 2009 Posted May 3, 2009 да заплаток на данный момент уже наклепали штук 5 помоему и все разные, поидее то что с гита более правильно на мой взгляд. Вставить ник Quote
Keyptor Posted May 3, 2009 Posted May 3, 2009 Угу. Вот собственно и ветка в рассылке с несколькими вариациями патчей: http://lists.quagga.net/pipermail/quagga-d...ril/006537.html Вставить ник Quote
SSTS Posted May 3, 2009 Posted May 3, 2009 Насколько я понимаю это все патчи для 0.99.11 А где взять для 0.99.10 ? Вставить ник Quote
Keyptor Posted May 3, 2009 Posted May 3, 2009 https://www.caputo.com/foss/quagga-0.99.10-...bug-fixes.patch попробуйте. Вставить ник Quote
DemYaN Posted May 3, 2009 Posted May 3, 2009 сегодня также влетели :( печально, что такая серьезная проблема осталась без должного внимания Вставить ник Quote
YuryD Posted May 4, 2009 Posted May 4, 2009 А собственно, если я full view не беру, оно мне срочно надо ? или подождать обновления в портах ? Вставить ник Quote
mikevlz Posted May 4, 2009 Posted May 4, 2009 подождать обновления в портах. Если фулвью сам не обрабатываешь - только дефолт принимаешь, то патч не нужен. Вставить ник Quote
st_re Posted May 4, 2009 Author Posted May 4, 2009 ну тем неменее, давеча на Msk-Ix в те 6 тысяч префиксов, что там есть, закралась такая весчь.... поэтому если от апстрима отдается не только дефолт, а и что-то еще, то надо бы. причем сами такие префиксы отфильтрвать вы не сможете, оно развалится сразу по приходу. Вставить ник Quote
bitbucket Posted May 4, 2009 Posted May 4, 2009 Вот так райп борется с фрей!!!! А причем тут *bsd ? там же свой и вполне адекватный openbgpd есть. Вставить ник Quote
DemYaN Posted May 4, 2009 Posted May 4, 2009 дефолт не спасет. bgpd валится еще на этапе приема апдейтов, до их фильтрации Вставить ник Quote
martin74 Posted May 4, 2009 Posted May 4, 2009 centos 5.3. Quagga 0.98.6. Работает, не валится... Соседняя сеть - упала вчера ;) Вставить ник Quote
mikevlz Posted May 4, 2009 Posted May 4, 2009 если фильтрует аплинк и сливает тебе исключительно дефолт - то тебе будет по барабану эта проблема, можно дождаться апдейта в портах. Вставить ник Quote
Keyptor Posted May 4, 2009 Posted May 4, 2009 (edited) Подобная проблема возникает естественно при принятии fullview с апстримов. Причем штатными средствами куаги, например отрезать префикс-листами все кроме default, не дало результата, bgpd все также уходит в ступор. 4 варианта выхода из данной ситуации: 1. Купить cisco/juniper в место тазика с куагой ($$$$$$$$). 2. Даунгрейд до версии quagga-0.98.6. (тут все понятно) 3. Попросить апстримы отдавать Вам не fullview, а только default. (Соответственно при нескольких апстримах про балансировку забудьте. Разве что если есть сессия в IX, но не факт что и рано или поздно оттуда придут префиксы, которые завалят Вашу куагу) 4. Пропатчить куагу патчем. Edited May 4, 2009 by Keyptor Вставить ник Quote
martin74 Posted May 4, 2009 Posted May 4, 2009 2. Даунгрейд до версии quagga-0.98.6. (тут все понятно) А что собсно понятно? Вставить ник Quote
ingress Posted May 4, 2009 Posted May 4, 2009 1. Купить cisco/juniper в место тазика с куагой ($$$$$$$$). хотелось бы спросить многоуважаемого и всепросвещённого товарища wawa, к тому что они когда то давно там в Яндексе приняли концепцию использовать только OpenSource решения, в том числе чтобы не тратить много денег и не зависеть от злобных вендоров и их проприетарщины, как вы кушаете такие ошибки?(*материтесь пятиэтажно в слух при всех?*) :) проводите ли анализ кода который скачиваете бесплатно? Вставить ник Quote
Дятел Posted May 4, 2009 Posted May 4, 2009 Уважаемые коллеги, в прошедшие выходные была обнаружена проблема с программным обеспечением Route Server (работающем под управлением Quagga daemon), связанная с некорректной обработкой новых ASN32. Был выпущен патч, который был наложен на Route Serverа MSK-IX и проблема была устранена. Обращаем внимание участников MSK-IX, кто столкнулся с подобной ошибкой, на необходимость обновления ПО quagga с целью ее устранения. Для дополнительной информации вы можете ознакомиться со списком рассылки Quagga: http://lists.quagga.net/pipermail/quagga-d...ril/006537.html После обновления система ведет себя стабильно и проблем более не наблюдается. Приносим извинения за доставленные неудобства, связанными с перебоями в работе услуги Route Server на MSK-IX. --- С уважением. Технический директор MSK-IX Ильин Александр. Вставить ник Quote
wawa Posted May 4, 2009 Posted May 4, 2009 (edited) 1. Купить cisco/juniper в место тазика с куагой ($$$$$$$$). хотелось бы спросить многоуважаемого и всепросвещённого товарища wawa, к тому что они когда то давно там в Яндексе приняли концепцию использовать только OpenSource решения, в том числе чтобы не тратить много денег и не зависеть от злобных вендоров и их проприетарщины, как вы кушаете такие ошибки?(*материтесь пятиэтажно в слух при всех?*) :) проводите ли анализ кода который скачиваете бесплатно? Я давно заметил, что неинформированные люди почему-то более склонны к агрессии. Поэтому информирую (долой агрессию !): Словили проблему 30 апреля утром. Отлов и диагностика проблемы заняла минут пять Выпуск горячего патча примерно столько же (чтоб не падало). Еще через полчаса был выпущен более осмысленный (разобрались почему падало и исправили нетопорно). Основую проблему составила переналивка большого парка маршрутизаторов. Как легко дагадаться задним умом тут полезно было соблюдать очередность Так или иначе, к ночи 30 апреля почти все было готово (что-то по мелочи конечно недоглядели). Вот планово перепуститься не успели. Факт. И закоммитить патчи по-нормальному тоже не успели. Чтобы меньше народу пострадало. Тем не менее, когда бабахнуло по полной программе (в выходной день) неперепущенные Квагги попадали, но отжались уже пропатченным кодом. А про Жунипер Вы у японцев спросите. Про Циску тут тоже многим есть что рассказать. Впрочем, кто сказал что в Яндексе этих зверьков не водится ? Edited May 4, 2009 by wawa Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.