From ca74d663b5a06e7d4916ab6f9b70bf03e0240236 Mon Sep 17 00:00:00 2001 From: Renato Westphal Date: Mon, 31 Aug 2020 14:18:58 -0300 Subject: [PATCH] tests: add IS-IS TI-LFA unit tests Signed-off-by: Renato Westphal --- tests/isisd/test_common.c | 1 + tests/isisd/test_isis_spf.c | 118 +- tests/isisd/test_isis_spf.in | 24 + tests/isisd/test_isis_spf.refout | 1769 ++++++++++++++++++++++++++++++ 4 files changed, 1908 insertions(+), 4 deletions(-) diff --git a/tests/isisd/test_common.c b/tests/isisd/test_common.c index 536847a1da..5fa604c749 100644 --- a/tests/isisd/test_common.c +++ b/tests/isisd/test_common.c @@ -106,6 +106,7 @@ static void lsp_add_ip_reach(struct isis_lsp *lsp, pcfg.sid = *next_sid_index; *next_sid_index = *next_sid_index + 1; pcfg.sid_type = SR_SID_VALUE_TYPE_INDEX; + pcfg.node_sid = true; pcfg.last_hop_behavior = SR_LAST_HOP_BEHAVIOR_PHP; } diff --git a/tests/isisd/test_isis_spf.c b/tests/isisd/test_isis_spf.c index 73bb531dc0..7ac8611bd9 100644 --- a/tests/isisd/test_isis_spf.c +++ b/tests/isisd/test_isis_spf.c @@ -39,6 +39,7 @@ enum test_type { TEST_SPF = 1, TEST_REVERSE_SPF, + TEST_TI_LFA, }; #define F_DISPLAY_LSPDB 0x01 @@ -65,17 +66,78 @@ static void test_run_spf(struct vty *vty, const struct isis_topology *topology, /* Print the SPT and the corresponding routing table. */ isis_print_spftree(vty, spftree); - isis_print_routes(vty, spftree); + isis_print_routes(vty, spftree, false); /* Cleanup SPF tree. */ isis_spftree_del(spftree); } +static void test_run_ti_lfa(struct vty *vty, + const struct isis_topology *topology, + const struct isis_test_node *root, + struct isis_area *area, struct lspdb_head *lspdb, + int level, int tree, + struct lfa_protected_resource *protected_resource) +{ + struct isis_spftree *spftree_self; + struct isis_spftree *spftree_reverse; + struct isis_spftree *spftree_pc; + struct isis_spf_node *spf_node, *node; + uint8_t flags; + + /* Run forward SPF in the root node. */ + flags = F_SPFTREE_NO_ADJACENCIES; + spftree_self = isis_spftree_new(area, lspdb, root->sysid, level, tree, + SPF_TYPE_FORWARD, flags); + isis_run_spf(spftree_self); + + /* Run reverse SPF in the root node. */ + spftree_reverse = isis_spf_reverse_run(spftree_self); + + /* Run forward SPF on all adjacent routers. */ + isis_spf_run_neighbors(spftree_self); + + /* Compute the TI-LFA repair paths. */ + spftree_pc = isis_tilfa_compute(area, spftree_self, spftree_reverse, + protected_resource); + + /* Print the extended P-space and Q-space. */ + vty_out(vty, "P-space (self):\n"); + RB_FOREACH (node, isis_spf_nodes, &spftree_pc->lfa.p_space) + vty_out(vty, " %s\n", print_sys_hostname(node->sysid)); + vty_out(vty, "\n"); + RB_FOREACH (spf_node, isis_spf_nodes, &spftree_self->adj_nodes) { + if (RB_EMPTY(isis_spf_nodes, &spf_node->lfa.p_space)) + continue; + vty_out(vty, "P-space (%s):\n", + print_sys_hostname(spf_node->sysid)); + RB_FOREACH (node, isis_spf_nodes, &spf_node->lfa.p_space) + vty_out(vty, " %s\n", print_sys_hostname(node->sysid)); + vty_out(vty, "\n"); + } + vty_out(vty, "Q-space:\n"); + RB_FOREACH (node, isis_spf_nodes, &spftree_pc->lfa.q_space) + vty_out(vty, " %s\n", print_sys_hostname(node->sysid)); + vty_out(vty, "\n"); + + /* Print the post-convergence SPT and the correspoding routing table. */ + isis_print_spftree(vty, spftree_pc); + isis_print_routes(vty, spftree_self, true); + + /* Cleanup everything. */ + isis_spftree_del(spftree_self); + isis_spftree_del(spftree_reverse); + isis_spftree_del(spftree_pc); +} + static int test_run(struct vty *vty, const struct isis_topology *topology, const struct isis_test_node *root, enum test_type test_type, - uint8_t flags) + uint8_t flags, enum lfa_protection_type protection_type, + const char *fail_sysid_str, uint8_t fail_pseudonode_id) { struct isis_area *area; + struct lfa_protected_resource protected_resource = {}; + uint8_t fail_id[ISIS_SYS_ID_LEN] = {}; /* Init topology. */ memcpy(isis->sysid, root->sysid, sizeof(isis->sysid)); @@ -87,6 +149,26 @@ static int test_run(struct vty *vty, const struct isis_topology *topology, return CMD_WARNING; } + /* Parse failed link/node. */ + if (fail_sysid_str) { + if (sysid2buff(fail_id, fail_sysid_str) == 0) { + struct isis_dynhn *dynhn; + + dynhn = dynhn_find_by_name(fail_sysid_str); + if (dynhn == NULL) { + vty_out(vty, "Invalid system id %s\n", + fail_sysid_str); + return CMD_WARNING; + } + memcpy(fail_id, dynhn->id, ISIS_SYS_ID_LEN); + } + + protected_resource.type = protection_type; + memcpy(protected_resource.adjacency, fail_id, ISIS_SYS_ID_LEN); + LSP_PSEUDO_ID(protected_resource.adjacency) = + fail_pseudonode_id; + } + for (int level = IS_LEVEL_1; level <= IS_LEVEL_2; level++) { if (level == IS_LEVEL_1 && CHECK_FLAG(flags, F_LEVEL2_ONLY)) continue; @@ -120,6 +202,11 @@ static int test_run(struct vty *vty, const struct isis_topology *topology, &area->lspdb[level - 1], level, tree, true); break; + case TEST_TI_LFA: + test_run_ti_lfa(vty, topology, root, area, + &area->lspdb[level - 1], level, + tree, &protected_resource); + break; } } } @@ -138,6 +225,7 @@ DEFUN(test_isis, test_isis_cmd, <\ spf\ |reverse-spf\ + |ti-lfa system-id WORD [pseudonode-id <1-255>] [node-protection]\ >\ [display-lspdb] [] []", "Test command\n" @@ -148,6 +236,12 @@ DEFUN(test_isis, test_isis_cmd, "SPF root hostname\n" "Normal Shortest Path First\n" "Reverse Shortest Path First\n" + "Topology Independent LFA\n" + "System ID\n" + "System ID\n" + "Pseudonode-ID\n" + "Pseudonode-ID\n" + "Node protection\n" "Display the LSPDB\n" "Do IPv4 processing only\n" "Do IPv6 processing only\n" @@ -158,6 +252,9 @@ DEFUN(test_isis, test_isis_cmd, const struct isis_topology *topology; const struct isis_test_node *root; enum test_type test_type; + enum lfa_protection_type protection_type = 0; + const char *fail_sysid_str = NULL; + uint8_t fail_pseudonode_id = 0; uint8_t flags = 0; int idx = 0; @@ -184,7 +281,18 @@ DEFUN(test_isis, test_isis_cmd, test_type = TEST_SPF; else if (argv_find(argv, argc, "reverse-spf", &idx)) test_type = TEST_REVERSE_SPF; - else + else if (argv_find(argv, argc, "ti-lfa", &idx)) { + test_type = TEST_TI_LFA; + + fail_sysid_str = argv[idx + 2]->arg; + if (argv_find(argv, argc, "pseudonode-id", &idx)) + fail_pseudonode_id = + strtoul(argv[idx + 1]->arg, NULL, 10); + if (argv_find(argv, argc, "node-protection", &idx)) + protection_type = LFA_NODE_PROTECTION; + else + protection_type = LFA_LINK_PROTECTION; + } else return CMD_WARNING; /* Parse control flags. */ @@ -199,7 +307,8 @@ DEFUN(test_isis, test_isis_cmd, else if (argv_find(argv, argc, "level-2-only", &idx)) SET_FLAG(flags, F_LEVEL2_ONLY); - return test_run(vty, topology, root, test_type, flags); + return test_run(vty, topology, root, test_type, flags, protection_type, + fail_sysid_str, fail_pseudonode_id); } static void vty_do_exit(int isexit) @@ -295,6 +404,7 @@ int main(int argc, char **argv) listnode_add(im->isis, isis); SET_FLAG(im->options, F_ISIS_UNIT_TEST); debug_spf_events |= DEBUG_SPF_EVENTS; + debug_tilfa |= DEBUG_TILFA; debug_events |= DEBUG_EVENTS; debug_rte_events |= DEBUG_RTE_EVENTS; diff --git a/tests/isisd/test_isis_spf.in b/tests/isisd/test_isis_spf.in index d9a61782e9..6bc5442f1e 100644 --- a/tests/isisd/test_isis_spf.in +++ b/tests/isisd/test_isis_spf.in @@ -14,3 +14,27 @@ test isis topology 13 root rt1 spf ipv4-only test isis topology 4 root rt1 reverse-spf ipv4-only test isis topology 11 root rt1 reverse-spf + +test isis topology 1 root rt1 ti-lfa system-id rt2 +test isis topology 2 root rt1 ti-lfa system-id rt3 +test isis topology 2 root rt1 ti-lfa system-id rt1 pseudonode-id 1 +test isis topology 2 root rt5 ti-lfa system-id rt1 pseudonode-id 1 +test isis topology 3 root rt5 ti-lfa system-id rt4 ipv4-only +test isis topology 3 root rt5 ti-lfa system-id rt3 ipv4-only +test isis topology 4 root rt1 ti-lfa system-id rt2 ipv4-only +test isis topology 4 root rt4 ti-lfa system-id rt6 ipv4-only +test isis topology 5 root rt1 ti-lfa system-id rt2 ipv4-only +test isis topology 6 root rt4 ti-lfa system-id rt3 ipv4-only +test isis topology 7 root rt11 ti-lfa system-id rt8 ipv4-only +test isis topology 7 root rt6 ti-lfa system-id rt5 ipv4-only +test isis topology 8 root rt2 ti-lfa system-id rt1 ipv4-only +test isis topology 8 root rt2 ti-lfa system-id rt5 ipv4-only +test isis topology 9 root rt1 ti-lfa system-id rt3 +test isis topology 9 root rt1 ti-lfa system-id rt2 +test isis topology 9 root rt9 ti-lfa system-id rt5 +test isis topology 9 root rt9 ti-lfa system-id rt8 +test isis topology 10 root rt1 ti-lfa system-id rt2 +test isis topology 10 root rt1 ti-lfa system-id rt4 +test isis topology 11 root rt2 ti-lfa system-id rt4 +test isis topology 12 root rt1 ti-lfa system-id rt3 ipv4-only +test isis topology 13 root rt1 ti-lfa system-id rt3 ipv4-only diff --git a/tests/isisd/test_isis_spf.refout b/tests/isisd/test_isis_spf.refout index ed0569947c..ea7cc14d7a 100644 --- a/tests/isisd/test_isis_spf.refout +++ b/tests/isisd/test_isis_spf.refout @@ -699,5 +699,1774 @@ IS-IS L1 IPv6 routing table: 2001:db8::5/128 30 - rt3 - 2001:db8::6/128 40 - rt3 - +test# +test# test isis topology 1 root rt1 ti-lfa system-id rt2 +P-space (self): + rt3 + rt5 + +P-space (rt3): + rt3 + rt5 + rt6 + +Q-space: + rt2 + rt4 + rt6 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt3 TE-IS 10 rt3 - rt1(4) +rt5 TE-IS 20 rt3 - rt3(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +rt6 TE-IS 30 rt3 - rt5(4) +10.0.255.5/32 IP TE 30 rt3 - rt5(4) +rt4 TE-IS 40 rt3 - rt6(4) +10.0.255.6/32 IP TE 40 rt3 - rt6(4) +rt2 TE-IS 50 rt3 - rt4(4) +10.0.255.4/32 IP TE 50 rt3 - rt4(4) +10.0.255.2/32 IP TE 60 rt3 - rt2(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.2/32 60 - rt3 16060 + 10.0.255.4/32 50 - rt3 16060 + +P-space (self): + rt3 + rt5 + +P-space (rt3): + rt3 + rt5 + rt6 + +Q-space: + rt2 + rt4 + rt6 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt1 +2001:db8::1/128 IP6 internal 0 rt1(4) +rt3 TE-IS 10 rt3 - rt1(4) +rt5 TE-IS 20 rt3 - rt3(4) +2001:db8::3/128 IP6 internal 20 rt3 - rt3(4) +rt6 TE-IS 30 rt3 - rt5(4) +2001:db8::5/128 IP6 internal 30 rt3 - rt5(4) +rt4 TE-IS 40 rt3 - rt6(4) +2001:db8::6/128 IP6 internal 40 rt3 - rt6(4) +rt2 TE-IS 50 rt3 - rt4(4) +2001:db8::4/128 IP6 internal 50 rt3 - rt4(4) +2001:db8::2/128 IP6 internal 60 rt3 - rt2(4) + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::2/128 60 - rt3 16061 + 2001:db8::4/128 50 - rt3 16061 + +test# test isis topology 2 root rt1 ti-lfa system-id rt3 +P-space (self): + rt2 + rt4 + rt5 + rt6 + +P-space (rt2): + rt2 + +P-space (rt4): + rt2 + rt4 + rt5 + rt6 + +P-space (rt5): + rt2 + rt4 + rt5 + rt6 + +Q-space: + rt3 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt4 TE-IS 10 rt4 - rt1(4) +rt5 TE-IS 10 rt5 - rt1(4) +rt2 TE-IS 15 rt2 - rt1(4) +rt1 +rt6 TE-IS 20 rt4 - rt4(4) + rt5 - rt5(4) +10.0.255.4/32 IP TE 20 rt4 - rt4(4) +10.0.255.5/32 IP TE 20 rt5 - rt5(4) +10.0.255.2/32 IP TE 25 rt2 - rt2(4) +10.0.255.6/32 IP TE 30 rt4 - rt6(4) + rt5 - +rt3 TE-IS 50 rt5 - rt5(4) +10.0.255.3/32 IP TE 60 rt5 - rt3(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.3/32 60 - rt5 16050/18 + +P-space (self): + rt2 + rt4 + rt5 + rt6 + +P-space (rt2): + rt2 + +P-space (rt4): + rt2 + rt4 + rt5 + rt6 + +P-space (rt5): + rt2 + rt4 + rt5 + rt6 + +Q-space: + rt3 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt1 +2001:db8::1/128 IP6 internal 0 rt1(4) +rt4 TE-IS 10 rt4 - rt1(4) +rt5 TE-IS 10 rt5 - rt1(4) +rt2 TE-IS 15 rt2 - rt1(4) +rt1 +rt6 TE-IS 20 rt4 - rt4(4) + rt5 - rt5(4) +2001:db8::4/128 IP6 internal 20 rt4 - rt4(4) +2001:db8::5/128 IP6 internal 20 rt5 - rt5(4) +2001:db8::2/128 IP6 internal 25 rt2 - rt2(4) +2001:db8::6/128 IP6 internal 30 rt4 - rt6(4) + rt5 - +rt3 TE-IS 50 rt5 - rt5(4) +2001:db8::3/128 IP6 internal 60 rt5 - rt3(4) + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::3/128 60 - rt5 16051/19 + +test# test isis topology 2 root rt1 ti-lfa system-id rt1 pseudonode-id 1 +P-space (self): + rt2 + rt3 + +P-space (rt2): + rt2 + rt3 + +P-space (rt3): + rt2 + rt3 + +Q-space: + rt4 + rt5 + rt6 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt2 TE-IS 15 rt2 - rt1(4) +10.0.255.2/32 IP TE 25 rt2 - rt2(4) +rt3 TE-IS 30 rt3 - rt1(4) +10.0.255.3/32 IP TE 40 rt3 - rt3(4) +rt4 TE-IS 55 rt2 - rt2(4) +rt1 +rt6 TE-IS 65 rt2 - rt4(4) +rt5 TE-IS 65 rt2 - rt1(2) +10.0.255.4/32 IP TE 65 rt2 - rt4(4) +10.0.255.6/32 IP TE 75 rt2 - rt6(4) +10.0.255.5/32 IP TE 75 rt2 - rt5(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.4/32 65 - rt2 16020/18 + 10.0.255.5/32 75 - rt2 16020/18 + 10.0.255.6/32 75 - rt2 16020/18 + +P-space (self): + rt2 + rt3 + +P-space (rt2): + rt2 + rt3 + +P-space (rt3): + rt2 + rt3 + +Q-space: + rt4 + rt5 + rt6 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt1 +2001:db8::1/128 IP6 internal 0 rt1(4) +rt2 TE-IS 15 rt2 - rt1(4) +2001:db8::2/128 IP6 internal 25 rt2 - rt2(4) +rt3 TE-IS 30 rt3 - rt1(4) +2001:db8::3/128 IP6 internal 40 rt3 - rt3(4) +rt4 TE-IS 55 rt2 - rt2(4) +rt1 +rt6 TE-IS 65 rt2 - rt4(4) +rt5 TE-IS 65 rt2 - rt1(2) +2001:db8::4/128 IP6 internal 65 rt2 - rt4(4) +2001:db8::6/128 IP6 internal 75 rt2 - rt6(4) +2001:db8::5/128 IP6 internal 75 rt2 - rt5(4) + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::4/128 65 - rt2 16021/19 + 2001:db8::5/128 75 - rt2 16021/19 + 2001:db8::6/128 75 - rt2 16021/19 + +test# test isis topology 2 root rt5 ti-lfa system-id rt1 pseudonode-id 1 +P-space (self): + rt6 + +P-space (rt3): + rt1 + rt2 + rt3 + rt4 + +P-space (rt6): + rt4 + rt6 + +Q-space: + rt1 + rt2 + rt3 + rt4 + rt6 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt5 +10.0.255.5/32 IP internal 0 rt5(4) +rt6 TE-IS 10 rt6 - rt5(4) +rt4 TE-IS 20 rt6 - rt6(4) +10.0.255.6/32 IP TE 20 rt6 - rt6(4) +rt1 pseudo_TE-IS 30 rt6 - rt4(4) +rt1 TE-IS 30 rt6 - rt1(2) +10.0.255.4/32 IP TE 30 rt6 - rt4(4) +rt3 TE-IS 40 rt3 - rt5(4) +10.0.255.1/32 IP TE 40 rt6 - rt1(4) +rt2 TE-IS 45 rt6 - rt1(4) +10.0.255.3/32 IP TE 50 rt3 - rt3(4) +10.0.255.2/32 IP TE 55 rt6 - rt2(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.1/32 40 - rt6 16040 + 10.0.255.2/32 55 - rt6 16040 + 10.0.255.4/32 30 - rt6 - + +P-space (self): + rt6 + +P-space (rt3): + rt1 + rt2 + rt3 + rt4 + +P-space (rt6): + rt4 + rt6 + +Q-space: + rt1 + rt2 + rt3 + rt4 + rt6 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt5 +2001:db8::5/128 IP6 internal 0 rt5(4) +rt6 TE-IS 10 rt6 - rt5(4) +rt4 TE-IS 20 rt6 - rt6(4) +2001:db8::6/128 IP6 internal 20 rt6 - rt6(4) +rt1 pseudo_TE-IS 30 rt6 - rt4(4) +rt1 TE-IS 30 rt6 - rt1(2) +2001:db8::4/128 IP6 internal 30 rt6 - rt4(4) +rt3 TE-IS 40 rt3 - rt5(4) +2001:db8::1/128 IP6 internal 40 rt6 - rt1(4) +rt2 TE-IS 45 rt6 - rt1(4) +2001:db8::3/128 IP6 internal 50 rt3 - rt3(4) +2001:db8::2/128 IP6 internal 55 rt6 - rt2(4) + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::1/128 40 - rt6 16041 + 2001:db8::2/128 55 - rt6 16041 + 2001:db8::4/128 30 - rt6 - + +test# test isis topology 3 root rt5 ti-lfa system-id rt4 ipv4-only +P-space (self): + rt6 + +P-space (rt3): + rt1 + rt2 + rt3 + rt4 + rt6 + +P-space (rt6): + rt1 + rt2 + rt3 + rt4 + rt6 + +Q-space: + rt1 + rt2 + rt3 + rt4 + rt6 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt5 +10.0.255.5/32 IP internal 0 rt5(4) +rt6 TE-IS 10 rt6 - rt5(4) +rt4 TE-IS 20 rt6 - rt6(4) +10.0.255.6/32 IP TE 20 rt6 - rt6(4) +rt3 TE-IS 30 rt3 - rt5(4) +rt2 TE-IS 30 rt6 - rt4(4) +10.0.255.4/32 IP TE 30 rt6 - rt4(4) +rt1 TE-IS 40 rt3 - rt3(4) + rt6 - rt2(4) +10.0.255.3/32 IP TE 40 rt3 - rt3(4) +10.0.255.2/32 IP TE 40 rt6 - rt2(4) +10.0.255.1/32 IP TE 50 rt3 - rt1(4) + rt6 - + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.1/32 50 - rt3 - + - rt6 - + 10.0.255.2/32 40 - rt6 - + 10.0.255.4/32 30 - rt6 - + +test# test isis topology 3 root rt5 ti-lfa system-id rt3 ipv4-only +P-space (self): + rt1 + rt2 + rt4 + rt6 + +P-space (rt4): + rt1 + rt2 + rt3 + rt4 + rt6 + +P-space (rt6): + rt1 + rt2 + rt3 + rt4 + rt6 + +Q-space: + rt1 + rt2 + rt3 + rt4 + rt6 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt5 +10.0.255.5/32 IP internal 0 rt5(4) +rt4 TE-IS 10 rt4 - rt5(4) +rt6 TE-IS 10 rt6 - rt5(4) +rt2 TE-IS 20 rt4 - rt4(4) +10.0.255.4/32 IP TE 20 rt4 - rt4(4) +10.0.255.6/32 IP TE 20 rt6 - rt6(4) +rt1 TE-IS 30 rt4 - rt2(4) +rt3 TE-IS 30 rt4 - rt2(4) +10.0.255.2/32 IP TE 30 rt4 - rt2(4) +10.0.255.1/32 IP TE 40 rt4 - rt1(4) +10.0.255.3/32 IP TE 40 rt4 - rt3(4) + +IS-IS L1 IPv4 routing table: + +test# test isis topology 4 root rt1 ti-lfa system-id rt2 ipv4-only +P-space (self): + rt3 + rt5 + rt7 + +P-space (rt3): + rt3 + rt5 + rt7 + +Q-space: + rt2 + rt4 + rt6 + rt8 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt3 TE-IS 10 rt3 - rt1(4) +rt5 TE-IS 20 rt3 - rt3(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +rt7 TE-IS 30 rt3 - rt5(4) +10.0.255.5/32 IP TE 30 rt3 - rt5(4) +10.0.255.7/32 IP TE 40 rt3 - rt7(4) +rt6 TE-IS 70 rt3 - rt5(4) +rt4 TE-IS 80 rt3 - rt6(4) +rt8 TE-IS 80 rt3 - rt6(4) +10.0.255.6/32 IP TE 80 rt3 - rt6(4) +rt2 TE-IS 90 rt3 - rt4(4) +10.0.255.4/32 IP TE 90 rt3 - rt4(4) +10.0.255.8/32 IP TE 90 rt3 - rt8(4) +10.0.255.2/32 IP TE 100 rt3 - rt2(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.2/32 100 - rt3 16050/17 + 10.0.255.4/32 90 - rt3 16050/17 + 10.0.255.6/32 80 - rt3 16050/17 + 10.0.255.8/32 90 - rt3 16050/17 + +test# test isis topology 4 root rt4 ti-lfa system-id rt6 ipv4-only +P-space (self): + rt1 + rt2 + rt3 + rt5 + rt7 + +P-space (rt2): + rt1 + rt2 + rt3 + rt5 + rt7 + +Q-space: + rt6 + rt8 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt4 +10.0.255.4/32 IP internal 0 rt4(4) +rt2 TE-IS 10 rt2 - rt4(4) +rt1 TE-IS 20 rt2 - rt2(4) +10.0.255.2/32 IP TE 20 rt2 - rt2(4) +rt3 TE-IS 30 rt2 - rt1(4) +10.0.255.1/32 IP TE 30 rt2 - rt1(4) +rt5 TE-IS 40 rt2 - rt3(4) +10.0.255.3/32 IP TE 40 rt2 - rt3(4) +rt7 TE-IS 50 rt2 - rt5(4) +10.0.255.5/32 IP TE 50 rt2 - rt5(4) +10.0.255.7/32 IP TE 60 rt2 - rt7(4) +rt6 TE-IS 90 rt2 - rt5(4) +rt8 TE-IS 100 rt2 - rt6(4) +10.0.255.6/32 IP TE 100 rt2 - rt6(4) +10.0.255.8/32 IP TE 110 rt2 - rt8(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.6/32 100 - rt2 16050/17 + 10.0.255.8/32 110 - rt2 16050/17 + +test# test isis topology 5 root rt1 ti-lfa system-id rt2 ipv4-only +P-space (self): + rt3 + rt5 + rt7 + +P-space (rt3): + rt3 + rt5 + rt7 + rt8 + +Q-space: + rt2 + rt4 + rt6 + rt8 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt3 TE-IS 10 rt3 - rt1(4) +rt5 TE-IS 20 rt3 - rt3(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +rt7 TE-IS 30 rt3 - rt5(4) +10.0.255.5/32 IP TE 30 rt3 - rt5(4) +rt8 TE-IS 40 rt3 - rt7(4) +10.0.255.7/32 IP TE 40 rt3 - rt7(4) +rt6 TE-IS 50 rt3 - rt8(4) +10.0.255.8/32 IP TE 50 rt3 - rt8(4) +rt4 TE-IS 60 rt3 - rt6(4) +10.0.255.6/32 IP TE 60 rt3 - rt6(4) +rt2 TE-IS 70 rt3 - rt4(4) +10.0.255.4/32 IP TE 70 rt3 - rt4(4) +10.0.255.2/32 IP TE 80 rt3 - rt2(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.2/32 80 - rt3 16080 + 10.0.255.4/32 70 - rt3 16080 + 10.0.255.6/32 60 - rt3 16080 + +test# test isis topology 6 root rt4 ti-lfa system-id rt3 ipv4-only +P-space (self): + rt2 + rt5 + rt6 + rt7 + rt8 + +P-space (rt2): + rt1 + rt2 + +P-space (rt6): + rt5 + rt6 + rt7 + rt8 + +Q-space: + rt1 + rt3 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt4 +10.0.255.4/32 IP internal 0 rt4(4) +rt2 TE-IS 10 rt2 - rt4(4) +rt6 TE-IS 10 rt6 - rt4(4) +rt1 TE-IS 20 rt2 - rt2(4) +rt5 TE-IS 20 rt6 - rt6(4) +rt8 TE-IS 20 rt6 - rt6(4) +10.0.255.2/32 IP TE 20 rt2 - rt2(4) +10.0.255.6/32 IP TE 20 rt6 - rt6(4) +rt3 TE-IS 30 rt2 - rt1(4) +rt7 TE-IS 30 rt6 - rt5(4) + rt8(4) +10.0.255.1/32 IP TE 30 rt2 - rt1(4) +10.0.255.5/32 IP TE 30 rt6 - rt5(4) +10.0.255.8/32 IP TE 30 rt6 - rt8(4) +10.0.255.3/32 IP TE 40 rt2 - rt3(4) +10.0.255.7/32 IP TE 40 rt6 - rt7(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.3/32 40 - rt2 16010 + +test# test isis topology 7 root rt11 ti-lfa system-id rt8 ipv4-only +P-space (self): + rt10 + rt12 + +P-space (rt10): + rt1 + rt4 + rt7 + rt10 + +P-space (rt12): + rt9 + rt12 + +Q-space: + rt1 + rt2 + rt3 + rt4 + rt5 + rt6 + rt7 + rt8 + rt9 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt11 +10.0.255.11/32 IP internal 0 rt11(4) +rt10 TE-IS 10 rt10 - rt11(4) +rt12 TE-IS 10 rt12 - rt11(4) +rt9 TE-IS 20 rt12 - rt12(4) +10.0.255.10/32 IP TE 20 rt10 - rt10(4) +10.0.255.12/32 IP TE 20 rt12 - rt12(4) +rt7 TE-IS 30 rt10 - rt10(4) +rt8 TE-IS 30 rt12 - rt9(4) +10.0.255.9/32 IP TE 30 rt12 - rt9(4) +rt4 TE-IS 40 rt10 - rt7(4) +rt5 TE-IS 40 rt12 - rt8(4) +10.0.255.7/32 IP TE 40 rt10 - rt7(4) +10.0.255.8/32 IP TE 40 rt12 - rt8(4) +rt6 TE-IS 50 rt12 - rt9(4) + rt5(4) +rt1 TE-IS 50 rt10 - rt4(4) +rt2 TE-IS 50 rt12 - rt5(4) +10.0.255.4/32 IP TE 50 rt10 - rt4(4) +10.0.255.5/32 IP TE 50 rt12 - rt5(4) +rt3 TE-IS 60 rt12 - rt6(4) + rt2(4) +10.0.255.6/32 IP TE 60 rt12 - rt6(4) +10.0.255.1/32 IP TE 60 rt10 - rt1(4) +10.0.255.2/32 IP TE 60 rt12 - rt2(4) +10.0.255.3/32 IP TE 70 rt12 - rt3(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.1/32 60 - rt10 - + 10.0.255.2/32 60 - rt12 16090 + 10.0.255.3/32 70 - rt12 16090 + 10.0.255.4/32 50 - rt10 - + 10.0.255.5/32 50 - rt12 16090 + 10.0.255.6/32 60 - rt12 16090 + 10.0.255.7/32 40 - rt10 - + 10.0.255.8/32 40 - rt12 16090 + +test# test isis topology 7 root rt6 ti-lfa system-id rt5 ipv4-only +P-space (self): + rt3 + +P-space (rt3): + rt2 + rt3 + +P-space (rt9): + rt1 + rt2 + rt4 + rt5 + rt7 + rt8 + rt9 + rt10 + rt11 + rt12 + +Q-space: + rt1 + rt2 + rt4 + rt5 + rt7 + rt8 + rt9 + rt10 + rt11 + rt12 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt6 +10.0.255.6/32 IP internal 0 rt6(4) +rt3 TE-IS 10 rt3 - rt6(4) +rt2 TE-IS 20 rt3 - rt3(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +rt9 TE-IS 30 rt9 - rt6(4) +rt5 TE-IS 30 rt3 - rt2(4) +10.0.255.2/32 IP TE 30 rt3 - rt2(4) +rt8 TE-IS 40 rt9 - rt9(4) + rt3 - rt5(4) +rt12 TE-IS 40 rt9 - rt9(4) +rt4 TE-IS 40 rt3 - rt5(4) +10.0.255.9/32 IP TE 40 rt9 - rt9(4) +10.0.255.5/32 IP TE 40 rt3 - rt5(4) +rt7 TE-IS 50 rt9 - rt8(4) + rt3 - rt4(4) +rt11 TE-IS 50 rt9 - rt8(4) + rt3 - rt12(4) +rt1 TE-IS 50 rt3 - rt4(4) +10.0.255.8/32 IP TE 50 rt9 - rt8(4) + rt3 - +10.0.255.12/32 IP TE 50 rt9 - rt12(4) +10.0.255.4/32 IP TE 50 rt3 - rt4(4) +rt10 TE-IS 60 rt9 - rt11(4) + rt3 - +10.0.255.7/32 IP TE 60 rt9 - rt7(4) + rt3 - +10.0.255.11/32 IP TE 60 rt9 - rt11(4) + rt3 - +10.0.255.1/32 IP TE 60 rt3 - rt1(4) +10.0.255.10/32 IP TE 70 rt9 - rt10(4) + rt3 - + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------ + 10.0.255.1/32 60 - rt3 16020 + 10.0.255.4/32 50 - rt3 16020 + 10.0.255.5/32 40 - rt3 16020 + 10.0.255.7/32 60 - rt9 - + - rt3 - + 10.0.255.8/32 50 - rt9 - + - rt3 - + 10.0.255.10/32 70 - rt9 - + - rt3 - + 10.0.255.11/32 60 - rt9 - + - rt3 - + +test# test isis topology 8 root rt2 ti-lfa system-id rt1 ipv4-only +P-space (self): + rt3 + rt5 + rt6 + rt8 + rt9 + rt11 + rt12 + +P-space (rt3): + rt3 + rt6 + +P-space (rt5): + rt5 + rt6 + rt8 + rt9 + rt11 + rt12 + +Q-space: + rt1 + rt4 + rt7 + rt10 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt2 +10.0.255.2/32 IP internal 0 rt2(4) +rt3 TE-IS 10 rt3 - rt2(4) +rt5 TE-IS 10 rt5 - rt2(4) +rt6 TE-IS 20 rt3 - rt3(4) + rt5 - rt5(4) +rt8 TE-IS 20 rt5 - rt5(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +10.0.255.5/32 IP TE 20 rt5 - rt5(4) +rt9 TE-IS 30 rt5 - rt8(4) +rt11 TE-IS 30 rt5 - rt8(4) +10.0.255.6/32 IP TE 30 rt3 - rt6(4) + rt5 - +10.0.255.8/32 IP TE 30 rt5 - rt8(4) +rt12 TE-IS 40 rt5 - rt9(4) + rt11(4) +10.0.255.9/32 IP TE 40 rt5 - rt9(4) +10.0.255.11/32 IP TE 40 rt5 - rt11(4) +10.0.255.12/32 IP TE 50 rt5 - rt12(4) +rt10 TE-IS 60 rt5 - rt11(4) +rt7 TE-IS 70 rt5 - rt10(4) +10.0.255.10/32 IP TE 70 rt5 - rt10(4) +rt4 TE-IS 80 rt5 - rt7(4) +10.0.255.7/32 IP TE 80 rt5 - rt7(4) +rt1 TE-IS 90 rt5 - rt4(4) +10.0.255.4/32 IP TE 90 rt5 - rt4(4) +10.0.255.1/32 IP TE 100 rt5 - rt1(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------ + 10.0.255.1/32 100 - rt5 16110/17 + 10.0.255.4/32 90 - rt5 16110/17 + 10.0.255.7/32 80 - rt5 16110/17 + 10.0.255.10/32 70 - rt5 16110/17 + +test# test isis topology 8 root rt2 ti-lfa system-id rt5 ipv4-only +P-space (self): + rt1 + rt3 + rt4 + rt7 + rt10 + +P-space (rt1): + rt1 + rt4 + rt7 + rt10 + +P-space (rt3): + rt3 + rt6 + +Q-space: + rt5 + rt6 + rt8 + rt9 + rt11 + rt12 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt2 +10.0.255.2/32 IP internal 0 rt2(4) +rt1 TE-IS 10 rt1 - rt2(4) +rt3 TE-IS 10 rt3 - rt2(4) +rt4 TE-IS 20 rt1 - rt1(4) +rt6 TE-IS 20 rt3 - rt3(4) +10.0.255.1/32 IP TE 20 rt1 - rt1(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +rt7 TE-IS 30 rt1 - rt4(4) +rt5 TE-IS 30 rt3 - rt6(4) +10.0.255.4/32 IP TE 30 rt1 - rt4(4) +10.0.255.6/32 IP TE 30 rt3 - rt6(4) +rt10 TE-IS 40 rt1 - rt7(4) +rt8 TE-IS 40 rt3 - rt5(4) +10.0.255.7/32 IP TE 40 rt1 - rt7(4) +10.0.255.5/32 IP TE 40 rt3 - rt5(4) +rt9 TE-IS 50 rt3 - rt8(4) +rt11 TE-IS 50 rt3 - rt8(4) +10.0.255.10/32 IP TE 50 rt1 - rt10(4) +10.0.255.8/32 IP TE 50 rt3 - rt8(4) +rt12 TE-IS 60 rt3 - rt9(4) + rt11(4) +10.0.255.9/32 IP TE 60 rt3 - rt9(4) +10.0.255.11/32 IP TE 60 rt3 - rt11(4) +10.0.255.12/32 IP TE 70 rt3 - rt12(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------ + 10.0.255.5/32 40 - rt3 16060 + 10.0.255.8/32 50 - rt3 16060 + 10.0.255.9/32 60 - rt3 16060 + 10.0.255.11/32 60 - rt3 16060 + 10.0.255.12/32 70 - rt3 16060 + +test# test isis topology 9 root rt1 ti-lfa system-id rt3 +P-space (self): + rt2 + rt4 + rt5 + rt6 + rt7 + rt8 + rt9 + +P-space (rt2): + rt2 + rt4 + rt5 + rt6 + rt7 + rt8 + rt9 + +Q-space: + rt3 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt2 TE-IS 10 rt2 - rt1(4) +rt4 TE-IS 20 rt2 - rt2(4) +10.0.255.2/32 IP TE 20 rt2 - rt2(4) +rt5 TE-IS 30 rt2 - rt4(4) +10.0.255.4/32 IP TE 30 rt2 - rt4(4) +rt9 TE-IS 40 rt2 - rt5(4) +10.0.255.5/32 IP TE 40 rt2 - rt5(4) +rt6 TE-IS 50 rt2 - rt4(4) + rt9(4) +rt7 TE-IS 50 rt2 - rt4(4) + rt9(4) +rt8 TE-IS 50 rt2 - rt4(4) + rt9(4) +10.0.255.9/32 IP TE 50 rt2 - rt9(4) +10.0.255.6/32 IP TE 60 rt2 - rt6(4) +10.0.255.7/32 IP TE 60 rt2 - rt7(4) +10.0.255.8/32 IP TE 60 rt2 - rt8(4) +rt3 TE-IS 120 rt2 - rt4(4) +10.0.255.3/32 IP TE 130 rt2 - rt3(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.3/32 130 - rt2 16040/18 + +P-space (self): + rt2 + rt4 + rt5 + rt6 + rt7 + rt8 + rt9 + +P-space (rt2): + rt2 + rt4 + rt5 + rt6 + rt7 + rt8 + rt9 + +Q-space: + rt3 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt1 +2001:db8::1/128 IP6 internal 0 rt1(4) +rt2 TE-IS 10 rt2 - rt1(4) +rt4 TE-IS 20 rt2 - rt2(4) +2001:db8::2/128 IP6 internal 20 rt2 - rt2(4) +rt5 TE-IS 30 rt2 - rt4(4) +2001:db8::4/128 IP6 internal 30 rt2 - rt4(4) +rt9 TE-IS 40 rt2 - rt5(4) +2001:db8::5/128 IP6 internal 40 rt2 - rt5(4) +rt6 TE-IS 50 rt2 - rt4(4) + rt9(4) +rt7 TE-IS 50 rt2 - rt4(4) + rt9(4) +rt8 TE-IS 50 rt2 - rt4(4) + rt9(4) +2001:db8::9/128 IP6 internal 50 rt2 - rt9(4) +2001:db8::6/128 IP6 internal 60 rt2 - rt6(4) +2001:db8::7/128 IP6 internal 60 rt2 - rt7(4) +2001:db8::8/128 IP6 internal 60 rt2 - rt8(4) +rt3 TE-IS 120 rt2 - rt4(4) +2001:db8::3/128 IP6 internal 130 rt2 - rt3(4) + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::3/128 130 - rt2 16041/19 + +test# test isis topology 9 root rt1 ti-lfa system-id rt2 +P-space (self): + rt3 + +P-space (rt3): + rt3 + +Q-space: + rt2 + rt4 + rt5 + rt6 + rt7 + rt8 + rt9 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt3 TE-IS 10 rt3 - rt1(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +rt4 TE-IS 110 rt3 - rt3(4) +rt2 TE-IS 120 rt3 - rt4(4) +rt5 TE-IS 120 rt3 - rt4(4) +10.0.255.4/32 IP TE 120 rt3 - rt4(4) +rt9 TE-IS 130 rt3 - rt5(4) +10.0.255.2/32 IP TE 130 rt3 - rt2(4) +10.0.255.5/32 IP TE 130 rt3 - rt5(4) +rt6 TE-IS 140 rt3 - rt4(4) + rt9(4) +rt7 TE-IS 140 rt3 - rt4(4) + rt9(4) +rt8 TE-IS 140 rt3 - rt4(4) + rt9(4) +10.0.255.9/32 IP TE 140 rt3 - rt9(4) +10.0.255.6/32 IP TE 150 rt3 - rt6(4) +10.0.255.7/32 IP TE 150 rt3 - rt7(4) +10.0.255.8/32 IP TE 150 rt3 - rt8(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.2/32 130 - rt3 16030/18 + 10.0.255.4/32 120 - rt3 16030/18 + 10.0.255.5/32 130 - rt3 16030/18 + 10.0.255.6/32 150 - rt3 16030/18 + 10.0.255.7/32 150 - rt3 16030/18 + 10.0.255.8/32 150 - rt3 16030/18 + 10.0.255.9/32 140 - rt3 16030/18 + +P-space (self): + rt3 + +P-space (rt3): + rt3 + +Q-space: + rt2 + rt4 + rt5 + rt6 + rt7 + rt8 + rt9 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt1 +2001:db8::1/128 IP6 internal 0 rt1(4) +rt3 TE-IS 10 rt3 - rt1(4) +2001:db8::3/128 IP6 internal 20 rt3 - rt3(4) +rt4 TE-IS 110 rt3 - rt3(4) +rt2 TE-IS 120 rt3 - rt4(4) +rt5 TE-IS 120 rt3 - rt4(4) +2001:db8::4/128 IP6 internal 120 rt3 - rt4(4) +rt9 TE-IS 130 rt3 - rt5(4) +2001:db8::2/128 IP6 internal 130 rt3 - rt2(4) +2001:db8::5/128 IP6 internal 130 rt3 - rt5(4) +rt6 TE-IS 140 rt3 - rt4(4) + rt9(4) +rt7 TE-IS 140 rt3 - rt4(4) + rt9(4) +rt8 TE-IS 140 rt3 - rt4(4) + rt9(4) +2001:db8::9/128 IP6 internal 140 rt3 - rt9(4) +2001:db8::6/128 IP6 internal 150 rt3 - rt6(4) +2001:db8::7/128 IP6 internal 150 rt3 - rt7(4) +2001:db8::8/128 IP6 internal 150 rt3 - rt8(4) + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::2/128 130 - rt3 16031/19 + 2001:db8::4/128 120 - rt3 16031/19 + 2001:db8::5/128 130 - rt3 16031/19 + 2001:db8::6/128 150 - rt3 16031/19 + 2001:db8::7/128 150 - rt3 16031/19 + 2001:db8::8/128 150 - rt3 16031/19 + 2001:db8::9/128 140 - rt3 16031/19 + +test# test isis topology 9 root rt9 ti-lfa system-id rt5 +P-space (self): + rt6 + rt7 + rt8 + +P-space (rt6): + rt6 + +P-space (rt7): + rt7 + +P-space (rt8): + rt8 + +Q-space: + rt1 + rt2 + rt3 + rt4 + rt5 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt9 +10.0.255.9/32 IP internal 0 rt9(4) +rt6 TE-IS 10 rt6 - rt9(4) +rt7 TE-IS 10 rt7 - rt9(4) +rt8 TE-IS 10 rt8 - rt9(4) +10.0.255.6/32 IP TE 20 rt6 - rt6(4) +10.0.255.7/32 IP TE 20 rt7 - rt7(4) +10.0.255.8/32 IP TE 20 rt8 - rt8(4) +rt4 TE-IS 40 rt6 - rt6(4) + rt7 - rt7(4) + rt8 - rt8(4) +rt2 TE-IS 50 rt6 - rt4(4) + rt7 - + rt8 - +rt5 TE-IS 50 rt6 - rt4(4) + rt7 - + rt8 - +10.0.255.4/32 IP TE 50 rt6 - rt4(4) + rt7 - + rt8 - +rt1 TE-IS 60 rt6 - rt2(4) + rt7 - + rt8 - +10.0.255.2/32 IP TE 60 rt6 - rt2(4) + rt7 - + rt8 - +10.0.255.5/32 IP TE 60 rt6 - rt5(4) + rt7 - + rt8 - +rt3 TE-IS 70 rt6 - rt1(4) + rt7 - + rt8 - +10.0.255.1/32 IP TE 70 rt6 - rt1(4) + rt7 - + rt8 - +10.0.255.3/32 IP TE 80 rt6 - rt3(4) + rt7 - + rt8 - + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.1/32 70 - rt6 16060/16 + - rt7 16070/16 + - rt8 16080/16 + 10.0.255.2/32 60 - rt6 16060/16 + - rt7 16070/16 + - rt8 16080/16 + 10.0.255.3/32 80 - rt6 16060/16 + - rt7 16070/16 + - rt8 16080/16 + 10.0.255.4/32 50 - rt6 16060/16 + - rt7 16070/16 + - rt8 16080/16 + 10.0.255.5/32 60 - rt6 16060/16 + - rt7 16070/16 + - rt8 16080/16 + +P-space (self): + rt6 + rt7 + rt8 + +P-space (rt6): + rt6 + +P-space (rt7): + rt7 + +P-space (rt8): + rt8 + +Q-space: + rt1 + rt2 + rt3 + rt4 + rt5 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt9 +2001:db8::9/128 IP6 internal 0 rt9(4) +rt6 TE-IS 10 rt6 - rt9(4) +rt7 TE-IS 10 rt7 - rt9(4) +rt8 TE-IS 10 rt8 - rt9(4) +2001:db8::6/128 IP6 internal 20 rt6 - rt6(4) +2001:db8::7/128 IP6 internal 20 rt7 - rt7(4) +2001:db8::8/128 IP6 internal 20 rt8 - rt8(4) +rt4 TE-IS 40 rt6 - rt6(4) + rt7 - rt7(4) + rt8 - rt8(4) +rt2 TE-IS 50 rt6 - rt4(4) + rt7 - + rt8 - +rt5 TE-IS 50 rt6 - rt4(4) + rt7 - + rt8 - +2001:db8::4/128 IP6 internal 50 rt6 - rt4(4) + rt7 - + rt8 - +rt1 TE-IS 60 rt6 - rt2(4) + rt7 - + rt8 - +2001:db8::2/128 IP6 internal 60 rt6 - rt2(4) + rt7 - + rt8 - +2001:db8::5/128 IP6 internal 60 rt6 - rt5(4) + rt7 - + rt8 - +rt3 TE-IS 70 rt6 - rt1(4) + rt7 - + rt8 - +2001:db8::1/128 IP6 internal 70 rt6 - rt1(4) + rt7 - + rt8 - +2001:db8::3/128 IP6 internal 80 rt6 - rt3(4) + rt7 - + rt8 - + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::1/128 70 - rt6 16061/17 + - rt7 16071/17 + - rt8 16081/17 + 2001:db8::2/128 60 - rt6 16061/17 + - rt7 16071/17 + - rt8 16081/17 + 2001:db8::3/128 80 - rt6 16061/17 + - rt7 16071/17 + - rt8 16081/17 + 2001:db8::4/128 50 - rt6 16061/17 + - rt7 16071/17 + - rt8 16081/17 + 2001:db8::5/128 60 - rt6 16061/17 + - rt7 16071/17 + - rt8 16081/17 + +test# test isis topology 9 root rt9 ti-lfa system-id rt8 +P-space (self): + rt1 + rt2 + rt3 + rt4 + rt5 + rt6 + rt7 + +P-space (rt5): + rt1 + rt2 + rt3 + rt4 + rt5 + +P-space (rt6): + rt6 + +P-space (rt7): + rt7 + +Q-space: + rt8 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt9 +10.0.255.9/32 IP internal 0 rt9(4) +rt5 TE-IS 10 rt5 - rt9(4) +rt6 TE-IS 10 rt6 - rt9(4) +rt7 TE-IS 10 rt7 - rt9(4) +rt4 TE-IS 20 rt5 - rt5(4) +10.0.255.5/32 IP TE 20 rt5 - rt5(4) +10.0.255.6/32 IP TE 20 rt6 - rt6(4) +10.0.255.7/32 IP TE 20 rt7 - rt7(4) +rt2 TE-IS 30 rt5 - rt4(4) +10.0.255.4/32 IP TE 30 rt5 - rt4(4) +rt1 TE-IS 40 rt5 - rt2(4) +10.0.255.2/32 IP TE 40 rt5 - rt2(4) +rt8 TE-IS 50 rt5 - rt4(4) +rt3 TE-IS 50 rt5 - rt1(4) +10.0.255.1/32 IP TE 50 rt5 - rt1(4) +10.0.255.8/32 IP TE 60 rt5 - rt8(4) +10.0.255.3/32 IP TE 60 rt5 - rt3(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.8/32 60 - rt5 16040/26 + +P-space (self): + rt1 + rt2 + rt3 + rt4 + rt5 + rt6 + rt7 + +P-space (rt5): + rt1 + rt2 + rt3 + rt4 + rt5 + +P-space (rt6): + rt6 + +P-space (rt7): + rt7 + +Q-space: + rt8 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt9 +2001:db8::9/128 IP6 internal 0 rt9(4) +rt5 TE-IS 10 rt5 - rt9(4) +rt6 TE-IS 10 rt6 - rt9(4) +rt7 TE-IS 10 rt7 - rt9(4) +rt4 TE-IS 20 rt5 - rt5(4) +2001:db8::5/128 IP6 internal 20 rt5 - rt5(4) +2001:db8::6/128 IP6 internal 20 rt6 - rt6(4) +2001:db8::7/128 IP6 internal 20 rt7 - rt7(4) +rt2 TE-IS 30 rt5 - rt4(4) +2001:db8::4/128 IP6 internal 30 rt5 - rt4(4) +rt1 TE-IS 40 rt5 - rt2(4) +2001:db8::2/128 IP6 internal 40 rt5 - rt2(4) +rt8 TE-IS 50 rt5 - rt4(4) +rt3 TE-IS 50 rt5 - rt1(4) +2001:db8::1/128 IP6 internal 50 rt5 - rt1(4) +2001:db8::8/128 IP6 internal 60 rt5 - rt8(4) +2001:db8::3/128 IP6 internal 60 rt5 - rt3(4) + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::8/128 60 - rt5 16041/27 + +test# test isis topology 10 root rt1 ti-lfa system-id rt2 +P-space (self): + rt3 + rt4 + rt6 + rt7 + +P-space (rt3): + rt3 + rt6 + +P-space (rt4): + rt4 + rt7 + +Q-space: + rt2 + rt5 + rt8 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt3 TE-IS 20 rt3 - rt1(4) +rt4 TE-IS 20 rt4 - rt1(4) +rt6 TE-IS 30 rt3 - rt3(4) +rt7 TE-IS 30 rt4 - rt4(4) +10.0.255.3/32 IP TE 30 rt3 - rt3(4) +10.0.255.4/32 IP TE 30 rt4 - rt4(4) +10.0.255.6/32 IP TE 40 rt3 - rt6(4) +10.0.255.7/32 IP TE 40 rt4 - rt7(4) +rt8 TE-IS 80 rt3 - rt6(4) + rt4 - rt7(4) +rt5 TE-IS 90 rt3 - rt8(4) + rt4 - +10.0.255.8/32 IP TE 90 rt3 - rt8(4) + rt4 - +rt2 TE-IS 100 rt3 - rt5(4) + rt4 - +10.0.255.5/32 IP TE 100 rt3 - rt5(4) + rt4 - +10.0.255.2/32 IP TE 110 rt3 - rt2(4) + rt4 - + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.2/32 110 - rt3 20060/18 + - rt4 16070/18 + 10.0.255.5/32 100 - rt3 20060/18 + - rt4 16070/18 + 10.0.255.8/32 90 - rt3 20060/18 + - rt4 16070/18 + +P-space (self): + rt3 + rt4 + rt6 + rt7 + +P-space (rt3): + rt3 + rt6 + +P-space (rt4): + rt4 + rt7 + +Q-space: + rt2 + rt5 + rt8 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt1 +2001:db8::1/128 IP6 internal 0 rt1(4) +rt3 TE-IS 20 rt3 - rt1(4) +rt4 TE-IS 20 rt4 - rt1(4) +rt6 TE-IS 30 rt3 - rt3(4) +rt7 TE-IS 30 rt4 - rt4(4) +2001:db8::3/128 IP6 internal 30 rt3 - rt3(4) +2001:db8::4/128 IP6 internal 30 rt4 - rt4(4) +2001:db8::6/128 IP6 internal 40 rt3 - rt6(4) +2001:db8::7/128 IP6 internal 40 rt4 - rt7(4) +rt8 TE-IS 80 rt3 - rt6(4) + rt4 - rt7(4) +rt5 TE-IS 90 rt3 - rt8(4) + rt4 - +2001:db8::8/128 IP6 internal 90 rt3 - rt8(4) + rt4 - +rt2 TE-IS 100 rt3 - rt5(4) + rt4 - +2001:db8::5/128 IP6 internal 100 rt3 - rt5(4) + rt4 - +2001:db8::2/128 IP6 internal 110 rt3 - rt2(4) + rt4 - + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::2/128 110 - rt3 20061/19 + - rt4 16071/19 + 2001:db8::5/128 100 - rt3 20061/19 + - rt4 16071/19 + 2001:db8::8/128 90 - rt3 20061/19 + - rt4 16071/19 + +test# test isis topology 10 root rt1 ti-lfa system-id rt4 +P-space (self): + rt2 + rt3 + rt5 + rt6 + rt8 + +P-space (rt2): + rt2 + rt5 + rt8 + +P-space (rt3): + rt3 + rt6 + +Q-space: + rt4 + rt7 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt2 TE-IS 10 rt2 - rt1(4) +rt3 TE-IS 20 rt3 - rt1(4) +rt5 TE-IS 20 rt2 - rt2(4) +10.0.255.2/32 IP TE 20 rt2 - rt2(4) +rt6 TE-IS 30 rt3 - rt3(4) +rt8 TE-IS 30 rt2 - rt5(4) +10.0.255.3/32 IP TE 30 rt3 - rt3(4) +10.0.255.5/32 IP TE 30 rt2 - rt5(4) +10.0.255.6/32 IP TE 40 rt3 - rt6(4) +10.0.255.8/32 IP TE 40 rt2 - rt8(4) +rt7 TE-IS 80 rt2 - rt8(4) +rt4 TE-IS 90 rt2 - rt7(4) +10.0.255.7/32 IP TE 90 rt2 - rt7(4) +10.0.255.4/32 IP TE 100 rt2 - rt4(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.4/32 100 - rt2 16080/20 + 10.0.255.7/32 90 - rt2 16080/20 + +P-space (self): + rt2 + rt3 + rt5 + rt6 + rt8 + +P-space (rt2): + rt2 + rt5 + rt8 + +P-space (rt3): + rt3 + rt6 + +Q-space: + rt4 + rt7 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt1 +2001:db8::1/128 IP6 internal 0 rt1(4) +rt2 TE-IS 10 rt2 - rt1(4) +rt3 TE-IS 20 rt3 - rt1(4) +rt5 TE-IS 20 rt2 - rt2(4) +2001:db8::2/128 IP6 internal 20 rt2 - rt2(4) +rt6 TE-IS 30 rt3 - rt3(4) +rt8 TE-IS 30 rt2 - rt5(4) +2001:db8::3/128 IP6 internal 30 rt3 - rt3(4) +2001:db8::5/128 IP6 internal 30 rt2 - rt5(4) +2001:db8::6/128 IP6 internal 40 rt3 - rt6(4) +2001:db8::8/128 IP6 internal 40 rt2 - rt8(4) +rt7 TE-IS 80 rt2 - rt8(4) +rt4 TE-IS 90 rt2 - rt7(4) +2001:db8::7/128 IP6 internal 90 rt2 - rt7(4) +2001:db8::4/128 IP6 internal 100 rt2 - rt4(4) + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::4/128 100 - rt2 16081/21 + 2001:db8::7/128 90 - rt2 16081/21 + +test# test isis topology 11 root rt2 ti-lfa system-id rt4 +P-space (self): + +P-space (rt1): + rt1 + rt3 + rt5 + +P-space (rt3): + rt1 + rt3 + rt5 + rt6 + +Q-space: + rt1 + rt3 + rt4 + rt5 + rt6 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt2 +10.0.255.2/32 IP internal 0 rt2(4) +rt1 TE-IS 50 rt1 - rt2(4) +rt3 TE-IS 50 rt3 - rt2(4) +rt2 +rt5 TE-IS 60 rt3 - rt3(4) +10.0.255.1/32 IP TE 60 rt1 - rt1(4) +10.0.255.3/32 IP TE 60 rt3 - rt3(4) +rt4 TE-IS 70 rt3 - rt5(4) +rt6 TE-IS 70 rt3 - rt5(4) +10.0.255.5/32 IP TE 70 rt3 - rt5(4) +10.0.255.4/32 IP TE 80 rt3 - rt4(4) +10.0.255.6/32 IP TE 80 rt3 - rt6(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.1/32 60 - rt1 - + 10.0.255.3/32 60 - rt3 - + 10.0.255.4/32 80 - rt3 16050 + 10.0.255.5/32 70 - rt3 - + 10.0.255.6/32 80 - rt3 - + +P-space (self): + +P-space (rt1): + rt1 + rt3 + rt5 + +P-space (rt3): + rt1 + rt3 + rt5 + rt6 + +Q-space: + rt1 + rt3 + rt4 + rt5 + rt6 + +IS-IS paths to level-1 routers that speak IPv6 +Vertex Type Metric Next-Hop Interface Parent +rt2 +2001:db8::2/128 IP6 internal 0 rt2(4) +rt1 TE-IS 50 rt1 - rt2(4) +rt3 TE-IS 50 rt3 - rt2(4) +rt2 +rt5 TE-IS 60 rt3 - rt3(4) +2001:db8::1/128 IP6 internal 60 rt1 - rt1(4) +2001:db8::3/128 IP6 internal 60 rt3 - rt3(4) +rt4 TE-IS 70 rt3 - rt5(4) +rt6 TE-IS 70 rt3 - rt5(4) +2001:db8::5/128 IP6 internal 70 rt3 - rt5(4) +2001:db8::4/128 IP6 internal 80 rt3 - rt4(4) +2001:db8::6/128 IP6 internal 80 rt3 - rt6(4) + +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------- + 2001:db8::1/128 60 - rt1 - + 2001:db8::3/128 60 - rt3 - + 2001:db8::4/128 80 - rt3 16051 + 2001:db8::5/128 70 - rt3 - + 2001:db8::6/128 80 - rt3 - + +test# test isis topology 12 root rt1 ti-lfa system-id rt3 ipv4-only +P-space (self): + rt2 + rt4 + rt6 + rt8 + rt10 + +P-space (rt2): + rt2 + rt4 + rt6 + rt8 + rt10 + +Q-space: + rt3 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt2 TE-IS 10 rt2 - rt1(4) +rt4 TE-IS 20 rt2 - rt2(4) +10.0.255.2/32 IP TE 20 rt2 - rt2(4) +rt6 TE-IS 30 rt2 - rt4(4) +10.0.255.4/32 IP TE 30 rt2 - rt4(4) +rt8 TE-IS 40 rt2 - rt6(4) +10.0.255.6/32 IP TE 40 rt2 - rt6(4) +rt10 TE-IS 50 rt2 - rt8(4) +10.0.255.8/32 IP TE 50 rt2 - rt8(4) +10.0.255.10/32 IP TE 60 rt2 - rt10(4) +rt7 TE-IS 140 rt2 - rt8(4) +rt9 TE-IS 150 rt2 - rt7(4) +10.0.255.7/32 IP TE 150 rt2 - rt7(4) +10.0.255.9/32 IP TE 160 rt2 - rt9(4) +rt5 TE-IS 340 rt2 - rt7(4) +10.0.255.5/32 IP TE 350 rt2 - rt5(4) +rt3 TE-IS 740 rt2 - rt5(4) +10.0.255.3/32 IP TE 750 rt2 - rt3(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------------- + 10.0.255.3/32 750 - rt2 16080/17/16/16 + 10.0.255.5/32 350 - rt2 16080/17/16 + 10.0.255.7/32 150 - rt2 16080/17 + 10.0.255.9/32 160 - rt2 16080/17/18 + +test# test isis topology 13 root rt1 ti-lfa system-id rt3 ipv4-only +P-space (self): + rt2 + +P-space (rt2): + rt2 + rt4 + +Q-space: + rt3 + rt4 + rt5 + rt6 + rt7 + +IS-IS paths to level-1 routers that speak IP +Vertex Type Metric Next-Hop Interface Parent +rt1 +10.0.255.1/32 IP internal 0 rt1(4) +rt2 TE-IS 10 rt2 - rt1(4) +rt4 TE-IS 20 rt2 - rt2(4) +10.0.255.2/32 IP TE 20 rt2 - rt2(4) +rt3 TE-IS 30 rt2 - rt4(4) +10.0.255.4/32 IP TE 30 rt2 - rt4(4) +rt5 TE-IS 40 rt2 - rt3(4) +rt6 TE-IS 40 rt2 - rt3(4) +10.0.255.3/32 IP TE 40 rt2 - rt3(4) +rt7 TE-IS 50 rt2 - rt5(4) + rt6(4) +10.0.255.5/32 IP TE 50 rt2 - rt5(4) +10.0.255.6/32 IP TE 50 rt2 - rt6(4) +10.0.255.7/32 IP TE 60 rt2 - rt7(4) + +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.3/32 40 - rt2 16040 + 10.0.255.5/32 50 - rt2 16040 + 10.0.255.6/32 50 - rt2 16040 + 10.0.255.7/32 60 - rt2 16040 + test# end. -- 2.39.5