EVPN VPLS Services Using SRv6 Transport

This chapter provides information about EVPN VPLS using SRv6 transport.

Topics in this chapter include:

Applicability

The information and configuration in this chapter are based on SR OS Release 24.3.R1.

EVPN VPLS services over SRv6 are supported on FP4-based platforms in SR OS Release 22.7.R1 and later. For FP platforms, both all-active and single-active multihoming modes in EVPN VPLS services over SRv6 are supported in SR OS Release 23.10.R1 and later.

For migration scenarios from EVPN MPLS to EVPN SRv6 or from EVPN VXLAN to EVPN SRv6, see the EVPN VPLS with MPLS to SRv6 or VXLAN to SRv6 Stitching chapter.

Overview

SRv6 locator and micro-segment locator

An EVPN VPLS service using SRv6 transport can be configured with a locator for segment identifiers (SIDs) or with a micro-segment locator for micro-SIDs (uSIDs). The micro-SID is an extension of the SRv6 architecture that allows for better efficiency. For micro-SIDs, multiple uSID instructions can be encoded within a single 128-bit SID address, with a maximum of six uSID instructions. Any SID in the destination address or segment routing header can be an SRv6 uSID carrier containing one or more uSIDs.

Locator for SID

SRv6 SID encoding shows two examples of SRv6 SID encoding: one with a 96-bit locator and one with a 64-bit locator. The 64-bit locator contains a 48-bit block address B and a 16-bit node-specific address N.
Figure 1. SRv6 SID encoding

The block length, function length, and argument length can be configured with the following command:

*A:PE-2>config>router>segment-routing>srv6>locator# ?
 [no] algorithm       - Configure a Flex Algorithm for segment routing v6
      argument-length - Configure segment argument length
 [no] block-length    - Configure block length for segment routing v6 locator
 [no] function-length - Configure function length for segment routing v6 locator
 [no] label-block     - Configure reserved label block for allocation of static and 
                        dynamic labels for the segment routing v6 locator
      prefix          + Configure ipv6 prefix parameters for locator
 [no] shutdown        - Administratively disable or enable the locator
      static-function + Configure static function parameters for segment routing v6 locator
 [no] termination-fpe - Configure fpe for segment routing v6 locator

The only two possible values for the argument length are 0 (default) and 16, as follows:

*A:PE-2>config>router>segment-routing>srv6>locator# argument-length ?
  - argument-length {0|16}

The block length can have any value from 0 to 96, as follows:

*A:PE-2>config>router>segment-routing>srv6>locator# block-length ?
  - block-length <block-length>
  - no block-length

 <block-length>       : [0..96]

The function length can be 16 or any value from 20 to 96, as follows:

*A:PE-2>config>router>segment-routing>srv6>locator# function-length ?
  - function-length <function-length>
  - no function-length

 <function-length>    : 16 | [20..96]
For an EVPN VPLS service using SRv6 transport and configured with a locator, the egress PE signals the following functions to the ingress PE:
  • End.DT2U for known unicast traffic, encoded in EVPN MAC/IP advertisement routes
  • End.DT2M for BUM traffic, encoded in Inclusive Multicast Ethernet Tag (IMET) routes

In EVPN VPLS services, End.DT2U must be configured (with or without a static value) so that MAC/IP routes can be advertised. Similarly, End.DT2M must be configured (with or without a—different—static value) so that IMET routes can be advertised.

Micro-segment locator for micro-SID

A maximum of six 16-bit micro-SID instructions can be encoded within a single 128-bit SID address, as follows:

<32-bit prefix>:<uSID1>:<uSID2>:<uSID3>:<uSID4>:<uSID5>:<uSID6>

The prefix length or block length is 32 in the preceding example, but can be any multiple of 8, with a maximum of 64. Any SRv6 instruction starting with this 32-bit prefix can contain up to six micro-instructions <uSIDx>. In the case that less than six uSIDs are used with this 32-bit prefix, the unused micro-instructions are set to 0x0000.

SRv6 micro-SID encoding shows an example of SRv6 micro-SID encoding with a 32-bit uSID prefix (block B), a 16-bit uSID identifying the node (uN), a 16-bit function, and optionally a 16-bit argument:

Figure 2. SRv6 micro-SID encoding

Micro-segments can be configured with the following command:

*A:PE-2>config>router>segment-routing>srv6# micro-segment ?
  - micro-segment
  - no micro-segment

      argument-length - Configure micro-segment argument length
 [no] block           + Configure micro-segment block
      block-length    - Configure micro-segment block length
      global-sid-ent* - Configure micro-segment global SID entries
      sid-length      - Configure micro-segment SID length

The argument length is either 0 or 16, as follows:

*A:PE-2>conf>router>sr>srv6>micro-segment# argument-length ?
  - argument-length {0|16}

For micro-segments, the block length must be a multiple of 8, with a maximum of 64, as follows:

*A:PE-2>conf>router>sr>srv6>micro-segment# block-length ?
  - block-length {8|16|24|32|40|48|56|64}

The micro-segment SID length can only be 16, as follows:

*A:PE-2>conf>router>sr>srv6>micro-segment# sid-length ?
  - sid-length {16}
In the case of a micro-segment locator, the egress PE signals the following functions to the ingress PE:
  • End.uDT2U for known unicast traffic
  • End.uDT2M for BUM traffic

EVPN VPLS services using SRv6 transport

An EVPN VPLS service using SRv6 can either be configured with a locator or a micro-segment locator, as follows:

*A:PE-2>config>service>vpls>srv6$ ?
 [no] locator         + Configure locator information
 [no] micro-segment-* + Configure micro segment locator information

The EVPN VPLS can be configured with an SRv6 locator, as follows:

*A:PE-2>config>service>vpls>srv6# locator "PE2-loc" ?
  - locator <name>
  - no locator <name>

 <name>               : [64 chars max]


      function        + Configure function value information

When a locator is configured, the possible functions are End.DT2U for known unicast traffic and End.DT2M for BUM traffic, as follows:

*A:PE-2>config>service>vpls>srv6>locator# function ?
  - function

 [no] end-dt2m        - Configure endpoint DT2M function value
 [no] end-dt2u        - Configure endpoint DT2U function value

When a micro-segment locator is configured, the functions are End.uDT2U for known unicast traffic and End.uDT2M for BUM traffic, as follows:

*A:PE-2>config>service>vpls>srv6# micro-segment-locator "PE2-mloc" function ?
  - function

 [no] udt2m           - Configure micro-segment DT2M function value
 [no] udt2u           - Configure micro-segment DT2U function value

In the bgp-evpn segment-routing-v6 context, the following can be configured:

*A:PE-2>config>service>vpls>bgp-evpn# segment-routing-v6 ?
  - segment-routing-v6 [bgp <bgp-instance>] [srv6-instance <[1..1]>] [default-locator <name>]
    [create]
  - no segment-routing-v6 [bgp <bgp-instance>]

 <bgp-instance>       : [1..2]
 <name>               : [64 chars max]
 <create>             : keyword


 [no] default-route-* - Configure default-route-tag to match against export policies
      ecmp            - Configure maximum ECMP routes information
 [no] evi-three-byte* - Enable/Disable evi-three-byte-auto-rt
 [no] force-qinq-vc-* - Forces qinq-vc-type forwarding in the data-path
 [no] force-vlan-vc-* - Forces vlan-vc-type forwarding in the data-path
      mh-mode         - Configure multi-homing mode
 [no] oper-group      - Configure oper-group
      resolution      - Configure route resolution options
 [no] restrict-prote* - Enable/disable protected src MAC restriction
      route-next-hop  - Configure route next-hop
 [no] shutdown        - Enable/disable SRV6
 [no] source-address  - Configure source IPv6 address
 [no] split-horizon-* - Configure a split-horizon-group
The following parameters are specific to BGP-EVPN SRv6:
  • The default-route-tag command is used to match BGP-EVPN routes for the service on export policies, for example, to add or modify BGP attributes.
  • The ecmp command is used for aliasing on remote SRv6 EVPN Ethernet segment (ES) destinations.
  • The evi-three-byte-auto-rt command is used to enable or disable 3-byte EVI auto-RT.
  • The force-qinq-vc-forwarding command is used to preserve two VLAN tags in the SRv6 tunnel.
  • The force-vlan-vc-forwarding command is used to preserve one VLAN tag in the SRv6 tunnel.
  • The mh-mode option can be configured with the values access or network (needed in the case of multi-instance VPLS services).
  • The oper-group command is required for fault propagation purposes.
  • The resolution {route-table|tunnel-table|fallback-tunnel-to-route-table} command allows for setting the resolution of SRv6 routes in the route table or tunnel table (needed for SRv6 policies), and even a fallback from tunnel to route table resolution.
  • The restrict-protected-src discard-frame command is required for loop avoidance along with mac-duplication blackhole.
  • The route-next-hop command controls the BGP next hop used for service routes. The default is system IPv4 address.
  • The source-address command does not need to be reachable or even exist on a local interface. This is possible because the source address is not looked up in the data path at the remote PE. If not configured, the source address is inherited from the locator's source address.
  • The split-horizon-group command is used for a seamless integration with spoke SDPs and migration from the EVPN-MPLS services (multi-instance services).

AD per-ES routes in EVPN SRv6 multihoming

An EVPN VPLS service over SRv6 cannot be configured with all-active or single-active multihoming with the ESI label when the SRv6 locator has—the default—argument length 0. The following error is raised when attempting to configure a SAP with a LAG that is associated to an all-active ES in an EVPN VPLS service with SRv6 locator with argument length 0:

*A:PE-2>config>service>vpls# sap lag-1:3 create
MINOR: SVCMGR #6044 Cannot create sap - Associated Srv6 Svc 3 has locators with no argument length configured

The arg.fe2 argument is advertised along with the AD per-ES routes for all-active or single-active multihoming with the ESI label. The arg.fe2 argument is used along with the End.DT2M or End.uDT2M functions and supports the transposition into the ESI label extended community label field.

The arg.fe2 argument is dynamically allocated and encoded as follows:
  • The allocated arg.fe2 value is encoded in the high-order 16 bits of the ESI label field.
  • The SRv6 SID value is always 0.
  • The SID structure advertised in the SRv6 SID sub-sub-TLV follows the length of the locator associated with the VPLS (block length, node length, function length).
Note: If the ES is configured as multi-homing single-active no-esi-label, the AD per-ES routes are advertised with ESI label 3 (for an implicit-null label) and without the arg.fe2 argument.

Configuration

The Example topology shows the topology with six SR OS nodes:
Figure 3. Example topology
The initial configuration includes:
  • cards, MDAs, ports
  • LAG 1 between MTU-1, PE-2, and PE-3
  • router interfaces
  • IS-IS on the router interfaces
  • BGP for the EVPN address family on PE-2, PE-3, PE-4, and PE-5

As an example, the BGP configuration on PE-2 is as follows:

# on PE-2:
configure
    router Base
        autonomous-system 64500
        bgp
            vpn-apply-import
            vpn-apply-export
            enable-peer-tracking
            rapid-withdrawal
            split-horizon
            rapid-update evpn
            group "internal"
                family evpn
                peer-as 64500
                neighbor 2001:db8::2:3
                exit
                neighbor 2001:db8::2:4
                exit
                neighbor 2001:db8::2:5
                exit
            exit
        exit
Two use cases are described in the following sections:

EVPN VPLS using SRv6 with locator

The core PEs in Example topology with VPLS-1 are connected through an SRv6 network. All-active multihoming applies between PE-2 and PE-3, while single-active multihoming applies between PE-4 and PE-5.

Figure 4. Example topology with VPLS-1

SRv6 configuration with locator

SRv6 is configured on the core PEs. The configuration on PE-2 is as follows:

# on PE-2:
configure
    card 1
        mda 1
            xconnect
                mac 1 create
                    loopback 1 create
                    exit
                    loopback 2 create
                    exit
                exit
            exit
            no shutdown
        exit
    exit
    port-xc
        pxc 1 create
            port 1/1/m1/1
            no shutdown
        exit
        pxc 2 create
            port 1/1/m1/2
            no shutdown
        exit
    exit
    port pxc-1.a
        ethernet
        exit
        no shutdown
    exit
    port pxc-1.b
        ethernet
        exit
        no shutdown
    exit
    port pxc-2.a
        ethernet
        exit
        no shutdown
    exit
    port pxc-2.b
        ethernet
        exit
        no shutdown
    exit
    port 1/1/m1/1
        no shutdown
    exit
    port 1/1/m1/2
        no shutdown
    exit
    fwd-path-ext
        fpe 1 create
            path pxc 1
            srv6 origination
                interface-a
                exit
                interface-b
                exit
            exit
        exit
        fpe 2 create
            path pxc 2
            srv6 termination
                interface-a
                exit
                interface-b
                exit
            exit
        exit
    exit
    router Base
---snip---
        mpls-labels
            reserved-label-block "srv6-labels"          # optional
                start-label 20000 end-label 20999
            exit
        exit
        segment-routing
            segment-routing-v6
                origination-fpe 1
                source-address 2001:db8::2:2
                locator "PE2-loc"
                    block-length 48
                    label-block "srv6-labels"
                    function-length 16
                    termination-fpe 2
                    prefix
                        ip-prefix 2001:db8:aaaa:102::/64
                    exit
                    static-function
                    exit
                    argument-length 16
                    no shutdown
                exit
                base-routing-instance
                    locator "PE2-loc"
                        function
                            end-x-auto-allocate srh-mode psp protection unprotected
                            end 1
                                srh-mode usp
                            exit
                        exit
                    exit
                exit
            exit
        exit
        isis 0
            area-id 49.0001
            traffic-engineering
            traffic-engineering-options
                ipv6
                application-link-attributes
                exit
            exit
            advertise-passive-only
            advertise-router-capability as
            ipv6-routing native
            level 1
                wide-metrics-only
            exit
            level 2
                wide-metrics-only
            exit
            segment-routing-v6
                locator "PE2-loc"
                    level 1
                    exit
                    level 2
                    exit
                exit
                no shutdown
            exit
            interface "system"
                passive
            exit
            interface "int-PE-2-PE-3"
                level-capability level-2
                interface-type point-to-point
            exit
            interface "int-PE-2-PE-4"
                level-capability level-2
                interface-type point-to-point
            exit
            interface "int-PE-2-PE-5"
                level-capability level-2
                interface-type point-to-point
            exit
            no shutdown

The configuration on the other PEs is similar. On PE-5, no reserved MPLS label block is configured and the labels will be allocated by the system from the dynamic label range. The function length of the locator "PE5-loc" is 24 and the argument length is 16.

EVPN VPLS service configuration

VPLS-1 is configured on all nodes. The configuration on MTU-1 is as follows:

# on MTU-1:
configure
    service
        vpls 1 name "VPLS-1" customer 1 create
            stp
                shutdown
            exit
            sap 1/1/c10/1:1 create
                description "SAP to CE-11"
                no shutdown
            exit
            sap lag-1:1 create
                no shutdown
            exit
            no shutdown

On PE-2 and PE-3, all-active multihoming is configured, as follows:

# on PE-2:
configure
    service
        system
            bgp-evpn
                ethernet-segment "AA-vES-23-1" virtual create
                    esi 01:00:00:00:00:23:00:00:01:01
                    es-orig-ip 2001:db8::2:2          # on PE-3: 2001:db8::2:3
                    route-next-hop 2001:db8::2:2      # on PE-3: 2001:db8::2:3
                    es-activation-timer 3
                    service-carving
                        mode manual
                        manual
                            preference non-revertive create
                                value 100            # on PE-3: value 150
                            exit
                        exit
                    exit
                    multi-homing all-active
                    lag 1
                    dot1q
                        q-tag-range 1 to 3
                    exit
                    no shutdown
                exit
            exit
        exit
        vpls 1 name "VPLS-1" customer 1 create
            segment-routing-v6 1 create
                locator "PE2-loc"                    # on PE-3: "PE3-loc"
                    function
                        end-dt2u    # label dynamically allocated; label block
                        end-dt2m    # label dynamically allocated; label block
                    exit
                exit
            exit
            bgp
            exit
            bgp-evpn
                evi 1
                segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE2-loc" create
                    source-address 2001:db8::2:2     # on PE-3: "PE3-loc" - 2001:db8::2:3
                    ecmp 2
                    route-next-hop 2001:db8::2:2     # on PE-3: "PE3-loc" - 2001:db8::2:3
                    no shutdown
                exit
            exit
            stp
                shutdown
            exit
            sap lag-1:1 create
                no shutdown
            exit
            no shutdown

On PE-4, the function values are manually configured with a value of 10 for End.DT2U and a value of 11 for End.DT2M. The locator "PE4-loc" refers to the MPLS label block and the number of static functions is 15. Single-active multihoming applies between PE-4 and PE-5. The corresponding SDPs use LDP IPv6 tunnels, as follows:

# on PE-4:
configure
    router Base
        segment-routing
             segment-routing-v6
                locator "PE4-loc"
                    block-length 48
                    label-block "srv6-labels"
                    function-length 16
                    termination-fpe 2
                    prefix
                        ip-prefix 2001:db8:aaaa:104::/64
                    exit
                    static-function
                        max-entries 15
                    exit
                    argument-length 16
                    no shutdown
                exit
            exit
        exit
    exit
    service
        sdp 46 mpls create
            far-end 2001:db8::2:6
            ldp
            keep-alive
                shutdown
            exit
            no shutdown
        exit
        system
            bgp-evpn
                ethernet-segment "SA-ES-45" create
                    esi 01:00:00:00:00:45:00:00:00:01
                    es-orig-ip 2001:db8::2:4
                    route-next-hop 2001:db8::2:4
                    es-activation-timer 3
                    service-carving
                        mode auto
                    exit
                    multi-homing single-active
                    sdp 46
                    no shutdown
                exit
            exit
        exit
        vpls 1 name "VPLS-1" customer 1 create
            segment-routing-v6 1 create
                locator "PE4-loc"
                    function
                        end-dt2u 10     # configured function value
                        end-dt2m 11     # configured function value
                    exit
                exit
            exit
            bgp
            exit
            bgp-evpn
                evi 1
                segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE4-loc" create
                    source-address 2001:db8::2:4
                    ecmp 2
                    route-next-hop 2001:db8::2:4
                    no shutdown
                exit
            exit
            stp
                shutdown
            exit
            spoke-sdp 46:1 create
                no shutdown
            exit
            no shutdown

The configuration on PE-5 does not include an MPLS label block and the function values are dynamically allocated from the dynamic label range, as follows:

# on PE-5:
configure
    router Base
        segment-routing
            segment-routing-v6
                origination-fpe 1
                source-address 2001:db8::2:5
                locator "PE5-loc"
                    block-length 48
                    function-length 24
                    termination-fpe 2
                    prefix
                        ip-prefix 2001:db8:aaaa:105::/64
                    exit
                    static-function
                    exit
                    argument-length 16
                    no shutdown
                exit
                base-routing-instance
                    locator "PE5-loc"
                        function
                            end-x-auto-allocate srh-mode psp protection unprotected
                            end 1
                                srh-mode usp
                            exit
                        exit
                    exit
                exit
            exit
        exit
    exit
    service
        sdp 56 mpls create
            far-end 2001:db8::2:6
            ldp
            keep-alive
                shutdown
            exit
            no shutdown
        exit
        system
            bgp-evpn
                ethernet-segment "SA-ES-45" create
                    esi 01:00:00:00:00:45:00:00:00:01
                    es-orig-ip 2001:db8::2:5
                    route-next-hop 2001:db8::2:5
                    es-activation-timer 3
                    service-carving
                        mode auto
                    exit
                    multi-homing single-active
                    sdp 56
                    no shutdown
                exit
            exit
        exit
        vpls 1 name "VPLS-1" customer 1 create
            segment-routing-v6 1 create
                locator "PE5-loc"
                    function
                        end-dt2u        # dynamic label; no label block defined
                        end-dt2m        # dynamic label; no label block defined
                    exit
                exit
            exit
            bgp
            exit
            bgp-evpn
                evi 1
                segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE5-loc" create
                    source-address 2001:db8::2:5
                    ecmp 2
                    route-next-hop 2001:db8::2:5
                    no shutdown
                exit
            exit
            stp
                shutdown
            exit
            spoke-sdp 56:1 create
                no shutdown
            exit
            no shutdown

The service configuration on MTU-6 is as follows:

# on MTU-6:
configure
    service
        sdp 64 mpls create
            far-end 2001:db8::2:4
            ldp
            keep-alive
                shutdown
            exit
            no shutdown
        exit
        sdp 65 mpls create
            far-end 2001:db8::2:5
            ldp
            keep-alive
                shutdown
            exit
            no shutdown
        exit
        vpls 1 name "VPLS-1" customer 1 create
            endpoint "CORE" create
            exit
            stp
                shutdown
            exit
            sap 1/1/c10/1:1 create
                no shutdown
            exit
            spoke-sdp 64:1 endpoint "CORE" create
                stp
                    shutdown
                exit
                no shutdown
            exit
            spoke-sdp 65:1 endpoint "CORE" create
                stp
                    shutdown
                exit
                no shutdown
            exit
            no shutdown

Verification

The following command shows the configured BGP-EVPN SRv6 parameters:

*A:PE-2# show service id "VPLS-1" bgp-evpn segment-routing-v6

===============================================================================
BGP EVPN Segment Routing v6 Information
===============================================================================
Admin State             : Enabled                 Bgp Instance  : 1
Srv6 Instance           : 1
Default Locator         : PE2-loc

Oper Group              : (none)
Default Route Tag       : 0x0
Source Address          : 2001:db8::2:2
ECMP                    : 2
Force Vlan VC Fwd       : Disabled
Next Hop Type           : explicit
Next Hop Address        : 2001:db8::2:2
Evi 3-byte Auto-RT      : disabled
Route Resolution        : route-table
Force QinQ VC Fwd       : none
MH Mode                 : network
Rest Prot Src Mac       : disabled
Split Horizon Group     : n/a
===============================================================================

The following command shows the SID values and the status of the End.DT2U and End.DT2M functions in SRv6 instance 1 in VPLS-1 on PE-3:

*A:PE-3# show service id "VPLS-1" segment-routing-v6 instance 1

===============================================================================
Segment Routing v6 Instance 1 Service 1
===============================================================================
Locator
 Type          Function  SID                                     Status
-------------------------------------------------------------------------------
PE3-loc
  End.DT2U     *3        2001:db8:aaaa:103:3::                   ok
  End.DT2M     *4        2001:db8:aaaa:103:4::                   ok
===============================================================================
Legend: * - System allocated

The SID 2001:db8:aaaa:103:4:: corresponding to the End.DT2M function is one of the SRv6 destinations for VPLS-1 on PE-2, as follows:

*A:PE-2# show service id "VPLS-1" segment-routing-v6 destinations

===============================================================================
TEP, SID (Instance 1)
===============================================================================
TEP Address                Segment Id                          Oper  Mcast Num
                                                               State       MACs
-------------------------------------------------------------------------------
2001:db8::2:3              2001:db8:aaaa:103:4::               Up    BUM   0
2001:db8::2:4              2001:db8:aaaa:104:b::               Up    BUM   0
2001:db8::2:5              2001:db8:aaaa:105:7ff:f800::        Up    BUM   0
-------------------------------------------------------------------------------
Number of TEP, SID: 3
-------------------------------------------------------------------------------
===============================================================================

===============================================================================
Segment Routing v6 Ethernet Segment Dest (Instance 1)
===============================================================================
Eth SegId                                 Num. Macs     Last Update
-------------------------------------------------------------------------------
01:00:00:00:00:45:00:00:00:01             1             03/18/2024 15:42:31
-------------------------------------------------------------------------------
Number of entries: 1
-------------------------------------------------------------------------------
===============================================================================

The two other SRv6 destinations for VPLS-1 on PE-2 correspond to the End.DT2M function in VPLS-1 on PE-4 and PE-5.

Multihoming, route tables, FDBs

PE-3 acts as the designated forwarder (DF) for VPLS-1 in the all-active ES "AA-vES-23-1", as follows:

*A:PE-3# show service id "VPLS-1" ethernet-segment

===============================================================================
SAP Ethernet-Segment Information
===============================================================================
SAP                   Eth-Seg                          Status
-------------------------------------------------------------------------------
lag-1:1               AA-vES-23-1                      DF
===============================================================================
No sdp entries
No vxlan instance entries

PE-2 is an NDF in the all-active ES "AA-vES-23-1", as follows:

*A:PE-2# show service id "VPLS-1" ethernet-segment

===============================================================================
SAP Ethernet-Segment Information
===============================================================================
SAP                   Eth-Seg                          Status
-------------------------------------------------------------------------------
lag-1:1               AA-vES-23-1                      NDF
===============================================================================
No sdp entries
No vxlan instance entries

PE-5 acts as the DF for VPLS-1 in the single-active ES "SA-ES-45", as follows:

*A:PE-5# show service id "VPLS-1" ethernet-segment
No sap entries

===============================================================================
SDP Ethernet-Segment Information
===============================================================================
SDP                   Eth-Seg                          Status
-------------------------------------------------------------------------------
56:1                  SA-ES-45                         DF
===============================================================================
No vxlan instance entries

PE-4 is an NDF in the single-active ES "SA-ES-45", as follows:

*A:PE-4# show service id "VPLS-1" ethernet-segment
No sap entries

===============================================================================
SDP Ethernet-Segment Information
===============================================================================
SDP                   Eth-Seg                          Status
-------------------------------------------------------------------------------
46:1                  SA-ES-45                         NDF
===============================================================================
No vxlan instance entries

The following route table for IPv6 shows that PE-2 has SRv6-ISIS-tunneled routes to the locator prefixes on PE-3, PE-4, and PE-5:

*A:PE-2# show router route-table ipv6 next-hop-type tunneled

===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64                        Remote  ISIS      00h07m51s  18
       2001:db8:aaaa:103::/64 (tunneled:SRV6-ISIS)                  10
2001:db8:aaaa:104::/64                        Remote  ISIS      00h07m43s  18
       2001:db8:aaaa:104::/64 (tunneled:SRV6-ISIS)                  10
2001:db8:aaaa:105::/64                        Remote  ISIS      00h07m21s  18
       2001:db8:aaaa:105::/64 (tunneled:SRV6-ISIS)                  10
-------------------------------------------------------------------------------
No. of Routes: 3
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

After traffic has been sent between CE-11 and CE-16, the VPLS-1 FDBs are populated. The FDB on MTU-1 shows that CE-16 can be reached through the LAG, while CE-11 can be reached via SAP 1/1/c10/1:1, as follows:

*A:MTU-1# show service id "VPLS-1" fdb detail

===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
1          00:00:5e:00:53:11 sap:1/1/c10/1:1         L/120    03/18/24 15:27:04
1          00:00:5e:00:53:16 sap:lag-1:1             L/120    03/18/24 15:28:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================

The VPLS-1 FDBs on PE-2 and PE-3 are similar. CE-11 can be reached through the LAG, while CE-16 can be reached via the single-active ES between PE-4 and PE-5, as follows:

*A:PE-2# show service id "VPLS-1" fdb detail

===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
1          00:00:5e:00:53:11 sap:lag-1:1             LT/90    03/18/24 15:28:01
1          00:00:5e:00:53:16 eES:                    Evpn     03/18/24 15:28:01
                             01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
*A:PE-3# show service id "VPLS-1" fdb detail

===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
1          00:00:5e:00:53:11 sap:lag-1:1             Evpn     03/18/24 15:28:01
1          00:00:5e:00:53:16 eES:                    Evpn     03/18/24 15:28:01
                             01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================

The FDB on NDF PE-4 shows that CE-11 can be reached via the all-active ES between PE-2 and PE-3, while CE-16 can be reached via the single-active ES between PE-4 and PE-5, but not through the SDP toward MTU-6, as follows:

*A:PE-4# show service id "VPLS-1" fdb detail

===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
1          00:00:5e:00:53:11 eES:                    Evpn     03/18/24 15:28:01
                             01:00:00:00:00:23:00:00:01:01
1          00:00:5e:00:53:16 eES:                    Evpn     03/18/24 15:28:01
                             01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================

The FDB on DF PE-5 shows that CE-11 can be reached via the all-active ES between PE-2 and PE-3, while CE-16 can be reached via the SDP toward MTU-6, as follows:

*A:PE-5# show service id "VPLS-1" fdb detail

===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
1          00:00:5e:00:53:11 eES:                    Evpn     03/18/24 15:28:01
                             01:00:00:00:00:23:00:00:01:01
1          00:00:5e:00:53:16 sdp:56:1                LT/90    03/18/24 15:28:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================

The FDB on MTU-6 shows that CE-11 can be reached via the SDP toward DF PE-5, while CE-16 can be reached via SAP 1/1/c10/1:1, as follows:

*A:MTU-6# show service id "VPLS-1" fdb detail

===============================================================================
Forwarding Database, Service 1
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
1          00:00:5e:00:53:11 sdp:65:1                L/0      03/18/24 15:28:01
1          00:00:5e:00:53:16 sap:1/1/c10/1:1         L/0      03/18/24 15:27:45
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
BGP-EVPN routes

PE-2 received the following EVPN-MAC route from PE-5 with the endpoint behavior 0x17 = 23, which corresponds to the End.DT2U function for known unicast traffic:

# on PE-2:
40 2024/03/18 15:28:00.714 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:5
"Peer 1: 2001:db8::2:5: UPDATE
Peer 1: 2001:db8::2:5 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 125
    Flag: 0x90 Type: 14 Len: 56 Multiprotocol Reachable NLRI:
        Address Family EVPN
        NextHop len 16 Global NextHop 2001:db8::2:5
        Type: EVPN-MAC Len: 33 RD: 192.0.2.5:1 ESI: 01:00:00:00:00:45:00:00:00:01, 
                       tag: 0, mac len: 48 mac: 00:00:5e:00:53:16, IP len: 0, 
                       IP: NULL, label1: 8388496 (Raw Label: 0x7fff90)
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
       SRv6 Services TLV (37 bytes):-
           Type: SRV6 L2 Service TLV (6)
           Length: 34 bytes, Reserved: 0x0
         SRv6 Service Information Sub-TLV (33 bytes)
             Type: 1 Len: 30 Rsvd1: 0x0
             SRv6 SID: 2001:db8:aaaa:105::
             SID Flags: 0x0 Endpoint Behavior: 0x17 Rsvd2: 0x0
             SRv6 SID Sub-Sub-TLV
                Type: 1 Len: 6
                BL:48 NL:16 FL:24 AL:0 TL:20 TO:68
"

The following show command for the EVPN-MAC route containing the CE-16 MAC address shows the behavior End.DT2U (23):

*A:PE-2# show router bgp routes evpn mac mac-address 00:00:5e:00:53:16 detail
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP EVPN MAC Routes
===============================================================================
Original Attributes

Network        : n/a
Nexthop        : 2001:db8::2:5
Path Id        : None
From           : 2001:db8::2:5
Res. Nexthop   : fe80::1e:1ff:fe01:15
Local Pref.    : 100                    Interface Name : int-PE-2-PE-5
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 10
Connector      : None
Community      : target:64500:1
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.5
Origin         : IGP
Flags          : Used Valid Best
Route Source   : Internal
AS-Path        : No As-Path
EVPN type      : MAC
ESI            : 01:00:00:00:00:45:00:00:00:01
Tag            : 0
IP Address     : n/a
Route Dist.    : 192.0.2.5:1
Mac Address    : 00:00:5e:00:53:16
MPLS Label1    : 524281                 MPLS Label2    : n/a
Route Tag      : 0
Neighbor-AS    : n/a
DB Orig Val    : N/A                    Final Orig Val : N/A
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default
Last Modified  : 00h06m13s
SRv6 TLV Type  : SRv6 L2 Service TLV (6)
SRv6 SubTLV    : SRv6 SID Information (1)
Sid            : 2001:db8:aaaa:105::
Full Sid       : 2001:db8:aaaa:105:7ff:f900::
Behavior       : End.DT2U (23)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len  : 48                     Loc-Node-Len   : 16
Func-Len       : 24                     Arg-Len        : 0
Tpose-Len      : 20                     Tpose-offset   : 68
---snip---

PE-2 received the following EVPN IMET route from PE-5 with the endpoint behavior 0x18 = 24, which corresponds to the End.DT2M function for BUM traffic:

25 2024/03/18 15:27:44.001 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:5
"Peer 1: 2001:db8::2:5: UPDATE
Peer 1: 2001:db8::2:5 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 145
    Flag: 0x90 Type: 14 Len: 52 Multiprotocol Reachable NLRI:
        Address Family EVPN
        NextHop len 16 Global NextHop 2001:db8::2:5
        Type: EVPN-INCL-MCAST Len: 29 RD: 192.0.2.5:1, tag: 0, 
                              orig_addr len: 128, orig_addr: 2001:db8::2:5 
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 22 Len: 21 PMSI:
        Tunnel-type Ingress Replication (6)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 8388480
        Tunnel-Endpoint 2001:db8::2:5
    Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
       SRv6 Services TLV (37 bytes):-
           Type: SRV6 L2 Service TLV (6)
           Length: 34 bytes, Reserved: 0x0
         SRv6 Service Information Sub-TLV (33 bytes)
             Type: 1 Len: 30 Rsvd1: 0x0
             SRv6 SID: 2001:db8:aaaa:105::
             SID Flags: 0x0 Endpoint Behavior: 0x18 Rsvd2: 0x0
             SRv6 SID Sub-Sub-TLV
                Type: 1 Len: 6
                BL:48 NL:16 FL:24 AL:16 TL:20 TO:68
"

The following show command for the EVPN IMET route that is received from PE-5 shows the behavior End.DT2M (24):

*A:PE-2# show router bgp routes evpn incl-mcast originator-ip 2001:db8::2:5 hunt
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP EVPN Inclusive-Mcast Routes
===============================================================================
-------------------------------------------------------------------------------
RIB In Entries
-------------------------------------------------------------------------------
Network        : n/a
Nexthop        : 2001:db8::2:5
Path Id        : None
From           : 2001:db8::2:5
Res. Nexthop   : fe80::1e:1ff:fe01:15
Local Pref.    : 100                    Interface Name : int-PE-2-PE-5
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 10
Connector      : None
Community      : target:64500:1
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.5
Origin         : IGP
Flags          : Used Valid Best
Route Source   : Internal
AS-Path        : No As-Path
EVPN type      : INCL-MCAST
Tag            : 0
Originator IP  : 2001:db8::2:5
Route Dist.    : 192.0.2.5:1
Route Tag      : 0
Neighbor-AS    : n/a
DB Orig Val    : N/A                    Final Orig Val : N/A
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default
Last Modified  : 00h07m17s
SRv6 TLV Type  : SRv6 L2 Service TLV (6)
SRv6 SubTLV    : SRv6 SID Information (1)
Sid            : 2001:db8:aaaa:105::
Full Sid       : 2001:db8:aaaa:105:7ff:f800::
Behavior       : End.DT2M (24)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len  : 48                     Loc-Node-Len   : 16
Func-Len       : 24                     Arg-Len        : 16
Tpose-Len      : 20                     Tpose-offset   : 68
-------------------------------------------------------------------------------
PMSI Tunnel Attributes :
Tunnel-type    : Ingress Replication
Flags          : Type: RNVE(0) BM: 0 U: 0 Leaf: not required
MPLS Label     : 8388480
Tunnel-Endpoint: 2001:db8::2:5
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
RIB Out Entries
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

PE-2 receives the following AD per-EVI route from PE-5:

28 2024/03/18 15:27:44.001 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:5
"Peer 1: 2001:db8::2:5: UPDATE
Peer 1: 2001:db8::2:5 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 117
    Flag: 0x90 Type: 14 Len: 48 Multiprotocol Reachable NLRI:
        Address Family EVPN
        NextHop len 16 Global NextHop 2001:db8::2:5
        Type: EVPN-AD Len: 25 RD: 192.0.2.5:1 ESI: 01:00:00:00:00:45:00:00:00:01, 
                      tag: 0 Label: 8388560 (Raw Label: 0x7fffd0) PathId:
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:1
    Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
       SRv6 Services TLV (37 bytes):-
           Type: SRV6 L2 Service TLV (6)
           Length: 34 bytes, Reserved: 0x0
         SRv6 Service Information Sub-TLV (33 bytes)
             Type: 1 Len: 30 Rsvd1: 0x0
             SRv6 SID: 2001:db8:aaaa:105::
             SID Flags: 0x0 Endpoint Behavior: 0x17 Rsvd2: 0x0
             SRv6 SID Sub-Sub-TLV
                Type: 1 Len: 6
                BL:48 NL:16 FL:24 AL:0 TL:20 TO:68
"

PE-2 receives the following AD per-ES route from PE-5:

31 2024/03/18 15:27:44.001 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:5
"Peer 1: 2001:db8::2:5: UPDATE
Peer 1: 2001:db8::2:5 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 125
    Flag: 0x90 Type: 14 Len: 48 Multiprotocol Reachable NLRI:
        Address Family EVPN
        NextHop len 16 Global NextHop 2001:db8::2:5
        Type: EVPN-AD Len: 25 RD: 192.0.2.5:1 ESI: 01:00:00:00:00:45:00:00:00:01, 
                      tag: MAX-ET Label: 0 (Raw Label: 0x0) PathId:
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 16 Len: 16 Extended Community:
        target:64500:1
        esi-label:16/Single-Active
    Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
       SRv6 Services TLV (37 bytes):-
           Type: SRV6 L2 Service TLV (6)
           Length: 34 bytes, Reserved: 0x0
         SRv6 Service Information Sub-TLV (33 bytes)
             Type: 1 Len: 30 Rsvd1: 0x0
             SRv6 SID: ::
             SID Flags: 0x0 Endpoint Behavior: 0x18 Rsvd2: 0x0
             SRv6 SID Sub-Sub-TLV
                Type: 1 Len: 6
                BL:48 NL:16 FL:24 AL:16 TL:16 TO:88
"

ES "SA-ES-45" is configured in a single-active multihoming mode with the ESI label; therefore, PE-5 sends the AD per-ES routes that carry the arg.fe2 value. The SID structure in the SRv6 sub-sub-TLV indicates that the argument length is 16 bits. The 16-bit length of the arg.fe2 value is transposed into the ESI label extended community label field. The transposition length is 16 (argument length 16) and the transposition offset is 88 (block length 48 + node length 16 + function length 24). The SRv6 SID is :: (0).

End.DT2U and End.DT2M functions

On PE-4, function value 10 is configured for End.DT2U and function value 11 for End.DT2M, as follows:

*A:PE-4# show router segment-routing-v6 local-sid end-dt2m end-dt2u

===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Locator
  Context
-------------------------------------------------------------------------------
2001:db8:aaaa:104:a::                             End.DT2U       10
  PE4-loc
  SvcId: 1 Name: VPLS-1
2001:db8:aaaa:104:b::                             End.DT2M       11
  PE4-loc
  SvcId: 1 Name: VPLS-1
-------------------------------------------------------------------------------
SIDs : 2
-------------------------------------------------------------------------------
===============================================================================

On PE-5, the function values 524280 and 524281 are dynamically allocated from the dynamic label range, as follows:

*A:PE-5# show router segment-routing-v6 local-sid end-dt2m end-dt2u

===============================================================================
Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Locator
  Context
-------------------------------------------------------------------------------
2001:db8:aaaa:105:7ff:f800::                      End.DT2M       524280
  PE5-loc
  SvcId: 1 Name: VPLS-1
2001:db8:aaaa:105:7ff:f900::                      End.DT2U       524281
  PE5-loc
  SvcId: 1 Name: VPLS-1
-------------------------------------------------------------------------------
SIDs : 2
-------------------------------------------------------------------------------
===============================================================================

On PE-2, a reserved label block is configured and associated to the SRv6 locator. Function value 3 is dynamically allocated for End.DT2U and function value 4 for End.DT2M. SID 2001:db8:aaaa:102:3:: is used for the End.DT2U function and SID 2001:db8:aaaa:102:4:: for the End.DT2M function, as follows:

*A:PE-2# show service id "VPLS-1" segment-routing-v6 detail

===============================================================================
Segment Routing v6 Instance 1 Service 1
===============================================================================
Locator
 Type          Function  SID                                     Status
-------------------------------------------------------------------------------
PE2-loc
  End.DT2U     *3        2001:db8:aaaa:102:3::                   ok
  End.DT2M     *4        2001:db8:aaaa:102:4::                   ok
===============================================================================
Legend: * - System allocated

On PE-2, the following MPLS label blocks are defined, where the reserved label block "srv6-labels" is manually configured:

*A:PE-4# show router mpls-labels label-range

===============================================================================
Label Ranges
===============================================================================
Label Type      Start Label End Label   Aging       Available   Total
-------------------------------------------------------------------------------
Static          32          18431       -           18400       18400
Dynamic         18432       524287      0           504848      505856
    Seg-Route   0           0           -           0           0

-------------------------------------------------------------------------------
Reserved Label Blocks
-------------------------------------------------------------------------------
Reserved Label                               Start       End         Total
Block Name                                   Label       Label
-------------------------------------------------------------------------------
srv6-labels                                  20000       20999       1000
-------------------------------------------------------------------------------
No. of Reserved Label Blocks: 1
-------------------------------------------------------------------------------
===============================================================================

On PE-5, no reserved label block is configured, as follows:

*A:PE-5# show router mpls-labels label-range

===============================================================================
Label Ranges
===============================================================================
Label Type      Start Label End Label   Aging       Available   Total
-------------------------------------------------------------------------------
Static          32          18431       -           18400       18400
Dynamic         18432       524287      0           505846      505856
    Seg-Route   0           0           -           0           0
===============================================================================

The dynamically allocated function labels 524280 and 524281 are taken from the dynamic MPLS label range:

*A:PE-5# show service id "VPLS-1" segment-routing-v6 detail

===============================================================================
Segment Routing v6 Instance 1 Service 1
===============================================================================
Locator
 Type          Function  SID                                     Status
-------------------------------------------------------------------------------
PE5-loc
  End.DT2U     *524281   2001:db8:aaaa:105:7ff:f900::            ok
  End.DT2M     *524280   2001:db8:aaaa:105:7ff:f800::            ok
===============================================================================
Legend: * - System allocated

In the preceding output, SID 2001:db8:aaaa:105:7ff:f800:: is used for BUM traffic, as indicated by the End.DT2M function. This SID is advertised by PE-5 in an IMET route to PE-2 and appears in the list of SRv6 destinations in VPLS-1 on PE-2, as follows:

*A:PE-2# show service id "VPLS-1" segment-routing-v6 destinations

===============================================================================
TEP, SID (Instance 1)
===============================================================================
TEP Address                Segment Id                          Oper  Mcast Num
                                                               State       MACs
-------------------------------------------------------------------------------
2001:db8::2:3              2001:db8:aaaa:103:4::               Up    BUM   0
2001:db8::2:4              2001:db8:aaaa:104:b::               Up    BUM   0
2001:db8::2:5              2001:db8:aaaa:105:7ff:f800::        Up    BUM   0
-------------------------------------------------------------------------------
Number of TEP, SID: 3
-------------------------------------------------------------------------------
===============================================================================

===============================================================================
Segment Routing v6 Ethernet Segment Dest (Instance 1)
===============================================================================
Eth SegId                                 Num. Macs     Last Update
-------------------------------------------------------------------------------
01:00:00:00:00:45:00:00:00:01             1             03/18/2024 15:28:01
-------------------------------------------------------------------------------
Number of entries: 1
-------------------------------------------------------------------------------
===============================================================================

Ping or traceroute can be sent to the entire SIDs, including the arguments. The ping or traceroute messages are replied to, ignoring these arguments. As an example, PE-2 launches the following commands to some of the SRv6 SIDs (without arguments) in the preceding output:

*A:PE-2# ping 2001:db8:aaaa:104:b:: rapid
PING 2001:db8:aaaa:104:b:: 56 data bytes
!!!!!
---- 2001:db8:aaaa:104:b:: PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 2.22ms, avg = 2.30ms, max = 2.48ms, stddev = 0.094ms

*A:PE-2# traceroute 2001:db8:aaaa:105:7ff:f800:: 
traceroute to 2001:db8:aaaa:105:7ff:f800::, 30 hops max, 60 byte packets
  1  2001:db8::2:5 (2001:db8::2:5)    3.14 ms  3.02 ms  2.66 ms

The following command shows that the SRv6 locator of PE-5 (2001:db8:aaaa:105::/64) is resolved:

*A:PE-2# show router bgp next-hop evpn 2001:db8::2:5 service-id 1 detail
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500
===============================================================================

===============================================================================
BGP VPN Next Hop
===============================================================================
---snip---
-------------------------------------------------------------------------------
VPN Next Hop          : 2001:db8::2:5
Autobind              : gre/rtm
Labels                : --
User-labels           : 1
Admin-tag-policy      : --
Strict-tunnel-tagging : N
Color                 : --
UPA Trigger Next Hop  : --
Locator               : 2001:db8:aaaa:105::/64
Created               : 00h11m35s
Last-modified         : 00h11m35s
-------------------------------------------------------------------------------
Resolving Prefix : 2001:db8::2:5/128
Preference       : 18                   Metric           : 10
Reference Count  : 3                    Owner            : GRE
Fib Programmed   : Y
Resolved Next Hop: fe80::1e:1ff:fe01:15
Egress Label     : n/a                  TunnelId         : 4294967293
Locator State    : Resolved
-------------------------------------------------------------------------------
---snip---

The following tunnel table on PE-2 shows the SRv6-ISIS tunnels to the SRv6 locators 2001:db8:aaaa:103::/64 on PE-3, 2001:db8:aaaa:104::/64 on PE-4, and 2001:db8:aaaa:105::/64 on PE-5:

*A:PE-2# show router tunnel-table ipv6 protocol srv6-isis

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64                          srv6-isis SRV6  524289    0
  fe80::14:1ff:fe01:1f-"int-PE-2-PE-3"                            10
2001:db8:aaaa:104::/64                          srv6-isis SRV6  524290    0
  fe80::1a:1ff:fe01:b-"int-PE-2-PE-4"                             10
2001:db8:aaaa:105::/64                          srv6-isis SRV6  524291    0
  fe80::1e:1ff:fe01:15-"int-PE-2-PE-5"                            10
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================
EVPN and VPLS integration

EVPN and VPLS integration (RFC 8560) is supported when SRv6 transport is used. SDP bindings signaled by TLDP (manually configured or BGP-AD) or BGP can coexist in VPLS services where EVPN SRv6 is enabled. The SR OS node allows for the creation of an EVPN destination and an SDP binding to the same far end, but the SDP binding is kept operationally down with a flag indicating an EVPN route conflict.

On PE-2 and PE-5, LDP SDPs are created, as follows:

# on PE-2:
configure
    router Base
        ldp
            interface-parameters
                interface "int-PE-2-PE-5" dual-stack    # on PE-5: "int-PE-5-PE-2"
                    ipv6
                        no shutdown
                    exit
                exit
            exit
        exit
    exit
    service
        sdp 25 mpls create                              # on PE-5: sdp 52
            far-end 2001:d8::2:5                        # on PE-5: 2001:db8::2:2
            ldp
            keep-alive
                shutdown
            exit
            no shutdown
        exit
        vpls "VPLS-1"
            spoke-sdp 25:1 create                      # on PE-5: spoke-sdp 52:1
            exit
        exit

PE-2 still has an SRv6-ISIS tunnel toward 2001:db8:aaaa:105::/64 on PE-5, as follows:

*A:PE-2# show router tunnel-table ipv6 protocol srv6-isis

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64                          srv6-isis SRV6  524289    0
  fe80::14:1ff:fe01:1f-"int-PE-2-PE-3"                            10
2001:db8:aaaa:104::/64                          srv6-isis SRV6  524290    0
  fe80::1a:1ff:fe01:b-"int-PE-2-PE-4"                             10
2001:db8:aaaa:105::/64                          srv6-isis SRV6  524291    0
  fe80::1e:1ff:fe01:15-"int-PE-2-PE-5"                            10
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================

The spoke SDP from PE-2 to PE-5 is operationally down and no egress label is allocated, as follows:

*A:PE-2# show service id "VPLS-1" sdp 25:1

===============================================================================
Service Destination Point (Sdp Id : 25:1)
===============================================================================
SdpId            Type     Far End addr    Adm     Opr       I.Lbl     E.Lbl
-------------------------------------------------------------------------------
25:1             Spok                     Up      Down      524284    None
                          2001:db8::2:5
-------------------------------------------------------------------------------
Number of SDPs : 1
-------------------------------------------------------------------------------
===============================================================================

The reason why the spoke SDP from PE-2 to PE-5 is operationally down is because of an EVPN route conflict, as follows:

*A:PE-2# show service id "VPLS-1" sdp 25:1 detail | match Flag context all
Flags              : NoEgrVCLabel
                     EvpnRouteConflict
Tools commands

The following command shows the EVPN usage statistics:

*A:PE-2# tools dump service evpn usage

vxlan-srv6-evpn-mpls usage statistics at 03/18/2024 15:42:08:

MPLS-TEP                                        :             0
VXLAN-TEP                                       :             0
SRV6-TEP                                        :             3
Total-TEP                                       :      3/ 16383

Mpls Dests (TEP, Egress Label + ES + ES-BMAC)   :             0
Mpls Etree Leaf Dests                           :             0
Vxlan Dests (TEP, Egress VNI + ES)              :             0
Srv6 Dests (TEP, SID  + ES)                     :             4
Total-Dest                                      :      4/196607

Sdp Bind +  Evpn Dests                          :      4/245759
ES L2/L3 PBR                                    :      0/ 32767
Evpn Etree Remote BUM Leaf Labels               :             0
*A:PE-2# tools dump router segment-routing-v6 usage
Segment Routing v6 Usage
Service SID index: 6/262128

In the case of failure to instantiate an EVPN destination, the tools dump service id "VPLS-1" srv6 command provides the following statistics:

*A:PE-2# tools dump service id "VPLS-1" srv6

TEP, Egress Bind Failure statistics at 03/18/2024 15:42:08:

statistics last cleared at 03/18/2024 15:20:23:

Failures: None

EVPN VPLS using SRv6 with micro-segment locator

Example topology with VPLS-2 shows the topology with VPLS-2. The same nodes and ESs are used, but the VPLS-2 service uses micro-SIDs, whereas VPLS-1 uses regular SIDs. The CEs are different as well.
Figure 5. Example topology with VPLS-2

SRv6 micro-segment configuration on core PEs

On all core PEs, a micro-segment and a micro-segment locator are configured on PE-2, as follows:

# on PE-2:
configure
    router Base
        mpls-labels
             reserved-label-block "res-block1"
                start-label 19000 end-label 19999
            exit
        exit
        segment-routing
            segment-routing-v6
                micro-segment
                    argument-length 16
                    block "PE2-ms-block1"  # PE3-ms-block1, PE4-ms-block1, PE5-ms-block1
                        label-block "res-block1"
                        termination-fpe 2
                        prefix
                            ip-prefix 2001:bbbb::/32    # on all PEs; block length 32
                        exit
                        static-function
                            max-entries 5
                        exit
                        no shutdown
                    exit
                exit
                micro-segment-locator "PE2-mloc"       # or PE3-mloc, PE4-mloc, PE5-mloc
                    block "PE2-ms-block1"
                    un
                        srh-mode usp
                        value 2         # on PE-3: value 3; PE-4: value 4; PE-5: value 5
                    exit
                    no shutdown
                exit
                base-routing-instance
                    micro-segment-locator "PE2-mloc"     # PE3-mloc, PE4-mloc, PE5-mloc
                        function
                            ua-auto-allocate srh-mode psp protection unprotected
                            ua 1
                                srh-mode usp
                            exit
                        exit
                    exit
                exit
            exit
        exit
        isis 0
            segment-routing-v6
                micro-segment-locator "PE2-mloc"       # or PE3-mloc, PE4-mloc, PE5-mloc
                    level 1
                    exit
                    level 2
                    exit
                exit

The micro-segment locator contains a micro-segment node value (un value) that must be unique network-wide. The un function is equivalent to the regular SRv6 End function, but it is configured in the micro-segment-locator context instead of the Base instance. The un value command creates a node identifier as an IPv6 address that is composed of the block part and followed by a 16-bit SID.

The ua micro-SID function encodes the behavior of an adjacency SID.

The following error message is raised when an IP prefix is configured with a length of /48 that is different from the block length of /32:

*A:PE-2>conf>router>sr>srv6>ms>block>prefix# ip-prefix 2001:db8:bbbb::/48
MINOR: SRV6 #1006 Not permitted - Prefix length must be equal to block-length 32

Service configuration

On MTU-1, VPLS-2 is configured as follows:

# on MTU-1:
configure
    service
        vpls 2 name "VPLS-2" customer 1 create
            stp
                shutdown
            exit
            sap 1/1/c10/1:2 create
                no shutdown
            exit
            sap lag-1:2 create
                no shutdown
            exit
            no shutdown

On PE-2 and PE-3, VPLS-2 is configured with all-active multihoming using ES "AA-vES-23-1". The micro-segment locator is configured with the End.uDT2U and End.uDT2M functions, as follows:

# on PE-2:
configure
    service
        vpls 2 name "VPLS-2" customer 1 create
            segment-routing-v6 1 create
                micro-segment-locator "PE2-mloc"            # on PE-3: PE3-mloc
                    function
                        udt2u
                        udt2m
                    exit
                exit
            exit
            bgp
            exit
            bgp-evpn
                evi 2
                segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE2-mloc" create
                    source-address 2001:db8::2:2      # on PE-3: PE3-mloc; 2001:db8::2:3
                    ecmp 2
                    route-next-hop 2001:db8::2:2      # on PE-3: PE3-mloc; 2001:db8::2:3
                    no shutdown
                exit
            exit
            stp
                shutdown
            exit
            sap lag-1:2 create
                no shutdown
            exit
            no shutdown

The VPLS-2 configuration on PE-4 uses spoke SDP 46:2, while on PE-5, spoke SDP 56:2 is used, as follows:

# on PE-4:
configure
    service
        vpls 2 name "VPLS-2" customer 1 create
            segment-routing-v6 1 create
                micro-segment-locator "PE4-mloc"        # on PE-5: PE5-mloc
                    function
                        udt2u
                        udt2m
                    exit
                exit
            exit
            bgp
            exit
            bgp-evpn
                evi 2
                segment-routing-v6 bgp 1 srv6-instance 1 default-locator "PE4-mloc" create
                    source-address 2001:db8::2:4       # on PE-5: PE5-mloc; 2001:db8::2:5
                    ecmp 2
                    route-next-hop 2001:db8::2:4
                    no shutdown
                exit
            exit
            stp
                shutdown
            exit
            spoke-sdp 46:2 create                      # on PE-5: spoke-sdp 56:2
                no shutdown
            exit
            no shutdown

The configuration for VPLS-2 on MTU-6 is as follows:

# on MTU-6:
configure
    service
        vpls 2 name "VPLS-2" customer 1 create
            endpoint "CORE" create
            exit
            stp
                shutdown
            exit
            sap 1/1/c10/1:2 create
                no shutdown
            exit
            spoke-sdp 64:2 endpoint "CORE" create
                stp
                    shutdown
                exit
                no shutdown
            exit
            spoke-sdp 65:2 endpoint "CORE" create
                stp
                    shutdown
                exit
                no shutdown
            exit
            no shutdown

Verification

PE-2 already had three SRv6-ISIS tunnels to the locators 2001:db8:aaaa:103::/64 on PE-3, 2001:db8:aaaa:104::/64 on PE-4, and 2001:db8:aaaa:105::/64 on PE-5. Now, PE-2 also has SRv6-ISIS tunnels to the micro-segment locators 2001:bbbb:3::/48 on PE-3, 2001:bbbb:4::/48 on PE-4, and 2001:bbbb:5::/48 on PE-5, as follows:

*A:PE-2# show router tunnel-table ipv6 protocol srv6-isis

===============================================================================
IPv6 Tunnel Table (Router: Base)
===============================================================================
Destination                                     Owner     Encap TunnelId  Pref
Nexthop                                         Color           Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64                          srv6-isis SRV6  524289    0
  fe80::14:1ff:fe01:1f-"int-PE-2-PE-3"                            10
2001:db8:aaaa:104::/64                          srv6-isis SRV6  524290    0
  fe80::1a:1ff:fe01:b-"int-PE-2-PE-4"                             10
2001:db8:aaaa:105::/64                          srv6-isis SRV6  524291    0
  fe80::1e:1ff:fe01:15-"int-PE-2-PE-5"                            10
2001:bbbb:3::/48                                srv6-isis SRV6  524292    0
  fe80::14:1ff:fe01:1f-"int-PE-2-PE-3"                            10
2001:bbbb:4::/48                                srv6-isis SRV6  524293    0
  fe80::1a:1ff:fe01:b-"int-PE-2-PE-4"                             10
2001:bbbb:5::/48                                srv6-isis SRV6  524294    0
  fe80::1e:1ff:fe01:15-"int-PE-2-PE-5"                            10
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================

The IPv6 route table on PE-2 shows the following tunneled routes to the locators and the micro-segment locators on PE-3, PE-4, and PE-5:

*A:PE-2# show router route-table ipv6 next-hop-type tunneled

===============================================================================
IPv6 Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
2001:db8:aaaa:103::/64                        Remote  ISIS      00h22m21s  18
       2001:db8:aaaa:103::/64 (tunneled:SRV6-ISIS)                  10
2001:db8:aaaa:104::/64                        Remote  ISIS      00h22m13s  18
       2001:db8:aaaa:104::/64 (tunneled:SRV6-ISIS)                  10
2001:db8:aaaa:105::/64                        Remote  ISIS      00h21m51s  18
       2001:db8:aaaa:105::/64 (tunneled:SRV6-ISIS)                  10
2001:bbbb:3::/48                              Remote  ISIS      00h03m38s  18
       2001:bbbb:3::/48 (tunneled:SRV6-ISIS)                        10
2001:bbbb:4::/48                              Remote  ISIS      00h03m31s  18
       2001:bbbb:4::/48 (tunneled:SRV6-ISIS)                        10
2001:bbbb:5::/48                              Remote  ISIS      00h03m21s  18
       2001:bbbb:5::/48 (tunneled:SRV6-ISIS)                        10
-------------------------------------------------------------------------------
No. of Routes: 6
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================
Multihoming and FDBs

PE-3 is DF in the all-active ES for VPLS-2, as follows:

*A:PE-3# show service id "VPLS-2" ethernet-segment

===============================================================================
SAP Ethernet-Segment Information
===============================================================================
SAP                   Eth-Seg                          Status
-------------------------------------------------------------------------------
lag-1:2               AA-vES-23-1                      DF
===============================================================================
No sdp entries
No vxlan instance entries

PE-4 is DF in the single-active ES for VPLS-2, as follows:

*A:PE-4# show service id "VPLS-2" ethernet-segment
No sap entries

===============================================================================
SDP Ethernet-Segment Information
===============================================================================
SDP                   Eth-Seg                          Status
-------------------------------------------------------------------------------
46:2                  SA-ES-45                         DF
===============================================================================
No vxlan instance entries

When traffic is sent between CE-21 and CE-26, the FDBs are populated; on MTU-1 as follows:

*A:MTU-1# show service id "VPLS-2" fdb detail

===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
2          00:00:5e:00:53:21 sap:1/1/c10/1:2         L/180    03/18/24 15:42:55
2          00:00:5e:00:53:26 sap:lag-1:2             L/180    03/18/24 15:44:04
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================

The VPLS-2 FDBs on PE-2 and PE-3 are similar. CE-21 can be reached through the LAG, while CE-26 can be reached via the single-active ES between PE-4 and PE-5, as follows:

*A:PE-2# show service id "VPLS-2" fdb detail

===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
2          00:00:5e:00:53:21 sap:lag-1:2             L/180    03/18/24 15:44:04
2          00:00:5e:00:53:26 eES:                    Evpn     03/18/24 15:44:04
                             01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
*A:PE-3# show service id "VPLS-2" fdb detail

===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
2          00:00:5e:00:53:21 sap:lag-1:2             Evpn     03/18/24 15:44:04
2          00:00:5e:00:53:26 eES:                    Evpn     03/18/24 15:44:04
                             01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================

On DF PE-4, CE-21 can be reached via the all-active ES with ESI 01:00:00:00:00:23:00:00:01:01, while CE-26 can be reached via spoke SDP 46:2, as follows:

*A:PE-4# show service id "VPLS-2" fdb detail

===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
2          00:00:5e:00:53:21 eES:                    Evpn     03/18/24 15:44:04
                             01:00:00:00:00:23:00:00:01:01
2          00:00:5e:00:53:26 sdp:46:2                L/180    03/18/24 15:44:04
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================

On NDF PE-5, CE-21 can be reached via the all-active ES with ESI 01:00:00:00:00:23:00:00:01:01, while CE-26 can be reached via DF PE-4, as follows:

*A:PE-5# show service id "VPLS-2" fdb detail

===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
2          00:00:5e:00:53:21 eES:                    Evpn     03/18/24 15:44:04
                             01:00:00:00:00:23:00:00:01:01
2          00:00:5e:00:53:26 eES:                    Evpn     03/18/24 15:44:04
                             01:00:00:00:00:45:00:00:00:01
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================

On MTU-6, CE-21 can be reached via spoke SDP 64:2 to PE-4, while CE-26 can be reached via SAP 1/1/c10/1:2, as follows:

*A:MTU-6# show service id "VPLS-2" fdb detail

===============================================================================
Forwarding Database, Service 2
===============================================================================
ServId     MAC               Source-Identifier       Type     Last Change
            Transport:Tnl-Id                         Age
-------------------------------------------------------------------------------
2          00:00:5e:00:53:21 sdp:64:2                L/180    03/18/24 15:44:04
2          00:00:5e:00:53:26 sap:1/1/c10/1:2         L/180    03/18/24 15:43:59
-------------------------------------------------------------------------------
No. of MAC Entries: 2
-------------------------------------------------------------------------------
Legend:L=Learned O=Oam P=Protected-MAC C=Conditional S=Static Lf=Leaf T=Trusted
===============================================================================
BGP-EVPN routes

PE-2 received the following EVPN-MAC route containing the CE-26 MAC address from DF PE-4 with SRv6 SID 2001:bbbb:4:: and endpoint behavior 0x43 = 67 for End.uDT2U:

# on PE-2:
116 2024/03/18 15:44:03.874 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:4
"Peer 1: 2001:db8::2:4: UPDATE
Peer 1: 2001:db8::2:4 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 125
    Flag: 0x90 Type: 14 Len: 56 Multiprotocol Reachable NLRI:
        Address Family EVPN
        NextHop len 16 Global NextHop 2001:db8::2:4
        Type: EVPN-MAC Len: 33 RD: 192.0.2.4:2 ESI: 01:00:00:00:00:45:00:00:00:01, 
                       tag: 0, mac len: 48 mac: 00:00:5e:00:53:26, IP len: 0, 
                       IP: NULL, label1: 4195840 (Raw Label: 0x400600)
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:2
    Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
       SRv6 Services TLV (37 bytes):-
           Type: SRV6 L2 Service TLV (6)
           Length: 34 bytes, Reserved: 0x0
         SRv6 Service Information Sub-TLV (33 bytes)
             Type: 1 Len: 30 Rsvd1: 0x0
             SRv6 SID: 2001:bbbb:4::
             SID Flags: 0x0 Endpoint Behavior: 0x43 Rsvd2: 0x0
             SRv6 SID Sub-Sub-TLV
                Type: 1 Len: 6
                BL:32 NL:16 FL:16 AL:0 TL:16 TO:48
"

The following command shows the same EVPN-MAC route containing the CE-26 MAC address:

*A:PE-2# show router bgp routes evpn mac mac-address 00:00:5e:00:53:26 detail
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP EVPN MAC Routes
===============================================================================
Original Attributes

Network        : n/a
Nexthop        : 2001:db8::2:4
Path Id        : None
From           : 2001:db8::2:4
Res. Nexthop   : fe80::1a:1ff:fe01:b
Local Pref.    : 100                    Interface Name : int-PE-2-PE-4
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 10
Connector      : None
Community      : target:64500:2
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.4
Origin         : IGP
Flags          : Used Valid Best
Route Source   : Internal
AS-Path        : No As-Path
EVPN type      : MAC
ESI            : 01:00:00:00:00:45:00:00:00:01
Tag            : 0
IP Address     : n/a
Route Dist.    : 192.0.2.4:2
Mac Address    : 00:00:5e:00:53:26
MPLS Label1    : 16390                  MPLS Label2    : n/a
Route Tag      : 0
Neighbor-AS    : n/a
DB Orig Val    : N/A                    Final Orig Val : N/A
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default
Last Modified  : 00h05m05s
SRv6 TLV Type  : SRv6 L2 Service TLV (6)
SRv6 SubTLV    : SRv6 SID Information (1)
Sid            : 2001:bbbb:4::
Full Sid       : 2001:bbbb:4:4006::
Behavior       : End.uDT2U (67)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len  : 32                     Loc-Node-Len   : 16
Func-Len       : 16                     Arg-Len        : 0
Tpose-Len      : 16                     Tpose-offset   : 48
---snip---

The full SID 2001:bbbb:4:4006:: contains the 32-bit prefix 2001:bbbb, the uN value 4 for PE-4, and the function 0x4006 = 16390 for the End.uDT2U SID in the following list:

*A:PE-2# show router segment-routing-v6 micro-segment-local-sid

===============================================================================
Micro Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Micro Segment Locator
  Context
-------------------------------------------------------------------------------
2001:bbbb:2::                                     uN             2
  PE2-mloc
  None
2001:bbbb:2:4005::                                uA             16389
  PE2-mloc
  None
2001:bbbb:2:4006::                                uDT2U          16390
  PE2-mloc
  SvcId: 2 Name: VPLS-2
2001:bbbb:2:4007::                                uDT2M          16391
  PE2-mloc
  SvcId: 2 Name: VPLS-2
2001:bbbb:2:43e8::                                uA             17384
  PE2-mloc
  None
2001:bbbb:2:43e9::                                uA             17385
  PE2-mloc
  None
-------------------------------------------------------------------------------
SIDs : 6
-------------------------------------------------------------------------------
===============================================================================

PE-2 received the following IMET route with endpoint behavior 0x44 = 68 for End.uDT2M from PE-4:

94 2024/03/18 15:43:43.589 UTC MINOR: DEBUG #2001 Base Peer 1: 2001:db8::2:4
"Peer 1: 2001:db8::2:4: UPDATE
Peer 1: 2001:db8::2:4 - Received BGP UPDATE:
    Withdrawn Length = 0
    Total Path Attr Length = 145
    Flag: 0x90 Type: 14 Len: 52 Multiprotocol Reachable NLRI:
        Address Family EVPN
        NextHop len 16 Global NextHop 2001:db8::2:4
        Type: EVPN-INCL-MCAST Len: 29 RD: 192.0.2.4:2, tag: 0, 
                              orig_addr len: 128, orig_addr: 2001:db8::2:4
    Flag: 0x40 Type: 1 Len: 1 Origin: 0
    Flag: 0x40 Type: 2 Len: 0 AS Path:
    Flag: 0x40 Type: 5 Len: 4 Local Preference: 100
    Flag: 0xc0 Type: 16 Len: 8 Extended Community:
        target:64500:2
    Flag: 0xc0 Type: 22 Len: 21 PMSI:
        Tunnel-type Ingress Replication (6)
        Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
        MPLS Label 4196096
        Tunnel-Endpoint 2001:db8::2:4
    Flag: 0xc0 Type: 40 Len: 37 Prefix-SID-attr:
       SRv6 Services TLV (37 bytes):-
           Type: SRV6 L2 Service TLV (6)
           Length: 34 bytes, Reserved: 0x0
         SRv6 Service Information Sub-TLV (33 bytes)
             Type: 1 Len: 30 Rsvd1: 0x0
             SRv6 SID: 2001:bbbb:4::
             SID Flags: 0x0 Endpoint Behavior: 0x44 Rsvd2: 0x0
             SRv6 SID Sub-Sub-TLV
                Type: 1 Len: 6
                BL:32 NL:16 FL:16 AL:16 TL:16 TO:48
"

The following shows the same IMET route:

*A:PE-2# show router bgp routes evpn incl-mcast community target:64500:2 hunt
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP EVPN Inclusive-Mcast Routes
===============================================================================
-------------------------------------------------------------------------------
RIB In Entries
-------------------------------------------------------------------------------
---snip---
Network        : n/a
Nexthop        : 2001:db8::2:4
Path Id        : None
From           : 2001:db8::2:4
Res. Nexthop   : fe80::1a:1ff:fe01:b
Local Pref.    : 100                    Interface Name : int-PE-2-PE-4
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 10
Connector      : None
Community      : target:64500:2
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.4
Origin         : IGP
Flags          : Used Valid Best
Route Source   : Internal
AS-Path        : No As-Path
EVPN type      : INCL-MCAST
Tag            : 0
Originator IP  : 2001:db8::2:4
Route Dist.    : 192.0.2.4:2
Route Tag      : 0
Neighbor-AS    : n/a
DB Orig Val    : N/A                    Final Orig Val : N/A
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default
Last Modified  : 00h06m08s
SRv6 TLV Type  : SRv6 L2 Service TLV (6)
SRv6 SubTLV    : SRv6 SID Information (1)
Sid            : 2001:bbbb:4::
Full Sid       : 2001:bbbb:4:4007::
Behavior       : End.uDT2M (68)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len  : 32                     Loc-Node-Len   : 16
Func-Len       : 16                     Arg-Len        : 16
Tpose-Len      : 16                     Tpose-offset   : 48
-------------------------------------------------------------------------------
PMSI Tunnel Attributes :
Tunnel-type    : Ingress Replication
Flags          : Type: RNVE(0) BM: 0 U: 0 Leaf: not required
MPLS Label     : 4196096
Tunnel-Endpoint: 2001:db8::2:4
-------------------------------------------------------------------------------
---snip---

PE-2 receives the following EVPN-AD routes from PE-4: the first route is an AD per-EVI route and the second one is an AD per-ES route:

*A:PE-2# show router bgp routes evpn auto-disc rd 192.0.2.4:2 detail
===============================================================================
 BGP Router ID:192.0.2.2        AS:64500       Local AS:64500
===============================================================================
 Legend -
 Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                 l - leaked, x - stale, > - best, b - backup, p - purge
 Origin codes  : i - IGP, e - EGP, ? - incomplete

===============================================================================
BGP EVPN Auto-Disc Routes
===============================================================================
Original Attributes

Network        : n/a
Nexthop        : 2001:db8::2:4
Path Id        : None
From           : 2001:db8::2:4
Res. Nexthop   : fe80::204:feff:fe00:0
Local Pref.    : 100                    Interface Name : int-PE-2-PE-4
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 10
Connector      : None
Community      : target:64500:2
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.4
Origin         : IGP
Flags          : Used Valid Best
Route Source   : Internal
AS-Path        : No As-Path
EVPN type      : AUTO-DISC
ESI            : 01:00:00:00:00:45:00:00:00:01
Tag            : 0
Route Dist.    : 192.0.2.4:2
MPLS Label     : 16389
Route Tag      : 0
Neighbor-AS    : n/a
DB Orig Val    : N/A                    Final Orig Val : N/A
Source Class   : 0                      Dest Class     : 0
Add Paths Send : Default
Last Modified  : 01h39m21s
SRv6 TLV Type  : SRv6 L2 Service TLV (6)
SRv6 SubTLV    : SRv6 SID Information (1)
Sid            : 2001:bbbb:4::
Full Sid       : 2001:bbbb:4:4005::
Behavior       : End.uDT2U (67)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len  : 32                     Loc-Node-Len   : 16
Func-Len       : 16                     Arg-Len        : 0
Tpose-Len      : 16                     Tpose-offset   : 48
---snip---

-------------------------------------------------------------------------------
Original Attributes

Network        : n/a
Nexthop        : 2001:db8::2:4
Path Id        : None
From           : 2001:db8::2:4
Res. Nexthop   : fe80::204:feff:fe00:0
Local Pref.    : 100                    Interface Name : int-PE-2-PE-4
Aggregator AS  : None                   Aggregator     : None
Atomic Aggr.   : Not Atomic             MED            : None
AIGP Metric    : None                   IGP Cost       : 0
Connector      : None
Community      : target:64500:2 esi-label:1/Single-Active
Cluster        : No Cluster Members
Originator Id  : None                   Peer Router Id : 192.0.2.4
Origin         : IGP
Flags          : Used Valid Best
Route Source   : Internal
AS-Path        : No As-Path
Add Paths Send : Default
Last Modified  : 01h39m21s
SRv6 TLV Type  : SRv6 L2 Service TLV (6)
SRv6 SubTLV    : SRv6 SID Information (1)
Sid            : ::
EVPN type      : AUTO-DISC
ESI            : 01:00:00:00:00:45:00:00:00:01
Tag            : MAX-ET
Route Dist.    : 192.0.2.4:2
MPLS Label     : 0
Route Tag      : 0
Neighbor-AS    : n/a
DB Orig Val    : N/A                    Final Orig Val : N/A
Source Class   : 0                      Dest Class     : 0
Full Sid       : ::
Behavior       : End.uDT2M (68)
SRv6 SubSubTLV : SRv6 SID Structure (1)
Loc-Block-Len  : 32                     Loc-Node-Len   : 16
Func-Len       : 16                     Arg-Len        : 16
Tpose-Len      : 16                     Tpose-offset   : 64

---snip---

ES "SA-ES-45" is configured in a single-active multihoming mode with the ESI label; therefore, PE-4 sends AD per-ES routes that carry the arg.fe2 value. The SID structure in the SRv6 sub-sub-TLV indicates that the argument length is 16 bits. The 16-bit length of the arg.fe2 value is transposed into the ESI label extended community label field. The transposition length is 16 (argument length 16) and the transposition offset is 64 (block length 32 + node length 16 + function length 16). The SRv6 SID is :: (0).

SRv6 functions and SIDs

The following command on PE-2 shows the SIDs for the End.uDT2U and End.uDT2M functions:

*A:PE-2# show router segment-routing-v6 micro-segment-local-sid udt2u udt2m

===============================================================================
Micro Segment Routing v6 Local SIDs
===============================================================================
SID                                               Type           Function
  Micro Segment Locator
  Context
-------------------------------------------------------------------------------
2001:bbbb:2:4006::                                uDT2U          16390
  PE2-mloc
  SvcId: 2 Name: VPLS-2
2001:bbbb:2:4007::                                uDT2M          16391
  PE2-mloc
  SvcId: 2 Name: VPLS-2
-------------------------------------------------------------------------------
SIDs : 2
-------------------------------------------------------------------------------
===============================================================================

The same SRv6 functions and SIDs are applied in the VPLS-2 service, as follows:

*A:PE-2# show service id "VPLS-2" segment-routing-v6 detail

===============================================================================
Micro Segment Routing v6 Instance 1 Service 2
===============================================================================
Micro Segment Locator
 Type          Function  SID                                     Status
               Oper Func
-------------------------------------------------------------------------------
PE2-mloc
 uDT2U         *-        2001:bbbb:2:4006::                      ok
               16390
 uDT2M         *-        2001:bbbb:2:4007::                      ok
               16391
===============================================================================
Legend: * - System allocated

The following command on PE-2 shows the SRv6 destinations in VPLS-2:

*A:PE-2# show service id "VPLS-2" segment-routing-v6 destinations

===============================================================================
TEP, SID (Instance 1)
===============================================================================
TEP Address                Segment Id                          Oper  Mcast Num
                                                               State       MACs
-------------------------------------------------------------------------------
2001:db8::2:3              2001:bbbb:3:4007::                  Up    BUM   0
2001:db8::2:4              2001:bbbb:4:4007::                  Up    BUM   0
2001:db8::2:5              2001:bbbb:5:4007::                  Up    BUM   0
-------------------------------------------------------------------------------
Number of TEP, SID: 3
-------------------------------------------------------------------------------
===============================================================================

===============================================================================
Segment Routing v6 Ethernet Segment Dest (Instance 1)
===============================================================================
Eth SegId                                 Num. Macs     Last Update
-------------------------------------------------------------------------------
01:00:00:00:00:45:00:00:00:01             1             03/18/2024 15:44:04
-------------------------------------------------------------------------------
Number of entries: 1
-------------------------------------------------------------------------------
===============================================================================

The ping or traceroute commands are used to verify the connectivity toward the remote SRv6 SIDs, for example, for the End.uDT2U function, as follows:

*A:PE-2# ping 2001:bbbb:3:4006:: rapid 
PING 2001:bbbb:3:4006:: 56 data bytes
!!!!!
---- 2001:bbbb:3:4006:: PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 2.37ms, avg = 2.54ms, max = 2.92ms, stddev = 0.191ms
*A:PE-2# traceroute 2001:bbbb:5:4006:: 
traceroute to 2001:bbbb:5:4006::, 30 hops max, 60 byte packets
  1  2001:db8::2:5 (2001:db8::2:5)    3.08 ms  2.74 ms  2.98 ms

Conclusion

EVPN VPLS services using SRv6 transport can be configured with locators as well as micro-segment locators. Both all-active and single-active multihoming modes are supported.