CNick Опубликовано 21 октября, 2013 · Жалоба Решил немного поднатаскать себя в MPLS и в процессе нашел интересную особенность BGP ipv4 + label. В чем суть: Inter AS MPLS, на бордерах bgp ipv4 + label следующий конфиг: # R1 ASBR 1 interface FastEthernet0/0.192 encapsulation dot1Q 192 ip address 20.19.20.1 255.255.255.0 ip ospf 1 area 0 mpls ip router bgp 100 network 2.2.2.2 mask 255.255.255.255 network 5.5.5.5 mask 255.255.255.255 neighbor 12.1.19.19 remote-as 200 neighbor 12.1.19.19 send-label в таком варианте все отлично работает, loopback'и роутеров с соседней AS приходят с метками, но вот если вместо network на ASBR использовать редистрибюцию с IGP в BGP то префиксы приходят без лейблов. Конфиг: # R1 ASBR 1 interface FastEthernet0/0.192 encapsulation dot1Q 192 ip address 20.19.20.1 255.255.255.0 ip ospf 1 area 0 mpls ip router bgp 100 redistribute ospf 1 match internal neighbor 12.1.19.19 remote-as 200 neighbor 12.1.19.19 route-map BGP_LABEL out neighbor 12.1.19.19 send-label ip prefix-list BGP_LABEL seq 5 permit 5.5.5.5/32 ip prefix-list BGP_LABEL seq 10 permit 2.2.2.2/32 ip prefix-list BGP_LABEL seq 15 deny 0.0.0.0/0 le 32 route-map BGP_LABEL permit 10 match ip address prefix-list BGP_LABEL Так и нужно я просто чего-то не знаю? :) вроде бы разницы никакой быть не должно, но с вариантом 2 не работает. :-/ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
config Опубликовано 21 октября, 2013 · Жалоба А показали бы вы show IP BGP с нерабочей схемы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
config Опубликовано 21 октября, 2013 · Жалоба И в роут мап может поставит set MPLS-label. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
applx Опубликовано 21 октября, 2013 · Жалоба router bgp 100 redistribute ospf 1 match internal route-map BGP_LABEL no neighbor 12.1.19.19 route-map BGP_LABEL out ! clear ip bgp * soft Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
agr Опубликовано 21 октября, 2013 · Жалоба в таком варианте все отлично работает, loopback'и роутеров с соседней AS приходят с метками, но вот если вместо network на ASBR использовать редистрибюцию с IGP в BGP то префиксы приходят без лейблов. Метки по OSPF не распространяются, очевидно поэтому и не попали в BGP при редистрибьюции. Когда использовали network, то bgp процесс взял метки из "меточного" протокола(скорее всего LDP в вашем случае). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CNick Опубликовано 21 октября, 2013 · Жалоба Метки по OSPF не распространяются, очевидно поэтому и не попали в BGP при редистрибьюции. Когда использовали network, то bgp процесс взял метки из "меточного" протокола(скорее всего LDP в вашем случае). Ну то что внутри одной AS это понятно, у меня LDP и по нему все ходит. А вот почему BGP + label не выдает метки для маршрутов которые попали через редистрибюцию. До этого момента я думал что команда neighbor x.x.x.x send-label говорит BGP выдавать всем префиксам MPLS метки если обратное не указанно в route-map и на практике с префиксами которые объявлялись через network это действительно было так. Вечером попробую с "route-map set MPLS-label" и "redistribute ospf 1 match internal route-map BGP_LABEL" и отпишусь :) Еще раз спасибо всем за подсказки :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
agr Опубликовано 21 октября, 2013 · Жалоба До этого момента я думал что команда neighbor x.x.x.x send-label говорит BGP выдавать всем префиксам MPLS метки если обратное не указанно в route-map и на практике с префиксами которые объявлялись через network это действительно было так. нет, send-label говорит посылать метки если они уже имеются. В cisco нельзя разделить на уровне протокола отправку labeled и не-labeled маршрутов. (А например в juniper можно строго указать, что нужно посылать только labeled, или только не-labeled, или и те и другие). команда network же, указывает bgp процессу слать соответствующий анонс если маршрут уже известен маршрутизатору, не важно откуда - connected,static или из IGP. Он благодаря LDP у вас был известен с меткой, поэтому и в BGP попал тоже с меткой. Все IMHO конечно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
artmc Опубликовано 21 октября, 2013 · Жалоба Ну то что внутри одной AS это понятно, у меня LDP и по нему все ходит. А вот почему BGP + label не выдает метки для маршрутов которые попали через редистрибюцию. До этого момента я думал что команда neighbor x.x.x.x send-label говорит BGP выдавать всем префиксам MPLS метки если обратное не указанно в route-map и на практике с префиксами которые объявлялись через network это действительно было так. LDP раздает метки для IGP протоколов, а BGP ляпает сам метки для префиксов которые в BGP крутятся, у циски там конкретно нужно указывать что у нас BGP с mpls, и на таком то интерфейсе. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CNick Опубликовано 21 октября, 2013 · Жалоба циски там конкретно нужно указывать что у нас BGP с mpls, и на таком то интерфейсе. Для этого на интерфейсе нужно указать "mpls bgp forwarding" вопрос был не совсем в этом. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
artmc Опубликовано 21 октября, 2013 · Жалоба Для этого на интерфейсе нужно указать "mpls bgp forwarding" вопрос был не совсем в этом. Как вы проверяете отсутствие меток тогда ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CNick Опубликовано 21 октября, 2013 · Жалоба Как вы проверяете отсутствие меток тогда ? как-то так show ip bgp labels show ip bgp x.x.x.x show mpls forwarding Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
config Опубликовано 21 октября, 2013 (изменено) · Жалоба Проверяете таблицу меток, по идее не важно откуда вы в бгп кидаете маршруты, главные чтоб у вас на asbr были метки для next-hop этих маршрутов. Изменено 21 октября, 2013 пользователем config Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
CNick Опубликовано 21 октября, 2013 · Жалоба И в роут мап может поставит set MPLS-label. Вы были правы, поставил в route-map который был на neighbor x.x.x.x out "set mpls-label" и все заработало. redistribute ospf 1 match internal route-map BGP_LABEL no neighbor 12.1.19.19 route-map BGP_LABEL out Вы тоже правы так будет работать. И роутер даже дает небольшое объяснение: "% "BGP_LABEL" used as redistribute isis into bgp route-map, set mpls label not supported" То есть опция set mpls-label работает только в route-map который отдельно на neighbor, в редистрибюции опция игнорируется и route-map работает как "обычный" фильтр. Спасибо всем, что помогли разобраться :) Надеюсь через 3 месяца не забуду и не прийдеться снова спрашивать :D (А например в juniper можно строго указать, что нужно посылать только labeled, или только не-labeled, или и те и другие). Прикольно, не знал. Нужно будет как-то попробовать, а то пока ничего кроме сетей с cisco в продакшине не видел :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
config Опубликовано 22 октября, 2013 · Жалоба В cisco тоже можно указать через rout-map, отправлять label или не label routes. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...