В данной статье рассматривается процесс настройки L2VPN с использованием BGP Autodiscovery и LDP для сигнализации, эта технология позволяет строить VPLS с FEC 129.
Основным отличием данного метода от Kompella-mode и Martini-mode является использование двух протоколов: BGP для обнаружения соседей и MPLS LDP для транспорта и сигнализации


В качестве IGP протокола выбран IS-IS:

router isis test
  interface bundle-ether 0
    address-family ipv4 unicast
    exit
    point-to-point
  exit
  interface bundle-ether 1
    address-family ipv4 unicast
    exit
    point-to-point
  exit
  interface loopback 1
    address-family ipv4 unicast
    exit
    passive
  exit
  ipv4-te-level level-2
  is-level level-2
  net 49.0000.0000.4321.00
  te-router-id 2.2.2.2
exit

Конфигурация BGP аналогична Kompella-mode, но в данном примере BGP используется только для автоматического обнаружения соседей в VPLS домене:

router bgp 1
  address-family l2vpn vpls
  exit
  bgp router-id 2.2.2.2
  neighbor 10.0.0.6
    address-family l2vpn vpls    <--- Обязательно добавляем соседу AFI L2VPN
    exit
    remote-as 1
    send-community
    send-community-ext
    update-source 2.2.2.2
  exit
  neighbor 5.5.5.5
    address-family l2vpn vpls
    exit
    remote-as 1
    send-community
    send-community-ext
    update-source 2.2.2.2
  exit
exit

Настраиваем LDP и обязательно устанавливаем tLDP соседства:

mpls
  forwarding
    interface bundle-ether 0
    interface bundle-ether 1
    interface loopback 1
  exit
  ldp
    discovery interface bundle-ether 0
    exit
    discovery interface bundle-ether 1
    exit
    neighbor 10.0.0.6
    exit
    neighbor 5.5.5.5
    exit
    penultimate-hop-popping disable
  exit
  router-id 2.2.2.2
exit

Теперь можно приступить к конфигурированию самого L2VPN сервиса

l2vpn
  bridge-domain test
    autodiscovery
      bgp
        rd 2:2
        route-target 10:10    <---Используется для изоляции PW друг от друга
          export
          import
        exit
        signaling-protocol ldp    <--- Указываем LDP в качестве протокола для сигнализации.
          vpls-id 100:100      <--- VPLS-ID должен быть единым для всех маршрутизаторов.
        exit
      exit
    exit
    interface tengigabitethernet 0/0/3
    exit
  exit
exit

Аналогичные настройки проводим на других маршрутизаторах

Проверить статус PW можно с помощью команды "show l2vpn bridge-domain detail":

0/ME5100:R2#  show l2vpn bridge-domain detail 
Thu Oct 24 08:39:11 2024
  MM  -- mtu mismatch            Up -- up              GUp -- going up
  CM  -- control-word mismatch   Dn -- down            GDn -- going down
  OL  -- no outgoing label       ST -- standby         Lld -- lower layer down
  BK  -- backup connection       Fl -- failed          Drm -- dormant
  SP  -- static pseudowire       SW -- switchover
  
  Bridge domain: test, state: up, bridge type: vpls
    MAC learning: enabled
    Local switching: enabled
    Flood replication point: egress
    Flooding Multicast: enabled
      Unknown unicast: enabled
    MAC aging time: 300 s, MAC limit: 4000, Action: enabled, MTU: 1500
    Oper-status: up
    ACs: 1 (0 up)
    PWs: 2 (2 up)
    Routed interface: none

    List of ACs:
    
      AC: Tengigabitethernet0/0/3
        AC binding status: going-up, Interface oper state: up
    
    List of PWs:
    
    List of VFIs:
  
    List of Autodiscovery PWs:
       
      PW: Neighbor 10.0.0.6, if-index 106, admin Up, oper Up
      Status codes: 
        PW type: ethernet, signaling: generalized-fec-signaling, local group id: 0
        Encapsulation: MPLS, control word: control-word-not-present
        Vpn index: 1, type: ls
        Redundancy state active, MTU: 1500
        Created: 2024-10-22 09:05:55, last state change: 01d23h33m ago
        
                                                Local                     Remote
        Label                                   24                        17
        BGP Peer ID                             2.2.2.2                   10.0.0.6                 
        LDP ID                                  2.2.2.2                   10.0.0.6                 
        AII                                     2.2.2.2                   10.0.0.6                 
        AGI                                     100:100                   100:100                  
        Forwarding                              true                      true
        Customer-facing (ingress) recv fault    false                     false
        Customer-facing (egress) send fault     false                     false
        Local PSN-facing (ingress) recv fault   false                     false
        Local PSN-facing (egress) send fault    false                     false
        Switchover                              false                     false
        Remote capabilities:
          VC status can be signaled: false
          VCCV ID can be signaled  : false
            Remote Control Channel (CC) supported: none
            Remote Connectivity Verification (CV) supported: none
        Remote node capability:
          Manually set PW: false
          Protocol has not yet finished cap. determination: false
          Signaling the pseudowire: true
          Sending the pseudowire: false
       
      PW: Neighbor 5.5.5.5, if-index 107, admin Up, oper Up
      Status codes: 
        PW type: ethernet, signaling: generalized-fec-signaling, local group id: 0
        Encapsulation: MPLS, control word: control-word-not-present
        Vpn index: 1, type: ls
        Redundancy state active, MTU: 1500
        Created: 2024-10-22 09:06:46, last state change: 01d23h32m ago
        
                                                Local                     Remote
        Label                                   25                        17
        BGP Peer ID                             2.2.2.2                   5.5.5.5                  
        LDP ID                                  2.2.2.2                   5.5.5.5                  
        AII                                     2.2.2.2                   5.5.5.5                  
        AGI                                     100:100                   100:100                  
        Forwarding                              true                      true
        Customer-facing (ingress) recv fault    false                     false
        Customer-facing (egress) send fault     false                     false
        Local PSN-facing (ingress) recv fault   false                     false
        Local PSN-facing (egress) send fault    false                     false
        Switchover                              false                     false
        Remote capabilities:
          VC status can be signaled: false
          VCCV ID can be signaled  : false
            Remote Control Channel (CC) supported: none
            Remote Connectivity Verification (CV) supported: none
        Remote node capability:
          Manually set PW: false
          Protocol has not yet finished cap. determination: false
          Signaling the pseudowire: true
          Sending the pseudowire: false