VPLS over Backup Pseudowire

Pseudowire redundancy allows you to detect any failure in the network and reroute the Layer 2 service to another endpoint. The other endpoint can continue to provide this service by providing additional backup pseudowire. This feature provides the ability to recover from a failure of either the remote provider edge (PE) router or the link between the PE and customer edge (CE) routers.

L2VPNs can provide pseudowire resiliency through their routing protocols. When the connectivity between the end-to-end PE routers fails, an alternative path to the directed LDP session and the user data takes over. However, there are some parts of the network in which this rerouting mechanism does not protect against interruptions in service.

RSP3 implementation reuses the EoMPLS configuration to achieve VPLS over the backup pseudowire functionality. The expected convergence in virtual circuit switchover and fallback is approximately 200-300 ms, which increases with scale configuration because only active pseudowire is programmed in hardware.

These are some scenarios in which pseudowire switchover takes place:

  • Core link flap

  • Access link flap

  • Default access interface

  • Remote loopback interface flap

  • LDP disable or enable

  • Control Word change

  • VPN ID change within pseudowire configuration

  • Cable pull

  • Core side interface module reload

  • Core side BFD flap (if configured)

  • Core side IGP down

  • Remote PE or P node reload or crash

Figure 1. Sample Topology for VPLS over Backup Pseudowire Deployment Scenario

Prerequisites for VPLS over Backup Pseudowire

  • IGP and LDP should be up and running between peer devices.

  • MTU must be manually configured for MPLS enabled interfaces.

Restrictions for VPLS over Backup Pseudowire

  • Only one active and one backup pseudowire (PW) for each bridge domain (BD) is supported.

  • Hierarchal Virtual Private Lan Service (HVPLS) is not supported.

  • VPLS with BGP auto discovery is not supported.

  • 1000 active PW with one backup PW for each VPLS session is supported.

  • This feature is supported only with the new VPLS configuration model (on all the PE nodes).

  • VFIs configured with the old configuration model cannot coexist with the VFIs of the new configuration model on the same BD.

  • The member BDI should not be in the same group as the PW under l2vpn xconnect context configuration.

  • More than two PW should not be configured in L2VPN context.

  • In an L2VPN cross-connect context, the member BDI and the member physical interface cannot be configured at the same time. It leads to error objects.

  • The maximum scale for VPLS session is 1000.

  • The BDI used for this feature should not be configured with any IP configuration like MPLS IP, DHCP IP,or static IP.

  • Routed PW cannot be configured because BDI interface cannot be configured with IP address.

Convergence Time for the VPLS Sessions

Table 1. Convergence Time (in Milliseconds) with One VPLS Session

Packet Size (Bytes)

Convergence Time (approximate)

Type Of Packet

64

213

IP

128

186

IP

256

173

IP

512

170

IP

1028

186

IP

1400

167

IP

Table 2. Convergence Time (in Milliseconds) with Multiple VPLS Session

Number of Virtual Circuits

Scenario

Convergence Time (approximate)

10

Active Down

373.56

Reoptimization

15.73

100

Active Down

1880

Reoptimization

517.93

VPLS over Backup Pseudowire Configuration

The following example shows the configuration on provider edge (PE) router 1 having two links to PE router 2 with IP address 209.165.200.225 and PE router 3 with IP address 209.165.200.226:

Configuration on PE router 1:

interface GigabitEthernet0/2/3
 no ip address
  	negotiation auto
 service instance 1 ethernet
  		encapsulation dot1q 1
  		rewrite ingress tag pop 1 symmetric
!
bridge-domain 1000
 member GigabitEthernet0/2/3 service-instance 1
!
interface pseudowire10
 encapsulation mpls
 neighbor 209.165.200.225 1000
!
interface pseudowire20
 encapsulation mpls
 neighbor 209.165.200.226 2000
!
interface BDI1000
 no ip address
!
l2vpn xconnect context VC_1
 member BDI1000
 member pseudowire10 group Grp_1 priority 1
 member pseudowire20 group Grp_1 priority 2

Configuration on PE router 2:

interface GigabitEthernet0/2/4
 no ip address
 carrier-delay msec 0
 negotiation auto
 service instance 1 ethernet
 		 encapsulation dot1q 1
  		rewrite ingress tag pop 1 symmetric!
bridge-domain 1 
 member GigabitEthernet0/2/4 service-instance 1
!
interface pseudowire10
 encapsulation mpls
 neighbor 209.165.200.224 10
!
interface BDI1
 no ip address
!
l2vpn xconnect context VC_1
 member BDI1 
 member pseudowire10 group Grp_1 priority 1

Configuration on PE router 3:

interface GigabitEthernet0/2/0
 no ip address
 carrier-delay msec 0
 	negotiation auto
 	service instance 1 ethernet
  		encapsulation dot1q 1
  		rewrite ingress tag pop 1 symmetric
!
bridge-domain 1 
 member GigabitEthernet0/2/0 service-instance 1
!
interface pseudowire10
 encapsulation mpls
 neighbor 209.165.200.224 20
!
interface BDI1
 no ip address
!
l2vpn xconnect context VC_1
 member BDI1 
 member pseudowire10 group Grp_1 priority 1

Verify VPLS over Backup Pseudowire Configuration

Use the following commands to verify the VPLS over backup pseudowire configuration on the PE router 1 head node:

PE1#show mpls l2transport vc              
Local intf     Local circuit              Dest address    VC ID      Status
-------------  -------------------------- --------------- ---------- ----------
BD1000         Eth VLAN 1000              209.165.200.225    1000       UP        
BD1000         Eth VLAN 1000              209.165.200.226    2000       STANDBY      


PE1#show mpls l2transport vc 1000 detail 
Local interface: BD1000 up, line protocol up, Eth VLAN 1000 up
  Interworking type is Ethernet
  Destination address: 209.165.200.225, VC ID: 1000, VC status: up
    Output interface: Gi0/2/5, imposed label stack {24 24}
    Preferred path: not configured  
    Default path: active
    Next hop: 192.168.1.2
  Create time: 00:08:46, last status change time: 00:07:14
    Last label FSM state change time: 00:07:12
  Signaling protocol: LDP, peer 209.165.200.225:0 up
    Targeted Hello: 209.165.200.227(LDP Id) -> 209.165.200.225, LDP is UP
    Graceful restart: configured and enabled
    Non stop routing: configured and enabled
    Status TLV support (local/remote)   : enabled/supported
      LDP route watch                   : enabled
      Label/status state machine        : established, LruRru
      Last local dataplane   status rcvd: No fault
      Last BFD dataplane     status rcvd: Not sent
      Last BFD peer monitor  status rcvd: No fault
      Last local AC  circuit status rcvd: No fault
      Last local AC  circuit status sent: No fault
      Last local PW i/f circ status rcvd: No fault
      Last local LDP TLV     status sent: No fault
      Last remote LDP TLV    status rcvd: No fault
      Last remote LDP ADJ    status rcvd: No fault
    MPLS VC labels: local 24, remote 24 
    Group ID: local n/a, remote 0
    MTU: local 1500, remote 1500
    Remote interface description: 
  Sequencing: receive disabled, send disabled
  Control Word: On (configured: autosense)
  SSO Descriptor: 209.165.200.225/1000, local label: 24
  Dataplane:
    SSM segment/switch IDs: 4186/4180 (used), PWID: 6
  VC statistics:
    transit packet totals: receive 0, send 0
    transit byte totals:   receive 0, send 0
    transit packet drops:  receive 0, seq error 0, send 0


PE1#show mpls l2transport vc 2000 detail 
Local interface: BD1000 up, line protocol up, Eth VLAN 1000 up
  Interworking type is Ethernet
  Destination address: 209.165.200.226, VC ID: 2000, VC status: standby
    Output interface: Gi0/2/1, imposed label stack {21 16}
    Preferred path: not configured  
    Default path: active
    Next hop: 192.168.3.2
  Create time: 00:08:51, last status change time: 00:08:51
    Last label FSM state change time: 00:05:40
  Signaling protocol: LDP, peer 209.165.200.226:0 up
    Targeted Hello: 209.165.200.227(LDP Id) -> 209.165.200.226, LDP is UP
    Graceful restart: configured and enabled
    Non stop routing: configured and enabled
    Status TLV support (local/remote)   : enabled/supported
      LDP route watch                   : enabled
      Label/status state machine        : established, LrdRru
      Last local dataplane   status rcvd: No fault
      Last BFD dataplane     status rcvd: Not sent
      Last BFD peer monitor  status rcvd: No fault
      Last local AC  circuit status rcvd: DOWN(standby)
      Last local AC  circuit status sent: No fault
      Last local PW i/f circ status rcvd: No fault
      Last local LDP TLV     status sent: DOWN(standby)
      Last remote LDP TLV    status rcvd: No fault
      Last remote LDP ADJ    status rcvd: No fault
      MPLS VC labels: local 25, remote 16 
    Group ID: local n/a, remote 0
    MTU: local 1500, remote 1500
    Remote interface description: 
  Sequencing: receive disabled, send disabled
  Control Word: On (configured: autosense)
  SSO Descriptor: 209.165.200.226/2000, local label: 25
  Dataplane:
    SSM segment/switch IDs: 12382/8277 (used), PWID: 7
  VC statistics:
    transit packet totals: receive 0, send 0
    transit byte totals:   receive 0, send 0
    transit packet drops:  receive 0, seq error 0, send 0


PE1#show bridge-domain 1000
Bridge-domain 1000 (3 ports in all)
State: UP                    Mac learning: Enabled
Aging-Timer: 300 second(s)
Maximum address limit: 65534
    BDI1000  (up)
    GigabitEthernet0/2/3 service instance 1
    BDI1000 service instance 1


PE1#show l2vpn service all detail
Legend: St=State    XC St=State in the L2VPN Service      Prio=Priority
        UP=Up       DN=Down            AD=Admin Down      IA=Inactive
        SB=Standby  HS=Hot Standby     RV=Recovering      NH=No Hardware
        m=manually selected

  Interface          Group       Encapsulation                   Prio  St  XC St
  ---------          -----       -------------                   ----  --  -----
VPWS name: VC_1, State: UP
  pw1000             Grp_1       209.165.200.225:1000(MPLS)              1     UP  UP   
                                 Local VC label 24              
                                 Remote VC label 24             
                                                                
  pw2000             Grp_1       209.165.200.226:2000(MPLS)              2     SB  IA   
                                 Local VC label 25              
                                 Remote VC label 16             
                                                                
  BD1000                         BD1000:1000(Eth VLAN)           0     UP  UP   
                                 Interworking: ethernet         


PE1#show l2vpn service all
Legend: St=State    XC St=State in the L2VPN Service      Prio=Priority
        UP=Up       DN=Down            AD=Admin Down      IA=Inactive
        SB=Standby  HS=Hot Standby     RV=Recovering      NH=No Hardware
        m=manually selected

  Interface          Group       Encapsulation                   Prio  St  XC St
  ---------          -----       -------------                   ----  --  -----
VPWS name: VC_1, State: UP
  pw1000             Grp_1       209.165.200.225:1000(MPLS)              1     UP  UP   
  pw2000             Grp_1       209.165.200.226:2000(MPLS)              2     SB  IA   
  BD1000                         BD1000:1000(Eth VLAN)           0     UP  UP