VPLS with BGP and XRv RR

Load basic.vpls.ldp.init.cfg

#IOS-XE (R1-R6, CE1-3)
config replace flash:basic.vpls.ldp.init.cfg

#IOS-XR (XR1, XR2)
configure
load basic.vpls.ldp.init.cfg
commit replace
y

The CE routers CE1-3 are preconfigured with EIGRP.

  • Configure VPLS and verify that the EIGRP neighborships come up.

  • Use BGP for signaling of the service label.

  • Use XR1 as the RR.

Answer

#XR1
router bgp 65000
 add l2vpn vpls
 !
 neighbor-group IBGP
  remote-as 65000
  update-source Loopback0
  address-family l2vpn vpls-vpws
   route-reflector-client
   Signalling ldp disable
 !
 neighbor 1.1.1.1 use neighbor-group IBGP
 neighbor 3.3.3.3 use neighbor-group IBGP
 neighbor 5.5.5.5 use neighbor-group IBGP

#R1
router bgp 65000
 neighbor 11.11.11.11 remote-as 65000
 neighbor 11.11.11.11 update-so lo0
 add l2vpn vpls
  neighbor 11.11.11.11 activate
  neighbor 11.11.11.11 suppress-signaling-protocol ldp
!
int gi4
 service instance 1 eth
  encap default
 exit
!
l2vpn vfi context VPLS1
 vpn id 100
 autodiscovery bgp signaling bgp
  ve id 1
!
bridge-domain 100
 member gi4 service-instance 1
 member vfi VPLS1

#R3
router bgp 65000
 neighbor 11.11.11.11 remote-as 65000
 neighbor 11.11.11.11 update-so lo0
 add l2vpn vpls
  neighbor 11.11.11.11 activate
  neighbor 11.11.11.11 suppress-signaling-protocol ldp
!
int gi6
 service instance 1 eth
  encap default
 exit
!
l2vpn vfi context VPLS1
 vpn id 100
 autodiscovery bgp signaling bgp
  ve id 3
!
bridge-domain 100
 member gi6 service-instance 1
 member vfi VPLS1

#R5
router bgp 65000
 neighbor 11.11.11.11 remote-as 65000
 neighbor 11.11.11.11 update-so lo0
 add l2vpn vpls
  neighbor 11.11.11.11 activate
  neighbor 11.11.11.11 suppress-signaling-protocol ldp
!
int gi6
 service instance 1 eth
  encap default
 exit
!
l2vpn vfi context VPLS1
 vpn id 100
 autodiscovery bgp signaling bgp
  ve id 5
!
bridge-domain 100
 member gi6 service-instance 1
 member vfi VPLS1

Explanation

IOS-XR uses negative logic for the signaling protocol under l2vpn/vpls. We saw in the previous article that to use LDP, you use signaling bgp disable. To use BGP in this lab, we use signaling ldp disable in order to use BGP for signaling.

router bgp 65000
 neighbor-group IBGP
  address-family l2vpn vpls-vpws
   Signalling ldp disable

IOS-XE uses LDP signaling by default and uses BGP with disable-signaling-protocol ldp on the neighbor statement.

router bgp 65000
 add l2vpn vpls
  neighbor 11.11.11.11 suppress-signaling-protocol ldp

The XE routers do not need to specify the XR neighbor as prefix-length-size 2 as they did when using LDP for signaling. When using BGP for signaling, XR is expecting a prefix-len of 1 byte, so we don’t need to worry about this. However, specifying prefix-length-size 2 does not appear to break the BGP session/updates.

When using BGP for signaling of the label, it does not seem that we can apply templates to toggle specific features, such as the CW, as we were able to do when using LDP for signaling.

!
! This is only available when using LDP for signaling
!
template type pseudowire NO_CW
 encapsulation mpls
 control-word exclude
!
l2vpn vfi context VPLS1
 vpn id 100
 autodiscovery bgp signaling ldp template NO_CW

Last updated