Migration of VPLS and VPWS Networks to EVPN

This chapter provides detailed guidance on seamlessly migrating VPLS and VPWS networks to EVPN. Users can explore incremental migration strategies, configuration steps, and verification methods to ensure smooth coexistence and transition from legacy services to EVPN-based architectures without service disruption.

Seamless migration of VPLS network to an EVPN network

A migration from VPLS to EVPN is a process that

  • enables service providers to gradually upgrade their VPLS networks to EVPN without disrupting services

  • facilitates the coexistence of legacy VPLS and an EVPN-VPLS dual-stack configurations, and

  • leverages MP-BGP for efficient MAC learning and propagation.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

Seamless migration of VPLS network to an EVPN network

Release 25.3.1

Introduced in this release on: Fixed Systems (8200 [ASIC: Q200, P100], 8700 [ASIC: P100, K100]); Centralized Systems (8600 [ASIC:Q200]); Modular Systems (8800 [LC ASIC: Q100, Q200, P100])

You can configure local static MPLS labels for unicast IP traffic under the EVPN EVI configuration, which ensures remote PEs use a consistent, common label for the same EVPN service, improving forwarding consistency and operational control.

The feature introduces these changes:

CLI:

Seamless migration of VPLS network to an EVPN network

Release 24.4.1

Introduced in this release on: Fixed Systems (8700) (select variants only*)

* The seamless VPLS-to-EVPN migration is now extended to the Cisco 8712-MOD-M routers.

Seamless migration of VPLS network to an EVPN network

Release 24.3.1

Introduced in this release on: Fixed Systems (8200, 8700); Modular Systems (8800 [LC ASIC: P100]) (select variants only*)

* The seamless VPLS-to-EVPN migration is now extended to:

  • 8212-48FH-M

  • 8711-32FH-M

  • 88-LC1-52Y8H-EM

  • 88-LC1-12TH24FH-E

Seamless migration of VPLS network to an EVPN network

Release 24.2.11

Introduced in this release on: Modular Systems (8800 [LC ASIC: P100]) (select variants only*)

* The seamless VPLS-to-EVPN migration is now extended to routers with the 88-LC1-36EH line cards.

Seamless migration of VPLS network to an EVPN network

Release 7.11.1

You can now provision an EVPN service on existing VPLS-enabled PEs individually, thus ensuring a seamless VPLS-to-EVPN migration without traffic disruption.

This feature is supported only on Q200-based line cards.

Transitioning from VPLS to EVPN

Although VPLS is a widely deployed Layer 2 VPN technology, customers are increasingly migrating their VPLS networks to EVPN to benefit from improved scalability and simplified deployment. Recognizing the importance of preserving existing investments in VPLS, service providers are exploring ways to seamlessly integrate their legacy VPLS networks with new EVPN-based networks.

Key benefits of migration

The migration of VPLS to an EVPN network offers these benefits:

  • Incremental migration: Service providers can migrate PE nodes from VPLS to EVPN gradually, ensuring no service disruption.

  • Dual-Stack coexistence: Legacy VPLS and EVPN-VPLS can coexist in the same MPLS network, enabling a smooth transition.

  • Control plane efficiency: EVPN uses MP-BGP for MAC learning and propagation, unlike VPLS, which relies on the data plane.

Technical highlights

These points highlight the key aspects of VPLS to an EVPN migration:

  • EVPN instance grouping: VPN instances in EVPN are grouped by EVPN Instance ID (EVI-ID) and associated with route targets and route distinguishers.

  • MAC learning: EVPN employs a control plane for MAC learning, while VPLS uses a flood-and-learn technique in the data plane.

  • Route Types:

    • Type-2: Advertises customer MAC addresses.

    • Type-3: Handles broadcast, unknown unicast, and multicast (BUM) traffic using ingress replication multicast routes.

Migration process

These stages describe the migration process for transitioning from VPLS to EVPN.

  • Gradual PE node upgrade: Upgrade one PE node at a time without requiring a network-wide software update.

  • Route exchange: An EVPN-enabled PEs advertise both BGP VPLS autodiscovery (AD) routes and EVPN multicast routes (Type-3) for seamless integration.

  • BUM traffic handling: Type-3 routes ensure that PEs with matching route targets receive BUM traffic.

Table 2. Comparison of VPLS and EVPN

Feature

VPLS

EVPN

MAC learning

Data plane

Control lane

Protocol

Flood and learn

MP-BGP

Route Types

Not applicable

Type-2 (MAC), Type-3 (BUM)

MPLS static label support for EVPN ELAN

From Release 25.3.1, you can assign a static MPLS label to an EVPN service. This static assignment overrides the default dynamic label allocation by Cisco IOS XR software.

When you configure a static MPLS label on Provider Edge (PE) routers, this ensures that remote PEs receive traffic for the same service with a consistent, common label.

You can configure static MPLS labels for unicast IP traffic in EVPN ELAN by assigning local static labels under the EVPN EVI configuration mode. The range for these static MPLS labels is from 16 to 1,048,575.

Configure static MPLS labels within the range of 16 to 15,000 to avoid conflicts with existing dynamic labels and the default Segment Routing Local Block (SRLB) range of 15,000 to 15,999. For more information, see About the Segment Routing Local Block in the Segment Routing Configuration Guide for Cisco 8000 Series Routers.

Migrating VPLS network to an EVPN network

Summary

The migration process involves transitioning a VPLS network to an EVPN network. This process ensures seamless integration and avoids traffic disruption.

The key components involved in the process are:

  • PE nodes: Devices such as PE1, PE2, PE3, and PE4 that form the network.

  • VPLS Pseudowires (PW): Connections between PE nodes in the VPLS network.

  • EVPN service: A service that replaces VPLS for enhanced network functionality.

Workflow

Figure 1. Seamless migration of VPLS network to EVPN network

These are the stages of migration process:

  1. Initial setup: Ensure that PE1, PE2, PE3, and PE4 are interconnected in a full-meshed topology using VPLS pseudowires.

  2. Enable EVPN on PE1:

    • Activate EVPN in a VPN instance of the VPLS service on PE1.

    • PE1 starts advertising the EVPN inclusive multicast route to other PE nodes.

    • Since no inclusive multicast routes are received from other PE nodes, VPLS pseudowires between PE1 and other PE nodes remain active.

    • PE1 forwards traffic using VPLS pseudowires and advertises all MAC addresses learned from CE1 using EVPN Route Type-2.

  3. Enable EVPN on PE3:

    • Activate EVPN on PE3.

    • PE3 starts advertising an inclusive multicast route to other PE nodes.

    • PE1 and PE3 discover each other through EVPN routes and shut down pseudowires between them.

    • EVPN service replaces VPLS service between PE1 and PE3.

  4. Seamless integration: PE1 continues running VPLS service with PE2 and PE4 while starting EVPN service with PE3 in the same VPN instance.

  5. Migrate the remaining nodes: Repeat the process for PE2 and PE4 until all PE nodes are enabled with the EVPN service.

  6. Complete the migration: After all nodes are migrated, the VPLS service is completely replaced with the EVPN service, and all VPLS pseudowires are shut down.

    The migration process ensures a seamless transition from VPLS to EVPN, enhancing network efficiency and functionality without disrupting traffic.

Configure EVPN on the existing VPLS network

Enable EVPN on an existing VPLS network to enhance Layer 2 VPN capabilities.

This task involves configuring EVPN on an existing VPLS network by setting up the L2VPN EVPN address-family, EVI, and corresponding BGP route-targets, and verifying the configuration.

Before you begin
  • Ensure that the PE routers are operational and configured for VPLS.

  • Verify that the required BGP configurations are in place.

Procedure

Step 1

Configure L2VPN EVPN address-family.

Example:

Router# configure
Router(config)#router bgp 65530
Router(config-bgp)#nsr
Router(config-bgp)#bgp graceful-restart
Router(config-bgp)#bgp router-id 200.0.1.1
Router(config-bgp)#address-family l2vpn evpn
Router(config-bgp-af)#exit
Router(config-bgp)#neighbor 200.0.4.1
Router(config-bgp-nbr)#remote-as 65530
Router(config-bgp-nbr)#update-source Loopback0
Router(config-bgp-nbr)#address-family l2vpn evpn
Router(config-bgp-nbr-af)#commit

Step 2

Running configuration of L2VPN EVPN address-family.

Example:

configure
 router bgp 65530
  nsr
  bgp graceful-restart
  bgp router-id 200.0.1.1
  address-family l2vpn evpn
  !
  neighbor 200.0.4.1
   remote-as 65530
   update-source Loopback0
   address-family l2vpn evpn
   !
 !

Step 3

Use the show bgp l2vpn evpn summary command to verify that the BGP neighbor is functional.

Example:
Router# show bgp l2vpn evpn summary
BGP router identifier 200.0.1.1, local AS number 65530
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0x0   RD version: 0
BGP main routing table version 1
BGP NSR Initial initsync version 4294967295 (Not Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs

BGP is operating in STANDALONE mode.

Process       RcvTblVer   bRIB/RIB   LabelVer  ImportVer  SendTblVer  StandbyVer
Speaker               1          1          1          0           1           0

Neighbor        Spk    AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd
200.0.4.1        0      65530       2       2        0    0    0 00:00:09          0

Step 4

Configure EVI under EVPN configuration mode.

Example:

To enable EVPN on PE1, configure EVI. Also, configure advertise-mac, else the MAC routes (Type-2) are not advertised.


Router# configure
Router(config)#evpn
Router(config-evpn)#evi 1
Router(config-evpn-evi)#advertise-mac
Router(config-evpn-evi)#commit

Step 5

EVI running configuration.

Example:

configure
 evpn
  evi
   advertise-mac
   !
  !
 !

Step 6

Use the show evpn summary command to verify the number of configured EVIs and the advertised local and remote MAC routes.

Example:

Router#show evpn summary
-----------------------------
Global Information
-----------------------------
Number of EVIs                     : 6
Number of Local EAD Entries        : 0
Number of Remote EAD Entries       : 0
Number of Local MAC Routes         : 4
          MAC                      : 4
          MAC-IPv4                 : 0
          MAC-IPv6                 : 0
Number of Local ES:Global MAC      : 1
Number of Remote MAC Routes        : 0
          MAC                      : 0
          MAC-IPv4                 : 0
          MAC-IPv6                 : 0
Number of Remote SOO MAC Routes    :0
Number of Local IMCAST Routes      : 4
Number of Remote IMCAST Routes     : 4
Number of Internal Labels          : 0
Number of ES Entries               : 1
Number of Neighbor Entries         : 4
EVPN Router ID                     : 200.0.1.1
BGP ASN                            : 65530
PBB BSA MAC address                : 0026.982b.c1e5
Global peering timer               :      3 seconds
Global recovery timer              :     30 seconds

Router#show evpn evi vpn-id 1 mac
Mon Feb 20 21:36:23.574 EST

EVI        MAC address    IP address                   Nexthop                            Label   
---------- -------------- ---------------------------------------- ---------------------------------
1      0033.0000.0001      ::                       200.0.1.1                          45106

Step 7

Configure EVI under the corresponding L2VPN bridge domain.

Example:

Router# configure
Router(config)#l2vpn
Router(config-l2vpn)#bridge group bg1
Router(config-l2vpn-bg)#bridge-domain bd1
Router(config-l2vpn-bg-bd)#interface HundredGigE0/0/0/0
Router(config-l2vpn-bg-bd-ac)#exit
Router(config-l2vpn-bg-bd)#evi 1
Router(config-l2vpn-bg-bd-evi)#exit
Router(config-l2vpn-bg-bd)#vfi v1
Router(config-l2vpn-bg-bd-vfi)#neighbor 172.16.0.1 pw-id 12
Router(config-l2vpn-bg-bd-vfi-pw)#neighbor 192.168.0.1 pw-id 13
Router(config-l2vpn-bg-bd-vfi-pw)#mpls static label local 20001 remote 10001
Router(config-l2vpn-bg-bd-vfi-pw)#commit

Step 8

EVI runniing configuration under the corresponding L2VPN bridge domain.

Example:

configure
 l2vpn
  bridge group bg1
   bridge-domain bd1
    interface HundredGigE0/0/0/0 
    !
    evi 1
    !
   vfi v1
    neighbor 172.16.0.1 pw-id 12
    neighbor 192.168.0.1 pw-id 13
     mpls static label local 20001 remote 10001
     !
    !

Step 9

Use the show l2vpn bridge-domain command to verify EVPN and VPLS status.

Example:
Router# show l2vpn bridge-domain
Legend: pp = Partially Programmed.
Bridge group: vplstoevpn, bridge-domain: vplstoevpn, id: 0, state: up, ShgId: 0, MSTi: 0
  Aging: 300 s, MAC limit: 4000, Action: none, Notification: syslog
  Filter MAC addresses: 0
  ACs: 1 (1 up), VFIs: 1, PWs: 2 (1 up), PBBs: 0 (0 up), VNIs: 0 (0 up)
  List of EVPNs:
    EVPN, state: up
  List of ACs:
    Hu0/0/0/0, state: up, Static MAC addresses: 0, MSTi: 5
  List of Access PWs:
  List of VFIs:
    VFI vpls (up)
      Neighbor 172.16.0.1 pw-id 12, state: down, Static MAC addresses: 0
      Neighbor 192.168.0.1 pw-id 13, state: up, Static MAC addresses: 0

The output indicates that the VPLS PW "neighbor 172.16.0.1 pw-id 12" is replaced by EVPN service, as the EVPN control plane discovered that both local PE and remote PE (172.16.0.1) have enabled EVPN service on the L2VPN instance.


Seamless migration of VPWS network to EVPN network

A migration from VPWS to EVPN is a process that

  • enables gradual and incremental migration of PE nodes from legacy VPWS to EVPN-VPWS without service disruption

  • allows migration of Attachment Circuits (ACs) connected to legacy VPWS pseudowires (PWs) using targeted-LDP or BGP-AD signaling to EVPN-VPWS services, and

  • groups VPN instances by EVPN Instance VPN ID (EVI), identified by an Ethernet tag or AC-ID, and associates them with route-targets and route-distinguisher.

Table 3. Feature History Table

Feature Name

Release Information

Feature Description

Seamless migration of VPWS network to EVPN network

Release 25.3.1

Introduced in this release on: Fixed Systems (8200 [ASIC: Q200, P100], 8700 [ASIC: P100, K100]); Centralized Systems (8600 [ASIC:Q200]); Modular Systems (8800 [LC ASIC: Q100, Q200, P100])

You can configure local static MPLS labels for EVPN VPWS under the L2VPN cross-connect P2P EVPN EVI configuration, which ensures remote PEs use a consistent, common label for the same EVPN service, improving forwarding consistency and operational control.

The feature introduces these changes:

CLI:

Seamless migration of VPWS network to EVPN network

Release 24.4.1

Introduced in this release on: Fixed Systems (8700) (select variants only*)

* The seamless migration of VPWS to EVPN-VPWS services functionality is now extended to the Cisco 8712-MOD-M routers.

Seamless migration of VPWS network to EVPN network

Release 24.3.1

Introduced in this release on: Modular Systems (8800 [LC ASIC: P100]) (select variants only*)

* The seamless migration of VPWS to EVPN-VPWS services functionality is now extended to these fixed systems and line cards:

  • 8212-48FH-M

  • 8711-32FH-M

  • 88-LC1-52Y8H-EM

  • 88-LC1-12TH24FH-E

Seamless migration of VPWS network to EVPN network

Release 24.2.11

Introduced in this release on: Modular Systems (8800 [LC ASIC: Q200, P100])c(select variants only*)

* The seamless migration of VPWS to EVPN-VPWS services functionality is now extended to routers with the Q200 and 88-LC1-36EH line cards.

Seamless migration of VPWS network to EVPN network

Release 7.8.1

When expanding an existing L2VPN network, users may want to deploy EVPN-VPWS to provide additional Layer 2 point-to-point Ethernet services, and at the same time some of their customer traffic may still need to be terminated on the existing L2VPN PEs on their network.

Users can migrate the PE nodes from L2VPN VPWS to EVPN-VPWS, without disruption in traffic. The seamless migration offers users the option to use either VPWS or EVPN-VPWS services on PE nodes. This allows the coexistence of legacy VPWS and EVPN-VPWS dual-stack in the core for a given L2 Attachment Circuit (AC) over the same MPLS network.

This feature introduces the vpws-seamless-integration  command.

Transitioning from VPWS to EVPN

Although VPWS is a widely deployed Layer 2 VPN technology, customers are increasingly transitioning their VPWS networks to EVPN to take advantage of enhanced scalability, operational flexibility, and simplified deployment. To protect existing investments in VPWS infrastructure, service providers are focusing on strategies to ensure smooth integration between their legacy VPWS networks and modern EVPN-based networks.

Key highlights

These are the key highlights of migrating VPWS to EVPN:

  • Migration flexibility: Users can migrate PE nodes from VPWS to EVPN incrementally.

  • Attachment Circuit (AC) migration: Supports the migration of ACs connected to legacy VPWS pseudowires (PWs) using either targeted-LDP signaling or BGP Auto-Discovery (BGP-AD) signaling to EVPN-VPWS.

  • VPN instance grouping: In EVPN-VPWS, VPN instances are grouped by EVPN Instance VPN ID (EVI) and identified using an Ethernet tag or Attachment Circuit ID (AC-ID). The EVI is associated with route targets and route distinguishers.

  • Cross-connect functionality: During migration, the EVPN-VPWS PE router can perform either VPWS or EVPN-VPWS Layer 2 cross-connect for a given AC.

  • Route advertisement: When both EVPN-VPWS and BGP-AD PWs are configured for the same AC, the EVPN-VPWS PE advertises both the BGP VPWS Auto-Discovery (AD) route and the BGP EVPN Auto-Discovery (EVI/EAD) route, prioritizing EVPN-VPWS pseudowires over BGP-AD VPWS pseudowires.

MPLS static label support for EVPN VPWS

From Release 25.3.1, you can assign a static MPLS label to an EVPN service. This static assignment overrides the default dynamic label allocation by Cisco IOS XR software.

When you configure a static MPLS label on Provider Edge (PE) routers, this ensures that remote PEs receive traffic for the same service with a consistent, common label.

The MPLS static label support for EVPN VPWS provides the same static label functionality as legacy P2P services.

You can configure local static MPLS labels for EVPN VPWS under the L2VPN cross-connect P2P EVPN EVI configuration mode. The range for these static MPLS labels is from 16 to 1,048,575.

Configure static MPLS labels within the range of 16 to 15,000 to avoid conflicts with existing dynamic labels and the default Segment Routing Local Block (SRLB) range of 15,000 to 15,999. For more information, see About the Segment Routing Local Block in the Segment Routing Configuration Guide for Cisco 8000 Series Routers.

Migrating VPWS network to EVPN network

In the current topology, PE1, PE2, and PE3 are provider edge devices connected through legacy pseudowires. The user plans to replace PE1 with new hardware and enable EVPN on it. This phased migration ensures minimal disruption to the network.

Summary

This process outlines the steps to migrate a legacy VPWS network to EVPN in a phased manner. The migration is designed to be seamless and can span multiple years.

The key components involved in the process are:

  • Provider edge eevices (PE1, PE2, PE3): These are the MPLS network devices where the legacy VPWS cross-connects are operational.

  • Legacy pseudowires (PW1, PW2): These are the existing connections between the provider edge devices.

  • New hardware for PE1: This replaces the legacy VPWS on PE1 and enables EVPN functionality.

Workflow

Figure 2. VPWS nodes

These are the stages of migration process:

  1. Preparation:

    • Identify the legacy VPWS nodes to be migrated.

    • Plan the migration timeline, considering that it may span multiple years.

  2. Replacement of PE1:

    • Replace the existing PE1 hardware with new equipment.

    • Ensure that the new hardware is compatible with EVPN-VPWS.

  3. Enabling EVPN-VPWS on PE1:

    • Configure the new PE1 to support EVPN-VPWS.

    • Verify the configuration to ensure seamless integration with the existing network.

  4. Testing and validation:

    • Test the connectivity between PE1 and other provider edge devices (PE2 and PE3).

    • Validate the functionality of EVPN-VPWS on the new PE1.

  5. Phased migration of other nodes:

    • Gradually replace other legacy VPWS nodes (PE2, PE3) with EVPN-VPWS-enabled hardware.

    • Repeat the configuration, testing, and validation steps for each node.

    The migration process enables the network to transition from a legacy VPWS setup to an EVPN-VPWS architecture, ensuring improved scalability, flexibility, and operational efficiency.

How EVPN-VPWS migration works

Summary

The process of migrating to EVPN-VPWS involves enabling EVPN-VPWS on PE1, followed by the gradual upgrade of other PE nodes.

The key components involved in this process are:

  • PE1: Initiates EVPN-VPWS and advertises routes.

  • PE2 and PE3: Operate in legacy VPWS mode until upgraded.

  • BGP VPWS Auto-Discovery route: Facilitates route advertisement.

Workflow

Figure 3. PE1 enabled with EVPN-VPWS

The process involves these stages:

  1. Enabling EVPN-VPWS on PE1:

    • PE1 starts advertising EVPN EVI or Ethernet-AD routes to other PE nodes.

    • PE1 advertises the BGP VPWS Auto-Discovery route and the BGP EVPN Ethernet-AD per EVI route for a given pseudowire (PW).

  2. Interoperability with legacy VPWS:

    • Since PE2 and PE3 are not yet migrated, PE1 does not receive any EVI/EAD routes from these nodes.

    • Legacy VPWS continues to operate between PE1, PE2, and PE3.

    • PE1 forwards traffic using the legacy VPWS mechanism.

  3. Upgrading PE2 to EVPN-VPWS:

    • After one year, PE2 is upgraded to EVPN-VPWS.

    • PE2 begins advertising EVPN EVI or Ethernet-AD routes, enabling EVPN-VPWS communication with PE1.

    The migration ensures a seamless transition from legacy VPWS to EVPN-VPWS, maintaining traffic forwarding during the process and enabling advanced EVPN-VPWS features post-upgrade.

How EVPN-VPWS integration works

Summary

The process of integrating EVPN-VPWS with legacy VPWS involves multiple stages, ensuring seamless migration while maintaining network stability.

The key components involved in the process are:

  • PE1 and PE2: These devices facilitate the transition from legacy VPWS to EVPN-VPWS.

  • PE3: A device that remains on legacy VPWS during the initial migration stages.

  • EVPN-VPWS service: A high-priority service that replaces legacy VPWS.

Workflow

Figure 4. PE2 enabled with EVPN-VPWS

The process involves these stages:

  1. Upgrade completion: After the upgrade is completed, PE2 begins advertising EVI/EAD routes to other PE nodes.

  2. Discovery and integration:

    • PE1 and PE2 discover each other through EVPN routes.

    • EVPN-VPWS service replaces the legacy VPWS service between PE1 and PE2, achieving seamless integration.

  3. Service prioritization: EVPN-VPWS service takes precedence over the legacy VPWS network.

  4. Legacy VPWS shutdown: PE1 and PE2 shut down the legacy VPWS between them to prevent duplicate packets from remote CE devices.

  5. Coexistence with PE3: PE3 remains on legacy VPWS, and PE1 continues running legacy VPWS service with PE3.

  6. Dual-Stack coexistence: The migration continues for remaining PE nodes, with legacy VPWS and EVPN-VPWS coexisting in the core for a given L2 AC.

  7. Future upgrades:

    • After a year, PE3 is upgraded to enable EVPN-VPWS service.

    • All PE devices are eventually replaced with EVPN-VPWS services.

  8. Configuration retention: The user retains both legacy and EVPN-VPWS-related configurations on PE1 and PE2 nodes.

  9. Rollback capability: If network issues arise, the migration can be rolled back. This reverts PE2, and subsequently PE1 and PE2, to the legacy VPWS configuration.

    The migration ensures a seamless transition to EVPN-VPWS while maintaining network stability and providing rollback options for troubleshooting.

Configure EVPN on existing VPWS

Enable seamless migration and intergration of legacy VPWS to EVPN to ensure smooth migration and coexistence.

This task involves configuring EVPN-VPWS alongside legacy VPWS and migrating PE devices incrementally.

Before you begin

  • Ensure that the network devices support EVPN-VPWS.

  • Verify that the required BGP configurations are in place.

Procedure


Step 1

Migrate VPWS to EVPN-VPWS on PE1.

Example:

In this example, both legacy VPWS and EVPN-VPWS coexist on PE1.


/* VPWS configuration on PE1 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 1
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.1 remote-ce-id 2
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# exit
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 3
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.2 remote-ce-id 4
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit

/* Migrate VPWS to EVPN-VPWS on PE1 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 1
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# vpws-seamless-integration 
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.1 remote-ce-id 2
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# root
Router(config)# l2vpn xconnect group evpn-vpws
Router(config-l2vpn-xc)# p2p evpn1
Router(config-l2vpn-xc-p2p)# interface Bundle-Ether 1.1
Router(config-l2vpn-xc-p2p)# neighbor evpn evi 4 service 5
Router(config-l2vpn-xc-p2p-pw)# commit

/* VPWS configuration on PE2 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 2
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.1 remote-ce-id 1
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit

/* VPWS configuration on PE3 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 4
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.2 remote-ce-id 3
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit

Step 2

Use the show l2vpn xconnect command to check the VPWS status.

As PE2 and PE3 are not migrated to EVPN-VPWS, legacy VPWS continues to run between the PE devices.

Example:

This show output indicates that only legacy VPWS is up and EVPN-VPWS is down on BE1.1.


Router# show l2vpn xconnect

Legend: ST = State, UP = Up, DN = Down, AD = Admin Down, UR = Unresolved,
        SB = Standby, SR = Standby Ready, (PP) = Partially Programmed,
        LU = Local Up, RU = Remote Up, CO = Connected, (SI) = Seamless Inactive
 
XConnect                   Segment 1                       Segment 2
Group        Name       ST   Description            ST       Description            ST
---------------------------  -----------------------------   -----------------------------
evpn-vpws    evpn1      DN   BE1.1                  UP       EVPN 4,5,24004          DN
----------------------------------------------------------------------------------------
legacy-vpws  vpws1      UP   BE1.1                  UP       192.168.0.4     534296  UP
----------------------------------------------------------------------------------------
legacy-vpws  vpws1      UP   BE1.2                  UP       192.168.12.110  685694  UP
----------------------------------------------------------------------------------------

Step 3

Migrate VPWS to EVPN-VPWS on PE1 and PE2.

Example:

In this example, both legacy VPWS and EVPN-VPWS coexist on PE1. PE2 is migrated to EVPN-VPWS.


/* VPWS configuration on PE1 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 1
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.1 remote-ce-id 2
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# exit
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 3
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.2 remote-ce-id 4
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit

/* Migrate VPWS to EVPN-VPWS on PE1 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 1
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# vpws-seamless-integration 
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.1 remote-ce-id 2
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# root

Router(config)# l2vpn xconnect group evpn-vpws
Router(config-l2vpn-xc)# p2p evpn1
Router(config-l2vpn-xc-p2p)# interface Bundle-Ether 1.1
Router(config-l2vpn-xc-p2p)# neighbor evpn evi 4 service 5
Router(config-l2vpn-xc-p2p-pw)# commit


/* Migrate VPWS to EVPN-VPWS on PE2 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 2
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# vpws-seamless-integration 
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.1 remote-ce-id 1
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# root

Router(config)# l2vpn xconnect group evpn-vpws
Router(config-l2vpn-xc)# p2p evpn1
Router(config-l2vpn-xc-p2p)# interface Bundle-Ether 1.1
Router(config-l2vpn-xc-p2p)# neighbor evpn evi 4 service 5
Router(config-l2vpn-xc-p2p-pw)# commit

Step 4

Use the show l2vpn xconnect to check the VPWS status.

After the migration, legacy VPWS and EVPN-VPWS coexist on PE1. PE2 is migrated to EVPN-VPWS and PE3 runs with legacy VPWS. EVPN-VPWS service runs between PE1 and PE2. Legacy VPWS service runs between PE1 and PE3.

Example:

This example shows that EVPN-VPWS is up on BE1.1. The legacy VPWS is also advertised on BE1.1 with the status as Standby ( SB(SI)).


Router# show l2vpn xconnect

Legend: ST = State, UP = Up, DN = Down, AD = Admin Down, UR = Unresolved,
        SB = Standby, SR = Standby Ready, (PP) = Partially Programmed,
        LU = Local Up, RU = Remote Up, CO = Connected, (SI) = Seamless Inactive
 
XConnect                   Segment 1                       Segment 2
Group        Name       ST   Description            ST       Description            ST
---------------------------  -----------------------------   -----------------------------
evpn-vpws    evpn1      UP   BE1.1                  UP       EVPN 4,5,24004          UP
----------------------------------------------------------------------------------------
legacy-vpws  vpws1      DN   BE1.1                  SB(SI)   192.168.0.4     534296  UP
----------------------------------------------------------------------------------------
legacy-vpws  vpws1      UP   BE1.2                  UP       192.168.12.110  685694  UP
----------------------------------------------------------------------------------------

Use the show l2vpn forwarding interface interface-type interface-path-id detail location node-id command to identify whether EVPN-VPWS or VPWS is used for forwarding the traffic.

In this example, evi: 1 indicates that EVPN-VPWS is used for forwarding the traffic.


Router# show l2vpn forwarding interface Bundle-Ether1.1 detail location 0/2/CPU0
Wed Apr 28 09:08:37.512 EDT
Local interface: Bundle-Ether1.1, Xconnect id: 0x800001, Status: up
  Segment 1
    AC, Bundle-Ether1.1, status: Bound
    Statistics:
      packets: received 0, sent 0
      bytes: received 0, sent 0
  Segment 2
    MPLS, Destination address: 192.168.0.4, evi: 4, ac-id: 5, status: Bound    
Pseudowire label: 24001
    Control word enabled
    Statistics:
      packets: received 0, sent 0
      bytes: received 0, sent 0
 
 

In this example, pw-id: 1 indicates that VPWS is used for forwarding the traffic.


Router# show l2vpn forwarding interface Bundle-Ether1.1  detail location 0/2/CPU0
Wed Apr 28 09:09:45.204 EDT
Local interface: Bundle-Ether1.1, Xconnect id: 0x800001, Status: up
  Segment 1
    AC, Bundle-Ether1.1, status: Bound
    Statistics:
      packets: received 0, sent 0
      bytes: received 0, sent 0
  Segment 2
    MPLS, Destination address: 192.168.0.4, pw-id: 1, status: Bound    
Pseudowire label: 24000
    Control word disabled
    Statistics:
      packets: received 0, sent 0
      bytes: received 0, sent 0

Use the l2vpn logging pseudowire command to track the migration of AC from one PW to another.

Router(config)# l2vpn logging pseudowire
RP/0/0/CPU0:Jan 18 15:35:15.607 EST: 
l2vpn_mgr[1234]: %L2-EVPN-5-VPWS_SEAMLESS_INTEGRATION_STATE_CHANGE : 
GigabitEthernet0/2/0/8.1 - Active XC is now service-1:evpn-vpws-1, standby XC is service-1:legacy-vpws-1 

Step 5

Migrate VPWS to EVPN-VPWS on PE1, PE2, and PE3.

Example:

In this example, both legacy VPWS and EVPN-VPWS coexist on PE1. PE2 and PE3 are migrated to EVPN-VPWS.

/* VPWS configuration on PE1 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 1
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.1 remote-ce-id 2
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# exit
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 3
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.2 remote-ce-id 4
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit

/* Migrate VPWS to EVPN-VPWS on PE1 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 1
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# vpws-seamless-integration 
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.1 remote-ce-id 2
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# exit
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 3
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# vpws-seamless-integration 
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.2 remote-ce-id 4
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# root

Router(config)# l2vpn xconnect group evpn-vpws
Router(config-l2vpn-xc)# p2p evpn1
Router(config-l2vpn-xc-p2p)# interface Bundle-Ether 1.1
Router(config-l2vpn-xc-p2p)# neighbor evpn evi 4 service 5
Router(config-l2vpn-xc-p2p-pw)# commit
Router(config-l2vpn-xc-p2p-pw)# root
Router(config)# l2vpn xconnect group evpn-vpws
Router(config-l2vpn-xc)# p2p evpn2
Router(config-l2vpn-xc-p2p-pw)# exit
Router(config-l2vpn-xc-p2p)# interface Bundle-Ether 1.2
Router(config-l2vpn-xc-p2p)# neighbor evpn evi 4 service 7
Router(config-l2vpn-xc-p2p-pw)# commit

/* Migrate VPWS to EVPN-VPWS on PE3 */
Router# configure
Router(config)# l2vpn xconnect group legacy-vpws
Router(config-l2vpn-xc)# mp2mp vpws1
Router(config-l2vpn-xc-mp2mp)# autodiscovery bgp
Router(config-l2vpn-xc-mp2mp-ad)# signaling-protocol bgp
Router(config-l2vpn-xc-mp2mp-ad-sig)# ce-id 4
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# vpws-seamless-integration 
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# interface Bundle-Ether1.2 remote-ce-id 3
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# commit
Router(config-l2vpn-xc-mp2mp-ad-sig-ce)# root
Router(config)# l2vpn xconnect group evpn-vpws
Router(config-l2vpn-xc)# p2p evpn2
Router(config-l2vpn-xc-p2p)# interface Bundle-Ether 1.2
Router(config-l2vpn-xc-p2p)# neighbor evpn evi 4 service 7
Router(config-l2vpn-xc-p2p-pw)# commit

Step 6

Use the l2vpn logging pseudowire command to verify that all the PE devices forward traffic between them using EVPN-VPWS.

This example shows that EVPN-VPWS is up and legacy VPWS is down.

Example:


Router# show l2vpn xconnect

Legend: ST = State, UP = Up, DN = Down, AD = Admin Down, UR = Unresolved,
        SB = Standby, SR = Standby Ready, (PP) = Partially Programmed,
        LU = Local Up, RU = Remote Up, CO = Connected, (SI) = Seamless Inactive
 
XConnect                   Segment 1                       Segment 2
Group        Name       ST   Description            ST       Description            ST
---------------------------  -----------------------------   -----------------------------
evpn-vpws    evpn1      UP   BE1.1                  UP       EVPN 4,5,24004          UP
----------------------------------------------------------------------------------------
legacy-vpws  vpws1      DN   BE1.1                  UP       192.168.0.4     534296  DN
----------------------------------------------------------------------------------------
evpn-vpws    evpn2      UP   BE1.2                  UP       EVPN 4,7,24008          UP
----------------------------------------------------------------------------------------
legacy-vpws  vpws1      DN   BE1.2                  UP       192.168.12.110  685694  DN
----------------------------------------------------------------------------------------

Step 7

TLDP PW to EVPN-VPWS migration

Similar to migrating VPWS to EVPN, you can also migrate Targeted Label Distribution Protocol (TLDP) PW to EVPN-VPWS on all the PE routers incrementally.

You can perform this task on all the PE routers incrementaly. This configuration example shows the TLDP PW to EVPN-VPWS migration on PE1:

Example:


Router# configure
Router(config)# l2vpn xconnect group 1
Router(config-l2vpn-xc)# p2p p1
Router(config-l2vpn-xc-p2p)# interface BE1.1
Router(config-l2vpn-xc-p2p)# neighbor 10.0.0.1 pw-id 1
Router(config-l2vpn-xc-p2p-pw)# exit
Router(config-l2vpn-xc-p2p)# vpws-seamless-integration