]> git.puffer.fish Git - matthieu/frr.git/commitdiff
tests: add topotest for IS-IS SR
authorRenato Westphal <renato@opensourcerouting.org>
Mon, 23 Sep 2019 12:38:04 +0000 (09:38 -0300)
committerOlivier Dugeon <olivier.dugeon@orange.com>
Thu, 30 Apr 2020 10:15:47 +0000 (12:15 +0200)
This commit introduces a comprehensive test for IS-IS Segment
Routing. It features the following network topology:

                         +---------+
                         |         |
                         |   RT1   |
                         | 1.1.1.1 |
                         |         |
                         +---------+
                              |eth-sw1
                              |
                              |
                              |
         +---------+          |          +---------+
         |         |          |          |         |
         |   RT2   |eth-sw1   |   eth-sw1|   RT3   |
         | 2.2.2.2 +----------+----------+ 3.3.3.3 |
         |         |     10.0.1.0/24     |         |
         +---------+                     +---------+
    eth-rt4-1|  |eth-rt4-2          eth-rt5-1|  |eth-rt5-2
             |  |                            |  |
  10.0.2.0/24|  |10.0.3.0/24      10.0.4.0/24|  |10.0.5.0/24
             |  |                            |  |
    eth-rt2-1|  |eth-rt2-2          eth-rt3-1|  |eth-rt3-2
         +---------+                     +---------+
         |         |                     |         |
         |   RT4   |     10.0.6.0/24     |   RT5   |
         | 4.4.4.4 +---------------------+ 5.5.5.5 |
         |         |eth-rt5       eth-rt4|         |
         +---------+                     +---------+
       eth-rt6|                                |eth-rt6
              |                                |
   10.0.7.0/24|                                |10.0.8.0/24
              |          +---------+           |
              |          |         |           |
              |          |   RT6   |           |
              +----------+ 6.6.6.6 +-----------+
                  eth-rt4|         |eth-rt5
                         +---------+

Each router has both an IPv4 and an IPv6 loopback address, each of
which has a corresponding Prefix-SID configured.

Basic SR functionality is tested. First, the topotest ensures that
all expected Prefix-SIDs and Adj-SIDs are flooded and installed
correctly in all routers of the network. Later, network failures
are simulated and configuration changes are performed in several
different routers. The topotest then checks if IS-IS has converged
as expected in the network according to the network failures and
configuration changes that happened.

The topotest comprises 11 different steps, each with four individual
tests (for a total of 44 tests). A summary of what each step does
is provided below:

---

STEP 1:
-Initial network convergence

---

Step 2:
Action(s):
-Disable IS-IS on the eth-rt5 interface on rt4

Expected changes:
-rt4 should uninstall the Adj-SIDs pointing to rt5
-rt5 should uninstall the Adj-SIDs pointing to rt4
-rt2 should reinstall rt5's Prefix-SIDs (2 nexthops deleted)
-rt3 should reinstall rt4's Prefix-SIDs (2 nexthops deleted)
-rt4 should reinstall rt3's Prefix-SIDs (1 nexthop deleted)
-rt4 should reinstall rt5's Prefix-SIDs (1 nexthop changed)
-rt5 should reinstall rt2's Prefix-SIDs (1 nexthop deleted)
-rt5 should reinstall rt4's Prefix-SIDs (1 nexthop changed)

---

Step 3:
Action(s):
-Shut down the eth-rt4 interface on rt6
-Shut down the eth-rt5 interface on rt6

Expected changes:
-All routers should uninstall rt6's Prefix-SIDs
-rt4 and rt5 should uninstall the Adj-SIDs pointing to rt6
-rt4 should reconverge rt5's Prefix-SIDs through rt2 using ECMP
-rt5 should reconverge rt4's Prefix-SIDs through rt3 using ECMP
-rt6 should uninstall all its IS-IS routes, Prefix-SIDs and Adj-SIDs

---

Step 4:
Action(s):
-Bring up the eth-rt4 interface on rt6
-Bring up the eth-rt5 interface on rt6
-Change rt6's SRGB

Expected changes:
-All routers should install rt6's Prefix-SIDs
-rt4 and rt5 should install Adj-SIDs for rt6
-rt4 should reconverge rt5's Prefix-SIDs through rt6 using the new SRGB
-rt5 should reconverge rt4's Prefix-SIDs through rt6 using the new SRGB
-rt6 should reinstall all IS-IS routes and Prefix-SIDs from the network,
and Adj-SIDs for rt4 and rt5

---

Step 5:
Action(s):
-Disable SR on rt6

Expected changes:
-All routers should uninstall rt6's Prefix-SIDs
-rt4 should uninstall rt5's Prefix-SIDs since the nexthop router hasn't
SR enabled anymore
-rt5 should uninstall rt4's Prefix-SIDs since the nexthop router hasn't
SR enabled anymore
-rt6 should uninstall all Prefix-SIDs from the network, and the Adj-SIDs
for rt4 and rt5

---

Step 6:
Action(s):
-Enable SR on rt6

Expected changes:
-All routers should install rt6's Prefix-SIDs
-rt4 should install rt5's Prefix-SIDs through rt6
-rt5 should install rt4's Prefix-SIDs through rt6
-rt6 should install all Prefix-SIDs from the network, and Adj-SIDs for
rt4 and rt5

---

Step 7:
Action(s):
-Delete rt1's Prefix-SIDs

Expected changes:
-All routers should uninstall rt1's Prefix-SIDs

---

Step 8:
Action(s):
-Re-add rt1's Prefix-SIDs

Expected changes:
-All routers should install rt1's Prefix-SIDs

---

Step 9:
Action(s):
-Change rt1's Prefix-SIDs to use the no-php option
-Change rt6's Prefix-SIDs to stop using the explicit-null option

Expected changes:
-rt2 and rt3 should reinstall rt1's Prefix-SIDs accordingly
-rt4 and rt5 should reinstall rt6's Prefix-SIDs accordingly

---

Step 10:
Action(s):
-Remove the IPv4 address from rt4's eth-rt2-1 interface

Expected changes:
-rt2 should uninstall the IPv4 Adj-SIDs attached to the eth-rt4-1
interface
-rt2 should reinstall all IPv4 Prefix-SIDs whose nexthop router is rt4
(ECMP shouldn't be used anymore)
-rt4 should reinstall all IPv4 Prefix-SIDs whose nexthop router is rt2
(ECMP shouldn't be used anymore)

---

Step 11:
Action(s):
-Restore the original network setup

Expected changes:
-All routes, Prefix-SIDs and Adj-SIDs should be the same as they were
after the initial network convergence (step 1)

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
254 files changed:
tests/topotests/isis-sr-topo1/__init__.py [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/isisd.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step1/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step1/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step1/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step10/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step10/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step10/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step10/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step2/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step2/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step2/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step2/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step3/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step3/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step3/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step3/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step4/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step4/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step4/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step4/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step5/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step5/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step5/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step5/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step6/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step6/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step6/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step6/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step7/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step7/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step7/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step7/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step8/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step8/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step8/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step8/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step9/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step9/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step9/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/step9/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt1/zebra.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/isisd.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step1/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step1/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step1/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step10/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step10/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step10/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step10/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step2/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step2/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step2/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step2/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step3/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step3/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step3/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step3/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step4/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step4/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step4/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step4/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step5/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step5/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step5/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step5/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step6/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step6/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step6/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step6/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step7/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step7/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step7/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step7/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step8/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step8/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step8/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step8/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step9/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step9/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step9/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/step9/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt2/zebra.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/isisd.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step1/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step1/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step1/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step10/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step10/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step10/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step10/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step2/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step2/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step2/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step2/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step3/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step3/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step3/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step3/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step4/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step4/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step4/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step4/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step5/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step5/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step5/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step5/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step6/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step6/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step6/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step6/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step7/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step7/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step7/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step7/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step8/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step8/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step8/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step8/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step9/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step9/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step9/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/step9/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt3/zebra.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/isisd.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step1/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step1/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step1/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step10/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step10/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step10/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step10/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step2/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step2/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step2/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step2/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step3/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step3/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step3/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step3/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step4/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step4/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step4/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step4/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step5/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step5/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step5/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step5/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step6/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step6/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step6/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step6/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step7/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step7/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step7/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step7/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step8/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step8/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step8/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step8/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step9/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step9/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step9/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/step9/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt4/zebra.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/isisd.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step1/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step1/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step1/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step10/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step10/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step10/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step10/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step2/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step2/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step2/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step2/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step3/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step3/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step3/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step3/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step4/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step4/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step4/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step4/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step5/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step5/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step5/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step5/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step6/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step6/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step6/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step6/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step7/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step7/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step7/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step7/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step8/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step8/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step8/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step8/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step9/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step9/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step9/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/step9/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt5/zebra.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/isisd.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step1/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step1/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step1/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step10/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step10/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step10/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step10/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step2/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step2/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step2/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step2/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step3/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step3/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step3/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step3/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step4/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step4/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step4/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step4/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step5/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step5/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step5/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step5/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step6/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step6/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step6/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step6/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step7/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step7/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step7/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step7/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step8/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step8/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step8/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step8/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step9/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step9/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step9/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/step9/show_yang_interface_isis_adjacencies.ref [new file with mode: 0644]
tests/topotests/isis-sr-topo1/rt6/zebra.conf [new file with mode: 0644]
tests/topotests/isis-sr-topo1/test_isis_sr_topo1.py [new file with mode: 0755]

diff --git a/tests/topotests/isis-sr-topo1/__init__.py b/tests/topotests/isis-sr-topo1/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/topotests/isis-sr-topo1/rt1/isisd.conf b/tests/topotests/isis-sr-topo1/rt1/isisd.conf
new file mode 100644 (file)
index 0000000..70ae1b0
--- /dev/null
@@ -0,0 +1,30 @@
+password 1
+hostname rt1
+log file isisd.log
+!
+debug isis events
+debug isis route-events
+debug isis spf-events
+debug isis sr-events
+debug isis lsp-gen
+!
+interface lo
+ ip router isis 1
+ ipv6 router isis 1
+ isis passive
+!
+interface eth-sw1
+ ip router isis 1
+ ipv6 router isis 1
+ isis hello-multiplier 3
+!
+router isis 1
+ net 49.0000.0000.0000.0001.00
+ is-type level-1
+ topology ipv6-unicast
+ segment-routing on
+ segment-routing global-block 16000 23999
+ segment-routing node-msd 8
+ segment-routing prefix 1.1.1.1/32 index 10
+ segment-routing prefix 2001:db8:1000::1/128 index 11
+!
diff --git a/tests/topotests/isis-sr-topo1/rt1/step1/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step1/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b4a590
--- /dev/null
@@ -0,0 +1,294 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step1/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step1/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c507688
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step1/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step1/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..773f5e3
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17060,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17061,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step10/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step10/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b34d5e
--- /dev/null
@@ -0,0 +1,287 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step10/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step10/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c507688
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step10/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step10/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..25a48c2
--- /dev/null
@@ -0,0 +1,156 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17060,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17061,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step10/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step10/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step2/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step2/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b34d5e
--- /dev/null
@@ -0,0 +1,287 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step2/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step2/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c507688
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step2/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step2/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..773f5e3
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17060,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17061,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step2/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step2/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step3/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step3/show_ip_route.ref
new file mode 100644 (file)
index 0000000..05a8498
--- /dev/null
@@ -0,0 +1,254 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step3/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step3/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..d50952c
--- /dev/null
@@ -0,0 +1,90 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step3/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step3/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..73f517a
--- /dev/null
@@ -0,0 +1,98 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step3/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step3/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step4/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step4/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b34d5e
--- /dev/null
@@ -0,0 +1,287 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step4/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step4/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c507688
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step4/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step4/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..ac39920
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17060,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17061,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step4/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step4/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step5/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step5/show_ip_route.ref
new file mode 100644 (file)
index 0000000..5921368
--- /dev/null
@@ -0,0 +1,281 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step5/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step5/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..cdfae28
--- /dev/null
@@ -0,0 +1,115 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step5/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step5/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..73f517a
--- /dev/null
@@ -0,0 +1,98 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step5/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step5/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step6/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step6/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b34d5e
--- /dev/null
@@ -0,0 +1,287 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step6/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step6/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c507688
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step6/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step6/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..773f5e3
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17060,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17061,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step6/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step6/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step7/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step7/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b34d5e
--- /dev/null
@@ -0,0 +1,287 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step7/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step7/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c507688
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step7/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step7/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..773f5e3
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17060,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17061,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step7/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step7/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step8/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step8/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b34d5e
--- /dev/null
@@ -0,0 +1,287 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step8/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step8/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c507688
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step8/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step8/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..773f5e3
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17060,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17061,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step8/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step8/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step9/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt1/step9/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b34d5e
--- /dev/null
@@ -0,0 +1,287 @@
+{
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step9/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt1/step9/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c507688
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step9/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt1/step9/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..25a48c2
--- /dev/null
@@ -0,0 +1,156 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17060,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17061,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/step9/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt1/step9/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..ce2d356
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt1/zebra.conf b/tests/topotests/isis-sr-topo1/rt1/zebra.conf
new file mode 100644 (file)
index 0000000..9d71d30
--- /dev/null
@@ -0,0 +1,19 @@
+log file zebra.log
+!
+hostname rt1
+!
+debug zebra kernel
+debug zebra packet
+debug zebra mpls
+!
+interface lo
+ ip address 1.1.1.1/32
+ ipv6 address 2001:db8:1000::1/128
+!
+interface eth-sw1
+ ip address 10.0.1.1/24
+!
+ip forwarding
+!
+line vty
+!
diff --git a/tests/topotests/isis-sr-topo1/rt2/isisd.conf b/tests/topotests/isis-sr-topo1/rt2/isisd.conf
new file mode 100644 (file)
index 0000000..733f26b
--- /dev/null
@@ -0,0 +1,41 @@
+hostname rt2
+log file isisd.log
+!
+debug isis events
+debug isis route-events
+debug isis spf-events
+debug isis sr-events
+debug isis lsp-gen
+!
+interface lo
+ ip router isis 1
+ ipv6 router isis 1
+ isis passive
+!
+interface eth-sw1
+ ip router isis 1
+ ipv6 router isis 1
+ isis hello-multiplier 3
+!
+interface eth-rt4-1
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+interface eth-rt4-2
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+router isis 1
+ net 49.0000.0000.0000.0002.00
+ is-type level-1
+ topology ipv6-unicast
+ segment-routing on
+ segment-routing global-block 16000 23999
+ segment-routing node-msd 8
+ segment-routing prefix 2.2.2.2/32 index 20 no-php-flag
+ segment-routing prefix 2001:db8:1000::2/128 index 21 no-php-flag
+!
diff --git a/tests/topotests/isis-sr-topo1/rt2/step1/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step1/show_ip_route.ref
new file mode 100644 (file)
index 0000000..be037ab
--- /dev/null
@@ -0,0 +1,347 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1"
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step1/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step1/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..a888198
--- /dev/null
@@ -0,0 +1,148 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step1/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step1/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..42fde2d
--- /dev/null
@@ -0,0 +1,192 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step10/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step10/show_ip_route.ref
new file mode 100644 (file)
index 0000000..33fbdba
--- /dev/null
@@ -0,0 +1,259 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step10/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step10/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..19837bc
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step10/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step10/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..29ec55a
--- /dev/null
@@ -0,0 +1,156 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step10/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step10/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step2/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step2/show_ip_route.ref
new file mode 100644 (file)
index 0000000..a110c51
--- /dev/null
@@ -0,0 +1,320 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1"
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step2/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step2/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..cb42689
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step2/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step2/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..118ec89
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step2/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step2/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step3/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step3/show_ip_route.ref
new file mode 100644 (file)
index 0000000..d31affe
--- /dev/null
@@ -0,0 +1,273 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1"
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step3/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step3/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..d92df19
--- /dev/null
@@ -0,0 +1,99 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step3/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step3/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..f1e18be
--- /dev/null
@@ -0,0 +1,132 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step3/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step3/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step4/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step4/show_ip_route.ref
new file mode 100644 (file)
index 0000000..a110c51
--- /dev/null
@@ -0,0 +1,320 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1"
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step4/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step4/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..cb42689
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step4/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step4/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..118ec89
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step4/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step4/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step5/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step5/show_ip_route.ref
new file mode 100644 (file)
index 0000000..f378e41
--- /dev/null
@@ -0,0 +1,314 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1"
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step5/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step5/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..d63e7ce
--- /dev/null
@@ -0,0 +1,124 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step5/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step5/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..f1e18be
--- /dev/null
@@ -0,0 +1,132 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step5/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step5/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step6/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step6/show_ip_route.ref
new file mode 100644 (file)
index 0000000..a110c51
--- /dev/null
@@ -0,0 +1,320 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1"
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step6/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step6/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..cb42689
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step6/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step6/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..118ec89
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step6/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step6/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step7/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step7/show_ip_route.ref
new file mode 100644 (file)
index 0000000..a9b086a
--- /dev/null
@@ -0,0 +1,317 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1"
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step7/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step7/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..1c61f91
--- /dev/null
@@ -0,0 +1,127 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step7/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step7/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..0f0d24b
--- /dev/null
@@ -0,0 +1,144 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step7/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step7/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step8/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step8/show_ip_route.ref
new file mode 100644 (file)
index 0000000..a110c51
--- /dev/null
@@ -0,0 +1,320 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1"
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step8/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step8/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..cb42689
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step8/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step8/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..118ec89
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step8/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step8/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step9/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt2/step9/show_ip_route.ref
new file mode 100644 (file)
index 0000000..2e4c202
--- /dev/null
@@ -0,0 +1,320 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1"
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.2.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step9/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt2/step9/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..19837bc
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            17051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step9/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt2/step9/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..7c910fc
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17050,
+        "installed":true,
+        "nexthop":"10.0.1.3"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17051,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.3.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.2.4"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt4-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/step9/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt2/step9/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..1e65fbf
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt2/zebra.conf b/tests/topotests/isis-sr-topo1/rt2/zebra.conf
new file mode 100644 (file)
index 0000000..dcb0686
--- /dev/null
@@ -0,0 +1,25 @@
+log file zebra.log
+!
+hostname rt2
+!
+debug zebra kernel
+debug zebra packet
+debug zebra mpls
+!
+interface lo
+ ip address 2.2.2.2/32
+ ipv6 address 2001:db8:1000::2/128
+!
+interface eth-sw1
+ ip address 10.0.1.2/24
+!
+interface eth-rt4-1
+ ip address 10.0.2.2/24
+!
+interface eth-rt4-2
+ ip address 10.0.3.2/24
+!
+ip forwarding
+!
+line vty
+!
diff --git a/tests/topotests/isis-sr-topo1/rt3/isisd.conf b/tests/topotests/isis-sr-topo1/rt3/isisd.conf
new file mode 100644 (file)
index 0000000..ceb982c
--- /dev/null
@@ -0,0 +1,41 @@
+hostname rt3
+log file isisd.log
+!
+debug isis events
+debug isis route-events
+debug isis spf-events
+debug isis sr-events
+debug isis lsp-gen
+!
+interface lo
+ ip router isis 1
+ ipv6 router isis 1
+ isis passive
+!
+interface eth-sw1
+ ip router isis 1
+ ipv6 router isis 1
+ isis hello-multiplier 3
+!
+interface eth-rt5-1
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+interface eth-rt5-2
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+router isis 1
+ net 49.0000.0000.0000.0003.00
+ is-type level-1
+ topology ipv6-unicast
+ segment-routing on
+ segment-routing global-block 17000 24999
+ segment-routing node-msd 8
+ segment-routing prefix 3.3.3.3/32 index 30 no-php-flag
+ segment-routing prefix 2001:db8:1000::3/128 index 31 no-php-flag
+!
diff --git a/tests/topotests/isis-sr-topo1/rt3/step1/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step1/show_ip_route.ref
new file mode 100644 (file)
index 0000000..8d4fbec
--- /dev/null
@@ -0,0 +1,347 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step1/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step1/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..4e4961e
--- /dev/null
@@ -0,0 +1,148 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step1/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step1/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..b7bdc3e
--- /dev/null
@@ -0,0 +1,192 @@
+{
+  "17010":{
+    "inLabel":17010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "17011":{
+    "inLabel":17011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  },
+  "17060":{
+    "inLabel":17060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17061":{
+    "inLabel":17061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step10/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step10/show_ip_route.ref
new file mode 100644 (file)
index 0000000..9522b14
--- /dev/null
@@ -0,0 +1,327 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step10/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step10/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..fb630bc
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step10/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step10/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..4aec3b6
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "17010":{
+    "inLabel":17010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "17011":{
+    "inLabel":17011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  },
+  "17060":{
+    "inLabel":17060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17061":{
+    "inLabel":17061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step10/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step10/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step2/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step2/show_ip_route.ref
new file mode 100644 (file)
index 0000000..46ebeb8
--- /dev/null
@@ -0,0 +1,327 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step2/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step2/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..b2c774d
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step2/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step2/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..a1e64af
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "17010":{
+    "inLabel":17010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "17011":{
+    "inLabel":17011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  },
+  "17060":{
+    "inLabel":17060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17061":{
+    "inLabel":17061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step2/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step2/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step3/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step3/show_ip_route.ref
new file mode 100644 (file)
index 0000000..738aa17
--- /dev/null
@@ -0,0 +1,280 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step3/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step3/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..b6423cd
--- /dev/null
@@ -0,0 +1,99 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step3/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step3/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..1a2b872
--- /dev/null
@@ -0,0 +1,132 @@
+{
+  "17010":{
+    "inLabel":17010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "17011":{
+    "inLabel":17011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step3/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step3/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step4/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step4/show_ip_route.ref
new file mode 100644 (file)
index 0000000..46ebeb8
--- /dev/null
@@ -0,0 +1,327 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step4/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step4/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..b2c774d
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step4/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step4/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..a1e64af
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "17010":{
+    "inLabel":17010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "17011":{
+    "inLabel":17011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  },
+  "17060":{
+    "inLabel":17060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17061":{
+    "inLabel":17061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step4/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step4/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step5/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step5/show_ip_route.ref
new file mode 100644 (file)
index 0000000..489b495
--- /dev/null
@@ -0,0 +1,321 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step5/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step5/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..46ee7ba
--- /dev/null
@@ -0,0 +1,124 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step5/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step5/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..1a2b872
--- /dev/null
@@ -0,0 +1,132 @@
+{
+  "17010":{
+    "inLabel":17010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "17011":{
+    "inLabel":17011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step5/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step5/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step6/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step6/show_ip_route.ref
new file mode 100644 (file)
index 0000000..46ebeb8
--- /dev/null
@@ -0,0 +1,327 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step6/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step6/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..b2c774d
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step6/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step6/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..a1e64af
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "17010":{
+    "inLabel":17010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "17011":{
+    "inLabel":17011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  },
+  "17060":{
+    "inLabel":17060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17061":{
+    "inLabel":17061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step6/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step6/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step7/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step7/show_ip_route.ref
new file mode 100644 (file)
index 0000000..1e8c27c
--- /dev/null
@@ -0,0 +1,324 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step7/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step7/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..d21700d
--- /dev/null
@@ -0,0 +1,127 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step7/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step7/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..e97e0d0
--- /dev/null
@@ -0,0 +1,144 @@
+{
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  },
+  "17060":{
+    "inLabel":17060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17061":{
+    "inLabel":17061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step7/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step7/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step8/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step8/show_ip_route.ref
new file mode 100644 (file)
index 0000000..46ebeb8
--- /dev/null
@@ -0,0 +1,327 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step8/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step8/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..b2c774d
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step8/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step8/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..a1e64af
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "17010":{
+    "inLabel":17010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "17011":{
+    "inLabel":17011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  },
+  "17060":{
+    "inLabel":17060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17061":{
+    "inLabel":17061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step8/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step8/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step9/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt3/step9/show_ip_route.ref
new file mode 100644 (file)
index 0000000..9522b14
--- /dev/null
@@ -0,0 +1,327 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16060
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.1.1",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        },
+        {
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1"
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1"
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.1.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-sw1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step9/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt3/step9/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..fb630bc
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-sw1",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-2",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5-1",
+          "active":true,
+          "labels":[
+            16061
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step9/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt3/step9/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..4aec3b6
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "17010":{
+    "inLabel":17010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.1.1"
+      }
+    ]
+  },
+  "17011":{
+    "inLabel":17011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17020":{
+    "inLabel":17020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17021":{
+    "inLabel":17021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17030":{
+    "inLabel":17030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17031":{
+    "inLabel":17031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "17040":{
+    "inLabel":17040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.1.2"
+      }
+    ]
+  },
+  "17041":{
+    "inLabel":17041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-sw1"
+      }
+    ]
+  },
+  "17050":{
+    "inLabel":17050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17051":{
+    "inLabel":17051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  },
+  "17060":{
+    "inLabel":17060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.5.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16060,
+        "installed":true,
+        "nexthop":"10.0.4.5"
+      }
+    ]
+  },
+  "17061":{
+    "inLabel":17061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16061,
+        "installed":true,
+        "interface":"eth-rt5-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/step9/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt3/step9/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..9c8a405
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt5-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-sw1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0001",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              },
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 2,
+                "hold-timer": 9,
+                "neighbor-priority": 64,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt3/zebra.conf b/tests/topotests/isis-sr-topo1/rt3/zebra.conf
new file mode 100644 (file)
index 0000000..3254529
--- /dev/null
@@ -0,0 +1,25 @@
+log file zebra.log
+!
+hostname rt3
+!
+debug zebra kernel
+debug zebra packet
+debug zebra mpls
+!
+interface lo
+ ip address 3.3.3.3/32
+ ipv6 address 2001:db8:1000::3/128
+!
+interface eth-sw1
+ ip address 10.0.1.3/24
+!
+interface eth-rt5-1
+ ip address 10.0.4.3/24
+!
+interface eth-rt5-2
+ ip address 10.0.5.3/24
+!
+ip forwarding
+!
+line vty
+!
diff --git a/tests/topotests/isis-sr-topo1/rt4/isisd.conf b/tests/topotests/isis-sr-topo1/rt4/isisd.conf
new file mode 100644 (file)
index 0000000..07a7867
--- /dev/null
@@ -0,0 +1,48 @@
+hostname rt4
+log file isisd.log
+!
+debug isis events
+debug isis route-events
+debug isis spf-events
+debug isis sr-events
+debug isis lsp-gen
+!
+interface lo
+ ip router isis 1
+ ipv6 router isis 1
+ isis passive
+!
+interface eth-rt2-1
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+interface eth-rt2-2
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+interface eth-rt5
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+interface eth-rt6
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+router isis 1
+ net 49.0000.0000.0000.0004.00
+ is-type level-1
+ topology ipv6-unicast
+ segment-routing on
+ segment-routing global-block 16000 23999
+ segment-routing node-msd 8
+ segment-routing prefix 4.4.4.4/32 index 40 no-php-flag
+ segment-routing prefix 2001:db8:1000::4/128 index 41 no-php-flag
+!
diff --git a/tests/topotests/isis-sr-topo1/rt4/step1/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step1/show_ip_route.ref
new file mode 100644 (file)
index 0000000..f06182b
--- /dev/null
@@ -0,0 +1,323 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.6.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.6.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1"
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.6.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.6.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.6.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.6.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step1/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step1/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..f5772f2
--- /dev/null
@@ -0,0 +1,148 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step1/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step1/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..b7fb69d
--- /dev/null
@@ -0,0 +1,192 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.6.5"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.6.5"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..5889349
--- /dev/null
@@ -0,0 +1,78 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step10/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step10/show_ip_route.ref
new file mode 100644 (file)
index 0000000..d7d4212
--- /dev/null
@@ -0,0 +1,277 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":30,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step10/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step10/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..235c1fa
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step10/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step10/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..86ceaf4
--- /dev/null
@@ -0,0 +1,162 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18050,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18051,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step10/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step10/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..d2fad65
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step2/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step2/show_ip_route.ref
new file mode 100644 (file)
index 0000000..4789f72
--- /dev/null
@@ -0,0 +1,335 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1"
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":30,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step2/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step2/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..871b303
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step2/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step2/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..ff83c37
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step2/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step2/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..d2fad65
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step3/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step3/show_ip_route.ref
new file mode 100644 (file)
index 0000000..d86562d
--- /dev/null
@@ -0,0 +1,306 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1"
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":40,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step3/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step3/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c09f584
--- /dev/null
@@ -0,0 +1,126 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step3/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step3/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..85c6c05
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step3/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step3/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..f7327f0
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step4/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step4/show_ip_route.ref
new file mode 100644 (file)
index 0000000..3c7dfda
--- /dev/null
@@ -0,0 +1,335 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1"
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":30,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step4/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step4/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..38b5182
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step4/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step4/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..4e5638f
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18050,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18051,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step4/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step4/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..d2fad65
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step5/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step5/show_ip_route.ref
new file mode 100644 (file)
index 0000000..90f69c0
--- /dev/null
@@ -0,0 +1,329 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1"
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":30,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step5/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step5/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..04056ed
--- /dev/null
@@ -0,0 +1,133 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step5/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step5/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..4df722b
--- /dev/null
@@ -0,0 +1,132 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step5/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step5/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..d2fad65
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step6/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step6/show_ip_route.ref
new file mode 100644 (file)
index 0000000..3c7dfda
--- /dev/null
@@ -0,0 +1,335 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1"
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":30,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step6/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step6/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..38b5182
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step6/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step6/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..4e5638f
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18050,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18051,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step6/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step6/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..d2fad65
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step7/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step7/show_ip_route.ref
new file mode 100644 (file)
index 0000000..a3ac4ac
--- /dev/null
@@ -0,0 +1,329 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1"
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":30,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step7/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step7/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c59abbd
--- /dev/null
@@ -0,0 +1,133 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step7/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step7/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..512c057
--- /dev/null
@@ -0,0 +1,144 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18050,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18051,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step7/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step7/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..d2fad65
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step8/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step8/show_ip_route.ref
new file mode 100644 (file)
index 0000000..3c7dfda
--- /dev/null
@@ -0,0 +1,335 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1"
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":30,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step8/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step8/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..38b5182
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step8/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step8/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..4e5638f
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18050,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18051,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step8/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step8/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..d2fad65
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step9/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt4/step9/show_ip_route.ref
new file mode 100644 (file)
index 0000000..73598e4
--- /dev/null
@@ -0,0 +1,335 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18050
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1"
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2"
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.2.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.3.2",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt2-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":30,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step9/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt4/step9/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..235c1fa
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-2",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt2-1",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18051
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step9/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt4/step9/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..5cdd99e
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.3.2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.2.2"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt2-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18050,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18051,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.7.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/step9/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt4/step9/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..d2fad65
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt2-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt2-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0002",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt4/zebra.conf b/tests/topotests/isis-sr-topo1/rt4/zebra.conf
new file mode 100644 (file)
index 0000000..4945897
--- /dev/null
@@ -0,0 +1,28 @@
+log file zebra.log
+!
+hostname rt4
+!
+debug zebra kernel
+debug zebra packet
+debug zebra mpls
+!
+interface lo
+ ip address 4.4.4.4/32
+ ipv6 address 2001:db8:1000::4/128
+!
+interface eth-rt2-1
+ ip address 10.0.2.4/24
+!
+interface eth-rt2-2
+ ip address 10.0.3.4/24
+!
+interface eth-rt5
+ ip address 10.0.6.4/24
+!
+interface eth-rt6
+ ip address 10.0.7.4/24
+!
+ip forwarding
+!
+line vty
+!
diff --git a/tests/topotests/isis-sr-topo1/rt5/isisd.conf b/tests/topotests/isis-sr-topo1/rt5/isisd.conf
new file mode 100644 (file)
index 0000000..b0fcded
--- /dev/null
@@ -0,0 +1,48 @@
+hostname rt5
+log file isisd.log
+!
+debug isis events
+debug isis route-events
+debug isis spf-events
+debug isis sr-events
+debug isis lsp-gen
+!
+interface lo
+ ip router isis 1
+ ipv6 router isis 1
+ isis passive
+!
+interface eth-rt3-1
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+interface eth-rt3-2
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+interface eth-rt4
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+interface eth-rt6
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+router isis 1
+ net 49.0000.0000.0000.0005.00
+ is-type level-1
+ topology ipv6-unicast
+ segment-routing on
+ segment-routing global-block 16000 23999
+ segment-routing node-msd 8
+ segment-routing prefix 5.5.5.5/32 index 50 no-php-flag
+ segment-routing prefix 2001:db8:1000::5/128 index 51 no-php-flag
+!
diff --git a/tests/topotests/isis-sr-topo1/rt5/step1/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step1/show_ip_route.ref
new file mode 100644 (file)
index 0000000..8eaf40f
--- /dev/null
@@ -0,0 +1,323 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.6.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.6.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.6.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.6.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.6.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.6.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step1/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step1/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..294567e
--- /dev/null
@@ -0,0 +1,148 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step1/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step1/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..9054c9c
--- /dev/null
@@ -0,0 +1,192 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.6.4"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.6.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..0342069
--- /dev/null
@@ -0,0 +1,78 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step10/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step10/show_ip_route.ref
new file mode 100644 (file)
index 0000000..a5a0bac
--- /dev/null
@@ -0,0 +1,312 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18040
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step10/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step10/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c02d3cf
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step10/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step10/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..e43ef66
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18040,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18041,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step10/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step10/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..3518cc1
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step2/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step2/show_ip_route.ref
new file mode 100644 (file)
index 0000000..101b811
--- /dev/null
@@ -0,0 +1,319 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step2/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step2/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..fa42631
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step2/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step2/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..660e319
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step2/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step2/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..3518cc1
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step3/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step3/show_ip_route.ref
new file mode 100644 (file)
index 0000000..dff6c5f
--- /dev/null
@@ -0,0 +1,284 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17040
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17040
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step3/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step3/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..a3e705f
--- /dev/null
@@ -0,0 +1,126 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17041
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17041
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step3/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step3/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..9df3fc9
--- /dev/null
@@ -0,0 +1,168 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17040,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17040,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17041,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17041,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step3/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step3/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..0466f31
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step4/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step4/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b29ff2
--- /dev/null
@@ -0,0 +1,319 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18040
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step4/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step4/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..e9f8fe2
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step4/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step4/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..4d13108
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18040,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18041,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step4/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step4/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..3518cc1
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step5/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step5/show_ip_route.ref
new file mode 100644 (file)
index 0000000..cadb674
--- /dev/null
@@ -0,0 +1,313 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step5/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step5/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..60c6450
--- /dev/null
@@ -0,0 +1,133 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step5/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step5/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..c603830
--- /dev/null
@@ -0,0 +1,132 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step5/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step5/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..3518cc1
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step6/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step6/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b29ff2
--- /dev/null
@@ -0,0 +1,319 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18040
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step6/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step6/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..e9f8fe2
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step6/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step6/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..4d13108
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18040,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18041,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step6/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step6/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..3518cc1
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step7/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step7/show_ip_route.ref
new file mode 100644 (file)
index 0000000..72b89cc
--- /dev/null
@@ -0,0 +1,313 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18040
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step7/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step7/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..e05cc1e
--- /dev/null
@@ -0,0 +1,133 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step7/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step7/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..2b1e67e
--- /dev/null
@@ -0,0 +1,144 @@
+{
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18040,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18041,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step7/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step7/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..3518cc1
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step8/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step8/show_ip_route.ref
new file mode 100644 (file)
index 0000000..6b29ff2
--- /dev/null
@@ -0,0 +1,319 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18040
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            0
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step8/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step8/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..e9f8fe2
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            2
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step8/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step8/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..4d13108
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18040,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18041,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":0,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":2,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step8/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step8/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..3518cc1
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step9/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt5/step9/show_ip_route.ref
new file mode 100644 (file)
index 0000000..cc37894
--- /dev/null
@@ -0,0 +1,319 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18040
+          ]
+        }
+      ]
+    }
+  ],
+  "6.6.6.6\/32":[
+    {
+      "prefix":"6.6.6.6\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1"
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.4.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-1",
+          "active":true
+        },
+        {
+          "ip":"10.0.5.3",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt3-2"
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.6",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt6"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step9/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt5/step9/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..c02d3cf
--- /dev/null
@@ -0,0 +1,139 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-2",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt3-1",
+          "active":true,
+          "labels":[
+            17031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            18041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::6\/128":[
+    {
+      "prefix":"2001:db8:1000::6\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt6",
+          "active":true,
+          "labels":[
+            3
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step9/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt5/step9/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..e43ef66
--- /dev/null
@@ -0,0 +1,180 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17010,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17011,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17020,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17021,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.5.3"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17030,
+        "installed":true,
+        "nexthop":"10.0.4.3"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-2"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":17031,
+        "installed":true,
+        "interface":"eth-rt3-1"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18040,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":18041,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true
+      }
+    ]
+  },
+  "16060":{
+    "inLabel":16060,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "nexthop":"10.0.8.6"
+      }
+    ]
+  },
+  "16061":{
+    "inLabel":16061,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":3,
+        "installed":true,
+        "interface":"eth-rt6"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/step9/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt5/step9/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..3518cc1
--- /dev/null
@@ -0,0 +1,60 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt3-1",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt3-2",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0003",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt6",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0006",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt5/zebra.conf b/tests/topotests/isis-sr-topo1/rt5/zebra.conf
new file mode 100644 (file)
index 0000000..4cfea1a
--- /dev/null
@@ -0,0 +1,28 @@
+log file zebra.log
+!
+hostname rt5
+!
+debug zebra kernel
+debug zebra packet
+debug zebra mpls
+!
+interface lo
+ ip address 5.5.5.5/32
+ ipv6 address 2001:db8:1000::5/128
+!
+interface eth-rt3-1
+ ip address 10.0.4.5/24
+!
+interface eth-rt3-2
+ ip address 10.0.5.5/24
+!
+interface eth-rt4
+ ip address 10.0.6.5/24
+!
+interface eth-rt6
+ ip address 10.0.8.5/24
+!
+ip forwarding
+!
+line vty
+!
diff --git a/tests/topotests/isis-sr-topo1/rt6/isisd.conf b/tests/topotests/isis-sr-topo1/rt6/isisd.conf
new file mode 100644 (file)
index 0000000..16c34df
--- /dev/null
@@ -0,0 +1,36 @@
+hostname rt6
+log file isisd.log
+!
+debug isis events
+debug isis route-events
+debug isis spf-events
+debug isis sr-events
+debug isis lsp-gen
+!
+interface lo
+ ip router isis 1
+ ipv6 router isis 1
+ isis passive
+!
+interface eth-rt4
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+interface eth-rt5
+ ip router isis 1
+ ipv6 router isis 1
+ isis network point-to-point
+ isis hello-multiplier 3
+!
+router isis 1
+ net 49.0000.0000.0000.0006.00
+ is-type level-1
+ topology ipv6-unicast
+ segment-routing on
+ segment-routing global-block 16000 23999
+ segment-routing node-msd 8
+ segment-routing prefix 6.6.6.6/32 index 60 explicit-null
+ segment-routing prefix 2001:db8:1000::6/128 index 61 explicit-null
+!
diff --git a/tests/topotests/isis-sr-topo1/rt6/step1/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step1/show_ip_route.ref
new file mode 100644 (file)
index 0000000..324b71f
--- /dev/null
@@ -0,0 +1,291 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step1/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step1/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..eee9dea
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step1/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step1/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..970251f
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..89ce0f6
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step10/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step10/show_ip_route.ref
new file mode 100644 (file)
index 0000000..9d0c331
--- /dev/null
@@ -0,0 +1,284 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step10/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step10/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..eee9dea
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step10/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step10/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..a79406b
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "18010":{
+    "inLabel":18010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18011":{
+    "inLabel":18011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18020":{
+    "inLabel":18020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18021":{
+    "inLabel":18021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18030":{
+    "inLabel":18030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18031":{
+    "inLabel":18031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "18040":{
+    "inLabel":18040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18041":{
+    "inLabel":18041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18050":{
+    "inLabel":18050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18051":{
+    "inLabel":18051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step10/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step10/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..89ce0f6
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step2/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step2/show_ip_route.ref
new file mode 100644 (file)
index 0000000..e4df0d8
--- /dev/null
@@ -0,0 +1,284 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step2/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step2/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..eee9dea
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step2/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step2/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..970251f
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "16010":{
+    "inLabel":16010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "16011":{
+    "inLabel":16011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt4"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "16020":{
+    "inLabel":16020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "16021":{
+    "inLabel":16021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "16030":{
+    "inLabel":16030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "16031":{
+    "inLabel":16031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "16040":{
+    "inLabel":16040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "16041":{
+    "inLabel":16041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "16050":{
+    "inLabel":16050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "16051":{
+    "inLabel":16051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step2/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step2/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..89ce0f6
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step3/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step3/show_ip_route.ref
new file mode 100644 (file)
index 0000000..2c63c08
--- /dev/null
@@ -0,0 +1,2 @@
+{
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step3/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step3/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..2c63c08
--- /dev/null
@@ -0,0 +1,2 @@
+{
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step3/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step3/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..2c63c08
--- /dev/null
@@ -0,0 +1,2 @@
+{
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step3/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step3/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..0db3279
--- /dev/null
@@ -0,0 +1,3 @@
+{
+
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step4/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step4/show_ip_route.ref
new file mode 100644 (file)
index 0000000..e4df0d8
--- /dev/null
@@ -0,0 +1,284 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step4/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step4/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..eee9dea
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step4/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step4/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..a79406b
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "18010":{
+    "inLabel":18010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18011":{
+    "inLabel":18011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18020":{
+    "inLabel":18020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18021":{
+    "inLabel":18021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18030":{
+    "inLabel":18030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18031":{
+    "inLabel":18031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "18040":{
+    "inLabel":18040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18041":{
+    "inLabel":18041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18050":{
+    "inLabel":18050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18051":{
+    "inLabel":18051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step4/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step4/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..89ce0f6
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step5/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step5/show_ip_route.ref
new file mode 100644 (file)
index 0000000..c200a9f
--- /dev/null
@@ -0,0 +1,266 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step5/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step5/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..2bf4b70
--- /dev/null
@@ -0,0 +1,103 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step5/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step5/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..2c63c08
--- /dev/null
@@ -0,0 +1,2 @@
+{
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step5/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step5/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..89ce0f6
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step6/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step6/show_ip_route.ref
new file mode 100644 (file)
index 0000000..e4df0d8
--- /dev/null
@@ -0,0 +1,284 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step6/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step6/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..eee9dea
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step6/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step6/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..a79406b
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "18010":{
+    "inLabel":18010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18011":{
+    "inLabel":18011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18020":{
+    "inLabel":18020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18021":{
+    "inLabel":18021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18030":{
+    "inLabel":18030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18031":{
+    "inLabel":18031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "18040":{
+    "inLabel":18040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18041":{
+    "inLabel":18041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18050":{
+    "inLabel":18050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18051":{
+    "inLabel":18051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step6/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step6/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..89ce0f6
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step7/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step7/show_ip_route.ref
new file mode 100644 (file)
index 0000000..b21e5db
--- /dev/null
@@ -0,0 +1,278 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step7/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step7/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..dfbb195
--- /dev/null
@@ -0,0 +1,115 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step7/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step7/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..43d771b
--- /dev/null
@@ -0,0 +1,98 @@
+{
+  "18020":{
+    "inLabel":18020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18021":{
+    "inLabel":18021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18030":{
+    "inLabel":18030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18031":{
+    "inLabel":18031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "18040":{
+    "inLabel":18040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18041":{
+    "inLabel":18041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18050":{
+    "inLabel":18050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18051":{
+    "inLabel":18051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step7/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step7/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..89ce0f6
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step8/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step8/show_ip_route.ref
new file mode 100644 (file)
index 0000000..e4df0d8
--- /dev/null
@@ -0,0 +1,284 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step8/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step8/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..eee9dea
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step8/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step8/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..a79406b
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "18010":{
+    "inLabel":18010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18011":{
+    "inLabel":18011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18020":{
+    "inLabel":18020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18021":{
+    "inLabel":18021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18030":{
+    "inLabel":18030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18031":{
+    "inLabel":18031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "18040":{
+    "inLabel":18040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18041":{
+    "inLabel":18041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18050":{
+    "inLabel":18050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18051":{
+    "inLabel":18051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step8/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step8/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..89ce0f6
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step9/show_ip_route.ref b/tests/topotests/isis-sr-topo1/rt6/step9/show_ip_route.ref
new file mode 100644 (file)
index 0000000..e4df0d8
--- /dev/null
@@ -0,0 +1,284 @@
+{
+  "1.1.1.1\/32":[
+    {
+      "prefix":"1.1.1.1\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16010
+          ]
+        }
+      ]
+    }
+  ],
+  "2.2.2.2\/32":[
+    {
+      "prefix":"2.2.2.2\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16020
+          ]
+        }
+      ]
+    }
+  ],
+  "3.3.3.3\/32":[
+    {
+      "prefix":"3.3.3.3\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16030
+          ]
+        }
+      ]
+    }
+  ],
+  "4.4.4.4\/32":[
+    {
+      "prefix":"4.4.4.4\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16040
+          ]
+        }
+      ]
+    }
+  ],
+  "5.5.5.5\/32":[
+    {
+      "prefix":"5.5.5.5\/32",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16050
+          ]
+        }
+      ]
+    }
+  ],
+  "10.0.1.0\/24":[
+    {
+      "prefix":"10.0.1.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        },
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.2.0\/24":[
+    {
+      "prefix":"10.0.2.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.3.0\/24":[
+    {
+      "prefix":"10.0.3.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.4.0\/24":[
+    {
+      "prefix":"10.0.4.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.5.0\/24":[
+    {
+      "prefix":"10.0.5.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.6.0\/24":[
+    {
+      "prefix":"10.0.6.0\/24",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5",
+          "active":true
+        }
+      ]
+    }
+  ],
+  "10.0.7.0\/24":[
+    {
+      "prefix":"10.0.7.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.7.4",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt4"
+        }
+      ]
+    }
+  ],
+  "10.0.8.0\/24":[
+    {
+      "prefix":"10.0.8.0\/24",
+      "protocol":"isis",
+      "distance":115,
+      "metric":20,
+      "nexthops":[
+        {
+          "ip":"10.0.8.5",
+          "afi":"ipv4",
+          "interfaceName":"eth-rt5"
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step9/show_ipv6_route.ref b/tests/topotests/isis-sr-topo1/rt6/step9/show_ipv6_route.ref
new file mode 100644 (file)
index 0000000..eee9dea
--- /dev/null
@@ -0,0 +1,121 @@
+{
+  "2001:db8:1000::1\/128":[
+    {
+      "prefix":"2001:db8:1000::1\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":40,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        },
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16011
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::2\/128":[
+    {
+      "prefix":"2001:db8:1000::2\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16021
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::3\/128":[
+    {
+      "prefix":"2001:db8:1000::3\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":30,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16031
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::4\/128":[
+    {
+      "prefix":"2001:db8:1000::4\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt4",
+          "active":true,
+          "labels":[
+            16041
+          ]
+        }
+      ]
+    }
+  ],
+  "2001:db8:1000::5\/128":[
+    {
+      "prefix":"2001:db8:1000::5\/128",
+      "protocol":"isis",
+      "selected":true,
+      "destSelected":true,
+      "distance":115,
+      "metric":20,
+      "installed":true,
+      "nexthops":[
+        {
+          "fib":true,
+          "afi":"ipv6",
+          "interfaceName":"eth-rt5",
+          "active":true,
+          "labels":[
+            16051
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step9/show_mpls_table.ref b/tests/topotests/isis-sr-topo1/rt6/step9/show_mpls_table.ref
new file mode 100644 (file)
index 0000000..a79406b
--- /dev/null
@@ -0,0 +1,134 @@
+{
+  "18010":{
+    "inLabel":18010,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16010,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18011":{
+    "inLabel":18011,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt5"
+      },
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16011,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18020":{
+    "inLabel":18020,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16020,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18021":{
+    "inLabel":18021,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16021,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18030":{
+    "inLabel":18030,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16030,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18031":{
+    "inLabel":18031,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16031,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  },
+  "18040":{
+    "inLabel":18040,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16040,
+        "installed":true,
+        "nexthop":"10.0.7.4"
+      }
+    ]
+  },
+  "18041":{
+    "inLabel":18041,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16041,
+        "installed":true,
+        "interface":"eth-rt4"
+      }
+    ]
+  },
+  "18050":{
+    "inLabel":18050,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16050,
+        "installed":true,
+        "nexthop":"10.0.8.5"
+      }
+    ]
+  },
+  "18051":{
+    "inLabel":18051,
+    "installed":true,
+    "nexthops":[
+      {
+        "type":"SR (IS-IS)",
+        "outLabel":16051,
+        "installed":true,
+        "interface":"eth-rt5"
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/step9/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-sr-topo1/rt6/step9/show_yang_interface_isis_adjacencies.ref
new file mode 100644 (file)
index 0000000..89ce0f6
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "frr-interface:lib": {
+    "interface": [
+      {
+        "name": "eth-rt4",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0004",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      },
+      {
+        "name": "eth-rt5",
+        "vrf": "default",
+        "frr-isisd:isis": {
+          "adjacencies": {
+            "adjacency": [
+              {
+                "neighbor-sys-type": "level-1",
+                "neighbor-sysid": "0000.0000.0005",
+                "neighbor-extended-circuit-id": 0,
+                "hold-timer": 9,
+                "neighbor-priority": 0,
+                "state": "up"
+              }
+            ]
+          }
+        }
+      }
+    ]
+  }
+}
diff --git a/tests/topotests/isis-sr-topo1/rt6/zebra.conf b/tests/topotests/isis-sr-topo1/rt6/zebra.conf
new file mode 100644 (file)
index 0000000..6084010
--- /dev/null
@@ -0,0 +1,22 @@
+log file zebra.log
+!
+hostname rt6
+!
+debug zebra kernel
+debug zebra packet
+debug zebra mpls
+!
+interface lo
+ ip address 6.6.6.6/32
+ ipv6 address 2001:db8:1000::6/128
+!
+interface eth-rt4
+ ip address 10.0.7.6/24
+!
+interface eth-rt5
+ ip address 10.0.8.6/24
+!
+ip forwarding
+!
+line vty
+!
diff --git a/tests/topotests/isis-sr-topo1/test_isis_sr_topo1.py b/tests/topotests/isis-sr-topo1/test_isis_sr_topo1.py
new file mode 100755 (executable)
index 0000000..72bc96e
--- /dev/null
@@ -0,0 +1,915 @@
+#!/usr/bin/env python
+
+#
+# test_isis_sr_topo1.py
+# Part of NetDEF Topology Tests
+#
+# Copyright (c) 2019 by
+# Network Device Education Foundation, Inc. ("NetDEF")
+#
+# Permission to use, copy, modify, and/or distribute this software
+# for any purpose with or without fee is hereby granted, provided
+# that the above copyright notice and this permission notice appear
+# in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND NETDEF DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NETDEF BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
+# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+# OF THIS SOFTWARE.
+#
+
+"""
+test_isis_sr_topo1.py:
+
+                         +---------+
+                         |         |
+                         |   RT1   |
+                         | 1.1.1.1 |
+                         |         |
+                         +---------+
+                              |eth-sw1
+                              |
+                              |
+                              |
+         +---------+          |          +---------+
+         |         |          |          |         |
+         |   RT2   |eth-sw1   |   eth-sw1|   RT3   |
+         | 2.2.2.2 +----------+----------+ 3.3.3.3 |
+         |         |     10.0.1.0/24     |         |
+         +---------+                     +---------+
+    eth-rt4-1|  |eth-rt4-2          eth-rt5-1|  |eth-rt5-2
+             |  |                            |  |
+  10.0.2.0/24|  |10.0.3.0/24      10.0.4.0/24|  |10.0.5.0/24
+             |  |                            |  |
+    eth-rt2-1|  |eth-rt2-2          eth-rt3-1|  |eth-rt3-2
+         +---------+                     +---------+
+         |         |                     |         |
+         |   RT4   |     10.0.6.0/24     |   RT5   |
+         | 4.4.4.4 +---------------------+ 5.5.5.5 |
+         |         |eth-rt5       eth-rt4|         |
+         +---------+                     +---------+
+       eth-rt6|                                |eth-rt6
+              |                                |
+   10.0.7.0/24|                                |10.0.8.0/24
+              |          +---------+           |
+              |          |         |           |
+              |          |   RT6   |           |
+              +----------+ 6.6.6.6 +-----------+
+                  eth-rt4|         |eth-rt5
+                         +---------+
+"""
+
+import os
+import sys
+import pytest
+import json
+import re
+from time import sleep
+from functools import partial
+
+# Save the Current Working Directory to find configuration files.
+CWD = os.path.dirname(os.path.realpath(__file__))
+sys.path.append(os.path.join(CWD, '../'))
+
+# pylint: disable=C0413
+# Import topogen and topotest helpers
+from lib import topotest
+from lib.topogen import Topogen, TopoRouter, get_topogen
+from lib.topolog import logger
+
+# Required to instantiate the topology builder class.
+from mininet.topo import Topo
+
+class TemplateTopo(Topo):
+    "Test topology builder"
+    def build(self, *_args, **_opts):
+        "Build function"
+        tgen = get_topogen(self)
+
+        #
+        # Define FRR Routers
+        #
+        for router in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+            tgen.add_router(router)
+
+        #
+        # Define connections
+        #
+        switch = tgen.add_switch('s1')
+        switch.add_link(tgen.gears['rt1'], nodeif="eth-sw1")
+        switch.add_link(tgen.gears['rt2'], nodeif="eth-sw1")
+        switch.add_link(tgen.gears['rt3'], nodeif="eth-sw1")
+
+        switch = tgen.add_switch('s2')
+        switch.add_link(tgen.gears['rt2'], nodeif="eth-rt4-1")
+        switch.add_link(tgen.gears['rt4'], nodeif="eth-rt2-1")
+
+        switch = tgen.add_switch('s3')
+        switch.add_link(tgen.gears['rt2'], nodeif="eth-rt4-2")
+        switch.add_link(tgen.gears['rt4'], nodeif="eth-rt2-2")
+
+        switch = tgen.add_switch('s4')
+        switch.add_link(tgen.gears['rt3'], nodeif="eth-rt5-1")
+        switch.add_link(tgen.gears['rt5'], nodeif="eth-rt3-1")
+
+        switch = tgen.add_switch('s5')
+        switch.add_link(tgen.gears['rt3'], nodeif="eth-rt5-2")
+        switch.add_link(tgen.gears['rt5'], nodeif="eth-rt3-2")
+
+        switch = tgen.add_switch('s6')
+        switch.add_link(tgen.gears['rt4'], nodeif="eth-rt5")
+        switch.add_link(tgen.gears['rt5'], nodeif="eth-rt4")
+
+        switch = tgen.add_switch('s7')
+        switch.add_link(tgen.gears['rt4'], nodeif="eth-rt6")
+        switch.add_link(tgen.gears['rt6'], nodeif="eth-rt4")
+
+        switch = tgen.add_switch('s8')
+        switch.add_link(tgen.gears['rt5'], nodeif="eth-rt6")
+        switch.add_link(tgen.gears['rt6'], nodeif="eth-rt5")
+
+def setup_module(mod):
+    "Sets up the pytest environment"
+    tgen = Topogen(TemplateTopo, mod.__name__)
+    tgen.start_topology()
+
+    router_list = tgen.routers()
+
+    # For all registered routers, load the zebra configuration file
+    for rname, router in router_list.iteritems():
+        router.load_config(
+            TopoRouter.RD_ZEBRA,
+            os.path.join(CWD, '{}/zebra.conf'.format(rname))
+        )
+        router.load_config(
+            TopoRouter.RD_ISIS,
+            os.path.join(CWD, '{}/isisd.conf'.format(rname))
+        )
+
+    tgen.start_router()
+
+def teardown_module(mod):
+    "Teardown the pytest environment"
+    tgen = get_topogen()
+
+    # This function tears down the whole topology.
+    tgen.stop_topology()
+
+def router_compare_json_output(rname, command, reference):
+    "Compare router JSON output"
+
+    logger.info('Comparing router "%s" "%s" output', rname, command)
+
+    tgen = get_topogen()
+    filename = '{}/{}/{}'.format(CWD, rname, reference)
+    expected = json.loads(open(filename).read())
+
+    # Run test function until we get an result. Wait at most 60 seconds.
+    test_func = partial(topotest.router_json_cmp,
+        tgen.gears[rname], command, expected)
+    _, diff = topotest.run_and_expect(test_func, None, count=120, wait=0.5)
+    assertmsg = '"{}" JSON output mismatches the expected result'.format(rname)
+    assert diff is None, assertmsg
+
+#
+# Step 1
+#
+# Test initial network convergence
+#
+def test_isis_adjacencies_step1():
+    logger.info("Test (step 1): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step1/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step1():
+    logger.info("Test (step 1): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step1/show_ip_route.ref")
+
+def test_rib_ipv6_step1():
+    logger.info("Test (step 1): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step1/show_ipv6_route.ref")
+
+def test_mpls_lib_step1():
+    logger.info("Test (step 1): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step1/show_mpls_table.ref")
+
+#
+# Step 2
+#
+# Action(s):
+# -Disable IS-IS on the eth-rt5 interface on rt4
+#
+# Expected changes:
+# -rt4 should uninstall the Adj-SIDs pointing to rt5
+# -rt5 should uninstall the Adj-SIDs pointing to rt4
+# -rt2 should reinstall rt5's Prefix-SIDs (2 nexthops deleted)
+# -rt3 should reinstall rt4's Prefix-SIDs (2 nexthops deleted)
+# -rt4 should reinstall rt3's Prefix-SIDs (1 nexthop deleted)
+# -rt4 should reinstall rt5's Prefix-SIDs (1 nexthop changed)
+# -rt5 should reinstall rt2's Prefix-SIDs (1 nexthop deleted)
+# -rt5 should reinstall rt4's Prefix-SIDs (1 nexthop changed)
+#
+def test_isis_adjacencies_step2():
+    logger.info("Test (step 2): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Disabling IS-IS on the eth-rt5 interface on rt4')
+    tgen.net['rt4'].cmd('vtysh -c "conf t" -c "interface eth-rt5" -c "no ip router isis 1"')
+    tgen.net['rt4'].cmd('vtysh -c "conf t" -c "interface eth-rt5" -c "no ipv6 router isis 1"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step2/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step2():
+    logger.info("Test (step 2): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step2/show_ip_route.ref")
+
+def test_rib_ipv6_step2():
+    logger.info("Test (step 2): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step2/show_ipv6_route.ref")
+
+def test_mpls_lib_step2():
+    logger.info("Test (step 2): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step2/show_mpls_table.ref")
+
+#
+# Step 3
+#
+# Action(s):
+# -Shut down the eth-rt4 interface on rt6
+# -Shut down the eth-rt5 interface on rt6
+#
+# Expected changes:
+# -All routers should uninstall rt6's Prefix-SIDs
+# -rt4 and rt5 should uninstall the Adj-SIDs pointing to rt6
+# -rt4 should reconverge rt5's Prefix-SIDs through rt2 using ECMP
+# -rt5 should reconverge rt4's Prefix-SIDs through rt3 using ECMP
+# -rt6 should uninstall all its IS-IS routes, Prefix-SIDs and Adj-SIDs
+#
+def test_isis_adjacencies_step3():
+    logger.info("Test (step 3): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Shutting down the eth-rt4 interface on rt6')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "interface eth-rt4" -c "shutdown"')
+    logger.info('Shutting down the eth-rt5 interface on rt6')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "interface eth-rt5" -c "shutdown"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step3/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step3():
+    logger.info("Test (step 3): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step3/show_ip_route.ref")
+
+def test_rib_ipv6_step3():
+    logger.info("Test (step 3): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step3/show_ipv6_route.ref")
+
+def test_mpls_lib_step3():
+    logger.info("Test (step 3): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step3/show_mpls_table.ref")
+
+#
+# Step 4
+#
+# Action(s):
+# -Bring up the eth-rt4 interface on rt6
+# -Bring up the eth-rt5 interface on rt6
+# -Change rt6's SRGB
+#
+# Expected changes:
+# -All routers should install rt6's Prefix-SIDs
+# -rt4 and rt5 should install Adj-SIDs for rt6
+# -rt4 should reconverge rt5's Prefix-SIDs through rt6 using the new SRGB
+# -rt5 should reconverge rt4's Prefix-SIDs through rt6 using the new SRGB
+# -rt6 should reinstall all IS-IS routes and Prefix-SIDs from the network, and Adj-SIDs for rt4 and rt5
+#
+def test_isis_adjacencies_step4():
+    logger.info("Test (step 4): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Bringing up the eth-rt4 interface on rt6')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "interface eth-rt4" -c "no shutdown"')
+    logger.info('Bringing up the eth-rt5 interface on rt6')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "interface eth-rt5" -c "no shutdown"')
+    logger.info('Changing rt6\'s SRGB')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing global-block 18000 25999"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step4/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step4():
+    logger.info("Test (step 4): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step4/show_ip_route.ref")
+
+def test_rib_ipv6_step4():
+    logger.info("Test (step 4): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step4/show_ipv6_route.ref")
+
+def test_mpls_lib_step4():
+    logger.info("Test (step 4): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step4/show_mpls_table.ref")
+
+#
+# Step 5
+#
+# Action(s):
+# -Disable SR on rt6
+#
+# Expected changes:
+# -All routers should uninstall rt6's Prefix-SIDs
+# -rt4 should uninstall rt5's Prefix-SIDs since the nexthop router hasn't SR enabled anymore
+# -rt5 should uninstall rt4's Prefix-SIDs since the nexthop router hasn't SR enabled anymore
+# -rt6 should uninstall all Prefix-SIDs from the network, and the Adj-SIDs for rt4 and rt5
+#
+def test_isis_adjacencies_step5():
+    logger.info("Test (step 5): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Disabling SR on rt6')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "router isis 1" -c "no segment-routing on"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step5/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step5():
+    logger.info("Test (step 5): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step5/show_ip_route.ref")
+
+def test_rib_ipv6_step5():
+    logger.info("Test (step 5): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step5/show_ipv6_route.ref")
+
+def test_mpls_lib_step5():
+    logger.info("Test (step 5): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step5/show_mpls_table.ref")
+
+#
+# Step 6
+#
+# Action(s):
+# -Enable SR on rt6
+#
+# Expected changes:
+# -All routers should install rt6's Prefix-SIDs
+# -rt4 should install rt5's Prefix-SIDs through rt6
+# -rt5 should install rt4's Prefix-SIDs through rt6
+# -rt6 should install all Prefix-SIDs from the network, and Adj-SIDs for rt4 and rt5
+#
+def test_isis_adjacencies_step6():
+    logger.info("Test (step 6): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Enabling SR on rt6')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing on"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step6/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step6():
+    logger.info("Test (step 6): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step6/show_ip_route.ref")
+
+def test_rib_ipv6_step6():
+    logger.info("Test (step 6): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step6/show_ipv6_route.ref")
+
+def test_mpls_lib_step6():
+    logger.info("Test (step 6): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step6/show_mpls_table.ref")
+
+#
+# Step 7
+#
+# Action(s):
+# -Delete rt1's Prefix-SIDs
+#
+# Expected changes:
+# -All routers should uninstall rt1's Prefix-SIDs
+#
+def test_isis_adjacencies_step7():
+    logger.info("Test (step 7): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Deleting rt1\'s Prefix-SIDs')
+    tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "no segment-routing prefix 1.1.1.1/32 index 10"')
+    tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "no segment-routing prefix 2001:db8:1000::1/128 index 11"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step7/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step7():
+    logger.info("Test (step 7): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step7/show_ip_route.ref")
+
+def test_rib_ipv6_step7():
+    logger.info("Test (step 7): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step7/show_ipv6_route.ref")
+
+def test_mpls_lib_step7():
+    logger.info("Test (step 7): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step7/show_mpls_table.ref")
+
+#
+# Step 8
+#
+# Action(s):
+# -Re-add rt1's Prefix-SIDs
+#
+# Expected changes:
+# -All routers should install rt1's Prefix-SIDs
+#
+def test_isis_adjacencies_step8():
+    logger.info("Test (step 8): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Re-adding rt1\'s Prefix-SIDs')
+    tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 1.1.1.1/32 index 10"')
+    tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 2001:db8:1000::1/128 index 11"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step8/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step8():
+    logger.info("Test (step 8): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step8/show_ip_route.ref")
+
+def test_rib_ipv6_step8():
+    logger.info("Test (step 8): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step8/show_ipv6_route.ref")
+
+def test_mpls_lib_step8():
+    logger.info("Test (step 8): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step8/show_mpls_table.ref")
+
+#
+# Step 9
+#
+# Action(s):
+# -Change rt1's Prefix-SIDs to use the no-php option
+# -Change rt6's Prefix-SIDs to stop using the explicit-null option
+#
+# Expected changes:
+# -rt2 and rt3 should reinstall rt1's Prefix-SIDs accordingly
+# -rt4 and rt5 should reinstall rt6's Prefix-SIDs accordingly
+#
+def test_isis_adjacencies_step9():
+    logger.info("Test (step 9): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Changing rt1\'s Prefix-SIDs to use the no-php option')
+    tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 1.1.1.1/32 index 10 no-php-flag"')
+    tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 2001:db8:1000::1/128 index 11 no-php-flag"')
+    logger.info('Change rt6\'s Prefix-SIDs to stop using the explicit-null option')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 6.6.6.6/32 index 60"')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 2001:db8:1000::6/128 index 61"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step9/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step9():
+    logger.info("Test (step 9): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step9/show_ip_route.ref")
+
+def test_rib_ipv6_step9():
+    logger.info("Test (step 9): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step9/show_ipv6_route.ref")
+
+def test_mpls_lib_step9():
+    logger.info("Test (step 9): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step9/show_mpls_table.ref")
+
+#
+# Step 10
+#
+# Action(s):
+# -Remove the IPv4 address from rt4's eth-rt2-1 interface
+#
+# Expected changes:
+# -rt2 should uninstall the IPv4 Adj-SIDs attached to the eth-rt4-1 interface
+# -rt2 should reinstall all IPv4 Prefix-SIDs whose nexthop router is rt4 (ECMP shouldn't be used anymore)
+# -rt4 should reinstall all IPv4 Prefix-SIDs whose nexthop router is rt2 (ECMP shouldn't be used anymore)
+#
+def test_isis_adjacencies_step10():
+    logger.info("Test (step 10): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Removing the IPv4 address from rt4\'s eth-rt2-1 interface')
+    tgen.net['rt4'].cmd('vtysh -c "conf t" -c "interface eth-rt2-1" -c "no ip address 10.0.2.4/24"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step10/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step10():
+    logger.info("Test (step 10): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step10/show_ip_route.ref")
+
+def test_rib_ipv6_step10():
+    logger.info("Test (step 10): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step10/show_ipv6_route.ref")
+
+def test_mpls_lib_step10():
+    logger.info("Test (step 10): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step10/show_mpls_table.ref")
+
+#
+# Step 11
+#
+# Action(s):
+# -Enter invalid SR configuration
+#
+# Expected changes:
+# -All commands should be rejected
+#
+def test_isis_invalid_config_step11():
+    logger.info("Test (step 11): check if invalid configuration is rejected")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Entering invalid Segment Routing configuration...')
+    ret = tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 1.1.1.1/32 index 10000"')
+    assert re.search("Configuration failed", ret) is not None, "Invalid SR configuration wasn't rejected"
+    ret = tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing global-block 16000 14999"')
+    assert re.search("Configuration failed", ret) is not None, "Invalid SR configuration wasn't rejected"
+    ret = tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing global-block 16000 16001"')
+    assert re.search("Configuration failed", ret) is not None, "Invalid SR configuration wasn't rejected"
+
+#
+# Step 12
+#
+# Action(s):
+# -Restore the original network setup
+#
+# Expected changes:
+# -All routes, Prefix-SIDs and Adj-SIDs should be the same as they were after the initial network convergence (step 1)
+#
+def test_isis_adjacencies_step12():
+    logger.info("Test (step 12): check IS-IS adjacencies")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    logger.info('Restoring the original network setup')
+    tgen.net['rt4'].cmd('vtysh -c "conf t" -c "interface eth-rt5" -c "ip router isis 1"')
+    tgen.net['rt4'].cmd('vtysh -c "conf t" -c "interface eth-rt5" -c "ipv6 router isis 1"')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing global-block 16000 23999"')
+    tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 1.1.1.1/32 index 10"')
+    tgen.net['rt1'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 2001:db8:1000::1/128 index 11"')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 6.6.6.6/32 index 60 explicit-null"')
+    tgen.net['rt6'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 2001:db8:1000::6/128 index 61 explicit-null"')
+    tgen.net['rt4'].cmd('vtysh -c "conf t" -c "interface eth-rt2-1" -c "ip address 10.0.2.4/24"')
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show yang operational-data /frr-interface:lib isisd",
+                                   "step1/show_yang_interface_isis_adjacencies.ref")
+
+def test_rib_ipv4_step12():
+    logger.info("Test (step 12): verify IPv4 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ip route isis json",
+                                   "step1/show_ip_route.ref")
+
+def test_rib_ipv6_step12():
+    logger.info("Test (step 12): verify IPv6 RIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show ipv6 route isis json",
+                                   "step1/show_ipv6_route.ref")
+
+def test_mpls_lib_step12():
+    logger.info("Test (step 12): verify MPLS LIB")
+    tgen = get_topogen()
+
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
+    for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']:
+        router_compare_json_output(rname, "show mpls table json",
+                                   "step1/show_mpls_table.ref")
+
+# Memory leak test template
+def test_memory_leak():
+    "Run the memory leak test and report results."
+    tgen = get_topogen()
+    if not tgen.is_memleak_enabled():
+        pytest.skip('Memory leak test/report is disabled')
+
+    tgen.report_memory_leaks()
+
+if __name__ == '__main__':
+    args = ["-s"] + sys.argv[1:]
+    sys.exit(pytest.main(args))