[anp/hsw] Posted September 7, 2024 Posted September 7, 2024 Приветствую уважаемое сообщество! Уже давно пользуюсь bird, но тут внезапно понадобилось агрегировать маршруты. BIRD 1.x этого не умел, так что изначально это меня стороной обошло. Но BIRD 2.x вполне умеет. В документации и в мейллистах аргегация никак особо не написана и единственный пример мне не совсем подходит (мне нужно агрегировать кучу /32 приходящих с терминации, не имеющих атрибута AS_PATH). Убрал упоминания о BGP из примера из документации. Цитата ipv4 table result4; protocol aggregator { table master4; export all; aggregate on net; merge by { print "Merging all these: ", routes; accept; }; import all; peer table result4; } master4 содержит исходные маршруты, все хорошо. result4 при этом пустая, print не срабатывает ни разу. Куда копать? Вставить ник Quote
[anp/hsw] Posted September 10, 2024 Author Posted September 10, 2024 Похоже этот агрегатор не умеет (на момент bird 2.15.1) агрегировать разные префиксы. Т.е. если у вас есть два маршрута 192.168.0.0/16 на разные шлюзы, он их соединит в один. Но если у вас есть 192.168.0.0/24 и 192.168.1.0/24, то он их не соединит в 192.168.0.0/23, т.к. внезапно эти два маршрута попадут в разные массивы, т.к. селектор стоит "aggregate on net" а "net" в понимании bird - это маршрут с его префиксом. Если же мы пытаемся засунуть в массив разнородные сети, например указав (net ~ [ 0.0.0.0/0{24,32} ]), то ничего не выйдет, будет ошибка "NET must be present". Т.е. он хочет "net" без дополнительных параметров, а это означает жесткое совпдение префиксов. Поправьте меня, если я ошибаюсь. Вставить ник 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.