Tunnel L2 Protocols over VPLS

Load vpls.l2.tunneling.cfg

#IOS-XE (R1-R6, CE1-3)
config replace flash:vpls.l2.tunneling.cfg

Configure VPLS with BGP for autodiscovery and signaling for CE1, CE2 and CE3. BGP l2vpn/vpls is already configured in the core.

Configure the PEs so that CDP is terminated on the PEs themselves, and LLDP is tunneled through VPLS. All CEs should see one CDP neighbor (the PE), and two LLDP neighbors (two CEs).

CDP and LLDP is already configured on the CEs. CDP is already configured globally on the PEs.

Answer

#R1
l2vpn vfi context VPLS1
 vpn id 10
 l2protocol forward lldp
 autodiscovery bgp signaling bgp
  ve id 1
!
int gi4
 cdp enable
 service instance 10 eth
  encapsulation default
  l2protocol forward lldp
 exit
!
bridge-domain 10
 member gi4 service-instance 10
 member vfi VPLS1

#R3
l2vpn vfi context VPLS1
 vpn id 10
 l2protocol forward lldp
 autodiscovery bgp signaling bgp
  ve id 3
!
int gi6
 cdp enable
 service instance 10 eth
  encapsulation default
  l2protocol forward lldp
 exit
!
bridge-domain 10
 member gi6 service-instance 10
 member vfi VPLS1

#R5
l2vpn vfi context VPLS1
 vpn id 10
 l2protocol forward lldp
 autodiscovery bgp signaling bgp
  ve id 5
!
int gi6
 cdp enable
 service instance 10 eth
  encapsulation default
  l2protocol forward lldp
 exit
!
bridge-domain 10
 member gi6 service-instance 10
 member vfi VPLS1

Explanation

Because VPLS is a layer 2 service, you may want to sometimes tunnel L2 protocols and sometimes terminate them on the PE. For example, perhaps you want to tunnel STP, CDP or VTP through, but terminate LACP on the PE directly.

It appears that by default the router will not tunnel any L2 protocols when using an EFP. You can change this behavior under the service instance using the command l2protocol forward|peer protocol. It seems that when using the physical port instead of a service instance, all l2protocols are tunneled.

Additionally, you have to apply this to the VFI in VPLS, since the VFI is somewhat like another port in the bridge-domain. You apply this using the same command but the only option is forward.

l2vpn vfi context VPLS1
 l2protocol forward protocol

As a shortcut, it seems you can simply use l2protocol forward to forward all L2 protocols.

Verification

Each CE should see the local PE as the only CDP neighbor, and the two other CEs as LLDP neighbors:

We can verify the router is forwarding LLDP on the EFP using this show command:

Last updated