Spoke Termination for IPv6-6VPE

This chapter provides information about spoke termination for IPv6-6VPE.

Topics in this chapter include:

Applicability

This chapter was originally written for SR OS Release 8.0, where Epipe Virtual Leased Line (VLL) is supported for IPv6 spoke termination within a Virtual Private Routed Network (VPRN). The MD-CLI in the current edition corresponds to SR OS Release 21.10.R2.

Overview

RFC 4659, BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN, standardized the use of an IPv6 over IPv4 tunneling scheme. SR OS supports the standardized IPv6 over IPv4 tunneling scheme for VPRN services using Multi-Protocol Border Gateway Protocol (MP-BGP), also known as 6VPE.

SR OS supports pseudowire termination by a VPRN from an Epipe Virtual Leased Line (VLL) or VPLS spoke Service Distribution Point (spoke SDP) where the pseudowire can be given IPv6 addresses and run IPv6 protocols. In the example used in this chapter, any advertisements across the Multi-Protocol Labeled Switching (MPLS) network between VPRN Provider Edge (PE) devices will use 6VPE. This chapter describes the configuration for IPv6 spoke termination to a VPRN over an Epipe VLL and transporting IPv6 packets over 6VPE tunnels between PE devices.

This solution can be used where a service provider is providing VPRN services built on a transport network whose Interior Gateway Protocol (IGP) is using IPv4 addressing on the network interfaces. The customer’s CE and the service provider’s PE must support IPv6 pseudowires, IPv6 interfaces and in addition, the service provider also must be able to support the advertisements of IPv6 prefixes between CE-PE peerings and between the transport PE routers using MP-BGP. The advertisement of IPv6 prefixes across the MPLS network and the transport of IPv6 traffic is tunneled using 6VPE.

The VPRN PE supports spoke termination of Epipe VLL services on access with IPv6 addressing between the CE and VPRN PE. The IPv6 spoke termination on VPRN services has the same functionality as VPRN IPv4 spoke termination.

The example in Spoke termination for IPv6 illustrates a CE device that connects to a VPRN PE on an IPv6 interface addressing using spoke termination.

Figure 1. Spoke termination for IPv6

CE-1 is connected to the VPRN service on PE-3, using IPv6 interfaces. CE-1 reaches PE-3 by connecting to PE-2. PE-2 uses an Epipe VLL for transport to the VPRN on the PE-3. The connectivity between the VLL service on the VPRN service on PE-3 is using spoke termination with IPv6 addressing on the spoke SDP interface on PE-3.

Figure 2. IPv6 addressing and IPv6 prefixes

IPv6 addressing and IPv6 prefixes shows the overall IPv6 addressing from interfaces to prefixes advertised from CE-1 and CE-5 across the VPRN network.

  • Link between CE-1 and PE-3: 2001:db8:1000::/64

  • Link between CE-5 and PE-4: 2001:db8:2000::/64

  • Advertised prefix from CE-1: 2001:db8:3000::/64

  • Advertised prefix from CE-5: 2001:db8:4000::/64

PE-3 has an MP-eBGP session with CE-1 to receive and advertise IPv6 routes. PE-3 also has an MP-iBGP peering session with PE-4 to use 6VPE to tunnel IPv6 routes and traffic to and from PE-4. PE-4 has an IPv6 SAP interface to CE-5 and uses MP-eBGP to advertise to and receive routes from CE-5 (no spoke termination). The configuration of PE-3 is included to provide examples of the end-to-end VPRN service using a 6VPE model.

This network topology illustrates the use of spoke termination using IPv6 interfaces and the tunneling of IPv6 traffic over a 6VPE MPLS network.

Configuration

First an MPLS network is established where the VPRN service can use 6VPE to tunnel traffic across the IPv4 IGP.

Figure 3. MP-BGP VPN IPv6

In MP-BGP VPN IPv6, PE-3 and PE-4 are edge routers running VPRN services on access with IPv6 interfaces. The MPLS network is configured using IPv4 link addressing. Interior Border Gateway Protocol (iBGP) peerings need to be established with MP-BGP for the VPN-IPv6 address family between PE-3 and PE-4.

# on PE-3:
configure {
    router "Base" {
        autonomous-system 64502
        bgp {
            group "iBGP" {
                description "iBGP peering in AS 64502"
                peer-as 64502
                family {
                    vpn-ipv6 true
                }
            }
            neighbor "192.0.2.4" {
                description "PE-4"
                group "iBGP"
            }
        } 
# on PE-4:
configure {
    router "Base" {
        autonomous-system 64502
        bgp {
            group "iBGP" {
                description "iBGP peering in AS 64502"
                peer-as 64502
                family {
                    vpn-ipv6 true
                }
            }
            neighbor "192.0.2.3" {
                description "PE-3"
                group "iBGP"
            }
        }

Configuring address family VPN-IPv6 between VPRN PE edge routers in BGP enables MP-BGP for the Layer 3 VPNs supporting the customer’s IPv6 addressing (6VPE).

The following commands verify the BGP sessions for the VPN-IPv6 address family between PE-3 and PE-4:

[/]
A:admin@PE-3# show router bgp neighbor 192.0.2.4

===============================================================================
BGP Neighbor
===============================================================================
-------------------------------------------------------------------------------
Peer                 : 192.0.2.4
Description          : PE-4
Group                : iBGP
-------------------------------------------------------------------------------
Peer AS              : 64502            Peer Port            : 49727
Peer Address         : 192.0.2.4
Local AS             : 64502            Local Port           : 179
Local Address        : 192.0.2.3
Peer Type            : Internal         Dynamic Peer         : No
State                : Established      Last State           : Established
Last Event           : recvOpen
Last Error           : Cease (Connection Collision Resolution)
Local Family         : VPN-IPv6
Remote Family        : VPN-IPv6
---snip---
[/]
A:admin@PE-4# show router bgp neighbor 192.0.2.3

===============================================================================
BGP Neighbor
===============================================================================
-------------------------------------------------------------------------------
Peer                 : 192.0.2.3
Description          : PE-3
Group                : iBGP
-------------------------------------------------------------------------------
Peer AS              : 64502            Peer Port            : 179
Peer Address         : 192.0.2.3
Local AS             : 64502            Local Port           : 49727
Local Address        : 192.0.2.4
Peer Type            : Internal         Dynamic Peer         : No
State                : Established      Last State           : Active
Last Event           : recvOpen
Last Error           : Unrecognized Error
Local Family         : VPN-IPv6
Remote Family        : VPN-IPv6
---snip---

After the MP-BGP sessions are established for the VPN-IPv6 address-family, 6VPE tunnel support is provided between PE-3 and PE-4.

Spoke termination for IPv6 addressing illustrates the model for spoke termination for IPv6 using VPRN services.

Figure 4. Spoke termination for IPv6 addressing

CE-1 is configured with IPv6 addressing on the access interface facing the VPRN service. CE-1’s access is backhauled to the VPRN service on PE-3 using Epipe VLL with spoke termination. The configuration of the Epipe VLL on PE-2 is as follows:

# on PE-2:
configure {
    service {
        epipe "Epipe 1" {
            admin-state enable
            service-id 1
            customer "1"
            service-mtu 9190
            spoke-sdp 231:1 {
            }
            sap 1/1/2 {
            }
        }
        sdp 231 {
            admin-state enable
            delivery-type mpls
            ldp true
            far-end {
                ip-address 192.0.2.3
            }
        }

Epipe 1 on PE-2 is configured with a SAP interface facing the customer and a spoke SDP facing PE-3. The spoke SDP is terminated into the customer’s VPRN service on PE-3.

The possible IPv6 options for spoke SDP interfaces on the CLI for VPRN services are as follows (compliant with RFC 4213, Basic Transition Mechanisms for IPv6 Hosts and Routers <draft-ietf-v6ops-mech-v2-07.txt>):

  • Interface spoke SDP (IPv6 options only)

    [ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2"]
    A:admin@PE-3# ?
    ---snip---
     ipv6                  + Enter the ipv6 context
    ---snip---
    
    [ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2" ipv6]
    A:admin@PE-3# ?
    
     address               + Enter the address list instance
     bfd                   + Enter the bfd context
     dhcp6                 + Enter the dhcp6 context
     duplicate-address-    - Enable/disable Duplicate Address Detection
                             detection
     forward-ipv4-packets  - Forward unencapsulated IPv4 packets
     icmp6                 + Enter the icmp6 context
     link-local-address    + Enter the link-local-address context
     local-dhcp-server     - DHCP server for the interface
     neighbor-discovery    + Enter the neighbor-discovery context
     qos-route-lookup      - QoS Route lookup
     tcp-mss               - TCP maximum segment size for the interface
     urpf-check            + Enable the urpf-check context
     vrrp                  + Enter the vrrp list instance
    
  • IPv6 address

    [ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2" ipv6]
    A:admin@PE-3# address ?
    
     [ipv6-address] <ipv6-address>
     <ipv6-address>  - (<x:x:x:x:x:x:x:x>|<x:x:x:x:x:x:d.d.d.d>)
    
        IPv6 address assigned to the interface
    
  • DHCPv6 relay parameters for the VPRN service

    [ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2" ipv6 dhcp6]
    A:admin@PE-3# ?
    
     apply-groups          - Apply a configuration group at this level
     apply-groups-exclude  - Exclude a configuration group at this level
     relay                 + Enter the relay context
     server                + Enter the server context
    
    [ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2" ipv6 dhcp6 relay]
    A:admin@PE-3# ?
    
     admin-state           - Administrative state of DHCPv6 Relay
     apply-groups          - Apply a configuration group at this level
     apply-groups-exclude  - Exclude a configuration group at this level
     description           - Text description
     lease-populate        + Enter the lease-populate context
     link-address          - Link address of the DHCPv6 relay messages
     neighbor-resolution   - Enable neighbor resolution via DHCPv6 relay
     option                + Enter the option context
     python-policy         - Python policy name
     server                - DHCPv6 server to which the DHCPv6 requests are forwarded
     source-address        - Source IPv6 address of the DHCPv6 relay messages
     user-db               - Local user database for authentication
    
  • DHCPv6 server parameters for the VPRN service

    [ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2" ipv6 dhcp6 server]
    A:admin@PE-3# ?
    
     apply-groups          - Apply a configuration group at this level
     apply-groups-exclude  - Exclude a configuration group at this level
     max-nbr-of-leases     - DHCPv6 leases allowed
     prefix-delegation     + Enter the prefix-delegation context
    
  • ICMPv6

    [ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2" ipv6 icmp6]
    A:admin@PE-3# ?
    
     packet-too-big        + Enter the packet-too-big context
     param-problem         + Enter the param-problem context
     redirects             + Enter the redirects context
     time-exceeded         + Enter the time-exceeded context
     unreachables          + Enter the unreachables context
    
  • Link-local-addressing, for the VPRN interface. By default, link-local addressing is assigned dynamically. Use this command if you want to add a static link-local-address.

    [ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2" ipv6 link-local-address]
    A:admin@PE-3# ?
    
     address               - IPv6 link local address
     duplicate-address-    - Enable Duplicate Address Detection
      detection
    
  • Enabling local proxy neighbor discovery

    *[ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2" ipv6 neighbor-discovery]
    A:admin@PE-3# local-proxy-nd ?
    
     local-proxy-nd <boolean>
     <boolean>  - ([true]|false)
     Default    - false
    
        Enable neighbor discovery on interface
    
     host-route            + Enter the host-route context
     learn-unsolicited     - Type of entries learned from unsolicited NA messages
     limit                 + Enter the limit context
     proactive-refresh     - Neighbor entries to be refreshed proactively
     proxy-nd-policy       - Name of the proxy Neighbor Discovery policies for the interface
     reachable-time        - Timer for neighbor reachability detection
     secure-nd             + Enter the secure-nd context
     stale-time            - Time during which a neighbor discovery cache entry remains stale
     static-neighbor       + Enter the static-neighbor list instance
    
  • VRRP

    *[ex:/configure service vprn "VPRN 1" interface "int-PE-3-PE-2" ipv6 vrrp 1]
    A:admin@PE-3# ?
    
     Immutable fields      - owner, passive
    
     admin-state           - Administrative state of VRRP
     apply-groups          - Apply a configuration group at this level
     apply-groups-exclude  - Exclude a configuration group at this level
     backup                - Virtual router IP addresses for the interface
     bfd-liveness          + Enter the bfd-liveness context
     init-delay            - VRRP initialization delay timer
     mac                   - MAC address used by virtual router instance overriding the 
                             VRRP default derived from the VRID
     master-int-inherit    - Allow the master instance to dictate the master down timer
     message-interval      - Interval for sending VRRP Advertisement messages
     ntp-reply             - Allow processing of NTP Requests
     oper-group            - Operational group name associated with VRRP
     owner                 - Designate virtual router instance as owning the virtual 
                             router IP addresses
     passive               - Suppress the transmission and reception of VRRP 
                             advertisement messages
     ping-reply            - Allow non-owner master to reply to ICMP echo requests
     policy                - VRRP priority control policy associated with the virtual 
                             router instance
     preempt               - Allow the VRRP to override an existing non-owner master
     priority              - Base priority for the VRRP
     standby-forwarding    - Allow the forwarding of packets by a standby router
     telnet-reply          - Allow non-owner master to reply to Telnet requests
     traceroute-reply      - Allow non-owner master to reply to traceroute requests
    

The VPRN on PE-3 exports IPv6 routes (IPv6 route on CE-5) to CE-1 using the following route policy.

# on PE-3
configure {
    policy-options {
        prefix-list "PE-3-CE-1" {
            prefix 2001:db8:4000::/64 type exact {
            }
        }
        policy-statement "PE-3-BGP-CE-1" {
            entry 10 {
                from {
                    prefix-list ["PE-3-CE-1"]
                }
                action {
                    action-type accept
                    origin igp
                }
            }
            default-action {
                action-type reject
            }
        }

EBGP routes are discarded by default, so an import policy is required:

# on PE-3, PE-4, CE-1, CE-5:
configure {
    policy-options {
        prefix-list "2001:db8::/32" {
            prefix 2001:db8::/32 type longer {
            }
        }
        policy-statement "import-2001:db8::/32" {
            entry 10 {
                from {
                    prefix-list ["2001:db8::/32"]
                }
                action {
                    action-type accept
                    origin igp
                }
            }
            default-action {
                action-type reject
            }
        }

The configuration for the VPRN service on PE-3 with IPv6 interface (spoke SDP) as shown in Spoke termination for IPv6 addressing:

# on PE-3:
configure {
    service {
        sdp 321 {
            admin-state enable
            delivery-type mpls
            ldp true
            far-end {
                ip-address 192.0.2.2
            }
        }
        vprn "VPRN 1" {
            admin-state enable
            service-id 1
            customer "1"
            autonomous-system 64502
            router-id 192.0.2.31
            bgp-ipvpn {
                mpls {
                    admin-state enable
                    route-distinguisher "64502:1"
                    vrf-target {
                        community "target:64502:1"
                    }
                    auto-bind-tunnel {
                        resolution filter
                        resolution-filter {
                            ldp true
                        }
                    }
                }
            }
            bgp {
                router-id 192.0.2.31
                group "Spoke-CE-1-PE-3" {
                    peer-as 64501
                    local-address 2001:db8:1000::2
                    family {
                        ipv6 true
                    }
                }
                neighbor "2001:db8:1000::1" {
                    group "Spoke-CE-1-PE-3"
                    as-override true
                    type external
                    import {
                        policy ["import-2001:db8::/32"]
                    }
                    export {
                        policy ["PE-3-BGP-CE-1"]
                    }
                }
            }
            interface "int-PE-3-PE-2" {
                description "Spoke SDP"
                spoke-sdp 321:1 {
                }
                ipv6 {
                    address 2001:db8:1000::2 {
                        prefix-length 64
                    }
                }
            }
            interface "loopback" {
                loopback true
                ipv4 {
                    primary {
                        address 192.0.2.31
                        prefix-length 32
                    }
                }
            }
        }

In the preceding configuration example, PE-3 has been configured with an IPv6 spoke SDP (spoke termination) with interface int-PE-3-PE-2. The VPRN configuration has also been set up for MP-eBGP peering to CE-1 through the IPv6 spoke interface. The MP-eBGP peering receives and advertises IPv6 prefixes from and to CE-1. The included route policy configuration shows how IPv6 routes are advertised to CE-1 from PE-3 (policy-statement PE-3-BGP-CE-1).

The configuration on PE-4 is similar, but with a SAP interface to CE-5 instead of a spoke-SDP.

Figure 5. PE-4 VPRN with SAP to CE-5

The IPv6 configuration options for the SAP interface (int-PE-4-CE-5) are similar to those in the preceding example for the spoke SDP on PE-3. The PE-4 BGP export policy (PE-4-BGP-CE-5) is also similar to the example for PE-3 in advertising the learned IPv6 route to CE-5.

# on PE-4:
configure {
    policy-options {
        prefix-list "PE-4-CE-5" {
            prefix 2001:db8:3000::/64 type exact {
            }
        }
        policy-statement "PE-4-BGP-CE-5" {
            entry 10 {
                from {
                    prefix-list ["PE-4-CE-5"]
                }
                action {
                    action-type accept
                    origin igp
                }
            }
            default-action {
                action-type reject
            }
        }
configure {
    service {
        vprn "VPRN 1" {
            admin-state enable
            service-id 1
            customer "1"
            autonomous-system 64502
            router-id 192.0.2.41
            bgp-ipvpn {
                mpls {
                    admin-state enable
                    route-distinguisher "64502:1"
                    vrf-target {
                        community "target:64502:1"
                    }
                    auto-bind-tunnel {
                        resolution filter
                        resolution-filter {
                            ldp true
                        }
                    }
                }
            }
            bgp {
                router-id 192.0.2.41
                group "CE-5-PE-4" {
                    peer-as 64501
                    local-address 2001:db8:2000::1
                    family {
                        ipv6 true
                    }
                }
                neighbor "2001:db8:2000::2" {
                    group "CE-5-PE-4"
                    as-override true
                    type external
                    import {
                        policy ["import-2001:db8::/32"]
                    }
                    export {
                        policy ["PE-4-BGP-CE-5"]
                    }
                }
            }
            interface "int-PE-4-CE-5" {
                sap 1/1/1 {
                }
                ipv6 {
                    address 2001:db8:2000::1 {
                        prefix-length 64
                    }
                }
            }
            interface "loopback" {
                loopback true
                ipv4 {
                    primary {
                        address 192.0.2.41
                        prefix-length 32
                    }
                }
            }
        }

In this setup, the configuration on CE-1 is as follows.

# on CE-1:
configure {
    policy-options {
        prefix-list "2001:db8::/32" {
            prefix 2001:db8::/32 type longer {
            }
        }
        prefix-list "CE-1-192.0.2.1" {
            prefix 2001:db8:3000::/64 type exact {
            }
        }
        policy-statement "CE-1-sys-to-eBGP" {
            entry 10 {
                from {
                    prefix-list ["CE-1-192.0.2.1"]
                }
                action {
                    action-type accept
                    origin igp
                }
            }
            default-action {
                action-type reject
            }
        }
        policy-statement "import-2001:db8::/32" {
            entry 10 {
                from {
                    prefix-list ["2001:db8::/32"]
                }
                action {
                    action-type accept
                    origin igp
                }
            }
            default-action {
                action-type reject
            }
        }
    }
    router "Base" {
        autonomous-system 64501
        bgp {
            router-id 192.0.2.1
            group "eBGP_to_64502" {
                description "eBGP_to_PE-3_AS64502"
                type external
                peer-as 64502
                local-address 2001:db8:1000::1
                family {
                    ipv6 true
                }
            }
            neighbor "2001:db8:1000::2" {
                group "eBGP_to_64502"
                import {
                    policy ["import-2001:db8::/32"]
                }
                export {
                    policy ["CE-1-sys-to-eBGP"]
                }
            }
        }
        static-routes {
            route 2001:db8:3000::/64 route-type unicast {
                blackhole {
                    admin-state enable
                }
            }
        }
    }
    service
        ies "IES 1" {
            admin-state enable
            service-id 1
            customer "1"
            interface "int-CE-1-PE-2" {
                description "SAP_toward_VPRN_Service"
                sap 1/1/1 {
                }
                ipv6 {
                    address 2001:db8:1000::1 {
                        prefix-length 64
                    }
                }
            }
        }

The configuration on CE-5 is similar.

The following command on PE-2 shows that the Epipe VLL is established with the SAP facing CE-1 and spoke SDP facing VPRN 1 on PE-3.

[/]
A:admin@PE-2# show service id 1 base

===============================================================================
Service Basic Information
===============================================================================
Service Id        : 1                   Vpn Id            : 0
Service Type      : Epipe
MACSec enabled    : no
Name              : Epipe 1
Description       : (Not Specified)
Customer Id       : 1                   Creation Origin   : manual
Last Status Change: 01/25/2022 10:53:53
Last Mgmt Change  : 01/25/2022 10:53:39
Test Service      : No
Admin State       : Up                  Oper State        : Up
MTU               : 9190
Vc Switching      : False
SAP Count         : 1                   SDP Bind Count    : 1
Per Svc Hashing   : Disabled
Vxlan Src Tep Ip  : N/A
Force QTag Fwd    : Disabled
Lcl Switch Svc St : sap
Oper Group        : <none>

-------------------------------------------------------------------------------
Service Access & Destination Points
-------------------------------------------------------------------------------
Identifier                               Type         AdmMTU  OprMTU  Adm  Opr
-------------------------------------------------------------------------------
sap:1/1/2                                null         9212    9212    Up   Up
sdp:231:1 S(192.0.2.3)                   Spok         0       9190    Up   Up
===============================================================================

The same command can be launched on PE-3 to verify that the VPRN service is up and that the spoke SDP is up (admin state up/oper state up).

[/]
A:admin@PE-3# show service id 1 base

===============================================================================
Service Basic Information
===============================================================================
Service Id        : 1                   Vpn Id            : 0
Service Type      : VPRN
MACSec enabled    : no
Name              : VPRN 1
Description       : (Not Specified)
Customer Id       : 1                   Creation Origin   : manual
Last Status Change: 01/25/2022 10:53:48
Last Mgmt Change  : 01/25/2022 10:53:48
Admin State       : Up                  Oper State        : Up

Router Oper State : Up
Route Dist.       : 64502:1             VPRN Type         : regular
Oper Route Dist   : 64502:1
Oper RD Type      : configured
AS Number         : 64502               Router Id         : 192.0.2.31
ECMP              : Enabled             ECMP Max Routes   : 1
Max IPv4 Routes   : No Limit
Local Rt Domain-Id: None                D-Path Lng Ignore : Disabled

Auto Bind Tunnel
Allow Flex-Alg-Fb : Disabled
Resolution        : filter
Filter Protocol   : ldp
Weighted ECMP     : Disabled            ECMP Max Routes   : 1
Strict Tnl Tag    : Disabled

Max IPv6 Routes   : No Limit
Ignore NH Metric  : Disabled
Hash Label        : Disabled
Entropy Label     : Disabled
Vrf Target        : target:64502:1
Vrf Import        : None
Vrf Export        : None
MVPN Vrf Target   : None
MVPN Vrf Import   : None
MVPN Vrf Export   : None
Car. Sup C-VPN    : Disabled
Label mode        : vrf
BGP VPN Backup    : Disabled
BGP Export Inactv : Disabled
LOG all events    : Disabled

SAP Count         : 0                   SDP Bind Count    : 1
VSD Domain        : <none>

-------------------------------------------------------------------------------
Service Access & Destination Points
-------------------------------------------------------------------------------
Identifier                               Type         AdmMTU  OprMTU  Adm  Opr
-------------------------------------------------------------------------------
sdp:321:1 S(192.0.2.2)                   TLDP         0       9190    Up   Up
===============================================================================

The following command shows that the IPv6 interface is established and its IPv6 address is preferred (2001:db8:1000::2/64). The IPv6 link local address (fe80::17:ffff:fe00:0/64) has been dynamically assigned and is in the preferred state.

[/]
A:admin@PE-3# show service id 1 interface

==============================================================================
Interface Table
==============================================================================
Interface-Name                   Adm       Opr(v4/v6)  Type    Port/SapId
   IP-Address                                                  PfxState
------------------------------------------------------------------------------
int-PE-3-PE-2                    Up        Down/Up     VPRN    spoke-321:1
   2001:db8:1000::2/64                                         PREFERRED
   fe80::fe:1856:5892:3d76/64                                  PREFERRED
loopback                         Up        Up/Down     VPRN    loopback
   192.0.2.31/32                                               n/a
------------------------------------------------------------------------------
Interfaces : 2
==============================================================================

With the show service id 1 all command, an extensive list of parameters is displayed, including IPv6-related fields that can be checked if configured: DHCP6-relay, DHCP6-server, and so on. It is possible to use filters to reduce the output.

After verification of the services (Epipe, VPRN), the MP-eBGP peering connectivity (through IPv6 interfaces) on the VPRN between PE-3 and CE-1 can be verified as follows:

[/]
A:admin@PE-3# show router 1 bgp neighbor

===============================================================================
BGP Neighbor
===============================================================================
-------------------------------------------------------------------------------
Peer                 : 2001:db8:1000::1
Description          : (Not Specified)
Group                : Spoke-CE-1-PE-3
-------------------------------------------------------------------------------
Peer AS              : 64501            Peer Port            : 179
Peer Address         : 2001:db8:1000::1
Local AS             : 64502            Local Port           : 50788
Local Address        : 2001:db8:1000::2
Peer Type            : External         Dynamic Peer         : No
State                : Established      Last State           : Active
Last Event           : recvOpen
Last Error           : Unrecognized Error
Local Family         : IPv6
Remote Family        : IPv6
---snip---      

Local Capability     : RtRefresh MPBGP 4byte ASN
Remote Capability    : RtRefresh MPBGP 4byte ASN
Local AddPath Capabi*: Disabled
Remote AddPath Capab*: Send - None
                     : Receive - None
Import Policy        : import-2001:db8::/32
                     : Default Reject
Export Policy        : PE-3-BGP-CE-1
                     : Default Reject
---snip---

-------------------------------------------------------------------------------
Ingress prefix counters per family.
IPv4 received        : 0                IPv6 received        : 1
IPv4 active          : 0                IPv6 active          : 1
IPv4 suppressed      : 0                IPv6 suppressed      : 0
IPv4 rejected        : 0                IPv6 rejected        : 0
VPN-IPv4 received    : 0                VPN-IPv6 received    : 0
VPN-IPv4 active      : 0                VPN-IPv6 active      : 0
VPN-IPv4 suppressed  : 0                VPN-IPv6 suppressed  : 0
VPN-IPv4 rejected    : 0                VPN-IPv6 rejected    : 0
---snip---

Not only is the MP-eBGP session on the VPRN established, but the MP-BGP capabilities are also supported (locally and remotely). PE-3 and its BGP peer CE-1 have advertised and received an IPv6 prefix.

The same command can be launched on PE-4. The status of the VPRN service on PE-4 and its interface to CE-5 can be verified as follows:

[/]
A:admin@PE-4# show service id 1 base

===============================================================================
Service Basic Information
===============================================================================
Service Id        : 1                   Vpn Id            : 0
Service Type      : VPRN
MACSec enabled    : no
Name              : VPRN 1
Description       : (Not Specified)
Customer Id       : 1                   Creation Origin   : manual
Last Status Change: 01/25/2022 10:53:56
Last Mgmt Change  : 01/25/2022 10:53:56
Admin State       : Up                  Oper State        : Up

Router Oper State : Up
Route Dist.       : 64502:1             VPRN Type         : regular
Oper Route Dist   : 64502:1
Oper RD Type      : configured
AS Number         : 64502               Router Id         : 192.0.2.41
ECMP              : Enabled             ECMP Max Routes   : 1
Max IPv4 Routes   : No Limit
Local Rt Domain-Id: None                D-Path Lng Ignore : Disabled

Auto Bind Tunnel
Allow Flex-Alg-Fb : Disabled
Resolution        : filter
Filter Protocol   : ldp
Weighted ECMP     : Disabled            ECMP Max Routes   : 1
Strict Tnl Tag    : Disabled

Max IPv6 Routes   : No Limit
Ignore NH Metric  : Disabled
Hash Label        : Disabled
Entropy Label     : Disabled
Vrf Target        : target:64502:1
Vrf Import        : None
Vrf Export        : None
MVPN Vrf Target   : None
MVPN Vrf Import   : None
MVPN Vrf Export   : None
Car. Sup C-VPN    : Disabled
Label mode        : vrf
BGP VPN Backup    : Disabled
BGP Export Inactv : Disabled
LOG all events    : Disabled

SAP Count         : 1                   SDP Bind Count    : 0
VSD Domain        : <none>

-------------------------------------------------------------------------------
Service Access & Destination Points
-------------------------------------------------------------------------------
Identifier                               Type         AdmMTU  OprMTU  Adm  Opr
-------------------------------------------------------------------------------
sap:1/1/1                                null         9212    9212    Up   Up
===============================================================================

The VPRN service is up and the SAP is up.

The following command shows that the IPv6 interface is established and its IPv6 address is in the preferred state.

[/]
A:admin@PE-4# show service id 1 interface

==============================================================================
Interface Table
==============================================================================
Interface-Name                   Adm       Opr(v4/v6)  Type    Port/SapId
   IP-Address                                                  PfxState
------------------------------------------------------------------------------
int-PE-4-CE-5                    Up        Down/Up     VPRN    1/1/1
   2001:db8:2000::1/64                                         PREFERRED
   fe80::13:6a5e:9959:90aa/64                                  PREFERRED
loopback                         Up        Up/Down     VPRN    loopback
   192.0.2.41/32                                               n/a
------------------------------------------------------------------------------
Interfaces : 2
==============================================================================

MP-iBGP, providing 6VPE is configured and built between PE-3 and PE-4 across the MPLS network. IPv6 prefixes are received on PE-3 from CE-1 (2001:db8:3000::/64) and on PE-4 from CE-5 (2001:db8:4000::/64) across the MPLS network using MP-iBGP (6VPE).

CE-1 advertises IPv6 prefix 2001:db8:3000::/64 and CE-5 advertises IPv6 prefix 2001:db8:4000::/64.

The following command on PE-3 shows whether VPN-IPv6 routes were received from and advertised to its iBGP peer PE-4:

[/]
A:admin@PE-3# show router bgp summary
===============================================================================
 BGP Router ID:192.0.2.3        AS:64502       Local AS:64502
===============================================================================
BGP Admin State         : Up          BGP Oper State              : Up
Total Peer Groups       : 1           Total Peers                 : 1
Total VPN Peer Groups   : 1           Total VPN Peers             : 1
Current Internal Groups : 1           Max Internal Groups         : 1
Total BGP Paths         : 23          Total Path Memory           : 8168
---snip---        

Total VPN-IPv4 Rem. Rts : 0           Total VPN-IPv4 Rem. Act. Rts: 0
Total VPN-IPv6 Rem. Rts : 2           Total VPN-IPv6 Rem. Act. Rts: 2
Total VPN-IPv4 Bkup Rts : 0           Total VPN-IPv6 Bkup Rts     : 0
Total VPN Local Rts     : 5           Total VPN Supp. Rts         : 0
Total VPN Hist. Rts     : 0           Total VPN Decay Rts         : 0
---snip---      

===============================================================================
BGP Summary
===============================================================================
Legend : D - Dynamic Neighbor
===============================================================================
Neighbor
Description
                   AS PktRcvd InQ  Up/Down   State|Rcv/Act/Sent (Addr Family)
                      PktSent OutQ
-------------------------------------------------------------------------------
192.0.2.4
PE-4
                64502      17    0 00h05m58s 2/2/2 (VpnIPv6)
                           17    0
-------------------------------------------------------------------------------

PE-3 has received and learned a valid and best IPv6 route for prefix 2001:db8:3000::/64 with a BGP next hop of 2001:db8:1000:: (CE-1), as follows:

[/]
A:admin@PE-3# show router 1 bgp routes ipv6
===============================================================================
 BGP Router ID:192.0.2.31       AS:64502       Local AS:64502
===============================================================================
 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 IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
u*>i  2001:db8:3000::/64                                 None        None
      2001:db8:1000::1                                   None        0
      64501                                                          -
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

The following output shows the 2001:db8:4000::/64 prefix as BGP IPv6 route advertised by PE-3 to eBGP peer CE-1.

[/]
A:admin@PE-3# show router 1 bgp neighbor 2001:db8:1000::1 advertised-routes ipv6
===============================================================================
 BGP Router ID:192.0.2.31       AS:64502       Local AS:64502
===============================================================================
 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 IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
i     2001:db8:4000::/64                                 n/a         None
      2001:db8:1000::2                                   None        n/a
      64502 64502                                                    -
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

The IPv6 route 2001:db8:4000::/64 originates from CE-5 and was advertised from CE-5 to its eBGP peer PE-4, then from PE-4 as VPN-IPv6 route to its iBGP peer PE-3 with next-hop PE-4, as follows:

[/]
A:admin@PE-3# show router bgp routes vpn-ipv6
===============================================================================
 BGP Router ID:192.0.2.3        AS:64502       Local AS:64502
===============================================================================
 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 VPN-IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
u*>i  64502:1:2001:db8:2000::/64                         100         None
      ::ffff:192.0.2.4                                   None        10
      No As-Path                                                     524283
u*>i  64502:1:2001:db8:4000::/64                         100         None
      ::ffff:192.0.2.4                                   None        10
      64501                                                          524283
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

PE-3 is advertising the VPN-IPv6 route of 2001:db8:3000::/64 to its MP-iBGP peer PE-4, as follows. The IPv6 prefix 2001:db8:3000::/64 was learned from CE-1 in an MP-eBGP session:

[/]
A:admin@PE-3# show router bgp neighbor 192.0.2.4 advertised-routes vpn-ipv6
===============================================================================
 BGP Router ID:192.0.2.3        AS:64502       Local AS:64502
===============================================================================
 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 VPN-IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
i     64502:1:2001:db8:1000::/64                         100         None
      ::ffff:192.0.2.3                                   None        n/a
      No As-Path                                                     524283
i     64502:1:2001:db8:3000::/64                         100         None
      ::ffff:192.0.2.3                                   None        n/a
      64501                                                          524283
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

The list of VPN-IPv6 routes on PE-4 includes the VPN-IPv6 route that was learned from PE-3: 2001:db8:3000::/64, as follows:

[/]
A:admin@PE-4# show router bgp routes vpn-ipv6
===============================================================================
 BGP Router ID:192.0.2.4        AS:64502       Local AS:64502
===============================================================================
 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 VPN-IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
u*>i  64502:1:2001:db8:1000::/64                         100         None
      ::ffff:192.0.2.3                                   None        10
      No As-Path                                                     524283
u*>i  64502:1:2001:db8:3000::/64                         100         None
      ::ffff:192.0.2.3                                   None        10
      64501                                                          524283
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

The following output shows the advertised VPN-IPv6 route of 2001:db8:4000::/64 from PE-4 to PE-3.

[/]
A:admin@PE-4# show router bgp neighbor 192.0.2.3 advertised-routes vpn-ipv6
===============================================================================
 BGP Router ID:192.0.2.4        AS:64502       Local AS:64502
===============================================================================
 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 VPN-IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
i     64502:1:2001:db8:2000::/64                         100         None
      ::ffff:192.0.2.4                                   None        n/a
      No As-Path                                                     524283
i     64502:1:2001:db8:4000::/64                         100         None
      ::ffff:192.0.2.4                                   None        n/a
      64501                                                          524283
-------------------------------------------------------------------------------
Routes : 2
===============================================================================

The following output from PE-4 shows the IPv6 prefix 2001:db8:4000::/64 learned from CE-5.

[/]
A:admin@PE-4# show router 1 bgp routes ipv6
===============================================================================
 BGP Router ID:192.0.2.41       AS:64502       Local AS:64502
===============================================================================
 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 IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
u*>i  2001:db8:4000::/64                                 None        None
      2001:db8:2000::2                                   None        0
      64501                                                          -
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

The following command on PE-4 confirms that IPv6 prefix 2001:db8:3000::/64 is advertised to CE-5.

[/]
A:admin@PE-4# show router 1 bgp neighbor 2001:db8:2000::2 advertised-routes ipv6
===============================================================================
 BGP Router ID:192.0.2.41       AS:64502       Local AS:64502
===============================================================================
 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 IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
i     2001:db8:3000::/64                                 n/a         None
      2001:db8:2000::1                                   None        n/a
      64502 64502                                                    -
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

The final verification of CE-1 and CE-5 shows that IPv6 routes for AS 64501 have been received and are valid across the VPRN service, as follows:

[/]
A:admin@CE-1# show router bgp routes ipv6
===============================================================================
 BGP Router ID:192.0.2.1        AS:64501       Local AS:64501
===============================================================================
 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 IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
u*>i  2001:db8:4000::/64                                 None        None
      2001:db8:1000::2                                   None        0
      64502 64502                                                    -
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
[/]
A:admin@CE-5# show router bgp routes ipv6
===============================================================================
 BGP Router ID:192.0.2.5        AS:64501       Local AS:64501
===============================================================================
 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 IPv6 Routes
===============================================================================
Flag  Network                                            LocalPref   MED
      Nexthop (Router)                                   Path-Id     IGP Cost
      As-Path                                                        Label
-------------------------------------------------------------------------------
u*>i  2001:db8:3000::/64                                 None        None
      2001:db8:2000::1                                   None        0
      64502 64502                                                    -
-------------------------------------------------------------------------------
Routes : 1
===============================================================================

Conclusion

Spoke termination for IPv6-6VPE extends the use of spoke terminated interfaces from an Epipe VLL into a VPRN service using IPv6 interfaces on the access. Supporting the requirement of IPv6 interfaces, routing of IPv6 prefixes and the use of 6VPE for IPv6 tunneling over an IPv4 network allows SR OS to provide capabilities supporting the growth of IPv6 architectures.