From 9687c500c66231926148132424817da252b61731 Mon Sep 17 00:00:00 2001 From: Renato Westphal Date: Thu, 20 Aug 2020 19:53:47 -0300 Subject: [PATCH] tests: add IS-IS TI-LFA topotest Signed-off-by: Renato Westphal --- tests/topotests/isis-tilfa-topo1/__init__.py | 0 .../topotests/isis-tilfa-topo1/rt1/isisd.conf | 33 + .../rt1/step1/show_ip_route.ref | 294 ++++++++ .../rt1/step1/show_ipv6_route.ref | 121 ++++ .../rt1/step1/show_mpls_table.ref | 134 ++++ .../show_yang_interface_isis_adjacencies.ref | 34 + .../rt1/step2/show_ip_route.ref.diff | 0 .../rt1/step2/show_ipv6_route.ref.diff | 0 .../rt1/step2/show_mpls_table.ref.diff | 0 .../rt1/step3/show_ip_route.ref.diff | 0 .../rt1/step3/show_ipv6_route.ref.diff | 0 .../rt1/step3/show_mpls_table.ref.diff | 0 .../rt1/step4/show_ip_route.ref.diff | 14 + .../rt1/step4/show_ipv6_route.ref.diff | 14 + .../rt1/step4/show_mpls_table.ref.diff | 33 + .../rt1/step5/show_ip_route.ref.diff | 14 + .../rt1/step5/show_ipv6_route.ref.diff | 14 + .../rt1/step5/show_mpls_table.ref.diff | 33 + .../rt1/step6/show_ip_route.ref.diff | 0 .../rt1/step6/show_ipv6_route.ref.diff | 0 .../rt1/step6/show_mpls_table.ref.diff | 0 .../rt1/step7/show_ip_route.ref.diff | 14 + .../rt1/step7/show_ipv6_route.ref.diff | 14 + .../rt1/step7/show_mpls_table.ref.diff | 33 + .../rt1/step8/show_ip_route.ref.diff | 14 + .../rt1/step8/show_ipv6_route.ref.diff | 14 + .../rt1/step8/show_mpls_table.ref.diff | 33 + .../rt1/step9/show_ip_route.ref.diff | 11 + .../rt1/step9/show_ipv6_route.ref.diff | 11 + .../rt1/step9/show_mpls_table.ref.diff | 64 ++ .../topotests/isis-tilfa-topo1/rt1/zebra.conf | 19 + .../topotests/isis-tilfa-topo1/rt2/isisd.conf | 45 ++ .../rt2/step1/show_ip_route.ref | 453 ++++++++++++ .../rt2/step1/show_ipv6_route.ref | 192 +++++ .../rt2/step1/show_mpls_table.ref | 234 ++++++ .../show_yang_interface_isis_adjacencies.ref | 74 ++ .../rt2/step2/show_ip_route.ref.diff | 159 +++++ .../rt2/step2/show_ipv6_route.ref.diff | 68 ++ .../rt2/step2/show_mpls_table.ref.diff | 102 +++ .../rt2/step3/show_ip_route.ref.diff | 159 +++++ .../rt2/step3/show_ipv6_route.ref.diff | 68 ++ .../rt2/step3/show_mpls_table.ref.diff | 102 +++ .../rt2/step4/show_ip_route.ref.diff | 173 +++++ .../rt2/step4/show_ipv6_route.ref.diff | 130 ++++ .../rt2/step4/show_mpls_table.ref.diff | 212 ++++++ .../rt2/step5/show_ip_route.ref.diff | 173 +++++ .../rt2/step5/show_ipv6_route.ref.diff | 130 ++++ .../rt2/step5/show_mpls_table.ref.diff | 210 ++++++ .../rt2/step6/show_ip_route.ref.diff | 0 .../rt2/step6/show_ipv6_route.ref.diff | 0 .../rt2/step6/show_mpls_table.ref.diff | 0 .../rt2/step7/show_ip_route.ref.diff | 143 ++++ .../rt2/step7/show_ipv6_route.ref.diff | 100 +++ .../rt2/step7/show_mpls_table.ref.diff | 157 ++++ .../rt2/step8/show_ip_route.ref.diff | 143 ++++ .../rt2/step8/show_ipv6_route.ref.diff | 100 +++ .../rt2/step8/show_mpls_table.ref.diff | 157 ++++ .../rt2/step9/show_ip_route.ref.diff | 65 ++ .../rt2/step9/show_ipv6_route.ref.diff | 65 ++ .../rt2/step9/show_mpls_table.ref.diff | 178 +++++ .../topotests/isis-tilfa-topo1/rt2/zebra.conf | 25 + .../topotests/isis-tilfa-topo1/rt3/isisd.conf | 45 ++ .../rt3/step1/show_ip_route.ref | 453 ++++++++++++ .../rt3/step1/show_ipv6_route.ref | 192 +++++ .../rt3/step1/show_mpls_table.ref | 234 ++++++ .../show_yang_interface_isis_adjacencies.ref | 74 ++ .../rt3/step2/show_ip_route.ref.diff | 0 .../rt3/step2/show_ipv6_route.ref.diff | 0 .../rt3/step2/show_mpls_table.ref.diff | 0 .../rt3/step3/show_ip_route.ref.diff | 0 .../rt3/step3/show_ipv6_route.ref.diff | 0 .../rt3/step3/show_mpls_table.ref.diff | 0 .../rt3/step4/show_ip_route.ref.diff | 143 ++++ .../rt3/step4/show_ipv6_route.ref.diff | 100 +++ .../rt3/step4/show_mpls_table.ref.diff | 149 ++++ .../rt3/step5/show_ip_route.ref.diff | 143 ++++ .../rt3/step5/show_ipv6_route.ref.diff | 100 +++ .../rt3/step5/show_mpls_table.ref.diff | 148 ++++ .../rt3/step6/show_ip_route.ref.diff | 74 ++ .../rt3/step6/show_ipv6_route.ref.diff | 74 ++ .../rt3/step6/show_mpls_table.ref.diff | 126 ++++ .../rt3/step7/show_ip_route.ref.diff | 25 + .../rt3/step7/show_ipv6_route.ref.diff | 24 + .../rt3/step7/show_mpls_table.ref.diff | 45 ++ .../rt3/step8/show_ip_route.ref.diff | 25 + .../rt3/step8/show_ipv6_route.ref.diff | 24 + .../rt3/step8/show_mpls_table.ref.diff | 45 ++ .../rt3/step9/show_ip_route.ref.diff | 0 .../rt3/step9/show_ipv6_route.ref.diff | 0 .../rt3/step9/show_mpls_table.ref.diff | 92 +++ .../topotests/isis-tilfa-topo1/rt3/zebra.conf | 25 + .../topotests/isis-tilfa-topo1/rt4/isisd.conf | 53 ++ .../rt4/step1/show_ip_route.ref | 423 +++++++++++ .../rt4/step1/show_ipv6_route.ref | 174 +++++ .../rt4/step1/show_mpls_table.ref | 210 ++++++ .../show_yang_interface_isis_adjacencies.ref | 86 +++ .../rt4/step2/show_ip_route.ref.diff | 0 .../rt4/step2/show_ipv6_route.ref.diff | 0 .../rt4/step2/show_mpls_table.ref.diff | 0 .../rt4/step3/show_ip_route.ref.diff | 0 .../rt4/step3/show_ipv6_route.ref.diff | 0 .../rt4/step3/show_mpls_table.ref.diff | 0 .../rt4/step4/show_ip_route.ref.diff | 238 +++++++ .../rt4/step4/show_ipv6_route.ref.diff | 128 ++++ .../rt4/step4/show_mpls_table.ref.diff | 213 ++++++ .../rt4/step5/show_ip_route.ref.diff | 238 +++++++ .../rt4/step5/show_ipv6_route.ref.diff | 128 ++++ .../rt4/step5/show_mpls_table.ref.diff | 213 ++++++ .../rt4/step6/show_ip_route.ref.diff | 11 + .../rt4/step6/show_ipv6_route.ref.diff | 11 + .../rt4/step6/show_mpls_table.ref.diff | 20 + .../rt4/step7/show_ip_route.ref.diff | 24 + .../rt4/step7/show_ipv6_route.ref.diff | 24 + .../rt4/step7/show_mpls_table.ref.diff | 53 ++ .../rt4/step8/show_ip_route.ref.diff | 24 + .../rt4/step8/show_ipv6_route.ref.diff | 24 + .../rt4/step8/show_mpls_table.ref.diff | 53 ++ .../rt4/step9/show_ip_route.ref.diff | 0 .../rt4/step9/show_ipv6_route.ref.diff | 0 .../rt4/step9/show_mpls_table.ref.diff | 102 +++ .../topotests/isis-tilfa-topo1/rt4/zebra.conf | 28 + .../topotests/isis-tilfa-topo1/rt5/isisd.conf | 53 ++ .../rt5/step1/show_ip_route.ref | 423 +++++++++++ .../rt5/step1/show_ipv6_route.ref | 174 +++++ .../rt5/step1/show_mpls_table.ref | 210 ++++++ .../show_yang_interface_isis_adjacencies.ref | 86 +++ .../rt5/step2/show_ip_route.ref.diff | 0 .../rt5/step2/show_ipv6_route.ref.diff | 0 .../rt5/step2/show_mpls_table.ref.diff | 0 .../rt5/step3/show_ip_route.ref.diff | 0 .../rt5/step3/show_ipv6_route.ref.diff | 0 .../rt5/step3/show_mpls_table.ref.diff | 0 .../rt5/step4/show_ip_route.ref.diff | 33 + .../rt5/step4/show_ipv6_route.ref.diff | 33 + .../rt5/step4/show_mpls_table.ref.diff | 71 ++ .../rt5/step5/show_ip_route.ref.diff | 33 + .../rt5/step5/show_ipv6_route.ref.diff | 33 + .../rt5/step5/show_mpls_table.ref.diff | 71 ++ .../rt5/step6/show_ip_route.ref.diff | 0 .../rt5/step6/show_ipv6_route.ref.diff | 0 .../rt5/step6/show_mpls_table.ref.diff | 110 +++ .../rt5/step7/show_ip_route.ref.diff | 0 .../rt5/step7/show_ipv6_route.ref.diff | 0 .../rt5/step7/show_mpls_table.ref.diff | 0 .../rt5/step8/show_ip_route.ref.diff | 0 .../rt5/step8/show_ipv6_route.ref.diff | 0 .../rt5/step8/show_mpls_table.ref.diff | 0 .../rt5/step9/show_ip_route.ref.diff | 0 .../rt5/step9/show_ipv6_route.ref.diff | 0 .../rt5/step9/show_mpls_table.ref.diff | 0 .../topotests/isis-tilfa-topo1/rt5/zebra.conf | 28 + .../topotests/isis-tilfa-topo1/rt6/isisd.conf | 39 + .../rt6/step1/show_ip_route.ref | 413 +++++++++++ .../rt6/step1/show_ipv6_route.ref | 173 +++++ .../rt6/step1/show_mpls_table.ref | 214 ++++++ .../show_yang_interface_isis_adjacencies.ref | 46 ++ .../rt6/step2/show_ip_route.ref.diff | 0 .../rt6/step2/show_ipv6_route.ref.diff | 0 .../rt6/step2/show_mpls_table.ref.diff | 0 .../rt6/step3/show_ip_route.ref.diff | 0 .../rt6/step3/show_ipv6_route.ref.diff | 0 .../rt6/step3/show_mpls_table.ref.diff | 0 .../rt6/step4/show_ip_route.ref.diff | 55 ++ .../rt6/step4/show_ipv6_route.ref.diff | 55 ++ .../rt6/step4/show_mpls_table.ref.diff | 117 +++ .../rt6/step5/show_ip_route.ref.diff | 55 ++ .../rt6/step5/show_ipv6_route.ref.diff | 55 ++ .../rt6/step5/show_mpls_table.ref.diff | 120 ++++ .../rt6/step6/show_ip_route.ref.diff | 20 + .../rt6/step6/show_ipv6_route.ref.diff | 20 + .../rt6/step6/show_mpls_table.ref.diff | 38 + .../rt6/step7/show_ip_route.ref.diff | 24 + .../rt6/step7/show_ipv6_route.ref.diff | 24 + .../rt6/step7/show_mpls_table.ref.diff | 52 ++ .../rt6/step8/show_ip_route.ref.diff | 24 + .../rt6/step8/show_ipv6_route.ref.diff | 24 + .../rt6/step8/show_mpls_table.ref.diff | 52 ++ .../rt6/step9/show_ip_route.ref.diff | 0 .../rt6/step9/show_ipv6_route.ref.diff | 0 .../rt6/step9/show_mpls_table.ref.diff | 24 + .../topotests/isis-tilfa-topo1/rt6/zebra.conf | 22 + .../isis-tilfa-topo1/test_isis_tilfa_topo1.py | 674 ++++++++++++++++++ 182 files changed, 13318 insertions(+) create mode 100644 tests/topotests/isis-tilfa-topo1/__init__.py create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/isisd.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step1/show_ip_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step1/show_ipv6_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step1/show_mpls_table.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step2/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step2/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step2/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step3/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step3/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step3/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step4/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step4/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step4/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step5/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step5/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step5/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step6/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step6/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step6/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step7/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step7/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step7/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step8/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step8/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step8/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step9/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step9/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/step9/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt1/zebra.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/isisd.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step1/show_ip_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step1/show_ipv6_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step1/show_mpls_table.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step2/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step2/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step2/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step3/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step3/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step3/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step4/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step4/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step4/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step5/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step5/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step5/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step6/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step6/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step6/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step7/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step7/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step7/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step8/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step8/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step8/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step9/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step9/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/step9/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt2/zebra.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/isisd.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step1/show_ip_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step1/show_ipv6_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step1/show_mpls_table.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step2/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step2/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step2/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step3/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step3/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step3/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step4/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step4/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step4/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step5/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step5/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step5/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step6/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step6/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step6/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step7/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step7/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step7/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step8/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step8/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step8/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step9/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step9/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/step9/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt3/zebra.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/isisd.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step1/show_ip_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step1/show_ipv6_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step1/show_mpls_table.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step2/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step2/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step2/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step3/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step3/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step3/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step4/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step4/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step4/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step5/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step5/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step5/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step6/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step6/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step6/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step7/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step7/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step7/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step8/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step8/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step8/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step9/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step9/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/step9/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt4/zebra.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/isisd.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step1/show_ip_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step1/show_ipv6_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step1/show_mpls_table.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step2/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step2/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step2/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step3/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step3/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step3/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step4/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step4/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step4/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step5/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step5/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step5/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step6/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step6/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step6/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step7/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step7/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step7/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step8/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step8/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step8/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step9/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step9/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/step9/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt5/zebra.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/isisd.conf create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step1/show_ip_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step1/show_ipv6_route.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step1/show_mpls_table.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step2/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step2/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step2/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step3/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step3/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step3/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step4/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step4/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step4/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step5/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step5/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step5/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step6/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step6/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step6/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step7/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step7/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step7/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step8/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step8/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step8/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step9/show_ip_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step9/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/step9/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis-tilfa-topo1/rt6/zebra.conf create mode 100755 tests/topotests/isis-tilfa-topo1/test_isis_tilfa_topo1.py diff --git a/tests/topotests/isis-tilfa-topo1/__init__.py b/tests/topotests/isis-tilfa-topo1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/isisd.conf b/tests/topotests/isis-tilfa-topo1/rt1/isisd.conf new file mode 100644 index 0000000000..a447a2aa5a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/isisd.conf @@ -0,0 +1,33 @@ +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 + isis priority 100 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0001.00 + is-type level-1 + lsp-gen-interval 2 + 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-tilfa-topo1/rt1/step1/show_ip_route.ref b/tests/topotests/isis-tilfa-topo1/rt1/step1/show_ip_route.ref new file mode 100644 index 0000000000..92b7437324 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step1/show_ip_route.ref @@ -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":[ + 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":[ + 3 + ] + } + ] + } + ], + "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":[ + 16050 + ] + } + ] + } + ], + "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":[ + 16060 + ] + } + ] + } + ], + "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-tilfa-topo1/rt1/step1/show_ipv6_route.ref b/tests/topotests/isis-tilfa-topo1/rt1/step1/show_ipv6_route.ref new file mode 100644 index 0000000000..3232121a0f --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step1/show_ipv6_route.ref @@ -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":[ + 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":[ + 3 + ] + } + ] + } + ], + "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":[ + 16051 + ] + } + ] + } + ], + "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":[ + 16061 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step1/show_mpls_table.ref b/tests/topotests/isis-tilfa-topo1/rt1/step1/show_mpls_table.ref new file mode 100644 index 0000000000..e3ed7c20b2 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step1/show_mpls_table.ref @@ -0,0 +1,134 @@ +{ + "16020":{ + "inLabel":16020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.2" + } + ] + }, + "16021":{ + "inLabel":16021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1" + } + ] + }, + "16030":{ + "inLabel":16030, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.3" + } + ] + }, + "16031":{ + "inLabel":16031, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "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":16050, + "installed":true, + "nexthop":"10.0.1.3" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "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":16060, + "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":16061, + "installed":true, + "interface":"eth-sw1" + } + ] + } +} diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-tilfa-topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000000..69dcc91b1d --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,34 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-sw1", + "vrf": "default", + "state": { + "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-tilfa-topo1/rt1/step2/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step2/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step2/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step2/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step3/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step3/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step3/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step3/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step4/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step4/show_ip_route.ref.diff new file mode 100644 index 0000000000..ccea94c42c --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step4/show_ip_route.ref.diff @@ -0,0 +1,14 @@ +--- rt1/step3/show_ip_route.ref 2020-08-31 22:42:48.831561460 -0300 ++++ rt1/step4/show_ip_route.ref 2020-08-31 22:42:48.831561460 -0300 +@@ -60,10 +60,7 @@ + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step4/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..13e098858a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step4/show_ipv6_route.ref.diff @@ -0,0 +1,14 @@ +--- rt1/step3/show_ipv6_route.ref 2020-08-31 22:42:48.831561460 -0300 ++++ rt1/step4/show_ipv6_route.ref 2020-08-31 22:42:48.831561460 -0300 +@@ -57,10 +57,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step4/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000000..9531fbc2f0 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step4/show_mpls_table.ref.diff @@ -0,0 +1,33 @@ +--- rt1/step3/show_mpls_table.ref 2020-08-31 22:42:48.831561460 -0300 ++++ rt1/step4/show_mpls_table.ref 2020-08-31 22:42:48.831561460 -0300 +@@ -47,30 +47,6 @@ + } + ] + }, +- "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, diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step5/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step5/show_ip_route.ref.diff new file mode 100644 index 0000000000..2a2cb762a7 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step5/show_ip_route.ref.diff @@ -0,0 +1,14 @@ +--- rt1/step4/show_ip_route.ref 2020-08-31 22:42:48.831561460 -0300 ++++ rt1/step5/show_ip_route.ref 2020-08-31 22:42:48.831561460 -0300 +@@ -60,7 +60,10 @@ + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step5/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..94bf3c1db3 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step5/show_ipv6_route.ref.diff @@ -0,0 +1,14 @@ +--- rt1/step4/show_ipv6_route.ref 2020-08-31 22:42:48.831561460 -0300 ++++ rt1/step5/show_ipv6_route.ref 2020-08-31 22:42:48.831561460 -0300 +@@ -57,7 +57,10 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step5/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000000..0fd252e455 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step5/show_mpls_table.ref.diff @@ -0,0 +1,33 @@ +--- rt1/step4/show_mpls_table.ref 2020-08-31 22:42:48.831561460 -0300 ++++ rt1/step5/show_mpls_table.ref 2020-08-31 22:42:48.831561460 -0300 +@@ -47,6 +47,30 @@ + } + ] + }, ++ "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, diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step6/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step6/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step6/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step6/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step7/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step7/show_ip_route.ref.diff new file mode 100644 index 0000000000..22f7ce9a2e --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step7/show_ip_route.ref.diff @@ -0,0 +1,14 @@ +--- rt1/step6/show_ip_route.ref 2020-08-31 22:42:48.831561460 -0300 ++++ rt1/step7/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -83,10 +83,7 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step7/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..4b07bd7762 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step7/show_ipv6_route.ref.diff @@ -0,0 +1,14 @@ +--- rt1/step6/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt1/step7/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -79,10 +79,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step7/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000000..b62ca10fa3 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step7/show_mpls_table.ref.diff @@ -0,0 +1,33 @@ +--- rt1/step6/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt1/step7/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -71,30 +71,6 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.1.3" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-sw1" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step8/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step8/show_ip_route.ref.diff new file mode 100644 index 0000000000..2bf88c8346 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step8/show_ip_route.ref.diff @@ -0,0 +1,14 @@ +--- rt1/step7/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt1/step8/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -83,7 +83,10 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step8/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..a01038a7a8 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step8/show_ipv6_route.ref.diff @@ -0,0 +1,14 @@ +--- rt1/step7/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt1/step8/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -79,7 +79,10 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step8/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e3f8361315 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step8/show_mpls_table.ref.diff @@ -0,0 +1,33 @@ +--- rt1/step7/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt1/step8/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -71,6 +71,30 @@ + } + ] + }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "installed":true, ++ "nexthop":"10.0.1.3" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "installed":true, ++ "interface":"eth-sw1" ++ } ++ ] ++ }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step9/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step9/show_ip_route.ref.diff new file mode 100644 index 0000000000..c10f97b86a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step9/show_ip_route.ref.diff @@ -0,0 +1,11 @@ +--- rt1/step8/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt1/step9/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -85,7 +85,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step9/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..7a909f6410 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step9/show_ipv6_route.ref.diff @@ -0,0 +1,11 @@ +--- rt1/step8/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt1/step9/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -81,7 +81,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt1/step9/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt1/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000000..b794a674f8 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/step9/show_mpls_table.ref.diff @@ -0,0 +1,64 @@ +--- rt1/step8/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt1/step9/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -71,30 +71,6 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.1.3" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-sw1" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, +@@ -129,6 +105,30 @@ + "installed":true, + "interface":"eth-sw1" + } ++ ] ++ }, ++ "16500":{ ++ "inLabel":16500, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16500, ++ "installed":true, ++ "nexthop":"10.0.1.3" ++ } ++ ] ++ }, ++ "16501":{ ++ "inLabel":16501, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16501, ++ "installed":true, ++ "interface":"eth-sw1" ++ } + ] + } + } diff --git a/tests/topotests/isis-tilfa-topo1/rt1/zebra.conf b/tests/topotests/isis-tilfa-topo1/rt1/zebra.conf new file mode 100644 index 0000000000..9d71d3005f --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt1/zebra.conf @@ -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-tilfa-topo1/rt2/isisd.conf b/tests/topotests/isis-tilfa-topo1/rt2/isisd.conf new file mode 100644 index 0000000000..1a756e2c72 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/isisd.conf @@ -0,0 +1,45 @@ +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 + isis fast-reroute ti-lfa +! +interface eth-rt4-1 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +interface eth-rt4-2 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0002.00 + is-type level-1 + lsp-gen-interval 2 + 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 + segment-routing prefix 2001:db8:1000::2/128 index 21 +! diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step1/show_ip_route.ref b/tests/topotests/isis-tilfa-topo1/rt2/step1/show_ip_route.ref new file mode 100644 index 0000000000..7c6f6f8b65 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step1/show_ip_route.ref @@ -0,0 +1,453 @@ +{ + "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, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16050 + ] + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16050 + ] + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "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":[ + 3 + ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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":[ + 16050 + ] + }, + { + "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", + "backupIndex":[ + 0, + 1 + ] + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-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.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, + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "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, + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "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-tilfa-topo1/rt2/step1/show_ipv6_route.ref b/tests/topotests/isis-tilfa-topo1/rt2/step1/show_ipv6_route.ref new file mode 100644 index 0000000000..68569b7265 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step1/show_ipv6_route.ref @@ -0,0 +1,192 @@ +{ + "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, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16051 + ] + }, + { + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16051 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16051 + ] + }, + { + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16051 + ] + } + ] + } + ], + "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":[ + 3 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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-sw1", + "active":true, + "labels":[ + 16051 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "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-rt4-1", + "active":true, + "labels":[ + 16061 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16061 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step1/show_mpls_table.ref b/tests/topotests/isis-tilfa-topo1/rt2/step1/show_mpls_table.ref new file mode 100644 index 0000000000..4c18e20472 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step1/show_mpls_table.ref @@ -0,0 +1,234 @@ +{ + "16010":{ + "inLabel":16010, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.2.4" + }, + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.3.4" + } + ] + }, + "16011":{ + "inLabel":16011, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt4-2" + } + ] + }, + "16030":{ + "inLabel":16030, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.3", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.2.4" + }, + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.3.4" + } + ] + }, + "16031":{ + "inLabel":16031, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt4-2" + } + ] + }, + "16040":{ + "inLabel":16040, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.3.4" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.2.4" + } + ] + }, + "16041":{ + "inLabel":16041, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt4-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt4-1" + } + ] + }, + "16050":{ + "inLabel":16050, + "installed":true, + "nexthops":[ + { + "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" + }, + { + "type":"SR (IS-IS)", + "outLabel":16050, + "installed":true, + "nexthop":"10.0.1.3" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "installed":true, + "interface":"eth-rt4-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16051, + "installed":true, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16051, + "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-tilfa-topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-tilfa-topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000000..280c761b9e --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,74 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt4-1", + "vrf": "default", + "state": { + "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", + "state": { + "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", + "state": { + "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": 100, + "state": "up" + }, + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0003", + "neighbor-extended-circuit-id": 2, + "hold-timer": 9, + "neighbor-priority": 64, + "state": "up" + } + ] + } + } + } + } + ] + } +} diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step2/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step2/show_ip_route.ref.diff new file mode 100644 index 0000000000..24237769e9 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step2/show_ip_route.ref.diff @@ -0,0 +1,159 @@ +--- rt2/step1/show_ip_route.ref 2020-08-31 15:36:25.999825589 -0300 ++++ rt2/step2/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -15,34 +15,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] +- } + ] + } + ], +@@ -62,34 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] +- } + ] + } + ], +@@ -212,34 +164,12 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] ++ "interfaceName":"eth-sw1" + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true ++ "interfaceName":"eth-sw1" + } + ] + } +@@ -301,24 +231,6 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", + "active":true + } + ] +@@ -339,24 +251,6 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", + "active":true + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step2/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..7c9f1e965a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step2/show_ipv6_route.ref.diff @@ -0,0 +1,68 @@ +--- rt2/step1/show_ipv6_route.ref 2020-08-31 15:36:25.999825589 -0300 ++++ rt2/step2/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -14,32 +14,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051 +- ] +- } + ] + } + ], +@@ -58,32 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051 +- ] +- } + ] + } + ], diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step2/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000000..1c3e037b96 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step2/show_mpls_table.ref.diff @@ -0,0 +1,102 @@ +--- rt2/step1/show_mpls_table.ref 2020-08-31 15:36:25.999825589 -0300 ++++ rt2/step2/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -7,23 +7,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.1" + } + ] + }, +@@ -35,23 +19,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, +@@ -63,23 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.3" + } + ] + }, +@@ -91,23 +43,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step3/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step3/show_ip_route.ref.diff new file mode 100644 index 0000000000..4613c2c63d --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step3/show_ip_route.ref.diff @@ -0,0 +1,159 @@ +--- rt2/step2/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step3/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -15,10 +15,34 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ } + ] + } + ], +@@ -38,10 +62,34 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ } + ] + } + ], +@@ -164,12 +212,34 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true + } + ] + } +@@ -231,6 +301,24 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", ++ "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", + "active":true + } + ] +@@ -251,6 +339,24 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", ++ "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", + "active":true + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step3/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..84b5283360 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step3/show_ipv6_route.ref.diff @@ -0,0 +1,68 @@ +--- rt2/step2/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step3/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -14,10 +14,32 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ } + ] + } + ], +@@ -36,10 +58,32 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ } + ] + } + ], diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step3/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000000..5dc90e442c --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step3/show_mpls_table.ref.diff @@ -0,0 +1,102 @@ +--- rt2/step2/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step3/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -7,7 +7,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1" ++ "nexthop":"10.0.1.1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -19,7 +35,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, +@@ -31,7 +63,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3" ++ "nexthop":"10.0.1.3", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -43,7 +91,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step4/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step4/show_ip_route.ref.diff new file mode 100644 index 0000000000..f703db555f --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step4/show_ip_route.ref.diff @@ -0,0 +1,173 @@ +--- rt2/step3/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step4/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -15,34 +15,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] +- } + ] + } + ], +@@ -62,34 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] +- } + ] + } + ], +@@ -108,20 +60,14 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } +@@ -153,7 +99,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16050 ++ 3 + ] + }, + { +@@ -163,7 +109,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16050 ++ 3 + ] + } + ] +@@ -184,20 +130,14 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16060 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16060 +- ] ++ "active":true + } + ] + } +@@ -212,34 +152,12 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] ++ "interfaceName":"eth-sw1" + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true ++ "interfaceName":"eth-sw1" + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step4/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..fdd4a5166e --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step4/show_ipv6_route.ref.diff @@ -0,0 +1,130 @@ +--- rt2/step3/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step4/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -14,32 +14,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051 +- ] +- } + ] + } + ], +@@ -58,32 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051 +- ] +- } + ] + } + ], +@@ -101,19 +57,13 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } +@@ -134,7 +84,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16051 ++ 3 + ] + }, + { +@@ -152,7 +102,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16051 ++ 3 + ] + } + ] +@@ -172,19 +122,13 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16061 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16061 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step4/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000000..dcc4532e54 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step4/show_mpls_table.ref.diff @@ -0,0 +1,212 @@ +--- rt2/step3/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step4/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -7,23 +7,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.1" + } + ] + }, +@@ -35,23 +19,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, +@@ -63,23 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.3" + } + ] + }, +@@ -91,59 +43,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" +- } +- ] +- }, +- "16040":{ +- "inLabel":16040, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.3.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.2.4" +- } +- ] +- }, +- "16041":{ +- "inLabel":16041, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt4-2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt4-1" ++ "interface":"eth-sw1" + } + ] + }, +@@ -153,13 +53,13 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":3, + "installed":true, + "nexthop":"10.0.3.4" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":3, + "installed":true, + "nexthop":"10.0.2.4" + }, +@@ -177,13 +77,13 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":3, + "installed":true, + "interface":"eth-rt4-2" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":3, + "installed":true, + "interface":"eth-rt4-1" + }, +@@ -194,41 +94,5 @@ + "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-tilfa-topo1/rt2/step5/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step5/show_ip_route.ref.diff new file mode 100644 index 0000000000..22a5cb6579 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step5/show_ip_route.ref.diff @@ -0,0 +1,173 @@ +--- rt2/step4/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step5/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -15,10 +15,34 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ } + ] + } + ], +@@ -38,10 +62,34 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ } + ] + } + ], +@@ -60,14 +108,20 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } +@@ -99,7 +153,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 3 ++ 16050 + ] + }, + { +@@ -109,7 +163,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 3 ++ 16050 + ] + } + ] +@@ -130,14 +184,20 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16060 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16060 ++ ] + } + ] + } +@@ -152,12 +212,34 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step5/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..819a153f7a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step5/show_ipv6_route.ref.diff @@ -0,0 +1,130 @@ +--- rt2/step4/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step5/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -14,10 +14,32 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ } + ] + } + ], +@@ -36,10 +58,32 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ } + ] + } + ], +@@ -57,13 +101,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } +@@ -84,7 +134,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 3 ++ 16051 + ] + }, + { +@@ -102,7 +152,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 3 ++ 16051 + ] + } + ] +@@ -122,13 +172,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16061 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16061 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step5/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000000..7f851effad --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step5/show_mpls_table.ref.diff @@ -0,0 +1,210 @@ +--- rt2/step4/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step5/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -7,7 +7,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1" ++ "nexthop":"10.0.1.1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -19,7 +35,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, +@@ -31,7 +63,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3" ++ "nexthop":"10.0.1.3", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -43,12 +91,28 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, +- "16050":{ +- "inLabel":16050, ++ "16040":{ ++ "inLabel":16040, + "installed":true, + "nexthops":[ + { +@@ -62,6 +126,42 @@ + "outLabel":3, + "installed":true, + "nexthop":"10.0.2.4" ++ } ++ ] ++ }, ++ "16041":{ ++ "inLabel":16041, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt4-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt4-1" ++ } ++ ] ++ }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "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" + }, + { + "type":"SR (IS-IS)", +@@ -77,13 +177,13 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16051, + "installed":true, + "interface":"eth-rt4-2" + }, + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16051, + "installed":true, + "interface":"eth-rt4-1" + }, +@@ -94,5 +194,41 @@ + "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-tilfa-topo1/rt2/step6/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step6/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step6/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step6/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step7/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step7/show_ip_route.ref.diff new file mode 100644 index 0000000000..109ab8ea6a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step7/show_ip_route.ref.diff @@ -0,0 +1,143 @@ +--- rt2/step6/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step7/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -15,34 +15,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] +- } + ] + } + ], +@@ -62,34 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] +- } + ] + } + ], +@@ -141,30 +93,21 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } +@@ -212,34 +155,12 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] ++ "interfaceName":"eth-sw1" + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true ++ "interfaceName":"eth-sw1" + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step7/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..871fd98b7e --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step7/show_ipv6_route.ref.diff @@ -0,0 +1,100 @@ +--- rt2/step6/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step7/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -14,32 +14,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051 +- ] +- } + ] + } + ], +@@ -58,32 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051 +- ] +- } + ] + } + ], +@@ -132,28 +88,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step7/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000000..ad48c50f32 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step7/show_mpls_table.ref.diff @@ -0,0 +1,157 @@ +--- rt2/step6/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step7/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -7,23 +7,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.1" + } + ] + }, +@@ -35,23 +19,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, +@@ -63,23 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.3" + } + ] + }, +@@ -91,23 +43,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, +@@ -147,54 +83,6 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "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" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.1.3" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-rt4-2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-sw1" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step8/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step8/show_ip_route.ref.diff new file mode 100644 index 0000000000..3511a595c3 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step8/show_ip_route.ref.diff @@ -0,0 +1,143 @@ +--- rt2/step7/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step8/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -15,10 +15,34 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ } + ] + } + ], +@@ -38,10 +62,34 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ } + ] + } + ], +@@ -93,21 +141,30 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + }, + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } +@@ -155,12 +212,34 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step8/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..96a60197ab --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step8/show_ipv6_route.ref.diff @@ -0,0 +1,100 @@ +--- rt2/step7/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step8/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -14,10 +14,32 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ } + ] + } + ], +@@ -36,10 +58,32 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] ++ } + ] + } + ], +@@ -88,19 +132,28 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step8/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000000..04b8e99725 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step8/show_mpls_table.ref.diff @@ -0,0 +1,157 @@ +--- rt2/step7/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step8/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -7,7 +7,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1" ++ "nexthop":"10.0.1.1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -19,7 +35,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, +@@ -31,7 +63,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3" ++ "nexthop":"10.0.1.3", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -43,7 +91,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, +@@ -83,6 +147,54 @@ + } + ] + }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "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" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "installed":true, ++ "nexthop":"10.0.1.3" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "installed":true, ++ "interface":"eth-rt4-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "installed":true, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "installed":true, ++ "interface":"eth-sw1" ++ } ++ ] ++ }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step9/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step9/show_ip_route.ref.diff new file mode 100644 index 0000000000..b7deb80554 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step9/show_ip_route.ref.diff @@ -0,0 +1,65 @@ +--- rt2/step8/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step9/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -31,7 +31,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + }, + { +@@ -40,7 +40,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] +@@ -78,7 +78,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + }, + { +@@ -87,7 +87,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] +@@ -143,7 +143,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + }, + { +@@ -153,7 +153,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + }, + { +@@ -163,7 +163,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step9/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..cd634af4e6 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step9/show_ipv6_route.ref.diff @@ -0,0 +1,65 @@ +--- rt2/step8/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step9/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -29,7 +29,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + }, + { +@@ -37,7 +37,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + } + ] +@@ -73,7 +73,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + }, + { +@@ -81,7 +81,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + } + ] +@@ -134,7 +134,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + }, + { +@@ -143,7 +143,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + }, + { +@@ -152,7 +152,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt2/step9/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt2/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000000..f195264f5a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/step9/show_mpls_table.ref.diff @@ -0,0 +1,178 @@ +--- rt2/step8/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt2/step9/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 +@@ -17,12 +17,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.2.4" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.3.4" + } + ] +@@ -45,12 +45,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16501, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16501, + "interface":"eth-rt4-2" + } + ] +@@ -73,12 +73,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.2.4" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.3.4" + } + ] +@@ -101,12 +101,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16501, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16501, + "interface":"eth-rt4-2" + } + ] +@@ -147,87 +147,87 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, ++ "16060":{ ++ "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16060, + "installed":true, + "nexthop":"10.0.3.4" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16060, + "installed":true, + "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.1.3" + } + ] + }, +- "16051":{ +- "inLabel":16051, ++ "16061":{ ++ "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16061, + "installed":true, + "interface":"eth-rt4-2" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16061, + "installed":true, + "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-sw1" + } + ] + }, +- "16060":{ +- "inLabel":16060, ++ "16500":{ ++ "inLabel":16500, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":16500, + "installed":true, + "nexthop":"10.0.3.4" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":16500, + "installed":true, + "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16500, ++ "installed":true, ++ "nexthop":"10.0.1.3" + } + ] + }, +- "16061":{ +- "inLabel":16061, ++ "16501":{ ++ "inLabel":16501, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":16501, + "installed":true, + "interface":"eth-rt4-2" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":16501, + "installed":true, + "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16501, ++ "installed":true, ++ "interface":"eth-sw1" + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt2/zebra.conf b/tests/topotests/isis-tilfa-topo1/rt2/zebra.conf new file mode 100644 index 0000000000..dcb0686dc2 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt2/zebra.conf @@ -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-tilfa-topo1/rt3/isisd.conf b/tests/topotests/isis-tilfa-topo1/rt3/isisd.conf new file mode 100644 index 0000000000..986bf2804a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/isisd.conf @@ -0,0 +1,45 @@ +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 + isis fast-reroute ti-lfa +! +interface eth-rt5-1 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +interface eth-rt5-2 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0003.00 + is-type level-1 + lsp-gen-interval 2 + topology ipv6-unicast + segment-routing on + segment-routing global-block 16000 23999 + segment-routing node-msd 8 + segment-routing prefix 3.3.3.3/32 index 30 + segment-routing prefix 2001:db8:1000::3/128 index 31 +! diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step1/show_ip_route.ref b/tests/topotests/isis-tilfa-topo1/rt3/step1/show_ip_route.ref new file mode 100644 index 0000000000..5a4e1ce033 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step1/show_ip_route.ref @@ -0,0 +1,453 @@ +{ + "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, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16040 + ] + }, + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16040 + ] + }, + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ], + "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":[ + 3 + ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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", + "backupIndex":[ + 0, + 1 + ] + }, + { + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true + }, + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "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.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true + }, + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "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, + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true + }, + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "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-tilfa-topo1/rt3/step1/show_ipv6_route.ref b/tests/topotests/isis-tilfa-topo1/rt3/step1/show_ipv6_route.ref new file mode 100644 index 0000000000..525a87f31d --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step1/show_ipv6_route.ref @@ -0,0 +1,192 @@ +{ + "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, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16041 + ] + }, + { + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16041 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16041 + ] + }, + { + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16041 + ] + } + ] + } + ], + "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-rt5-1", + "active":true, + "labels":[ + 16041 + ] + }, + { + "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":[ + 3 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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-tilfa-topo1/rt3/step1/show_mpls_table.ref b/tests/topotests/isis-tilfa-topo1/rt3/step1/show_mpls_table.ref new file mode 100644 index 0000000000..13f5f2c703 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step1/show_mpls_table.ref @@ -0,0 +1,234 @@ +{ + "16010":{ + "inLabel":16010, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.5.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.4.5" + } + ] + }, + "16011":{ + "inLabel":16011, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt5-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt5-1" + } + ] + }, + "16020":{ + "inLabel":16020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.2", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.5.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.4.5" + } + ] + }, + "16021":{ + "inLabel":16021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt5-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt5-1" + } + ] + }, + "16040":{ + "inLabel":16040, + "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.4.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16040, + "installed":true, + "nexthop":"10.0.5.5" + } + ] + }, + "16041":{ + "inLabel":16041, + "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-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16041, + "installed":true, + "interface":"eth-rt5-2" + } + ] + }, + "16050":{ + "inLabel":16050, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.5.5" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt5-2" + } + ] + }, + "16060":{ + "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, + "nexthop":"10.0.5.5" + } + ] + }, + "16061":{ + "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16061, + "installed":true, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16061, + "installed":true, + "interface":"eth-rt5-2" + } + ] + } +} diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-tilfa-topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000000..606595e3fa --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,74 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt5-1", + "vrf": "default", + "state": { + "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", + "state": { + "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", + "state": { + "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": 100, + "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-tilfa-topo1/rt3/step2/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step2/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step2/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step2/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step3/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step3/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step3/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step3/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step4/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step4/show_ip_route.ref.diff new file mode 100644 index 0000000000..e5fe6e7589 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step4/show_ip_route.ref.diff @@ -0,0 +1,143 @@ +--- rt3/step3/show_ip_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt3/step4/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -15,34 +15,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.5.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16040 +- ] +- }, +- { +- "ip":"10.0.4.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16040 +- ] +- } + ] + } + ], +@@ -62,34 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.5.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16040 +- ] +- }, +- { +- "ip":"10.0.4.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16040 +- ] +- } + ] + } + ], +@@ -108,30 +60,21 @@ + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + } + ] + } +@@ -212,34 +155,12 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] ++ "interfaceName":"eth-sw1" + }, + { + "ip":"10.0.1.2", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.5.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-2", +- "active":true +- }, +- { +- "ip":"10.0.4.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-1", +- "active":true ++ "interfaceName":"eth-sw1" + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step4/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..ccfbbeae69 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step4/show_ipv6_route.ref.diff @@ -0,0 +1,100 @@ +--- rt3/step3/show_ipv6_route.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt3/step4/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -14,32 +14,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16041 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16041 +- ] +- } + ] + } + ], +@@ -58,32 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16041 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16041 +- ] +- } + ] + } + ], +@@ -101,28 +57,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step4/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000000..64a8689a82 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step4/show_mpls_table.ref.diff @@ -0,0 +1,149 @@ +--- rt3/step3/show_mpls_table.ref 2020-08-31 22:42:48.835561429 -0300 ++++ rt3/step4/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -7,23 +7,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.5.5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.4.5" ++ "nexthop":"10.0.1.1" + } + ] + }, +@@ -35,23 +19,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt5-2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt5-1" ++ "interface":"eth-sw1" + } + ] + }, +@@ -63,23 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.2", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.5.5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.4.5" ++ "nexthop":"10.0.1.2" + } + ] + }, +@@ -91,71 +43,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt5-2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt5-1" +- } +- ] +- }, +- "16040":{ +- "inLabel":16040, +- "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.4.5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "installed":true, +- "nexthop":"10.0.5.5" +- } +- ] +- }, +- "16041":{ +- "inLabel":16041, +- "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-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "installed":true, +- "interface":"eth-rt5-2" + } + ] + }, diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step5/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step5/show_ip_route.ref.diff new file mode 100644 index 0000000000..de265cc255 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step5/show_ip_route.ref.diff @@ -0,0 +1,143 @@ +--- rt3/step4/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step5/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -15,10 +15,34 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.5.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-2", ++ "active":true, ++ "labels":[ ++ 16040 ++ ] ++ }, ++ { ++ "ip":"10.0.4.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-1", ++ "active":true, ++ "labels":[ ++ 16040 ++ ] ++ } + ] + } + ], +@@ -38,10 +62,34 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.5.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-2", ++ "active":true, ++ "labels":[ ++ 16040 ++ ] ++ }, ++ { ++ "ip":"10.0.4.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-1", ++ "active":true, ++ "labels":[ ++ 16040 ++ ] ++ } + ] + } + ], +@@ -60,21 +108,30 @@ + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + }, + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } +@@ -155,12 +212,34 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] + }, + { + "ip":"10.0.1.2", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.5.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-2", ++ "active":true ++ }, ++ { ++ "ip":"10.0.4.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-1", ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step5/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..947d4271e8 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step5/show_ipv6_route.ref.diff @@ -0,0 +1,100 @@ +--- rt3/step4/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step5/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -14,10 +14,32 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5-2", ++ "active":true, ++ "labels":[ ++ 16041 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5-1", ++ "active":true, ++ "labels":[ ++ 16041 ++ ] ++ } + ] + } + ], +@@ -36,10 +58,32 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5-2", ++ "active":true, ++ "labels":[ ++ 16041 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5-1", ++ "active":true, ++ "labels":[ ++ 16041 ++ ] ++ } + ] + } + ], +@@ -57,19 +101,28 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step5/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000000..3dd237b91b --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step5/show_mpls_table.ref.diff @@ -0,0 +1,148 @@ +--- rt3/step4/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step5/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -7,7 +7,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1" ++ "nexthop":"10.0.1.1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.5.5" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.4.5" + } + ] + }, +@@ -19,7 +35,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt5-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt5-1" + } + ] + }, +@@ -31,7 +63,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.2" ++ "nexthop":"10.0.1.2", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.5.5" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.4.5" + } + ] + }, +@@ -43,6 +91,70 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt5-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt5-1" ++ } ++ ] ++ }, ++ "16040":{ ++ "inLabel":16040, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "installed":true, ++ "nexthop":"10.0.4.5" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "installed":true, ++ "nexthop":"10.0.5.5" ++ }, ++ { ++ "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-rt5-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "installed":true, ++ "interface":"eth-rt5-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "installed":true, + "interface":"eth-sw1" + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step6/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step6/show_ip_route.ref.diff new file mode 100644 index 0000000000..00f0bb031a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step6/show_ip_route.ref.diff @@ -0,0 +1,74 @@ +--- rt3/step5/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step6/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -31,7 +31,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + }, + { +@@ -40,7 +40,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + } + ] +@@ -78,7 +78,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + }, + { +@@ -87,7 +87,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + } + ] +@@ -120,7 +120,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + }, + { +@@ -130,7 +130,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + } + ] +@@ -186,7 +186,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16060 ++ 30060 + ] + }, + { +@@ -196,7 +196,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16060 ++ 30060 + ] + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step6/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..823cd4591f --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step6/show_ipv6_route.ref.diff @@ -0,0 +1,74 @@ +--- rt3/step5/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step6/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -29,7 +29,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16041 ++ 30041 + ] + }, + { +@@ -37,7 +37,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16041 ++ 30041 + ] + } + ] +@@ -73,7 +73,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16041 ++ 30041 + ] + }, + { +@@ -81,7 +81,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16041 ++ 30041 + ] + } + ] +@@ -103,7 +103,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16041 ++ 30041 + ] + }, + { +@@ -112,7 +112,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16041 ++ 30041 + ] + }, + { +@@ -174,7 +174,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16061 ++ 30061 + ] + }, + { +@@ -183,7 +183,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16061 ++ 30061 + ] + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step6/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000000..1ad228b9c2 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step6/show_mpls_table.ref.diff @@ -0,0 +1,126 @@ +--- rt3/step5/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step6/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -17,12 +17,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "nexthop":"10.0.5.5" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "nexthop":"10.0.4.5" + } + ] +@@ -45,12 +45,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "interface":"eth-rt5-2" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "interface":"eth-rt5-1" + } + ] +@@ -73,12 +73,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "nexthop":"10.0.5.5" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "nexthop":"10.0.4.5" + } + ] +@@ -101,12 +101,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "interface":"eth-rt5-2" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "interface":"eth-rt5-1" + } + ] +@@ -117,13 +117,13 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "installed":true, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "installed":true, + "nexthop":"10.0.5.5" + }, +@@ -141,13 +141,13 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "installed":true, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "installed":true, + "interface":"eth-rt5-2" + }, +@@ -201,13 +201,13 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":30060, + "installed":true, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":30060, + "installed":true, + "nexthop":"10.0.5.5" + } +@@ -219,13 +219,13 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":30061, + "installed":true, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":30061, + "installed":true, + "interface":"eth-rt5-2" + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step7/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step7/show_ip_route.ref.diff new file mode 100644 index 0000000000..bee7c568e7 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step7/show_ip_route.ref.diff @@ -0,0 +1,25 @@ +--- rt3/step6/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step7/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -151,20 +151,14 @@ + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step7/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..05b4080304 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step7/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- rt3/step6/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step7/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -141,19 +141,13 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step7/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000000..3fb37faea6 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step7/show_mpls_table.ref.diff @@ -0,0 +1,45 @@ +--- rt3/step6/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step7/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -159,42 +159,6 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.4.5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.5.5" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5-2" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step8/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step8/show_ip_route.ref.diff new file mode 100644 index 0000000000..c31d25261c --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step8/show_ip_route.ref.diff @@ -0,0 +1,25 @@ +--- rt3/step7/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step8/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -151,14 +151,20 @@ + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step8/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..759f28d263 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step8/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- rt3/step7/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step8/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -141,13 +141,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step8/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000000..0c2c8e2b09 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step8/show_mpls_table.ref.diff @@ -0,0 +1,45 @@ +--- rt3/step7/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step8/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -159,6 +159,42 @@ + } + ] + }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.4.5" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.5.5" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5-2" ++ } ++ ] ++ }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step9/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step9/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step9/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt3/step9/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt3/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000000..b0a4851750 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/step9/show_mpls_table.ref.diff @@ -0,0 +1,92 @@ +--- rt3/step8/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt3/step9/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -159,73 +159,73 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, ++ "16060":{ ++ "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":30060, + "installed":true, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":30060, + "installed":true, + "nexthop":"10.0.5.5" + } + ] + }, +- "16051":{ +- "inLabel":16051, ++ "16061":{ ++ "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":30061, + "installed":true, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":30061, + "installed":true, + "interface":"eth-rt5-2" + } + ] + }, +- "16060":{ +- "inLabel":16060, ++ "16500":{ ++ "inLabel":16500, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30060, ++ "outLabel":3, + "installed":true, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", +- "outLabel":30060, ++ "outLabel":3, + "installed":true, + "nexthop":"10.0.5.5" + } + ] + }, +- "16061":{ +- "inLabel":16061, ++ "16501":{ ++ "inLabel":16501, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30061, ++ "outLabel":3, + "installed":true, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":30061, ++ "outLabel":3, + "installed":true, + "interface":"eth-rt5-2" + } diff --git a/tests/topotests/isis-tilfa-topo1/rt3/zebra.conf b/tests/topotests/isis-tilfa-topo1/rt3/zebra.conf new file mode 100644 index 0000000000..3254529386 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt3/zebra.conf @@ -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-tilfa-topo1/rt4/isisd.conf b/tests/topotests/isis-tilfa-topo1/rt4/isisd.conf new file mode 100644 index 0000000000..7d411069d1 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/isisd.conf @@ -0,0 +1,53 @@ +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 + isis fast-reroute ti-lfa +! +interface eth-rt2-2 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +interface eth-rt5 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +interface eth-rt6 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0004.00 + is-type level-1 + lsp-gen-interval 2 + 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 + segment-routing prefix 2001:db8:1000::4/128 index 41 +! diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step1/show_ip_route.ref b/tests/topotests/isis-tilfa-topo1/rt4/step1/show_ip_route.ref new file mode 100644 index 0000000000..3ee587ac49 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step1/show_ip_route.ref @@ -0,0 +1,423 @@ +{ + "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":[ + 3 + ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "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":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0, + 1, + 2 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + }, + { + "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.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, + "backupIndex":[ + 0, + 1, + 2 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + }, + { + "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.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", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "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", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "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.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-tilfa-topo1/rt4/step1/show_ipv6_route.ref b/tests/topotests/isis-tilfa-topo1/rt4/step1/show_ipv6_route.ref new file mode 100644 index 0000000000..2f6b703d93 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step1/show_ipv6_route.ref @@ -0,0 +1,174 @@ +{ + "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":[ + 3 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step1/show_mpls_table.ref b/tests/topotests/isis-tilfa-topo1/rt4/step1/show_mpls_table.ref new file mode 100644 index 0000000000..5433d4f100 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step1/show_mpls_table.ref @@ -0,0 +1,210 @@ +{ + "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":3, + "installed":true, + "nexthop":"10.0.3.2" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.2.2" + } + ] + }, + "16021":{ + "inLabel":16021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt2-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "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" + } + ] + }, + "16050":{ + "inLabel":16050, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.6.5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "nexthop":"10.0.7.6" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "interface":"eth-rt6" + } + ] + }, + "16060":{ + "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.7.6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "nexthop":"10.0.6.5" + } + ] + }, + "16061":{ + "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "interface":"eth-rt5" + } + ] + } +} diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-tilfa-topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000000..9d7a19e868 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,86 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt2-1", + "vrf": "default", + "state": { + "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", + "state": { + "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", + "state": { + "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", + "state": { + "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-tilfa-topo1/rt4/step2/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step2/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step2/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step2/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step3/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step3/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step3/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step3/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step4/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step4/show_ip_route.ref.diff new file mode 100644 index 0000000000..09a0eaa424 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step4/show_ip_route.ref.diff @@ -0,0 +1,238 @@ +--- rt4/step3/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step4/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -14,20 +14,14 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true, +- "labels":[ +- 16010 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true, +- "labels":[ +- 16010 +- ] ++ "active":true + } + ] + } +@@ -47,20 +41,14 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } +@@ -80,30 +68,21 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true, +- "labels":[ +- 16030 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true, +- "labels":[ +- 16030 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16030 +- ] ++ "active":true + } + ] + } +@@ -123,24 +102,7 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } +@@ -160,24 +122,7 @@ + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } +@@ -266,31 +211,6 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0, +- 1, +- 2 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { +- "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 + } + ] +@@ -311,31 +231,6 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0, +- 1, +- 2 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { +- "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 + } + ] +@@ -351,18 +246,7 @@ + { + "ip":"10.0.6.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true ++ "interfaceName":"eth-rt5" + } + ] + } +@@ -377,18 +261,7 @@ + { + "ip":"10.0.7.6", + "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true ++ "interfaceName":"eth-rt6" + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step4/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..c1f9fa4bba --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step4/show_ipv6_route.ref.diff @@ -0,0 +1,128 @@ +--- rt4/step3/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step4/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -13,19 +13,13 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true, +- "labels":[ +- 16011 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true, +- "labels":[ +- 16011 +- ] ++ "active":true + } + ] + } +@@ -44,19 +38,13 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } +@@ -75,28 +63,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true, +- "labels":[ +- 16031 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16031 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true, +- "labels":[ +- 16031 +- ] ++ "active":true + } + ] + } +@@ -115,23 +94,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } +@@ -150,23 +113,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step4/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000000..710f81708b --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step4/show_mpls_table.ref.diff @@ -0,0 +1,213 @@ +--- rt4/step3/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step4/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -1,210 +1,2 @@ + { +- "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":3, +- "installed":true, +- "nexthop":"10.0.3.2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.2.2" +- } +- ] +- }, +- "16021":{ +- "inLabel":16021, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt2-2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "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" +- } +- ] +- }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.6.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "nexthop":"10.0.7.6" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "interface":"eth-rt6" +- } +- ] +- }, +- "16060":{ +- "inLabel":16060, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.7.6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "nexthop":"10.0.6.5" +- } +- ] +- }, +- "16061":{ +- "inLabel":16061, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "interface":"eth-rt5" +- } +- ] +- } + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step5/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step5/show_ip_route.ref.diff new file mode 100644 index 0000000000..e19f6b293c --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step5/show_ip_route.ref.diff @@ -0,0 +1,238 @@ +--- rt4/step4/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step5/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -14,14 +14,20 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16010 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16010 ++ ] + } + ] + } +@@ -41,14 +47,20 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } +@@ -68,21 +80,30 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16030 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16030 ++ ] + }, + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 16030 ++ ] + } + ] + } +@@ -102,7 +123,24 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.7.6", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt6", ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } +@@ -122,7 +160,24 @@ + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } +@@ -211,6 +266,31 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", ++ "active":true, ++ "backupIndex":[ ++ 0, ++ 1, ++ 2 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.7.6", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt6", ++ "active":true ++ }, ++ { ++ "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 + } + ] +@@ -231,6 +311,31 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", ++ "active":true, ++ "backupIndex":[ ++ 0, ++ 1, ++ 2 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.7.6", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt6", ++ "active":true ++ }, ++ { ++ "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 + } + ] +@@ -246,7 +351,18 @@ + { + "ip":"10.0.6.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5" ++ "interfaceName":"eth-rt5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.7.6", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt6", ++ "active":true + } + ] + } +@@ -261,7 +377,18 @@ + { + "ip":"10.0.7.6", + "afi":"ipv4", +- "interfaceName":"eth-rt6" ++ "interfaceName":"eth-rt6", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5", ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step5/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..5289194396 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step5/show_ipv6_route.ref.diff @@ -0,0 +1,128 @@ +--- rt4/step4/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step5/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -13,13 +13,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16011 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16011 ++ ] + } + ] + } +@@ -38,13 +44,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } +@@ -63,19 +75,28 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16031 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 16031 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16031 ++ ] + } + ] + } +@@ -94,7 +115,23 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt6", ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } +@@ -113,7 +150,23 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step5/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000000..8bcd28aa2d --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step5/show_mpls_table.ref.diff @@ -0,0 +1,213 @@ +--- rt4/step4/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step5/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -1,2 +1,210 @@ + { ++ "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":3, ++ "installed":true, ++ "nexthop":"10.0.3.2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.2.2" ++ } ++ ] ++ }, ++ "16021":{ ++ "inLabel":16021, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt2-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "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" ++ } ++ ] ++ }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.6.5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "nexthop":"10.0.7.6" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "interface":"eth-rt6" ++ } ++ ] ++ }, ++ "16060":{ ++ "inLabel":16060, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.7.6", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "nexthop":"10.0.6.5" ++ } ++ ] ++ }, ++ "16061":{ ++ "inLabel":16061, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt6", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "interface":"eth-rt5" ++ } ++ ] ++ } + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step6/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step6/show_ip_route.ref.diff new file mode 100644 index 0000000000..03f31f7273 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step6/show_ip_route.ref.diff @@ -0,0 +1,11 @@ +--- rt4/step5/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step6/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -102,7 +102,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16030 ++ 30030 + ] + } + ] diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step6/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..43621e117c --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step6/show_ipv6_route.ref.diff @@ -0,0 +1,11 @@ +--- rt4/step5/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step6/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -86,7 +86,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16031 ++ 30031 + ] + }, + { diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step6/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000000..871824bb6a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step6/show_mpls_table.ref.diff @@ -0,0 +1,20 @@ +--- rt4/step5/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step6/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -89,7 +89,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16030, ++ "outLabel":30030, + "installed":true, + "nexthop":"10.0.6.5" + } +@@ -113,7 +113,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16031, ++ "outLabel":30031, + "installed":true, + "interface":"eth-rt5" + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step7/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step7/show_ip_route.ref.diff new file mode 100644 index 0000000000..1f1de16c0e --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step7/show_ip_route.ref.diff @@ -0,0 +1,24 @@ +--- rt4/step6/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step7/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -126,9 +126,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -137,10 +134,7 @@ + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step7/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..1c2f0f6fef --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step7/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- rt4/step6/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step7/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -118,9 +118,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -128,10 +125,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step7/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000000..dfe7aef93a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step7/show_mpls_table.ref.diff @@ -0,0 +1,53 @@ +--- rt4/step6/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step7/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -119,50 +119,6 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.6.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "nexthop":"10.0.7.6" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "interface":"eth-rt6" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step8/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step8/show_ip_route.ref.diff new file mode 100644 index 0000000000..e9445650a7 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step8/show_ip_route.ref.diff @@ -0,0 +1,24 @@ +--- rt4/step7/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step8/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -126,6 +126,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -134,7 +137,10 @@ + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step8/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..0d699ad92e --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step8/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- rt4/step7/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step8/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -118,6 +118,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -125,7 +128,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step8/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000000..145d3b1fa1 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step8/show_mpls_table.ref.diff @@ -0,0 +1,53 @@ +--- rt4/step7/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step8/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -119,6 +119,50 @@ + } + ] + }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.6.5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "nexthop":"10.0.7.6" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "interface":"eth-rt6" ++ } ++ ] ++ }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step9/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step9/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step9/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt4/step9/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt4/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000000..6ae67bcfbe --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/step9/show_mpls_table.ref.diff @@ -0,0 +1,102 @@ +--- rt4/step8/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt4/step9/show_mpls_table.ref 2020-08-31 22:42:48.839561398 -0300 +@@ -119,15 +119,15 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, ++ "16060":{ ++ "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.6.5", ++ "nexthop":"10.0.7.6", + "backupIndex":[ + 0 + ] +@@ -137,19 +137,19 @@ + { + "type":"SR (IS-IS)", + "outLabel":3, +- "nexthop":"10.0.7.6" ++ "nexthop":"10.0.6.5" + } + ] + }, +- "16051":{ +- "inLabel":16051, ++ "16061":{ ++ "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt5", ++ "interface":"eth-rt6", + "backupIndex":[ + 0 + ] +@@ -159,19 +159,19 @@ + { + "type":"SR (IS-IS)", + "outLabel":3, +- "interface":"eth-rt6" ++ "interface":"eth-rt5" + } + ] + }, +- "16060":{ +- "inLabel":16060, ++ "16500":{ ++ "inLabel":16500, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.7.6", ++ "nexthop":"10.0.6.5", + "backupIndex":[ + 0 + ] +@@ -181,19 +181,19 @@ + { + "type":"SR (IS-IS)", + "outLabel":3, +- "nexthop":"10.0.6.5" ++ "nexthop":"10.0.7.6" + } + ] + }, +- "16061":{ +- "inLabel":16061, ++ "16501":{ ++ "inLabel":16501, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt6", ++ "interface":"eth-rt5", + "backupIndex":[ + 0 + ] +@@ -203,7 +203,7 @@ + { + "type":"SR (IS-IS)", + "outLabel":3, +- "interface":"eth-rt5" ++ "interface":"eth-rt6" + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt4/zebra.conf b/tests/topotests/isis-tilfa-topo1/rt4/zebra.conf new file mode 100644 index 0000000000..4945897e9d --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt4/zebra.conf @@ -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-tilfa-topo1/rt5/isisd.conf b/tests/topotests/isis-tilfa-topo1/rt5/isisd.conf new file mode 100644 index 0000000000..be52eb0322 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/isisd.conf @@ -0,0 +1,53 @@ +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 + isis fast-reroute ti-lfa +! +interface eth-rt3-2 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +interface eth-rt4 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +interface eth-rt6 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0005.00 + is-type level-1 + lsp-gen-interval 2 + 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 + segment-routing prefix 2001:db8:1000::5/128 index 51 +! diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step1/show_ip_route.ref b/tests/topotests/isis-tilfa-topo1/rt5/step1/show_ip_route.ref new file mode 100644 index 0000000000..ce320d0b12 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step1/show_ip_route.ref @@ -0,0 +1,423 @@ +{ + "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":[ + 16010 + ] + }, + { + "fib":true, + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-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":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true, + "labels":[ + 16020 + ] + }, + { + "fib":true, + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true, + "labels":[ + 16020 + ] + }, + { + "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":[ + 3 + ] + }, + { + "fib":true, + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "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":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0, + 1, + 2 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + }, + { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":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":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0, + 1, + 2 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + }, + { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":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.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", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "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.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", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + } + ] + } + ] +} diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step1/show_ipv6_route.ref b/tests/topotests/isis-tilfa-topo1/rt5/step1/show_ipv6_route.ref new file mode 100644 index 0000000000..5bda17760e --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step1/show_ipv6_route.ref @@ -0,0 +1,174 @@ +{ + "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-1", + "active":true, + "labels":[ + 16011 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt3-2", + "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-rt3-1", + "active":true, + "labels":[ + 16021 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16021 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt3-2", + "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-rt3-1", + "active":true, + "labels":[ + 3 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt3-2", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step1/show_mpls_table.ref b/tests/topotests/isis-tilfa-topo1/rt5/step1/show_mpls_table.ref new file mode 100644 index 0000000000..84ba09910c --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step1/show_mpls_table.ref @@ -0,0 +1,210 @@ +{ + "16010":{ + "inLabel":16010, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16010, + "installed":true, + "nexthop":"10.0.5.3" + }, + { + "type":"SR (IS-IS)", + "outLabel":16010, + "installed":true, + "nexthop":"10.0.4.3" + } + ] + }, + "16011":{ + "inLabel":16011, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16011, + "installed":true, + "interface":"eth-rt3-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16011, + "installed":true, + "interface":"eth-rt3-1" + } + ] + }, + "16020":{ + "inLabel":16020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, + "nexthop":"10.0.5.3" + }, + { + "type":"SR (IS-IS)", + "outLabel":16020, + "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":16021, + "installed":true, + "interface":"eth-rt3-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16021, + "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":3, + "installed":true, + "nexthop":"10.0.5.3" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.4.3" + } + ] + }, + "16031":{ + "inLabel":16031, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt3-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt3-1" + } + ] + }, + "16040":{ + "inLabel":16040, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.6.4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "nexthop":"10.0.8.6" + } + ] + }, + "16041":{ + "inLabel":16041, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "interface":"eth-rt6" + } + ] + }, + "16060":{ + "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.8.6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "nexthop":"10.0.6.4" + } + ] + }, + "16061":{ + "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "interface":"eth-rt4" + } + ] + } +} diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-tilfa-topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000000..4a3e626123 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,86 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt3-1", + "vrf": "default", + "state": { + "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", + "state": { + "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", + "state": { + "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", + "state": { + "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-tilfa-topo1/rt5/step2/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step2/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step2/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step2/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step3/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step3/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step3/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step3/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step4/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step4/show_ip_route.ref.diff new file mode 100644 index 0000000000..f9f01414c9 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step4/show_ip_route.ref.diff @@ -0,0 +1,33 @@ +--- rt5/step3/show_ip_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt5/step4/show_ip_route.ref 2020-08-31 22:42:48.843561366 -0300 +@@ -69,7 +69,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 16020 ++ 3 + ] + } + ] +@@ -126,9 +126,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -137,10 +134,7 @@ + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step4/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..3e3c7d8541 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step4/show_ipv6_route.ref.diff @@ -0,0 +1,33 @@ +--- rt5/step3/show_ipv6_route.ref 2020-08-31 22:42:48.839561398 -0300 ++++ rt5/step4/show_ipv6_route.ref 2020-08-31 22:42:48.843561366 -0300 +@@ -55,7 +55,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 16021 ++ 3 + ] + }, + { +@@ -118,9 +118,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -128,10 +125,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step4/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000000..21c426e678 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step4/show_mpls_table.ref.diff @@ -0,0 +1,71 @@ +--- rt5/step3/show_mpls_table.ref 2020-08-31 22:42:48.843561366 -0300 ++++ rt5/step4/show_mpls_table.ref 2020-08-31 22:42:48.843561366 -0300 +@@ -53,7 +53,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16020, ++ "outLabel":3, + "installed":true, + "nexthop":"10.0.6.4" + } +@@ -77,7 +77,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16021, ++ "outLabel":3, + "installed":true, + "interface":"eth-rt4" + } +@@ -119,50 +119,6 @@ + } + ] + }, +- "16040":{ +- "inLabel":16040, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.6.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "nexthop":"10.0.8.6" +- } +- ] +- }, +- "16041":{ +- "inLabel":16041, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "interface":"eth-rt6" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step5/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step5/show_ip_route.ref.diff new file mode 100644 index 0000000000..49253b130f --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step5/show_ip_route.ref.diff @@ -0,0 +1,33 @@ +--- rt5/step4/show_ip_route.ref 2020-08-31 22:42:48.843561366 -0300 ++++ rt5/step5/show_ip_route.ref 2020-08-31 22:42:48.843561366 -0300 +@@ -69,7 +69,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 3 ++ 16020 + ] + } + ] +@@ -126,6 +126,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -134,7 +137,10 @@ + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step5/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..2ee7db9e7e --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step5/show_ipv6_route.ref.diff @@ -0,0 +1,33 @@ +--- rt5/step4/show_ipv6_route.ref 2020-08-31 22:42:48.843561366 -0300 ++++ rt5/step5/show_ipv6_route.ref 2020-08-31 22:42:48.843561366 -0300 +@@ -55,7 +55,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 3 ++ 16021 + ] + }, + { +@@ -118,6 +118,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -125,7 +128,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step5/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000000..269b8ddc94 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step5/show_mpls_table.ref.diff @@ -0,0 +1,71 @@ +--- rt5/step4/show_mpls_table.ref 2020-08-31 22:42:48.843561366 -0300 ++++ rt5/step5/show_mpls_table.ref 2020-08-31 22:42:48.843561366 -0300 +@@ -53,7 +53,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16020, + "installed":true, + "nexthop":"10.0.6.4" + } +@@ -77,7 +77,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16021, + "installed":true, + "interface":"eth-rt4" + } +@@ -119,6 +119,50 @@ + } + ] + }, ++ "16040":{ ++ "inLabel":16040, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.6.4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "nexthop":"10.0.8.6" ++ } ++ ] ++ }, ++ "16041":{ ++ "inLabel":16041, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "interface":"eth-rt6" ++ } ++ ] ++ }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step6/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step6/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step6/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step6/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000000..f70ac77e6a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/step6/show_mpls_table.ref.diff @@ -0,0 +1,110 @@ +--- rt5/step5/show_mpls_table.ref 2020-08-31 22:42:48.843561366 -0300 ++++ rt5/step6/show_mpls_table.ref 2020-08-31 22:42:48.843561366 -0300 +@@ -1,6 +1,6 @@ + { +- "16010":{ +- "inLabel":16010, ++ "30010":{ ++ "inLabel":30010, + "installed":true, + "nexthops":[ + { +@@ -17,8 +17,8 @@ + } + ] + }, +- "16011":{ +- "inLabel":16011, ++ "30011":{ ++ "inLabel":30011, + "installed":true, + "nexthops":[ + { +@@ -35,8 +35,8 @@ + } + ] + }, +- "16020":{ +- "inLabel":16020, ++ "30020":{ ++ "inLabel":30020, + "installed":true, + "nexthops":[ + { +@@ -59,8 +59,8 @@ + } + ] + }, +- "16021":{ +- "inLabel":16021, ++ "30021":{ ++ "inLabel":30021, + "installed":true, + "nexthops":[ + { +@@ -83,8 +83,8 @@ + } + ] + }, +- "16030":{ +- "inLabel":16030, ++ "30030":{ ++ "inLabel":30030, + "installed":true, + "nexthops":[ + { +@@ -101,8 +101,8 @@ + } + ] + }, +- "16031":{ +- "inLabel":16031, ++ "30031":{ ++ "inLabel":30031, + "installed":true, + "nexthops":[ + { +@@ -119,8 +119,8 @@ + } + ] + }, +- "16040":{ +- "inLabel":16040, ++ "30040":{ ++ "inLabel":30040, + "installed":true, + "nexthops":[ + { +@@ -141,8 +141,8 @@ + } + ] + }, +- "16041":{ +- "inLabel":16041, ++ "30041":{ ++ "inLabel":30041, + "installed":true, + "nexthops":[ + { +@@ -163,8 +163,8 @@ + } + ] + }, +- "16060":{ +- "inLabel":16060, ++ "30060":{ ++ "inLabel":30060, + "installed":true, + "nexthops":[ + { +@@ -185,8 +185,8 @@ + } + ] + }, +- "16061":{ +- "inLabel":16061, ++ "30061":{ ++ "inLabel":30061, + "installed":true, + "nexthops":[ + { diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step7/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step7/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step7/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step7/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step8/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step8/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step8/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step8/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step9/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step9/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step9/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/step9/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt5/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt5/zebra.conf b/tests/topotests/isis-tilfa-topo1/rt5/zebra.conf new file mode 100644 index 0000000000..4cfea1a59f --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt5/zebra.conf @@ -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-tilfa-topo1/rt6/isisd.conf b/tests/topotests/isis-tilfa-topo1/rt6/isisd.conf new file mode 100644 index 0000000000..db47622a10 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/isisd.conf @@ -0,0 +1,39 @@ +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 + isis fast-reroute ti-lfa +! +interface eth-rt5 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-multiplier 3 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0006.00 + is-type level-1 + lsp-gen-interval 2 + 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 + segment-routing prefix 2001:db8:1000::6/128 index 61 +! diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step1/show_ip_route.ref b/tests/topotests/isis-tilfa-topo1/rt6/step1/show_ip_route.ref new file mode 100644 index 0000000000..c9615d1e45 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step1/show_ip_route.ref @@ -0,0 +1,413 @@ +{ + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 16020 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 16030 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "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, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "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, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "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, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "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", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true + } + ] + } + ], + "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", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + } + ] + } + ] +} diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step1/show_ipv6_route.ref b/tests/topotests/isis-tilfa-topo1/rt6/step1/show_ipv6_route.ref new file mode 100644 index 0000000000..b69c1491ec --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step1/show_ipv6_route.ref @@ -0,0 +1,173 @@ +{ + "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-rt4", + "active":true, + "labels":[ + 16011 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 16021 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 16031 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "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, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step1/show_mpls_table.ref b/tests/topotests/isis-tilfa-topo1/rt6/step1/show_mpls_table.ref new file mode 100644 index 0000000000..2aa794124a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step1/show_mpls_table.ref @@ -0,0 +1,214 @@ +{ + "16010":{ + "inLabel":16010, + "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" + } + ] + }, + "16011":{ + "inLabel":16011, + "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" + } + ] + }, + "16020":{ + "inLabel":16020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, + "nexthop":"10.0.7.4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "nexthop":"10.0.8.5" + } + ] + }, + "16021":{ + "inLabel":16021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, + "interface":"eth-rt4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "interface":"eth-rt5" + } + ] + }, + "16030":{ + "inLabel":16030, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16030, + "installed":true, + "nexthop":"10.0.8.5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "nexthop":"10.0.7.4" + } + ] + }, + "16031":{ + "inLabel":16031, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16031, + "installed":true, + "interface":"eth-rt5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "interface":"eth-rt4" + } + ] + }, + "16040":{ + "inLabel":16040, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.7.4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "nexthop":"10.0.8.5" + } + ] + }, + "16041":{ + "inLabel":16041, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "interface":"eth-rt5" + } + ] + }, + "16050":{ + "inLabel":16050, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.8.5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "nexthop":"10.0.7.4" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "interface":"eth-rt4" + } + ] + } +} diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis-tilfa-topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000000..49c40a471c --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,46 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt4", + "vrf": "default", + "state": { + "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", + "state": { + "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-tilfa-topo1/rt6/step2/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step2/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step2/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step2/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step3/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step3/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step3/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step3/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step4/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step4/show_ip_route.ref.diff new file mode 100644 index 0000000000..7e6810d6d3 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step4/show_ip_route.ref.diff @@ -0,0 +1,55 @@ +--- rt6/step3/show_ip_route.ref 2020-08-31 22:42:48.843561366 -0300 ++++ rt6/step4/show_ip_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -16,7 +16,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 16010 ++ 3 + ] + }, + { +@@ -50,9 +50,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 16020 + ] + } + ], +@@ -61,10 +58,7 @@ + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } +@@ -124,9 +118,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -135,10 +126,7 @@ + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step4/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..8c424f6065 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step4/show_ipv6_route.ref.diff @@ -0,0 +1,55 @@ +--- rt6/step3/show_ipv6_route.ref 2020-08-31 22:42:48.843561366 -0300 ++++ rt6/step4/show_ipv6_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -15,7 +15,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 16011 ++ 3 + ] + }, + { +@@ -47,9 +47,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 16021 + ] + } + ], +@@ -57,10 +54,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } +@@ -117,9 +111,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -127,10 +118,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step4/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000000..2ebbab8a2f --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step4/show_mpls_table.ref.diff @@ -0,0 +1,117 @@ +--- rt6/step3/show_mpls_table.ref 2020-08-31 22:42:48.843561366 -0300 ++++ rt6/step4/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -11,7 +11,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16010, ++ "outLabel":3, + "installed":true, + "nexthop":"10.0.7.4" + } +@@ -29,53 +29,9 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16011, +- "installed":true, +- "interface":"eth-rt4" +- } +- ] +- }, +- "16020":{ +- "inLabel":16020, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16020, +- "installed":true, +- "nexthop":"10.0.7.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":3, +- "nexthop":"10.0.8.5" +- } +- ] +- }, +- "16021":{ +- "inLabel":16021, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16021, + "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "interface":"eth-rt5" ++ "interface":"eth-rt4" + } + ] + }, +@@ -123,50 +79,6 @@ + } + ] + }, +- "16040":{ +- "inLabel":16040, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.7.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "nexthop":"10.0.8.5" +- } +- ] +- }, +- "16041":{ +- "inLabel":16041, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "interface":"eth-rt5" +- } +- ] +- }, + "16050":{ + "inLabel":16050, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step5/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step5/show_ip_route.ref.diff new file mode 100644 index 0000000000..5151f71580 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step5/show_ip_route.ref.diff @@ -0,0 +1,55 @@ +--- rt6/step4/show_ip_route.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step5/show_ip_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -16,7 +16,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 3 ++ 16010 + ] + }, + { +@@ -50,6 +50,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 16020 + ] + } + ], +@@ -58,7 +61,10 @@ + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } +@@ -118,6 +124,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -126,7 +135,10 @@ + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step5/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..2ddc9f82b6 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step5/show_ipv6_route.ref.diff @@ -0,0 +1,55 @@ +--- rt6/step4/show_ipv6_route.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step5/show_ipv6_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -15,7 +15,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 3 ++ 16011 + ] + }, + { +@@ -47,6 +47,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 16021 + ] + } + ], +@@ -54,7 +57,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } +@@ -111,6 +117,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -118,7 +127,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step5/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000000..18354ea604 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step5/show_mpls_table.ref.diff @@ -0,0 +1,120 @@ +--- rt6/step4/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step5/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -11,7 +11,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16010, + "installed":true, + "nexthop":"10.0.7.4" + } +@@ -29,12 +29,56 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16011, + "installed":true, + "interface":"eth-rt4" + } + ] + }, ++ "16020":{ ++ "inLabel":16020, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16020, ++ "installed":true, ++ "nexthop":"10.0.7.4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "nexthop":"10.0.8.5" ++ } ++ ] ++ }, ++ "16021":{ ++ "inLabel":16021, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16021, ++ "installed":true, ++ "interface":"eth-rt4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "interface":"eth-rt5" ++ } ++ ] ++ }, + "16030":{ + "inLabel":16030, + "installed":true, +@@ -79,6 +123,50 @@ + } + ] + }, ++ "16040":{ ++ "inLabel":16040, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.7.4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "nexthop":"10.0.8.5" ++ } ++ ] ++ }, ++ "16041":{ ++ "inLabel":16041, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "interface":"eth-rt5" ++ } ++ ] ++ }, + "16050":{ + "inLabel":16050, + "installed":true, diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step6/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step6/show_ip_route.ref.diff new file mode 100644 index 0000000000..cddb6ab4bc --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step6/show_ip_route.ref.diff @@ -0,0 +1,20 @@ +--- rt6/step5/show_ip_route.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step6/show_ip_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -26,7 +26,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16010 ++ 30010 + ] + } + ] +@@ -89,7 +89,7 @@ + 0 + ], + "labels":[ +- 16030 ++ 30030 + ] + } + ], diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step6/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..389d87edc9 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step6/show_ipv6_route.ref.diff @@ -0,0 +1,20 @@ +--- rt6/step5/show_ipv6_route.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step6/show_ipv6_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -24,7 +24,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16011 ++ 30011 + ] + } + ] +@@ -84,7 +84,7 @@ + 0 + ], + "labels":[ +- 16031 ++ 30031 + ] + } + ], diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step6/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000000..8d5385dd0c --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step6/show_mpls_table.ref.diff @@ -0,0 +1,38 @@ +--- rt6/step5/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step6/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -5,7 +5,7 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16010, ++ "outLabel":30010, + "installed":true, + "nexthop":"10.0.8.5" + }, +@@ -23,7 +23,7 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16011, ++ "outLabel":30011, + "installed":true, + "interface":"eth-rt5" + }, +@@ -85,7 +85,7 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16030, ++ "outLabel":30030, + "installed":true, + "nexthop":"10.0.8.5", + "backupIndex":[ +@@ -107,7 +107,7 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16031, ++ "outLabel":30031, + "installed":true, + "interface":"eth-rt5", + "backupIndex":[ diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step7/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step7/show_ip_route.ref.diff new file mode 100644 index 0000000000..e9b88ce90b --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step7/show_ip_route.ref.diff @@ -0,0 +1,24 @@ +--- rt6/step6/show_ip_route.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step7/show_ip_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -161,9 +161,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -172,10 +169,7 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step7/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..a65d3e8e40 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step7/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- rt6/step6/show_ipv6_route.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step7/show_ipv6_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -152,9 +152,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -162,10 +159,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 3 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step7/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000000..0d119554c7 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step7/show_mpls_table.ref.diff @@ -0,0 +1,52 @@ +--- rt6/step6/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step7/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -166,49 +166,5 @@ + "interface":"eth-rt5" + } + ] +- }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.8.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "nexthop":"10.0.7.4" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "interface":"eth-rt4" +- } +- ] + } + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step8/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step8/show_ip_route.ref.diff new file mode 100644 index 0000000000..cb9d758f32 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step8/show_ip_route.ref.diff @@ -0,0 +1,24 @@ +--- rt6/step7/show_ip_route.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step8/show_ip_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -161,6 +161,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -169,7 +172,10 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step8/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..cac719262d --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step8/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- rt6/step7/show_ipv6_route.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step8/show_ipv6_route.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -152,6 +152,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -159,7 +162,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 3 ++ ] + } + ] + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step8/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000000..917954b077 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step8/show_mpls_table.ref.diff @@ -0,0 +1,52 @@ +--- rt6/step7/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step8/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -166,5 +166,49 @@ + "interface":"eth-rt5" + } + ] ++ }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.8.5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "nexthop":"10.0.7.4" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "interface":"eth-rt4" ++ } ++ ] + } + } diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step9/show_ip_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step9/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step9/show_ipv6_route.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis-tilfa-topo1/rt6/step9/show_mpls_table.ref.diff b/tests/topotests/isis-tilfa-topo1/rt6/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000000..3c9558e56a --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/step9/show_mpls_table.ref.diff @@ -0,0 +1,24 @@ +--- rt6/step8/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 ++++ rt6/step9/show_mpls_table.ref 2020-08-31 22:42:48.847561334 -0300 +@@ -167,8 +167,8 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, ++ "16500":{ ++ "inLabel":16500, + "installed":true, + "nexthops":[ + { +@@ -189,8 +189,8 @@ + } + ] + }, +- "16051":{ +- "inLabel":16051, ++ "16501":{ ++ "inLabel":16501, + "installed":true, + "nexthops":[ + { diff --git a/tests/topotests/isis-tilfa-topo1/rt6/zebra.conf b/tests/topotests/isis-tilfa-topo1/rt6/zebra.conf new file mode 100644 index 0000000000..6084010a93 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/rt6/zebra.conf @@ -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-tilfa-topo1/test_isis_tilfa_topo1.py b/tests/topotests/isis-tilfa-topo1/test_isis_tilfa_topo1.py new file mode 100755 index 0000000000..6bc097b0e7 --- /dev/null +++ b/tests/topotests/isis-tilfa-topo1/test_isis_tilfa_topo1.py @@ -0,0 +1,674 @@ +#!/usr/bin/env python + +# +# test_isis_tilfa_topo1.py +# Part of NetDEF Topology Tests +# +# Copyright (c) 2020 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_tilfa_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 +import tempfile +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 + +# Global multi-dimensional dictionary containing all expected outputs +outputs = {} + +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") + + # + # Populate multi-dimensional dictionary containing all expected outputs + # + files = ["show_ip_route.ref", + "show_ipv6_route.ref", + "show_mpls_table.ref", + "show_yang_interface_isis_adjacencies.ref"] + for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']: + outputs[rname] = {} + for step in range(1, 9 + 1): + outputs[rname][step] = {} + for file in files: + if step == 1: + # Get snapshots relative to the expected initial network convergence + filename = '{}/{}/step{}/{}'.format(CWD, rname, step, file) + outputs[rname][step][file] = open(filename).read() + else: + if file == "show_yang_interface_isis_adjacencies.ref": + continue + + # Get diff relative to the previous step + filename = '{}/{}/step{}/{}.diff'.format(CWD, rname, step, file) + + # Create temporary files in order to apply the diff + f_in = tempfile.NamedTemporaryFile() + f_in.write(outputs[rname][step - 1][file]) + f_in.flush() + f_out = tempfile.NamedTemporaryFile() + os.system("patch -s -o %s %s %s" %(f_out.name, f_in.name, filename)) + + # Store the updated snapshot and remove the temporary files + outputs[rname][step][file] = open(f_out.name).read() + f_in.close() + f_out.close() + +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() + expected = json.loads(reference) + + # 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", + outputs[rname][1]["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", + outputs[rname][1]["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", + outputs[rname][1]["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", + outputs[rname][1]["show_mpls_table.ref"]) + +# +# Step 2 +# +# Action(s): +# -Disable TI-LFA link protection on rt2's eth-sw1 interface +# +# Expected changes: +# -rt2 should uninstall the backup nexthops from destinations reachable over eth-sw1. +# +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) + + logger.info('Disabling TI-LFA link protection on rt2\'s eth-sw1 interface') + tgen.net['rt2'].cmd('vtysh -c "conf t" -c "interface eth-sw1" -c "no isis fast-reroute ti-lfa"') + + for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']: + router_compare_json_output(rname, "show ip route isis json", + outputs[rname][2]["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", + outputs[rname][2]["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", + outputs[rname][2]["show_mpls_table.ref"]) + +# +# Step 3 +# +# Action(s): +# -Enable TI-LFA link protection on rt2's eth-sw1 interface +# +# Expected changes: +# -rt2 should install backup nexthops for destinations reachable over eth-sw1. +# +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) + + logger.info('Enabling TI-LFA link protection on rt2\'s eth-sw1 interface') + tgen.net['rt2'].cmd('vtysh -c "conf t" -c "interface eth-sw1" -c "isis fast-reroute ti-lfa"') + + for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']: + router_compare_json_output(rname, "show ip route isis json", + outputs[rname][3]["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", + outputs[rname][3]["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", + outputs[rname][3]["show_mpls_table.ref"]) + +# +# Step 4 +# +# Action(s): +# -Disable SR on rt4 +# +# Expected changes: +# -rt4 should uninstall all Prefix-SIDs from the network +# -rt4 should uninstall all TI-LFA backup nexthops +# -All routers should uninstall rt4's Prefix-SIDs +# -All routers should uninstall all SR labels for destinations whose nexthop is rt4 +# -All routers should uninstall all TI-LFA backup nexthops that point to rt4 +# -All routers should uninstall all TI-LFA backup nexthops that use rt4's Prefix-SIDs +# +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) + + logger.info('Disabling SR on rt4') + tgen.net['rt4'].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 ip route isis json", + outputs[rname][4]["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", + outputs[rname][4]["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", + outputs[rname][4]["show_mpls_table.ref"]) + +# +# Step 5 +# +# Action(s): +# -Enable SR on rt4 +# +# Expected changes: +# -Reverse all changes done on the previous step +# +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) + + logger.info('Enabling SR on rt4') + tgen.net['rt4'].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 ip route isis json", + outputs[rname][5]["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", + outputs[rname][5]["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", + outputs[rname][5]["show_mpls_table.ref"]) + +# +# Step 6 +# +# Action(s): +# -Change rt5's SRGB +# +# Expected changes: +# -All routers should update all SR labels for destinations whose primary or backup nexthop is rt5 +# +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) + + logger.info('Changing rt5\'s SRGB') + tgen.net['rt5'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing global-block 30000 37999"') + + for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']: + router_compare_json_output(rname, "show ip route isis json", + outputs[rname][6]["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", + outputs[rname][6]["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", + outputs[rname][6]["show_mpls_table.ref"]) + +# +# Step 7 +# +# Action(s): +# -Delete rt5's Prefix-SIDs +# +# Expected changes: +# -All routers should uninstall rt5's Prefix-SIDs +# -All routers should uninstall all TI-LFA backup nexthops that use rt5's Prefix-SIDs +# +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) + + logger.info('Deleting rt5\'s Prefix-SIDs') + tgen.net['rt5'].cmd('vtysh -c "conf t" -c "router isis 1" -c "no segment-routing prefix 5.5.5.5/32 index 50"') + tgen.net['rt5'].cmd('vtysh -c "conf t" -c "router isis 1" -c "no segment-routing prefix 2001:db8:1000::5/128 index 51"') + + for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']: + router_compare_json_output(rname, "show ip route isis json", + outputs[rname][7]["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", + outputs[rname][7]["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", + outputs[rname][7]["show_mpls_table.ref"]) + +# +# Step 8 +# +# Action(s): +# -Re-add rt5's Prefix-SIDs +# +# Expected changes: +# -Reverse all changes done on the previous step +# +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) + + logger.info('Re-adding rt5\'s Prefix-SIDs') + tgen.net['rt5'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 5.5.5.5/32 index 50"') + tgen.net['rt5'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 2001:db8:1000::5/128 index 51"') + + for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']: + router_compare_json_output(rname, "show ip route isis json", + outputs[rname][8]["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", + outputs[rname][8]["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", + outputs[rname][8]["show_mpls_table.ref"]) + +# +# Step 9 +# +# Action(s): +# -Change rt5's Prefix-SIDs +# +# Expected changes: +# -All routers should update rt5's Prefix-SIDs +# -All routers should update all TI-LFA backup nexthops that use rt5's Prefix-SIDs +# +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) + + logger.info('Re-adding rt5\'s Prefix-SIDs') + tgen.net['rt5'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 5.5.5.5/32 index 500"') + tgen.net['rt5'].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 2001:db8:1000::5/128 index 501"') + + for rname in ['rt1', 'rt2', 'rt3', 'rt4', 'rt5', 'rt6']: + router_compare_json_output(rname, "show ip route isis json", + outputs[rname][9]["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", + outputs[rname][9]["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", + outputs[rname][9]["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)) -- 2.39.5