Linkmeup_R1(config)#l2vpn vfi context Blue
Linkmeup_R1(config-vfi)#vpn id 63
Linkmeup_R1(config-vfi)#autodiscovery bgp signaling bgp
Linkmeup_R1(config-vfi-autodiscovery)#ve id 101
Этот способ позволяет настроить три типа VFI: ручной Martini с настройкой соседей. _BGP Autodiscovery + **BGP** Signalling_, либо _BGP Autodiscovery + **LDP** Signalling_.
В нашем случае мы выбрали оба — BGP.
Опционально мы можем задать количество членов VPLS-домена. В cisco по умолчанию — 10. Командой **ve range _Х_** можно увеличить от 11 до 100 (но не уменьшить). Huawei — по умолчанию 10, можно изменять (1-16000). Juniper — по умолчанию 8, можно изменять (2,4,8, 16...)
Route Distinguisher и Route Target мы можем не настраивать — они будут назначены автоматически. Разве что вам хочется странного — объединить в один домен разные VFI.
Далее я даю команду **mpls label range 1000 1999**. Она глобально задаёт диапазон динамически используемых меток. Вообще говоря этого делать не нужно, поскольку так всем приложениям MPLS (LDP, TE, BGP) мы указываем, какие метки выбирать, а я не люблю кому-то что-то указывать. Но я делаю это для более наглядной иллюстрации вычисления меток.
Linkmeup_R1(config)#mpls label range 1000 1999 Label range change will cause 5 labels in the old dynamic range [16-1048575] to go out of range
Предупреждение говорит как раз о том, что распределённые прежде транспортные метки не укладываются в новый диапазон.
Linkmeup_R1(config)#l2vpn vfi context Blue Linkmeup_R1(config-vfi)#vpn id 63 Linkmeup_R1(config-vfi)#autodiscovery bgp signaling bgp Linkmeup_R1(config-vfi-autodiscovery)#ve id 101 Linkmeup_R1(config)#mpls label range 1000 1999
Linkmeup_R3(config)#l2vpn vfi context Blue Linkmeup_R3(config-vfi)#vpn id 63 Linkmeup_R3(config-vfi)#autodiscovery bgp signaling bgp Linkmeup_R3(config-vfi-autodiscovery)#ve id 103
Linkmeup_R3(config)#mpls label range 3000 3999
Linkmeup_R3(config)#bridge-domain 255 Linkmeup_R3(config-bdomain)#member vfi Blue Linkmeup_R3(config-bdomain)#member gigabitEthernet 3 service-instance 13
Linkmeup_R4(config)#l2vpn vfi context Blue Linkmeup_R4(config-vfi)#vpn id 63 Linkmeup_R4(config-vfi)#autodiscovery bgp signaling bgp Linkmeup_R4(config-vfi-autodiscovery)#ve id 104
Linkmeup_R4(config)#mpls label range 4000 4999
Linkmeup_R4(config)#bridge-domain 255 Linkmeup_R4(config-bdomain)#member vfi Blue Linkmeup_R4(config-bdomain)#member gigabitEthernet 3 service-instance 131
Потом создаём Address-Family L2VPN VPLS и указываем соседей, которые будут участвовать в L2VPN. Заметьте, не в конкретном VFI Blue, а вообще.
Здесь вы должны помнить, что обычно мы используем Route Reflector'ы — не нужно настраивать всех соседей вручную, иначе смысл Auto-Discovery теряется.
То есть если всего PE-устройств в сети MPLS — 100, в данном VPLS-домене — 20, а L2VPN RR — 2, то на каждом PE нужно поднять соседство только с этими двумя RR.
Ну вы же не маленькие, чтобы я вам это рассказывал?
**send-community extended** — как и в L3VPN включаем передачу Extended Community (RT).
**suppress-signaling-protocol ldp** — и запрещаем сигнализацию LDP.
Вот что BGP знает о VPLS, ещё даже не имея соседей:

Верхняя строка — это RD, выбранный автоматически: AS:VPN ID.
Нижняя — это префикс, который будет передаваться соседям.
Аналогичные манипуляции производим на Linkmeup\_R3 и Linkmeup\_R4.
**Конфигурация всех PE**
* * *
**Linkmeup\_R1**
* * *
**Linkmeup\_R3**
* * *
**Linkmeup\_R4**
* * *
Для разных устройств я указал разные mpls label range, чтобы более наглядной была разница между локальными и удалённым метками.