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 en 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-id> 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 the Segment Routing and PCE volume of the 7450 ESS, 7750 SR, and 7950 XRS Advanced Configuration Guide - Part I.

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.

Figure 1. Example topology
Example topology with three PE routers

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

This configuration includes:
  • 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 Segment Routing and PCE volume of the 7450 ESS, 7750 SR, and 7950 XRS Advanced Configuration Guide - Part I

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:PE-1# configure
    port 1/1/c2/1
        ethernet
            mode hybrid
            encap-type dot1q
        exit
        no shutdown
    exit
    port 1/1/c3/1
        ethernet
            mode hybrid
            encap-type dot1q
        exit
        no shutdown
    exit
    port 1/1/c4/1
        ethernet
            mode hybrid
            encap-type dot1q
        exit
        no shutdown
    exit
    port 1/1/c1/1
        ethernet
            mode hybrid
            encap-type dot1q
        exit
        no shutdown
    exit
    port 1/1/c1/2
        ethernet
            mode hybrid
            encap-type dot1q
        exit
        no shutdown
    exit
    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/126
            exit
            no shutdown
        exit
        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/126
            exit
            no shutdown
        exit
        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/126
            exit
            no shutdown
        exit
        interface "system"
            address 192.0.2.1/32
            description "system interface of PE-1"
            ipv6
                address 2001:db8::2:1/128
            exit
            no shutdown
        exit
        autonomous-system 64500
        isis 0
            level-capability level-2
            area-id 49.0001
            traffic-engineering
            traffic-engineering-options
                ipv6
                application-link-attributes
                exit
            exit
            advertise-router-capability as
            ipv6-routing native
            level 2
                wide-metrics-only
            exit
            interface "system"
                passive
                no shutdown
            exit
            interface "int-PE-1-PE-2"
                interface-type point-to-point
                no shutdown
            exit
            interface "int-PE-1-PE-3"
                interface-type point-to-point
                no shutdown
            exit
            interface "int-PE-1-RR-4"
                interface-type point-to-point
                no shutdown
            exit
            no shutdown
        exit
        bgp
            rapid-withdrawal
            split-horizon
            rapid-update evpn
            group "gr_v6_internal"
                description "internal bgp group on PE-1"
                family evpn
                peer-as 64500
                neighbor 2001:db8::2:4
                exit
            exit
            no shutdown
        exit
    exit
exit

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:PE-1# configure
    service
        vprn 11 name "VPRN_11" customer 1 create
            description "CE_1"
            interface "local" create
                mac 00:00:5e:00:53:01
                address 172.16.0.1/29
                ipv6
                    address 2001:db8::172:16:0:1/125
                exit
                sap 1/1/c1/2:11 create
                exit
            exit
            no shutdown
        exit
    exit all

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: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: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     00h15m44s  0
       local                                                        0
-------------------------------------------------------------------------------
No. of Routes: 1
---snip---
===============================================================================

For IPv6:

*A: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     00h15m43s  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: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: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:PE-1# 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
        no shutdown
        exit
    port pxc-1.b
        no shutdown
    exit
    port pxc-2.a
        no shutdown
    exit
    port pxc-2.b
        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 all

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: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
                    exit
                    no shutdown
                exit all

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 Segment Routing and PCE volume of the 7450 ESS, 7750 SR, and 7950 XRS Advanced Configuration Guide - Part I.



*A:PE-1# config# router Base segment-routing
        segment-routing-v6
            origination-fpe 1
            locator "PE-1_loc_VPLS"
                termination-fpe 2
                no shutdown
            exit
        exit all

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:PE-1# configure router Base
        isis 0
            segment-routing-v6
                locator "PE-1_loc_VPLS"
                    level-capability level-2
                    level 1
                    exit
                    level 2
                    exit
                exit
                no shutdown
            exit
        exit all

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: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  : 0x6                    Checksum  : 0xfb48   Lifetime  : 968
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: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      00h03m58s  18
       fe80::60e:1ff:fe01:1-"int-PE-1-PE-2"                         10
2001:db8::2:3/128                             Remote  ISIS      00h03m58s  18
       fe80::612:1ff:fe01:1-"int-PE-1-PE-3"                         10
---snip---
2001:db8:aaaa:1::/64                          Local   SRV6      00h05m05s  3
       fe80::201-"_tmnx_fpe_2.a"                                    0
2001:db8:aaaa:2::/64                          Remote  ISIS      00h03m50s  18
       2001:db8:aaaa:2::/64 (tunneled:SRV6-ISIS)                    10
2001:db8:aaaa:3::/64                          Remote  ISIS      00h03m43s  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: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: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.      14    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.      14    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: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: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:PE-1# ping router 11 172.16.0.2 
PING 172.16.0.2 56 data bytes
Request timed out. icmp_seq=1.
---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:PE-1# ping router 11 2001:db8::172:16:0:2 
PING 2001:db8::172:16:0:2 56 data bytes

---- 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 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 12 bgp-evpn segment-routing-v6 1 context. In the service 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:PE-1# configure service
        vpls 12 name "VPLS_12" customer 1 create
            description "VPLS_12 on PE-1"
            segment-routing-v6 1 create
                locator "PE-1_loc_VPLS"
                    function
                        end-dt2u
                        end-dt2m
                    exit
                exit
            exit
            bgp
            exit
            bgp-evpn
                evi 1
                segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE-1_loc_VPLS" create
                    route-next-hop system-ipv6
                    no shutdown
                exit
            exit
            stp
                shutdown
            exit
            sap 1/1/c1/1:11 create
                description "sap to VPRN_11 on PE-1"
                no shutdown
            exit
            no shutdown
        exit all

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: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: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: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: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:PE-1# show log log-id 2

===============================================================================
Event Log 2 log-name log_2
===============================================================================
Description : (Not Specified)
Memory Log contents  [size=100   next event=4  (not wrapped)]
---snip---
2 2022/12/20 12:50:55.367 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 = 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: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: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: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: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               : 00h01m18s
Last-modified         : 00h01m18s
-------------------------------------------------------------------------------
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: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  : 00h01m17s              
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:PE-1# ping router 11 172.16.0.2 
PING 172.16.0.2 56 data bytes
64 bytes from 172.16.0.2: icmp_seq=1 ttl=64 time=6.89ms.
---snip---
---- 172.16.0.2 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 1.94ms, avg = 3.04ms, max = 6.89ms, stddev = 1.93ms

For example, for IPv6 data traffic to the remote VPRN 11 on PE-2:

*A:PE-1# ping router 11 2001:db8::172:16:0:2 
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=14.4ms.
---snip---
---- 2001:db8::172:16:0:2 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 2.09ms, avg = 4.63ms, max = 14.4ms, stddev = 4.88ms

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:PE-1# show log log-id 2

===============================================================================
Event Log 2 log-name log_2
===============================================================================
Description : (Not Specified)
Memory Log contents  [size=100   next event=4  (not wrapped)]
---snip---
2 2022/12/20 12:53:36.016 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 = 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: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: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: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: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: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/0      12/20/22 12:53:36
12         00:00:5e:00:53:02 srv6-1:                 Evpn     12/20/22 12:53:36
                             2001:db8::2:2
           2001:db8:aaaa:2:8000::
12         00:00:5e:00:53:03 srv6-1:                 Evpn     12/20/22 12:53:44
                             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: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: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 03h59m24s Dyn[I] local
172.16.0.3      00:00:5e:00:53:03 03h59m19s 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: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  : 00h00m32s              
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.