diff --git a/tests/isisd/test_common.c b/tests/isisd/test_common.c index 5fa604c749..5b2028ffd4 100644 --- a/tests/isisd/test_common.c +++ b/tests/isisd/test_common.c @@ -69,6 +69,24 @@ test_find_adjacency(const struct isis_test_node *tnode, const char *hostname) return NULL; } +mpls_label_t test_topology_node_ldp_label(const struct isis_topology *topology, + struct in_addr router_id) +{ + for (size_t i = 0; topology->nodes[i].hostname[0]; i++) { + const struct isis_test_node *tnode = &topology->nodes[i]; + struct in_addr node_router_id; + + if (!tnode->router_id) + continue; + + (void)inet_pton(AF_INET, tnode->router_id, &node_router_id); + if (IPV4_ADDR_SAME(&router_id, &node_router_id)) + return (50000 + (i + 1) * 100); + } + + return MPLS_INVALID_LABEL; +} + static struct isis_lsp *lsp_add(struct lspdb_head *lspdb, struct isis_area *area, int level, const uint8_t *sysid, uint8_t pseudonode_id) diff --git a/tests/isisd/test_common.h b/tests/isisd/test_common.h index 6fd0d3813e..3359a893ac 100644 --- a/tests/isisd/test_common.h +++ b/tests/isisd/test_common.h @@ -70,6 +70,9 @@ test_topology_find_node(const struct isis_topology *topology, const char *hostname, uint8_t pseudonode_id); extern const struct isis_topology * test_topology_find(struct isis_topology *test_topologies, uint16_t number); +extern mpls_label_t +test_topology_node_ldp_label(const struct isis_topology *topology, + struct in_addr router_id); extern int test_topology_load(const struct isis_topology *topology, struct isis_area *area, struct lspdb_head lspdb[]); diff --git a/tests/isisd/test_isis_spf.c b/tests/isisd/test_isis_spf.c index 36ef93669b..e06944a037 100644 --- a/tests/isisd/test_isis_spf.c +++ b/tests/isisd/test_isis_spf.c @@ -31,6 +31,7 @@ #include "isisd/isisd.h" #include "isisd/isis_dynhn.h" #include "isisd/isis_misc.h" +#include "isisd/isis_route.h" #include "isisd/isis_spf.h" #include "isisd/isis_spf_private.h" @@ -40,6 +41,7 @@ enum test_type { TEST_SPF = 1, TEST_REVERSE_SPF, TEST_LFA, + TEST_RLFA, TEST_TI_LFA, }; @@ -105,6 +107,86 @@ static void test_run_lfa(struct vty *vty, const struct isis_topology *topology, isis_spftree_del(spftree_self); } +static void test_run_rlfa(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; + struct rlfa *rlfa; + 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 local LFA repair paths. */ + isis_lfa_compute(area, NULL, spftree_self, protected_resource); + + /* Compute the remote LFA repair paths. */ + spftree_pc = isis_rlfa_compute(area, spftree_self, spftree_reverse, 0, + 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. */ + isis_print_spftree(vty, spftree_pc); + + /* + * Activate the computed RLFAs (if any) using artificial LDP labels for + * the PQ nodes. + */ + frr_each_safe (rlfa_tree, &spftree_self->lfa.remote.rlfas, rlfa) { + struct zapi_rlfa_response response = {}; + + response.pq_label = test_topology_node_ldp_label( + topology, rlfa->pq_address); + assert(response.pq_label != MPLS_INVALID_LABEL); + isis_rlfa_activate(spftree_self, rlfa, &response); + } + + /* Print the SPT and the corresponding main/backup routing tables. */ + isis_print_spftree(vty, spftree_self); + vty_out(vty, "Main:\n"); + isis_print_routes(vty, spftree_self, false, false); + vty_out(vty, "Backup:\n"); + isis_print_routes(vty, spftree_self, false, true); + + /* Cleanup everything. */ + isis_spftree_del(spftree_self); + isis_spftree_del(spftree_reverse); + isis_spftree_del(spftree_pc); +} + static void test_run_ti_lfa(struct vty *vty, const struct isis_topology *topology, const struct isis_test_node *root, @@ -242,6 +324,11 @@ static int test_run(struct vty *vty, const struct isis_topology *topology, &area->lspdb[level - 1], level, tree, &protected_resource); break; + case TEST_RLFA: + test_run_rlfa(vty, topology, root, area, + &area->lspdb[level - 1], level, + tree, &protected_resource); + break; case TEST_TI_LFA: test_run_ti_lfa(vty, topology, root, area, &area->lspdb[level - 1], level, @@ -266,6 +353,7 @@ DEFUN(test_isis, test_isis_cmd, spf\ |reverse-spf\ |lfa system-id WORD [pseudonode-id <1-255>]\ + |remote-lfa system-id WORD [pseudonode-id <1-255>]\ |ti-lfa system-id WORD [pseudonode-id <1-255>] [node-protection]\ >\ [display-lspdb] [] []", @@ -282,6 +370,11 @@ DEFUN(test_isis, test_isis_cmd, "System ID\n" "Pseudonode-ID\n" "Pseudonode-ID\n" + "Remote LFA\n" + "System ID\n" + "System ID\n" + "Pseudonode-ID\n" + "Pseudonode-ID\n" "Topology Independent LFA\n" "System ID\n" "System ID\n" @@ -330,6 +423,14 @@ DEFUN(test_isis, test_isis_cmd, else if (argv_find(argv, argc, "lfa", &idx)) { test_type = TEST_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); + protection_type = LFA_LINK_PROTECTION; + } else if (argv_find(argv, argc, "remote-lfa", &idx)) { + test_type = TEST_RLFA; + fail_sysid_str = argv[idx + 2]->arg; if (argv_find(argv, argc, "pseudonode-id", &idx)) fail_pseudonode_id = diff --git a/tests/isisd/test_isis_spf.in b/tests/isisd/test_isis_spf.in index 93e18124e6..f8f65ffdf7 100644 --- a/tests/isisd/test_isis_spf.in +++ b/tests/isisd/test_isis_spf.in @@ -31,6 +31,18 @@ test isis topology 14 root rt1 lfa system-id rt1 pseudonode-id 1 test isis topology 14 root rt1 lfa system-id rt2 test isis topology 14 root rt5 lfa system-id rt4 +test isis topology 1 root rt1 remote-lfa system-id rt2 +test isis topology 2 root rt5 remote-lfa system-id rt1 pseudonode-id 1 +test isis topology 3 root rt5 remote-lfa system-id rt4 ipv4-only +test isis topology 3 root rt5 remote-lfa system-id rt3 ipv4-only +test isis topology 5 root rt1 remote-lfa system-id rt2 ipv4-only +test isis topology 6 root rt4 remote-lfa system-id rt3 ipv4-only +test isis topology 7 root rt11 remote-lfa system-id rt8 ipv4-only +test isis topology 7 root rt6 remote-lfa system-id rt5 ipv4-only +test isis topology 8 root rt2 remote-lfa system-id rt5 ipv4-only +test isis topology 11 root rt2 remote-lfa system-id rt4 +test isis topology 13 root rt1 remote-lfa system-id rt3 ipv4-only + 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 diff --git a/tests/isisd/test_isis_spf.refout b/tests/isisd/test_isis_spf.refout index dced6fb103..024f7256e0 100644 --- a/tests/isisd/test_isis_spf.refout +++ b/tests/isisd/test_isis_spf.refout @@ -1806,6 +1806,1227 @@ IS-IS L1 IPv6 routing table: 2001:db8::3/128 50 - rt3 - 2001:db8::4/128 60 - rt3 - +test# +test# test isis topology 1 root rt1 remote-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 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 10 rt3 - rt1(4) +rt4 TE-IS 20 rt2 - rt2(4) +rt5 TE-IS 20 rt3 - rt3(4) +10.0.255.2/32 IP TE 20 rt2 - rt2(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +rt6 TE-IS 30 rt2 - rt4(4) + rt3 - rt5(4) +10.0.255.4/32 IP TE 30 rt2 - rt4(4) +10.0.255.5/32 IP TE 30 rt3 - rt5(4) +10.0.255.6/32 IP TE 40 rt2 - rt6(4) + rt3 - + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 10.0.255.1/32 0 - - - + 10.0.255.2/32 20 - rt2 implicit-null + 10.0.255.3/32 20 - rt3 implicit-null + 10.0.255.4/32 30 - rt2 16040 + 10.0.255.5/32 30 - rt3 16050 + 10.0.255.6/32 40 - rt2 16060 + - rt3 16060 + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + -------------------------------------------------------- + 10.0.255.2/32 60 - rt3 50600/16020 + 10.0.255.4/32 50 - rt3 50600/16040 + +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 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 10 rt3 - rt1(4) +rt4 TE-IS 20 rt2 - rt2(4) +rt5 TE-IS 20 rt3 - rt3(4) +2001:db8::2/128 IP6 internal 20 rt2 - rt2(4) +2001:db8::3/128 IP6 internal 20 rt3 - rt3(4) +rt6 TE-IS 30 rt2 - rt4(4) + rt3 - rt5(4) +2001:db8::4/128 IP6 internal 30 rt2 - rt4(4) +2001:db8::5/128 IP6 internal 30 rt3 - rt5(4) +2001:db8::6/128 IP6 internal 40 rt2 - rt6(4) + rt3 - + +Main: +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------------ + 2001:db8::1/128 0 - - - + 2001:db8::2/128 20 - rt2 implicit-null + 2001:db8::3/128 20 - rt3 implicit-null + 2001:db8::4/128 30 - rt2 16041 + 2001:db8::5/128 30 - rt3 16051 + 2001:db8::6/128 40 - rt2 16061 + - rt3 16061 + +Backup: +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 2001:db8::2/128 60 - rt3 50600/16021 + 2001:db8::4/128 50 - rt3 50600/16041 + +test# test isis topology 2 root rt5 remote-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 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) +rt1 TE-IS 10 rt1 - rt5(4) +rt4 TE-IS 10 rt4 - rt5(4) +rt6 TE-IS 10 rt6 - rt5(4) +rt1 pseudo_TE-IS 20 rt1 - rt1(4) + rt4 - rt4(4) +10.0.255.1/32 IP TE 20 rt1 - rt1(4) +10.0.255.4/32 IP TE 20 rt4 - rt4(4) +10.0.255.6/32 IP TE 20 rt6 - rt6(4) +rt2 TE-IS 25 rt1 - rt1(4) +10.0.255.2/32 IP TE 35 rt1 - rt2(4) +rt3 TE-IS 40 rt3 - rt5(4) + rt1 - rt1(4) +10.0.255.3/32 IP TE 50 rt3 - rt3(4) + rt1 - + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 10.0.255.1/32 20 - rt1 implicit-null + 10.0.255.2/32 35 - rt1 16020 + 10.0.255.3/32 50 - rt3 implicit-null + - rt1 implicit-null + 10.0.255.4/32 20 - rt4 implicit-null + 10.0.255.5/32 0 - - - + 10.0.255.6/32 20 - rt6 implicit-null + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + -------------------------------------------------------- + 10.0.255.1/32 40 - rt6 50400/16010 + 10.0.255.2/32 55 - rt6 50400/16020 + 10.0.255.4/32 30 - rt6 50400/16040 + +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 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) +rt1 TE-IS 10 rt1 - rt5(4) +rt4 TE-IS 10 rt4 - rt5(4) +rt6 TE-IS 10 rt6 - rt5(4) +rt1 pseudo_TE-IS 20 rt1 - rt1(4) + rt4 - rt4(4) +2001:db8::1/128 IP6 internal 20 rt1 - rt1(4) +2001:db8::4/128 IP6 internal 20 rt4 - rt4(4) +2001:db8::6/128 IP6 internal 20 rt6 - rt6(4) +rt2 TE-IS 25 rt1 - rt1(4) +2001:db8::2/128 IP6 internal 35 rt1 - rt2(4) +rt3 TE-IS 40 rt3 - rt5(4) + rt1 - rt1(4) +2001:db8::3/128 IP6 internal 50 rt3 - rt3(4) + rt1 - + +Main: +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------------ + 2001:db8::1/128 20 - rt1 implicit-null + 2001:db8::2/128 35 - rt1 16021 + 2001:db8::3/128 50 - rt3 implicit-null + - rt1 implicit-null + 2001:db8::4/128 20 - rt4 implicit-null + 2001:db8::5/128 0 - - - + 2001:db8::6/128 20 - rt6 implicit-null + +Backup: +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 2001:db8::1/128 40 - rt6 50400/16011 + 2001:db8::2/128 55 - rt6 50400/16021 + 2001:db8::4/128 30 - rt6 50400/16041 + +test# test isis topology 3 root rt5 remote-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 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) +rt3 TE-IS 30 rt3 - rt5(4) + rt4 - rt2(4) +rt1 TE-IS 30 rt4 - rt2(4) +10.0.255.2/32 IP TE 30 rt4 - rt2(4) +10.0.255.3/32 IP TE 40 rt3 - rt3(4) + rt4 - +10.0.255.1/32 IP TE 40 rt4 - rt1(4) + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 10.0.255.1/32 40 - rt4 16010 + 10.0.255.2/32 30 - rt4 16020 + 10.0.255.3/32 40 - rt3 implicit-null + - rt4 implicit-null + 10.0.255.4/32 20 - rt4 implicit-null + 10.0.255.5/32 0 - - - + 10.0.255.6/32 20 - rt6 implicit-null + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------- + 10.0.255.1/32 40 - rt3 16010 + - rt6 16010 + 10.0.255.2/32 30 - rt3 16020 + - rt6 16020 + 10.0.255.4/32 20 - rt3 16040 + - rt6 16040 + +test# test isis topology 3 root rt5 remote-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 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) +rt3 TE-IS 30 rt3 - rt5(4) + rt4 - rt2(4) +rt1 TE-IS 30 rt4 - rt2(4) +10.0.255.2/32 IP TE 30 rt4 - rt2(4) +10.0.255.3/32 IP TE 40 rt3 - rt3(4) + rt4 - +10.0.255.1/32 IP TE 40 rt4 - rt1(4) + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 10.0.255.1/32 40 - rt4 16010 + 10.0.255.2/32 30 - rt4 16020 + 10.0.255.3/32 40 - rt3 implicit-null + - rt4 implicit-null + 10.0.255.4/32 20 - rt4 implicit-null + 10.0.255.5/32 0 - - - + 10.0.255.6/32 20 - rt6 implicit-null + +Backup: +IS-IS L1 IPv4 routing table: + +test# test isis topology 5 root rt1 remote-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 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 10 rt3 - rt1(4) +rt4 TE-IS 20 rt2 - rt2(4) +rt5 TE-IS 20 rt3 - rt3(4) +10.0.255.2/32 IP TE 20 rt2 - rt2(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +rt6 TE-IS 30 rt2 - rt4(4) +rt7 TE-IS 30 rt3 - rt5(4) +10.0.255.4/32 IP TE 30 rt2 - rt4(4) +10.0.255.5/32 IP TE 30 rt3 - rt5(4) +rt8 TE-IS 40 rt2 - rt6(4) + rt3 - rt7(4) +10.0.255.6/32 IP TE 40 rt2 - rt6(4) +10.0.255.7/32 IP TE 40 rt3 - rt7(4) +10.0.255.8/32 IP TE 50 rt2 - rt8(4) + rt3 - + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 10.0.255.1/32 0 - - - + 10.0.255.2/32 20 - rt2 implicit-null + 10.0.255.3/32 20 - rt3 implicit-null + 10.0.255.4/32 30 - rt2 16040 + 10.0.255.5/32 30 - rt3 16050 + 10.0.255.6/32 40 - rt2 16060 + 10.0.255.7/32 40 - rt3 16070 + 10.0.255.8/32 50 - rt2 16080 + - rt3 16080 + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + -------------------------------------------------------- + 10.0.255.2/32 80 - rt3 50800/16020 + 10.0.255.4/32 70 - rt3 50800/16040 + 10.0.255.6/32 60 - rt3 50800/16060 + +test# test isis topology 6 root rt4 remote-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 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) +rt3 TE-IS 10 rt3 - rt4(4) +rt6 TE-IS 10 rt6 - rt4(4) +rt1 TE-IS 20 rt2 - rt2(4) + rt3 - rt3(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.3/32 IP TE 20 rt3 - rt3(4) +10.0.255.6/32 IP TE 20 rt6 - rt6(4) +rt7 TE-IS 30 rt6 - rt5(4) + rt8(4) +10.0.255.1/32 IP TE 30 rt2 - rt1(4) + rt3 - +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.7/32 IP TE 40 rt6 - rt7(4) + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 10.0.255.1/32 30 - rt2 16010 + - rt3 16010 + 10.0.255.2/32 20 - rt2 implicit-null + 10.0.255.3/32 20 - rt3 implicit-null + 10.0.255.4/32 0 - - - + 10.0.255.5/32 30 - rt6 16050 + 10.0.255.6/32 20 - rt6 implicit-null + 10.0.255.7/32 40 - rt6 16070 + 10.0.255.8/32 30 - rt6 16080 + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + -------------------------------------------------------- + 10.0.255.3/32 40 - rt2 50100/16030 + +test# test isis topology 7 root rt11 remote-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 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) +rt8 TE-IS 10 rt8 - rt11(4) +rt10 TE-IS 10 rt10 - rt11(4) +rt12 TE-IS 10 rt12 - rt11(4) +rt5 TE-IS 20 rt8 - rt8(4) +rt7 TE-IS 20 rt8 - rt8(4) +rt9 TE-IS 20 rt8 - rt8(4) + rt12 - rt12(4) +10.0.255.8/32 IP TE 20 rt8 - rt8(4) +10.0.255.10/32 IP TE 20 rt10 - rt10(4) +10.0.255.12/32 IP TE 20 rt12 - rt12(4) +rt2 TE-IS 30 rt8 - rt5(4) +rt4 TE-IS 30 rt8 - rt5(4) + rt7(4) +rt6 TE-IS 30 rt8 - rt5(4) +10.0.255.5/32 IP TE 30 rt8 - rt5(4) +10.0.255.7/32 IP TE 30 rt8 - rt7(4) +10.0.255.9/32 IP TE 30 rt8 - rt9(4) + rt12 - +rt3 TE-IS 40 rt8 - rt2(4) + rt6(4) +rt1 TE-IS 40 rt8 - rt4(4) +10.0.255.2/32 IP TE 40 rt8 - rt2(4) +10.0.255.4/32 IP TE 40 rt8 - rt4(4) +10.0.255.6/32 IP TE 40 rt8 - rt6(4) +10.0.255.3/32 IP TE 50 rt8 - rt3(4) +10.0.255.1/32 IP TE 50 rt8 - rt1(4) + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------------- + 10.0.255.1/32 50 - rt8 16010 + 10.0.255.2/32 40 - rt8 16020 + 10.0.255.3/32 50 - rt8 16030 + 10.0.255.4/32 40 - rt8 16040 + 10.0.255.5/32 30 - rt8 16050 + 10.0.255.6/32 40 - rt8 16060 + 10.0.255.7/32 30 - rt8 16070 + 10.0.255.8/32 20 - rt8 implicit-null + 10.0.255.9/32 30 - rt8 16090 + - rt12 16090 + 10.0.255.10/32 20 - rt10 implicit-null + 10.0.255.11/32 0 - - - + 10.0.255.12/32 20 - rt12 implicit-null + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + -------------------------------------------------------- + 10.0.255.1/32 50 - rt10 16010 + 10.0.255.2/32 60 - rt12 50900/16020 + 10.0.255.3/32 70 - rt12 50900/16030 + 10.0.255.4/32 40 - rt10 16040 + 10.0.255.5/32 50 - rt12 50900/16050 + 10.0.255.6/32 60 - rt12 50900/16060 + 10.0.255.7/32 30 - rt10 16070 + 10.0.255.8/32 40 - rt12 50900/16080 + +test# test isis topology 7 root rt6 remote-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 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) +rt5 TE-IS 10 rt5 - rt6(4) +rt2 TE-IS 20 rt3 - rt3(4) + rt5 - rt5(4) +rt4 TE-IS 20 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 rt9 - rt6(4) + rt5 - rt8(4) +rt1 TE-IS 30 rt5 - rt4(4) +rt7 TE-IS 30 rt5 - rt4(4) + rt8(4) +rt11 TE-IS 30 rt5 - rt8(4) +10.0.255.2/32 IP TE 30 rt3 - rt2(4) + rt5 - +10.0.255.4/32 IP TE 30 rt5 - rt4(4) +10.0.255.8/32 IP TE 30 rt5 - rt8(4) +rt12 TE-IS 40 rt9 - rt9(4) + rt5 - rt11(4) +rt10 TE-IS 40 rt5 - rt11(4) +10.0.255.9/32 IP TE 40 rt9 - rt9(4) + rt5 - +10.0.255.1/32 IP TE 40 rt5 - rt1(4) +10.0.255.7/32 IP TE 40 rt5 - rt7(4) +10.0.255.11/32 IP TE 40 rt5 - rt11(4) +10.0.255.12/32 IP TE 50 rt9 - rt12(4) + rt5 - +10.0.255.10/32 IP TE 50 rt5 - rt10(4) + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------------- + 10.0.255.1/32 40 - rt5 16010 + 10.0.255.2/32 30 - rt3 16020 + - rt5 16020 + 10.0.255.3/32 20 - rt3 implicit-null + 10.0.255.4/32 30 - rt5 16040 + 10.0.255.5/32 20 - rt5 implicit-null + 10.0.255.6/32 0 - - - + 10.0.255.7/32 40 - rt5 16070 + 10.0.255.8/32 30 - rt5 16080 + 10.0.255.9/32 40 - rt9 implicit-null + - rt5 implicit-null + 10.0.255.10/32 50 - rt5 16100 + 10.0.255.11/32 40 - rt5 16110 + 10.0.255.12/32 50 - rt9 16120 + - rt5 16120 + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------ + 10.0.255.1/32 70 - rt9 16010 + 10.0.255.4/32 60 - rt9 16040 + 10.0.255.5/32 50 - rt9 16050 + 10.0.255.7/32 50 - rt9 16070 + 10.0.255.8/32 40 - rt9 16080 + 10.0.255.10/32 60 - rt9 16100 + 10.0.255.11/32 50 - rt9 16110 + +test# test isis topology 8 root rt2 remote-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 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) +rt5 TE-IS 10 rt5 - rt2(4) +rt4 TE-IS 20 rt1 - rt1(4) +rt6 TE-IS 20 rt3 - rt3(4) + rt5 - rt5(4) +rt8 TE-IS 20 rt5 - rt5(4) +10.0.255.1/32 IP TE 20 rt1 - rt1(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +10.0.255.5/32 IP TE 20 rt5 - rt5(4) +rt7 TE-IS 30 rt1 - rt4(4) +rt9 TE-IS 30 rt5 - rt8(4) +rt11 TE-IS 30 rt5 - rt8(4) +10.0.255.4/32 IP TE 30 rt1 - rt4(4) +10.0.255.6/32 IP TE 30 rt3 - rt6(4) + rt5 - +10.0.255.8/32 IP TE 30 rt5 - rt8(4) +rt10 TE-IS 40 rt1 - rt7(4) +rt12 TE-IS 40 rt5 - rt9(4) + rt11(4) +10.0.255.7/32 IP TE 40 rt1 - rt7(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.10/32 IP TE 50 rt1 - rt10(4) +10.0.255.12/32 IP TE 50 rt5 - rt12(4) + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ----------------------------------------------------------- + 10.0.255.1/32 20 - rt1 implicit-null + 10.0.255.2/32 0 - - - + 10.0.255.3/32 20 - rt3 implicit-null + 10.0.255.4/32 30 - rt1 16040 + 10.0.255.5/32 20 - rt5 implicit-null + 10.0.255.6/32 30 - rt3 16060 + - rt5 16060 + 10.0.255.7/32 40 - rt1 16070 + 10.0.255.8/32 30 - rt5 16080 + 10.0.255.9/32 40 - rt5 16090 + 10.0.255.10/32 50 - rt1 16100 + 10.0.255.11/32 40 - rt5 16110 + 10.0.255.12/32 50 - rt5 16120 + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + --------------------------------------------------------- + 10.0.255.5/32 40 - rt3 50600/16050 + 10.0.255.8/32 50 - rt3 50600/16080 + 10.0.255.9/32 60 - rt3 50600/16090 + 10.0.255.11/32 60 - rt3 50600/16110 + 10.0.255.12/32 70 - rt3 50600/16120 + +test# test isis topology 11 root rt2 remote-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 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) +rt4 TE-IS 10 rt4 - rt2(4) +rt5 TE-IS 20 rt4 - rt4(4) +rt6 TE-IS 20 rt4 - rt4(4) +10.0.255.4/32 IP TE 20 rt4 - rt4(4) +rt3 TE-IS 30 rt4 - rt5(4) +10.0.255.5/32 IP TE 30 rt4 - rt5(4) +10.0.255.6/32 IP TE 30 rt4 - rt6(4) +rt2 +rt1 TE-IS 40 rt4 - rt2(2) +10.0.255.3/32 IP TE 40 rt4 - rt3(4) +10.0.255.1/32 IP TE 50 rt4 - rt1(4) + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 10.0.255.1/32 50 - rt4 16010 + 10.0.255.2/32 0 - - - + 10.0.255.3/32 40 - rt4 16030 + 10.0.255.4/32 20 - rt4 implicit-null + 10.0.255.5/32 30 - rt4 16050 + 10.0.255.6/32 30 - rt4 16060 + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 10.0.255.1/32 50 - rt1 implicit-null + - rt3 16010 + 10.0.255.3/32 50 - rt1 16030 + - rt3 implicit-null + 10.0.255.4/32 80 - rt3 50500/16040 + 10.0.255.5/32 60 - rt1 16050 + - rt3 16050 + 10.0.255.6/32 70 - rt3 16060 + +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 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) +rt4 TE-IS 10 rt4 - rt2(4) +rt5 TE-IS 20 rt4 - rt4(4) +rt6 TE-IS 20 rt4 - rt4(4) +2001:db8::4/128 IP6 internal 20 rt4 - rt4(4) +rt3 TE-IS 30 rt4 - rt5(4) +2001:db8::5/128 IP6 internal 30 rt4 - rt5(4) +2001:db8::6/128 IP6 internal 30 rt4 - rt6(4) +rt2 +rt1 TE-IS 40 rt4 - rt2(2) +2001:db8::3/128 IP6 internal 40 rt4 - rt3(4) +2001:db8::1/128 IP6 internal 50 rt4 - rt1(4) + +Main: +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------------ + 2001:db8::1/128 50 - rt4 16011 + 2001:db8::2/128 0 - - - + 2001:db8::3/128 40 - rt4 16031 + 2001:db8::4/128 20 - rt4 implicit-null + 2001:db8::5/128 30 - rt4 16051 + 2001:db8::6/128 30 - rt4 16061 + +Backup: +IS-IS L1 IPv6 routing table: + + Prefix Metric Interface Nexthop Label(s) + ------------------------------------------------------------ + 2001:db8::1/128 50 - rt1 implicit-null + - rt3 16011 + 2001:db8::3/128 50 - rt1 16031 + - rt3 implicit-null + 2001:db8::4/128 80 - rt3 50500/16041 + 2001:db8::5/128 60 - rt1 16051 + - rt3 16051 + 2001:db8::6/128 70 - rt3 16061 + +test# test isis topology 13 root rt1 remote-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 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 10 rt3 - rt1(4) +rt4 TE-IS 20 rt2 - rt2(4) + rt3 - rt3(4) +rt5 TE-IS 20 rt3 - rt3(4) +rt6 TE-IS 20 rt3 - rt3(4) +10.0.255.2/32 IP TE 20 rt2 - rt2(4) +10.0.255.3/32 IP TE 20 rt3 - rt3(4) +rt7 TE-IS 30 rt3 - rt5(4) + rt6(4) +10.0.255.4/32 IP TE 30 rt2 - rt4(4) + rt3 - +10.0.255.5/32 IP TE 30 rt3 - rt5(4) +10.0.255.6/32 IP TE 30 rt3 - rt6(4) +10.0.255.7/32 IP TE 40 rt3 - rt7(4) + +Main: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + ---------------------------------------------------------- + 10.0.255.1/32 0 - - - + 10.0.255.2/32 20 - rt2 implicit-null + 10.0.255.3/32 20 - rt3 implicit-null + 10.0.255.4/32 30 - rt2 16040 + - rt3 16040 + 10.0.255.5/32 30 - rt3 16050 + 10.0.255.6/32 30 - rt3 16060 + 10.0.255.7/32 40 - rt3 16070 + +Backup: +IS-IS L1 IPv4 routing table: + + Prefix Metric Interface Nexthop Label(s) + -------------------------------------------------------- + 10.0.255.3/32 40 - rt2 50400/16030 + 10.0.255.5/32 50 - rt2 50400/16050 + 10.0.255.6/32 50 - rt2 50400/16060 + 10.0.255.7/32 60 - rt2 50400/16070 + test# test# test isis topology 1 root rt1 ti-lfa system-id rt2 P-space (self):