EVPN E-LAN services with SRv6 transport
This chapter provides information about SRv6 support for distributed EVPN-enabled VPLS Layer 2 multipoint overlay services.
Topics in this chapter include:
Applicability
The information and configuration in this chapter are based on SR OS Release 22.10.R1. SRv6 support for distributed EVPN-enabled VPLS Layer 2 multipoint overlay services is supported on FP-based platforms with FP4-based network ports in SR OS Release 22.7.R1 and later.
Overview
On FP-based platforms with FP4-based network ports, SR OS provides SRv6 support for distributed EVPN-enabled VPLS Layer 2 multipoint overlay services. SRv6 tunnels carry EVPN data between the PEs on which the EVPN service is provisioned. As usual in EVPN services, a full mesh of SRv6 tunnels is set up among all PEs that participate in the EVPN-enabled VPLS service. This supports the flooding of Broadcast, Unknown unicast, or Multicast (BUM) traffic to all remote destinations in the service, while ensuring that the PEs receive the traffic without looping or duplication of frames. Two or more routers may participate in a single EVPN-enabled VPLS service; a single router may participate in multiple EVPN-enabled VPLS services. The PE routers attached to an EVPN-enabled VPLS service with SRv6 transport use SRv6 End.DT2U behavior to terminate and forward unicast traffic, and SRv6 End.DT2M behavior to terminate and forward BUM traffic.
An SRv6 L2 Service TLV, which is carried in a BGP Prefix-SID attribute, signals the SRv6 Service SID for the End.DT2U or End.DT2M behavior for an EVPN-enabled VPLS Layer 2 overlay service, as per RFC 9252. The SRv6 Service SID is equivalent to an MPLS label for EVPN service routes in RFC 7432.
When a PE is attached to an EVPN-enabled VPLS service with SRv6 transport, the PE advertises its originating IP address in an Inclusive Multicast Ethernet Tag (IMET) route (also known as an EVPN type 3 route), along with the service attributes and the SRv6 SID corresponding to the End.DT2M behavior for the service. A remote PE attached to the same EVPN-enabled VPLS service imports the IMET route based on the import route target and adds an SRv6 destination entry to its flooding list for the EVPN-enabled VPLS service. In this way, all PEs that participate in an EVPN-enabled VPLS service learn about each other.
As in any other type of EVPN-enabled VPLS service, a PE learns the MAC address of a locally connected CE, either via data plane MAC learning or static provisioning. In the case of data plane MAC learning, a PE learns the source MAC address from data frames that it receives from the CE and adds a temporary entry for it in a VPLS forwarding database (FDB), which, on each PE, is private for each EVPN-enabled VPLS service.
A local MAC address is advertised in an EVPN MAC/IP advertisement route (EVPN type 2 route) for the EVPN-enabled VPLS service, along with the service parameters and an SRv6 SID corresponding to the End.DT2U behavior for the service. A remote PE that imports the EVPN MAC/IP advertisement route adds an entry for the advertised MAC addresses to the FDB, pointing at an SRv6 destination based on the received SRv6 SID. In this way, remote PEs that participate in an EVPN-enabled VPLS service with SRv6 transport learn how to unicast return traffic to the remote (source) MAC address.
The locator command in the service vpls <service-name> segment-routing-v6 <instance> context configures the SRv6 locator that the PE uses to terminate SRv6 traffic for the EVPN-enabled VPLS service.
The base SRv6 configuration is as described in the "SRv6 Encapsulation in the Base Routing Instance" chapter in the7750 SR and 7950 XRS Segment Routing and PCE Advanced Configuration Guide for MD CLI.
Configuration
Example topology shows the example topology with three PE routers. The SRv6-enabled network that it represents comprises PE-1, PE-2, and PE-3 in the control and data planes, and a BGP route reflector RR-4 in the control plane only. The SRv6-enabled network has only IPv6 addresses and interfaces. IS-IS and BGP are configured on all routers. The system interfaces have also an IPv4 address, from which a unique router-id is automatically derived for IS-IS and BGP respectively.
For the traffic of data frames from the EVPN-enabled VPLS service on a local PE to the same EVPN-enabled VPLS service on a remote PE, the local PE acts as the SRv6 ingress PE node, while the remote PE acts as the SRv6 egress PE node. SRv6 and forwarding port extensions (FPE) are configured only on the PE routers.
The ping commands between IPv4 and IPv6 interface addresses in the EVPN-enabled VPLS service simulate IPv4 and IPv6 data traffic respectively.
Configure the router
- on PE-1, PE-2, PE-3, and RR-4:
- ports, IPv6-only interfaces, and system interfaces
- IS-IS:
- level 2 capability with wide metrics (for the 128-bit identifiers)
- native IPv6 routing
- the traffic-engineering and traffic-engineering-options commands, as a best practice to advertise the router capability within the autonomous system (AS)
- BGP, with internal group "gr_v6_internal" that includes:
- the EVPN family
- BGP neighbor system IPv6 addresses
- on PE-1, PE-2, and PE-3, port cross-connect (PXC), using internal loopbacks on an FP4 MAC chip, as described in the "Segment Routing over IPv6" chapter in the 7750 SR and 7950 XRS Segment Routing and PCE Advanced Configuration Guide for MD CLI
The following example configuration applies for PE-1. A similar configuration applies for PE-2, PE-3, and RR-4. RR-4 has PE-1, PE-2 and PE-3 as BGP neighbors in a cluster.
A:admin@PE-1# configure {
port 1/1/c2/1 {
ethernet {
mode hybrid
}
admin-state enable
}
port 1/1/c3/1 {
ethernet {
mode hybrid
}
admin-state enable
}
port 1/1/c4/1 {
ethernet {
mode hybrid
}
admin-state enable
}
port 1/1/c1/1 {
ethernet {
mode hybrid
}
admin-state enable
}
port 1/1/c1/2 {
ethernet {
mode hybrid
}
admin-state enable
}
router "Base" {
interface "int-PE-1-PE-2" {
description "interface between PE-1 and PE-2"
port 1/1/c2/1:1000
ipv6 {
address 2001:db8::168:12:1 {
prefix-length 126
}
}
}
interface "int-PE-1-PE-3" {
description "interface between PE-1 and PE-3"
port 1/1/c3/1:1000
ipv6 {
address 2001:db8::168:13:1 {
prefix-length 126
}
}
}
interface "int-PE-1-RR-4" {
description "interface between PE-1 and RR-4"
port 1/1/c4/1:1000
ipv6 {
address 2001:db8::168:14:1 {
prefix-length 126
}
}
}
interface "system" {
ipv4 {
primary {
address 192.0.2.1
prefix-length 32
}
}
description "system interface of PE-1"
ipv6 {
address 2001:db8::2:1 {
prefix-length 128
}
}
}
autonomous-system 64500
isis 0 {
level-capability 2
area-address [49.0001]
traffic-engineering true
traffic-engineering-options {
ipv6 true
application-link-attributes {
}
}
advertise-router-capability as
ipv6-routing native
level 2 {
wide-metrics-only true
}
interface "system" {
passive true
}
interface "int-PE-1-PE-2" {
interface-type point-to-point
}
interface "int-PE-1-PE-3" {
interface-type point-to-point
}
interface "int-PE-1-RR-4" {
interface-type point-to-point
}
admin-state enable
}
bgp {
rapid-withdrawal true
split-horizon true
rapid-update {
evpn true
}
group "gr_v6_internal" {
description "internal bgp group on PE-1"
family {
evpn true
}
peer-as 64500
}
neighbor "2001:db8::2:4" {
group "gr_v6_internal"
}
}
}
}
Configure the VPRNs to simulate CEs
On each PE, the VPRN configuration includes an IPv4 address and an IPv6 address for an interface from the local VPRN to the EVPN-enabled VPLS service. These IPv4 and IPv6 addresses must be in the same address range on all PEs, because the same EVPN-enabled VPLS service is provisioned on each PE. Each interface to the (local) EVPN-enabled VPLS service also includes a SAP.
The VPRNs are introduced only to simulate CEs from where the ping commands can be launched.
The following example configuration applies for VPRN 11 on PE-1. A similar configuration applies for VPRN 11 on PE-2 and for VPRN 11 on PE-3.
A:admin@PE-1# configure {
service {
vprn "VPRN_11" {
service-id 11
customer "1"
description "CE_1"
interface "local" {
mac 00:00:5e:00:53:01
ipv4 {
primary {
address 172.16.0.1
prefix-length 29
}
}
ipv6 {
address 2001:db8::172:16:0:1 {
prefix-length 125
}
}
sap 1/1/c1/2:11 {
}
}
admin-state enable
}
}
}
For example, VPRN 11 on PE-2 has the following interface, with corresponding IPv4 and IPv6 addresses. Similar output applies for VPRN 11 on PE-1 and for VPRN 11 on PE-3.
A:admin@PE-2# show router 11 interface
===============================================================================
Interface Table (Service: 11)
===============================================================================
Interface-Name Adm Opr(v4/v6) Mode Port/SapId
IP-Address PfxState
-------------------------------------------------------------------------------
local Up Up/Up VPRN 1/1/c2/2:11
172.16.0.2/29 n/a
2001:db8::172:16:0:2/125 PREFERRED
fe80::200:22ff:fe22:2222/64 PREFERRED
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================
VPRN 11 on PE-1 has the following IPv4 and IPv6 routes. Similar output applies for VPRN 11 on PE-2 and for VPRN 11 on PE-3.
For IPv4:
A:admin@PE-1# show router 11 route-table
===============================================================================
Route Table (Service: 11)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
172.16.0.0/29 Local Local 00h01m43s 0
local 0
-------------------------------------------------------------------------------
No. of Routes: 1
---snip---
===============================================================================
For IPv6:
A:admin@PE-1# show router 11 route-table ipv6
===============================================================================
IPv6 Route Table (Service: 11)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
2001:db8::172:16:0:0/125 Local Local 00h01m42s 0
local 0
-------------------------------------------------------------------------------
No. of Routes: 1
---snip---
===============================================================================
VPRN 11 on PE-1 has one locally learned MAC address for the locally configured interface. Similar output applies for VPRN 11 on PE-2 and for VPRN 11 on PE-3.
A:admin@PE-1# show router 11 arp summary
============================================================
ARP Table Summary (Service: 11)
============================================================
Local ARP Entries : 1
---snip---
Dynamic ARP Entries : 0
---snip---
------------------------------------------------------------
No. of ARP Entries : 1
============================================================
The show router 11 arp command shows the association between the IP address and the MAC address, and the interface that the MAC address belongs to. The MAC address for the local interface to the EVPN-enabled VPLS service corresponds with that of the SAP that is configured for it in VPRN 11. Because the interface is statically configured, the association between the IP address and the MAC address does not expire. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show router 11 arp
===============================================================================
ARP Table (Service: 11)
===============================================================================
IP Address MAC Address Expiry Type Interface
-------------------------------------------------------------------------------
172.16.0.1 00:00:5e:00:53:01 00h00m00s Oth[I] local
-------------------------------------------------------------------------------
No. of ARP Entries: 1
===============================================================================
Configure data path support, FPE, and SRv6
Configure data path support (PXC) and FPE identically on PE-1, PE2, and PE-3.
A:admin@PE-1# configure {
card 1 {
mda 1 {
xconnect {
mac 1 {
loopback 1 {
}
loopback 2 {
}
}
}
}
}
port-xc {
pxc 1 {
port 1/1/m1/1
admin-state enable
}
pxc 2 {
port 1/1/m1/2
admin-state enable
}
}
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
}
port 1/1/m1/1 {
admin-state enable
}
port 1/1/m1/2 {
admin-state enable
}
fwd-path-ext {
fpe 1 {
path {
pxc 1
}
application {
srv6 {
type origination
}
}
}
fpe 2 {
path {
pxc 2
}
application {
srv6 {
type termination
}
}
}
}
}
Configure the SRv6 locator "PE-1_loc_VPLS" with ip-prefix 2001:db8:aaaa:1::/64 in the router Base segment-routing segment-routing-v6 context on PE-1 and similar on PE-2, with ip-prefix 2001:db8:aaaa:2::/64 for SRv6 locator "PE-2_loc_VPLS", and on PE-3, with ip-prefix 2001:db8:aaaa:3::/64 for SRv6 locator "PE-3_loc_VPLS".
A:admin@PE-1# configure {
router "Base" {
segment-routing {
segment-routing-v6 {
source-address 2001:db8::2:1
locator "PE-1_loc_VPLS" {
block-length 48
prefix {
ip-prefix 2001:db8:aaaa:1::/64
}
admin-state enable
}
}
}
}
}
Use FPE 1 as the SRv6 origination FPE and FPE 2 as the SRv6 termination FPE on PE-1, and similar on PE-2 for SRv6 locator "PE-2_loc_VPLS", and on PE-3 for SRv6 locator "PE-3_loc_VPLS". For more information, see the "Segment Routing over IPv6" chapter in the 7750 SR and 7950 XRS Segment Routing and PCE Advanced Configuration Guide for MD CLI.
configure {
router "Base" {
segment-routing {
segment-routing-v6 {
origination-fpe [1]
locator "PE-1_loc_VPLS" {
termination-fpe [2]
admin-state enable
}
}
}
}
}
Advertise the SRv6 locator "PE-1_loc_VPLS" in IS-IS while ensuring level 2 capability on PE-1, and similar on PE-2 for SRv6 locator "PE-2_loc_VPLS", and on PE-3 for SRv6 locator "PE-3_loc_VPLS".
A:admin@PE-1# configure {
router "Base" {
isis 0 {
segment-routing-v6 {
locator "PE-1_loc_VPLS" {
level-capability 2
}
admin-state enable
}
}
}
}
Verify the IS-IS data base on PE-1 with the show router isis 0 database detail command. The output of this command (shortened here for PE-1, PE-3 and RR-4) provides information about each IS-IS-enabled router. For each uniquely identified IS-IS-enabled router, the SRv6 information indicates:
- the IS-IS-advertised router capabilities
- the IS-IS topology details
- the IPv4 and IPv6 reachability details
- the advertised SRv6 locator TLV
- the advertised configured SRv6 End SID and SRv6 End-X SIDs
A:admin@PE-1# show router isis 0 database detail
===============================================================================
Rtr Base ISIS Instance 0 Database (detail)
===============================================================================
Displaying Level 1 database
-------------------------------------------------------------------------------
Level (1) LSP Count : 0
Displaying Level 2 database
-------------------------------------------------------------------------------
LSP ID : PE-1.00-00 Level : L2
---snip---
-------------------------------------------------------------------------------
LSP ID : PE-2.00-00 Level : L2
Sequence : 0xa Checksum : 0xf34c Lifetime : 1147
Version : 1 Pkt Type : 20 Pkt Ver : 1
Attributes: L1L2 Max Area : 3 Alloc Len : 432
SYS ID : 1920.0000.2002 SysID Len : 6 Used Len : 432
TLVs :
Area Addresses:
Area Address : (3) 49.0001
Supp Protocols:
Protocols : IPv4
Protocols : IPv6
IS-Hostname : PE-2
Router ID :
Router ID : 192.0.2.2
TE Router ID v6 :
Router ID : 2001:db8::2:2
Router Cap : 192.0.2.2, D:0, S:0
TE Node Cap : B E M P
SRv6 Cap: 0x0000
SR Alg: metric based SPF
Node MSD Cap: BMI : 0 SRH-MAX-SL : 10 SRH-MAX-END-POP : 9 SRH-MAX-H-ENCAPS : 3 SRH-MAX-END-D : 9
I/F Addresses :
I/F Address : 192.0.2.2
I/F Addresses IPv6 :
IPv6 Address : 2001:db8::2:2
IPv6 Address : 2001:db8::168:12:2
IPv6 Address : 2001:db8::168:23:1
IPv6 Address : 2001:db8::168:24:1
TE IS Nbrs :
Nbr : PE-1.00
Default Metric : 10
Sub TLV Len : 36
IPv6 Addr : 2001:db8::168:12:2
Nbr IPv6 : 2001:db8::168:12:1
TE IS Nbrs :
Nbr : PE-3.00
Default Metric : 10
Sub TLV Len : 36
IPv6 Addr : 2001:db8::168:23:1
Nbr IPv6 : 2001:db8::168:23:2
TE IS Nbrs :
Nbr : RR-4.00
Default Metric : 10
Sub TLV Len : 18
IPv6 Addr : 2001:db8::168:24:1
TE IP Reach :
Default Metric : 0
Control Info: , prefLen 32
Prefix : 192.0.2.2
IPv6 Reach:
Metric: ( I ) 0
Prefix : 2001:db8::2:2/128
Metric: ( I ) 10
Prefix : 2001:db8::168:12:0/126
Metric: ( I ) 10
Prefix : 2001:db8::168:23:0/126
Metric: ( I ) 10
Prefix : 2001:db8::168:24:0/126
Metric: ( I ) 0
Prefix : 2001:db8:aaaa:2::/64
SRv6 Locator :
MT ID : 0
Metric: ( ) 0 Algo:0
Prefix : 2001:db8:aaaa:2::/64
-------------------------------------------------------------------------------
LSP ID : PE-3.00-00 Level : L2
---snip---
-------------------------------------------------------------------------------
LSP ID : RR-4.00-00 Level : L2
---snip---
Level (2) LSP Count : 4
-------------------------------------------------------------------------------
---snip---
===============================================================================
PE-1 learns the remote SRv6 locators that PE-2 and PE-3 advertise and installs a route for them in the IPv6 routing table. This route uses an SRv6 tunnel. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show router route-table ipv6
===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
---snip---
2001:db8::2:2/128 Remote ISIS 00h12m04s 18
fe80::60e:1ff:fe01:1-"int-PE-1-PE-2" 10
2001:db8::2:3/128 Remote ISIS 00h12m04s 18
fe80::612:1ff:fe01:1-"int-PE-1-PE-3" 10
---snip---
2001:db8:aaaa:1::/64 Local SRV6 00h13m24s 3
fe80::201-"_tmnx_fpe_2.a" 0
2001:db8:aaaa:2::/64 Remote ISIS 00h11m52s 18
2001:db8:aaaa:2::/64 (tunneled:SRV6-ISIS) 10
2001:db8:aaaa:3::/64 Remote ISIS 00h11m38s 18
2001:db8:aaaa:3::/64 (tunneled:SRV6-ISIS) 10
-------------------------------------------------------------------------------
No. of Routes: 13
---snip---
===============================================================================
Next to its own local locator prefix, PE-1 also learns the remote locator prefixes that PE-2 and PE-3 advertise. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show router isis 0 segment-routing-v6 locator
===============================================================================
Rtr Base ISIS Instance 0 SRv6 Locator Table
===============================================================================
Prefix AdvRtr MT Lvl/Typ
AttributeFlags Tag Flags Algo
-------------------------------------------------------------------------------
2001:db8:aaaa:1::/64 PE-1 0 2/Int.
- 0 - 0
2001:db8:aaaa:2::/64 PE-2 0 2/Int.
- 0 - 0
2001:db8:aaaa:3::/64 PE-3 0 2/Int.
- 0 - 0
-------------------------------------------------------------------------------
No. of Locators: 3
-------------------------------------------------------------------------------
---snip---
===============================================================================
From PE-1, the remote locator prefix 2001:db8:aaaa:2::/64 is routable via a next hop using the "int-PE-1-PE-2" interface. Similar output applies for the remote locator prefix 2001:db8:aaaa:3::/64 using the "int-PE-1-PE-3" interface. Similar output applies from PE-2 and from PE-3.
A:admin@PE-1# show router isis 0 routes
===============================================================================
Rtr Base ISIS Instance 0 Route Table
===============================================================================
Prefix[Flags] Metric Lvl/Typ Ver. SysID/Hostname
NextHop MT AdminTag/SID[F]
-------------------------------------------------------------------------------
---snip---
2001:db8::2:2/128 10 2/Int. 12 PE-2
fe80::60e:1ff:fe01:1-"int-PE-1-PE-2" 0 0
2001:db8::2:3/128 10 2/Int. 12 PE-3
---snip---
2001:db8:aaaa:1::/64 0 2/Int. 16 PE-1
:: 0 0
2001:db8:aaaa:2::/64 10 2/Int. 13 PE-2
fe80::60e:1ff:fe01:1-"int-PE-1-PE-2" 0 0
2001:db8:aaaa:3::/64 10 2/Int. 15 PE-3
fe80::612:1ff:fe01:1-"int-PE-1-PE-3" 0 0
-------------------------------------------------------------------------------
No. of Routes: 14 (14 paths)
-------------------------------------------------------------------------------
---snip---
===============================================================================
PE-1 transports IPv4 and IPv6 data to the remote SRv6 locator prefixes in an SRv6 encapsulated tunnel. For each SRv6 locator prefix destination, PE-1 sets up a different SRv6 tunnel with its specific label (TunnelId). Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show router tunnel-table ipv6
===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref
Nexthop Color Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:2::/64 srv6-isis SRV6 524289 0
fe80::60e:1ff:fe01:1-"int-PE-1-PE-2" 10
2001:db8:aaaa:3::/64 srv6-isis SRV6 524290 0
fe80::612:1ff:fe01:1-"int-PE-1-PE-3" 10
-------------------------------------------------------------------------------
---snip---
===============================================================================
The show router fp-tunnel-table 1 ipv6 command in PE-1 shows the local endpoints of the SRv6 tunnels in PE-1. Similar output applies for the local endpoints of the SRv6 tunnels in PE-2 and for the local endpoints of the SRv6 tunnels in PE-3.
A:admin@PE-1# show router fp-tunnel-table 1 ipv6
===============================================================================
IPv6 Tunnel Table Display
---snip---
===============================================================================
Destination Protocol Tunnel-ID
Lbl/SID
NextHop Intf/Tunnel
Lbl/SID (backup)
NextHop (backup)
-------------------------------------------------------------------------------
2001:db8:aaaa:2::/64 SRV6 524289
-
fe80::60e:1ff:fe01:1-"int-PE-1-PE-2" 1/1/c2/1:1000
2001:db8:aaaa:3::/64 SRV6 524290
-
fe80::612:1ff:fe01:1-"int-PE-1-PE-3" 1/1/c3/1:1000
-------------------------------------------------------------------------------
Total Entries : 2
-------------------------------------------------------------------------------
===============================================================================
Verify data traffic
At this point, verify that IPv4 and IPv6 data traffic is not possible between the local VPRN 11 on PE-1 and the remote VPRN 11 on PE-2 and PE-3. PE-1 is not aware of the remote MAC addresses that are associated with IPv4 address 172.16.0.2 and IPv4 address 172.16.0.3 (or IPv6 address 2001:db8::172:16:0:2 and IPv6 address 2001:db8::172:16:0:3), because only interfaces that are locally connected to the EVPN-enabled VPLS service on PE-1 reply on the ARP request. Perform a similar verification for IPv4 and IPv6 data traffic between the local VPRN 11 on PE-2 and the remote VPRN 11 on PE-1 and PE-3, and for IPv4 and IPv6 data traffic between the local VPRN 11 on PE-3 and the remote VPRN 11 on PE-1 and PE-2.
For example, for IPv4 data traffic to the remote VPRN 11 on PE-2:
A:admin@PE-1# ping 172.16.0.2 router-instance "VPRN_11"
PING 172.16.0.2 56 data bytes
... ... ... ... . Request timed out. icmp_seq=1.
Request timed out. icmp_seq=2.
---snip---
---- 172.16.0.2 PING Statistics ----
5 packets transmitted, 0 packets received, 100% packet loss
For example, for IPv6 data traffic to the remote VPRN 11 on PE-2:
A:admin@PE-1# ping 2001:db8::172:16:0:2 router-instance "VPRN_11"
PING 2001:db8::172:16:0:2 56 data bytes
... ... . 112 bytes from 2001:db8::172:16:0:1 Address unreachable
VR CLS LEN NXT HLIM SRC
6 00 64 58 64 2001:db8::172:16:0:1
DST
2001:db8::172:16:0:2
ICMP6: Echo request
---snip---
---- 2001:db8::172:16:0:2 PING Statistics ----
5 packets transmitted, 5 packets bounced, 0 packets received, 100% packet loss
Configure the EVPN- and SRv6-enabled VPLS service on PE-1, PE-2, and PE-3
On each PE, this configuration includes a SAP to the local VPRN.
On PE-1, create an SRv6 instance 1 for the EVPN-enabled VPLS service. Use the SRv6 locator "PE-1_loc_VPLS" from the router Base segment-routing segment-routing-v6 context in the service vpls "VPLS_12" segment-routing-v6 1 context and configure End.DT2U and End.DT2M behavior for it.
Use the configured SRv6 locator "PE-1_loc_VPLS" as the default locator in the service vpls "VPLS_12" bgp-evpn segment-routing-v6 1 context. In the service vpls "VPLS_12" bgp-evpn segment-routing-v6 1 locator "PE-1_loc_VPLS" context, use the unique PE-1 system IPv6 address as the route next hop. This configuration can be verified with the show service id 12 bgp command (not shown). Perform a similar configuration on PE-2 (and PE-3), with the configured SRv6 locator "PE-2_loc_VPLS" ("PE-3_loc_VPLS") as the default locator, and the PE-2 (PE-3) system IPv6 address as route next hop.
A:admin@PE-1# configure {
service {
vpls "VPLS_12" {
service-id 12
customer "1"
description "VPLS_12 on PE-1"
segment-routing-v6 1 {
locator "PE-1_loc_VPLS" {
function {
end-dt2u {
}
end-dt2m {
}
}
}
}
bgp 1 {
}
bgp-evpn {
evi 1
segment-routing-v6 1 {
srv6 {
instance 1
default-locator "PE-1_loc_VPLS"
}
route-next-hop {
system-ipv6
}
admin-state enable
}
}
sap 1/1/c1/1:11 {
description "sap to VPRN_11 on PE-1"
}
admin-state enable
}
}
}
The show service id 12 fdb expiry command shows that MAC learning and MAC aging are enabled. For example, the VPLS FDB entries that are locally learned expire after 300 seconds.
A:admin@PE-1# show service id 12 fdb expiry
===============================================================================
Forwarding Database, Service 12
===============================================================================
---snip---
Table Size : 250 Allocated Count : 0
Total In Use : 0
Learned Count : 0 Static Count : 0
---snip---
BGP EVPN Count : 0 EVPN Static Cnt : 0
---snip---
Remote Age : 900 Local Age : 300
---snip---
Mac Learning : Enabled Discard Unknown : Disabled
Mac Aging : Enabled Relearn Only : False
---snip---
===============================================================================
The show service id 12 bgp-evpn command shows how BGP EVPN behavior is configured. MAC advertisement for EVPN MAC/IP advertisement routes (for ping commands) and inclusive multicast advertisement for EVPN IMET routes (for flooding and BUM traffic) are enabled. The next hop corresponds with the local system IPv6 address. The route resolution uses the route table of the VPRN that has a local interface to the EVPN-enabled VPLS service. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show service id 12 bgp-evpn
===============================================================================
BGP EVPN Table
===============================================================================
EVI : 1
Creation Origin : manual
MAC/IP Routes
MAC Advertisement : Enabled Unknown MAC Route : Disabled
CFM MAC Advertise : Disabled
Multicast Routes
Sel Mcast Advert : Disabled
Ing Rep Inc McastAd: Enabled
---snip---
===============================================================================
Segment Routing v6 Instance 1 Service 12
===============================================================================
Admin State : Enabled
Srv6 Instance : 1
Default Locator : PE-1_loc_VPLS
Oper Group : (Not Specified)
Default Route Tag : 0x0
Source Address : (Not Specified)
ECMP : 1
Force Vlan VC Fwd : disabled
Next Hop Type : system-ipv6
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 configuration of the SRv6 End.DT2U and End.DT2M behavior for the SRv6 locator that is used in the EVPN-enabled VPLS service results in corresponding SRv6 full SIDs. For example, the show service id 12 segment-routing-v6 instance 1 command on PE-2 shows them. For the SRv6 End.DT2U behavior, the SRv6 function is 524288 (0x80000) and the corresponding SRv6 full SID is 2001:db8::aaaa:2:8000::. For the SRv6 End.DT2M behavior, the SRv6 function is 524287 (0x7ffff) and the corresponding SRv6 full SID is 2001:db8::aaaa:2:7fff:f000::. Similar output applies for PE-1 and for PE-3.
A:admin@PE-2# show service id 12 segment-routing-v6 instance 1
===============================================================================
Segment Routing v6 Instance 1 Service 12
===============================================================================
Locator
Type Function SID Status
-------------------------------------------------------------------------------
PE-2_loc_VPLS
End.DT2U *524288 2001:db8:aaaa:2:8000:: ok
End.DT2M *524287 2001:db8:aaaa:2:7fff:f000:: ok
===============================================================================
Legend: * - System allocated
The show router segment-routing-v6 local-sid command shows that the SRv6 local SIDs belong to the VPLS context. Similar output applies for PE-1 and for PE-3.
A:admin@PE-2# show router segment-routing-v6 local-sid
===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID Type Function
Locator
Context
-------------------------------------------------------------------------------
2001:db8:aaaa:2:7fff:f000:: End.DT2M 524287
PE-2_loc_VPLS
SvcId: 12 Name: VPLS_12
2001:db8:aaaa:2:8000:: End.DT2U 524288
PE-2_loc_VPLS
SvcId: 12 Name: VPLS_12
-------------------------------------------------------------------------------
SIDs : 2
-------------------------------------------------------------------------------
===============================================================================
Enabling the SRv6 End.DT2M behavior allows the exchange of EVPN IMET BGP update messages for the EVPN family. The show log log-id <log-id> command on PE-1 shows the BGP update message that PE-1 receives from PE-2, via the RR. It indicates the remote source address (orig_addr: 2001:db8::2:2), and the route distinguisher (RD: 192.0.2.2:1), tag (tag: 0), route target (Extended Community: target:64500:1), and next hop (Global NextHop 2001:db8::2:2) that PE-1 must use while sending IPv4 or IPv6 data traffic to PE-2. In addition, it indicates the Provicer Multicast Service Interface (PMSI) information about tunnel type (Tunnel-type Ingress Replication), MPLS label (MPLS Label 8388592 (0x7fffff)), and tunnel endpoint (Tunnel-Endpoint 2001:db8::2:2). Finally, it indicates that PE-1 must send the frames to the SRv6 locator (SRv6 SID: 2001:db8:aaaa:2::) with End.DT2M behavior (Behavior: 0x18 (24)). Similar output applies for the BGP update that PE-1 receives from PE-3, via the RR. PE-1 advertises a similar BGP update message to the RR, which forwards it to PE-2 and PE-3 (not shown here). PE-2 and PE-3 receive and advertise similar BGP update messages.
A:admin@PE-1# show log log-id "log_2"
===============================================================================
Event Log 1 log-name log_2
===============================================================================
Description : (Not Specified)
Memory Log contents [size=100 next event=4 (not wrapped)]
---snip---
2 2023/01/04 16:58:01.781 CET 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 = 159
Flag: 0x90 Type: 14 Len: 52 Multiprotocol Reachable NLRI:
Address Family EVPN
NextHop len 16 Global NextHop 2001:db8::2:2
Type: EVPN-INCL-MCAST Len: 29 RD: 192.0.2.2:1, tag: 0, orig_addr len: 128, orig_addr: 2001:db8::2:2
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: 0x80 Type: 9 Len: 4 Originator ID: 192.0.2.2
Flag: 0x80 Type: 10 Len: 4 Cluster ID:
4.4.4.4
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 8388592
Tunnel-Endpoint 2001:db8::2: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:db8:aaaa:2::
SID Flags: 0x0 Endpoint Behavior: 0x18 Rsvd2: 0x0
SRv6 SID Sub-Sub-TLV
Type: 1 Len: 6
BL:48 NL:16 FL:20 AL:0 TL:20 TO:64
"
---snip---
The reception of the EVPN IMET BGP update messages triggers PE-1 to install learned inclusive multicast routes as shown with the show router bgp neighbor <ip-address> received-routes evpn command. Because PE-1 receives EVPN IMET BGP update messages from PE-2 and from PE-3 with different route distinguishers, PE-1 installs a learned inclusive multicast route for each one of them. Similar output applies for PE-2 and for PE-3. The BGP EVPN inclusive multicast routes that are received, can also be displayed with the show router bgp routes evpn incl-mcast command.
A:admin@PE-1# show router bgp neighbor 2001:db8::2:4 received-routes evpn
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
Legend -
Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid
l - leaked, x - stale, > - best, b - backup, p - purge
Origin codes : i - IGP, e - EGP, ? - incomplete
===============================================================================
---snip---
===============================================================================
BGP EVPN Inclusive-Mcast Routes
===============================================================================
Flag Route Dist. OrigAddr
Tag NextHop
-------------------------------------------------------------------------------
u*>i 192.0.2.2:1 2001:db8::2:2
0 2001:db8::2:2
u*>i 192.0.2.3:1 2001:db8::2:3
0 2001:db8::2:3
-------------------------------------------------------------------------------
Routes : 2
===============================================================================
---snip---
========================================================
The show router bgp neighbor <ip-address> advertised-routes evpn command on PE-2 shows the local inclusive multicast routes on PE-2. PE-2 advertises them to its BGP neighbors. Similar output applies for PE-1 and for PE-3.
A:admin@PE-2# show router bgp neighbor 2001:db8::2:4 advertised-routes evpn
===============================================================================
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
===============================================================================
---snip---
===============================================================================
BGP EVPN Inclusive-Mcast Routes
===============================================================================
Flag Route Dist. OrigAddr
Tag NextHop
-------------------------------------------------------------------------------
i 192.0.2.2:1 2001:db8::2:2
0 2001:db8::2:2
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
---snip---
========================================================
From the received EVPN IMET BGP update messages, PE-1 learns the SRv6 tunnel endpoints for multicast traffic, as shown with the show service id 12 segment-routing-v6 instance 1 destinations command. The segment ID (SRv6 SID) corresponds with the expected End.DT2M behavior on PE-2 and PE-3 respectively. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show service id 12 segment-routing-v6 instance 1 destinations
===============================================================================
TEP, SID
===============================================================================
Instance TEP Address Segment Id SupBcasDom Num
Mcast MACs
-------------------------------------------------------------------------------
1 2001:db8::2:2 2001:db8:aaaa:2:7fff:f000: No 0
:
BUM
1 2001:db8::2:3 2001:db8:aaaa:3:7fff:f000: No 0
:
BUM
-------------------------------------------------------------------------------
Number of TEP, SID: 2
-------------------------------------------------------------------------------
===============================================================================
---snip---
===============================================================================
The list of next hops for the EVPN family can be shown with the show router bgp next-hop evpn command. For each next hop, the details can be shown. The show router bgp next-hop evpn 2001:db8::2:2 detail command on PE-1 shows the details on PE-1 for next hop 2001:db8::2:2. It indicates that IPv4 and IPv6 data for the EVPN family uses the SRv6 tunnel for locator 2001:db8:aaaa:2::/64 and is sent to the next hop 2001:db8::2:2 via the resolved next hop fe80::60e:1ff:fe01:1, which corresponds with the "int-PE-1-PE-2" interface on PE-1. Similar output applies on PE-1 for next hop 2001:db8::2:3. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show router bgp next-hop evpn 2001:db8::2:2 detail
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
===============================================================================
BGP VPN Next Hop
===============================================================================
-------------------------------------------------------------------------------
VPN Next Hop : 2001:db8::2:2
Autobind : gre/rtm
Labels : --
User-labels : 1
Admin-tag-policy : --
Strict-tunnel-tagging : N
Color : --
Locator : 2001:db8:aaaa:2::/64
Created : 00h02m13s
Last-modified : 00h02m13s
-------------------------------------------------------------------------------
Resolving Prefix : 2001:db8::2:2/128
Preference : 18 Metric : 10
Reference Count : 1 Owner : GRE
Fib Programmed : Y
Resolved Next Hop: fe80::60e:1ff:fe01:1
Egress Label : n/a TunnelId : 4294967293
Locator State : Resolved
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Next Hops : 1
===============================================================================
The show router bgp routes evpn incl-mcast hunt command shows a consolidated view on the inclusive multicast routes for the EVPN family. On PE-1, in the RIB In Entries section, it shows for each learned next hop how PE-1 must handle the BUM traffic destined for it. In the RIB Out Entries section, it shows for each local next hop how PE-1 expects the remote routers to handle BUM traffic destined for it. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show router bgp routes evpn incl-mcast hunt
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
---snip---
===============================================================================
BGP EVPN Inclusive-Mcast Routes
===============================================================================
-------------------------------------------------------------------------------
RIB In Entries
-------------------------------------------------------------------------------
Network : n/a
Nexthop : 2001:db8::2:2
Path Id : None
From : 2001:db8::2:4
Res. Nexthop : fe80::60e:1ff:fe01:1
Local Pref. : 100 Interface Name : int-PE-1-PE-2
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 10
Connector : None
Community : target:64500:1
Cluster : 4.4.4.4
Originator Id : 192.0.2.2 Peer Router Id : 192.0.2.4
Flags : Used Valid Best IGP
Route Source : Internal
AS-Path : No As-Path
EVPN type : INCL-MCAST
Tag : 0
Originator IP : 2001:db8::2:2
Route Dist. : 192.0.2.2:1
Route Tag : 0
Neighbor-AS : n/a
Orig Validation: N/A
Source Class : 0 Dest Class : 0
Add Paths Send : Default
Last Modified : 00h02m13s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:db8:aaaa:2::
Full Sid : 2001:db8:aaaa:2:7fff:f000::
Behavior : End.DT2M (24)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 48 Loc-Node-Len : 16
Func-Len : 20 Arg-Len : 0
Tpose-Len : 20 Tpose-offset : 64
-------------------------------------------------------------------------------
PMSI Tunnel Attributes :
Tunnel-type : Ingress Replication
Flags : Type: RNVE(0) BM: 0 U: 0 Leaf: not required
MPLS Label : 8388592
Tunnel-Endpoint: 2001:db8::2:2
-------------------------------------------------------------------------------
Network : n/a
Nexthop : 2001:db8::2:3
---snip---
-------------------------------------------------------------------------------
RIB Out Entries
-------------------------------------------------------------------------------
Network : n/a
Nexthop : 2001:db8::2:1
Path Id : None
To : 2001:db8::2:4
Res. Nexthop : n/a
Local Pref. : 100 Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : n/a
Connector : None
Community : target:64500:1
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.4
Origin : IGP
AS-Path : No As-Path
EVPN type : INCL-MCAST
Tag : 0
Originator IP : 2001:db8::2:1
Route Dist. : 192.0.2.1:1
Route Tag : 0
Neighbor-AS : n/a
Orig Validation: N/A
Source Class : 0 Dest Class : 0
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:db8:aaaa:1::
Full Sid : 2001:db8:aaaa:1:7fff:f000::
Behavior : End.DT2M (24)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 48 Loc-Node-Len : 16
Func-Len : 20 Arg-Len : 0
Tpose-Len : 20 Tpose-offset : 64
-------------------------------------------------------------------------------
PMSI Tunnel Attributes :
Tunnel-type : Ingress Replication
Flags : Type: RNVE(0) BM: 0 U: 0 Leaf: not required
MPLS Label : 8388592
Tunnel-Endpoint: 2001:db8::2:1
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 3
===============================================================================
Verify data traffic
At this point, verify that IPv4 and IPv6 data traffic is possible between the local VPRN 11 on PE-1 and the remote VPRN 11 on PE-2 and PE-3. Perform a similar verification for IPv4 and IPv6 data traffic between the local VPRN 11 on PE-2 and the remote VPRN 11 on PE-1 and PE-3, and for IPv4 and IPv6 data traffic between the local VPRN 11 on PE-3 and the remote VPRN 11 on PE-1 and PE-2.
For example, for IPv4 data traffic to the remote VPRN 11 on PE-2:
A:admin@PE-1# ping 172.16.0.2 router-instance "VPRN_11"
PING 172.16.0.2 56 data bytes
64 bytes from 172.16.0.2: icmp_seq=1 ttl=64 time=7.34ms.
---snip---
---- 172.16.0.2 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 1.90ms, avg = 3.34ms, max = 7.34ms, stddev = 2.02ms
For example, for IPv6 data traffic to the remote VPRN 11 on PE-2:
A:admin@PE-1# ping 2001:db8::172:16:0:2 router-instance "VPRN_11"
PING 2001:db8::172:16:0:2 56 data bytes
64 bytes from 2001:db8::172:16:0:2 icmp_seq=1 hlim=64 time=5.50ms.
---snip---
---- 2001:db8::172:16:0:2 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 1.76ms, avg = 2.79ms, max = 5.50ms, stddev = 1.37ms
When the SRv6 End.DT2U behavior is enabled, the sending of IPv4 or IPv6 data traffic triggers the exchange of EVPN MAC/IP BGP update messages for the EVPN family. The show log log-id <log-id> command on PE-1 shows the BGP update message that PE-1 receives from PE-2, via the RR. It indicates the remote MAC address (mac: 00:00:5e:00:53:02), and the route distinguisher (RD: 192.0.2.2:1), ESI (ESI: ESI-0), tag (tag: 0), label (label1: 8388608 (0x800000)), route target (Extended Community: target:64500:1), and next hop (Global NextHop 2001:db8::2:2) that PE-1 must use while sending IPv4 or IPv6 data traffic to PE-2. In addition, it indicates that PE-1 must send the frames to the SRv6 locator (SRv6 SID: 2001:db8:aaaa:2::) with End.DT2U behavior (Behavior: 0x17 (23)). PE-1 derives the SRv6 full SID that is needed for this (2001:db8:aaaa:2:8000::). Similar output applies for the BGP update that PE-1 receives from PE-3, via the RR. PE-1 advertises a similar BGP update message to the RR, which forwards it to PE-2 and PE-3 (not shown here). PE-2 and PE-3 receive and advertise similar BGP update messages.
A:admin@PE-1# show log log-id "log_2"
===============================================================================
Event Log 1 log-name log_2
===============================================================================
Description : (Not Specified)
Memory Log contents [size=100 next event=4 (not wrapped)]
---snip---
2 2023/01/04 17:01:49.282 CET 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 = 139
Flag: 0x90 Type: 14 Len: 56 Multiprotocol Reachable NLRI:
Address Family EVPN
NextHop len 16 Global NextHop 2001:db8::2:2
Type: EVPN-MAC Len: 33 RD: 192.0.2.2:1 ESI: ESI-0, tag: 0, mac len: 48 mac: 00:00:5e:00:53:02, IP len: 0, IP: NULL, label1: 8388608
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: 0x80 Type: 9 Len: 4 Originator ID: 192.0.2.2
Flag: 0x80 Type: 10 Len: 4 Cluster ID:
4.4.4.4
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:2::
SID Flags: 0x0 Endpoint Behavior: 0x17 Rsvd2: 0x0
SRv6 SID Sub-Sub-TLV
Type: 1 Len: 6
BL:48 NL:16 FL:20 AL:0 TL:20 TO:64
"
---snip---
The reception of the EVPN MAC/IP BGP update messages triggers PE-1 to install learned MAC routes, as shown with the show router bgp neighbor <ip-address> received-routes evpn command. In contrast to the learned inclusive multicast routes, the learned MAC routes expire in accordance with the configuration that is shown with the show service id 12 fdb expiry command. PE-1 installs a learned MAC/IP route for each of the remote CEs. PE-1 derives the SRv6 function (524288) from the received label field. The earlier installed inclusive multicast routes remain in place (not shown). The BGP EVPN MAC/IP advertisement routes that are received, can also be displayed with the show router bgp routes evpn mac command. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show router bgp neighbor 2001:db8::2:4 received-routes evpn
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
Legend -
Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid
l - leaked, x - stale, > - best, b - backup, p - purge
Origin codes : i - IGP, e - EGP, ? - incomplete
===============================================================================
---snip---
===============================================================================
BGP EVPN MAC Routes
===============================================================================
Flag Route Dist. MacAddr ESI
Tag Mac Mobility Label1
Ip Address
NextHop
-------------------------------------------------------------------------------
u*>i 192.0.2.2:1 00:00:5e:00:53:02 ESI-0
0 Seq:0 LABEL 524288
n/a
2001:db8::2:2
u*>i 192.0.2.3:1 00:00:5e:00:53:03 ESI-0
0 Seq:0 LABEL 524288
n/a
2001:db8::2:3
-------------------------------------------------------------------------------
Routes : 2
===============================================================================
===============================================================================
BGP EVPN Inclusive-Mcast Routes
===============================================================================
---snip---
-------------------------------------------------------------------------------
Routes : 2
===============================================================================
---snip---
========================================================
The show router bgp neighbor <ip-address> advertised-routes evpn command on PE-2 shows the local MAC routes on PE-2. PE-2 advertises them to its BGP neighbors. Similar output applies for PE-1 and for PE-3.
A:admin@PE-2# show router bgp neighbor 2001:db8::2:4 advertised-routes evpn
===============================================================================
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
===============================================================================
---snip---
===============================================================================
BGP EVPN MAC Routes
===============================================================================
Flag Route Dist. MacAddr ESI
Tag Mac Mobility Label1
Ip Address
NextHop
-------------------------------------------------------------------------------
i 192.0.2.2:1 00:00:5e:00:53:02 ESI-0
0 Seq:0 524288
n/a
2001:db8::2:2
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
===============================================================================
BGP EVPN Inclusive-Mcast Routes
===============================================================================
Flag Route Dist. OrigAddr
Tag NextHop
-------------------------------------------------------------------------------
i 192.0.2.2:1 2001:db8::2:2
0 2001:db8::2:2
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
---snip---
========================================================
From the received EVPN MAC/IP BGP update messages, PE-1 learns the SRv6 tunnel endpoints for unicast traffic, as shown with the show service id 12 segment-routing-v6 instance 1 destinations command. The segment ID (SRv6 SID) corresponds with the expected End.DT2U behavior on PE-2 and PE-3 respectively. The earlier learned SRv6 tunnel endpoints for BUM traffic remain in place. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show service id 12 segment-routing-v6 instance 1 destinations
===============================================================================
TEP, SID
===============================================================================
Instance TEP Address Segment Id SupBcasDom Num
Mcast MACs
-------------------------------------------------------------------------------
1 2001:db8::2:2 2001:db8:aaaa:2:7fff:f000: No 0
:
BUM
1 2001:db8::2:2 2001:db8:aaaa:2:8000:: No 1
-
1 2001:db8::2:3 2001:db8:aaaa:3:7fff:f000: No 0
:
BUM
1 2001:db8::2:3 2001:db8:aaaa:3:8000:: No 1
-
-------------------------------------------------------------------------------
Number of TEP, SID: 4
-------------------------------------------------------------------------------
===============================================================================
---snip---
===============================================================================
The show service id 12 fdb expiry command on PE-1 shows that PE-1 learns one MAC address locally, while PE-1 learns two remote MAC addresses via BGP EVPN.
A:admin@PE-1# show service id 12 fdb expiry
===============================================================================
Forwarding Database, Service 12
===============================================================================
---snip---
Table Size : 250 Allocated Count : 3
Total In Use : 3
Learned Count : 1 Static Count : 0
---snip---
BGP EVPN Count : 2 EVPN Static Cnt : 0
---snip---
Remote Age : 900 Local Age : 300
---snip---
Mac Learning : Enabled Discard Unknown : Disabled
Mac Aging : Enabled Relearn Only : False
---snip---
===============================================================================
The locally learned MAC address belongs to the originator of the ping commands in the VPRN 11 context on PE-1, while the BGP EVPN learned MAC addresses belong to the destinations for those ping commands, which are in the VPRN 11 context on PE-2 and in the VPRN 11 context on PE-3 respectively. The Transport:Tnl-Id (for example 2001:db8:aaaa:2:8000::) indicates that PE-1 transports frames to the destination (on or connected to PE-2) via the SRv6 full SID to PE-2 for the End.DT2U behavior. The VPLS FDB entries that PE-1 learns locally expire after 300 seconds. The removal of a locally learned entry from the local VPLS FDB triggers the removal of the corresponding BGP EVPN learned entries in the remote VPLS FDBs. Similar output applies for the ping commands in the VPRN 11 context on PE-2 and for the ping commands in the VPRN 11 context on PE-3.
A:admin@PE-1# show service id 12 fdb detail
===============================================================================
Forwarding Database, Service 12
===============================================================================
ServId MAC Source-Identifier Type Last Change
Transport:Tnl-Id Age
-------------------------------------------------------------------------------
12 00:00:5e:00:53:01 sap:1/1/c1/1:11 L/30 01/04/23 17:01:49
12 00:00:5e:00:53:02 srv6-1: Evpn 01/04/23 17:01:49
2001:db8::2:2
2001:db8:aaaa:2:8000::
12 00:00:5e:00:53:03 srv6-1: Evpn 01/04/23 17:01:58
2001:db8::2:3
2001:db8:aaaa:3:8000::
-------------------------------------------------------------------------------
No. of MAC Entries: 3
-------------------------------------------------------------------------------
Legend: L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf
===============================================================================
Next to the locally learned MAC address for the locally configured interface, VPRN 11 on PE-1 has two dynamically learned MAC addresses, one for each of the BGP EVPN learned MAC addresses. Similar output applies for VPRN 11 on PE-2 and for VPRN 11 on PE-3.
A:admin@PE-1# show router 11 arp summary
============================================================
ARP Table Summary (Service: 11)
============================================================
Local ARP Entries : 1
---snip---
Dynamic ARP Entries : 2
---snip---
------------------------------------------------------------
No. of ARP Entries : 3
============================================================
The show router 11 arp command on PE-1 shows the association between the IP address and the MAC address, and the interface that the MAC address belongs to. The MAC address for the remote interface to the EVPN-enabled VPLS service corresponds with that of the SAP that is configured for it in VPRN 11 on PE-2 and VPRN 11 on PE-3. The association between the IP address and the MAC address for dynamically learned remote MAC addresses expires after 4 hours. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show router 11 arp
===============================================================================
ARP Table (Service: 11)
===============================================================================
IP Address MAC Address Expiry Type Interface
-------------------------------------------------------------------------------
172.16.0.1 00:00:5e:00:53:01 00h00m00s Oth[I] local
172.16.0.2 00:00:5e:00:53:02 03h58m56s Dyn[I] local
172.16.0.3 00:00:5e:00:53:03 03h58m51s Dyn[I] local
-------------------------------------------------------------------------------
No. of ARP Entries: 3
===============================================================================
The show router bgp routes evpn mac hunt command shows a consolidated view on the MAC routes for the EVPN family. On PE-1, in the RIB In Entries section, it shows for each learned next hop how PE-1 must handle the IPv4 and IPv6 unicast data destined for it and where PE-1 must send it to. In the RIB Out Entries section, it shows for each local next hop how PE-1 expects the remote routers to handle the IPv4 and IPv6 unicast data destined for it and where PE-1 expects that data. Similar output applies for PE-2 and for PE-3.
A:admin@PE-1# show router bgp routes evpn mac hunt
===============================================================================
BGP Router ID:192.0.2.1 AS:64500 Local AS:64500
===============================================================================
---snip---
===============================================================================
BGP EVPN MAC Routes
===============================================================================
-------------------------------------------------------------------------------
RIB In Entries
-------------------------------------------------------------------------------
Network : n/a
Nexthop : 2001:db8::2:2
Path Id : None
From : 2001:db8::2:4
Res. Nexthop : fe80::60e:1ff:fe01:1
Local Pref. : 100 Interface Name : int-PE-1-PE-2
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 10
Connector : None
Community : target:64500:1
Cluster : 4.4.4.4
Originator Id : 192.0.2.2 Peer Router Id : 192.0.2.4
Flags : Used Valid Best IGP
Route Source : Internal
AS-Path : No As-Path
EVPN type : MAC
ESI : ESI-0
Tag : 0
IP Address : n/a
Route Dist. : 192.0.2.2:1
Mac Address : 00:00:5e:00:53:02
MPLS Label1 : LABEL 524288 MPLS Label2 : n/a
Route Tag : 0
Neighbor-AS : n/a
Orig Validation: N/A
Source Class : 0 Dest Class : 0
Add Paths Send : Default
Last Modified : 00h01m02s
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:db8:aaaa:2::
Full Sid : 2001:db8:aaaa:2:8000::
Behavior : End.DT2U (23)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 48 Loc-Node-Len : 16
Func-Len : 20 Arg-Len : 0
Tpose-Len : 20 Tpose-offset : 64
Network : n/a
Nexthop : 2001:db8::2:3
---snip---
-------------------------------------------------------------------------------
RIB Out Entries
-------------------------------------------------------------------------------
Network : n/a
Nexthop : 2001:db8::2:1
Path Id : None
To : 2001:db8::2:4
Res. Nexthop : n/a
Local Pref. : 100 Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : n/a
Connector : None
Community : target:64500:1
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.4
Origin : IGP
AS-Path : No As-Path
EVPN type : MAC
ESI : ESI-0
Tag : 0
IP Address : n/a
Route Dist. : 192.0.2.1:1
Mac Address : 00:00:5e:00:53:01
MPLS Label1 : 524288 MPLS Label2 : n/a
Route Tag : 0
Neighbor-AS : n/a
Orig Validation: N/A
Source Class : 0 Dest Class : 0
SRv6 TLV Type : SRv6 L2 Service TLV (6)
SRv6 SubTLV : SRv6 SID Information (1)
Sid : 2001:db8:aaaa:1::
Full Sid : 2001:db8:aaaa:1:8000::
Behavior : End.DT2U (23)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len : 48 Loc-Node-Len : 16
Func-Len : 20 Arg-Len : 0
Tpose-Len : 20 Tpose-offset : 64
-------------------------------------------------------------------------------
Routes : 3
===============================================================================
Conclusion
Distributed EVPN-enabled VPLS services can be transported over SRv6 tunnels that are automatically set up between PEs. PEs attached to the same EVPN-enabled VPLS service exchange EVPN IMET routes and MAC/IP advertisement routes that contain the SRv6 SIDs. Those SRv6 SIDs are required so that PEs can create SRv6 destinations to send unicast and BUM traffic to the other PEs in the service.