SRv6 MPLS L3 service interworking gateway
An SRv6 MPLS L3 service interworking gateway is a gateway that
-
extends L3 services between MPLS and SRv6 domains by providing service continuity on the control plane and data plane
-
enables SRv6 L3VPN domains to interwork with existing MPLS L3VPN domains and supports migration from MPLS L3VPN to SRv6 L3VPN, and
-
provides both transport and service termination at the gateway node.
|
Feature Name |
Release |
Description |
|---|---|---|
|
Identical Route Distinguisher (RD) for Interworking Gateways between MPLS and SRv6 Domains |
Release 25.1.1 |
Introduced in this release on: Fixed Systems (8010 [ASIC: A100])(select variants only*) *This feature is supported on Cisco 8011-4G24Y4H-I routers. |
|
Identical Route Distinguisher (RD) for Interworking Gateways between MPLS and SRv6 Domains |
Release 24.4.1 |
Introduced in this release on: Fixed Systems (8200 [ASIC: P100], 8700 [ASIC: P100, K100])(select variants only*); Modular Systems (8800 [LC ASIC: P100])(select variants only*) *This feature is supported on:
|
|
Identical Route Distinguisher (RD) for Interworking Gateways between MPLS and SRv6 Domains |
Release 24.1.1 |
You can now configure the same Route Distinguisher (RD) for interworking gateways catering to both MPLS and SRv6 domains that help conserve hardware resources, reduce the BGP table scale and minimize the processing load on routers. At the same time, it ensures seamless connectivity across SRv6 and MPLS L3 EVPN domains, thus promoting interoperability and efficiency in modern network environments. Previously, a unique RD was required to extend L3 services between MPLS and SRv6 domains resulting in higher router load and resource consumption, which could have affected performance. |
|
SRv6/MPLS L3 Service Interworking Gateway (SRv6 Micro-SID) |
Release 25.1.1 |
Introduced in this release on: Fixed Systems (8010 [ASIC: A100], 8700 [ASIC: K100])(select variants only*) *This feature is supported on:
|
|
SRv6/MPLS L3 Service Interworking Gateway (SRv6 Micro-SID) |
Release 24.4.1 |
Introduced in this release on: Fixed Systems (8200 [ASIC: P100], 8700 [ASIC: P100])(select variants only*); Modular Systems (8800 [LC ASIC: P100])(select variants only*) *This feature is supported on:
|
|
SRv6/MPLS L3 Service Interworking Gateway (SRv6 Micro-SID) |
Release 7.8.1 |
This feature enables you to extend L3 services between MPLS and SRv6 domains by providing service continuity on the control plane and data plane. This feature allows for SRv6 L3VPN domains to interwork with existing MPLS L3VPN domains. The feature also allows migration from MPLS L3VPN to SRv6 L3VPN. |
Gateway mechanism
The gateway performs these key actions to enable interworking:
-
Imports service routes: The gateway imports service routes received from one domain (MPLS or SRv6).
-
Re-advertises exported service routes: It re-advertises exported service routes to the other domain (next-hop-self).
-
Stitches the service: The gateway stitches the service on the data plane (uDT4/H.Encaps.Red ↔ service label).
Virtual Routing and Forwarding (VRFs) on the gateway node are configured with two sets of route targets (RTs): MPLS L3VPN RTs and SRv6 L3VPN RTs (referred to as stitching RTs).
To understand the detailed control-plane and data-plane behaviors for specific traffic flows, refer to these process topics:
How MPLS-to-SRv6 control-plane and SRv6-to-MPLS data-plane traffic works
This process describes the control-plane behaviors in the MPLS-to-SRv6 direction for traffic that flows in the SRv6-to-MPLS data-plane direction.
Summary
The process involves BGP L3VPN updates exchanged between Node 1 (MPLS domain) and Node 2 (gateway), which then re-originates updates into the SRv6 domain. Subsequently, traffic from Site B is encapsulated by Node 3, processed by Node 2, and finally forwarded by Node 1 to Site A.
Workflow
These stages describe how the SRv6/MPLS L3 service interworking gateway works, covering both control plane and data plane flows.
- (A) As illustrated by A in the figure, Node 1 advertises a BGP L3VPN update for prefix A.0.0.0/8 with RD corresponding to VRFA, including the MPLS VPN label (24055) assigned to this VRF, in the MPLS domain. Refer the part A in the figure.
-
(B) Node 2 (gateway) imports the BGP L3VPN update and programs its FIB:
- Prefix A.0.0.0/8 is programmed to impose an MPLS VPN label (24055) and the prefix SID MPLS label (16001) of the BGP next-hop (Node 1)
-
"Endpoint with decapsulation and IPv4 table lookup" function (uDT4) of B:0:2:V8:: is allocated to VRFA

Note
SRv6 uDT4 function value "V8" is not a valid hex number, however it is used for illustration purposes to remind you of its connection to a VRF.

Note
The gateway follows per-VRF label and per-VRF SID allocation methods.
- ( C) Node 2 re-originates a BGP L3VPN update for the same prefix, including the uDT4 function (B:0:2:V8::) allocated for the VRF, in the SRv6 domain.
- (D) Site B sends traffic to an IPv4 prefix (A.A.A.A) of Site A.
- (E) Node 3 Encapsulates the payload in an outer IPv6 header with destination address (DA) equal to the uDT4 function (B:0:2:V8::).
-
(F) Node 2 performs the following actions:
- Removes the outer IPv6 header and looks up the destination prefix
- Pushes the MPLS VPN label (24055) and the prefix SID MPLS label (16001) of the BGP next-hop (Node 1)
- (G) Node 1 pops the MPLS VPN label, looks up the payload destination address (A.A.A.A), and forwards to Site A.
How SRv6-to-MPLS Control-Plane and MPLS-to-SRv6 Data-Plane Traffic Works
This process describes the flow of control plane information from an SRv6 domain to an MPLS domain, and the subsequent forwarding of data traffic from the MPLS domain to the SRv6 domain through an SRv6/MPLS L3 Service Interworking Gateway. This interworking ensures seamless service continuity and efficient traffic routing across different network segments.
Summary
In this process, an L3VPN PE in the SRv6 domain (Node 3) advertises a prefix. The SRv6/MPLS L3 Service Interworking Gateway (Node 2) imports this advertisement, programs its FIB, and re-originates the prefix into the MPLS domain. Subsequently, traffic originating from the MPLS domain (Site A via Node 1) is encapsulated by Node 1, processed and re-encapsulated by the gateway (Node 2) for the SRv6 domain, and finally forwarded by Node 3 to its destination (Site B
Workflow
These stages describe how the SRv6-to-MPLS control plane and MPLS-to-SRv6 data plane interworking process functions:
-
(A) Node 3 advertises a BGP L3VPN update for prefix B.0.0.0/8 with RD corresponding to VRFA, including the SRv6 VPN SID (B:0:3:V9::)
assigned to this VRF, in the SRv6 domain, as shown in A of Figure 1.

Note
SRv6 uDT4 function value "V9" is not a valid hex number, however it is used for illustration purposes to remind you of its connection to a VRF.
-
(B) Node 2 (gateway) imports the BGP L3VPN update and programs its FIB, as shown in B of Figure 1.
- MPLS label 24010 is allocated for VRFA
- Prefix B.0.0.0/8 is programmed with an "SR Headend Behavior with Reduced Encapsulation in an SR Policy" function (H.Encaps.Red) of B:0:3:V9::

Note
The gateway follows per-VRF label and per-VRF SID allocation methods.
- (C) Node 2 re-originates a BGP L3VPN update for the same prefix, including the MPLS VPN label (24010) allocated for the VRF, in the MPLS domain, as shown in C of Figure 1.
- D: Site A sends traffic to an IPv4 prefix (B.B.B.B) of Site B, as shown in D of Figure 1.
- (E) Node 1 encapsulates incoming traffic with the MPLS VPN label (24010) and the prefix SID MPLS label (16002) of the BGP next-hop (Node 2), as shown in E of Figure 1.
-
(F) Node 2 performs the following actions, as shown in F of Figure 1.
- Pops the MPLS VPN label and looks up the destination prefix
- Encapsulates the payload in an outer IPv6 header with destination address (DA) equal to the H.Encaps.Red function (B:0:3:V9::)
Feedback