Segment Routing v6 Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

PDF

Segment Routing v6 Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

Interworking gateways for L3 EVPN SRv6 and L3VPN MPLS

Want to summarize with AI?

Log in

Explains how gateways exchange and re-originate routes to extend Layer 3 EVPN services between SRv6 and MPLS domains and provides deployment and configuration guidance.


L3 EVPN Interworking between SRv6 and MPLS is a SRv6 networking solution that

  • extends L3 EVPN services between SRv6 and MPLS domains

  • provides service continuity on both the control plane and data plane, and

  • allows for migration from MPLS L3 EVPN to SRv6 L3 EVPN.


Restrictions of interworking gateways for L3 EVPN SRv6 and L3VPN MPLS

L3 EVPN/SRv6 and L3 EVPN/MPLS Interworking Gateway is supported for IPv4 and IPv6.


How interworking gateways for L3 EVPN SRv6 and L3VPN MPLS operate

The L3 EVPN/SRv6 and L3 EVPN/MPLS Interworking Gateway acts as a central network device. It provides both transport and service termination at the gateway node, enabling the extension of L3 EVPN services between MPLS and SRv6 domains.

For this interworking, VRFs on the gateway node are configured with two sets of route targets (RTs):

  • L3 EVPN/MPLS RTs

  • L3 EVPN/SRv6 RTs (also known as stitching RTs)

Summary

The key components involved in the interworking process are:

  • Gateway node: The central device that performs the interworking functions, connecting and translating between the SRv6 and MPLS domains.

  • SRv6 L3 EVPN domains: Network segments utilizing SRv6 for transport and EVPN for L3 service delivery.

  • MPLS L3VPN domains: Traditional MPLS networks providing Layer 3 VPN services.

  • Virtual Routing and Forwarding instances: Logical routing tables configured on the gateway node to isolate and manage different VPN services.

  • Route targets (RTs): BGP extended communities used to control the import and export of VPN routes between domains, including stitching RTs for interworking. Stitching is the overarching process by which the gateway node integrates the control and data planes of the two distinct domains, often involving specific route targets and re-origination mechanisms.

  • Border Gateway Protocol) The routing protocol used to exchange VPN routing information between the gateway and the respective domains.

The L3 EVPN/SRv6 and L3 EVPN/MPLS Interworking Gateway facilitates seamless service continuity between SRv6 and MPLS domains. It achieves this by importing and re-originating service routes in the control plane and by performing necessary encapsulation, decapsulation, and lookup operations in the data plane. This process supports traffic flow in both directions and enables migration scenarios.

Workflow

These stages describe how interworking gateways for L3 EVPN SRv6 and L3VPN MPLS operate:

  1. The gateway prepares for route exchange.

    • Imports service routes received from one domain (L3 EVPN/MPLS or L3 EVPN/SRv6)

    • Re-originates exported service routes to the other domain and setting next-hop-self

    • Stitches the service routes in the data plane (uDT4/H.Encaps.Red ↔ MPLS service label)

  2. The gateway performs control plane interworking.

    • MPLS-to-SRv6 Control Plane Direction: The gateway imports routes received from the MPLS side (via EVPN RT5) and re-originates them in the L3VPN VRF with a per-VRF SRv6 SID.

    • SRv6-to-MPLS Control Plane Direction: The gateway imports routes received from the SRv6 side (via EVPN RT5) and re-originates them in the L3VPN VRF with a per-VRF label.

  3. The gateway performs data plane interworking.

    • MPLS-to-SRv6 Traffic Forwarding:

      • The gateway pops the MPLS L3 EVPN label.

      • The gateway looks up the destination prefix.

      • The gateway pushes the appropriate SRv6 encapsulation (uDT4/H.Encaps.Red).

      • The gateway forwards traffic to the SRv6 domain.

    • SRv6-to-MPLS Traffic Forwarding:

      • The gateway removes the outer IPv6 header.

      • The gateway looks up the destination prefix.

      • The gateway pushes the L3 EVPN and next-hop MPLS labels.

      • The gateway forwards traffic to the MPLS domain.


Configure interworking gateways for L3 EVPN SRv6 and L3VPN MPLS

Use this procedure to enable seamless Layer 3 service interworking between an SRv6 L3 EVPN domain and an MPLS L3VPN domain on a gateway node.

This task configures a gateway node to act as an interworking point, allowing SRv6 L3 EVPN domains to exchange Layer 3 services with existing MPLS L3VPN domains. The configuration involves setting up SRv6 parameters, defining VRF route targets for stitching, and configuring BGP peering for route exchange and re-origination.

Procedure

  1. Enable SRv6 with locator and encapsulation parameters.

    Example:

    segment-routing
     srv6
      encapsulation
       source-address b:0:2::2
      !
      locators
       locator LOC1
        prefix b:0:2::/48
       !
      !
     !
    !
    
    
  2. Configure the VPNv4/VPNv6 VRF with route targets.

    • 1111:1, RT used for MPLS L3 EVPN

    • 2222:1, RT used for SRv6 L3 EVPN (stitching RT)

    Example:

    vrf VPN1
     address-family ipv4 unicast
      import route-target
       1:1
       1:1 stitching
      !
      export route-target
       1:1
       1:1 stitching
      !
     !
     address-family ipv6 unicast
      import route-target
       1:1
       1:1 stitching
      !
      export route-target
       1:1
       1:1 stitching
      !
     !
    !
    
    
  3. Configure BGP for SRv6 and MPLS interworking.

    Example:

    router bgp 100
     segment-routing srv6
      locator LOC1
     !
     address-family vpnv4 unicast
     !
     address-family vpnv6 unicast
     !
     address-family l2vpn evpn
     !
     neighbor 2222::2
      remote-as 100
      description SRv6 side peering
      address-family l2vpn evpn
       import reoriginate stitching-rt (Imports NLRIs that match normal route target identifier
                 and exports re-originated NLRIs assigned with the stitching route target identifier)
       route-reflector-client
       encapsulation-type srv6
       advertise vpnv4 unicast re-originated (Specifies advertisement of re-originated VPNv4 
                 unicast routes)
       advertise vpnv6 unicast re-originated (Specifies advertisement of re-originated VPNv6 
                 unicast routes)
      !
     !
     neighbor 3.3.3.3
      remote-as 100
      description MPLS side peering stitching side
      address-family vpnv4 unicast
       import stitching-rt reoriginate (Imports NLRIs that match stitching route target identifier 
                 and exports re-originated NLRIs assigned with the normal route target identifier)
       route-reflector-client
       advertise vpnv4 unicast re-originated stitching-rt (Advertise local VPNv4 unicast routes 
                 assigned with stitching route target identifier)
      !
      address-family vpnv6 unicast
       import stitching-rt reoriginate (Imports NLRIs that match stitching route target identifier 
                 and exports re-originated NLRIs assigned with the normal route target identifier)
       route-reflector-client
       advertise vpnv4 unicast re-originated stitching-rt (Advertise local VPNv4 unicast routes 
                 assigned with stitching route target identifier)
      !
     !
     vrf VPN1
      rd 100:2
      address-family ipv4 unicast
       mpls alloc enable
      !
      address-family ipv6 unicast
       mpls alloc enable
      !
     !
    !