Skip to content

PPR MPLS Basic Test Topology

Renato Westphal edited this page Aug 31, 2019 · 2 revisions

Table of Contents

Software

The FRR PPR implementation for IS-IS is available here: https://github.com/opensourcerouting/frr/tree/isisd-ppr-sr

Topology

In this topology we have an IS-IS network consisting of 12 routers. CE1 and CE2 are the consumer edges, connected to R11 and R14, respectively. Three hosts are connected to the CEs using only static routes.

Router R11 advertises 6 PPR TLVs:

  • IPv6 prefixes 6000:1::1/128 and 6000:2::1/128: {R11 - R21 - R22 - R23 - R14} (IPv6 Node Addresses).
  • MPLS labels 500 and 501: {R11 - R21 - R22 - R23 - R14} (SR Prefix-SIDs).
  • MPLS labels 502 and 503: {R11 - R21 - R31 - R32 - R41 - R33 - R34 - R23 - R14} (SR Prefix-SIDs)

PBR rules are configured on R11 and R14 to route the traffic between Host 1 and Host 3 using the first PPR tunnel, whereas all other traffic between CE1 and CE2 uses the second PPR tunnel.

Additional information:

  • Addresses in the 4000::/16 range refer to interface addresses, where the last hextet corresponds to the node ID.
  • Addresses in the 5000::/16 range refer to loopback addresses, where the last hextet corresponds to the node ID.
  • Addresses in the 6000::/16 range refer to PPR-ID addresses.
+-------+       +-------+                                                 +-------+
|       |       |       |                                                 |       |
| HOST1 |       | HOST2 |                                                 | HOST3 |
|       |       |       |                                                 |       |
+---+---+       +---+---+                                                 +---+---+
    |               |                                                         |
    |fd00:10:1::/64 |                                                         |
    +-----+  +------+                                           fd00:20:1::/64|
          |  |fd00:10:2::/64                                                  |
          |  |                                                                |
        +-+--+--+                                                         +---+---+
        |       |                                                         |       |
        |  CE1  |                                                         |  CE2  |
        |       |                                                         |       |
        +---+---+                                                         +---+---+
            |                                                                 |
            |                                                                 |
            |fd00:10:0::/64                                     fd00:20:0::/64|
            |                                                                 |
            |                                                                 |
        +---+---+             +-------+             +-------+             +---+---+
        |       |4000:101::/64|       |4000:102::/64|       |4000:103::/64|       |
        |  R11  +-------------+  R12  +-------------+  R13  +-------------+  R14  |
        |       |             |       |             |       |             |       |
        +---+---+             +--+-+--+             +--+-+--+             +---+---+
            |                    | |                   | |                    |
            |4000:104::/64       | |4000:106::/64      | |4000:108::/64       |
            +---------+ +--------+ +--------+ +--------+ +--------+ +---------+
                      | |4000:105::/64      | |4000:107::/64      | |4000:109::/64
                      | |                   | |                   | |
                   +--+-+--+             +--+-+--+             +--+-+--+
                   |       |4000:110::/64|       |4000:111::/64|       |
                   |  R21  +-------------+  R22  +-------------+  R23  |
                   |       |             |       |             |       |
                   +--+-+--+             +--+-+--+             +--+-+--+
                      | |                   | |                   | |
                      | |4000:113::/64      | |4000:115::/64      | |4000:117::/64
            +---------+ +--------+ +--------+ +--------+ +--------+ +---------+
            |4000:112::/64       | |4000:114::/64      | |4000:116::/64       |
            |                    | |                   | |                    |
        +---+---+             +--+-+--+             +--+-+--+             +---+---+
        |       |4000:118::/64|       |4000:119::/64|       |4000:120::/64|       |
        |  R31  +-------------+  R32  +-------------+  R33  +-------------+  R34  |
        |       |             |       |             |       |             |       |
        +-------+             +---+---+             +---+---+             +-------+
                                  |                     |
                                  |4000:121::/64        |
                                  +----------+----------+
                                             |
                                             |
                                         +---+---+
                                         |       |
                                         |  R41  |
                                         |       |
                                         +-------+

Configuration

PPR TLV processing needs to be enabled on all IS-IS routers using the ppr on command. The advertisements of all PPR TLVs is done by router R11.

CLI configuration

---

routers:

  host1:
    links:
      eth-ce1:
        peer: [ce1, eth-host1]
    frr:
      zebra:
      staticd:
      config: |
        interface eth-ce1
         ipv6 address fd00:10:1::1/64
        !
        ipv6 route ::/0 fd00:10:1::100

  host2:
    links:
      eth-ce1:
        peer: [ce1, eth-host2]
    frr:
      zebra:
      staticd:
      config: |
        interface eth-ce1
         ipv6 address fd00:10:2::1/64
        !
        ipv6 route ::/0 fd00:10:2::100

  host3:
    links:
      eth-ce2:
        peer: [ce2, eth-host3]
    frr:
      zebra:
      staticd:
      config: |
        interface eth-ce2
         ipv6 address fd00:20:1::1/64
        !
        ipv6 route ::/0 fd00:20:1::100

  ce1:
    links:
      eth-host1:
        peer: [host1, eth-ce1]
      eth-host2:
        peer: [host2, eth-ce1]
      eth-rt11:
        peer: [rt11, eth-ce1]
    frr:
      zebra:
      staticd:
      config: |
        interface eth-host1
         ipv6 address fd00:10:1::100/64
        !
        interface eth-host2
         ipv6 address fd00:10:2::100/64
        !
        interface eth-rt11
         ipv6 address fd00:10:0::100/64
        !
        ipv6 route ::/0 fd00:10:0::11 label 16501

  ce2:
    links:
      eth-host3:
        peer: [host3, eth-ce2]
      eth-rt14:
        peer: [rt14, eth-ce2]
    frr:
      zebra:
      staticd:
      config: |
        interface eth-host3
         ipv6 address fd00:20:1::100/64
        !
        interface eth-rt14
         ipv6 address fd00:20:0::100/64
        !
        ipv6 route ::/0 fd00:20:0::14 label 16500

  rt11:
    links:
      lo:
        mpls: yes
      lo-ppr:
      eth-ce1:
        peer: [ce1, eth-rt11]
        mpls: yes
      eth-rt12:
        peer: [rt12, eth-rt11]
        mpls: yes
      eth-rt21:
        peer: [rt21, eth-rt11]
        mpls: yes
    shell: |
      # GRE tunnel for preferred packets (PPR)
      ip -6 tunnel add tun-ppr mode ip6gre remote 6000:2::1 local 6000:1::1 ttl 64
      ip link set dev tun-ppr up
      # PBR rules
      ip -6 rule add from fd00:10:1::/64 to fd00:20:1::/64 iif eth-ce1 lookup 10000
      ip -6 route add default dev tun-ppr table 10000
    frr:
      zebra:
      staticd:
      isisd:
      config: |
        interface lo-ppr
         ipv6 address 6000:1::1/128
        !
        interface lo
         ip address 10.0.0.11/32
         ipv6 address 5000::11/128
         ipv6 router isis 1
        !
        interface eth-ce1
         ipv6 address fd00:10:0::11/64
        !
        interface eth-rt12
         ipv6 address 4000:101::11/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt21
         ipv6 address 4000:104::11/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        ipv6 route fd00:10::/32 fd00:10:0::100
        !
        ppr group PPR_IPV6
         ppr ipv6 6000:1::1/128 prefix 5000::11/128 metric 50
          pde ipv6-node 5000::14/128
          pde ipv6-node 5000::23/128
          pde ipv6-node 5000::22/128
          pde ipv6-node 5000::21/128
          pde ipv6-node 5000::11/128
         !
         ppr ipv6 6000:2::1/128 prefix 5000::14/128 metric 50
          pde ipv6-node 5000::11/128
          pde ipv6-node 5000::21/128
          pde ipv6-node 5000::22/128
          pde ipv6-node 5000::23/128
          pde ipv6-node 5000::14/128
         !
        !
        ppr group PPR_MPLS_1
         ppr mpls 500 prefix 5000::11/128
          pde prefix-sid 14
          pde prefix-sid 23
          pde prefix-sid 22
          pde prefix-sid 21
          pde prefix-sid 11
         !
         ppr mpls 501 prefix 5000::14/128
          pde prefix-sid 11
          pde prefix-sid 21
          pde prefix-sid 22
          pde prefix-sid 23
          pde prefix-sid 14
         !
        !
        ppr group PPR_MPLS_2
         ppr mpls 502 prefix 5000::11/128
          pde prefix-sid 14
          pde prefix-sid 23
          pde prefix-sid 34
          pde prefix-sid 33
          pde prefix-sid 41
          pde prefix-sid 32
          pde prefix-sid 31
          pde prefix-sid 21
          pde prefix-sid 11
         !
         ppr mpls 503 prefix 5000::14/128
          pde prefix-sid 11
          pde prefix-sid 21
          pde prefix-sid 31
          pde prefix-sid 32
          pde prefix-sid 41
          pde prefix-sid 33
          pde prefix-sid 34
          pde prefix-sid 23
          pde prefix-sid 14
         !
        !
        router isis 1
         net 49.0000.0000.0000.0011.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::11/128 index 11 no-php-flag
         ppr on
         ppr advertise PPR_IPV6
         ppr advertise PPR_MPLS_1
         ppr advertise PPR_MPLS_2
        !

  rt12:
    links:
      lo:
        mpls: yes
      eth-rt11:
        peer: [rt11, eth-rt12]
        mpls: yes
      eth-rt13:
        peer: [rt13, eth-rt12]
        mpls: yes
      eth-rt21:
        peer: [rt21, eth-rt12]
        mpls: yes
      eth-rt22:
        peer: [rt22, eth-rt12]
        mpls: yes
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.12/32
         ipv6 address 5000::12/128
         ipv6 router isis 1
        !
        interface eth-rt11
         ipv6 address 4000:101::12/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt13
         ipv6 address 4000:102::12/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt21
         ipv6 address 4000:105::12/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt22
         ipv6 address 4000:106::12/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0012.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::12/128 index 12 no-php-flag
         ppr on
        !

  rt13:
    links:
      lo:
        mpls: yes
      eth-rt12:
        peer: [rt12, eth-rt13]
        mpls: yes
      eth-rt14:
        peer: [rt14, eth-rt13]
        mpls: yes
      eth-rt22:
        peer: [rt22, eth-rt13]
        mpls: yes
      eth-rt23:
        peer: [rt23, eth-rt13]
        mpls: yes
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.13/32
         ipv6 address 5000::13/128
         ipv6 router isis 1
        !
        interface eth-rt12
         ipv6 address 4000:102::13/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt14
         ipv6 address 4000:103::13/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt22
         ipv6 address 4000:107::13/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt23
         ipv6 address 4000:108::13/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0013.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::13/128 index 13 no-php-flag
         ppr on
        !

  rt14:
    links:
      lo:
        mpls: yes
      lo-ppr:
      eth-ce2:
        peer: [ce2, eth-rt14]
        mpls: yes
      eth-rt13:
        peer: [rt13, eth-rt14]
        mpls: yes
      eth-rt23:
        peer: [rt23, eth-rt14]
        mpls: yes
    shell: |
      # GRE tunnel for preferred packets (PPR)
      ip -6 tunnel add tun-ppr mode ip6gre remote 6000:1::1 local 6000:2::1 ttl 64
      ip link set dev tun-ppr up
      # PBR rules
      ip -6 rule add from fd00:20:1::/64 to fd00:10:1::/64 iif eth-ce2 lookup 10000
      ip -6 route add default dev tun-ppr table 10000
    frr:
      zebra:
      staticd:
      isisd:
      config: |
        interface lo-ppr
         ipv6 address 6000:2::1/128
        !
        interface lo
         ip address 10.0.0.14/32
         ipv6 address 5000::14/128
         ipv6 router isis 1
        !
        interface eth-ce2
         ipv6 address fd00:20:0::14/64
        !
        interface eth-rt13
         ipv6 address 4000:103::14/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt23
         ipv6 address 4000:109::14/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        ipv6 route fd00:20::/32 fd00:20:0::100
        !
        router isis 1
         net 49.0000.0000.0000.0014.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::14/128 index 14 no-php-flag
         ppr on
        !

  rt21:
    links:
      lo:
        mpls: yes
      eth-rt11:
        peer: [rt11, eth-rt21]
        mpls: yes
      eth-rt12:
        peer: [rt12, eth-rt21]
        mpls: yes
      eth-rt22:
        peer: [rt22, eth-rt21]
        mpls: yes
      eth-rt31:
        peer: [rt31, eth-rt21]
        mpls: yes
      eth-rt32:
        peer: [rt32, eth-rt21]
        mpls: yes
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.21/32
         ipv6 address 5000::21/128
         ipv6 router isis 1
        !
        interface eth-rt11
         ipv6 address 4000:104::21/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt12
         ipv6 address 4000:105::21/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt22
         ipv6 address 4000:110::21/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt31
         ipv6 address 4000:112::21/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt32
         ipv6 address 4000:113::21/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0021.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::21/128 index 21 no-php-flag
         ppr on
        !

  rt22:
    links:
      lo:
        mpls: yes
      eth-rt12:
        peer: [rt12, eth-rt22]
        mpls: yes
      eth-rt13:
        peer: [rt13, eth-rt22]
        mpls: yes
      eth-rt21:
        peer: [rt21, eth-rt22]
        mpls: yes
      eth-rt23:
        peer: [rt23, eth-rt22]
        mpls: yes
      eth-rt32:
        peer: [rt32, eth-rt22]
        mpls: yes
      eth-rt33:
        mpls: yes
        peer: [rt33, eth-rt22]
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.22/32
         ipv6 address 5000::22/128
         ipv6 router isis 1
        !
        interface eth-rt12
         ipv6 address 4000:106::22/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt13
         ipv6 address 4000:107::22/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt21
         ipv6 address 4000:110::22/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt23
         ipv6 address 4000:111::22/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt32
         ipv6 address 4000:114::22/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt33
         ipv6 address 4000:115::22/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0022.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::22/128 index 22 no-php-flag
         ppr on
        !

  rt23:
    links:
      lo:
        mpls: yes
      eth-rt13:
        peer: [rt13, eth-rt23]
        mpls: yes
      eth-rt14:
        peer: [rt14, eth-rt23]
        mpls: yes
      eth-rt22:
        peer: [rt22, eth-rt23]
        mpls: yes
      eth-rt33:
        peer: [rt33, eth-rt23]
        mpls: yes
      eth-rt34:
        peer: [rt34, eth-rt23]
        mpls: yes
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.23/32
         ipv6 address 5000::23/128
         ipv6 router isis 1
        !
        interface eth-rt13
         ipv6 address 4000:108::23/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt14
         ipv6 address 4000:109::23/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt22
         ipv6 address 4000:111::23/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt33
         ipv6 address 4000:116::23/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt34
         ipv6 address 4000:117::23/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0023.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::23/128 index 23 no-php-flag
         ppr on
        !

  rt31:
    links:
      lo:
        mpls: yes
      eth-rt21:
        peer: [rt21, eth-rt31]
        mpls: yes
      eth-rt32:
        peer: [rt32, eth-rt31]
        mpls: yes
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.31/32
         ipv6 address 5000::31/128
         ipv6 router isis 1
        !
        interface eth-rt21
         ipv6 address 4000:112::31/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt32
         ipv6 address 4000:118::31/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0031.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::31/128 index 31 no-php-flag
         ppr on
        !

  rt32:
    links:
      lo:
        mpls: yes
      eth-rt21:
        peer: [rt21, eth-rt32]
        mpls: yes
      eth-rt22:
        peer: [rt22, eth-rt32]
        mpls: yes
      eth-rt31:
        peer: [rt31, eth-rt32]
        mpls: yes
      eth-rt33:
        peer: [rt33, eth-rt32]
        mpls: yes
      eth-sw1:
        peer: [sw1, eth-rt32]
        mpls: yes
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.32/32
         ipv6 address 5000::32/128
         ipv6 router isis 1
        !
        interface eth-rt21
         ipv6 address 4000:113::32/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt22
         ipv6 address 4000:114::32/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt31
         ipv6 address 4000:118::32/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt33
         ipv6 address 4000:119::32/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-sw1
         ipv6 address 4000:121::32/64
         ipv6 router isis 1
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0032.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::32/128 index 32 no-php-flag
         ppr on
        !

  rt33:
    links:
      lo:
        mpls: yes
      eth-rt22:
        peer: [rt22, eth-rt33]
        mpls: yes
      eth-rt23:
        peer: [rt23, eth-rt33]
        mpls: yes
      eth-rt32:
        peer: [rt32, eth-rt33]
        mpls: yes
      eth-rt34:
        peer: [rt34, eth-rt33]
        mpls: yes
      eth-sw1:
        peer: [sw1, eth-rt33]
        mpls: yes
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.33/32
         ipv6 address 5000::33/128
         ipv6 router isis 1
        !
        interface eth-rt22
         ipv6 address 4000:115::33/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt23
         ipv6 address 4000:116::33/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt32
         ipv6 address 4000:119::33/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt34
         ipv6 address 4000:120::33/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-sw1
         ipv6 address 4000:121::33/64
         ipv6 router isis 1
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0033.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::33/128 index 33 no-php-flag
         ppr on
        !

  rt34:
    links:
      lo:
        mpls: yes
      eth-rt23:
        peer: [rt23, eth-rt34]
        mpls: yes
      eth-rt33:
        peer: [rt33, eth-rt34]
        mpls: yes
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.34/32
         ipv6 address 5000::34/128
         ipv6 router isis 1
        !
        interface eth-rt23
         ipv6 address 4000:117::34/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        interface eth-rt33
         ipv6 address 4000:120::34/64
         ipv6 router isis 1
         isis network point-to-point
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0034.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::34/128 index 34 no-php-flag
         ppr on
        !

  rt41:
    links:
      lo:
        mpls: yes
      eth-sw1:
        peer: [sw1, eth-rt41]
        mpls: yes
    frr:
      zebra:
      isisd:
      config: |
        interface lo
         ip address 10.0.0.41/32
         ipv6 address 5000::41/128
         ipv6 router isis 1
        !
        interface eth-sw1
         ipv6 address 4000:121::41/64
         ipv6 router isis 1
         isis hello-multiplier 3
        !
        router isis 1
         net 49.0000.0000.0000.0041.00
         is-type level-1
         topology ipv6-unicast
         segment-routing on
         segment-routing prefix 5000::41/128 index 41 no-php-flag
         ppr on
        !

switches:
  sw1:
    links:
      eth-rt32:
        peer: [rt32, eth-sw1]
      eth-rt33:
        peer: [rt33, eth-sw1]
      eth-rt41:
        peer: [rt41, eth-sw1]

frr:
  #valgrind: yes
  base-config: |
    hostname %(node)
    password 1
    log file %(logdir)/%(node).log
    log commands
    !
    debug zebra rib
    debug isis sr-events
    debug isis ppr
    debug isis events
    debug isis route-events
    debug isis spf-events
    debug isis lsp-gen
    !

YANG

PPR can also be configured using NETCONF, RESTCONF and gRPC based on the following YANG models:

As an example, here's R11 configuration in the XML format:

<lib xmlns="http://frrouting.org/yang/interface">
  <interface>
    <name>lo-ppr</name>
    <vrf>default</vrf>
  </interface>
  <interface>
    <name>lo</name>
    <vrf>default</vrf>
    <isis xmlns="http://frrouting.org/yang/isisd">
      <area-tag>1</area-tag>
      <ipv6-routing>true</ipv6-routing>
    </isis>
  </interface>
  <interface>
    <name>eth-ce1</name>
    <vrf>default</vrf>
  </interface>
  <interface>
    <name>eth-rt12</name>
    <vrf>default</vrf>
    <isis xmlns="http://frrouting.org/yang/isisd">
      <area-tag>1</area-tag>
      <ipv6-routing>true</ipv6-routing>
      <hello>
        <multiplier>
          <level-1>3</level-1>
          <level-2>3</level-2>
        </multiplier>
      </hello>
      <network-type>point-to-point</network-type>
    </isis>
  </interface>
  <interface>
    <name>eth-rt21</name>
    <vrf>default</vrf>
    <isis xmlns="http://frrouting.org/yang/isisd">
      <area-tag>1</area-tag>
      <ipv6-routing>true</ipv6-routing>
      <hello>
        <multiplier>
          <level-1>3</level-1>
          <level-2>3</level-2>
        </multiplier>
      </hello>
      <network-type>point-to-point</network-type>
    </isis>
  </interface>
</lib>
<ppr xmlns="http://frrouting.org/yang/ppr">
  <group>                                    
    <name>PPR_IPV6</name>                    
    <ipv6>                                   
      <ppr-id>6000:1::1/128</ppr-id>        
      <ppr-prefix>5000::11/128</ppr-prefix>
      <ppr-pde>                              
        <pde-id>5000::14/128</pde-id>        
        <pde-id-type>ipv6-node</pde-id-type> 
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>5000::23/128</pde-id>
        <pde-id-type>ipv6-node</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>5000::22/128</pde-id>
        <pde-id-type>ipv6-node</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>5000::21/128</pde-id>
        <pde-id-type>ipv6-node</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>5000::11/128</pde-id>
        <pde-id-type>ipv6-node</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <attributes>
        <ppr-metric>50</ppr-metric>
      </attributes>
    </ipv6>
    <ipv6>
      <ppr-id>6000:2::1/128</ppr-id>
      <ppr-prefix>5000::14/128</ppr-prefix>
      <ppr-pde>
        <pde-id>5000::11/128</pde-id>
        <pde-id-type>ipv6-node</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>5000::21/128</pde-id>
        <pde-id-type>ipv6-node</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>5000::22/128</pde-id>
        <pde-id-type>ipv6-node</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>5000::23/128</pde-id>
        <pde-id-type>ipv6-node</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>5000::14/128</pde-id>
        <pde-id-type>ipv6-node</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <attributes>
        <ppr-metric>50</ppr-metric>
      </attributes>
    </ipv6>
  </group>
  <group>                                                                                                                                                                                                                                     
    <name>PPR_MPLS_1</name>                                                                                                                                                                                                                   
    <mpls>
      <ppr-id>500</ppr-id>
      <ppr-prefix>5000::11/128</ppr-prefix>
      <ppr-pde>
        <pde-id>14</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>23</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>22</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>21</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>11</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
    </mpls>
    <mpls>
      <ppr-id>501</ppr-id>
      <ppr-prefix>5000::14/128</ppr-prefix>
      <ppr-pde>
        <pde-id>11</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>21</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>22</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>23</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>14</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
    </mpls>
  </group>
  <group>
    <name>PPR_MPLS_2</name>
    <mpls>
      <ppr-id>502</ppr-id>
      <ppr-prefix>5000::11/128</ppr-prefix>
      <ppr-pde>
        <pde-id>14</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>23</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>34</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>33</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>41</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>32</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>31</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>21</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>11</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
    </mpls>
    <mpls>
      <ppr-id>503</ppr-id>
      <ppr-prefix>5000::14/128</ppr-prefix>
      <ppr-pde>
        <pde-id>11</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>21</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>31</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>32</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>41</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>33</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>34</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>23</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
      <ppr-pde>
        <pde-id>14</pde-id>
        <pde-id-type>prefix-sid</pde-id-type>
        <pde-type>topological</pde-type>
      </ppr-pde>
    </mpls>
  </group>
</ppr>
<isis xmlns="http://frrouting.org/yang/isisd">
  <instance>
    <area-tag>1</area-tag>
    <area-address>49.0000.0000.0000.0011.00</area-address>
    <multi-topology>
      <ipv6-unicast>
      </ipv6-unicast>
    </multi-topology>
    <segment-routing>
      <enabled>true</enabled>
      <prefix-sid-map>
        <prefix-sid>
          <prefix>5000::11/128</prefix>
          <sid-value>11</sid-value>
          <last-hop-behavior>no-php</last-hop-behavior>
        </prefix-sid>
      </prefix-sid-map>
    </segment-routing>
    <ppr>
      <enable>true</enable>
      <ppr-advertise>
        <name>PPR_IPV6</name>
      </ppr-advertise>
      <ppr-advertise>
        <name>PPR_MPLS_1</name>
      </ppr-advertise>
      <ppr-advertise>
        <name>PPR_MPLS_2</name>
      </ppr-advertise>
    </ppr>
  </instance>
</isis>

Verification - Control Plane

Verify that R11 has flooded the PPR TLVs correctly to all IS-IS routers:

# show isis database detail 0000.0000.0011
Area 1:
IS-IS Level-1 link-state database:
LSP ID                  PduLen  SeqNumber   Chksum  Holdtime  ATT/P/OL
debian.00-00         *    980   0x00000003  0x3b69     894    0/0/0
  Protocols Supported: IPv4, IPv6
  Area Address: 49.0000
  MT Router Info: ipv4-unicast
  MT Router Info: ipv6-unicast
  Hostname: debian
  TE Router ID: 10.0.0.11
  Router Capability: 10.0.0.11 , D:0, S:0
    Segment Routing: I:1 V:1, SRGB Base: 16000 Range: 8000
      Algorithm: 0: SPF 0: Strict SPF
  MT Reachability: 0000.0000.0012.00 (Metric: 10) ipv6-unicast
    Adjacency-SID: 16, Weight: 0, Flags: F:1 B:0, V:1, L:1, S:0, P:0
  MT Reachability: 0000.0000.0021.00 (Metric: 10) ipv6-unicast
    Adjacency-SID: 17, Weight: 0, Flags: F:1 B:0, V:1, L:1, S:0, P:0
  IPv4 Interface Address: 10.0.0.11
  Extended IP Reachability: 10.0.0.11/32 (Metric: 10)
  MT IPv6 Reachability: 5000::11/128 (Metric: 10) ipv6-unicast
    Subtlvs:
      SR Prefix-SID Index: 11, Algorithm: 0, Flags: NO-PHP
  MT IPv6 Reachability: 4000:101::/64 (Metric: 10) ipv6-unicast
  MT IPv6 Reachability: 4000:104::/64 (Metric: 10) ipv6-unicast
  PPR: Fragment ID: 0, MT-ID: ipv4-unicast, Algorithm: SPF, F:0 D:0 A:0 U:1
    PPR Prefix: 5000::11/128
    ID: 6000:1::1/128 (Native IPv6)
    PDE: 5000::14/128 (IPv6 Node Address), L:0 N:0 E:0
    PDE: 5000::23/128 (IPv6 Node Address), L:0 N:0 E:0
    PDE: 5000::22/128 (IPv6 Node Address), L:0 N:0 E:0
    PDE: 5000::21/128 (IPv6 Node Address), L:0 N:0 E:0
    PDE: 5000::11/128 (IPv6 Node Address), L:0 N:1 E:0
    Metric: 50
  PPR: Fragment ID: 0, MT-ID: ipv4-unicast, Algorithm: SPF, F:0 D:0 A:0 U:1
    PPR Prefix: 5000::14/128
    ID: 6000:2::1/128 (Native IPv6)
    PDE: 5000::11/128 (IPv6 Node Address), L:0 N:0 E:0
    PDE: 5000::21/128 (IPv6 Node Address), L:0 N:0 E:0
    PDE: 5000::22/128 (IPv6 Node Address), L:0 N:0 E:0
    PDE: 5000::23/128 (IPv6 Node Address), L:0 N:0 E:0
    PDE: 5000::14/128 (IPv6 Node Address), L:0 N:1 E:0
    Metric: 50
  PPR: Fragment ID: 0, MT-ID: ipv4-unicast, Algorithm: SPF, F:0 D:0 A:0 U:1
    PPR Prefix: 5000::11/128
    ID: 500 (MPLS)
    PDE: 14 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 23 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 22 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 21 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 11 (SR-MPLS Prefix SID), L:0 N:1 E:0
  PPR: Fragment ID: 0, MT-ID: ipv4-unicast, Algorithm: SPF, F:0 D:0 A:0 U:1
    PPR Prefix: 5000::14/128
    ID: 501 (MPLS)
    PDE: 11 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 21 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 22 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 23 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 14 (SR-MPLS Prefix SID), L:0 N:1 E:0
  PPR: Fragment ID: 0, MT-ID: ipv4-unicast, Algorithm: SPF, F:0 D:0 A:0 U:1
    PPR Prefix: 5000::11/128
    ID: 502 (MPLS)
    PDE: 14 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 23 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 34 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 33 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 41 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 32 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 31 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 21 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 11 (SR-MPLS Prefix SID), L:0 N:1 E:0
  PPR: Fragment ID: 0, MT-ID: ipv4-unicast, Algorithm: SPF, F:0 D:0 A:0 U:1
    PPR Prefix: 5000::14/128
    ID: 503 (MPLS)
    PDE: 11 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 21 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 31 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 32 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 41 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 33 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 34 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 23 (SR-MPLS Prefix SID), L:0 N:0 E:0
    PDE: 14 (SR-MPLS Prefix SID), L:0 N:1 E:0

Using the show isis ppr command, verify that all routers installed the PPR-IDs for the paths they are part of. Example:

Router RT11

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position  Status  Uptime    
 --------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Tail-End  Up      00:00:18  
 1     L1     501 (MPLS)                   5000::14/128  0       Head-End  Up      00:00:18  
 1     L1     502 (MPLS)                   5000::11/128  0       Tail-End  Up      00:00:18  
 1     L1     503 (MPLS)                   5000::14/128  0       Head-End  Up      00:00:18  
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Tail-End  -       -         
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Head-End  Up      00:00:18  

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::ecd7:ebff:fe8a:5128  implicit-null   
 17             SR (IS-IS)   fe80::c878:5bff:feff:e5b3  implicit-null   
 16011          SR (IS-IS)   lo                         -               
 16012          SR (IS-IS)   fe80::ecd7:ebff:fe8a:5128  16012           
 16013          SR (IS-IS)   fe80::ecd7:ebff:fe8a:5128  16013           
 16014          SR (IS-IS)   fe80::ecd7:ebff:fe8a:5128  16014           
 16021          SR (IS-IS)   fe80::c878:5bff:feff:e5b3  16021           
 16022          SR (IS-IS)   fe80::c878:5bff:feff:e5b3  16022           
 16022          SR (IS-IS)   fe80::ecd7:ebff:fe8a:5128  16022           
 16023          SR (IS-IS)   fe80::c878:5bff:feff:e5b3  16023           
 16023          SR (IS-IS)   fe80::ecd7:ebff:fe8a:5128  16023           
 16031          SR (IS-IS)   fe80::c878:5bff:feff:e5b3  16031           
 16032          SR (IS-IS)   fe80::c878:5bff:feff:e5b3  16032           
 16033          SR (IS-IS)   fe80::c878:5bff:feff:e5b3  16033           
 16033          SR (IS-IS)   fe80::ecd7:ebff:fe8a:5128  16033           
 16034          SR (IS-IS)   fe80::c878:5bff:feff:e5b3  16034           
 16034          SR (IS-IS)   fe80::ecd7:ebff:fe8a:5128  16034           
 16041          SR (IS-IS)   fe80::c878:5bff:feff:e5b3  16041           
 16500          PPR (IS-IS)  lo                         -               
 16501          PPR (IS-IS)  fe80::c878:5bff:feff:e5b3  16501           
 16502          PPR (IS-IS)  lo                         -               
 16503          PPR (IS-IS)  fe80::c878:5bff:feff:e5b3  16503           

# show ipv6 route 6000::/16 longer-prefixes isis
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
       v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

I>* 6000:2::1/128 [115/50] via fe80::c878:5bff:feff:e5b3, eth-rt21, 00:00:19

Router RT12

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position  Status  Uptime  
 ------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Off-Path  -       -       
 1     L1     501 (MPLS)                   5000::14/128  0       Off-Path  -       -       
 1     L1     502 (MPLS)                   5000::11/128  0       Off-Path  -       -       
 1     L1     503 (MPLS)                   5000::14/128  0       Off-Path  -       -       
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Off-Path  -       -       
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Off-Path  -       -       

# show mpls table
 Inbound Label  Type        Nexthop                    Outbound Label  
 ----------------------------------------------------------------------
 16             SR (IS-IS)  fe80::209d:d5ff:fe7c:6101  implicit-null   
 17             SR (IS-IS)  fe80::af:86ff:fed8:5bf1    implicit-null   
 18             SR (IS-IS)  fe80::4c2c:d7ff:feed:95a5  implicit-null   
 19             SR (IS-IS)  fe80::1cef:72ff:fe73:6c09  implicit-null   
 16011          SR (IS-IS)  fe80::209d:d5ff:fe7c:6101  16011           
 16012          SR (IS-IS)  lo                         -               
 16013          SR (IS-IS)  fe80::1cef:72ff:fe73:6c09  16013           
 16014          SR (IS-IS)  fe80::1cef:72ff:fe73:6c09  16014           
 16021          SR (IS-IS)  fe80::4c2c:d7ff:feed:95a5  16021           
 16022          SR (IS-IS)  fe80::af:86ff:fed8:5bf1    16022           
 16023          SR (IS-IS)  fe80::af:86ff:fed8:5bf1    16023           
 16023          SR (IS-IS)  fe80::1cef:72ff:fe73:6c09  16023           
 16031          SR (IS-IS)  fe80::4c2c:d7ff:feed:95a5  16031           
 16032          SR (IS-IS)  fe80::af:86ff:fed8:5bf1    16032           
 16032          SR (IS-IS)  fe80::4c2c:d7ff:feed:95a5  16032           
 16033          SR (IS-IS)  fe80::af:86ff:fed8:5bf1    16033           
 16034          SR (IS-IS)  fe80::af:86ff:fed8:5bf1    16034           
 16034          SR (IS-IS)  fe80::1cef:72ff:fe73:6c09  16034           
 16041          SR (IS-IS)  fe80::af:86ff:fed8:5bf1    16041           
 16041          SR (IS-IS)  fe80::4c2c:d7ff:feed:95a5  16041           

# show ipv6 route 6000::/16 longer-prefixes isis

Router RT13

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position  Status  Uptime  
 ------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Off-Path  -       -       
 1     L1     501 (MPLS)                   5000::14/128  0       Off-Path  -       -       
 1     L1     502 (MPLS)                   5000::11/128  0       Off-Path  -       -       
 1     L1     503 (MPLS)                   5000::14/128  0       Off-Path  -       -       
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Off-Path  -       -       
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Off-Path  -       -       

# show mpls table
 Inbound Label  Type        Nexthop                    Outbound Label  
 ----------------------------------------------------------------------
 16             SR (IS-IS)  fe80::e82d:25ff:fe87:3025  implicit-null   
 17             SR (IS-IS)  fe80::2c4a:79ff:fe48:718d  implicit-null   
 18             SR (IS-IS)  fe80::3ce2:87ff:fe73:8a62  implicit-null   
 19             SR (IS-IS)  fe80::589e:99ff:feb0:a121  implicit-null   
 16011          SR (IS-IS)  fe80::3ce2:87ff:fe73:8a62  16011           
 16012          SR (IS-IS)  fe80::3ce2:87ff:fe73:8a62  16012           
 16013          SR (IS-IS)  lo                         -               
 16014          SR (IS-IS)  fe80::2c4a:79ff:fe48:718d  16014           
 16021          SR (IS-IS)  fe80::589e:99ff:feb0:a121  16021           
 16021          SR (IS-IS)  fe80::3ce2:87ff:fe73:8a62  16021           
 16022          SR (IS-IS)  fe80::589e:99ff:feb0:a121  16022           
 16023          SR (IS-IS)  fe80::e82d:25ff:fe87:3025  16023           
 16031          SR (IS-IS)  fe80::589e:99ff:feb0:a121  16031           
 16031          SR (IS-IS)  fe80::3ce2:87ff:fe73:8a62  16031           
 16032          SR (IS-IS)  fe80::589e:99ff:feb0:a121  16032           
 16033          SR (IS-IS)  fe80::e82d:25ff:fe87:3025  16033           
 16033          SR (IS-IS)  fe80::589e:99ff:feb0:a121  16033           
 16034          SR (IS-IS)  fe80::e82d:25ff:fe87:3025  16034           
 16041          SR (IS-IS)  fe80::e82d:25ff:fe87:3025  16041           
 16041          SR (IS-IS)  fe80::589e:99ff:feb0:a121  16041           

# show ipv6 route 6000::/16 longer-prefixes isis

Router RT14

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position  Status  Uptime    
 --------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Head-End  Up      00:00:24  
 1     L1     501 (MPLS)                   5000::14/128  0       Tail-End  Up      00:00:24  
 1     L1     502 (MPLS)                   5000::11/128  0       Head-End  Up      00:00:24  
 1     L1     503 (MPLS)                   5000::14/128  0       Tail-End  Up      00:00:24  
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Head-End  Up      00:00:24  
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Tail-End  -       -         

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::2418:22ff:fecb:e5d1  implicit-null   
 17             SR (IS-IS)   fe80::48df:97ff:fef0:61a2  implicit-null   
 16011          SR (IS-IS)   fe80::2418:22ff:fecb:e5d1  16011           
 16012          SR (IS-IS)   fe80::2418:22ff:fecb:e5d1  16012           
 16013          SR (IS-IS)   fe80::2418:22ff:fecb:e5d1  16013           
 16014          SR (IS-IS)   lo                         -               
 16021          SR (IS-IS)   fe80::48df:97ff:fef0:61a2  16021           
 16021          SR (IS-IS)   fe80::2418:22ff:fecb:e5d1  16021           
 16022          SR (IS-IS)   fe80::48df:97ff:fef0:61a2  16022           
 16022          SR (IS-IS)   fe80::2418:22ff:fecb:e5d1  16022           
 16023          SR (IS-IS)   fe80::48df:97ff:fef0:61a2  16023           
 16031          SR (IS-IS)   fe80::48df:97ff:fef0:61a2  16031           
 16031          SR (IS-IS)   fe80::2418:22ff:fecb:e5d1  16031           
 16032          SR (IS-IS)   fe80::48df:97ff:fef0:61a2  16032           
 16032          SR (IS-IS)   fe80::2418:22ff:fecb:e5d1  16032           
 16033          SR (IS-IS)   fe80::48df:97ff:fef0:61a2  16033           
 16034          SR (IS-IS)   fe80::48df:97ff:fef0:61a2  16034           
 16041          SR (IS-IS)   fe80::48df:97ff:fef0:61a2  16041           
 16500          PPR (IS-IS)  fe80::48df:97ff:fef0:61a2  16500           
 16501          PPR (IS-IS)  lo                         -               
 16502          PPR (IS-IS)  fe80::48df:97ff:fef0:61a2  16502           
 16503          PPR (IS-IS)  lo                         -               

# show ipv6 route 6000::/16 longer-prefixes isis
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
       v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

I>* 6000:1::1/128 [115/50] via fe80::48df:97ff:fef0:61a2, eth-rt23, 00:00:24

Router RT21

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position   Status  Uptime    
 ---------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:26  
 1     L1     501 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:26  
 1     L1     502 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:26  
 1     L1     503 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:26  
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Mid-Point  Up      00:00:26  
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Mid-Point  Up      00:00:26  

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::a840:3aff:fed6:22f3  implicit-null   
 17             SR (IS-IS)   fe80::e4ba:e0ff:fe96:1a60  implicit-null   
 18             SR (IS-IS)   fe80::406c:96ff:fe4d:33bb  implicit-null   
 19             SR (IS-IS)   fe80::9866:52ff:fe27:e8d6  implicit-null   
 20             SR (IS-IS)   fe80::a447:f4ff:fedc:e862  implicit-null   
 16011          SR (IS-IS)   fe80::a840:3aff:fed6:22f3  16011           
 16012          SR (IS-IS)   fe80::e4ba:e0ff:fe96:1a60  16012           
 16013          SR (IS-IS)   fe80::406c:96ff:fe4d:33bb  16013           
 16013          SR (IS-IS)   fe80::e4ba:e0ff:fe96:1a60  16013           
 16014          SR (IS-IS)   fe80::406c:96ff:fe4d:33bb  16014           
 16014          SR (IS-IS)   fe80::e4ba:e0ff:fe96:1a60  16014           
 16021          SR (IS-IS)   lo                         -               
 16022          SR (IS-IS)   fe80::406c:96ff:fe4d:33bb  16022           
 16023          SR (IS-IS)   fe80::406c:96ff:fe4d:33bb  16023           
 16031          SR (IS-IS)   fe80::9866:52ff:fe27:e8d6  16031           
 16032          SR (IS-IS)   fe80::a447:f4ff:fedc:e862  16032           
 16033          SR (IS-IS)   fe80::a447:f4ff:fedc:e862  16033           
 16033          SR (IS-IS)   fe80::406c:96ff:fe4d:33bb  16033           
 16034          SR (IS-IS)   fe80::a447:f4ff:fedc:e862  16034           
 16034          SR (IS-IS)   fe80::406c:96ff:fe4d:33bb  16034           
 16041          SR (IS-IS)   fe80::a447:f4ff:fedc:e862  16041           
 16500          PPR (IS-IS)  fe80::a840:3aff:fed6:22f3  16500           
 16501          PPR (IS-IS)  fe80::406c:96ff:fe4d:33bb  16501           
 16502          PPR (IS-IS)  fe80::a840:3aff:fed6:22f3  16502           
 16503          PPR (IS-IS)  fe80::9866:52ff:fe27:e8d6  16503           

# show ipv6 route 6000::/16 longer-prefixes isis
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
       v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

I>* 6000:1::1/128 [115/50] via fe80::a840:3aff:fed6:22f3, eth-rt11, 00:00:26
I>* 6000:2::1/128 [115/50] via fe80::406c:96ff:fe4d:33bb, eth-rt22, 00:00:26

Router RT22

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position   Status  Uptime    
 ---------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:28  
 1     L1     501 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:28  
 1     L1     502 (MPLS)                   5000::11/128  0       Off-Path   -       -         
 1     L1     503 (MPLS)                   5000::14/128  0       Off-Path   -       -         
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Mid-Point  Up      00:00:28  
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Mid-Point  Up      00:00:28  

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::3c73:61ff:feaf:a892  implicit-null   
 17             SR (IS-IS)   fe80::7825:cbff:fe43:ada4  implicit-null   
 18             SR (IS-IS)   fe80::4aa:51ff:fecb:8490   implicit-null   
 19             SR (IS-IS)   fe80::865:c2ff:fe87:fccc   implicit-null   
 20             SR (IS-IS)   fe80::103e:2dff:feb8:2187  implicit-null   
 21             SR (IS-IS)   fe80::24fd:2cff:feed:7565  implicit-null   
 16011          SR (IS-IS)   fe80::7825:cbff:fe43:ada4  16011           
 16011          SR (IS-IS)   fe80::3c73:61ff:feaf:a892  16011           
 16012          SR (IS-IS)   fe80::3c73:61ff:feaf:a892  16012           
 16013          SR (IS-IS)   fe80::865:c2ff:fe87:fccc   16013           
 16014          SR (IS-IS)   fe80::103e:2dff:feb8:2187  16014           
 16014          SR (IS-IS)   fe80::865:c2ff:fe87:fccc   16014           
 16021          SR (IS-IS)   fe80::7825:cbff:fe43:ada4  16021           
 16022          SR (IS-IS)   lo                         -               
 16023          SR (IS-IS)   fe80::103e:2dff:feb8:2187  16023           
 16031          SR (IS-IS)   fe80::4aa:51ff:fecb:8490   16031           
 16031          SR (IS-IS)   fe80::7825:cbff:fe43:ada4  16031           
 16032          SR (IS-IS)   fe80::4aa:51ff:fecb:8490   16032           
 16033          SR (IS-IS)   fe80::24fd:2cff:feed:7565  16033           
 16034          SR (IS-IS)   fe80::24fd:2cff:feed:7565  16034           
 16034          SR (IS-IS)   fe80::103e:2dff:feb8:2187  16034           
 16041          SR (IS-IS)   fe80::24fd:2cff:feed:7565  16041           
 16041          SR (IS-IS)   fe80::4aa:51ff:fecb:8490   16041           
 16500          PPR (IS-IS)  fe80::7825:cbff:fe43:ada4  16500           
 16501          PPR (IS-IS)  fe80::103e:2dff:feb8:2187  16501           

# show ipv6 route 6000::/16 longer-prefixes isis
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
       v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

I>* 6000:1::1/128 [115/50] via fe80::7825:cbff:fe43:ada4, eth-rt21, 00:00:28
I>* 6000:2::1/128 [115/50] via fe80::103e:2dff:feb8:2187, eth-rt23, 00:00:28

Router RT23

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position   Status  Uptime    
 ---------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:29  
 1     L1     501 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:29  
 1     L1     502 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:29  
 1     L1     503 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:29  
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Mid-Point  Up      00:00:29  
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Mid-Point  Up      00:00:29  

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::dc27:a1ff:fe19:2238  implicit-null   
 17             SR (IS-IS)   fe80::78b5:80ff:fefd:a4e1  implicit-null   
 18             SR (IS-IS)   fe80::68b2:13ff:fe06:c4da  implicit-null   
 19             SR (IS-IS)   fe80::40aa:d0ff:fe82:3ca6  implicit-null   
 20             SR (IS-IS)   fe80::407f:11ff:fe56:94ee  implicit-null   
 16011          SR (IS-IS)   fe80::407f:11ff:fe56:94ee  16011           
 16011          SR (IS-IS)   fe80::dc27:a1ff:fe19:2238  16011           
 16012          SR (IS-IS)   fe80::407f:11ff:fe56:94ee  16012           
 16012          SR (IS-IS)   fe80::dc27:a1ff:fe19:2238  16012           
 16013          SR (IS-IS)   fe80::dc27:a1ff:fe19:2238  16013           
 16014          SR (IS-IS)   fe80::68b2:13ff:fe06:c4da  16014           
 16021          SR (IS-IS)   fe80::407f:11ff:fe56:94ee  16021           
 16022          SR (IS-IS)   fe80::407f:11ff:fe56:94ee  16022           
 16023          SR (IS-IS)   lo                         -               
 16031          SR (IS-IS)   fe80::78b5:80ff:fefd:a4e1  16031           
 16031          SR (IS-IS)   fe80::407f:11ff:fe56:94ee  16031           
 16032          SR (IS-IS)   fe80::78b5:80ff:fefd:a4e1  16032           
 16032          SR (IS-IS)   fe80::407f:11ff:fe56:94ee  16032           
 16033          SR (IS-IS)   fe80::78b5:80ff:fefd:a4e1  16033           
 16034          SR (IS-IS)   fe80::40aa:d0ff:fe82:3ca6  16034           
 16041          SR (IS-IS)   fe80::78b5:80ff:fefd:a4e1  16041           
 16500          PPR (IS-IS)  fe80::407f:11ff:fe56:94ee  16500           
 16501          PPR (IS-IS)  fe80::68b2:13ff:fe06:c4da  16501           
 16502          PPR (IS-IS)  fe80::40aa:d0ff:fe82:3ca6  16502           
 16503          PPR (IS-IS)  fe80::68b2:13ff:fe06:c4da  16503           

# show ipv6 route 6000::/16 longer-prefixes isis
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
       v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

I>* 6000:1::1/128 [115/50] via fe80::407f:11ff:fe56:94ee, eth-rt22, 00:00:30
I>* 6000:2::1/128 [115/50] via fe80::68b2:13ff:fe06:c4da, eth-rt14, 00:00:30

Router RT31

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position   Status  Uptime    
 ---------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Off-Path   -       -         
 1     L1     501 (MPLS)                   5000::14/128  0       Off-Path   -       -         
 1     L1     502 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:31  
 1     L1     503 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:31  
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Off-Path   -       -         
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Off-Path   -       -         

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::4c97:89ff:fe91:8da2  implicit-null   
 17             SR (IS-IS)   fe80::186c:d8ff:fe35:7858  implicit-null   
 16011          SR (IS-IS)   fe80::4c97:89ff:fe91:8da2  16011           
 16012          SR (IS-IS)   fe80::4c97:89ff:fe91:8da2  16012           
 16013          SR (IS-IS)   fe80::186c:d8ff:fe35:7858  16013           
 16013          SR (IS-IS)   fe80::4c97:89ff:fe91:8da2  16013           
 16014          SR (IS-IS)   fe80::186c:d8ff:fe35:7858  16014           
 16014          SR (IS-IS)   fe80::4c97:89ff:fe91:8da2  16014           
 16021          SR (IS-IS)   fe80::4c97:89ff:fe91:8da2  16021           
 16022          SR (IS-IS)   fe80::186c:d8ff:fe35:7858  16022           
 16022          SR (IS-IS)   fe80::4c97:89ff:fe91:8da2  16022           
 16023          SR (IS-IS)   fe80::186c:d8ff:fe35:7858  16023           
 16023          SR (IS-IS)   fe80::4c97:89ff:fe91:8da2  16023           
 16031          SR (IS-IS)   lo                         -               
 16032          SR (IS-IS)   fe80::186c:d8ff:fe35:7858  16032           
 16033          SR (IS-IS)   fe80::186c:d8ff:fe35:7858  16033           
 16034          SR (IS-IS)   fe80::186c:d8ff:fe35:7858  16034           
 16041          SR (IS-IS)   fe80::186c:d8ff:fe35:7858  16041           
 16502          PPR (IS-IS)  fe80::4c97:89ff:fe91:8da2  16502           
 16503          PPR (IS-IS)  fe80::186c:d8ff:fe35:7858  16503           

# show ipv6 route 6000::/16 longer-prefixes isis

Router RT32

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position   Status  Uptime    
 ---------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Off-Path   -       -         
 1     L1     501 (MPLS)                   5000::14/128  0       Off-Path   -       -         
 1     L1     502 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:33  
 1     L1     503 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:33  
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Off-Path   -       -         
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Off-Path   -       -         

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::74cf:69ff:fee5:8ac   implicit-null   
 17             SR (IS-IS)   fe80::80b2:f7ff:fe49:8915  implicit-null   
 18             SR (IS-IS)   fe80::c37:4fff:fe79:81a8   implicit-null   
 19             SR (IS-IS)   fe80::74d8:95ff:fe0f:ee20  implicit-null   
 20             SR (IS-IS)   fe80::6cce:30ff:fe91:81ac  implicit-null   
 21             SR (IS-IS)   fe80::fcbc:19ff:fed3:8827  implicit-null   
 16011          SR (IS-IS)   fe80::74cf:69ff:fee5:8ac   16011           
 16012          SR (IS-IS)   fe80::80b2:f7ff:fe49:8915  16012           
 16012          SR (IS-IS)   fe80::74cf:69ff:fee5:8ac   16012           
 16013          SR (IS-IS)   fe80::80b2:f7ff:fe49:8915  16013           
 16014          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16014           
 16014          SR (IS-IS)   fe80::fcbc:19ff:fed3:8827  16014           
 16014          SR (IS-IS)   fe80::80b2:f7ff:fe49:8915  16014           
 16021          SR (IS-IS)   fe80::74cf:69ff:fee5:8ac   16021           
 16022          SR (IS-IS)   fe80::80b2:f7ff:fe49:8915  16022           
 16023          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16023           
 16023          SR (IS-IS)   fe80::fcbc:19ff:fed3:8827  16023           
 16023          SR (IS-IS)   fe80::80b2:f7ff:fe49:8915  16023           
 16031          SR (IS-IS)   fe80::74d8:95ff:fe0f:ee20  16031           
 16032          SR (IS-IS)   lo                         -               
 16033          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16033           
 16033          SR (IS-IS)   fe80::fcbc:19ff:fed3:8827  16033           
 16034          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16034           
 16034          SR (IS-IS)   fe80::fcbc:19ff:fed3:8827  16034           
 16041          SR (IS-IS)   fe80::6cce:30ff:fe91:81ac  16041           
 16502          PPR (IS-IS)  fe80::74d8:95ff:fe0f:ee20  16502           
 16503          PPR (IS-IS)  fe80::6cce:30ff:fe91:81ac  16503           

# show ipv6 route 6000::/16 longer-prefixes isis

Router RT33

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position   Status  Uptime    
 ---------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Off-Path   -       -         
 1     L1     501 (MPLS)                   5000::14/128  0       Off-Path   -       -         
 1     L1     502 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:35  
 1     L1     503 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:35  
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Off-Path   -       -         
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Off-Path   -       -         

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::6c21:b1ff:feb6:7988  implicit-null   
 17             SR (IS-IS)   fe80::6cce:30ff:fe91:81ac  implicit-null   
 18             SR (IS-IS)   fe80::c69:d1ff:fe08:4bba   implicit-null   
 19             SR (IS-IS)   fe80::2cf0:1bff:fef9:70f2  implicit-null   
 20             SR (IS-IS)   fe80::ccde:bff:fee9:6d3a   implicit-null   
 21             SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  implicit-null   
 16011          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16011           
 16011          SR (IS-IS)   fe80::2cf0:1bff:fef9:70f2  16011           
 16011          SR (IS-IS)   fe80::ccde:bff:fee9:6d3a   16011           
 16012          SR (IS-IS)   fe80::ccde:bff:fee9:6d3a   16012           
 16013          SR (IS-IS)   fe80::6c21:b1ff:feb6:7988  16013           
 16013          SR (IS-IS)   fe80::ccde:bff:fee9:6d3a   16013           
 16014          SR (IS-IS)   fe80::6c21:b1ff:feb6:7988  16014           
 16021          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16021           
 16021          SR (IS-IS)   fe80::2cf0:1bff:fef9:70f2  16021           
 16021          SR (IS-IS)   fe80::ccde:bff:fee9:6d3a   16021           
 16022          SR (IS-IS)   fe80::ccde:bff:fee9:6d3a   16022           
 16023          SR (IS-IS)   fe80::6c21:b1ff:feb6:7988  16023           
 16031          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16031           
 16031          SR (IS-IS)   fe80::2cf0:1bff:fef9:70f2  16031           
 16032          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16032           
 16032          SR (IS-IS)   fe80::2cf0:1bff:fef9:70f2  16032           
 16033          SR (IS-IS)   lo                         -               
 16034          SR (IS-IS)   fe80::c69:d1ff:fe08:4bba   16034           
 16041          SR (IS-IS)   fe80::6cce:30ff:fe91:81ac  16041           
 16502          PPR (IS-IS)  fe80::6cce:30ff:fe91:81ac  16502           
 16503          PPR (IS-IS)  fe80::c69:d1ff:fe08:4bba   16503           

# show ipv6 route 6000::/16 longer-prefixes isis

Router RT34

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position   Status  Uptime    
 ---------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Off-Path   -       -         
 1     L1     501 (MPLS)                   5000::14/128  0       Off-Path   -       -         
 1     L1     502 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:37  
 1     L1     503 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:37  
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Off-Path   -       -         
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Off-Path   -       -         

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::acdf:89ff:fea3:c770  implicit-null   
 17             SR (IS-IS)   fe80::d0ec:41ff:fe9f:9f25  implicit-null   
 16011          SR (IS-IS)   fe80::d0ec:41ff:fe9f:9f25  16011           
 16011          SR (IS-IS)   fe80::acdf:89ff:fea3:c770  16011           
 16012          SR (IS-IS)   fe80::d0ec:41ff:fe9f:9f25  16012           
 16012          SR (IS-IS)   fe80::acdf:89ff:fea3:c770  16012           
 16013          SR (IS-IS)   fe80::acdf:89ff:fea3:c770  16013           
 16014          SR (IS-IS)   fe80::acdf:89ff:fea3:c770  16014           
 16021          SR (IS-IS)   fe80::d0ec:41ff:fe9f:9f25  16021           
 16021          SR (IS-IS)   fe80::acdf:89ff:fea3:c770  16021           
 16022          SR (IS-IS)   fe80::d0ec:41ff:fe9f:9f25  16022           
 16022          SR (IS-IS)   fe80::acdf:89ff:fea3:c770  16022           
 16023          SR (IS-IS)   fe80::acdf:89ff:fea3:c770  16023           
 16031          SR (IS-IS)   fe80::d0ec:41ff:fe9f:9f25  16031           
 16032          SR (IS-IS)   fe80::d0ec:41ff:fe9f:9f25  16032           
 16033          SR (IS-IS)   fe80::d0ec:41ff:fe9f:9f25  16033           
 16034          SR (IS-IS)   lo                         -               
 16041          SR (IS-IS)   fe80::d0ec:41ff:fe9f:9f25  16041           
 16502          PPR (IS-IS)  fe80::d0ec:41ff:fe9f:9f25  16502           
 16503          PPR (IS-IS)  fe80::acdf:89ff:fea3:c770  16503           

# show ipv6 route 6000::/16 longer-prefixes isis

Router RT41

# show isis ppr
 Area  Level  ID                           Prefix        Metric  Position   Status  Uptime    
 ---------------------------------------------------------------------------------------------
 1     L1     500 (MPLS)                   5000::11/128  0       Off-Path   -       -         
 1     L1     501 (MPLS)                   5000::14/128  0       Off-Path   -       -         
 1     L1     502 (MPLS)                   5000::11/128  0       Mid-Point  Up      00:00:39  
 1     L1     503 (MPLS)                   5000::14/128  0       Mid-Point  Up      00:00:39  
 1     L1     6000:1::1/128 (Native IPv6)  5000::11/128  50      Off-Path   -       -         
 1     L1     6000:2::1/128 (Native IPv6)  5000::14/128  50      Off-Path   -       -         

# show mpls table
 Inbound Label  Type         Nexthop                    Outbound Label  
 -----------------------------------------------------------------------
 16             SR (IS-IS)   fe80::c37:4fff:fe79:81a8   implicit-null   
 17             SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  implicit-null   
 16011          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16011           
 16012          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16012           
 16012          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16012           
 16013          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16013           
 16013          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16013           
 16014          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16014           
 16021          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16021           
 16022          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16022           
 16022          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16022           
 16023          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16023           
 16031          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16031           
 16032          SR (IS-IS)   fe80::683d:91ff:fe9f:7e69  16032           
 16033          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16033           
 16034          SR (IS-IS)   fe80::c37:4fff:fe79:81a8   16034           
 16041          SR (IS-IS)   lo                         -               
 16502          PPR (IS-IS)  fe80::683d:91ff:fe9f:7e69  16502           
 16503          PPR (IS-IS)  fe80::c37:4fff:fe79:81a8   16503           

# show ipv6 route 6000::/16 longer-prefixes isis

Verification - Forwarding Plane

Ping Host 3 from Host2 and use tcpdump or wireshark to verify that the ICMP packets are being tunneled using MPLS LSPs and following the {R11 - R21 - R22 - R23 - R14} path. Here's a wireshark capture between R11 and R21:

wireshark

Using traceroute it's also possible to see that the ICMP packets are being tunneled through the IS-IS network:

root@host2:~# traceroute -n fd00:20:1::1 -s fd00:10:2::1
traceroute to fd00:20:1::1 (fd00:20:1::1), 30 hops max, 80 byte packets
 1  fd00:10:2::100  1.996 ms  1.832 ms  1.725 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  fd00:20::100  0.154 ms  0.191 ms  0.116 ms
 9  fd00:20:1::1  0.125 ms  0.105 ms  0.104 ms