Juniper bug bgp update

В данной статье будет описан bug BGP обновления . Одной прекрасной ночью выходного дня  , на работе отключились 2 аплинка , причиной этому была следующая запись в логах  маршрутизатора Juniper mx 240  :

MX240: rpd[1198]: bgp_read_v4_update:8218: NOTIFICATION sent to 212.X.X.X (External AS 8XXX): code 3 (Update Message Error) su
MX240: rpd[1198]: 212.X.X.X (External AS 8XXX) Received BAD update for family inet-unicast(1), prefix 212.118.142.0/24


MX240: rpd[1198]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer 212.X.X.X (External AS 8XXX) changed state from Established to Idle.

MX240: rpd[1198]: bgp_pp_recv:2924: NOTIFICATION sent to 212.X.X.X+57415 (proto): code 6 (Cease) subcode 5 (Connection Rejecte
 

После этого сообщения BGP клал сессию с аплинками .

Первым делом , что пришло на ум  это заблокировать данную сеть 212.118.142.0/24  , быстренько был сделан фильтр , который фильтровал данную сеть от апстримов , но к моему удивлению данная манипуляция не помогла , так как ошибка происходила в момент чтения BGP обновления , а фильтр мог только блокировать данную сеть в таблице маршрутизации маршрутизатора . Поняв что самим этоту проблему не решить , написал письмо апстримам , что б они блокировали анонсирование данной сети нам , что они и сделали , ошибка пропала , но разобраться хотелось — в чем собственно дело и как с этим жить .

А суть проблемы был в следующем , некий оператор начал анонсировать сеть 212.118.142.0/24 и в поле AS-PATH  вместо привычных нам AS  путей  было некая последовательность 16 ричной системы счисления . Как выяснилось позже ,  в Саудовсткой Аравии  некий оператор на какой то древней железке поднял BGP и начал анонсировать данную сеть в мир , наш Juniper mx 2400 JunOS 9.6R  был неготов принять такой атрибут . Было решено обновить софт , после обновления до JunOS 10.4R6.5-domestic-signed данная проблема исчезла , при этом в новом софте появились другие проблемы с счетчиками на интерфейсах и т.д  но это уже отдельная история .