H-VPLS with BGP

Load hvpls.bgp.init.cfg

#IOS-XE (R1-R6, CE1-3)
config replace flash:hvpls.bgp.init.cfg

Configure H-VPLS using BGP for both autodiscovery and signaling where possible. BGP l2vpn/vpls is already configured in the core.

R1, R3, and R5 are the U-PEs, and R2, R4, and R6 are the N-PEs. Each U-PE should only peer to the N-PE one number higher (i.e. R1 to R2, etc).

Answer

#
# U-PEs
#
#R1
l2vpn vfi context VPLS1
 vpn id 10
 member 2.2.2.2 encapsulation mpls
!
int gi4
 service instance 10 ethernet
  encapsulation default
 exit
!
bridge-domain 10
 member gi4 service-instance 10
 member vfi VPLS1

#R3
l2vpn vfi context VPLS1
 vpn id 10
 member 4.4.4.4 encapsulation mpls
!
int gi6
 service instance 10 ethernet
  encapsulation default
 exit
!
bridge-domain 10
 member gi6 service-instance 10
 member vfi VPLS1

#R5
l2vpn vfi context VPLS1
 vpn id 10
 member 6.6.6.6 encapsulation mpls
!
int gi6
 service instance 10 ethernet
  encapsulation default
 exit
!
bridge-domain 10
 member gi6 service-instance 10
 member vfi VPLS1

#
# N-PEs
#
#R2
l2vpn vfi context VPLS1
 vpn id 10
 autodiscovery bgp signaling ldp
 !
bridge-domain 10
 member vfi VPLS1
 member 1.1.1.1 10 encapsulation mpls

#R4
l2vpn vfi context VPLS1
 vpn id 10
 autodiscovery bgp signaling ldp
 !
bridge-domain 10
 member vfi VPLS1
 member 3.3.3.3 10 encapsulation mpls

#R6
l2vpn vfi context VPLS1
 vpn id 10
 autodiscovery bgp signaling ldp
 !
bridge-domain 10
 member vfi VPLS1
 member 5.5.5.5 10 encapsulation mpls

Explanation

This lab prompt is kind of a trick question. The N-PE VPLS domain is a full mesh, so BGP autodiscovery can be used for the N-PE↔N-PE PWs. However, BGP autodiscovery cannot be used on the N-PE↔U-PE PWs, because BGP autodiscovery turns split horizon on. We can only turn split horizon off with a manually specified neighbor under the BD.

Unfortunately BGP signaling cannot be used in the N-PE full mesh because we cannot mix BGP-signaled PWs with LDP-signaled PWs in the same bridge domain.

Therefore, the “best” we can do is to use BGP autodiscovery for the N-PEs, and then continue manually specifying manual PW neighbors for all the U-PE↔N-PE pseudowires. All PWs in the topology will be LDP signaled.

Verification

Verification is the same as the previous lab. The only difference is that the N-PEs are forming a full mesh of PWs using autodiscovery instead of manual neighbors.

You can also verify EIGRP on the CEs:

Further Reading

https://zartmann.dk/h-vpls/

Last updated