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 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:
*A:PE-2>config>router>segment-routing>srv6>locator# ?
[no] algorithm - Configure a Flex Algorithm for segment routing v6
argument-length - Configure segment argument length
[no] block-length - Configure block length for segment routing v6 locator
[no] function-length - Configure function length for segment routing v6 locator
[no] label-block - Configure reserved label block for allocation of static and
dynamic labels for the segment routing v6 locator
prefix + Configure ipv6 prefix parameters for locator
[no] shutdown - Administratively disable or enable the locator
static-function + Configure static function parameters for segment routing v6 locator
[no] termination-fpe - Configure fpe for segment routing v6 locator
The only two possible values for the argument length are 0 (default) and 16, as follows:
*A:PE-2>config>router>segment-routing>srv6>locator# argument-length ?
- argument-length {0|16}
The block length can have any value from 0 to 96, as follows:
*A:PE-2>config>router>segment-routing>srv6>locator# block-length ?
- block-length <block-length>
- no block-length
<block-length> : [0..96]
The function length can be 16 or any value from 20 to 96, as follows:
*A:PE-2>config>router>segment-routing>srv6>locator# function-length ?
- function-length <function-length>
- no function-length
<function-length> : 16 | [20..96]
- 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:
*A:PE-2>config>router>segment-routing>srv6# micro-segment ?
- micro-segment
- no micro-segment
argument-length - Configure micro-segment argument length
[no] block + Configure micro-segment block
block-length - Configure micro-segment block length
global-sid-ent* - Configure micro-segment global SID entries
sid-length - Configure micro-segment SID length
The argument length is either 0 or 16, as follows:
*A:PE-2>conf>router>sr>srv6>micro-segment# argument-length ?
- argument-length {0|16}
For micro-segments, the block length must be a multiple of 8, with a maximum of 64, as follows:
*A:PE-2>conf>router>sr>srv6>micro-segment# block-length ?
- block-length {8|16|24|32|40|48|56|64}
The micro-segment SID length can only be 16, as follows:
*A:PE-2>conf>router>sr>srv6>micro-segment# sid-length ?
- sid-length {16}
- 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:
*A:PE-2>config>service>vpls>srv6$ ?
[no] locator + Configure locator information
[no] micro-segment-* + Configure micro segment locator information
The EVPN VPLS can be configured with an SRv6 locator, as follows:
*A:PE-2>config>service>vpls>srv6# locator "PE2-loc" ?
- locator <name>
- no locator <name>
<name> : [64 chars max]
function + Configure function value information
When a locator is configured, the possible functions are End.DT2U for known unicast traffic and End.DT2M for BUM traffic, as follows:
*A:PE-2>config>service>vpls>srv6>locator# function ?
- function
[no] end-dt2m - Configure endpoint DT2M function value
[no] end-dt2u - Configure endpoint DT2U function value
When a micro-segment locator is configured, the functions are End.uDT2U for known unicast traffic and End.uDT2M for BUM traffic, as follows:
*A:PE-2>config>service>vpls>srv6# micro-segment-locator "PE2-mloc" function ?
- function
[no] udt2m - Configure micro-segment DT2M function value
[no] udt2u - Configure micro-segment DT2U function value
In the bgp-evpn segment-routing-v6 context, the following can be configured:
*A:PE-2>config>service>vpls>bgp-evpn# segment-routing-v6 ?
- segment-routing-v6 [bgp <bgp-instance>] [srv6-instance <[1..1]>] [default-locator <name>]
[create]
- no segment-routing-v6 [bgp <bgp-instance>]
<bgp-instance> : [1..2]
<name> : [64 chars max]
<create> : keyword
[no] default-route-* - Configure default-route-tag to match against export policies
ecmp - Configure maximum ECMP routes information
[no] evi-three-byte* - Enable/Disable evi-three-byte-auto-rt
[no] force-qinq-vc-* - Forces qinq-vc-type forwarding in the data-path
[no] force-vlan-vc-* - Forces vlan-vc-type forwarding in the data-path
mh-mode - Configure multi-homing mode
[no] oper-group - Configure oper-group
resolution - Configure route resolution options
[no] restrict-prote* - Enable/disable protected src MAC restriction
route-next-hop - Configure route next-hop
[no] shutdown - Enable/disable SRV6
[no] source-address - Configure source IPv6 address
[no] split-horizon-* - Configure a split-horizon-group
- 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-qinq-vc-forwarding command is used to preserve two VLAN tags in the SRv6 tunnel.
- The force-vlan-vc-forwarding command is used to preserve one VLAN tag 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 restrict-protected-src discard-frame command is required for loop avoidance along with mac-duplication blackhole.
- 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:
*A:PE-2>config>service>vpls# sap lag-1:3 create
MINOR: SVCMGR #6044 Cannot create sap - Associated Srv6 Svc 3 has locators with no argument length configured
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-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:3
exit
neighbor 2001:db8::2:4
exit
neighbor 2001:db8::2:5
exit
exit
exit
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 create
loopback 1 create
exit
loopback 2 create
exit
exit
exit
no shutdown
exit
exit
port-xc
pxc 1 create
port 1/1/m1/1
no shutdown
exit
pxc 2 create
port 1/1/m1/2
no shutdown
exit
exit
port pxc-1.a
ethernet
exit
no shutdown
exit
port pxc-1.b
ethernet
exit
no shutdown
exit
port pxc-2.a
ethernet
exit
no shutdown
exit
port pxc-2.b
ethernet
exit
no shutdown
exit
port 1/1/m1/1
no shutdown
exit
port 1/1/m1/2
no shutdown
exit
fwd-path-ext
fpe 1 create
path pxc 1
srv6 origination
interface-a
exit
interface-b
exit
exit
exit
fpe 2 create
path pxc 2
srv6 termination
interface-a
exit
interface-b
exit
exit
exit
exit
router Base
---snip---
mpls-labels
reserved-label-block "srv6-labels" # optional
start-label 20000 end-label 20999
exit
exit
segment-routing
segment-routing-v6
origination-fpe 1
source-address 2001:db8::2:2
locator "PE2-loc"
block-length 48
label-block "srv6-labels"
function-length 16
termination-fpe 2
prefix
ip-prefix 2001:db8:aaaa:102::/64
exit
static-function
exit
argument-length 16
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
exit
exit
exit
exit
exit
isis 0
area-id 49.0001
traffic-engineering
traffic-engineering-options
ipv6
application-link-attributes
exit
exit
advertise-passive-only
advertise-router-capability as
ipv6-routing native
level 1
wide-metrics-only
exit
level 2
wide-metrics-only
exit
segment-routing-v6
locator "PE2-loc"
level 1
exit
level 2
exit
exit
no shutdown
exit
interface "system"
passive
exit
interface "int-PE-2-PE-3"
level-capability level-2
interface-type point-to-point
exit
interface "int-PE-2-PE-4"
level-capability level-2
interface-type point-to-point
exit
interface "int-PE-2-PE-5"
level-capability level-2
interface-type point-to-point
exit
no shutdown
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 1 name "VPLS-1" customer 1 create
stp
shutdown
exit
sap 1/1/c10/1:1 create
description "SAP to CE-11"
no shutdown
exit
sap lag-1:1 create
no shutdown
exit
no shutdown
On PE-2 and PE-3, all-active multihoming is configured, as follows:
# on PE-2:
configure
service
system
bgp-evpn
ethernet-segment "AA-vES-23-1" virtual create
esi 01:00:00:00:00:23:00:00:01:01
es-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
es-activation-timer 3
service-carving
mode manual
manual
preference non-revertive create
value 100 # on PE-3: value 150
exit
exit
exit
multi-homing all-active
lag 1
dot1q
q-tag-range 1 to 3
exit
no shutdown
exit
exit
exit
vpls 1 name "VPLS-1" customer 1 create
segment-routing-v6 1 create
locator "PE2-loc" # on PE-3: "PE3-loc"
function
end-dt2u # label dynamically allocated; label block
end-dt2m # label dynamically allocated; label block
exit
exit
exit
bgp
exit
bgp-evpn
evi 1
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE2-loc" create
source-address 2001:db8::2:2 # on PE-3: "PE3-loc" - 2001:db8::2:3
ecmp 2
route-next-hop 2001:db8::2:2 # on PE-3: "PE3-loc" - 2001:db8::2:3
no shutdown
exit
exit
stp
shutdown
exit
sap lag-1:1 create
no shutdown
exit
no shutdown
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 15. 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
locator "PE4-loc"
block-length 48
label-block "srv6-labels"
function-length 16
termination-fpe 2
prefix
ip-prefix 2001:db8:aaaa:104::/64
exit
static-function
max-entries 15
exit
argument-length 16
no shutdown
exit
exit
exit
exit
service
sdp 46 mpls create
far-end 2001:db8::2:6
ldp
keep-alive
shutdown
exit
no shutdown
exit
system
bgp-evpn
ethernet-segment "SA-ES-45" create
esi 01:00:00:00:00:45:00:00:00:01
es-orig-ip 2001:db8::2:4
route-next-hop 2001:db8::2:4
es-activation-timer 3
service-carving
mode auto
exit
multi-homing single-active
sdp 46
no shutdown
exit
exit
exit
vpls 1 name "VPLS-1" customer 1 create
segment-routing-v6 1 create
locator "PE4-loc"
function
end-dt2u 10 # configured function value
end-dt2m 11 # configured function value
exit
exit
exit
bgp
exit
bgp-evpn
evi 1
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE4-loc" create
source-address 2001:db8::2:4
ecmp 2
route-next-hop 2001:db8::2:4
no shutdown
exit
exit
stp
shutdown
exit
spoke-sdp 46:1 create
no shutdown
exit
no shutdown
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"
block-length 48
function-length 24
termination-fpe 2
prefix
ip-prefix 2001:db8:aaaa:105::/64
exit
static-function
exit
argument-length 16
no shutdown
exit
base-routing-instance
locator "PE5-loc"
function
end-x-auto-allocate srh-mode psp protection unprotected
end 1
srh-mode usp
exit
exit
exit
exit
exit
exit
exit
service
sdp 56 mpls create
far-end 2001:db8::2:6
ldp
keep-alive
shutdown
exit
no shutdown
exit
system
bgp-evpn
ethernet-segment "SA-ES-45" create
esi 01:00:00:00:00:45:00:00:00:01
es-orig-ip 2001:db8::2:5
route-next-hop 2001:db8::2:5
es-activation-timer 3
service-carving
mode auto
exit
multi-homing single-active
sdp 56
no shutdown
exit
exit
exit
vpls 1 name "VPLS-1" customer 1 create
segment-routing-v6 1 create
locator "PE5-loc"
function
end-dt2u # dynamic label; no label block defined
end-dt2m # dynamic label; no label block defined
exit
exit
exit
bgp
exit
bgp-evpn
evi 1
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE5-loc" create
source-address 2001:db8::2:5
ecmp 2
route-next-hop 2001:db8::2:5
no shutdown
exit
exit
stp
shutdown
exit
spoke-sdp 56:1 create
no shutdown
exit
no shutdown
The service configuration on MTU-6 is as follows:
# on MTU-6:
configure
service
sdp 64 mpls create
far-end 2001:db8::2:4
ldp
keep-alive
shutdown
exit
no shutdown
exit
sdp 65 mpls create
far-end 2001:db8::2:5
ldp
keep-alive
shutdown
exit
no shutdown
exit
vpls 1 name "VPLS-1" customer 1 create
endpoint "CORE" create
exit
stp
shutdown
exit
sap 1/1/c10/1:1 create
no shutdown
exit
spoke-sdp 64:1 endpoint "CORE" create
stp
shutdown
exit
no shutdown
exit
spoke-sdp 65:1 endpoint "CORE" create
stp
shutdown
exit
no shutdown
exit
no shutdown
Verification
The following command shows the configured BGP-EVPN SRv6 parameters:
*A: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: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: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:f800:: 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 03/18/2024 15:42:31
-------------------------------------------------------------------------------
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: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: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: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: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: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 00h07m51s 18
2001:db8:aaaa:103::/64 (tunneled:SRV6-ISIS) 10
2001:db8:aaaa:104::/64 Remote ISIS 00h07m43s 18
2001:db8:aaaa:104::/64 (tunneled:SRV6-ISIS) 10
2001:db8:aaaa:105::/64 Remote ISIS 00h07m21s 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: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/120 03/18/24 15:27:04
1 00:00:5e:00:53:16 sap:lag-1:1 L/120 03/18/24 15:28:01
-------------------------------------------------------------------------------
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: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 LT/90 03/18/24 15:28:01
1 00:00:5e:00:53:16 eES: Evpn 03/18/24 15:28:01
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: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 03/18/24 15:28:01
1 00:00:5e:00:53:16 eES: Evpn 03/18/24 15:28:01
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: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 03/18/24 15:28:01
01:00:00:00:00:23:00:00:01:01
1 00:00:5e:00:53:16 eES: Evpn 03/18/24 15:28:01
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: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 03/18/24 15:28:01
01:00:00:00:00:23:00:00:01:01
1 00:00:5e:00:53:16 sdp:56:1 LT/90 03/18/24 15:28: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 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: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/0 03/18/24 15:28:01
1 00:00:5e:00:53:16 sap:1/1/c10/1:1 L/0 03/18/24 15:27: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 from PE-5 with the endpoint behavior 0x17 = 23, which corresponds to the End.DT2U function for known unicast traffic:
# on PE-2:
40 2024/03/18 15:28:00.714 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: 8388496 (Raw Label: 0x7fff90)
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: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 : 524281 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 : 00h06m13s
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.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:
25 2024/03/18 15:27:44.001 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 8388480
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: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 : 00h07m17s
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:f800::
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 : 8388480
Tunnel-Endpoint: 2001:db8::2:5
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
RIB Out Entries
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
PE-2 receives the following AD per-EVI route from PE-5:
28 2024/03/18 15:27:44.001 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: 8388560 (Raw Label: 0x7fffd0) 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:
31 2024/03/18 15:27:44.001 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: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 524280 and 524281 are dynamically allocated from the dynamic label range, as follows:
*A: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:f800:: End.DT2M 524280
PE5-loc
SvcId: 1 Name: VPLS-1
2001:db8:aaaa:105:7ff:f900:: End.DT2U 524281
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: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: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: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 524280 and 524281 are taken from the dynamic MPLS label range:
*A: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 *524281 2001:db8:aaaa:105:7ff:f900:: ok
End.DT2M *524280 2001:db8:aaaa:105:7ff:f800:: ok
===============================================================================
Legend: * - System allocated
In the preceding output, SID 2001:db8:aaaa:105:7ff:f800:: 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: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:f800:: 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 03/18/2024 15:28:01
-------------------------------------------------------------------------------
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:PE-2# ping 2001:db8:aaaa:104:b:: rapid
PING 2001:db8:aaaa:104:b:: 56 data bytes
!!!!!
---- 2001:db8:aaaa:104:b:: PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 2.22ms, avg = 2.30ms, max = 2.48ms, stddev = 0.094ms
*A:PE-2# traceroute 2001:db8:aaaa:105:7ff:f800::
traceroute to 2001:db8:aaaa:105:7ff:f800::, 30 hops max, 60 byte packets
1 2001:db8::2:5 (2001:db8::2:5) 3.14 ms 3.02 ms 2.66 ms
The following command shows that the SRv6 locator of PE-5 (2001:db8:aaaa:105::/64) is resolved:
*A: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 : 00h11m35s
Last-modified : 00h11m35s
-------------------------------------------------------------------------------
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: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" dual-stack # on PE-5: "int-PE-5-PE-2"
ipv6
no shutdown
exit
exit
exit
exit
exit
service
sdp 25 mpls create # on PE-5: sdp 52
far-end 2001:d8::2:5 # on PE-5: 2001:db8::2:2
ldp
keep-alive
shutdown
exit
no shutdown
exit
vpls "VPLS-1"
spoke-sdp 25:1 create # on PE-5: spoke-sdp 52:1
exit
exit
PE-2 still has an SRv6-ISIS tunnel toward 2001:db8:aaaa:105::/64 on PE-5, as follows:
*A: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: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 524284 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:PE-2# show service id "VPLS-1" sdp 25:1 detail | match Flag context all
Flags : NoEgrVCLabel
EvpnRouteConflict
Tools commands
The following command shows the EVPN usage statistics:
*A:PE-2# tools dump service evpn usage
vxlan-srv6-evpn-mpls usage statistics at 03/18/2024 15:42:08:
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: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:PE-2# tools dump service id "VPLS-1" srv6
TEP, Egress Bind Failure statistics at 03/18/2024 15:42:08:
statistics last cleared at 03/18/2024 15:20:23:
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
exit
exit
segment-routing
segment-routing-v6
micro-segment
argument-length 16
block "PE2-ms-block1" # PE3-ms-block1, PE4-ms-block1, PE5-ms-block1
label-block "res-block1"
termination-fpe 2
prefix
ip-prefix 2001:bbbb::/32 # on all PEs; block length 32
exit
static-function
max-entries 5
exit
no shutdown
exit
exit
micro-segment-locator "PE2-mloc" # or PE3-mloc, PE4-mloc, PE5-mloc
block "PE2-ms-block1"
un
srh-mode usp
value 2 # on PE-3: value 3; PE-4: value 4; PE-5: value 5
exit
no shutdown
exit
base-routing-instance
micro-segment-locator "PE2-mloc" # PE3-mloc, PE4-mloc, PE5-mloc
function
ua-auto-allocate srh-mode psp protection unprotected
ua 1
srh-mode usp
exit
exit
exit
exit
exit
exit
isis 0
segment-routing-v6
micro-segment-locator "PE2-mloc" # or PE3-mloc, PE4-mloc, PE5-mloc
level 1
exit
level 2
exit
exit
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:
*A:PE-2>conf>router>sr>srv6>ms>block>prefix# ip-prefix 2001:db8:bbbb::/48
MINOR: SRV6 #1006 Not permitted - Prefix length must be equal to block-length 32
Service configuration
On MTU-1, VPLS-2 is configured as follows:
# on MTU-1:
configure
service
vpls 2 name "VPLS-2" customer 1 create
stp
shutdown
exit
sap 1/1/c10/1:2 create
no shutdown
exit
sap lag-1:2 create
no shutdown
exit
no shutdown
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 2 name "VPLS-2" customer 1 create
segment-routing-v6 1 create
micro-segment-locator "PE2-mloc" # on PE-3: PE3-mloc
function
udt2u
udt2m
exit
exit
exit
bgp
exit
bgp-evpn
evi 2
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE2-mloc" create
source-address 2001:db8::2:2 # on PE-3: PE3-mloc; 2001:db8::2:3
ecmp 2
route-next-hop 2001:db8::2:2 # on PE-3: PE3-mloc; 2001:db8::2:3
no shutdown
exit
exit
stp
shutdown
exit
sap lag-1:2 create
no shutdown
exit
no shutdown
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 2 name "VPLS-2" customer 1 create
segment-routing-v6 1 create
micro-segment-locator "PE4-mloc" # on PE-5: PE5-mloc
function
udt2u
udt2m
exit
exit
exit
bgp
exit
bgp-evpn
evi 2
segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE4-mloc" create
source-address 2001:db8::2:4 # on PE-5: PE5-mloc; 2001:db8::2:5
ecmp 2
route-next-hop 2001:db8::2:4
no shutdown
exit
exit
stp
shutdown
exit
spoke-sdp 46:2 create # on PE-5: spoke-sdp 56:2
no shutdown
exit
no shutdown
The configuration for VPLS-2 on MTU-6 is as follows:
# on MTU-6:
configure
service
vpls 2 name "VPLS-2" customer 1 create
endpoint "CORE" create
exit
stp
shutdown
exit
sap 1/1/c10/1:2 create
no shutdown
exit
spoke-sdp 64:2 endpoint "CORE" create
stp
shutdown
exit
no shutdown
exit
spoke-sdp 65:2 endpoint "CORE" create
stp
shutdown
exit
no shutdown
exit
no shutdown
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: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: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 00h22m21s 18
2001:db8:aaaa:103::/64 (tunneled:SRV6-ISIS) 10
2001:db8:aaaa:104::/64 Remote ISIS 00h22m13s 18
2001:db8:aaaa:104::/64 (tunneled:SRV6-ISIS) 10
2001:db8:aaaa:105::/64 Remote ISIS 00h21m51s 18
2001:db8:aaaa:105::/64 (tunneled:SRV6-ISIS) 10
2001:bbbb:3::/48 Remote ISIS 00h03m38s 18
2001:bbbb:3::/48 (tunneled:SRV6-ISIS) 10
2001:bbbb:4::/48 Remote ISIS 00h03m31s 18
2001:bbbb:4::/48 (tunneled:SRV6-ISIS) 10
2001:bbbb:5::/48 Remote ISIS 00h03m21s 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: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: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: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/180 03/18/24 15:42:55
2 00:00:5e:00:53:26 sap:lag-1:2 L/180 03/18/24 15:44:04
-------------------------------------------------------------------------------
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: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 L/180 03/18/24 15:44:04
2 00:00:5e:00:53:26 eES: Evpn 03/18/24 15:44:04
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: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 Evpn 03/18/24 15:44:04
2 00:00:5e:00:53:26 eES: Evpn 03/18/24 15:44:04
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: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 03/18/24 15:44:04
01:00:00:00:00:23:00:00:01:01
2 00:00:5e:00:53:26 sdp:46:2 L/180 03/18/24 15:44:04
-------------------------------------------------------------------------------
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: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 03/18/24 15:44:04
01:00:00:00:00:23:00:00:01:01
2 00:00:5e:00:53:26 eES: Evpn 03/18/24 15:44:04
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: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/180 03/18/24 15:44:04
2 00:00:5e:00:53:26 sap:1/1/c10/1:2 L/180 03/18/24 15:43:59
-------------------------------------------------------------------------------
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:
116 2024/03/18 15:44:03.874 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: 4195840 (Raw Label: 0x400600)
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: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 : 16390 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 : 00h05m05s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:bbbb:4::
Full Sid : 2001:bbbb:4:4006::
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:4006:: contains the 32-bit prefix 2001:bbbb, the uN value 4 for PE-4, and the function 0x4006 = 16390 for the End.uDT2U SID in the following list:
*A:PE-2# show router segment-routing-v6 micro-segment-local-sid
===============================================================================
Micro Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Micro Segment Locator
Context
-------------------------------------------------------------------------------
2001:bbbb:2:: uN 2
PE2-mloc
None
2001:bbbb:2:4005:: uA 16389
PE2-mloc
None
2001:bbbb:2:4006:: uDT2U 16390
PE2-mloc
SvcId: 2 Name: VPLS-2
2001:bbbb:2:4007:: uDT2M 16391
PE2-mloc
SvcId: 2 Name: VPLS-2
2001:bbbb:2:43e8:: uA 17384
PE2-mloc
None
2001:bbbb:2:43e9:: uA 17385
PE2-mloc
None
-------------------------------------------------------------------------------
SIDs : 6
-------------------------------------------------------------------------------
===============================================================================
PE-2 received the following IMET route with endpoint behavior 0x44 = 68 for End.uDT2M from PE-4:
94 2024/03/18 15:43:43.589 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 4196096
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: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 : 00h06m08s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:bbbb:4::
Full Sid : 2001:bbbb:4:4007::
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 : 4196096
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: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::204:feff:fe00:0
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 : 16389
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 : 01h39m21s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:bbbb:4::
Full Sid : 2001:bbbb:4:4005::
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::204:feff:fe00:0
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
Add Paths Send : Default
Last Modified : 01h39m21s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : ::
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
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: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:4006:: uDT2U 16390
PE2-mloc
SvcId: 2 Name: VPLS-2
2001:bbbb:2:4007:: uDT2M 16391
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: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:4006:: ok
16390
uDT2M *- 2001:bbbb:2:4007:: ok
16391
===============================================================================
Legend: * - System allocated
The following command on PE-2 shows the SRv6 destinations in VPLS-2:
*A: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:4007:: Up BUM 0
2001:db8::2:4 2001:bbbb:4:4007:: Up BUM 0
2001:db8::2:5 2001:bbbb:5:4007:: 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 03/18/2024 15:44:04
-------------------------------------------------------------------------------
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:PE-2# ping 2001:bbbb:3:4006:: rapid
PING 2001:bbbb:3:4006:: 56 data bytes
!!!!!
---- 2001:bbbb:3:4006:: PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 2.37ms, avg = 2.54ms, max = 2.92ms, stddev = 0.191ms
*A:PE-2# traceroute 2001:bbbb:5:4006::
traceroute to 2001:bbbb:5:4006::, 30 hops max, 60 byte packets
1 2001:db8::2:5 (2001:db8::2:5) 3.08 ms 2.74 ms 2.98 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.