[anp/hsw] Posted September 7 · Report post Приветствую уважаемое сообщество! Уже давно пользуюсь 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 Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
[anp/hsw] Posted September 10 · Report post Похоже этот агрегатор не умеет (на момент 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 Ответить с цитированием Share this post Link to post Share on other sites More sharing options...