EVPN VPLS Services Using SRv6 Transport
This chapter provides information about EVPN VPLS using SRv6 transport.
Topics in this chapter include:
Applicability
The information and MD-CLI configuration in this chapter are based on SR OS Release 24.3.R1.
EVPN VPLS services over SRv6 are supported on FP4-based platforms in SR OS Release 22.7.R1 and later. For FP platforms, both all-active and single-active multihoming modes in EVPN VPLS services over SRv6 are supported in SR OS Release 23.10.R1 and later.
For migration scenarios from EVPN MPLS to EVPN SRv6 or from EVPN VXLAN to EVPN SRv6, see the EVPN VPLS with MPLS to SRv6 or VXLAN to SRv6 Stitching chapter.
Overview
SRv6 locator and micro-segment locator
An EVPN VPLS service using SRv6 transport can be configured with a locator for segment identifiers (SIDs) or with a micro-segment locator for micro-SIDs (uSIDs). The micro-SID is an extension of the SRv6 architecture that allows for better efficiency. For micro-SIDs, multiple uSID instructions can be encoded within a single 128-bit SID address, with a maximum of six uSID instructions. Any SID in the destination address or segment routing header can be an SRv6 uSID carrier containing one or more uSIDs.
Locator for SID
The block length, function length, and argument length can be configured with the following command:
[ex:/configure router "Base" segment-routing segment-routing-v6]
A:admin@PE-2# locator "PE2-loc" ?
locator
admin-state - Administrative state of the locator
algorithm - IGP flexible algorithm ID
apply-groups - Apply a configuration group at this level
apply-groups-exclude - Exclude a configuration group at this level
argument-length - SRv6 locator argument length
block-length - SRv6 locator block address length
function-length - Function length
label-block - Reserved label block name for service termination
prefix + Enter the prefix context
static-function + Enter the static-function context
termination-fpe - List of the SRv6 termination FPE
The only two possible values for the argument length are 0 (default) and 16, as follows:
[ex:/configure router "Base" segment-routing segment-routing-v6 locator "PE2-loc"]
A:admin@PE-2# argument-length ?
argument-length <number>
<number> - <0,16>
Default - 0
SRv6 locator argument length
Warning: Modifying this element toggles 'configure router "Base" segment-routing
segment-routing-v6 locator "PE2-loc" admin-state' automatically for the new value
to take effect.
The block length can have any value from 0 to 96, as follows:
[ex:/configure router "Base" segment-routing segment-routing-v6 locator "PE2-loc"]
A:admin@PE-2# block-length ?
block-length <number>
<number> - <0..96>
Default - 0
SRv6 locator block address length
Warning: Modifying this element toggles 'configure router "Base" segment-routing
segment-routing-v6 locator "PE2-loc" admin-state' automatically for the new value
to take effect.
The function length can be 16 or any value from 20 to 96, as follows:
[ex:/configure router "Base" segment-routing segment-routing-v6 locator "PE2-loc"]
A:admin@PE-2# function-length ?
function-length <number>
<number> - <16,20..96>
Dynamic Default - 20
Function length
Warning: Modifying this element toggles 'configure router "Base" segment-routing
segment-routing-v6 locator "PE2-loc" admin-state' automatically for the new value
to take effect.
- End.DT2U for known unicast traffic, encoded in EVPN MAC/IP advertisement routes
- End.DT2M for BUM traffic, encoded in Inclusive Multicast Ethernet Tag (IMET) routes
In EVPN VPLS services, End.DT2U must be configured (with or without a static value) so that MAC/IP routes can be advertised. Similarly, End.DT2M must be configured (with or without a—different—static value) so that IMET routes can be advertised.
Micro-segment locator for micro-SID
A maximum of six 16-bit micro-SID instructions can be encoded within a single 128-bit SID address, as follows:
The prefix length or block length is 32 in the preceding example, but can be any multiple of 8, with a maximum of 64. Any SRv6 instruction starting with this 32-bit prefix can contain up to six micro-instructions <uSIDx>. In the case that less than six uSIDs are used with this 32-bit prefix, the unused micro-instructions are set to 0x0000.
SRv6 micro-SID encoding shows an example of SRv6 micro-SID encoding with a 32-bit uSID prefix (block B), a 16-bit uSID identifying the node (uN), a 16-bit function, and optionally a 16-bit argument:
Micro-segments can be configured with the following command:
[ex:/configure router "Base" segment-routing segment-routing-v6]
A:admin@PE-2# micro-segment ?
micro-segment
apply-groups - Apply a configuration group at this level
apply-groups-exclude - Exclude a configuration group at this level
argument-length - Micro-segment argument length
block + Enter the block list instance
block-length - Micro-SID block length
global-sid-entries - Maximum number of micro-segment locators network wide
sid-length - Micro-SID length
The argument length is either 0 or 16, as follows:
[ex:/configure router "Base" segment-routing segment-routing-v6 micro-segment]
A:admin@PE-2# argument-length ?
argument-length <number>
<number> - <0,16>
Default - 0
Micro-segment argument length
For micro-segments, the block length must be a multiple of 8, with a maximum of 64, as follows:
[ex:/configure router "Base" segment-routing segment-routing-v6 micro-segment]
A:admin@PE-2# block-length ?
block-length <number>
<number> - <8,16,24,32,40,48,56,64>
Default - 32
Micro-SID block length
The micro-segment SID length can only be 16, as follows:
[ex:/configure router "Base" segment-routing segment-routing-v6 micro-segment]
A:admin@PE-2# sid-length ?
sid-length <number>
<number> - <16>
Default - 16
Micro-SID length
- End.uDT2U for known unicast traffic
- End.uDT2M for BUM traffic
EVPN VPLS services using SRv6 transport
An EVPN VPLS service using SRv6 can either be configured with a locator or a micro-segment locator, as follows:
[ex:/configure service vpls "VPLS-2" segment-routing-v6 1]
A:admin@PE-2# ?
apply-groups - Apply a configuration group at this level
apply-groups-exclude - Exclude a configuration group at this level
locator + Enter the locator list instance
micro-segment- + Enter the micro-segment-locator list instance
locator
The EVPN VPLS can be configured with an SRv6 locator, as follows:
[ex:/configure service vpls "VPLS-2" segment-routing-v6 1 micro-segment-locator "PE2-mloc"]
A:admin@PE-2# ?
apply-groups - Apply a configuration group at this level
apply-groups-exclude - Exclude a configuration group at this level
function + Enter the function context
When a locator is configured, the possible functions are End.DT2U for known unicast traffic and End.DT2M for BUM traffic, as follows:
[ex:/configure service vpls "VPLS-1" segment-routing-v6 1 locator "PE2-loc"]
A:admin@PE-2# function ?
function
end-dt2m + Enable the end-dt2m context
end-dt2u + Enable the end-dt2u context
When a micro-segment locator is configured, the functions are End.uDT2U for known unicast traffic and End.uDT2M for BUM traffic, as follows:
[ex:/configure service vpls "VPLS-2" segment-routing-v6 1 micro-segment-locator "PE2-mloc"]
A:admin@PE-2# function ?
function
udt2m + Enable the udt2m context
udt2u + Enable the udt2u context
In the bgp-evpn segment-routing-v6 context, the following can be configured:
[ex:/configure service vpls "VPLS-1" bgp-evpn]
A:admin@PE-2# segment-routing-v6 1 ?
segment-routing-v6
admin-state - Administrative state of segment routing over IPv6
apply-groups - Apply a configuration group at this level
apply-groups-exclude - Exclude a configuration group at this level
default-route-tag - Default route tag
ecmp - Maximum ECMP value configured on the service
evi-three-byte-auto- - Auto-derive the BGP EVPN route target
rt
fdb + Enter the fdb context
force-vc-forwarding - Datapath forwarding to force vlan-vc-type
mh-mode - Multihoming mode
oper-group - Operational group
resolution - Resolution options for routes
route-next-hop + Enter the route-next-hop context
source-address - Source IPv6 address
split-horizon-group - Split horizon group
srv6 + Enter the srv6 context
- The default-route-tag command is used to match BGP-EVPN routes for the service on export policies, for example, to add or modify BGP attributes.
- The ecmp command is used for aliasing on remote SRv6 EVPN Ethernet segment (ES) destinations.
- The evi-three-byte-auto-rt command is used to enable or disable 3-byte EVI auto-RT.
- The force-vc-forwarding {vlan|qinq-c-tag-c-tag|qinq-s-tag-c-tag} command is used to preserve VLAN tags in the SRv6 tunnel.
- The mh-mode option can be configured with the values access or network (needed in the case of multi-instance VPLS services).
- The oper-group command is required for fault propagation purposes.
- The resolution {route-table|tunnel-table|fallback-tunnel-to-route-table} command allows for setting the resolution of SRv6 routes in the route table or tunnel table (needed for SRv6 policies), and even a fallback from tunnel to route table resolution.
- The fdb protected-src-mac-violation-action discard command is required for loop avoidance.
- The route-next-hop command controls the BGP next hop used for service routes. The default is system IPv4 address.
- The source-address command does not need to be reachable or even exist on a local interface. This is possible because the source address is not looked up in the data path at the remote PE. If not configured, the source address is inherited from the locator's source address.
- The split-horizon-group command is used for a seamless integration with spoke SDPs and migration from the EVPN-MPLS services (multi-instance services).
AD per-ES routes in EVPN SRv6 multihoming
An EVPN VPLS service over SRv6 cannot be configured with all-active or single-active multihoming with the ESI label when the SRv6 locator has—the default—argument length 0. The following error is raised when attempting to configure a SAP with a LAG that is associated to an all-active ES in an EVPN VPLS service with SRv6 locator with argument length 0:
*[ex:/configure service vpls "VPLS-4" sap lag-1:4]
A:admin@PE-3# commit
MINOR: MGMT_CORE #4001: configure service vpls "VPLS-4" sap lag-1:4 description -
locator argument-length must not be default when MH is configured -
configure router "Base" segment-routing segment-routing-v6 locator "PE2-loc-arg0"
argument-length
The arg.fe2 argument is advertised along with the AD per-ES routes for all-active or single-active multihoming with the ESI label. The arg.fe2 argument is used along with the End.DT2M or End.uDT2M functions and supports the transposition into the ESI label extended community label field.
- The allocated arg.fe2 value is encoded in the high-order 16 bits of the ESI label field.
- The SRv6 SID value is always 0.
- The SID structure advertised in the SRv6 SID sub-sub-TLV follows the length of the locator associated with the VPLS (block length, node length, function length).
Configuration
- cards, MDAs, ports
- LAG 1 between MTU-1, PE-2, and PE-3
- router interfaces
- IS-IS on the router interfaces
- BGP for the EVPN address family on PE-2, PE-3, PE-4, and PE-5
As an example, the BGP configuration on PE-2 is as follows:
# on PE-2:
configure {
router "Base" {
autonomous-system 64500
bgp {
vpn-apply-export true
vpn-apply-import true
rapid-withdrawal true
peer-ip-tracking true
split-horizon true
rapid-update {
evpn true
}
group "internal" {
peer-as 64500
family {
evpn true
}
}
neighbor "2001:db8::2:3" {
group "internal"
}
neighbor "2001:db8::2:4" {
group "internal"
}
neighbor "2001:db8::2:5" {
group "internal"
}
}
EVPN VPLS using SRv6 with locator
The core PEs in Example topology with VPLS-1 are connected through an SRv6 network. All-active multihoming applies between PE-2 and PE-3, while single-active multihoming applies between PE-4 and PE-5.
SRv6 configuration with locator
SRv6 is configured on the core PEs. The configuration on PE-2 is as follows:
# on PE-2:
configure {
card 1 {
mda 1 {
xconnect {
mac 1 {
loopback 1 {
}
loopback 2 {
}
}
}
}
}
fwd-path-ext {
fpe 1 {
path {
pxc 1
}
application {
srv6 {
type origination
}
}
}
fpe 2 {
path {
pxc 2
}
application {
srv6 {
type termination
}
}
}
}
port pxc-1.a {
admin-state enable
}
port pxc-1.b {
admin-state enable
}
port pxc-2.a {
admin-state enable
}
port pxc-2.b {
admin-state enable
}
---snip---
port 1/1/m1/1 {
admin-state enable
}
port 1/1/m1/2 {
admin-state enable
}
port-xc {
pxc 1 {
admin-state enable
port-id 1/1/m1/1
}
pxc 2 {
admin-state enable
port-id 1/1/m1/2
}
}
router "Base" {
---snip---
mpls-labels {
reserved-label-block "srv6-labels" { # optional
start-label 20000
end-label 20999
}
}
isis 0 {
admin-state enable
advertise-passive-only true
advertise-router-capability as
ipv6-routing native
traffic-engineering true
area-address [49.0001]
traffic-engineering-options {
ipv6 true
application-link-attributes {
}
}
segment-routing-v6 {
admin-state enable
locator "PE2-loc" {
}
}
interface "int-PE-2-PE-3" {
interface-type point-to-point
level-capability 2
}
interface "int-PE-2-PE-4" {
interface-type point-to-point
level-capability 2
}
interface "int-PE-2-PE-5" {
interface-type point-to-point
level-capability 2
}
interface "system" {
passive true
}
level 1 {
wide-metrics-only true
}
level 2 {
wide-metrics-only true
}
}
segment-routing {
segment-routing-v6 {
origination-fpe [1]
source-address 2001:db8::2:2
locator "PE2-loc" {
admin-state enable
block-length 48
function-length 16
termination-fpe [2]
label-block "srv6-labels"
argument-length 16
prefix {
ip-prefix 2001:db8:aaaa:102::/64
}
}
base-routing-instance {
locator "PE2-loc" {
function {
end 1 {
srh-mode usp
}
end-x-auto-allocate psp protection unprotected { }
}
}
}
}
}
The configuration on the other PEs is similar. On PE-5, no reserved MPLS label block is configured and the labels will be allocated by the system from the dynamic label range. The function length of the locator "PE5-loc" is 24 and the argument length is 16.
EVPN VPLS service configuration
VPLS-1 is configured on all nodes. The configuration on MTU-1 is as follows:
# on MTU-1:
configure {
service {
vpls "VPLS-1" {
admin-state enable
service-id 1
customer "1"
sap 1/1/c10/1:1 {
description "SAP to CE-11"
}
sap lag-1:1 {
}
}
On PE-2 and PE-3, all-active multihoming is configured, as follows:
# on PE-2:
configure exclusive
service {
system {
bgp {
evpn {
ethernet-segment "AA-vES-23-1" {
admin-state enable
type virtual
esi 01:00:00:00:00:23:00:00:01:01
orig-ip 2001:db8::2:2 # on PE-3: 2001:db8::2:3
route-next-hop 2001:db8::2:2 # on PE-3: 2001:db8::2:3
multi-homing-mode all-active
df-election {
es-activation-timer 3
service-carving-mode manual
manual {
preference {
mode non-revertive
value 100 # on PE-3: value 150
}
}
}
association {
lag "lag-1" {
virtual-ranges {
dot1q {
q-tag 1 {
end 4
}
}
}
}
}
}
}
}
}
vpls "VPLS-1" {
admin-state enable
service-id 1
customer "1"
segment-routing-v6 1 {
locator "PE2-loc" { # on PE-3: "PE3-loc"
function {
end-dt2u { # label dynamically allocated; label block
}
end-dt2m { # label dynamically allocated; label block
}
}
}
}
bgp 1 {
}
bgp-evpn {
evi 1
segment-routing-v6 1 {
admin-state enable
ecmp 2
source-address 2001:db8::2:2 # on PE-3: 2001:db8::2:3
srv6 {
instance 1
default-locator "PE2-loc" # on PE-3: "PE3-loc"
}
route-next-hop {
ip-address 2001:db8::2:2 # on PE-3: 2001:db8::2:3
}
}
}
sap lag-1:1 {
}
}
On PE-4, the function values are manually configured with a value of 10 for End.DT2U and a value of 11 for End.DT2M. The locator "PE4-loc" refers to the MPLS label block and the number of static functions is 16. Single-active multihoming applies between PE-4 and PE-5. The corresponding SDPs use LDP IPv6 tunnels, as follows:
# on PE-4:
configure {
router "Base" {
segment-routing {
segment-routing-v6 {
origination-fpe [1]
source-address 2001:db8::2:4
locator "PE4-loc" {
admin-state enable
block-length 48
function-length 16
termination-fpe [2]
label-block "srv6-labels"
argument-length 16
prefix {
ip-prefix 2001:db8:aaaa:104::/64
}
static-function {
max-entries 16 # for configured function values
}
}
}
}
}
service {
system {
bgp {
evpn {
ethernet-segment "SA-ES-45" {
admin-state enable
esi 01:00:00:00:00:45:00:00:00:01
orig-ip 2001:db8::2:4
route-next-hop 2001:db8::2:4
multi-homing-mode single-active
df-election {
es-activation-timer 3
}
association {
sdp 46 {
}
}
}
}
}
}
sdp 46 {
admin-state enable
delivery-type mpls
ldp true
far-end {
ip-address 2001:db8::2:6
}
}
vpls "VPLS-1" {
admin-state enable
service-id 1
customer "1"
segment-routing-v6 1 {
locator "PE4-loc" {
function {
end-dt2u {
value 10 # configured function value
}
end-dt2m {
value 11 # configured function value
}
}
}
}
bgp 1 {
}
bgp-evpn {
evi 1
segment-routing-v6 1 {
admin-state enable
ecmp 2
source-address 2001:db8::2:4
srv6 {
instance 1
default-locator "PE4-loc"
}
route-next-hop {
ip-address 2001:db8::2:4
}
}
}
spoke-sdp 46:1 {
}
}
The configuration on PE-5 does not include an MPLS label block and the function values are dynamically allocated from the dynamic label range, as follows:
# on PE-5:
configure {
router "Base" {
segment-routing {
segment-routing-v6 {
origination-fpe [1]
source-address 2001:db8::2:5
locator "PE5-loc" {
admin-state enable
block-length 48
function-length 24
termination-fpe [2]
argument-length 16
prefix {
ip-prefix 2001:db8:aaaa:105::/64
}
}
base-routing-instance {
locator "PE5-loc" {
function {
end 1 {
srh-mode usp
}
end-x-auto-allocate psp protection unprotected { }
}
}
}
}
}
}
service {
system {
bgp {
evpn {
ethernet-segment "SA-ES-45" {
admin-state enable
esi 01:00:00:00:00:45:00:00:00:01
orig-ip 2001:db8::2:5
route-next-hop 2001:db8::2:5
multi-homing-mode single-active
df-election {
es-activation-timer 3
}
association {
sdp 56 {
}
}
}
}
}
}
sdp 56 {
admin-state enable
delivery-type mpls
ldp true
far-end {
ip-address 2001:db8::2:6
}
}
vpls "VPLS-1" {
admin-state enable
service-id 1
customer "1"
segment-routing-v6 1 {
locator "PE5-loc" {
function {
end-dt2u { # dynamic label; no label block defined
}
end-dt2m { # dynamic label; no label block defined
}
}
}
}
bgp 1 {
}
bgp-evpn {
evi 1
segment-routing-v6 1 {
admin-state enable
ecmp 2
source-address 2001:db8::2:5
srv6 {
instance 1
default-locator "PE5-loc"
}
route-next-hop {
ip-address 2001:db8::2:5
}
}
}
spoke-sdp 56:1 {
}
}
The service configuration on MTU-6 is as follows:
# on MTU-6:
configure {
service {
sdp 64 {
admin-state enable
delivery-type mpls
ldp true
far-end {
ip-address 2001:db8::2:4
}
}
sdp 65 {
admin-state enable
delivery-type mpls
ldp true
far-end {
ip-address 2001:db8::2:5
}
}
vpls "VPLS-1" {
admin-state enable
service-id 1
customer "1"
endpoint "CORE" {
}
spoke-sdp 64:1 {
endpoint {
name "CORE"
}
stp {
admin-state disable
}
}
spoke-sdp 65:1 {
endpoint {
name "CORE"
}
stp {
admin-state disable
}
}
sap 1/1/c10/1:1 {
}
}
Verification
The following command shows the configured BGP-EVPN SRv6 parameters:
[/]
A:admin@PE-2# show service id "VPLS-1" bgp-evpn segment-routing-v6
===============================================================================
BGP EVPN Segment Routing v6 Information
===============================================================================
Admin State : Enabled Bgp Instance : 1
Srv6 Instance : 1
Default Locator : PE2-loc
Oper Group : (none)
Default Route Tag : 0x0
Source Address : 2001:db8::2:2
ECMP : 2
Force Vlan VC Fwd : Disabled
Next Hop Type : explicit
Next Hop Address : 2001:db8::2:2
Evi 3-byte Auto-RT : disabled
Route Resolution : route-table
Force QinQ VC Fwd : none
MH Mode : network
Rest Prot Src Mac : disabled
Split Horizon Group : n/a
===============================================================================
The following command shows the SID values and the status of the End.DT2U and End.DT2M functions in SRv6 instance 1 in VPLS-1 on PE-3:
[/]
A:admin@PE-3# show service id "VPLS-1" segment-routing-v6 instance 1
===============================================================================
Segment Routing v6 Instance 1 Service 1
===============================================================================
Locator
Type Function SID Status
-------------------------------------------------------------------------------
PE3-loc
End.DT2U *3 2001:db8:aaaa:103:3:: ok
End.DT2M *4 2001:db8:aaaa:103:4:: ok
===============================================================================
Legend: * - System allocated
The SID 2001:db8:aaaa:103:4:: corresponding to the End.DT2M function is one of the SRv6 destinations for VPLS-1 on PE-2, as follows:
[/]
A:admin@PE-2# show service id "VPLS-1" segment-routing-v6 destinations
===============================================================================
TEP, SID (Instance 1)
===============================================================================
TEP Address Segment Id Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
2001:db8::2:3 2001:db8:aaaa:103:4:: Up BUM 0
2001:db8::2:4 2001:db8:aaaa:104:b:: Up BUM 0
2001:db8::2:5 2001:db8:aaaa:105:7ff:f900:: Up BUM 0
-------------------------------------------------------------------------------
Number of TEP, SID: 3
-------------------------------------------------------------------------------
===============================================================================
===============================================================================
Segment Routing v6 Ethernet Segment Dest (Instance 1)
===============================================================================
Eth SegId Num. Macs Last Update
-------------------------------------------------------------------------------
01:00:00:00:00:45:00:00:00:01 1 04/23/2024 11:09:52
-------------------------------------------------------------------------------
Number of entries: 1
-------------------------------------------------------------------------------
===============================================================================
The two other SRv6 destinations for VPLS-1 on PE-2 correspond to the End.DT2M function in VPLS-1 on PE-4 and PE-5.
Multihoming, route tables, FDBs
PE-3 acts as the designated forwarder (DF) for VPLS-1 in the all-active ES "AA-vES-23-1", as follows:
[/]
A:admin@PE-3# show service id "VPLS-1" ethernet-segment
===============================================================================
SAP Ethernet-Segment Information
===============================================================================
SAP Eth-Seg Status
-------------------------------------------------------------------------------
lag-1:1 AA-vES-23-1 DF
===============================================================================
No sdp entries
No vxlan instance entries
PE-2 is an NDF in the all-active ES "AA-vES-23-1", as follows:
[/]
A:admin@PE-2# show service id "VPLS-1" ethernet-segment
===============================================================================
SAP Ethernet-Segment Information
===============================================================================
SAP Eth-Seg Status
-------------------------------------------------------------------------------
lag-1:1 AA-vES-23-1 NDF
===============================================================================
No sdp entries
No vxlan instance entries
PE-5 acts as the DF for VPLS-1 in the single-active ES "SA-ES-45", as follows:
[/]
A:admin@PE-5# show service id "VPLS-1" ethernet-segment
No sap entries
===============================================================================
SDP Ethernet-Segment Information
===============================================================================
SDP Eth-Seg Status
-------------------------------------------------------------------------------
56:1 SA-ES-45 DF
===============================================================================
No vxlan instance entries
PE-4 is an NDF in the single-active ES "SA-ES-45", as follows:
[/]
A:admin@PE-4# show service id "VPLS-1" ethernet-segment
No sap entries
===============================================================================
SDP Ethernet-Segment Information
===============================================================================
SDP Eth-Seg Status
-------------------------------------------------------------------------------
46:1 SA-ES-45 NDF
===============================================================================
No vxlan instance entries
The following route table for IPv6 shows that PE-2 has SRv6-ISIS-tunneled routes to the locator prefixes on PE-3, PE-4, and PE-5:
[/]
A:admin@PE-2# show router route-table ipv6 next-hop-type tunneled
===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64 Remote ISIS 00h15m55s 18
2001:db8:aaaa:103::/64 (tunneled:SRV6-ISIS) 10
2001:db8:aaaa:104::/64 Remote ISIS 00h15m36s 18
2001:db8:aaaa:104::/64 (tunneled:SRV6-ISIS) 10
2001:db8:aaaa:105::/64 Remote ISIS 00h15m08s 18
2001:db8:aaaa:105::/64 (tunneled:SRV6-ISIS) 10
-------------------------------------------------------------------------------
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
===============================================================================
After traffic has been sent between CE-11 and CE-16, the VPLS-1 FDBs are populated. The FDB on MTU-1 shows that CE-16 can be reached through the LAG, while CE-11 can be reached via SAP 1/1/c10/1:1, as follows:
[/]
A:admin@MTU-1# show service id "VPLS-1" fdb detail
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
1 00:00:5e:00:53:11 sap:1/1/c10/1:1 L/60 04/23/24 11:22:33
1 00:00:5e:00:53:16 sap:lag-1:1 L/60 04/23/24 11:22:33
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
The VPLS-1 FDBs on PE-2 and PE-3 are similar. CE-11 can be reached through the LAG, while CE-16 can be reached via the single-active ES between PE-4 and PE-5, as follows:
[/]
A:admin@PE-2# show service id "VPLS-1" fdb detail
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
1 00:00:5e:00:53:11 sap:lag-1:1 L/60 04/23/24 11:22:33
1 00:00:5e:00:53:16 eES: Evpn 04/23/24 11:09:52
01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
[/]
A:admin@PE-3# show service id "VPLS-1" fdb detail
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
1 00:00:5e:00:53:11 sap:lag-1:1 Evpn 04/23/24 11:22:33
1 00:00:5e:00:53:16 eES: Evpn 04/23/24 11:09:52
01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
The FDB on NDF PE-4 shows that CE-11 can be reached via the all-active ES between PE-2 and PE-3, while CE-16 can be reached via the single-active ES between PE-4 and PE-5, but not through the SDP toward MTU-6, as follows:
[/]
A:admin@PE-4# show service id "VPLS-1" fdb detail
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
1 00:00:5e:00:53:11 eES: Evpn 04/23/24 11:22:33
01:00:00:00:00:23:00:00:01:01
1 00:00:5e:00:53:16 eES: Evpn 04/23/24 11:09:52
01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
The FDB on DF PE-5 shows that CE-11 can be reached via the all-active ES between PE-2 and PE-3, while CE-16 can be reached via the SDP toward MTU-6, as follows:
[/]
A:admin@PE-5# show service id "VPLS-1" fdb detail
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
1 00:00:5e:00:53:11 eES: Evpn 04/23/24 11:22:33
01:00:00:00:00:23:00:00:01:01
1 00:00:5e:00:53:16 sdp:56:1 LT/60 04/23/24 11:09:52
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
The FDB on MTU-6 shows that CE-11 can be reached via the SDP toward DF PE-5, while CE-16 can be reached via SAP 1/1/c10/1:1, as follows:
[/]
A:admin@MTU-6# show service id "VPLS-1" fdb detail
===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
1 00:00:5e:00:53:11 sdp:65:1 L/60 04/23/24 11:09:52
1 00:00:5e:00:53:16 sap:1/1/c10/1:1 L/60 04/23/24 11:22:33
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
BGP-EVPN routes
PE-2 received the following EVPN-MAC route from PE-5 with the endpoint behavior 0x17 = 23, which corresponds to the End.DT2U function for known unicast traffic:
# on PE-2:
46 2024/04/23 11:09:52.089 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:5
"Peer 1: 2001:db8::2:5: UPDATE
Peer 1: 2001:db8::2:5 - Received BGP UPDATE:
Withdrawn Length = 0
Total Path Attr Length = 125
Flag: 0x90 Type: 14 Len: 56 Multiprotocol Reachable NLRI:
Address Family EVPN
NextHop len 16 Global NextHop 2001:db8::2:5
Type: EVPN-MAC Len: 33 RD: 192.0.2.5:1 ESI: 01:00:00:00:00:45:00:00:00:01,
tag: 0, mac len: 48 mac: 00:00:5e:00:53:16, IP len: 0,
IP: NULL, label1: 8388512 (Raw Label: 0x7fffa0)
Flag: 0x40 Type: 1 Len: 1 Origin: 0
Flag: 0x40 Type: 2 Len: 0 AS Path:
Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
Flag: 0xc0 Type: 16 Len: 8 Extended Community:
target:64500:1
Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
SRv6 Services TLV (37 bytes):-
Type: SRV6 L2 Service TLV (6)
Length: 34 bytes, Reserved: 0x0
SRv6 Service Information Sub-TLV (33 bytes)
Type: 1 Len: 30 Rsvd1: 0x0
SRv6 SID: 2001:db8:aaaa:105::
SID Flags: 0x0 Endpoint Behavior: 0x17 Rsvd2: 0x0
SRv6 SID Sub-Sub-TLV
Type: 1 Len: 6
BL:48 NL:16 FL:24 AL:0 TL:20 TO:68
"
The following show command for the EVPN-MAC route containing the CE-16 MAC address shows the behavior End.DT2U (23):
[/]
A:admin@PE-2# show router bgp routes evpn mac mac-address 00:00:5e:00:53:16 detail
===============================================================================
BGP Router ID:192.0.2.2 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 MAC Routes
===============================================================================
Original Attributes
Network : n/a
Nexthop : 2001:db8::2:5
Path Id : None
From : 2001:db8::2:5
Res. Nexthop : fe80::1e:1ff:fe01:15
Local Pref. : 100 Interface Name : int-PE-2-PE-5
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 10
Connector : None
Community : target:64500:1
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.5
Origin : IGP
Flags : Used Valid Best
Route Source : Internal
AS-Path : No As-Path
EVPN type : MAC
ESI : 01:00:00:00:00:45:00:00:00:01
Tag : 0
IP Address : n/a
Route Dist. : 192.0.2.5:1
Mac Address : 00:00:5e:00:53:16
MPLS Label1 : 524282 MPLS Label2 : n/a
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 : 00h09m13s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:db8:aaaa:105::
Full Sid : 2001:db8:aaaa:105:7ff:fa00::
Behavior : End.DT2U (23)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 48 Loc-Node-Len : 16
Func-Len : 24 Arg-Len : 0
Tpose-Len : 20 Tpose-offset : 68
---snip---
PE-2 received the following EVPN IMET route from PE-5 with the endpoint behavior 0x18 = 24, which corresponds to the End.DT2M function for BUM traffic:
65 2024/04/23 11:16:15.584 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:5
"Peer 1: 2001:db8::2:5: UPDATE
Peer 1: 2001:db8::2:5 - Received BGP UPDATE:
Withdrawn Length = 0
Total Path Attr Length = 145
Flag: 0x90 Type: 14 Len: 52 Multiprotocol Reachable NLRI:
Address Family EVPN
NextHop len 16 Global NextHop 2001:db8::2:5
Type: EVPN-INCL-MCAST Len: 29 RD: 192.0.2.5:1, tag: 0,
orig_addr len: 128, orig_addr: 2001:db8::2:5
Flag: 0x40 Type: 1 Len: 1 Origin: 0
Flag: 0x40 Type: 2 Len: 0 AS Path:
Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
Flag: 0xc0 Type: 16 Len: 8 Extended Community:
target:64500:1
Flag: 0xc0 Type: 22 Len: 21 PMSI:
Tunnel-type Ingress Replication (6)
Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
MPLS Label 8388496
Tunnel-Endpoint 2001:db8::2:5
Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
SRv6 Services TLV (37 bytes):-
Type: SRV6 L2 Service TLV (6)
Length: 34 bytes, Reserved: 0x0
SRv6 Service Information Sub-TLV (33 bytes)
Type: 1 Len: 30 Rsvd1: 0x0
SRv6 SID: 2001:db8:aaaa:105::
SID Flags: 0x0 Endpoint Behavior: 0x18 Rsvd2: 0x0
SRv6 SID Sub-Sub-TLV
Type: 1 Len: 6
BL:48 NL:16 FL:24 AL:16 TL:20 TO:68
"
The following show command for the EVPN IMET route that is received from PE-5 shows the behavior End.DT2M (24):
[/]
A:admin@PE-2# show router bgp routes evpn incl-mcast originator-ip 2001:db8::2:5 hunt
===============================================================================
BGP Router ID:192.0.2.2 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
===============================================================================
-------------------------------------------------------------------------------
RIB In Entries
-------------------------------------------------------------------------------
Network : n/a
Nexthop : 2001:db8::2:5
Path Id : None
From : 2001:db8::2:5
Res. Nexthop : fe80::1e:1ff:fe01:15
Local Pref. : 100 Interface Name : int-PE-2-PE-5
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 10
Connector : None
Community : target:64500:1
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.5
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:5
Route Dist. : 192.0.2.5:1
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 : 00h11m12s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:db8:aaaa:105::
Full Sid : 2001:db8:aaaa:105:7ff:f900::
Behavior : End.DT2M (24)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 48 Loc-Node-Len : 16
Func-Len : 24 Arg-Len : 16
Tpose-Len : 20 Tpose-offset : 68
-------------------------------------------------------------------------------
PMSI Tunnel Attributes :
Tunnel-type : Ingress Replication
Flags : Type: RNVE(0) BM: 0 U: 0 Leaf: not required
MPLS Label : 8388496
Tunnel-Endpoint: 2001:db8::2:5
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
RIB Out Entries
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
PE-2 receives the following AD per-EVI route from PE-5:
40 2024/04/23 11:09:34.535 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:5
"Peer 1: 2001:db8::2:5: UPDATE
Peer 1: 2001:db8::2:5 - Received BGP UPDATE:
Withdrawn Length = 0
Total Path Attr Length = 117
Flag: 0x90 Type: 14 Len: 48 Multiprotocol Reachable NLRI:
Address Family EVPN
NextHop len 16 Global NextHop 2001:db8::2:5
Type: EVPN-AD Len: 25 RD: 192.0.2.5:1 ESI: 01:00:00:00:00:45:00:00:00:01,
tag: 0 Label: 8388512 (Raw Label: 0x7fffa0) PathId:
Flag: 0x40 Type: 1 Len: 1 Origin: 0
Flag: 0x40 Type: 2 Len: 0 AS Path:
Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
Flag: 0xc0 Type: 16 Len: 8 Extended Community:
target:64500:1
Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
SRv6 Services TLV (37 bytes):-
Type: SRV6 L2 Service TLV (6)
Length: 34 bytes, Reserved: 0x0
SRv6 Service Information Sub-TLV (33 bytes)
Type: 1 Len: 30 Rsvd1: 0x0
SRv6 SID: 2001:db8:aaaa:105::
SID Flags: 0x0 Endpoint Behavior: 0x17 Rsvd2: 0x0
SRv6 SID Sub-Sub-TLV
Type: 1 Len: 6
BL:48 NL:16 FL:24 AL:0 TL:20 TO:68
"
PE-2 receives the following AD per-ES route from PE-5:
62 2024/04/23 11:16:15.584 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:5
"Peer 1: 2001:db8::2:5: UPDATE
Peer 1: 2001:db8::2:5 - Received BGP UPDATE:
Withdrawn Length = 0
Total Path Attr Length = 125
Flag: 0x90 Type: 14 Len: 48 Multiprotocol Reachable NLRI:
Address Family EVPN
NextHop len 16 Global NextHop 2001:db8::2:5
Type: EVPN-AD Len: 25 RD: 192.0.2.5:1 ESI: 01:00:00:00:00:45:00:00:00:01,
tag: MAX-ET Label: 0 (Raw Label: 0x0) PathId:
Flag: 0x40 Type: 1 Len: 1 Origin: 0
Flag: 0x40 Type: 2 Len: 0 AS Path:
Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
Flag: 0xc0 Type: 16 Len: 16 Extended Community:
target:64500:1
esi-label:16/Single-Active
Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
SRv6 Services TLV (37 bytes):-
Type: SRV6 L2 Service TLV (6)
Length: 34 bytes, Reserved: 0x0
SRv6 Service Information Sub-TLV (33 bytes)
Type: 1 Len: 30 Rsvd1: 0x0
SRv6 SID: ::
SID Flags: 0x0 Endpoint Behavior: 0x18 Rsvd2: 0x0
SRv6 SID Sub-Sub-TLV
Type: 1 Len: 6
BL:48 NL:16 FL:24 AL:16 TL:16 TO:88
"
ES "SA-ES-45" is configured in a single-active multihoming mode with the ESI label; therefore, PE-5 sends the AD per-ES routes that carry the arg.fe2 value. The SID structure in the SRv6 sub-sub-TLV indicates that the argument length is 16 bits. The 16-bit length of the arg.fe2 value is transposed into the ESI label extended community label field. The transposition length is 16 (argument length 16) and the transposition offset is 88 (block length 48 + node length 16 + function length 24). The SRv6 SID is :: (0).
End.DT2U and End.DT2M functions
On PE-4, function value 10 is configured for End.DT2U and function value 11 for End.DT2M, as follows:
[/]
A:admin@PE-4# show router segment-routing-v6 local-sid end-dt2m end-dt2u
===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Locator
Context
-------------------------------------------------------------------------------
2001:db8:aaaa:104:a:: End.DT2U 10
PE4-loc
SvcId: 1 Name: VPLS-1
2001:db8:aaaa:104:b:: End.DT2M 11
PE4-loc
SvcId: 1 Name: VPLS-1
-------------------------------------------------------------------------------
SIDs : 2
-------------------------------------------------------------------------------
===============================================================================
On PE-5, the function values 524281 and 524282 are dynamically allocated from the dynamic label range, as follows:
[/]
A:admin@PE-5# show router segment-routing-v6 local-sid end-dt2m end-dt2u
===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Locator
Context
-------------------------------------------------------------------------------
2001:db8:aaaa:105:7ff:f900:: End.DT2M 524281
PE5-loc
SvcId: 1 Name: VPLS-1
2001:db8:aaaa:105:7ff:fa00:: End.DT2U 524282
PE5-loc
SvcId: 1 Name: VPLS-1
-------------------------------------------------------------------------------
SIDs : 2
-------------------------------------------------------------------------------
===============================================================================
On PE-2, a reserved label block is configured and associated to the SRv6 locator. Function value 3 is dynamically allocated for End.DT2U and function value 4 for End.DT2M. SID 2001:db8:aaaa:102:3:: is used for the End.DT2U function and SID 2001:db8:aaaa:102:4:: for the End.DT2M function, as follows:
[/]
A:admin@PE-2# show service id "VPLS-1" segment-routing-v6 detail
===============================================================================
Segment Routing v6 Instance 1 Service 1
===============================================================================
Locator
Type Function SID Status
-------------------------------------------------------------------------------
PE2-loc
End.DT2U *3 2001:db8:aaaa:102:3:: ok
End.DT2M *4 2001:db8:aaaa:102:4:: ok
===============================================================================
Legend: * - System allocated
On PE-2, the following MPLS label blocks are defined, where the reserved label block "srv6-labels" is manually configured:
[/]
A:admin@PE-4# show router mpls-labels label-range
===============================================================================
Label Ranges
===============================================================================
Label Type Start Label End Label Aging Available Total
-------------------------------------------------------------------------------
Static 32 18431 - 18400 18400
Dynamic 18432 524287 0 504848 505856
Seg-Route 0 0 - 0 0
-------------------------------------------------------------------------------
Reserved Label Blocks
-------------------------------------------------------------------------------
Reserved Label Start End Total
Block Name Label Label
-------------------------------------------------------------------------------
srv6-labels 20000 20999 1000
-------------------------------------------------------------------------------
No. of Reserved Label Blocks: 1
-------------------------------------------------------------------------------
===============================================================================
On PE-5, no reserved label block is configured, as follows:
[/]
A:admin@PE-5# show router mpls-labels label-range
===============================================================================
Label Ranges
===============================================================================
Label Type Start Label End Label Aging Available Total
-------------------------------------------------------------------------------
Static 32 18431 - 18400 18400
Dynamic 18432 524287 0 505846 505856
Seg-Route 0 0 - 0 0
===============================================================================
The dynamically allocated function labels 524281 and 524282 are taken from the dynamic MPLS label range:
[/]
A:admin@PE-5# show service id "VPLS-1" segment-routing-v6 detail
===============================================================================
Segment Routing v6 Instance 1 Service 1
===============================================================================
Locator
Type Function SID Status
-------------------------------------------------------------------------------
PE5-loc
End.DT2U *524282 2001:db8:aaaa:105:7ff:fa00:: ok
End.DT2M *524281 2001:db8:aaaa:105:7ff:f900:: ok
===============================================================================
Legend: * - System allocated
In the preceding output, SID 2001:db8:aaaa:105:7ff:f900:: is used for BUM traffic, as indicated by the End.DT2M function. This SID is advertised by PE-5 in an IMET route to PE-2 and appears in the list of SRv6 destinations in VPLS-1 on PE-2, as follows:
[/]
A:admin@PE-2# show service id "VPLS-1" segment-routing-v6 destinations
===============================================================================
TEP, SID (Instance 1)
===============================================================================
TEP Address Segment Id Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
2001:db8::2:3 2001:db8:aaaa:103:4:: Up BUM 0
2001:db8::2:4 2001:db8:aaaa:104:b:: Up BUM 0
2001:db8::2:5 2001:db8:aaaa:105:7ff:f900:: Up BUM 0
-------------------------------------------------------------------------------
Number of TEP, SID: 3
-------------------------------------------------------------------------------
===============================================================================
===============================================================================
Segment Routing v6 Ethernet Segment Dest (Instance 1)
===============================================================================
Eth SegId Num. Macs Last Update
-------------------------------------------------------------------------------
01:00:00:00:00:45:00:00:00:01 1 04/23/2024 11:09:52
-------------------------------------------------------------------------------
Number of entries: 1
-------------------------------------------------------------------------------
===============================================================================
Ping or traceroute can be sent to the entire SIDs, including the arguments. The ping or traceroute messages are replied to, ignoring these arguments. As an example, PE-2 launches the following commands to some of the SRv6 SIDs (without arguments) in the preceding output:
[/]
A:admin@PE-2# ping 2001:db8:aaaa:103:4:: interval 0.1 output-format summary
PING 2001:db8:aaaa:103:4:: 56 data bytes
!!!!!
---- 2001:db8:aaaa:103:4:: PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 2.28ms, avg = 2.42ms, max = 2.58ms, stddev = 0.102ms
[/]
A:admin@PE-2# traceroute 2001:db8:aaaa:105:7ff:f900::
traceroute to 2001:db8:aaaa:105:7ff:f900::, 30 hops max, 60 byte packets
1 2001:db8::2:5 (2001:db8::2:5) 2.54 ms 2.73 ms 2.84 ms
The following command shows that the SRv6 locator of PE-5 (2001:db8:aaaa:105::/64) is resolved:
[/]
A:admin@PE-2# show router bgp next-hop evpn 2001:db8::2:5 service-id 1 detail
===============================================================================
BGP Router ID:192.0.2.2 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
-------------------------------------------------------------------------------
---snip---
-------------------------------------------------------------------------------
VPN Next Hop : 2001:db8::2:5
Autobind : gre/rtm
Labels : --
User-labels : 1
Admin-tag-policy : --
Strict-tunnel-tagging : N
Color : --
UPA Trigger Next Hop : --
Locator : 2001:db8:aaaa:105::/64
Created : 00h27m24s
Last-modified : 00h27m24s
-------------------------------------------------------------------------------
Resolving Prefix : 2001:db8::2:5/128
Preference : 18 Metric : 10
Reference Count : 3 Owner : GRE
Fib Programmed : Y
Resolved Next Hop: fe80::1e:1ff:fe01:15
Egress Label : n/a TunnelId : 4294967293
Locator State : Resolved
-------------------------------------------------------------------------------
---snip---
The following tunnel table on PE-2 shows the SRv6-ISIS tunnels to the SRv6 locators 2001:db8:aaaa:103::/64 on PE-3, 2001:db8:aaaa:104::/64 on PE-4, and 2001:db8:aaaa:105::/64 on PE-5:
[/]
A:admin@PE-2# show router tunnel-table ipv6 protocol srv6-isis
===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref
Nexthop Color Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64 srv6-isis SRV6 524289 0
fe80::14:1ff:fe01:1f-"int-PE-2-PE-3" 10
2001:db8:aaaa:104::/64 srv6-isis SRV6 524290 0
fe80::1a:1ff:fe01:b-"int-PE-2-PE-4" 10
2001:db8:aaaa:105::/64 srv6-isis SRV6 524291 0
fe80::1e:1ff:fe01:15-"int-PE-2-PE-5" 10
-------------------------------------------------------------------------------
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
===============================================================================
EVPN and VPLS integration
EVPN and VPLS integration (RFC 8560) is supported when SRv6 transport is used. SDP bindings signaled by TLDP (manually configured or BGP-AD) or BGP can coexist in VPLS services where EVPN SRv6 is enabled. The SR OS node allows for the creation of an EVPN destination and an SDP binding to the same far end, but the SDP binding is kept operationally down with a flag indicating an EVPN route conflict.
On PE-2 and PE-5, LDP SDPs are created, as follows:
# on PE-2:
configure {
router "Base" {
ldp {
interface-parameters {
interface "int-PE-2-PE-5" { # on PE-5: "int-PE-5-PE-2"
ipv6 {
admin-state enable
}
}
}
}
}
service {
sdp 25 { # on PE-5: sdp 52
admin-state enable
delivery-type mpls
ldp true
far-end {
ip-address 2001:db8::2:5 # on PE-5: 2001:db8::2:2
}
}
vpls "VPLS-1" {
spoke-sdp 25:1 { # on PE-5: spoke-sdp 52:1
}
}
PE-2 still has an SRv6-ISIS tunnel toward 2001:db8:aaaa:105::/64 on PE-5, as follows:
[/]
A:admin@PE-2# show router tunnel-table ipv6 protocol srv6-isis
===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref
Nexthop Color Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64 srv6-isis SRV6 524289 0
fe80::14:1ff:fe01:1f-"int-PE-2-PE-3" 10
2001:db8:aaaa:104::/64 srv6-isis SRV6 524290 0
fe80::1a:1ff:fe01:b-"int-PE-2-PE-4" 10
2001:db8:aaaa:105::/64 srv6-isis SRV6 524291 0
fe80::1e:1ff:fe01:15-"int-PE-2-PE-5" 10
-------------------------------------------------------------------------------
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 spoke SDP from PE-2 to PE-5 is operationally down and no egress label is allocated, as follows:
[/]
A:admin@PE-2# show service id "VPLS-1" sdp 25:1
===============================================================================
Service Destination Point (Sdp Id : 25:1)
===============================================================================
SdpId Type Far End addr Adm Opr I.Lbl E.Lbl
-------------------------------------------------------------------------------
25:1 Spok Up Down 524282 None
2001:db8::2:5
-------------------------------------------------------------------------------
Number of SDPs : 1
-------------------------------------------------------------------------------
===============================================================================
The reason why the spoke SDP from PE-2 to PE-5 is operationally down is because of an EVPN route conflict, as follows:
[/]
A:admin@PE-2# show service id "VPLS-1" sdp 25:1 detail | match Flag post-lines 1
Flags : NoEgrVCLabel
EvpnRouteConflict
Tools commands
The following command shows the EVPN usage statistics:
[/]
A:admin@PE-2# tools dump service evpn usage
vxlan-srv6-evpn-mpls usage statistics at 04/23/2024 11:39:10:
MPLS-TEP : 0
VXLAN-TEP : 0
SRV6-TEP : 3
Total-TEP : 3/ 16383
Mpls Dests (TEP, Egress Label + ES + ES-BMAC) : 0
Mpls Etree Leaf Dests : 0
Vxlan Dests (TEP, Egress VNI + ES) : 0
Srv6 Dests (TEP, SID + ES) : 4
Total-Dest : 4/196607
Sdp Bind + Evpn Dests : 4/245759
ES L2/L3 PBR : 0/ 32767
Evpn Etree Remote BUM Leaf Labels : 0
[/]
A:admin@PE-2# tools dump router segment-routing-v6 usage
Segment Routing v6 Usage
Service SID index: 6/262128
In the case of failure to instantiate an EVPN destination, the tools dump service id "VPLS-1" srv6 command provides the following statistics:
[/]
A:admin@PE-2# tools dump service id "VPLS-1" srv6
TEP, Egress Bind Failure statistics at 04/23/2024 11:39:10:
statistics last cleared at 04/23/2024 09:26:33:
Failures: None
EVPN VPLS using SRv6 with micro-segment locator
SRv6 micro-segment configuration on core PEs
On all core PEs, a micro-segment and a micro-segment locator are configured on PE-2, as follows:
# on PE-2:
configure {
router "Base" {
mpls-labels {
reserved-label-block "res-block1" {
start-label 19000
end-label 19999
}
}
isis 0 {
segment-routing-v6 {
micro-segment-locator "PE2-mloc" {
level 1 {
}
level 2 {
}
}
}
}
segment-routing {
segment-routing-v6 {
origination-fpe [1]
source-address 2001:db8::2:2
micro-segment-locator "PE2-mloc" { # or PE3-mloc, PE4-mloc, PE5-mloc
admin-state enable
block "PE2-ms-block1"
un {
srh-mode usp
value 2 # on PE-3: value 3; PE-4: value 4; PE-5: value 5
}
}
micro-segment {
argument-length 16
block "PE2-ms-block1" { # PE3-ms-block1, PE4-ms-block1, PE5-ms-block1
admin-state enable
termination-fpe [2]
label-block "res-block1"
prefix {
ip-prefix 2001:bbbb::/32 # on all PEs; block length 32
}
static-function {
max-entries 16
}
}
}
base-routing-instance {
micro-segment-locator "PE2-mloc" { # or PE3-mloc, PE4-mloc, PE5-mloc
function {
ua 1 {
srh-mode usp
}
ua-auto-allocate psp protection unprotected { }
}
}
}
}
}
The micro-segment locator contains a micro-segment node value (un value) that must be unique network-wide. The un function is equivalent to the regular SRv6 End function, but it is configured in the micro-segment-locator context instead of the Base instance. The un value command creates a node identifier as an IPv6 address that is composed of the block part and followed by a 16-bit SID.
The ua micro-SID function encodes the behavior of an adjacency SID.
The following error message is raised when an IP prefix is configured with a length of /48 that is different from the block length of /32:
*[ex:/configure router "Base" segment-routing segment-routing-v6 micro-segment
block "PE2-ms-block1" prefix]
A:admin@PE-2# commit
MINOR: MGMT_CORE #4001: configure router "Base" segment-routing segment-routing-v6
micro-segment block "PE2-ms-block1" prefix ip-prefix -
prefix-length must be equal to block-length -
configure router "Base" segment-routing segment-routing-v6 micro-segment block-length
Service configuration
On MTU-1, VPLS-2 is configured as follows:
# on MTU-1:
configure {
service {
vpls "VPLS-2" {
admin-state enable
service-id 2
customer "1"
sap 1/1/c10/1:2 {
}
sap lag-1:2 {
}
}
On PE-2 and PE-3, VPLS-2 is configured with all-active multihoming using ES "AA-vES-23-1". The micro-segment locator is configured with the End.uDT2U and End.uDT2M functions, as follows:
# on PE-2:
configure {
service {
vpls "VPLS-2" {
admin-state enable
service-id 2
customer "1"
segment-routing-v6 1 {
micro-segment-locator "PE2-mloc" { # on PE-3: PE3-mloc
function {
udt2m {
}
udt2u {
}
}
}
}
bgp 1 {
}
bgp-evpn {
evi 2
segment-routing-v6 1 {
admin-state enable
ecmp 2
source-address 2001:db8::2:2 # on PE-3: 2001:db8::2:3
srv6 {
instance 1
default-locator "PE2-mloc" # on PE-3: PE3-mloc
}
route-next-hop {
ip-address 2001:db8::2:2 # on PE-3: 2001:db8::2:3
}
}
}
sap lag-1:2 {
}
The VPLS-2 configuration on PE-4 uses spoke SDP 46:2, while on PE-5, spoke SDP 56:2 is used, as follows:
# on PE-4:
configure {
service {
vpls "VPLS-2" {
admin-state enable
service-id 2
customer "1"
segment-routing-v6 1 {
micro-segment-locator "PE4-mloc" { # on PE-5: PE5-mloc
function {
udt2m {
}
udt2u {
}
}
}
}
bgp 1 {
}
bgp-evpn {
evi 2
segment-routing-v6 1 {
admin-state enable
ecmp 2
source-address 2001:db8::2:4 # on PE-5: PE5-mloc; 2001:db8::2:5
srv6 {
instance 1
default-locator "PE4-mloc" # on PE-5: PE5-mloc
}
route-next-hop {
ip-address 2001:db8::2:4 # on PE-5: 2001:db8::2:5
}
}
}
spoke-sdp 46:2 { # on PE-5: spoke-sdp 56:2
}
}
The configuration for VPLS-2 on MTU-6 is as follows:
# on MTU-6:
configure {
service {
vpls "VPLS-2" {
admin-state enable
service-id 2
customer "1"
endpoint "CORE" {
}
spoke-sdp 64:2 {
endpoint {
name "CORE"
}
stp {
admin-state disable
}
}
spoke-sdp 65:2 {
endpoint {
name "CORE"
}
stp {
admin-state disable
}
}
sap 1/1/c10/1:2 {
}
}
Verification
PE-2 already had three SRv6-ISIS tunnels to the locators 2001:db8:aaaa:103::/64 on PE-3, 2001:db8:aaaa:104::/64 on PE-4, and 2001:db8:aaaa:105::/64 on PE-5. Now, PE-2 also has SRv6-ISIS tunnels to the micro-segment locators 2001:bbbb:3::/48 on PE-3, 2001:bbbb:4::/48 on PE-4, and 2001:bbbb:5::/48 on PE-5, as follows:
[/]
A:admin@PE-2# show router tunnel-table ipv6 protocol srv6-isis
===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref
Nexthop Color Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64 srv6-isis SRV6 524289 0
fe80::14:1ff:fe01:1f-"int-PE-2-PE-3" 10
2001:db8:aaaa:104::/64 srv6-isis SRV6 524290 0
fe80::1a:1ff:fe01:b-"int-PE-2-PE-4" 10
2001:db8:aaaa:105::/64 srv6-isis SRV6 524291 0
fe80::1e:1ff:fe01:15-"int-PE-2-PE-5" 10
2001:bbbb:3::/48 srv6-isis SRV6 524292 0
fe80::14:1ff:fe01:1f-"int-PE-2-PE-3" 10
2001:bbbb:4::/48 srv6-isis SRV6 524293 0
fe80::1a:1ff:fe01:b-"int-PE-2-PE-4" 10
2001:bbbb:5::/48 srv6-isis SRV6 524294 0
fe80::1e:1ff:fe01:15-"int-PE-2-PE-5" 10
-------------------------------------------------------------------------------
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 IPv6 route table on PE-2 shows the following tunneled routes to the locators and the micro-segment locators on PE-3, PE-4, and PE-5:
[/]
A:admin@PE-2# show router route-table ipv6 next-hop-type tunneled
===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64 Remote ISIS 00h39m56s 18
2001:db8:aaaa:103::/64 (tunneled:SRV6-ISIS) 10
2001:db8:aaaa:104::/64 Remote ISIS 00h39m37s 18
2001:db8:aaaa:104::/64 (tunneled:SRV6-ISIS) 10
2001:db8:aaaa:105::/64 Remote ISIS 00h39m09s 18
2001:db8:aaaa:105::/64 (tunneled:SRV6-ISIS) 10
2001:bbbb:3::/48 Remote ISIS 00h04m36s 18
2001:bbbb:3::/48 (tunneled:SRV6-ISIS) 10
2001:bbbb:4::/48 Remote ISIS 00h04m30s 18
2001:bbbb:4::/48 (tunneled:SRV6-ISIS) 10
2001:bbbb:5::/48 Remote ISIS 00h04m22s 18
2001:bbbb:5::/48 (tunneled:SRV6-ISIS) 10
-------------------------------------------------------------------------------
No. of Routes: 6
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================
Multihoming and FDBs
PE-3 is DF in the all-active ES for VPLS-2, as follows:
[/]
A:admin@PE-3# show service id "VPLS-2" ethernet-segment
===============================================================================
SAP Ethernet-Segment Information
===============================================================================
SAP Eth-Seg Status
-------------------------------------------------------------------------------
lag-1:2 AA-vES-23-1 DF
===============================================================================
No sdp entries
No vxlan instance entries
PE-4 is DF in the single-active ES for VPLS-2, as follows:
[/]
A:admin@PE-4# show service id "VPLS-2" ethernet-segment
No sap entries
===============================================================================
SDP Ethernet-Segment Information
===============================================================================
SDP Eth-Seg Status
-------------------------------------------------------------------------------
46:2 SA-ES-45 DF
===============================================================================
No vxlan instance entries
When traffic is sent between CE-21 and CE-26, the FDBs are populated; on MTU-1 as follows:
[/]
A:admin@MTU-1# show service id "VPLS-2" fdb detail
===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
2 00:00:5e:00:53:21 sap:1/1/c10/1:2 L/120 04/23/24 11:40:46
2 00:00:5e:00:53:26 sap:lag-1:2 L/120 04/23/24 11:41:48
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
The VPLS-2 FDBs on PE-2 and PE-3 are similar. CE-21 can be reached through the LAG, while CE-26 can be reached via the single-active ES between PE-4 and PE-5, as follows:
[/]
A:admin@PE-2# show service id "VPLS-2" fdb detail
===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
2 00:00:5e:00:53:21 sap:lag-1:2 LT/0 04/23/24 11:41:55
2 00:00:5e:00:53:26 eES: Evpn 04/23/24 11:41:48
01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
[/]
A:admin@PE-3# show service id "VPLS-2" fdb detail
===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
2 00:00:5e:00:53:21 sap:lag-1:2 L/388 04/23/24 11:41:55
2 00:00:5e:00:53:26 eES: Evpn 04/23/24 11:41:48
01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
On DF PE-4, CE-21 can be reached via the all-active ES with ESI 01:00:00:00:00:23:00:00:01:01, while CE-26 can be reached via spoke SDP 46:2, as follows:
[/]
A:admin@PE-4# show service id "VPLS-2" fdb detail
===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
2 00:00:5e:00:53:21 eES: Evpn 04/23/24 11:41:55
01:00:00:00:00:23:00:00:01:01
2 00:00:5e:00:53:26 sdp:46:2 LT/0 04/23/24 11:41:47
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
On NDF PE-5, CE-21 can be reached via the all-active ES with ESI 01:00:00:00:00:23:00:00:01:01, while CE-26 can be reached via DF PE-4, as follows:
[/]
A:admin@PE-5# show service id "VPLS-2" fdb detail
===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
2 00:00:5e:00:53:21 eES: Evpn 04/23/24 11:41:55
01:00:00:00:00:23:00:00:01:01
2 00:00:5e:00:53:26 eES: Evpn 04/23/24 11:41:48
01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
On MTU-6, CE-21 can be reached via spoke SDP 64:2 to PE-4, while CE-26 can be reached via SAP 1/1/c10/1:2, as follows:
[/]
A:admin@MTU-6# show service id "VPLS-2" fdb detail
===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
2 00:00:5e:00:53:21 sdp:64:2 L/0 04/23/24 11:41:55
2 00:00:5e:00:53:26 sap:1/1/c10/1:2 L/0 04/23/24 11:41:45
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
BGP-EVPN routes
PE-2 received the following EVPN-MAC route containing the CE-26 MAC address from DF PE-4 with SRv6 SID 2001:bbbb:4:: and endpoint behavior 0x43 = 67 for End.uDT2U:
# on PE-2:
149 2024/04/23 11:41:47.505 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:4
"Peer 1: 2001:db8::2:4: UPDATE
Peer 1: 2001:db8::2:4 - Received BGP UPDATE:
Withdrawn Length = 0
Total Path Attr Length = 125
Flag: 0x90 Type: 14 Len: 56 Multiprotocol Reachable NLRI:
Address Family EVPN
NextHop len 16 Global NextHop 2001:db8::2:4
Type: EVPN-MAC Len: 33 RD: 192.0.2.4:2 ESI: 01:00:00:00:00:45:00:00:00:01,
tag: 0, mac len: 48 mac: 00:00:5e:00:53:26, IP len: 0,
IP: NULL, label1: 4198656 (Raw Label: 0x401100)
Flag: 0x40 Type: 1 Len: 1 Origin: 0
Flag: 0x40 Type: 2 Len: 0 AS Path:
Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
Flag: 0xc0 Type: 16 Len: 8 Extended Community:
target:64500:2
Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
SRv6 Services TLV (37 bytes):-
Type: SRV6 L2 Service TLV (6)
Length: 34 bytes, Reserved: 0x0
SRv6 Service Information Sub-TLV (33 bytes)
Type: 1 Len: 30 Rsvd1: 0x0
SRv6 SID: 2001:bbbb:4::
SID Flags: 0x0 Endpoint Behavior: 0x43 Rsvd2: 0x0
SRv6 SID Sub-Sub-TLV
Type: 1 Len: 6
BL:32 NL:16 FL:16 AL:0 TL:16 TO:48
"
The following command shows the same EVPN-MAC route containing the CE-26 MAC address:
[/]
A:admin@PE-2# show router bgp routes evpn mac mac-address 00:00:5e:00:53:26 detail
===============================================================================
BGP Router ID:192.0.2.2 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 MAC Routes
===============================================================================
Original Attributes
Network : n/a
Nexthop : 2001:db8::2:4
Path Id : None
From : 2001:db8::2:4
Res. Nexthop : fe80::1a:1ff:fe01:b
Local Pref. : 100 Interface Name : int-PE-2-PE-4
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 10
Connector : None
Community : target:64500:2
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.4
Origin : IGP
Flags : Used Valid Best
Route Source : Internal
AS-Path : No As-Path
EVPN type : MAC
ESI : 01:00:00:00:00:45:00:00:00:01
Tag : 0
IP Address : n/a
Route Dist. : 192.0.2.4:2
Mac Address : 00:00:5e:00:53:26
MPLS Label1 : 16401 MPLS Label2 : n/a
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 : 00h07m53s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:bbbb:4::
Full Sid : 2001:bbbb:4:4011::
Behavior : End.uDT2U (67)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 32 Loc-Node-Len : 16
Func-Len : 16 Arg-Len : 0
Tpose-Len : 16 Tpose-offset : 48
---snip---
The full SID 2001:bbbb:4:4011:: contains the 32-bit prefix 2001:bbbb, the uN value 4 for PE-4, and the function 0x4011 = 16401 for the End.uDT2U SID in the following list on PE-4:
[/]
A:admin@PE-4# show router segment-routing-v6 micro-segment-local-sid
===============================================================================
Micro Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Micro Segment Locator
Context
-------------------------------------------------------------------------------
2001:bbbb:4:: uN 4
PE4-mloc
None
2001:bbbb:4:4010:: uA 16400
PE4-mloc
None
2001:bbbb:4:4011:: uDT2U 16401
PE4-mloc
SvcId: 2 Name: VPLS-2
2001:bbbb:4:4012:: uDT2M 16402
PE4-mloc
SvcId: 2 Name: VPLS-2
2001:bbbb:4:43e8:: uA 17384
PE4-mloc
None
2001:bbbb:4:43e9:: uA 17385
PE4-mloc
None
2001:bbbb:4:43ea:: uA 17386
PE4-mloc
None
-------------------------------------------------------------------------------
SIDs : 7
-------------------------------------------------------------------------------
===============================================================================
PE-2 received the following IMET route with endpoint behavior 0x44 = 68 for End.uDT2M from PE-4:
122 2024/04/23 11:41:30.038 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:4
"Peer 1: 2001:db8::2:4: UPDATE
Peer 1: 2001:db8::2:4 - Received BGP UPDATE:
Withdrawn Length = 0
Total Path Attr Length = 145
Flag: 0x90 Type: 14 Len: 52 Multiprotocol Reachable NLRI:
Address Family EVPN
NextHop len 16 Global NextHop 2001:db8::2:4
Type: EVPN-INCL-MCAST Len: 29 RD: 192.0.2.4:2, tag: 0,
orig_addr len: 128, orig_addr: 2001:db8::2:4
Flag: 0x40 Type: 1 Len: 1 Origin: 0
Flag: 0x40 Type: 2 Len: 0 AS Path:
Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
Flag: 0xc0 Type: 16 Len: 8 Extended Community:
target:64500:2
Flag: 0xc0 Type: 22 Len: 21 PMSI:
Tunnel-type Ingress Replication (6)
Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
MPLS Label 4198912
Tunnel-Endpoint 2001:db8::2:4
Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
SRv6 Services TLV (37 bytes):-
Type: SRV6 L2 Service TLV (6)
Length: 34 bytes, Reserved: 0x0
SRv6 Service Information Sub-TLV (33 bytes)
Type: 1 Len: 30 Rsvd1: 0x0
SRv6 SID: 2001:bbbb:4::
SID Flags: 0x0 Endpoint Behavior: 0x44 Rsvd2: 0x0
SRv6 SID Sub-Sub-TLV
Type: 1 Len: 6
BL:32 NL:16 FL:16 AL:16 TL:16 TO:48
"
The following shows the same IMET route:
[/]
A:admin@PE-2# show router bgp routes evpn incl-mcast community target:64500:2 hunt
===============================================================================
BGP Router ID:192.0.2.2 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
===============================================================================
-------------------------------------------------------------------------------
RIB In Entries
-------------------------------------------------------------------------------
---snip---
Network : n/a
Nexthop : 2001:db8::2:4
Path Id : None
From : 2001:db8::2:4
Res. Nexthop : fe80::1a:1ff:fe01:b
Local Pref. : 100 Interface Name : int-PE-2-PE-4
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 10
Connector : None
Community : target:64500:2
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.4
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:4
Route Dist. : 192.0.2.4:2
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 : 00h09m02s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:bbbb:4::
Full Sid : 2001:bbbb:4: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:4
-------------------------------------------------------------------------------
---snip---
PE-2 receives the following EVPN-AD routes from PE-4: the first route is an AD per-EVI route and the second one is an AD per-ES route:
[/]
A:admin@PE-2# show router bgp routes evpn auto-disc rd 192.0.2.4:2 detail
===============================================================================
BGP Router ID:192.0.2.2 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:4
Path Id : None
From : 2001:db8::2:4
Res. Nexthop : fe80::1a:1ff:fe01:b
Local Pref. : 100 Interface Name : int-PE-2-PE-4
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 10
Connector : None
Community : target:64500:2
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.4
Origin : IGP
Flags : Used Valid Best
Route Source : Internal
AS-Path : No As-Path
EVPN type : AUTO-DISC
ESI : 01:00:00:00:00:45:00:00:00:01
Tag : 0
Route Dist. : 192.0.2.4:2
MPLS Label : 16401
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 : 00h10m31s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:bbbb:4::
Full Sid : 2001:bbbb:4:4011::
Behavior : End.uDT2U (67)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 32 Loc-Node-Len : 16
Func-Len : 16 Arg-Len : 0
Tpose-Len : 16 Tpose-offset : 48
---snip---
-------------------------------------------------------------------------------
Original Attributes
Network : n/a
Nexthop : 2001:db8::2:4
Path Id : None
From : 2001:db8::2:4
Res. Nexthop : fe80::1a:1ff:fe01:b
Local Pref. : 100 Interface Name : int-PE-2-PE-4
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 0
Connector : None
Community : target:64500:2 esi-label:1/Single-Active
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.4
Origin : IGP
Flags : Used Valid Best
Route Source : Internal
AS-Path : No As-Path
EVPN type : AUTO-DISC
ESI : 01:00:00:00:00:45:00:00:00:01
Tag : MAX-ET
Route Dist. : 192.0.2.4:2
MPLS Label : 0
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 : 00h10m45s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : ::
Full Sid : ::
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 : 64
---snip---
ES "SA-ES-45" is configured in a single-active multihoming mode with the ESI label; therefore, PE-4 sends AD per-ES routes that carry the arg.fe2 value. The SID structure in the SRv6 sub-sub-TLV indicates that the argument length is 16 bits. The 16-bit length of the arg.fe2 value is transposed into the ESI label extended community label field. The transposition length is 16 (argument length 16) and the transposition offset is 64 (block length 32 + node length 16 + function length 16). The SRv6 SID is :: (0).
SRv6 functions and SIDs
The following command on PE-2 shows the SIDs for the End.uDT2U and End.uDT2M functions:
[/]
A:admin@PE-2# show router segment-routing-v6 micro-segment-local-sid udt2u udt2m
===============================================================================
Micro Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Micro Segment Locator
Context
-------------------------------------------------------------------------------
2001:bbbb:2:4011:: uDT2U 16401
PE2-mloc
SvcId: 2 Name: VPLS-2
2001:bbbb:2:4012:: uDT2M 16402
PE2-mloc
SvcId: 2 Name: VPLS-2
-------------------------------------------------------------------------------
SIDs : 2
-------------------------------------------------------------------------------
===============================================================================
The same SRv6 functions and SIDs are applied in the VPLS-2 service, as follows:
[/]
A:admin@PE-2# show service id "VPLS-2" segment-routing-v6 detail
===============================================================================
Micro Segment Routing v6 Instance 1 Service 2
===============================================================================
Micro Segment Locator
Type Function SID Status
Oper Func
-------------------------------------------------------------------------------
PE2-mloc
uDT2U *- 2001:bbbb:2:4011:: ok
16401
uDT2M *- 2001:bbbb:2:4012:: ok
16402
===============================================================================
Legend: * - System allocated
The following command on PE-2 shows the SRv6 destinations in VPLS-2:
[/]
A:admin@PE-2# show service id "VPLS-2" segment-routing-v6 destinations
===============================================================================
TEP, SID (Instance 1)
===============================================================================
TEP Address Segment Id Oper Mcast Num
State MACs
-------------------------------------------------------------------------------
2001:db8::2:3 2001:bbbb:3:4012:: Up BUM 0
2001:db8::2:4 2001:bbbb:4:4012:: Up BUM 0
2001:db8::2:5 2001:bbbb:5:4012:: Up BUM 0
-------------------------------------------------------------------------------
Number of TEP, SID: 3
-------------------------------------------------------------------------------
===============================================================================
===============================================================================
Segment Routing v6 Ethernet Segment Dest (Instance 1)
===============================================================================
Eth SegId Num. Macs Last Update
-------------------------------------------------------------------------------
01:00:00:00:00:45:00:00:00:01 1 04/23/2024 11:41:48
-------------------------------------------------------------------------------
Number of entries: 1
-------------------------------------------------------------------------------
===============================================================================
The ping or traceroute commands are used to verify the connectivity toward the remote SRv6 SIDs, for example, for the End.uDT2U function, as follows:
[/]
A:admin@PE-2# ping 2001:bbbb:3:4011:: interval 0.1 output-format summary
PING 2001:bbbb:3:4011:: 56 data bytes
!!!!!
---- 2001:bbbb:3:4011:: PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 2.11ms, avg = 2.40ms, max = 2.65ms, stddev = 0.211ms
[/]
A:admin@PE-2# traceroute 2001:bbbb:5:4011::
traceroute to 2001:bbbb:5:4011::, 30 hops max, 60 byte packets
1 2001:db8::2:5 (2001:db8::2:5) 2.46 ms 2.89 ms 2.68 ms
Conclusion
EVPN VPLS services using SRv6 transport can be configured with locators as well as micro-segment locators. Both all-active and single-active multihoming modes are supported.