SRv6 Policy Support for Layer 2 and Layer 3 Services
This chapter provides information about SRv6 policy support for Layer 2 and Layer 3 services.
Topics in this chapter include:
Applicability
SRv6 policies for Layer 2 and Layer 3 services are supported in SR OS Release 22.7.R1 and later. The information and configuration in this chapter are based on SR OS Release 24.3.R2.
MPLS Segment Routing (SR) policies are described in the BGP Signaled Segment Routing Policy chapter.
Overview
SRv6 policies are Segment Routing (SR) policies with an IPv6 data plane. SRv6 policies consist of one or more lists of SRv6 segments, where each segment list represents a source route that can be used to enable traffic engineering through SRv6 networks. Each segment list contains a list of SRv6 SIDs comprising the top Segment Identifier (SID) and the further SIDs. Both 128-bit classic SIDs and 16-bit micro-segment SIDs can be used and it is possible to combine SRv6 segments derived from classic SRv6 and micro-segment SRv6 locators. The combination of classic and micro-segment SIDs can happen at the policy level and at the segment list level. A policy can have a segment list with only classic SIDs and another segment list with only micro-segment SIDs. A segment list can itself contain both classic and micro-segment SIDs. Different types of SIDs can be used, such as node SIDs (for classic SIDs: End SIDs; for micro-segment SIDs: uN SIDs) or adjacency SIDs (End.X SIDs; uA SIDs).
-
The head-end is the node where the SRv6 policy is instantiated. The head-end steers the traffic into the policy with the SID stack. From the perspective of the head-end, the SRv6 policy can be identified using the { color, endpoint } tuple.
-
The endpoint is the IPv6 destination of the SRv6 policy.
-
The color is a numerical value that is used by the head-end to associate the SRv6 policy with a characteristic, such as low-latency or high-throughput. The color is a 32-bit transitive extended community that forms part of the BGP NLRI which is exported by the endpoint, and the head-end resolves the next hop to that endpoint via an SR policy with the corresponding color.
Static SRv6 policies are configured through CLI, using the configure router segment-routing sr-policies static-policy <..> create command with the type srv6 option. Static SRv6 policies can be configured on the head-end (head-end local) and it is also possible to configure static SRv6 policies on a remote node and signal these SRv6 policies using BGP to the head-end (head-end <non-local IPv4 system address>).
- EVPN VPWS
- EVPN VPLS
- EVPN IFL
- VPN IPv4
- VPN IPv6
Similar to SR policies with an MPLS data plane, the next-hop resolution is based on the color and on the comparison of the next hop with the SR policy endpoint. The head-end, endpoint, and color define a matching policy, but a matching policy can be an SR MPLS policy or an SRv6 policy. Therefore, the service also uses the data plane technology of the policy to select the tunnel type to resolve over. SRv6 services can only resolve over SRv6 tunnels and MPLS services cannot resolve over SRv6 tunnels. An SRv6 service cannot fall back to an MPLS tunnel type.
-
tunnel-table
The tunnel-table command option resolves the route directly to a tunnel in TTMv6. The system tries to find an SRv6 policy with the same endpoint and color for BGP routes received with an SRv6 TLV and that contain an SRv6 service SID in the TTMv6. If no such SRv6 policy is found in the TTMv6, the resolution fails.
-
route-table
The route-table command option is the default behavior which resolves the route to a shortest path SRv6 tunnel in the route table.
-
fallback-tunnel-to-route-table
This fallback command option first tries to resolve the route directly to a tunnel in the TTMv6. If none is found, the system falls back to the shortest path SRv6 resolution in the route table.
Configuration
Example topology with system IP addresses shows the example topology with six PEs, one route reflector (RR), and an external controller. In this example topology, the controller is an SR OS node that advertises non-local SRv6 policies using BGP. The controller is only used in two of the following examples; in the other examples, static SRv6 policies are configured on PE-1. The CEs are connected to PE-1 and PE-6 when Layer 2 services are configured.
- cards, MDAs, ports
- router interfaces with IPv6 addresses – only the system interface is configured with both IPv4 and IPv6 addresses
- IS-IS on all router interfaces between the PEs and between PE-3, PE-4, and RR-7
- static routes between RR-7 and the controller
- SRv6 between the PEs, but not toward RR-7
SRv6 locators and BGP configuration
Classic SRv6 locators
Example topology with classic locator prefixes shows the classic SRv6 locators that are configured on the PEs.
As an example, on PE-2, the classic locator "PE2-loc" is configured as follows:
# on PE-2:
configure
router Base
mpls-labels
reserved-label-block "sr-policy"
start-label 20000 end-label 22999
exit
exit
segment-routing
segment-routing-v6
origination-fpe 1
source-address 2001:db8::2:2
locator "PE2-loc"
block-length 48
termination-fpe 2
prefix
ip-prefix 2001:db8:aaaa:102::/64
exit
static-function
label-block "sr-policy"
max-entries 16
exit
no shutdown
exit
base-routing-instance
locator "PE2-loc"
function
end-x-auto-allocate srh-mode psp protection unprotected
end 1
srh-mode usp
exit
end-x 2 # static function value for adj with PE-1
srh-mode psp # default
protection unprotected
interface "int-PE-2-PE-1"
exit
end-x 3 # static function value for adj with PE-3
srh-mode psp # default
protection unprotected
interface "int-PE-2-PE-3"
exit
exit
exit
exit
exit
exit
isis 0
segment-routing-v6
locator "PE2-loc"
level 1
exit
level 2
exit
exit
no shutdown
exit
The configuration on the other PEs is similar.
Micro-segment SRv6 locators
Besides the classic SRv6 locators, the PEs are also configured with micro-segment SRv6 locators. Example topology with micro-segment node SIDs shows the micro-segment node SIDs configured on the PEs.
On PE-2, the micro-segment locator "PE2-mloc" is configured as follows:
# on PE-2:
configure
router Base
mpls-labels
reserved-label-block "res-block1"
start-label 19000 end-label 19999
exit
exit
segment-routing
segment-routing-v6
origination-fpe 1
source-address 2001:db8::2:2
micro-segment
argument-length 16
block "ms-block1"
label-block "res-block1"
termination-fpe 2
prefix
ip-prefix 2001:bbbb::/32
exit
static-function
max-entries 16
exit
no shutdown
exit
exit
micro-segment-locator "PE2-mloc"
block "ms-block1"
un
srh-mode usp
value 2
exit
no shutdown
exit
base-routing-instance
micro-segment-locator "PE2-mloc"
function
ua-auto-allocate srh-mode psp protection unprotected
ua 1
protection unprotected
interface "int-PE-2-PE-1"
exit
ua 2
protection unprotected
interface "int-PE-2-PE-3"
exit
ua 3
protection unprotected
interface "int-PE-2-PE-5"
exit
exit
exit
exit
exit
exit
isis 0
segment-routing-v6
micro-segment-locator "PE2-mloc"
level 1
exit
level 2
exit
exit
no shutdown
exit
exit
The configuration on the other PEs is similar.
BGP configuration
For the examples where EVPN VPWS and EVPN VPLS services are configured and static SRv6 policies are used, it is sufficient to configure BGP for the EVPN address family only, as follows:
# on PE-1, PE-2, PE-3, PE-4, PE-5, PE-6:
configure
router Base
autonomous-system 64500
bgp
vpn-apply-import
vpn-apply-export
enable-peer-tracking
rapid-withdrawal
split-horizon
rapid-update evpn
group "internal"
family evpn
peer-as 64500
neighbor 2001:db8::2:7
exit
exit
exit
For the EVPN VPWS and EVPN VPLS services where BGP-signaled SRv6 policies are used, BGP must also be enabled for the SRv6 policy address family, as follows:
# on PE-6:
configure
router Base
autonomous-system 64500
bgp
vpn-apply-import
vpn-apply-export
enable-peer-tracking
rapid-withdrawal
split-horizon
rapid-update evpn
group "internal"
family evpn sr-policy-ipv6
peer-as 64500
neighbor 2001:db8::2:7
exit
exit
exit
RR-7 also has a BGP session with the controller. The BGP configuration on RR-7 is as follows:
# on RR-7:
configure
router Base
autonomous-system 64500
bgp
vpn-apply-import
vpn-apply-export
enable-peer-tracking
rapid-withdrawal
split-horizon
rapid-update evpn
group "IBGP clients"
cluster 192.0.2.7
family evpn sr-policy-ipv6
peer-as 64500
neighbor 2001:db8::2:1
exit
neighbor 2001:db8::2:2
exit
neighbor 2001:db8::2:3
exit
neighbor 2001:db8::2:4
exit
neighbor 2001:db8::2:5
exit
neighbor 2001:db8::2:6
exit
exit
group "SRv6-policies"
family ipv6 sr-policy-ipv6
peer-as 64500
neighbor 2001:db8::2:8
exit
exit
The controller signals SRv6 policies using BGP. The sr-policy-import command instructs BGP to import statically-configured non-local segment routing policies from the segment routing database into the BGP RIB so that they can be advertised, as originated routes, toward BGP peers that support the sr-policy-ipv6 address family. The BGP configuration on the controller is as follows:
# on controller:
configure
router Base
autonomous-system 64500
bgp
rapid-withdrawal
sr-policy-import # import non-local static SR policies into RIB
group "SR-policy"
family ipv6 sr-policy-ipv6
peer-as 64500
neighbor 2001:db8::2:7
exit
exit
exit
For the EVPN IFL services, the EVPN address family must be enabled and the IPv6 next hops must be advertised for the EVPN address family. In the case that an external controller is used, the SRv6 policy address family must also be enabled, as follows:
# on PE-1, PE-6:
configure
router Base
bgp
vpn-apply-import
vpn-apply-export
enable-peer-tracking
rapid-withdrawal
split-horizon
rapid-update evpn
group "internal"
family evpn sr-policy-ipv6
advertise-ipv6-next-hops evpn
peer-as 64500
neighbor 2001:db8::2:7
exit
exit
For the IP VPN services, BGP must be configured for the VPN IPv4 and VPN IPv6 address families. If an external controller is used, the SRv6 policy address family must also be enabled. Extended next hop encoding is enabled for IPv4 and VPN IPv4; IPv6 next hops must be advertised for IPv4, VPN IPv4, and VPN IPv6. The BGP configuration on PE-1 and PE-6 is as follows:
# on PE-1, PE-6:
configure
router Base
bgp
vpn-apply-import
vpn-apply-export
enable-peer-tracking
rapid-withdrawal
split-horizon
rapid-update evpn
group "internal"
family vpn-ipv4 vpn-ipv6 sr-policy-ipv6
extended-nh-encoding ipv4 vpn-ipv4
advertise-ipv6-next-hops ipv4 vpn-ipv4 vpn-ipv6
peer-as 64500
neighbor 2001:db8::2:7
exit
exit
EVPN VPWS
EVPN VPWS with static SRv6 policy on head-end PE-1
EVPN VPWS using SRv6 policy with color 100 from PE-1 to PE-6 shows the segments in the segment list of the static SRv6 policy on head-end PE-1. The SIDs are the End.X SID for the interface "int-PE-2-PE-3" on PE-2, the End.X SID for the interface "int-PE-3-PE-4" on PE-3, and the End.X SID for the interface "int-PE-4-PE-5" on PE-4.
Static SRv6 policy on PE-1
SRv6 policies are configured with the following command:
*A:PE-1>conf>router>segment-routing>sr-policies# static-policy
- static-policy <name> [create]
- no static-policy <name>
<name> : [64 chars max]
<create> : keyword
[no] binding-sid - A Segment ID value that opaquely represents an SR policy to upstream
routers
[no] color - Determines the set of traffic flows that would be steered by this policy
[no] distinguisher - A unique value to distinguish a policy
[no] endpoint - Destination IP address of the source-routed path
[no] head-end - The head end address for this static policy
[no] maintenance-po* - Apply a named maintenance policy to the static SR Policy
preference - The preference value of this static policy
[no] segment-list + The segment list of a static policy
[no] segment-routin* + Segment routing v6 configuration
[no] shutdown - Administratively disable or enable the static policy
type - Configure SR policy type
The type of SR policy is SRv6 and the endpoint must be an IPv6 address. In the following example, the static SRv6 policy is configured on head-end PE-1 itself; therefore, the head-end is set to local and the binding SID cannot be configured as an IPv6 address for a local SRv6 policy:
*A:PE-1>conf>router>segment-routing>sr-policies>policy>srv6>binding-sid#
ip-address 2001:db8:aaaa:101:0:5000::
MAJOR: SRDB #1001 Not permitted - not allowed for Local srv6-policy
The only way to configure this binding SID 2001:db8:aaaa:101:0:5000:: in the static SRv6 policy on the local head-end is by specifying a function value from the static range, in this example function-value 5, as follows:
*A:PE-1>conf>router>segment-routing>sr-policies>policy>srv6>binding-sid#
locator "PE1-loc" function end-b6-encaps-red function-value 5
When no function value is specified, the binding SID is automatically allocated from the dynamic range using the SRv6 locator prefix "PE1-loc" associated with the Base router.
When a classic SRv6 locator is used, the only supported binding SID behavior is End.B6.Encaps.Red, which is End.B6.Encaps with reduced Segment Routing Header (SRH). The reduced SRH does not contain the first SID. This first SID is only placed in the destination address of the pushed IPv6 header. The End.B6.Encaps endpoint behavior is bound to an SRv6 policy with encapsulation and the binding SID is instantiated by SRv6, as follows:
*A:PE-1>conf>router>segment-routing>sr-policies>policy>srv6>binding-sid$
locator "PE1-loc" function
- locator <name> function {end-b6-encaps-red} [function-value <[1..1048575]>]
- no locator
<name> : [64 chars max]
In a similar way, when micro-segment SRv6 locators are used, the keyword to configure reduced encapsulation for the micro-binding SID is end-b6-encaps-red-next-csid; see further.
The following static SRv6 policy is configured on head-end PE-1:
# on head-end PE-1:
configure
router Base
segment-routing
sr-policies
static-policy "color-100-PE-1-PE-6" create
type srv6
color 100
endpoint 2001:db8::2:6
head-end local
segment-routing-v6
binding-sid 1 create
locator "PE1-loc" function end-b6-encaps-red
exit
exit
segment-list 1 create
segment 1 create
srv6-sid 2001:db8:aaaa:102:0:3000:: # End.X int-PE-2-PE-3
exit
segment 2 create
srv6-sid 2001:db8:aaaa:103:0:3000:: # End.X int-PE-3-PE-4
exit
segment 3 create
srv6-sid 2001:db8:aaaa:104:0:3000:: # End.X int-PE-4-PE-5
exit
no shutdown # enable segment list 1
exit
no shutdown # enable static SRv6 policy "color-100-PE-1-PE-6"
exit
no shutdown # enable SR policies context
- 2001:db8:aaaa:102:0:3000:: for the End.X of interface "int-PE-2-PE-3" on PE-2
- 2001:db8:aaaa:103:0:3000:: for the End.X of interface "int-PE-3-PE-4" on PE-3
- 2001:db8:aaaa:104:0:3000:: for the End.X of interface "int-PE-4-PE-5" on PE-4
The following list of adjacency SIDs on PE-2 shows that SID 2001:db8:aaaa:102:0:3000:: corresponds to the End.X SID of "int-PE-2-PE-3":
*A:PE-2# show router segment-routing-v6 base-routing-instance end-x
===============================================================================
Segment Routing v6 Base Routing Instance
===============================================================================
Locator
Type Function SID Status/InstId
SRH-mode Oper Func Interface Protection
-------------------------------------------------------------------------------
PE2-loc
End.X 2 2001:db8:aaaa:102:0:2000:: ok
PSP 2 int-PE-2-PE-1 Unprotected
End.X 3 2001:db8:aaaa:102:0:3000:: ok
PSP 3 int-PE-2-PE-3 Unprotected
-------------------------------------------------------------------------------
Auto-allocated End.X:
-------------------------------------------------------------------------------
End.X 17 2001:db8:aaaa:102:1:1000:: 0
PSP int-PE-2-PE-5 Unprotected
ISIS Level: L2 Mac Address: 02:1e:01:01:00:15 Nbr Sys Id: 1920.0000.2005
-------------------------------------------------------------------------------
===============================================================================
Legend: * - System allocated
The following shows the summary of the SR policies with only one static SRv6 policy configured and active on PE-1:
*A:PE-1# show router segment-routing sr-policies summary
===============================================================================
SR-Policies Summary
===============================================================================
Admin Status : Up
Ingress Stats : N/A
Egress Stats : N/A
Resv Label Blk Name:
TTM Preference : 14
SR-MPLS BSID Allocated: 0 SRV6 BSID Allocated : 1
Static Local Policies : 1 Active Static Lcl Pol : 1
Static Non Local Pol : 0
BGP Policies : 0 Active BGP Policies : 0
===============================================================================
The following command on PE-1 shows the static SR policy with color 100, head-end 0.0.0.0 for local, and endpoint 2001:db8::2:6. The binding SID 2001:db8:aaaa:101:1:2000:: is automatically allocated using the locator prefix "PE1-loc" associated with the Base router.
*A:PE-1# show router segment-routing sr-policies static
===============================================================================
SR-Policies Path
===============================================================================
-------------------------------------------------------------------------------
Type : srv6
Active : Yes Owner : static
Operational : Yes
Color : 100
Head : 0.0.0.0 Endpoint Addr : 2001:db8::2:6
RD : 0 Preference : 100
SRv6 BSID 1 : 2001:db8:aaaa:101:1:2000::
TunnelId : 917506 Age : 163
Origin ASN : 0 Origin : 0.0.0.0
NumReEval : 0 LastReEvalReason: none
NumActPathChange: 0 Last Change : 05/22/2024 08:59:48
Maintenance Plcy:
Ret Path BFD SID:
Path Segment Lists:
Segment-List : 1 Weight : 1
Num Segments : 3 Last Change : 05/22/2024 07:55:53
1 SRv6 SID : 2001:db8:aaaa:102:0:3000:: State : resolved-up
2 SRv6 SID : 2001:db8:aaaa:103:0:3000:: State : N/A
3 SRv6 SID : 2001:db8:aaaa:104:0:3000:: State : N/A
===============================================================================
The SRv6 policy tunnel on PE-1 with tunnel ID 917506 and preference 14 has color 100 and the SRv6 SIDs are 2001:db8:aaaa:102:0:3000::, 2001:db8:aaaa:103:0:3000::, and 2001:db8:aaaa:104:0:3000::, as follows:
*A:PE-1# show router tunnel-table ipv6 protocol srv6-policy detail
===============================================================================
Tunnel Table (Router: Base)
===============================================================================
Destination : 2001:db8::2:6/128
NextHop : fpe_1.a
NextHop Weight : 1
Tunnel Flags : has-color
Age : 00h02m43s Color : 100
CBF Classes : (Not Specified)
Owner : srv6-pol Encap : SRV6
Tunnel ID : 917506 Preference : 14
Tunnel SRV6 SID : 2001:db8:aaaa:102:0: Tunnel Metric : 0
3000::
: 2001:db8:aaaa:103:0:3000::
: 2001:db8:aaaa:104:0:3000::
Tunnel MTU : - Max Label Stack : 3
-------------------------------------------------------------------------------
Number of tunnel-table entries : 1
Number of tunnel-table entries with LFA : 0
===============================================================================
The FP tunnel table on PE-1 shows the SRv6 policy, including the SID list, as follows:
*A:PE-1# show router fp-tunnel-table 1 ipv6 protocol srv6-policy
===============================================================================
IPv6 Tunnel Table Display
Legend:
label stack is ordered from bottom-most to top-most
B - FRR Backup
===============================================================================
Destination Protocol Tunnel-ID
Lbl/SID
NextHop Intf/Tunnel
Lbl/SID (backup)
NextHop (backup)
-------------------------------------------------------------------------------
2001:db8::2:6/128 SRV6-Policy -
2001:db8:aaaa:104:0:3000::
2001:db8:aaaa:103:0:3000::
2001:db8:aaaa:102:0:3000::
0.140.1.1 pxc-1.b:1
-------------------------------------------------------------------------------
Total Entries : 1
-------------------------------------------------------------------------------
===============================================================================
EVPN VPWS Epipe-1 on PE-1 and PE-6
On PE-1, EVPN VPWS "Epipe-1" uses SRv6 transport and is configured with resolution fallback-tunnel-to-route-table, as follows:
# on PE-1:
configure
service
epipe 1 name "Epipe-1" customer 1 create
segment-routing-v6 1 create
locator "PE1-loc"
function
end-dx2
exit
exit
exit
bgp
route-target export target:64500:1 import target:64500:1
exit
bgp-evpn
local-attachment-circuit PE1 create
eth-tag 1
exit
remote-attachment-circuit PE6 create
eth-tag 6
exit
evi 1
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE1-loc" create
source-address 2001:db8::2:1
route-next-hop 2001:db8::2:1
resolution fallback-tunnel-to-route-table
no shutdown
exit
exit
sap 1/1/c10/1:1 create
description "SAP to CE-11"
no shutdown
exit
no shutdown
The following command shows the BGP EVPN SRv6 information for Epipe-1 on PE-1:
*A:PE-1# show service id "Epipe-1" bgp-evpn segment-routing-v6
===============================================================================
BGP EVPN Segment Routing v6 Information
===============================================================================
Admin State : Enabled Bgp Instance : 1
Srv6 Instance : 1
Default Locator : PE1-loc
Oper Group : (none)
Default Route Tag : 0x0
Source Address : 2001:db8::2:1
ECMP : 1
Force Vlan VC Fwd : Disabled
Next Hop Type : explicit
Next Hop Address : 2001:db8::2:1
Evi 3-byte Auto-RT : disabled
Route Resolution : fallback-tunnel-to-route-table
Force QinQ VC Fwd : none
MH Mode : network
Domain-Id : None
===============================================================================
The static SRv6 policy is identified by the color 100 (color:00:100), head-end 192.0.2.1 (system IPv4 address of PE-1), and endpoint 2001:db8::2:6 (system IPv6 address of PE-6). PE-6 exports color 100 in an export policy to match the color in the SRv6 policy on PE-1, as follows:
# on PE-6
configure
router Base
policy-options
begin
community "vsi-1"
members "target:64500:1"
exit
community "color-100"
members "color:00:100"
exit
policy-statement "epipe-1-export-c100"
default-action accept
community add "vsi-1" "color-100"
exit
exit
commit
exit
exit
service
epipe 1 name "Epipe-1" customer 1 create
segment-routing-v6 1 create
locator "PE6-loc"
function
end-dx2
exit
exit
exit
bgp
route-target import target:64500:1
vsi-export "epipe-1-export-c100"
exit
bgp-evpn
local-attachment-circuit PE6 create
eth-tag 6
exit
remote-attachment-circuit PE1 create
eth-tag 1
exit
evi 1
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE6-loc" create
source-address 2001:db8::2:6
route-next-hop 2001:db8::2:6
no shutdown
exit
exit
sap 1/1/c10/1:1 create
description "SAP to CE-16"
no shutdown
exit
no shutdown
exit
The following EVPN auto-discovery route received on PE-1 includes the community color:00:100 (color 100):
*A:PE-1# show router bgp routes evpn auto-disc rd 192.0.2.6:1 detail
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
Legend -
Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid
l - leaked, x - stale, > - best, b - backup, p - purge
Origin codes : i - IGP, e - EGP, ? - incomplete
===============================================================================
BGP EVPN Auto-Disc Routes
===============================================================================
Original Attributes
Network : n/a
Nexthop : 2001:db8::2:6
Path Id : None
From : 2001:db8::2:7
Res. Nexthop : fe80::24:1ff:fe01:1
Local Pref. : 100 Interface Name : int-PE-1-PE-6
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 10
Connector : None
Community : target:64500:1 color:00:100
l2-attribute:MTU: 1514 F: 0 C: 0 P: 0 B: 0
Cluster : 192.0.2.3
Originator Id : 192.0.2.6 Peer Router Id : 192.0.2.7
Origin : IGP
Flags : Used Valid Best
Route Source : Internal
AS-Path : No As-Path
EVPN type : AUTO-DISC
ESI : ESI-0
Tag : 6
Route Dist. : 192.0.2.6:1
MPLS Label : 504288
Route Tag : 0
Neighbor-AS : n/a
DB Orig Val : N/A Final Orig Val : N/A
Source Class : 0 Dest Class : 0
Add Paths Send : Default
Last Modified : 00h01m15s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:db8:aaaa:106::
Full Sid : 2001:db8:aaaa:106:7b1e::
Behavior : End.DX2 (21)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 48 Loc-Node-Len : 16
Func-Len : 20 Arg-Len : 0
Tpose-Len : 20 Tpose-offset : 64
---snip---
On PE-1, the BGP next hop for EVPN routes to 2001:db8::2:6 is resolved using the SRv6 policy with tunnel ID 917506, as follows:
*A:PE-1# show router bgp next-hop evpn 2001:db8::2:6 detail
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
-------------------------------------------------------------------------------
VPN Next Hop : 2001:db8::2:6
Autobind : gre/rtm srv6-policy
Labels : --
User-labels : 1
Admin-tag-policy : --
Strict-tunnel-tagging : N
Color : 100
UPA Trigger Next Hop : --
Locator : 2001:db8:aaaa:106::/64
Created : 00h02m26s
Last-modified : 00h02m26s
-------------------------------------------------------------------------------
Resolving Prefix : 2001:db8::2:6/128
Preference : 14 Metric : 0
Reference Count : 1 Owner : SRV6-POLICY
Fib Programmed : Y
Resolved Next Hop: 0.140.1.1
Egress Label : n/a TunnelId : 917506
Locator State : Resolved
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Next Hops : 1
===============================================================================
Resolution fallback
While PE-6 exports color 100, the corresponding SRv6 policy tunnel on PE-1 is available, as follows:
*A:PE-1# show router tunnel-table ipv6 protocol srv6-policy
===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref
Nexthop Color Metric
-------------------------------------------------------------------------------
2001:db8::2:6/128 srv6-pol SRV6 917506 14
fpe_1.a 100 0
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
L = Loop-Free Alternate (LFA) hop available
E = Inactive best-external BGP route
k = RIB-API or Forwarding Policy backup hop
===============================================================================
*A:PE-1# show router route-table ipv6 protocol srv6-policy
===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:101:1:2000::/128 Local SRV6-Pol* 00h05m27s 14
2001:db8::2:6 (tunneled:SRV6-Policy:917506) 1
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================
* indicates that the corresponding row element may have been truncated.
When PE-6 does not export color 100, there is no match with the SRv6 policy on PE-1, and PE-1 uses the route table instead of the tunnel table. The export policy on PE-6 is removed in Epipe-1, as follows:
# on PE-6:
configure
service
epipe "Epipe-1"
bgp 1
no vsi-export
route-target export target:64500:1 import target:64500:1
On PE-1, the BGP next hop for the EVPN routes to 2001:db8::2:6 is not resolved to an SRv6 policy tunnel anymore; the route table is used instead, as follows:
*A:PE-1# show router bgp next-hop 2001:db8::2:6 evpn service-id 1
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
VPN Next Hop Owner
Autobind FibProg Reason
Labels (User-labels) FlexAlgo Metric
Admin-tag-policy (strict-tunnel-tagging) Last Mod.
-------------------------------------------------------------------------------
2001:db8::2:6 GRE/RTM
gre/rtm srv6-policy Y
-- (1) -- 10
-- (N) 00h01m09s
-------------------------------------------------------------------------------
Next Hops : 1
===============================================================================
When the SRv6 resolution is reconfigured to the tunnel table only instead of the fallback, the next hop cannot be resolved anymore, as follows:
# on PE-1:
configure
service
epipe "Epipe-1"
bgp-evpn
segment-routing-v6 bgp 1
resolution tunnel-table
The BGP next hop cannot be resolved and the reason is a color mismatch, as follows:
*A:PE-1# show router bgp next-hop 2001:db8::2:6 evpn service-id 1
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
VPN Next Hop Owner
Autobind FibProg Reason
Labels (User-labels) FlexAlgo Metric
Admin-tag-policy (strict-tunnel-tagging) Last Mod.
-------------------------------------------------------------------------------
2001:db8::2:6 --
srv6-policy N ColorMismatch
-- (1) --
-- (N) 00h00m06s
-------------------------------------------------------------------------------
Next Hops : 1
===============================================================================
When PE-6 exports color 100 again, the BGP next hop can be resolved using the SRv6 policy.
EVPN VPWS with BGP-signaled SRv6 policy on head-end PE-6
EVPN VPWS using SRv6 policy with color 200 from PE-6 to PE-1 shows the segments in the segment list of the BGP-signaled SRv6 policy on head-end PE-6. This SRv6 policy is configured on the controller, imported in the BGP RIB, and advertised using BGP. The SIDs in the segment list of the SRv6 policy are the micro-segment adjacency SID (uA SID) for the interface "int-PE-5-PE-4" on PE-5, the uA SID for the interface "int-PE-4-PE-3" on PE-4, and the uA SID for the interface "int-PE-3-PE-2" on PE-3. These micro-SIDs are configured with behavior and structure information. This information must only be configured when the SRv6 SID is a micro-SID. In fact, the allowed behaviors which describe the SRv6 SID are only micro-segment behaviors. By configuring this information, the user indirectly provides the head-end with necessary information to apply a compression algorithm to the received micro-SIDs. The algorithm is designed to reduce the Segment Routing Header (SRH) size. Details on what behavior and structure values to configure based on the SRv6 SID, and on how the algorithm processes these are described in the 7750 SR and 7950 XRS Segment Routing and PCE User Guide.
Static SRv6 policy on the controller
The following SRv6 policy with micro-segment SIDs is configured on the controller:
# on controller:
configure
router Base
segment-routing
sr-policies
static-policy "color200-PE-6-PE-1-u" create
type srv6
color 200
distinguisher 200006001 # unique value
endpoint 2001:db8::2:1
head-end 192.0.2.6
segment-routing-v6
binding-sid 1 create
ip-address 2001:bbbb:6:4005:: # available IPv6 address
exit
exit
segment-list 1 create
segment 1 create
srv6-sid 2001:bbbb:5:4000:: # uA for "int-PE-5-PE-4"
behavior-and-structure behavior end-x-next-csid block-length 32 node-length 16 function-length 16
exit
segment 2 create
srv6-sid 2001:bbbb:4:4000:: # uA for "int-PE-4-PE-3"
behavior-and-structure behavior end-x-next-csid block-length 32 node-length 16 function-length 16
exit
segment 3 create
srv6-sid 2001:bbbb:3:4000:: # uA for "int-PE-3-PE-2"
behavior-and-structure behavior end-x-next-csid block-length 32 node-length 16 function-length 16
exit
no shutdown
exit
no shutdown
exit
no shutdown
exit
no shutdown
exit
The distinguisher must be unique and is used as a differentiator. If the head-end PE receives two policies with the same color and endpoint, the path with the lowest distinguisher value is chosen.
The head-end is the IPv4 system address of PE-6; the endpoint is the IPv6 system address of PE-1.
The binding SID is an available IPv6 address from the static function entries on head-end PE-6.
At the configuration point, the micro-binding SID must be configured in the <block><uN><uB6> format, because the head-end only accepts this format. The head-end then programs two route entries for each local SID: <block><uN><uB6>::/block-length+32 and <block><uB6>::/block-length+16, both pointing to the SRv6 policy.
The controller advertises this SRv6 policy using BGP. The head-end PE-6 must have the SR policies context enabled, as follows:
# on head-end PE-6:
configure
router Base
segment-routing
sr-policies
no shutdown # enable context for (BGP-signaled) SRv6 policies
EVPN VPWS Epipe-2 on PE-1 and PE-6
PE-1 exports color 200 (color:00:200) in Epipe-2, as follows:
# on PE-1:
configure
router Base
policy-options
begin
community "vsi-2"
members "target:64500:2"
exit
community "color-200"
members "color:00:200"
exit
policy-statement "epipe-2-export-c200"
default-action accept
community add "vsi-2" "color-200"
exit
exit
commit
exit
exit
service
epipe 2 name "Epipe-2" customer 1 create
segment-routing-v6 1 create
micro-segment-locator "PE1-mloc"
function
udx2 5 # static value (SRLB, label-block)
exit
exit
exit
bgp 1
route-target import target:64500:2
vsi-export "epipe-2-export-c200"
exit
bgp-evpn
local-attachment-circuit PE1 bgp 1 create
eth-tag 1
exit
remote-attachment-circuit PE6 bgp 1 create
eth-tag 6
exit
evi 2
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE1-mloc" create
source-address 2001:db8::2:1
route-next-hop 2001:db8::2:1
no shutdown
exit
exit
sap 1/1/c10/1:2 create
description "SAP to CE-21"
no shutdown
exit
no shutdown
On PE-6, Epipe-2 is configured as follows:
# on head-end PE-6:
configure
service
epipe 2 name "Epipe-2" customer 1 create
segment-routing-v6 1 create
micro-segment-locator "PE6-mloc"
function
udx2 5 # static value (SRLB, label-block)
exit
exit
exit
bgp 1
route-target export target:64500:2 import target:64500:2
exit
bgp-evpn
local-attachment-circuit PE6 bgp 1 create
eth-tag 6
exit
remote-attachment-circuit PE1 bgp 1 create
eth-tag 1
exit
evi 2
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE6-mloc" create
source-address 2001:db8::2:6
route-next-hop 2001:db8::2:6
resolution fallback-tunnel-to-route-table
no shutdown
exit
exit
sap 1/1/c10/1:2 create
description "SAP to CE-26"
no shutdown
exit
no shutdown
Verification
Head-end PE-6 receives one BGP-signaled SRv6 policy:
*A:PE-6# show router bgp summary all
===============================================================================
BGP Summary
===============================================================================
Legend : D - Dynamic Neighbor
===============================================================================
Neighbor
Description
ServiceId AS PktRcvd InQ Up/Down State|Rcv/Act/Sent (Addr Family)
PktSent OutQ
-------------------------------------------------------------------------------
2001:db8::2:7
Def. Inst 64500 18 0 00h04m45s 2/2/2 (Evpn)
17 0 1/1/0 (SrPolicyIPv6)
-------------------------------------------------------------------------------
The following command shows the BGP-signaled SRv6 policy on head-end PE-6. The binding SID value is 2001:bbbb:4005:: and is derived from the binding SID 2001:bbbb:6:4005:: that was configured in the static SRv6 policy on the controller.
*A:PE-6# show router segment-routing sr-policies bgp
===============================================================================
SR-Policies Path
===============================================================================
-------------------------------------------------------------------------------
Type : srv6
Active : Yes Owner : bgp
Operational : Yes
Color : 200
Head : 0.0.0.0 Endpoint Addr : 2001:db8::2:1
RD : 200006001 Preference : 100
SRv6 BSID 1 : 2001:bbbb:4005::
TunnelId : 917506 Age : 82
Origin ASN : 64500 Origin : 2001:db8::2:8
NumReEval : 0 LastReEvalReason: none
NumActPathChange: 0 Last Change : 06/12/2024 07:54:57
Maintenance Plcy:
Ret Path BFD SID:
Path Segment Lists:
Segment-List : 1 Weight : 1
Num Segments : 3 Last Change : 06/12/2024 07:19:06
1 SRv6 SID : 2001:bbbb:5:4000:: State : resolved-up
Behavior & Structure
Behavior : 52 Block Length : 32
Node Length: 16 Function Length : 16
2 SRv6 SID : 2001:bbbb:4:4000:: State : N/A
Behavior & Structure
Behavior : 52 Block Length : 32
Node Length: 16 Function Length : 16
3 SRv6 SID : 2001:bbbb:3:4000:: State : N/A
Behavior & Structure
Behavior : 52 Block Length : 32
Node Length: 16 Function Length : 16
===============================================================================
On PE-6, the SID 2001:bbbb:6:4005:: has the value of the binding SID that was configured in the static SRv6 policy on the controller, as follows:
*A:PE-6# show router segment-routing-v6 micro-segment-local-sid
===============================================================================
Micro Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Micro Segment Locator
Context
-------------------------------------------------------------------------------
2001:bbbb:6:: uN 6
PE6-mloc
None
2001:bbbb:6:4000:: uA 16384
PE6-mloc
Base
2001:bbbb:6:4004:: uDX2 16388
PE6-mloc
SvcId: 2 Name: Epipe-2
2001:bbbb:6:4005:: End.b6.encaps* 16389
PE6-mloc
None
2001:bbbb:6:4010:: uA 16400
PE6-mloc
None
-------------------------------------------------------------------------------
SIDs : 5
-------------------------------------------------------------------------------
===============================================================================
* indicates that the corresponding row element may have been truncated.
The following command shows the details of the SRv6 policy tunnel on head-end PE-6:
*A:PE-6# show router tunnel-table ipv6 protocol srv6-policy detail
===============================================================================
Tunnel Table (Router: Base)
===============================================================================
Destination : 2001:db8::2:1/128
NextHop : fpe_1.a
NextHop Weight : 1
Tunnel Flags : has-color
Age : 00h01m22s Color : 200
CBF Classes : (Not Specified)
Owner : srv6-pol Encap : SRV6
Tunnel ID : 917506 Preference : 14
Tunnel SRV6 SID : 2001:bbbb:5:4000:4:4 Tunnel Metric : 0
000:3:4000
Tunnel MTU : - Max Label Stack : 3
-------------------------------------------------------------------------------
Number of tunnel-table entries : 1
Number of tunnel-table entries with LFA : 0
===============================================================================
The tunnel SRv6 SID in the preceding output shows that the micro-segment SIDs were compressed. The three micro-SIDs (2001:bbbb:5:4000::, 2001:bbbb:4:4000::, and 2001:bbbb:3:4000::) were compressed by the head-end to form a single container: 2001:bbbb:5:4000:4:4000:3:4000. This compression was, in part, possible because the three micro-SIDs belong to the same SID block.
The SRv6 policy tunnel to 2001:db8::2:1 with color 200 has tunnel ID 917506 on head-end PE-6. The following IPv6 routes use the SRv6 policy tunnel with ID 917506:
*A:PE-6# show router route-table ipv6 protocol srv6-policy
===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
2001:bbbb:6:4005::/64 Local SRV6-Pol* 00h03m35s 14
2001:db8::2:1 (tunneled:SRV6-Policy:917506) 1
2001:bbbb:4005::/48 Local SRV6-Pol* 00h03m35s 14
2001:db8::2:1 (tunneled:SRV6-Policy:917506) 1
-------------------------------------------------------------------------------
No. of Routes: 2
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================
* indicates that the corresponding row element may have been truncated.
The following command shows that the BGP next hop 2001:db8::2:1 is resolved to an SRv6 policy with color 200:
*A:PE-6# show router bgp next-hop evpn 2001:db8::2:1 detail
===============================================================================
BGP Router ID:192.0.2.6 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
---snip--- ## VPN next hop for Epipe-1 (no SRv6 policy; only GRE/RTM)
-------------------------------------------------------------------------------
VPN Next Hop : 2001:db8::2:1
Autobind : gre/rtm srv6-policy
Labels : --
User-labels : 1
Admin-tag-policy : --
Strict-tunnel-tagging : N
Color : 200
UPA Trigger Next Hop : --
Locator : 2001:bbbb:1::/48
Created : 00h02m52s
Last-modified : 00h02m09s
-------------------------------------------------------------------------------
Resolving Prefix : 2001:db8::2:1/128
Preference : 14 Metric : 0
Reference Count : 1 Owner : SRV6-POLICY
Fib Programmed : Y
Resolved Next Hop: 0.140.1.1
Egress Label : n/a TunnelId : 917506
Locator State : Resolved
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Next Hops : 2
===============================================================================
The following command on PE-6 shows the SRv6 destinations in Epipe-2, where 2001:bbbb:1:4004:: is the uDX2 SID on endpoint PE-1:
*A:PE-6# show service id "Epipe-2" segment-routing-v6 destinations
===============================================================================
TEP, SID (Instance 1)
===============================================================================
TEP Address Segment Id
-------------------------------------------------------------------------------
2001:db8::2:1 2001:bbbb:1:4004::
-------------------------------------------------------------------------------
Number of TEP, SID: 1
-------------------------------------------------------------------------------
===============================================================================
===============================================================================
Segment Routing v6 Ethernet Segment Dest (Instance 1)
===============================================================================
Eth SegId Num. Macs Last Update
-------------------------------------------------------------------------------
No Matching Entries
===============================================================================
EVPN VPLS
EVPN VPLS with static SRv6 policy on head-end PE-1
EVPN VPLS using SRv6 policy with color 300 from PE-1 to PE-6 shows the uA SIDs in the segment list of a static SRv6 with color 300 on head-end PE-1.
Static SRv6 policy
On head-end PE-1, a static SRv6 policy is configured with color 300 and endpoint 2001:db8::2:6, as follows:
# on head-end PE-1:
configure
router Base
segment-routing
sr-policies
static-policy "color-300-PE-1-PE-6-u" create
type srv6
color 300
endpoint 2001:db8::2:6
head-end local
segment-routing-v6
binding-sid 1 create
micro-segment-locator "PE1-mloc" function end-b6-encaps-red-next-csid
exit
exit
segment-list 1 create
segment 1 create
srv6-sid 2001:bbbb:2:4001:: # uA int-PE-2-PE-3
behavior-and-structure behavior end-x-next-csid block-length 32 node-length 16 function-length 16
exit
segment 2 create
srv6-sid 2001:bbbb:3:4001:: # uA int-PE-3-PE-4
behavior-and-structure behavior end-x-next-csid block-length 32 node-length 16 function-length 16
exit
segment 3 create
srv6-sid 2001:bbbb:4:4001:: # uA int-PE-4-PE-5
behavior-and-structure behavior end-x-next-csid block-length 32 node-length 16 function-length 16
exit
no shutdown
exit
no shutdown
exit
no shutdown
exit
exit
exit
EVPN VPLS
On PE-1, EVPN VPLS "VPLS-3" is configured as follows:
# on PE-1:
configure
service
vpls 3 name "VPLS-3" customer 1 create
segment-routing-v6 1 create
micro-segment-locator "PE1-mloc"
function
udt2u
udt2m
exit
exit
exit
bgp
route-target export target:64500:3 import target:64500:3
exit
bgp-evpn
evi 3
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE1-mloc" create
source-address 2001:db8::2:1
route-next-hop 2001:db8::2:1
resolution fallback-tunnel-to-route-table
no shutdown
exit
exit
stp
shutdown
exit
sap 1/1/c10/1:3 create
description "SAP to CE-31"
no shutdown
exit
no shutdown
exit
PE-6 exports color 300 which matches the color in the static SRv6 policy "color-300-PE-1-PE-6-u" on PE-1, as follows:
# on PE-6:
configure
router Base
policy-options
begin
community "vsi-3"
members "target:64500:3"
exit
community "color-300"
members "color:00:300"
exit
policy-statement "vpls-3-export-c300"
default-action accept
community add "vsi-3" "color-300"
exit
exit
commit
exit
exit
service
vpls 3 name "VPLS-3" customer 1 create
segment-routing-v6 1 create
micro-segment-locator "PE6-mloc"
function
udt2u
udt2m
exit
exit
exit
bgp
route-target import target:64500:3
vsi-export "vpls-3-export-c300"
exit
bgp-evpn
evi 3
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE6-mloc" create
source-address 2001:db8::2:6
route-next-hop 2001:db8::2:6
no shutdown
exit
exit
stp
shutdown
exit
sap 1/1/c10/1:3 create
description "SAP to CE-36"
no shutdown
exit
no shutdown
Verification
PE-1 receives the following IMET route from PE-6. The color:00:300 community matches the color 300 in the static SRv6 policy.
*A:PE-1# show router bgp routes evpn incl-mcast rd 192.0.2.6:3 detail
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
Legend -
Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid
l - leaked, x - stale, > - best, b - backup, p - purge
Origin codes : i - IGP, e - EGP, ? - incomplete
===============================================================================
BGP EVPN Inclusive-Mcast Routes
===============================================================================
Original Attributes
Network : n/a
Nexthop : 2001:db8::2:6
Path Id : None
From : 2001:db8::2:7
Res. Nexthop : fe80::24:1ff:fe01:1
Local Pref. : 100 Interface Name : int-PE-1-PE-6
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 10
Connector : None
Community : target:64500:3 color:00:300
Cluster : 192.0.2.7
Originator Id : 192.0.2.6 Peer Router Id : 192.0.2.7
Origin : IGP
Flags : Used Valid Best
Route Source : Internal
AS-Path : No As-Path
EVPN type : INCL-MCAST
Tag : 0
Originator IP : 2001:db8::2:6
Route Dist. : 192.0.2.6:3
Route Tag : 0
Neighbor-AS : n/a
DB Orig Val : N/A Final Orig Val : N/A
Source Class : 0 Dest Class : 0
Add Paths Send : Default
Last Modified : 00h00m35s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:bbbb:6::
Full Sid : 2001:bbbb:6:4012::
Behavior : End.uDT2M (68)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 32 Loc-Node-Len : 16
Func-Len : 16 Arg-Len : 16
Tpose-Len : 16 Tpose-offset : 48
-------------------------------------------------------------------------------
PMSI Tunnel Attributes :
Tunnel-type : Ingress Replication
Flags : Type: RNVE(0) BM: 0 U: 0 Leaf: not required
MPLS Label : 4198912
Tunnel-Endpoint: 2001:db8::2:6
-------------------------------------------------------------------------------
---snip---
When traffic has been sent between CE-31 and CE-36, the forwarding database (FDB) on PE-1 is as follows:
*A:PE-1# show service id "VPLS-3" fdb detail
===============================================================================
Forwarding Database, Service 3
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
3 00:00:5e:00:53:31 sap:1/1/c10/1:3 L/90 06/12/24 08:01:44
3 00:00:5e:00:53:36 srv6-1: Evpn 06/12/24 08:01:51
2001:db8::2:6
2001:bbbb:6:4011::
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
MAC address 00:00:5e:00:53:36 from CE-36 can be reached through an SRv6 policy tunnel. The following IPv6 tunnel table shows that the SRv6 policy tunnel to 2001:db8::2:6/128 with color 300 has ID 917508:
*A:PE-1# show router tunnel-table ipv6 protocol srv6-policy
===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref
Nexthop Color Metric
-------------------------------------------------------------------------------
2001:db8::2:6/128 srv6-pol SRV6 917506 14
fpe_1.a 100 0
2001:db8::2:6/128 srv6-pol SRV6 917508 14
fpe_1.a 300 0
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
L = Loop-Free Alternate (LFA) hop available
E = Inactive best-external BGP route
k = RIB-API or Forwarding Policy backup hop
===============================================================================
The following command shows the micro-segment local SIDs. Besides the node SID uN and the adjacency SID uA, SIDs for different services are listed. SID 2001:bbbb:1:4004:: with uDX2 function applies to EVPN VPWS Epipe-2; SID 2001:bbbb:1:4011:: with uDT2U function and SID 2001:bbbb:1:4012:: with uDT2M function apply to EVPN VPLS-3. The End.B6.Encaps.Red SID 2001:bbbb:1:43e8:: is the binding SID for the SRv6 policy "color-300-PE-1-PE-6-u" which is used in VPLS-3.
*A:PE-1# show router segment-routing-v6 micro-segment-local-sid
===============================================================================
Micro Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Micro Segment Locator
Context
-------------------------------------------------------------------------------
2001:bbbb:1:: uN 1
PE1-mloc
None
2001:bbbb:1:4000:: uA 16384
PE1-mloc
Base
2001:bbbb:1:4004:: uDX2 16388
PE1-mloc
SvcId: 2 Name: Epipe-2
2001:bbbb:1:4010:: uA 16400
PE1-mloc
None
2001:bbbb:1:4011:: uDT2U 16401
PE1-mloc
SvcId: 3 Name: VPLS-3
2001:bbbb:1:4012:: uDT2M 16402
PE1-mloc
SvcId: 3 Name: VPLS-3
2001:bbbb:1:43e8:: End.b6.encaps* 17384
PE1-mloc
None
-------------------------------------------------------------------------------
SIDs : 7
-------------------------------------------------------------------------------
===============================================================================
* indicates that the corresponding row element may have been truncated.
The IPv6 route table shows two routes that use the SRv6 policy tunnel with tunnel ID 917508:
*A:PE-1# show router route-table ipv6 protocol srv6-policy
===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:101:1:2000::/128 Local SRV6-Pol* 00h31m36s 14
2001:db8::2:6 (tunneled:SRV6-Policy:917506) 1
2001:bbbb:1:43e8::/64 Local SRV6-Pol* 00h04m41s 14
2001:db8::2:6 (tunneled:SRV6-Policy:917508) 1
2001:bbbb:43e8::/48 Local SRV6-Pol* 00h04m41s 14
2001:db8::2:6 (tunneled:SRV6-Policy:917508) 1
-------------------------------------------------------------------------------
No. of Routes: 3
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================
* indicates that the corresponding row element may have been truncated.
EVPN VPLS with BGP-signaled SRv6 policy on head-end PE-6
EVPN VPLS using SRv6 policy with color 400 from PE-6 to PE-1 shows the End.X SIDs in the segment list of a BGP-signaled SRv6 policy on head-end PE-6. This SRv6 policy is configured on the controller, imported in the BGP RIB, and advertised as an SRv6 policy route in BGP.
BGP-signaled SRv6 policy
The following SRv6 policy with head-end 192.0.2.6 is configured on the controller and is advertised as an SRv6 policy:
# on controller:
configure
router Base
segment-routing
sr-policies
static-policy "color-400-PE-6-PE-1" create
type srv6
color 400
distinguisher 400006001
endpoint 2001:db8::2:1
head-end 192.0.2.6
segment-routing-v6
binding-sid 1 create
ip-address 2001:db8:aaaa:106:0:9000::
exit
exit
segment-list 1 create
segment 1 create
srv6-sid 2001:db8:aaaa:105:0:2000:: # "int-PE-5-PE-4"
exit
segment 2 create
srv6-sid 2001:db8:aaaa:104:0:2000:: # "int-PE-4-PE-3"
exit
segment 3 create
srv6-sid 2001:db8:aaaa:103:0:2000:: # "int-PE-3-PE-2"
exit
no shutdown
exit
no shutdown
exit
no shutdown
EVPN VPLS on PE-1 and PE-6
The EVPN VPLS "VPLS-4" is configured as follows. PE-1 exports color 400 which matches the color in the policy "color-400-PE-6-PE-1" on head-end PE-6:
# on PE-1:
configure
router Base
policy-options
begin
community "vsi-4"
members "target:64500:4"
exit
community "color-400"
members "color:00:400"
exit
policy-statement "vpls-4-export-c400"
default-action accept
community add "vsi-4" "color-400"
exit
exit
commit
exit
exit
service
vpls 4 name "VPLS-4" customer 1 create
segment-routing-v6 1 create
locator "PE1-loc"
function
end-dt2u
end-dt2m
exit
exit
exit
bgp
route-target import target:64500:4
vsi-export "vpls-4-export-c400"
exit
bgp-evpn
evi 4
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE1-loc" create
source-address 2001:db8::2:1
route-next-hop 2001:db8::2:1
no shutdown
exit
exit
stp
shutdown
exit
sap 1/1/c10/1:4 create
description "SAP to CE-41"
no shutdown
exit
no shutdown
On head-end PE-6, only the route target is exported, not the color. The EVPN VPLS "VPLS-4" is configured with SRv6 resolution fallback from the tunnel table to the route table, as follows:
# on PE-6:
configure
service
vpls 4 name "VPLS-4" customer 1 create
segment-routing-v6 1 create
locator "PE6-loc"
function
end-dt2u
end-dt2m
exit
exit
exit
bgp
route-target export target:64500:4 import target:64500:4
exit
bgp-evpn
evi 4
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE6-loc" create
source-address 2001:db8::2:6
route-next-hop 2001:db8::2:6
resolution fallback-tunnel-to-route-table
no shutdown
exit
exit
stp
shutdown
exit
sap 1/1/c10/1:4 create
description "SAP to CE-46"
no shutdown
exit
no shutdown
Verification
On head-end PE-6, the BGP-signaled SRv6 with color 400 is as follows:
*A:PE-6# show router segment-routing sr-policies bgp color 400
===============================================================================
SR-Policies Path
===============================================================================
-------------------------------------------------------------------------------
Type : srv6
Active : Yes Owner : bgp
Operational : Yes
Color : 400
Head : 0.0.0.0 Endpoint Addr : 2001:db8::2:1
RD : 400006001 Preference : 100
SRv6 BSID 1 : 2001:db8:aaaa:106:0:9000::
TunnelId : 917507 Age : 73
Origin ASN : 64500 Origin : 2001:db8::2:8
NumReEval : 0 LastReEvalReason: none
NumActPathChange: 0 Last Change : 05/22/2024 09:26:22
Maintenance Plcy:
Ret Path BFD SID:
Path Segment Lists:
Segment-List : 1 Weight : 1
Num Segments : 3 Last Change : 05/22/2024 07:56:35
1 SRv6 SID : 2001:db8:aaaa:105:0:2000:: State : resolved-up
2 SRv6 SID : 2001:db8:aaaa:104:0:2000:: State : N/A
3 SRv6 SID : 2001:db8:aaaa:103:0:2000:: State : N/A
===============================================================================
The second SRv6 policy tunnel in the IPv6 tunnel table has color 400:
*A:PE-6# show router tunnel-table ipv6 protocol srv6-policy
===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref
Nexthop Color Metric
-------------------------------------------------------------------------------
2001:db8::2:1/128 srv6-pol SRV6 917506 14
fpe_1.a 200 0
2001:db8::2:1/128 srv6-pol SRV6 917507 14
fpe_1.a 400 0
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
L = Loop-Free Alternate (LFA) hop available
E = Inactive best-external BGP route
k = RIB-API or Forwarding Policy backup hop
===============================================================================
The BGP next hop for EVPN routes to endpoint 2001:db8::2:1 is resolved using the SRv6 policy tunnel with color 400:
*A:PE-6# show router bgp next-hop evpn 2001:db8::2:1 detail
===============================================================================
BGP Router ID:192.0.2.6 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
-------------------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
VPN Next Hop : 2001:db8::2:1
Autobind : gre/rtm srv6-policy
Labels : --
User-labels : 1
Admin-tag-policy : --
Strict-tunnel-tagging : N
Color : 400
UPA Trigger Next Hop : --
Locator : 2001:db8:aaaa:101::/64
Created : 00h03m06s
Last-modified : 00h02m30s
-------------------------------------------------------------------------------
Resolving Prefix : 2001:db8::2:1/128
Preference : 14 Metric : 0
Reference Count : 2 Owner : SRV6-POLICY
Fib Programmed : Y
Resolved Next Hop: 0.140.1.1
Egress Label : n/a TunnelId : 917507
Locator State : Resolved
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Next Hops : 4
===============================================================================
EVPN IFL
EVPN IFL using SRv6 policy with color 500 from PE-1 to PE-6 shows the micro-segment adjacency SID (uA) for the interface "int-PE-2-PE-5" on PE-2, which is the only segment in the segment list of a static SRv6 policy that is configured on head-end PE-1.
Static SRv6 policy on PE-1
On head-end PE-1, the SRv6 policy with color 500 is configured as follows:
# on PE-1:
configure
router Base
segment-routing
sr-policies
static-policy "color-500-PE-1-PE-6-u" create
type srv6
color 500
endpoint 2001:db8::2:6
head-end local
segment-routing-v6
binding-sid 1 create
micro-segment-locator "PE1-mloc" function end-b6-encaps-red-next-csid
exit
exit
segment-list 1 create
segment 1 create
srv6-sid 2001:bbbb:2:4002:: # uA for "int-PE-2-PE-5"
behavior-and-structure behavior end-x-next-csid block-length 32 node-length 16 function-length 16
exit
no shutdown
exit
no shutdown
exit
no shutdown
VPRN-5 with EVPN IFL
VPRN-5 is configured with BGP EVPN, as follows:
# on PE-1:
configure
service
vprn 5 name "VPRN-5" customer 1 create
autonomous-system 64496
interface "lo1" create
address 172.16.105.1/24
ipv6
address 2001:db8::105:1/120
exit
loopback
exit
segment-routing-v6 1 create
micro-segment-locator "PE1-mloc"
function
udt46
exit
exit
exit
bgp-evpn
segment-routing-v6 bgp 1
resolution fallback-tunnel-to-route-table
route-distinguisher 192.0.2.1:5
source-address 2001:db8::2:1
srv6-instance 1 default-locator "PE1-mloc"
vrf-target target:64500:5
no shutdown
exit
exit
no shutdown
Endpoint PE-6 exports color 500. The configuration on PE-6 is as follows:
# on PE-6:
configure
router Base
policy-options
begin
community "vrf-5"
members "target:64500:5"
exit
community "color-500"
members "color:00:500"
exit
policy-statement "vrf-5-export-c500"
default-action accept
community add "vrf-5" "color-500"
exit
exit
policy-statement "vrf-5-import"
entry 10
from
community "vrf-5"
exit
action accept
exit
exit
exit
commit
exit
exit
service
vprn 5 name "VPRN-5" customer 1 create
autonomous-system 64497
interface "lo1" create
address 172.16.155.6/24
ipv6
address 2001:db8::155:6/120
exit
loopback
exit
segment-routing-v6 1 create
micro-segment-locator "PE6-mloc"
function
udt46
exit
exit
exit
bgp-evpn
segment-routing-v6 bgp 1
route-distinguisher 192.0.2.1:5
source-address 2001:db8::2:6
srv6-instance 1 default-locator "PE6-mloc"
vrf-import "vrf-5-import"
vrf-export "vrf-5-export-c500"
no shutdown
exit
exit
no shutdown
The BGP configuration in the Base router is modified to ensure that IPv6 next hops are advertised for EVPN routes, as described in the BGP configuration section.
Verification
PE-1 receives the EVPN IP prefix 172.16.155.0/24 and the EVPN IPv6 prefix 2001:db8::155:0/120 from PE-6, as follows:
*A:PE-1# show router bgp routes evpn ip-prefix
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
Legend -
Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid
l - leaked, x - stale, > - best, b - backup, p - purge
Origin codes : i - IGP, e - EGP, ? - incomplete
===============================================================================
BGP EVPN IP-Prefix Routes
===============================================================================
Flag Route Dist. Prefix
Tag Gw Address
NextHop
Label
ESI
-------------------------------------------------------------------------------
u*>i 192.0.2.1:5 172.16.155.0/24
0 00:00:00:00:00:00
2001:db8::2:6
16403
ESI-0
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
*A:PE-1# show router bgp routes evpn ipv6-prefix
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
Legend -
Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid
l - leaked, x - stale, > - best, b - backup, p - purge
Origin codes : i - IGP, e - EGP, ? - incomplete
===============================================================================
BGP EVPN IPv6-Prefix Routes
===============================================================================
Flag Route Dist. Prefix
Tag Gw Address
NextHop
Label
ESI
-------------------------------------------------------------------------------
u*>i 192.0.2.1:5 2001:db8::155:0/120
0 00:00:00:00:00:00
2001:db8::2:6
16403
ESI-0
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
In this example, multiple services use different SRv6 policies and the list of micro-segment local SIDs for VPRN-5 shows multiple SRv6 SIDs for the services. On head-end PE-1, the list of micro-segment local SIDs shows the uDT46 function and the End.B6.Encaps.Red function for two different SRv6 policy tunnels: SID 2001:bbbb:1:43e9:: corresponds to the SRv6 policy tunnel for color 500; SID 2001:bbbb:1:43e8:: corresponds to the SRv6 policy tunnel for color 300 and is not used for VPRN-5.
*A:PE-1# show router segment-routing-v6 micro-segment-local-sid context "VPRN-5"
===============================================================================
Micro Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Micro Segment Locator
Context
-------------------------------------------------------------------------------
2001:bbbb:1:4013:: uDT46 16403
PE1-mloc
SvcId: 5 Name: VPRN-5
2001:bbbb:1:43e8:: End.b6.encaps* 17384
PE1-mloc
None
2001:bbbb:1:43e9:: End.b6.encaps* 17385
PE1-mloc
None
-------------------------------------------------------------------------------
SIDs : 3
-------------------------------------------------------------------------------
===============================================================================
* indicates that the corresponding row element may have been truncated.
If services use different SRv6 policies, the next hop command for the service shows multiple SRv6 policies for the services, but the traffic flow uses the right SRv6 policy with the corresponding color.
*A:PE-1# show router bgp next-hop 2001:db8::2:6 evpn detail
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
-------------------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
VPN Next Hop : 2001:db8::2:6
Autobind : gre/rtm srv6-policy
Labels : --
User-labels : 1
Admin-tag-policy : --
Strict-tunnel-tagging : N
Color : 100
UPA Trigger Next Hop : --
Locator : 2001:db8:aaaa:106::/64
Created : 00h04m16s
Last-modified : 00h04m16s
-------------------------------------------------------------------------------
Resolving Prefix : 2001:db8::2:6/128
Preference : 14 Metric : 0
Reference Count : 1 Owner : SRV6-POLICY
Fib Programmed : Y
Resolved Next Hop: 0.140.1.1
Egress Label : n/a TunnelId : 917506
Locator State : Resolved
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
VPN Next Hop : 2001:db8::2:6
Autobind : gre/rtm srv6-policy
Labels : --
User-labels : 1
Admin-tag-policy : --
Strict-tunnel-tagging : N
Color : 300
UPA Trigger Next Hop : --
Locator : 2001:bbbb:6::/48
Created : 00h04m16s
Last-modified : 00h04m16s
-------------------------------------------------------------------------------
Resolving Prefix : 2001:db8::2:6/128
Preference : 14 Metric : 0
Reference Count : 1 Owner : SRV6-POLICY
Fib Programmed : Y
Resolved Next Hop: 0.140.1.1
Egress Label : n/a TunnelId : 917508
Locator State : Resolved
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
VPN Next Hop : 2001:db8::2:6
Autobind : gre srv6-policy
Labels : --
User-labels : 2
Admin-tag-policy : --
Strict-tunnel-tagging : N
Color : 500
UPA Trigger Next Hop : --
Locator : 2001:bbbb:6::/48
Created : 00h04m16s
Last-modified : 00h04m16s
-------------------------------------------------------------------------------
Resolving Prefix : 2001:db8::2:6/128
Preference : 14 Metric : 0
Reference Count : 2 Owner : SRV6-POLICY
Fib Programmed : Y
Resolved Next Hop: 0.140.1.1
Egress Label : n/a TunnelId : 917509
Locator State : Resolved
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Next Hops : 5
===============================================================================
IP VPN
IP VPN using SRv6 policy with color 600 from PE-1 to PE-6 shows a combination of classic adjacency SIDs (End.X) and micro-segment adjacency SIDs (uA) in the segment list of a static SRv6 policy that is configured on head-end PE-1.
The BGP configuration for IP VPN is described in the BGP configuration section.
Static SRv6 policy
On head-end 1, the following SRv6 policy is configured with color 600 and a segment list containing two micro-segment SRv6 SIDs and one classic SRv6 SID.
# on PE-1:
configure
router Base
segment-routing
sr-policies
static-policy "color-600-PE-1-PE-6-mixed" create
type srv6
color 600
endpoint 2001:db8::2:6
head-end local
segment-routing-v6
binding-sid 1 create
micro-segment-locator "PE1-mloc" function end-b6-encaps-red-next-csid
exit
exit
segment-list 1 create
segment 1 create
srv6-sid 2001:bbbb:2:4001::
behavior-and-structure behavior end-x-next-csid block-length 32 node-length 16 function-length 16
exit
segment 2 create
srv6-sid 2001:db8:aaaa:103:0:3000::
exit
segment 3 create
srv6-sid 2001:bbbb:4:4001::
behavior-and-structure behavior end-x-next-csid block-length 32 node-length 16 function-length 16
exit
no shutdown
exit
no shutdown
exit
no shutdown
VPRN-6 with VPN IP
On head-end PE-1, VPRN-6 is configured as follows:
# on PE-1:
configure
service
vprn 6 name "VPRN-6" customer 1 create
autonomous-system 64496
interface "lo1" create
address 172.16.106.1/24
ipv6
address 2001:db8::106:1/120
exit
loopback
exit
segment-routing-v6 1 create
micro-segment-locator "PE1-mloc"
function
udt4
udt6
exit
exit
exit
bgp-ipvpn
segment-routing-v6 bgp 1
resolution fallback-tunnel-to-route-table
route-distinguisher 192.0.2.1:6
source-address 2001:db8::2:1
srv6-instance 1 default-locator "PE1-mloc"
vrf-target target:64500:6
no shutdown
exit
exit
no shutdown
On endpoint PE-6, the configuration is as follows:
# on PE-6:
configure
router Base
policy-options
begin
community "vrf-6"
members "target:64500:6"
exit
community "color-600"
members "color:00:600"
exit
policy-statement "vrf-6-export-c600"
default-action accept
community add "vrf-6" "color-600"
exit
exit
policy-statement "vrf-6-import"
entry 10
from
community "vrf-6"
exit
action accept
exit
exit
exit
commit
exit
exit
service
vprn 6 name "VPRN-6" customer 1 create
autonomous-system 64497
interface "lo1" create
address 172.16.166.6/24
ipv6
address 2001:db8::166:6/120
exit
loopback
exit
segment-routing-v6 1 create
micro-segment-locator "PE6-mloc"
function
udt4
udt6
exit
exit
exit
bgp-ipvpn
segment-routing-v6 bgp 1
route-distinguisher 192.0.2.1:6
source-address 2001:db8::2:6
srv6-instance 1 default-locator "PE6-mloc"
vrf-import "vrf-6-import"
vrf-export "vrf-6-export-c600"
no shutdown
exit
exit
no shutdown
Verification
On head-end PE-1, the list of micro-segment local SIDs includes SID 2001:bbbb:1:43e8:: for VPLS-3 and SID 2001:bbbb:1:43e9:: for VPRN-5, but only SID 2001:bbbb:1:43ea:: is used for VPRN-6.
*A:PE-1# show router segment-routing-v6 micro-segment-local-sid context "VPRN-6"
===============================================================================
Micro Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Micro Segment Locator
Context
-------------------------------------------------------------------------------
2001:bbbb:1:4014:: uDT4 16404
PE1-mloc
SvcId: 6 Name: VPRN-6
2001:bbbb:1:4015:: uDT6 16405
PE1-mloc
SvcId: 6 Name: VPRN-6
2001:bbbb:1:43e8:: End.b6.encaps* 17384
PE1-mloc
None
2001:bbbb:1:43e9:: End.b6.encaps* 17385
PE1-mloc
None
2001:bbbb:1:43ea:: End.b6.encaps* 17386
PE1-mloc
None
-------------------------------------------------------------------------------
SIDs : 5
-------------------------------------------------------------------------------
===============================================================================
* indicates that the corresponding row element may have been truncated.
The tunnel with color 600 is the SRv6 policy tunnel to be used for VPRN-6:
*A:PE-1# show router tunnel-table ipv6 protocol srv6-policy
===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref
Nexthop Color Metric
-------------------------------------------------------------------------------
2001:db8::2:6/128 srv6-pol SRV6 917506 14
fpe_1.a 100 0
2001:db8::2:6/128 srv6-pol SRV6 917508 14
fpe_1.a 300 0
2001:db8::2:6/128 srv6-pol SRV6 917509 14
fpe_1.a 500 0
2001:db8::2:6/128 srv6-pol SRV6 917510 14
fpe_1.a 600 0
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
L = Loop-Free Alternate (LFA) hop available
E = Inactive best-external BGP route
k = RIB-API or Forwarding Policy backup hop
===============================================================================
The BGP next hop for VPN-IPv4 routes is resolved using an SRv6 policy:
*A:PE-1# show router bgp next-hop vpn-ipv4
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
VPN Next Hop Owner
Autobind FibProg Reason
Labels (User-labels) FlexAlgo Metric
Admin-tag-policy (strict-tunnel-tagging) Last Mod.
-------------------------------------------------------------------------------
2001:db8::2:6 SRV6-POLICY
gre srv6-policy Y
-- (2) -- 0
-- (N) 00h07m13s
-------------------------------------------------------------------------------
Next Hops : 1
===============================================================================
In a similar way, the BGP next hop for VPN-IPv6 routes is resolved using an SRv6 policy, as follows:
*A:PE-1# show router bgp next-hop vpn-ipv6
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
VPN Next Hop Owner
Autobind FibProg Reason
Labels (User-labels) FlexAlgo Metric
Admin-tag-policy (strict-tunnel-tagging) Last Mod.
-------------------------------------------------------------------------------
2001:db8::2:6 SRV6-POLICY
gre srv6-policy Y
-- (2) -- 0
-- (N) 00h07m13s
-------------------------------------------------------------------------------
Next Hops : 1
===============================================================================
Conclusion
EVPN VPWS, EVPN VPLS, EVPN IFL, and VPN IP services can resolve their BGP next hops over an SRv6 policy in TTMv6.