summaryrefslogtreecommitdiffstats
path: root/ospf6d/ospf6_top.c
diff options
context:
space:
mode:
authorwhitespace / reindent <invalid@invalid.invalid>2017-07-17 14:03:14 +0200
committerwhitespace / reindent <invalid@invalid.invalid>2017-07-17 14:04:07 +0200
commitd62a17aedeb0eebdba98238874bb13d62c48dbf9 (patch)
tree3b319b1d61c8b85b4d1f06adf8b844bb8a9b5107 /ospf6d/ospf6_top.c
parent*: add indent control files (diff)
downloadfrr-d62a17aedeb0eebdba98238874bb13d62c48dbf9.tar.xz
frr-d62a17aedeb0eebdba98238874bb13d62c48dbf9.zip
indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'` Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'ospf6d/ospf6_top.c')
-rw-r--r--ospf6d/ospf6_top.c1173
1 files changed, 560 insertions, 613 deletions
diff --git a/ospf6d/ospf6_top.c b/ospf6d/ospf6_top.c
index 9e0b86b7b..387690bc8 100644
--- a/ospf6d/ospf6_top.c
+++ b/ospf6d/ospf6_top.c
@@ -54,240 +54,218 @@ DEFINE_QOBJ_TYPE(ospf6)
/* global ospf6d variable */
struct ospf6 *ospf6;
-static void ospf6_disable (struct ospf6 *o);
+static void ospf6_disable(struct ospf6 *o);
-static void
-ospf6_top_lsdb_hook_add (struct ospf6_lsa *lsa)
+static void ospf6_top_lsdb_hook_add(struct ospf6_lsa *lsa)
{
- switch (ntohs (lsa->header->type))
- {
- case OSPF6_LSTYPE_AS_EXTERNAL:
- ospf6_asbr_lsa_add (lsa);
- break;
-
- default:
- break;
- }
+ switch (ntohs(lsa->header->type)) {
+ case OSPF6_LSTYPE_AS_EXTERNAL:
+ ospf6_asbr_lsa_add(lsa);
+ break;
+
+ default:
+ break;
+ }
}
-static void
-ospf6_top_lsdb_hook_remove (struct ospf6_lsa *lsa)
+static void ospf6_top_lsdb_hook_remove(struct ospf6_lsa *lsa)
{
- switch (ntohs (lsa->header->type))
- {
- case OSPF6_LSTYPE_AS_EXTERNAL:
- ospf6_asbr_lsa_remove (lsa);
- break;
-
- default:
- break;
- }
+ switch (ntohs(lsa->header->type)) {
+ case OSPF6_LSTYPE_AS_EXTERNAL:
+ ospf6_asbr_lsa_remove(lsa);
+ break;
+
+ default:
+ break;
+ }
}
-static void
-ospf6_top_route_hook_add (struct ospf6_route *route)
+static void ospf6_top_route_hook_add(struct ospf6_route *route)
{
- ospf6_abr_originate_summary (route);
- ospf6_zebra_route_update_add (route);
+ ospf6_abr_originate_summary(route);
+ ospf6_zebra_route_update_add(route);
}
-static void
-ospf6_top_route_hook_remove (struct ospf6_route *route)
+static void ospf6_top_route_hook_remove(struct ospf6_route *route)
{
- route->flag |= OSPF6_ROUTE_REMOVE;
- ospf6_abr_originate_summary (route);
- ospf6_zebra_route_update_remove (route);
+ route->flag |= OSPF6_ROUTE_REMOVE;
+ ospf6_abr_originate_summary(route);
+ ospf6_zebra_route_update_remove(route);
}
-static void
-ospf6_top_brouter_hook_add (struct ospf6_route *route)
+static void ospf6_top_brouter_hook_add(struct ospf6_route *route)
{
- ospf6_abr_examin_brouter (ADV_ROUTER_IN_PREFIX (&route->prefix));
- ospf6_asbr_lsentry_add (route);
- ospf6_abr_originate_summary (route);
+ ospf6_abr_examin_brouter(ADV_ROUTER_IN_PREFIX(&route->prefix));
+ ospf6_asbr_lsentry_add(route);
+ ospf6_abr_originate_summary(route);
}
-static void
-ospf6_top_brouter_hook_remove (struct ospf6_route *route)
+static void ospf6_top_brouter_hook_remove(struct ospf6_route *route)
{
- route->flag |= OSPF6_ROUTE_REMOVE;
- ospf6_abr_examin_brouter (ADV_ROUTER_IN_PREFIX (&route->prefix));
- ospf6_asbr_lsentry_remove (route);
- ospf6_abr_originate_summary (route);
+ route->flag |= OSPF6_ROUTE_REMOVE;
+ ospf6_abr_examin_brouter(ADV_ROUTER_IN_PREFIX(&route->prefix));
+ ospf6_asbr_lsentry_remove(route);
+ ospf6_abr_originate_summary(route);
}
-static struct ospf6 *
-ospf6_create (void)
+static struct ospf6 *ospf6_create(void)
{
- struct ospf6 *o;
+ struct ospf6 *o;
- o = XCALLOC (MTYPE_OSPF6_TOP, sizeof (struct ospf6));
+ o = XCALLOC(MTYPE_OSPF6_TOP, sizeof(struct ospf6));
- /* initialize */
- monotime(&o->starttime);
- o->area_list = list_new ();
- o->area_list->cmp = ospf6_area_cmp;
- o->lsdb = ospf6_lsdb_create (o);
- o->lsdb_self = ospf6_lsdb_create (o);
- o->lsdb->hook_add = ospf6_top_lsdb_hook_add;
- o->lsdb->hook_remove = ospf6_top_lsdb_hook_remove;
+ /* initialize */
+ monotime(&o->starttime);
+ o->area_list = list_new();
+ o->area_list->cmp = ospf6_area_cmp;
+ o->lsdb = ospf6_lsdb_create(o);
+ o->lsdb_self = ospf6_lsdb_create(o);
+ o->lsdb->hook_add = ospf6_top_lsdb_hook_add;
+ o->lsdb->hook_remove = ospf6_top_lsdb_hook_remove;
- o->spf_delay = OSPF_SPF_DELAY_DEFAULT;
- o->spf_holdtime = OSPF_SPF_HOLDTIME_DEFAULT;
- o->spf_max_holdtime = OSPF_SPF_MAX_HOLDTIME_DEFAULT;
- o->spf_hold_multiplier = 1;
+ o->spf_delay = OSPF_SPF_DELAY_DEFAULT;
+ o->spf_holdtime = OSPF_SPF_HOLDTIME_DEFAULT;
+ o->spf_max_holdtime = OSPF_SPF_MAX_HOLDTIME_DEFAULT;
+ o->spf_hold_multiplier = 1;
- /* LSA timers value init */
- o->lsa_minarrival = OSPF_MIN_LS_ARRIVAL;
+ /* LSA timers value init */
+ o->lsa_minarrival = OSPF_MIN_LS_ARRIVAL;
- o->route_table = OSPF6_ROUTE_TABLE_CREATE (GLOBAL, ROUTES);
- o->route_table->scope = o;
- o->route_table->hook_add = ospf6_top_route_hook_add;
- o->route_table->hook_remove = ospf6_top_route_hook_remove;
+ o->route_table = OSPF6_ROUTE_TABLE_CREATE(GLOBAL, ROUTES);
+ o->route_table->scope = o;
+ o->route_table->hook_add = ospf6_top_route_hook_add;
+ o->route_table->hook_remove = ospf6_top_route_hook_remove;
- o->brouter_table = OSPF6_ROUTE_TABLE_CREATE (GLOBAL, BORDER_ROUTERS);
- o->brouter_table->scope = o;
- o->brouter_table->hook_add = ospf6_top_brouter_hook_add;
- o->brouter_table->hook_remove = ospf6_top_brouter_hook_remove;
+ o->brouter_table = OSPF6_ROUTE_TABLE_CREATE(GLOBAL, BORDER_ROUTERS);
+ o->brouter_table->scope = o;
+ o->brouter_table->hook_add = ospf6_top_brouter_hook_add;
+ o->brouter_table->hook_remove = ospf6_top_brouter_hook_remove;
- o->external_table = OSPF6_ROUTE_TABLE_CREATE (GLOBAL, EXTERNAL_ROUTES);
- o->external_table->scope = o;
+ o->external_table = OSPF6_ROUTE_TABLE_CREATE(GLOBAL, EXTERNAL_ROUTES);
+ o->external_table->scope = o;
- o->external_id_table = route_table_init ();
+ o->external_id_table = route_table_init();
- o->ref_bandwidth = OSPF6_REFERENCE_BANDWIDTH;
+ o->ref_bandwidth = OSPF6_REFERENCE_BANDWIDTH;
- o->distance_table = route_table_init ();
+ o->distance_table = route_table_init();
- /* Enable "log-adjacency-changes" */
+/* Enable "log-adjacency-changes" */
#if DFLT_OSPF6_LOG_ADJACENCY_CHANGES
- SET_FLAG(o->config_flags, OSPF6_LOG_ADJACENCY_CHANGES);
+ SET_FLAG(o->config_flags, OSPF6_LOG_ADJACENCY_CHANGES);
#endif
- QOBJ_REG (o, ospf6);
+ QOBJ_REG(o, ospf6);
- return o;
+ return o;
}
-void
-ospf6_delete (struct ospf6 *o)
+void ospf6_delete(struct ospf6 *o)
{
- struct listnode *node, *nnode;
- struct ospf6_area *oa;
+ struct listnode *node, *nnode;
+ struct ospf6_area *oa;
- QOBJ_UNREG (o);
- ospf6_disable (ospf6);
+ QOBJ_UNREG(o);
+ ospf6_disable(ospf6);
- for (ALL_LIST_ELEMENTS (o->area_list, node, nnode, oa))
- ospf6_area_delete (oa);
+ for (ALL_LIST_ELEMENTS(o->area_list, node, nnode, oa))
+ ospf6_area_delete(oa);
- list_delete (o->area_list);
+ list_delete(o->area_list);
- ospf6_lsdb_delete (o->lsdb);
- ospf6_lsdb_delete (o->lsdb_self);
+ ospf6_lsdb_delete(o->lsdb);
+ ospf6_lsdb_delete(o->lsdb_self);
- ospf6_route_table_delete (o->route_table);
- ospf6_route_table_delete (o->brouter_table);
+ ospf6_route_table_delete(o->route_table);
+ ospf6_route_table_delete(o->brouter_table);
- ospf6_route_table_delete (o->external_table);
- route_table_finish (o->external_id_table);
+ ospf6_route_table_delete(o->external_table);
+ route_table_finish(o->external_id_table);
- ospf6_distance_reset (o);
- route_table_finish (o->distance_table);
+ ospf6_distance_reset(o);
+ route_table_finish(o->distance_table);
- XFREE (MTYPE_OSPF6_TOP, o);
+ XFREE(MTYPE_OSPF6_TOP, o);
}
-static void
-ospf6_disable (struct ospf6 *o)
+static void ospf6_disable(struct ospf6 *o)
{
- struct listnode *node, *nnode;
- struct ospf6_area *oa;
-
- if (! CHECK_FLAG (o->flag, OSPF6_DISABLED))
- {
- SET_FLAG (o->flag, OSPF6_DISABLED);
-
- for (ALL_LIST_ELEMENTS (o->area_list, node, nnode, oa))
- ospf6_area_disable (oa);
-
- /* XXX: This also changes persistent settings */
- ospf6_asbr_redistribute_reset();
-
- ospf6_lsdb_remove_all (o->lsdb);
- ospf6_route_remove_all (o->route_table);
- ospf6_route_remove_all (o->brouter_table);
-
- THREAD_OFF(o->maxage_remover);
- THREAD_OFF(o->t_spf_calc);
- THREAD_OFF(o->t_ase_calc);
- }
+ struct listnode *node, *nnode;
+ struct ospf6_area *oa;
+
+ if (!CHECK_FLAG(o->flag, OSPF6_DISABLED)) {
+ SET_FLAG(o->flag, OSPF6_DISABLED);
+
+ for (ALL_LIST_ELEMENTS(o->area_list, node, nnode, oa))
+ ospf6_area_disable(oa);
+
+ /* XXX: This also changes persistent settings */
+ ospf6_asbr_redistribute_reset();
+
+ ospf6_lsdb_remove_all(o->lsdb);
+ ospf6_route_remove_all(o->route_table);
+ ospf6_route_remove_all(o->brouter_table);
+
+ THREAD_OFF(o->maxage_remover);
+ THREAD_OFF(o->t_spf_calc);
+ THREAD_OFF(o->t_ase_calc);
+ }
}
-static int
-ospf6_maxage_remover (struct thread *thread)
+static int ospf6_maxage_remover(struct thread *thread)
{
- struct ospf6 *o = (struct ospf6 *) THREAD_ARG (thread);
- struct ospf6_area *oa;
- struct ospf6_interface *oi;
- struct ospf6_neighbor *on;
- struct listnode *i, *j, *k;
- int reschedule = 0;
-
- o->maxage_remover = (struct thread *) NULL;
-
- for (ALL_LIST_ELEMENTS_RO (o->area_list, i, oa))
- {
- for (ALL_LIST_ELEMENTS_RO (oa->if_list, j, oi))
- {
- for (ALL_LIST_ELEMENTS_RO (oi->neighbor_list, k, on))
- {
- if (on->state != OSPF6_NEIGHBOR_EXCHANGE &&
- on->state != OSPF6_NEIGHBOR_LOADING)
- continue;
-
- ospf6_maxage_remove (o);
- return 0;
- }
- }
- }
-
- for (ALL_LIST_ELEMENTS_RO (o->area_list, i, oa))
- {
- for (ALL_LIST_ELEMENTS_RO (oa->if_list, j, oi))
- {
- if (ospf6_lsdb_maxage_remover (oi->lsdb))
- {
- reschedule = 1;
- }
+ struct ospf6 *o = (struct ospf6 *)THREAD_ARG(thread);
+ struct ospf6_area *oa;
+ struct ospf6_interface *oi;
+ struct ospf6_neighbor *on;
+ struct listnode *i, *j, *k;
+ int reschedule = 0;
+
+ o->maxage_remover = (struct thread *)NULL;
+
+ for (ALL_LIST_ELEMENTS_RO(o->area_list, i, oa)) {
+ for (ALL_LIST_ELEMENTS_RO(oa->if_list, j, oi)) {
+ for (ALL_LIST_ELEMENTS_RO(oi->neighbor_list, k, on)) {
+ if (on->state != OSPF6_NEIGHBOR_EXCHANGE
+ && on->state != OSPF6_NEIGHBOR_LOADING)
+ continue;
+
+ ospf6_maxage_remove(o);
+ return 0;
+ }
+ }
}
-
- if (ospf6_lsdb_maxage_remover (oa->lsdb))
- {
- reschedule = 1;
+
+ for (ALL_LIST_ELEMENTS_RO(o->area_list, i, oa)) {
+ for (ALL_LIST_ELEMENTS_RO(oa->if_list, j, oi)) {
+ if (ospf6_lsdb_maxage_remover(oi->lsdb)) {
+ reschedule = 1;
+ }
+ }
+
+ if (ospf6_lsdb_maxage_remover(oa->lsdb)) {
+ reschedule = 1;
+ }
}
- }
- if (ospf6_lsdb_maxage_remover (o->lsdb))
- {
- reschedule = 1;
- }
+ if (ospf6_lsdb_maxage_remover(o->lsdb)) {
+ reschedule = 1;
+ }
- if (reschedule)
- {
- ospf6_maxage_remove (o);
- }
+ if (reschedule) {
+ ospf6_maxage_remove(o);
+ }
- return 0;
+ return 0;
}
-void
-ospf6_maxage_remove (struct ospf6 *o)
+void ospf6_maxage_remove(struct ospf6 *o)
{
- if (o)
- thread_add_timer(master, ospf6_maxage_remover, o, OSPF_LSA_MAXAGE_REMOVE_DELAY_DEFAULT,
- &o->maxage_remover);
+ if (o)
+ thread_add_timer(master, ospf6_maxage_remover, o,
+ OSPF_LSA_MAXAGE_REMOVE_DELAY_DEFAULT,
+ &o->maxage_remover);
}
/* start ospf6 */
@@ -297,13 +275,13 @@ DEFUN_NOSH (router_ospf6,
ROUTER_STR
OSPF6_STR)
{
- if (ospf6 == NULL)
- ospf6 = ospf6_create ();
+ if (ospf6 == NULL)
+ ospf6 = ospf6_create();
- /* set current ospf point. */
- VTY_PUSH_CONTEXT(OSPF6_NODE, ospf6);
+ /* set current ospf point. */
+ VTY_PUSH_CONTEXT(OSPF6_NODE, ospf6);
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
/* stop ospf6 */
@@ -314,18 +292,17 @@ DEFUN (no_router_ospf6,
ROUTER_STR
OSPF6_STR)
{
- if (ospf6 == NULL)
- vty_out (vty, "OSPFv3 is not configured\n");
- else
- {
- ospf6_delete (ospf6);
- ospf6 = NULL;
- }
+ if (ospf6 == NULL)
+ vty_out(vty, "OSPFv3 is not configured\n");
+ else {
+ ospf6_delete(ospf6);
+ ospf6 = NULL;
+ }
- /* return to config node . */
- VTY_PUSH_CONTEXT_NULL(CONFIG_NODE);
+ /* return to config node . */
+ VTY_PUSH_CONTEXT_NULL(CONFIG_NODE);
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
/* change Router_ID commands. */
@@ -335,23 +312,23 @@ DEFUN (ospf6_router_id,
"Configure OSPF Router-ID\n"
V4NOTATION_STR)
{
- VTY_DECLVAR_CONTEXT(ospf6, o);
- int idx_ipv4 = 1;
- int ret;
- u_int32_t router_id;
-
- ret = inet_pton (AF_INET, argv[idx_ipv4]->arg, &router_id);
- if (ret == 0)
- {
- vty_out (vty, "malformed OSPF Router-ID: %s\n", argv[idx_ipv4]->arg);
- return CMD_SUCCESS;
- }
+ VTY_DECLVAR_CONTEXT(ospf6, o);
+ int idx_ipv4 = 1;
+ int ret;
+ u_int32_t router_id;
+
+ ret = inet_pton(AF_INET, argv[idx_ipv4]->arg, &router_id);
+ if (ret == 0) {
+ vty_out(vty, "malformed OSPF Router-ID: %s\n",
+ argv[idx_ipv4]->arg);
+ return CMD_SUCCESS;
+ }
- o->router_id_static = router_id;
- if (o->router_id == 0)
- o->router_id = router_id;
+ o->router_id_static = router_id;
+ if (o->router_id == 0)
+ o->router_id = router_id;
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
DEFUN (ospf6_log_adjacency_changes,
@@ -359,11 +336,11 @@ DEFUN (ospf6_log_adjacency_changes,
"log-adjacency-changes",
"Log changes in adjacency state\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, ospf6);
+ VTY_DECLVAR_CONTEXT(ospf6, ospf6);
- SET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_CHANGES);
- UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL);
- return CMD_SUCCESS;
+ SET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_CHANGES);
+ UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL);
+ return CMD_SUCCESS;
}
DEFUN (ospf6_log_adjacency_changes_detail,
@@ -372,11 +349,11 @@ DEFUN (ospf6_log_adjacency_changes_detail,
"Log changes in adjacency state\n"
"Log all state changes\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, ospf6);
+ VTY_DECLVAR_CONTEXT(ospf6, ospf6);
- SET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_CHANGES);
- SET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL);
- return CMD_SUCCESS;
+ SET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_CHANGES);
+ SET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL);
+ return CMD_SUCCESS;
}
DEFUN (no_ospf6_log_adjacency_changes,
@@ -385,11 +362,11 @@ DEFUN (no_ospf6_log_adjacency_changes,
NO_STR
"Log changes in adjacency state\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, ospf6);
+ VTY_DECLVAR_CONTEXT(ospf6, ospf6);
- UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL);
- UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_CHANGES);
- return CMD_SUCCESS;
+ UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL);
+ UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_CHANGES);
+ return CMD_SUCCESS;
}
DEFUN (no_ospf6_log_adjacency_changes_detail,
@@ -399,10 +376,10 @@ DEFUN (no_ospf6_log_adjacency_changes_detail,
"Log changes in adjacency state\n"
"Log all state changes\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, ospf6);
+ VTY_DECLVAR_CONTEXT(ospf6, ospf6);
- UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL);
- return CMD_SUCCESS;
+ UNSET_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL);
+ return CMD_SUCCESS;
}
DEFUN (ospf6_timers_lsa,
@@ -413,14 +390,14 @@ DEFUN (ospf6_timers_lsa,
"Minimum delay in receiving new version of a LSA\n"
"Delay in milliseconds\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, ospf);
- int idx_number = 3;
- unsigned int minarrival;
+ VTY_DECLVAR_CONTEXT(ospf6, ospf);
+ int idx_number = 3;
+ unsigned int minarrival;
- minarrival = strtoul(argv[idx_number]->arg, NULL, 10);
- ospf->lsa_minarrival = minarrival;
+ minarrival = strtoul(argv[idx_number]->arg, NULL, 10);
+ ospf->lsa_minarrival = minarrival;
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
DEFUN (no_ospf6_timers_lsa,
@@ -432,22 +409,21 @@ DEFUN (no_ospf6_timers_lsa,
"Minimum delay in receiving new version of a LSA\n"
"Delay in milliseconds\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, ospf);
- int idx_number = 4;
- unsigned int minarrival;
+ VTY_DECLVAR_CONTEXT(ospf6, ospf);
+ int idx_number = 4;
+ unsigned int minarrival;
- if (argc == 5)
- {
- minarrival = strtoul(argv[idx_number]->arg, NULL, 10);
+ if (argc == 5) {
+ minarrival = strtoul(argv[idx_number]->arg, NULL, 10);
- if (ospf->lsa_minarrival != minarrival ||
- minarrival == OSPF_MIN_LS_ARRIVAL)
- return CMD_SUCCESS;
- }
+ if (ospf->lsa_minarrival != minarrival
+ || minarrival == OSPF_MIN_LS_ARRIVAL)
+ return CMD_SUCCESS;
+ }
- ospf->lsa_minarrival = OSPF_MIN_LS_ARRIVAL;
+ ospf->lsa_minarrival = OSPF_MIN_LS_ARRIVAL;
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
@@ -457,11 +433,11 @@ DEFUN (ospf6_distance,
"Administrative distance\n"
"OSPF6 Administrative distance\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, o);
+ VTY_DECLVAR_CONTEXT(ospf6, o);
- o->distance_all = atoi (argv[1]->arg);
+ o->distance_all = atoi(argv[1]->arg);
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
DEFUN (no_ospf6_distance,
@@ -471,11 +447,11 @@ DEFUN (no_ospf6_distance,
"Administrative distance\n"
"OSPF6 Administrative distance\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, o);
+ VTY_DECLVAR_CONTEXT(ospf6, o);
- o->distance_all = 0;
+ o->distance_all = 0;
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
DEFUN (ospf6_distance_ospf6,
@@ -490,19 +466,19 @@ DEFUN (ospf6_distance_ospf6,
"External routes\n"
"Distance for external routes\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, o);
- int idx = 0;
+ VTY_DECLVAR_CONTEXT(ospf6, o);
+ int idx = 0;
+
+ if (argv_find(argv, argc, "intra-area", &idx))
+ o->distance_intra = atoi(argv[idx + 1]->arg);
+ idx = 0;
+ if (argv_find(argv, argc, "inter-area", &idx))
+ o->distance_inter = atoi(argv[idx + 1]->arg);
+ idx = 0;
+ if (argv_find(argv, argc, "external", &idx))
+ o->distance_external = atoi(argv[idx + 1]->arg);
- if (argv_find (argv, argc, "intra-area", &idx))
- o->distance_intra = atoi(argv[idx + 1]->arg);
- idx = 0;
- if (argv_find (argv, argc, "inter-area", &idx))
- o->distance_inter = atoi(argv[idx + 1]->arg);
- idx = 0;
- if (argv_find (argv, argc, "external", &idx))
- o->distance_external = atoi(argv[idx + 1]->arg);
-
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
DEFUN (no_ospf6_distance_ospf6,
@@ -518,17 +494,17 @@ DEFUN (no_ospf6_distance_ospf6,
"External routes\n"
"Distance for external routes\n")
{
- VTY_DECLVAR_CONTEXT(ospf6, o);
- int idx = 0;
+ VTY_DECLVAR_CONTEXT(ospf6, o);
+ int idx = 0;
- if (argv_find (argv, argc, "intra-area", &idx) || argc == 3)
- idx = o->distance_intra = 0;
- if (argv_find (argv, argc, "inter-area", &idx) || argc == 3)
- idx = o->distance_inter = 0;
- if (argv_find (argv, argc, "external", &idx) || argc == 3)
- o->distance_external = 0;
+ if (argv_find(argv, argc, "intra-area", &idx) || argc == 3)
+ idx = o->distance_intra = 0;
+ if (argv_find(argv, argc, "inter-area", &idx) || argc == 3)
+ idx = o->distance_inter = 0;
+ if (argv_find(argv, argc, "external", &idx) || argc == 3)
+ o->distance_external = 0;
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
#if 0
@@ -573,56 +549,54 @@ DEFUN (ospf6_interface_area,
"OSPF6 area ID in IPv4 address notation\n"
)
{
- VTY_DECLVAR_CONTEXT(ospf6, o);
- int idx_ifname = 1;
- int idx_ipv4 = 3;
- struct ospf6_area *oa;
- struct ospf6_interface *oi;
- struct interface *ifp;
- u_int32_t area_id;
-
- /* find/create ospf6 interface */
- ifp = if_get_by_name (argv[idx_ifname]->arg, VRF_DEFAULT);
- oi = (struct ospf6_interface *) ifp->info;
- if (oi == NULL)
- oi = ospf6_interface_create (ifp);
- if (oi->area)
- {
- vty_out (vty, "%s already attached to Area %s\n",
- oi->interface->name, oi->area->name);
- return CMD_SUCCESS;
- }
-
- /* parse Area-ID */
- if (inet_pton (AF_INET, argv[idx_ipv4]->arg, &area_id) != 1)
- {
- vty_out (vty, "Invalid Area-ID: %s\n", argv[idx_ipv4]->arg);
- return CMD_SUCCESS;
- }
-
- /* find/create ospf6 area */
- oa = ospf6_area_lookup (area_id, o);
- if (oa == NULL)
- oa = ospf6_area_create (area_id, o, OSPF6_AREA_FMT_DOTTEDQUAD);
-
- /* attach interface to area */
- listnode_add (oa->if_list, oi); /* sort ?? */
- oi->area = oa;
-
- SET_FLAG (oa->flag, OSPF6_AREA_ENABLE);
-
- /* ospf6 process is currently disabled, not much more to do */
- if (CHECK_FLAG (o->flag, OSPF6_DISABLED))
- return CMD_SUCCESS;
-
- /* start up */
- ospf6_interface_enable (oi);
-
- /* If the router is ABR, originate summary routes */
- if (ospf6_is_router_abr (o))
- ospf6_abr_enable_area (oa);
+ VTY_DECLVAR_CONTEXT(ospf6, o);
+ int idx_ifname = 1;
+ int idx_ipv4 = 3;
+ struct ospf6_area *oa;
+ struct ospf6_interface *oi;
+ struct interface *ifp;
+ u_int32_t area_id;
+
+ /* find/create ospf6 interface */
+ ifp = if_get_by_name(argv[idx_ifname]->arg, VRF_DEFAULT);
+ oi = (struct ospf6_interface *)ifp->info;
+ if (oi == NULL)
+ oi = ospf6_interface_create(ifp);
+ if (oi->area) {
+ vty_out(vty, "%s already attached to Area %s\n",
+ oi->interface->name, oi->area->name);
+ return CMD_SUCCESS;
+ }
- return CMD_SUCCESS;
+ /* parse Area-ID */
+ if (inet_pton(AF_INET, argv[idx_ipv4]->arg, &area_id) != 1) {
+ vty_out(vty, "Invalid Area-ID: %s\n", argv[idx_ipv4]->arg);
+ return CMD_SUCCESS;
+ }
+
+ /* find/create ospf6 area */
+ oa = ospf6_area_lookup(area_id, o);
+ if (oa == NULL)
+ oa = ospf6_area_create(area_id, o, OSPF6_AREA_FMT_DOTTEDQUAD);
+
+ /* attach interface to area */
+ listnode_add(oa->if_list, oi); /* sort ?? */
+ oi->area = oa;
+
+ SET_FLAG(oa->flag, OSPF6_AREA_ENABLE);
+
+ /* ospf6 process is currently disabled, not much more to do */
+ if (CHECK_FLAG(o->flag, OSPF6_DISABLED))
+ return CMD_SUCCESS;
+
+ /* start up */
+ ospf6_interface_enable(oi);
+
+ /* If the router is ABR, originate summary routes */
+ if (ospf6_is_router_abr(o))
+ ospf6_abr_enable_area(oa);
+
+ return CMD_SUCCESS;
}
DEFUN (no_ospf6_interface_area,
@@ -635,62 +609,56 @@ DEFUN (no_ospf6_interface_area,
"OSPF6 area ID in IPv4 address notation\n"
)
{
- int idx_ifname = 2;
- int idx_ipv4 = 4;
- struct ospf6_interface *oi;
- struct ospf6_area *oa;
- struct interface *ifp;
- u_int32_t area_id;
-
- ifp = if_lookup_by_name (argv[idx_ifname]->arg, VRF_DEFAULT);
- if (ifp == NULL)
- {
- vty_out (vty, "No such interface %s\n", argv[idx_ifname]->arg);
- return CMD_SUCCESS;
- }
-
- oi = (struct ospf6_interface *) ifp->info;
- if (oi == NULL)
- {
- vty_out (vty, "Interface %s not enabled\n", ifp->name);
- return CMD_SUCCESS;
- }
-
- /* parse Area-ID */
- if (inet_pton (AF_INET, argv[idx_ipv4]->arg, &area_id) != 1)
- {
- vty_out (vty, "Invalid Area-ID: %s\n", argv[idx_ipv4]->arg);
- return CMD_SUCCESS;
- }
-
- /* Verify Area */
- if (oi->area == NULL)
- {
- vty_out (vty, "No such Area-ID: %s\n", argv[idx_ipv4]->arg);
- return CMD_SUCCESS;
- }
-
- if (oi->area->area_id != area_id)
- {
- vty_out (vty, "Wrong Area-ID: %s is attached to area %s\n",
- oi->interface->name, oi->area->name);
- return CMD_SUCCESS;
- }
-
- thread_execute (master, interface_down, oi, 0);
-
- oa = oi->area;
- listnode_delete (oi->area->if_list, oi);
- oi->area = (struct ospf6_area *) NULL;
-
- /* Withdraw inter-area routes from this area, if necessary */
- if (oa->if_list->count == 0)
- {
- UNSET_FLAG (oa->flag, OSPF6_AREA_ENABLE);
- ospf6_abr_disable_area (oa);
- }
+ int idx_ifname = 2;
+ int idx_ipv4 = 4;
+ struct ospf6_interface *oi;
+ struct ospf6_area *oa;
+ struct interface *ifp;
+ u_int32_t area_id;
+
+ ifp = if_lookup_by_name(argv[idx_ifname]->arg, VRF_DEFAULT);
+ if (ifp == NULL) {
+ vty_out(vty, "No such interface %s\n", argv[idx_ifname]->arg);
+ return CMD_SUCCESS;
+ }
- return CMD_SUCCESS;
+ oi = (struct ospf6_interface *)ifp->info;
+ if (oi == NULL) {
+ vty_out(vty, "Interface %s not enabled\n", ifp->name);
+ return CMD_SUCCESS;
+ }
+
+ /* parse Area-ID */
+ if (inet_pton(AF_INET, argv[idx_ipv4]->arg, &area_id) != 1) {
+ vty_out(vty, "Invalid Area-ID: %s\n", argv[idx_ipv4]->arg);
+ return CMD_SUCCESS;
+ }
+
+ /* Verify Area */
+ if (oi->area == NULL) {
+ vty_out(vty, "No such Area-ID: %s\n", argv[idx_ipv4]->arg);
+ return CMD_SUCCESS;
+ }
+
+ if (oi->area->area_id != area_id) {
+ vty_out(vty, "Wrong Area-ID: %s is attached to area %s\n",
+ oi->interface->name, oi->area->name);
+ return CMD_SUCCESS;
+ }
+
+ thread_execute(master, interface_down, oi, 0);
+
+ oa = oi->area;
+ listnode_delete(oi->area->if_list, oi);
+ oi->area = (struct ospf6_area *)NULL;
+
+ /* Withdraw inter-area routes from this area, if necessary */
+ if (oa->if_list->count == 0) {
+ UNSET_FLAG(oa->flag, OSPF6_AREA_ENABLE);
+ ospf6_abr_disable_area(oa);
+ }
+
+ return CMD_SUCCESS;
}
DEFUN (ospf6_stub_router_admin,
@@ -699,21 +667,19 @@ DEFUN (ospf6_stub_router_admin,
"Make router a stub router\n"
"Administratively applied, for an indefinite period\n")
{
- struct listnode *node;
- struct ospf6_area *oa;
-
- if (!CHECK_FLAG (ospf6->flag, OSPF6_STUB_ROUTER))
- {
- for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
- {
- OSPF6_OPT_CLEAR (oa->options, OSPF6_OPT_V6);
- OSPF6_OPT_CLEAR (oa->options, OSPF6_OPT_R);
- OSPF6_ROUTER_LSA_SCHEDULE (oa);
+ struct listnode *node;
+ struct ospf6_area *oa;
+
+ if (!CHECK_FLAG(ospf6->flag, OSPF6_STUB_ROUTER)) {
+ for (ALL_LIST_ELEMENTS_RO(ospf6->area_list, node, oa)) {
+ OSPF6_OPT_CLEAR(oa->options, OSPF6_OPT_V6);
+ OSPF6_OPT_CLEAR(oa->options, OSPF6_OPT_R);
+ OSPF6_ROUTER_LSA_SCHEDULE(oa);
+ }
+ SET_FLAG(ospf6->flag, OSPF6_STUB_ROUTER);
}
- SET_FLAG (ospf6->flag, OSPF6_STUB_ROUTER);
- }
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
DEFUN (no_ospf6_stub_router_admin,
@@ -723,21 +689,19 @@ DEFUN (no_ospf6_stub_router_admin,
"Make router a stub router\n"
"Administratively applied, for an indefinite period\n")
{
- struct listnode *node;
- struct ospf6_area *oa;
-
- if (CHECK_FLAG (ospf6->flag, OSPF6_STUB_ROUTER))
- {
- for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
- {
- OSPF6_OPT_SET (oa->options, OSPF6_OPT_V6);
- OSPF6_OPT_SET (oa->options, OSPF6_OPT_R);
- OSPF6_ROUTER_LSA_SCHEDULE (oa);
+ struct listnode *node;
+ struct ospf6_area *oa;
+
+ if (CHECK_FLAG(ospf6->flag, OSPF6_STUB_ROUTER)) {
+ for (ALL_LIST_ELEMENTS_RO(ospf6->area_list, node, oa)) {
+ OSPF6_OPT_SET(oa->options, OSPF6_OPT_V6);
+ OSPF6_OPT_SET(oa->options, OSPF6_OPT_R);
+ OSPF6_ROUTER_LSA_SCHEDULE(oa);
+ }
+ UNSET_FLAG(ospf6->flag, OSPF6_STUB_ROUTER);
}
- UNSET_FLAG (ospf6->flag, OSPF6_STUB_ROUTER);
- }
- return CMD_SUCCESS;
+ return CMD_SUCCESS;
}
#if 0
@@ -788,81 +752,75 @@ DEFUN (no_ospf6_stub_router_shutdown,
}
#endif
-static void
-ospf6_show (struct vty *vty, struct ospf6 *o)
+static void ospf6_show(struct vty *vty, struct ospf6 *o)
{
- struct listnode *n;
- struct ospf6_area *oa;
- char router_id[16], duration[32];
- struct timeval now, running, result;
- char buf[32], rbuf[32];
-
- /* process id, router id */
- inet_ntop (AF_INET, &o->router_id, router_id, sizeof (router_id));
- vty_out (vty, " OSPFv3 Routing Process (0) with Router-ID %s\n",
- router_id);
-
- /* running time */
- monotime(&now);
- timersub (&now, &o->starttime, &running);
- timerstring (&running, duration, sizeof (duration));
- vty_out (vty, " Running %s\n", duration);
-
- /* Redistribute configuration */
- /* XXX */
-
- vty_out (vty, " LSA minimum arrival %d msecs\n",o->lsa_minarrival);
-
- /* Show SPF parameters */
- vty_out(vty, " Initial SPF scheduling delay %d millisec(s)\n"
- " Minimum hold time between consecutive SPFs %d millsecond(s)\n"
- " Maximum hold time between consecutive SPFs %d millsecond(s)\n"
- " Hold time multiplier is currently %d\n",
- o->spf_delay,
- o->spf_holdtime,
- o->spf_max_holdtime,
- o->spf_hold_multiplier);
-
- vty_out(vty, " SPF algorithm ");
- if (o->ts_spf.tv_sec || o->ts_spf.tv_usec)
- {
- timersub(&now, &o->ts_spf, &result);
- timerstring(&result, buf, sizeof(buf));
- ospf6_spf_reason_string(o->last_spf_reason, rbuf, sizeof(rbuf));
- vty_out(vty, "last executed %s ago, reason %s\n", buf, rbuf);
- vty_out (vty, " Last SPF duration %lld sec %lld usec\n",
- (long long)o->ts_spf_duration.tv_sec,
- (long long)o->ts_spf_duration.tv_usec);
- }
- else
- vty_out(vty, "has not been run$\n");
- threadtimer_string(now, o->t_spf_calc, buf, sizeof(buf));
- vty_out (vty, " SPF timer %s%s\n",
- (o->t_spf_calc ? "due in " : "is "), buf);
-
- if (CHECK_FLAG (o->flag, OSPF6_STUB_ROUTER))
- vty_out (vty, " Router Is Stub Router\n");
-
- /* LSAs */
- vty_out (vty, " Number of AS scoped LSAs is %u\n",
- o->lsdb->count);
-
- /* Areas */
- vty_out (vty, " Number of areas in this router is %u\n",
- listcount (o->area_list));
-
- if (CHECK_FLAG(o->config_flags, OSPF6_LOG_ADJACENCY_CHANGES))
- {
- if (CHECK_FLAG(o->config_flags, OSPF6_LOG_ADJACENCY_DETAIL))
- vty_out (vty, " All adjacency changes are logged\n");
- else
- vty_out (vty, " Adjacency changes are logged\n");
- }
-
- vty_out (vty, "\n");
-
- for (ALL_LIST_ELEMENTS_RO (o->area_list, n, oa))
- ospf6_area_show (vty, oa);
+ struct listnode *n;
+ struct ospf6_area *oa;
+ char router_id[16], duration[32];
+ struct timeval now, running, result;
+ char buf[32], rbuf[32];
+
+ /* process id, router id */
+ inet_ntop(AF_INET, &o->router_id, router_id, sizeof(router_id));
+ vty_out(vty, " OSPFv3 Routing Process (0) with Router-ID %s\n",
+ router_id);
+
+ /* running time */
+ monotime(&now);
+ timersub(&now, &o->starttime, &running);
+ timerstring(&running, duration, sizeof(duration));
+ vty_out(vty, " Running %s\n", duration);
+
+ /* Redistribute configuration */
+ /* XXX */
+
+ vty_out(vty, " LSA minimum arrival %d msecs\n", o->lsa_minarrival);
+
+ /* Show SPF parameters */
+ vty_out(vty,
+ " Initial SPF scheduling delay %d millisec(s)\n"
+ " Minimum hold time between consecutive SPFs %d millsecond(s)\n"
+ " Maximum hold time between consecutive SPFs %d millsecond(s)\n"
+ " Hold time multiplier is currently %d\n",
+ o->spf_delay, o->spf_holdtime, o->spf_max_holdtime,
+ o->spf_hold_multiplier);
+
+ vty_out(vty, " SPF algorithm ");
+ if (o->ts_spf.tv_sec || o->ts_spf.tv_usec) {
+ timersub(&now, &o->ts_spf, &result);
+ timerstring(&result, buf, sizeof(buf));
+ ospf6_spf_reason_string(o->last_spf_reason, rbuf, sizeof(rbuf));
+ vty_out(vty, "last executed %s ago, reason %s\n", buf, rbuf);
+ vty_out(vty, " Last SPF duration %lld sec %lld usec\n",
+ (long long)o->ts_spf_duration.tv_sec,
+ (long long)o->ts_spf_duration.tv_usec);
+ } else
+ vty_out(vty, "has not been run$\n");
+ threadtimer_string(now, o->t_spf_calc, buf, sizeof(buf));
+ vty_out(vty, " SPF timer %s%s\n", (o->t_spf_calc ? "due in " : "is "),
+ buf);
+
+ if (CHECK_FLAG(o->flag, OSPF6_STUB_ROUTER))
+ vty_out(vty, " Router Is Stub Router\n");
+
+ /* LSAs */
+ vty_out(vty, " Number of AS scoped LSAs is %u\n", o->lsdb->count);
+
+ /* Areas */
+ vty_out(vty, " Number of areas in this router is %u\n",
+ listcount(o->area_list));
+
+ if (CHECK_FLAG(o->config_flags, OSPF6_LOG_ADJACENCY_CHANGES)) {
+ if (CHECK_FLAG(o->config_flags, OSPF6_LOG_ADJACENCY_DETAIL))
+ vty_out(vty, " All adjacency changes are logged\n");
+ else
+ vty_out(vty, " Adjacency changes are logged\n");
+ }
+
+ vty_out(vty, "\n");
+
+ for (ALL_LIST_ELEMENTS_RO(o->area_list, n, oa))
+ ospf6_area_show(vty, oa);
}
/* show top level structures */
@@ -873,10 +831,10 @@ DEFUN (show_ipv6_ospf6,
IP6_STR
OSPF6_STR)
{
- OSPF6_CMD_CHECK_RUNNING ();
+ OSPF6_CMD_CHECK_RUNNING();
- ospf6_show (vty, ospf6);
- return CMD_SUCCESS;
+ ospf6_show(vty, ospf6);
+ return CMD_SUCCESS;
}
DEFUN (show_ipv6_ospf6_route,
@@ -895,10 +853,10 @@ DEFUN (show_ipv6_ospf6_route,
"Detailed information\n"
"Summary of route table\n")
{
- OSPF6_CMD_CHECK_RUNNING ();
+ OSPF6_CMD_CHECK_RUNNING();
- ospf6_route_table_show (vty, 4, argc, argv, ospf6->route_table);
- return CMD_SUCCESS;
+ ospf6_route_table_show(vty, 4, argc, argv, ospf6->route_table);
+ return CMD_SUCCESS;
}
DEFUN (show_ipv6_ospf6_route_match,
@@ -912,10 +870,10 @@ DEFUN (show_ipv6_ospf6_route_match,
"Display routes which match the specified route\n"
"Display routes longer than the specified route\n")
{
- OSPF6_CMD_CHECK_RUNNING ();
+ OSPF6_CMD_CHECK_RUNNING();
- ospf6_route_table_show (vty, 4, argc, argv, ospf6->route_table);
- return CMD_SUCCESS;
+ ospf6_route_table_show(vty, 4, argc, argv, ospf6->route_table);
+ return CMD_SUCCESS;
}
DEFUN (show_ipv6_ospf6_route_match_detail,
@@ -930,14 +888,13 @@ DEFUN (show_ipv6_ospf6_route_match_detail,
"Detailed information\n"
)
{
- OSPF6_CMD_CHECK_RUNNING ();
+ OSPF6_CMD_CHECK_RUNNING();
- ospf6_route_table_show (vty, 4, argc, argv, ospf6->route_table);
- return CMD_SUCCESS;
+ ospf6_route_table_show(vty, 4, argc, argv, ospf6->route_table);
+ return CMD_SUCCESS;
}
-
DEFUN (show_ipv6_ospf6_route_type_detail,
show_ipv6_ospf6_route_type_detail_cmd,
"show ipv6 ospf6 route <intra-area|inter-area|external-1|external-2> detail",
@@ -952,153 +909,143 @@ DEFUN (show_ipv6_ospf6_route_type_detail,
"Detailed information\n"
)
{
- OSPF6_CMD_CHECK_RUNNING ();
+ OSPF6_CMD_CHECK_RUNNING();
- ospf6_route_table_show (vty, 4, argc, argv, ospf6->route_table);
- return CMD_SUCCESS;
+ ospf6_route_table_show(vty, 4, argc, argv, ospf6->route_table);
+ return CMD_SUCCESS;
}
-static void
-ospf6_stub_router_config_write (struct vty *vty)
+static void ospf6_stub_router_config_write(struct vty *vty)
{
- if (CHECK_FLAG (ospf6->flag, OSPF6_STUB_ROUTER))
- {
- vty_out (vty, " stub-router administrative\n");
- }
- return;
+ if (CHECK_FLAG(ospf6->flag, OSPF6_STUB_ROUTER)) {
+ vty_out(vty, " stub-router administrative\n");
+ }
+ return;
}
-static int
-ospf6_distance_config_write (struct vty *vty)
+static int ospf6_distance_config_write(struct vty *vty)
{
- struct route_node *rn;
- struct ospf6_distance *odistance;
-
- if (ospf6->distance_all)
- vty_out (vty, " distance %u\n", ospf6->distance_all);
-
- if (ospf6->distance_intra
- || ospf6->distance_inter
- || ospf6->distance_external)
- {
- vty_out (vty, " distance ospf6");
-
- if (ospf6->distance_intra)
- vty_out (vty, " intra-area %u", ospf6->distance_intra);
- if (ospf6->distance_inter)
- vty_out (vty, " inter-area %u", ospf6->distance_inter);
- if (ospf6->distance_external)
- vty_out (vty, " external %u", ospf6->distance_external);
-
- vty_out (vty, "\n");
- }
-
- for (rn = route_top (ospf6->distance_table); rn; rn = route_next (rn))
- if ((odistance = rn->info) != NULL)
- {
- char buf[PREFIX_STRLEN];
-
- vty_out (vty, " distance %u %s %s\n", odistance->distance,
- prefix2str (&rn->p, buf, sizeof (buf)),
- odistance->access_list ? odistance->access_list : "");
- }
- return 0;
+ struct route_node *rn;
+ struct ospf6_distance *odistance;
+
+ if (ospf6->distance_all)
+ vty_out(vty, " distance %u\n", ospf6->distance_all);
+
+ if (ospf6->distance_intra || ospf6->distance_inter
+ || ospf6->distance_external) {
+ vty_out(vty, " distance ospf6");
+
+ if (ospf6->distance_intra)
+ vty_out(vty, " intra-area %u", ospf6->distance_intra);
+ if (ospf6->distance_inter)
+ vty_out(vty, " inter-area %u", ospf6->distance_inter);
+ if (ospf6->distance_external)
+ vty_out(vty, " external %u", ospf6->distance_external);
+
+ vty_out(vty, "\n");
+ }
+
+ for (rn = route_top(ospf6->distance_table); rn; rn = route_next(rn))
+ if ((odistance = rn->info) != NULL) {
+ char buf[PREFIX_STRLEN];
+
+ vty_out(vty, " distance %u %s %s\n",
+ odistance->distance,
+ prefix2str(&rn->p, buf, sizeof(buf)),
+ odistance->access_list ? odistance->access_list
+ : "");
+ }
+ return 0;
}
/* OSPF configuration write function. */
-static int
-config_write_ospf6 (struct vty *vty)
+static int config_write_ospf6(struct vty *vty)
{
- char router_id[16];
- struct listnode *j, *k;
- struct ospf6_area *oa;
- struct ospf6_interface *oi;
-
- /* OSPFv3 configuration. */
- if (ospf6 == NULL)
- return CMD_SUCCESS;
-
- inet_ntop (AF_INET, &ospf6->router_id_static, router_id, sizeof (router_id));
- vty_out (vty, "router ospf6\n");
- if (ospf6->router_id_static != 0)
- vty_out (vty, " router-id %s\n", router_id);
-
- /* log-adjacency-changes flag print. */
- if (CHECK_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_CHANGES))
- {
- if (CHECK_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL))
- vty_out (vty, " log-adjacency-changes detail\n");
- else if (!DFLT_OSPF6_LOG_ADJACENCY_CHANGES)
- vty_out (vty, " log-adjacency-changes\n");
- }
- else if (DFLT_OSPF6_LOG_ADJACENCY_CHANGES)
- {
- vty_out (vty, " no log-adjacency-changes\n");
- }
-
- if (ospf6->ref_bandwidth != OSPF6_REFERENCE_BANDWIDTH)
- vty_out (vty, " auto-cost reference-bandwidth %d\n", ospf6->ref_bandwidth);
-
- /* LSA timers print. */
- if (ospf6->lsa_minarrival != OSPF_MIN_LS_ARRIVAL)
- vty_out (vty, " timers lsa min-arrival %d\n",ospf6->lsa_minarrival);
-
- ospf6_stub_router_config_write (vty);
- ospf6_redistribute_config_write (vty);
- ospf6_area_config_write (vty);
- ospf6_spf_config_write (vty);
- ospf6_distance_config_write (vty);
-
- for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, j, oa))
- {
- for (ALL_LIST_ELEMENTS_RO (oa->if_list, k, oi))
- vty_out (vty, " interface %s area %s\n",
- oi->interface->name, oa->name);
- }
- vty_out (vty, "!\n");
- return 0;
+ char router_id[16];
+ struct listnode *j, *k;
+ struct ospf6_area *oa;
+ struct ospf6_interface *oi;
+
+ /* OSPFv3 configuration. */
+ if (ospf6 == NULL)
+ return CMD_SUCCESS;
+
+ inet_ntop(AF_INET, &ospf6->router_id_static, router_id,
+ sizeof(router_id));
+ vty_out(vty, "router ospf6\n");
+ if (ospf6->router_id_static != 0)
+ vty_out(vty, " router-id %s\n", router_id);
+
+ /* log-adjacency-changes flag print. */
+ if (CHECK_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_CHANGES)) {
+ if (CHECK_FLAG(ospf6->config_flags, OSPF6_LOG_ADJACENCY_DETAIL))
+ vty_out(vty, " log-adjacency-changes detail\n");
+ else if (!DFLT_OSPF6_LOG_ADJACENCY_CHANGES)
+ vty_out(vty, " log-adjacency-changes\n");
+ } else if (DFLT_OSPF6_LOG_ADJACENCY_CHANGES) {
+ vty_out(vty, " no log-adjacency-changes\n");
+ }
+
+ if (ospf6->ref_bandwidth != OSPF6_REFERENCE_BANDWIDTH)
+ vty_out(vty, " auto-cost reference-bandwidth %d\n",
+ ospf6->ref_bandwidth);
+
+ /* LSA timers print. */
+ if (ospf6->lsa_minarrival != OSPF_MIN_LS_ARRIVAL)
+ vty_out(vty, " timers lsa min-arrival %d\n",
+ ospf6->lsa_minarrival);
+
+ ospf6_stub_router_config_write(vty);
+ ospf6_redistribute_config_write(vty);
+ ospf6_area_config_write(vty);
+ ospf6_spf_config_write(vty);
+ ospf6_distance_config_write(vty);
+
+ for (ALL_LIST_ELEMENTS_RO(ospf6->area_list, j, oa)) {
+ for (ALL_LIST_ELEMENTS_RO(oa->if_list, k, oi))
+ vty_out(vty, " interface %s area %s\n",
+ oi->interface->name, oa->name);
+ }
+ vty_out(vty, "!\n");
+ return 0;
}
/* OSPF6 node structure. */
-static struct cmd_node ospf6_node =
-{
- OSPF6_NODE,
- "%s(config-ospf6)# ",
- 1 /* VTYSH */
+static struct cmd_node ospf6_node = {
+ OSPF6_NODE, "%s(config-ospf6)# ", 1 /* VTYSH */
};
/* Install ospf related commands. */
-void
-ospf6_top_init (void)
+void ospf6_top_init(void)
{
- /* Install ospf6 top node. */
- install_node (&ospf6_node, config_write_ospf6);
-
- install_element (VIEW_NODE, &show_ipv6_ospf6_cmd);
- install_element (CONFIG_NODE, &router_ospf6_cmd);
- install_element (CONFIG_NODE, &no_router_ospf6_cmd);
-
- install_element (VIEW_NODE, &show_ipv6_ospf6_route_cmd);
- install_element (VIEW_NODE, &show_ipv6_ospf6_route_match_cmd);
- install_element (VIEW_NODE, &show_ipv6_ospf6_route_match_detail_cmd);
- install_element (VIEW_NODE, &show_ipv6_ospf6_route_type_detail_cmd);
-
- install_default (OSPF6_NODE);
- install_element (OSPF6_NODE, &ospf6_router_id_cmd);
- install_element (OSPF6_NODE, &ospf6_log_adjacency_changes_cmd);
- install_element (OSPF6_NODE, &ospf6_log_adjacency_changes_detail_cmd);
- install_element (OSPF6_NODE, &no_ospf6_log_adjacency_changes_cmd);
- install_element (OSPF6_NODE, &no_ospf6_log_adjacency_changes_detail_cmd);
-
- /* LSA timers commands */
- install_element (OSPF6_NODE, &ospf6_timers_lsa_cmd);
- install_element (OSPF6_NODE, &no_ospf6_timers_lsa_cmd);
-
- install_element (OSPF6_NODE, &ospf6_interface_area_cmd);
- install_element (OSPF6_NODE, &no_ospf6_interface_area_cmd);
- install_element (OSPF6_NODE, &ospf6_stub_router_admin_cmd);
- install_element (OSPF6_NODE, &no_ospf6_stub_router_admin_cmd);
- /* For a later time */
+ /* Install ospf6 top node. */
+ install_node(&ospf6_node, config_write_ospf6);
+
+ install_element(VIEW_NODE, &show_ipv6_ospf6_cmd);
+ install_element(CONFIG_NODE, &router_ospf6_cmd);
+ install_element(CONFIG_NODE, &no_router_ospf6_cmd);
+
+ install_element(VIEW_NODE, &show_ipv6_ospf6_route_cmd);
+ install_element(VIEW_NODE, &show_ipv6_ospf6_route_match_cmd);
+ install_element(VIEW_NODE, &show_ipv6_ospf6_route_match_detail_cmd);
+ install_element(VIEW_NODE, &show_ipv6_ospf6_route_type_detail_cmd);
+
+ install_default(OSPF6_NODE);
+ install_element(OSPF6_NODE, &ospf6_router_id_cmd);
+ install_element(OSPF6_NODE, &ospf6_log_adjacency_changes_cmd);
+ install_element(OSPF6_NODE, &ospf6_log_adjacency_changes_detail_cmd);
+ install_element(OSPF6_NODE, &no_ospf6_log_adjacency_changes_cmd);
+ install_element(OSPF6_NODE, &no_ospf6_log_adjacency_changes_detail_cmd);
+
+ /* LSA timers commands */
+ install_element(OSPF6_NODE, &ospf6_timers_lsa_cmd);
+ install_element(OSPF6_NODE, &no_ospf6_timers_lsa_cmd);
+
+ install_element(OSPF6_NODE, &ospf6_interface_area_cmd);
+ install_element(OSPF6_NODE, &no_ospf6_interface_area_cmd);
+ install_element(OSPF6_NODE, &ospf6_stub_router_admin_cmd);
+ install_element(OSPF6_NODE, &no_ospf6_stub_router_admin_cmd);
+/* For a later time */
#if 0
install_element (OSPF6_NODE, &ospf6_stub_router_startup_cmd);
install_element (OSPF6_NODE, &no_ospf6_stub_router_startup_cmd);
@@ -1106,10 +1053,10 @@ ospf6_top_init (void)
install_element (OSPF6_NODE, &no_ospf6_stub_router_shutdown_cmd);
#endif
- install_element (OSPF6_NODE, &ospf6_distance_cmd);
- install_element (OSPF6_NODE, &no_ospf6_distance_cmd);
- install_element (OSPF6_NODE, &ospf6_distance_ospf6_cmd);
- install_element (OSPF6_NODE, &no_ospf6_distance_ospf6_cmd);
+ install_element(OSPF6_NODE, &ospf6_distance_cmd);
+ install_element(OSPF6_NODE, &no_ospf6_distance_cmd);
+ install_element(OSPF6_NODE, &ospf6_distance_ospf6_cmd);
+ install_element(OSPF6_NODE, &no_ospf6_distance_ospf6_cmd);
#if 0
install_element (OSPF6_NODE, &ospf6_distance_source_cmd);
install_element (OSPF6_NODE, &no_ospf6_distance_source_cmd);