summaryrefslogtreecommitdiffstats
path: root/ospf6d
diff options
context:
space:
mode:
authorQuentin Young <qlyoung@cumulusnetworks.com>2016-10-18 01:36:21 +0200
committerQuentin Young <qlyoung@cumulusnetworks.com>2016-10-18 01:36:21 +0200
commite52702f29d003585dcfbb4914b2a52d77a177739 (patch)
tree3e130ded38c48316796bfb602dc6fe6d119129d2 /ospf6d
parentospf6d: fix a few vty help strings (diff)
parentvtysh: fix build failure in vtysh_writeconfig_integrated() (diff)
downloadfrr-e52702f29d003585dcfbb4914b2a52d77a177739.tar.xz
frr-e52702f29d003585dcfbb4914b2a52d77a177739.zip
Merge branch 'cmaster-next' into vtysh-grammar
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com> Conflicts: bgpd/bgp_route.c bgpd/bgp_routemap.c bgpd/bgp_vty.c isisd/isis_redist.c isisd/isis_routemap.c isisd/isis_vty.c isisd/isisd.c lib/command.c lib/distribute.c lib/if.c lib/keychain.c lib/routemap.c lib/routemap.h ospf6d/ospf6_asbr.c ospf6d/ospf6_interface.c ospf6d/ospf6_neighbor.c ospf6d/ospf6_top.c ospf6d/ospf6_zebra.c ospf6d/ospf6d.c ospfd/ospf_routemap.c ospfd/ospf_vty.c ripd/rip_routemap.c ripngd/ripng_routemap.c vtysh/extract.pl.in vtysh/vtysh.c zebra/interface.c zebra/irdp_interface.c zebra/rt_netlink.c zebra/rtadv.c zebra/test_main.c zebra/zebra_routemap.c zebra/zebra_vty.c
Diffstat (limited to 'ospf6d')
-rw-r--r--ospf6d/ospf6_area.c4
-rw-r--r--ospf6d/ospf6_asbr.c146
-rw-r--r--ospf6d/ospf6_asbr.h6
-rw-r--r--ospf6d/ospf6_interface.c3
-rw-r--r--ospf6d/ospf6_neighbor.c1
-rw-r--r--ospf6d/ospf6_route.h1
-rw-r--r--ospf6d/ospf6_snmp.c3
-rw-r--r--ospf6d/ospf6_top.c5
-rw-r--r--ospf6d/ospf6_zebra.c25
-rw-r--r--ospf6d/ospf6d.c19
10 files changed, 160 insertions, 53 deletions
diff --git a/ospf6d/ospf6_area.c b/ospf6d/ospf6_area.c
index 3449ec3ff..de395e8b5 100644
--- a/ospf6d/ospf6_area.c
+++ b/ospf6d/ospf6_area.c
@@ -1053,10 +1053,6 @@ ospf6_area_init (void)
install_element (VIEW_NODE, &show_ipv6_ospf6_area_spf_tree_cmd);
install_element (VIEW_NODE, &show_ipv6_ospf6_simulate_spf_tree_root_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_spf_tree_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_area_spf_tree_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_simulate_spf_tree_root_cmd);
-
install_element (OSPF6_NODE, &area_range_cmd);
install_element (OSPF6_NODE, &no_area_range_cmd);
install_element (OSPF6_NODE, &ospf6_area_stub_no_summary_cmd);
diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c
index 07ddb9cc8..3ade69c30 100644
--- a/ospf6d/ospf6_asbr.c
+++ b/ospf6d/ospf6_asbr.c
@@ -93,6 +93,9 @@ ospf6_as_external_lsa_originate (struct ospf6_route *route)
UNSET_FLAG (as_external_lsa->bits_metric, OSPF6_ASBR_BIT_F);
/* external route tag */
+ if (info->tag)
+ SET_FLAG (as_external_lsa->bits_metric, OSPF6_ASBR_BIT_T);
+ else
UNSET_FLAG (as_external_lsa->bits_metric, OSPF6_ASBR_BIT_T);
/* Set metric */
@@ -123,7 +126,10 @@ ospf6_as_external_lsa_originate (struct ospf6_route *route)
/* External Route Tag */
if (CHECK_FLAG (as_external_lsa->bits_metric, OSPF6_ASBR_BIT_T))
{
- /* xxx */
+ route_tag_t network_order = htonl(info->tag);
+
+ memcpy (p, &network_order, sizeof(network_order));
+ p += sizeof(network_order);
}
/* Fill LSA Header */
@@ -146,6 +152,29 @@ ospf6_as_external_lsa_originate (struct ospf6_route *route)
ospf6_lsa_originate_process (lsa, ospf6);
}
+static route_tag_t
+ospf6_as_external_lsa_get_tag (struct ospf6_lsa *lsa)
+{
+ struct ospf6_as_external_lsa *external;
+ ptrdiff_t tag_offset;
+ route_tag_t network_order;
+
+ if (!lsa)
+ return 0;
+
+ external = (struct ospf6_as_external_lsa *)
+ OSPF6_LSA_HEADER_END (lsa->header);
+
+ if (!CHECK_FLAG (external->bits_metric, OSPF6_ASBR_BIT_T))
+ return 0;
+
+ tag_offset = sizeof(*external) + OSPF6_PREFIX_SPACE(external->prefix.prefix_length);
+ if (CHECK_FLAG (external->bits_metric, OSPF6_ASBR_BIT_F))
+ tag_offset += sizeof(struct in6_addr);
+
+ memcpy(&network_order, (caddr_t)external + tag_offset, sizeof(network_order));
+ return ntohl(network_order);
+}
void
ospf6_asbr_lsa_add (struct ospf6_lsa *lsa)
@@ -222,6 +251,8 @@ ospf6_asbr_lsa_add (struct ospf6_lsa *lsa)
route->path.u.cost_e2 = 0;
}
+ route->path.tag = ospf6_as_external_lsa_get_tag (lsa);
+
ospf6_route_copy_nexthops (route, asbr_entry);
if (IS_OSPF6_DEBUG_EXAMIN (AS_EXTERNAL))
@@ -427,7 +458,7 @@ ospf6_asbr_send_externals_to_area (struct ospf6_area *oa)
void
ospf6_asbr_redistribute_add (int type, ifindex_t ifindex, struct prefix *prefix,
- u_int nexthop_num, struct in6_addr *nexthop)
+ u_int nexthop_num, struct in6_addr *nexthop, route_tag_t tag)
{
int ret;
struct ospf6_route troute;
@@ -469,6 +500,7 @@ ospf6_asbr_redistribute_add (int type, ifindex_t ifindex, struct prefix *prefix,
memset (&tinfo, 0, sizeof (tinfo));
troute.route_option = &tinfo;
tinfo.ifindex = ifindex;
+ tinfo.tag = tag;
ret = route_map_apply (ospf6->rmap[type].map, prefix,
RMAP_OSPF6, &troute);
@@ -495,6 +527,12 @@ ospf6_asbr_redistribute_add (int type, ifindex_t ifindex, struct prefix *prefix,
if (! IN6_IS_ADDR_UNSPECIFIED (&tinfo.forwarding))
memcpy (&info->forwarding, &tinfo.forwarding,
sizeof (struct in6_addr));
+ info->tag = tinfo.tag;
+ }
+ else
+ {
+ /* If there is no route-map, simply update the tag */
+ info->tag = tag;
}
info->type = type;
@@ -542,6 +580,12 @@ ospf6_asbr_redistribute_add (int type, ifindex_t ifindex, struct prefix *prefix,
if (! IN6_IS_ADDR_UNSPECIFIED (&tinfo.forwarding))
memcpy (&info->forwarding, &tinfo.forwarding,
sizeof (struct in6_addr));
+ info->tag = tinfo.tag;
+ }
+ else
+ {
+ /* If there is no route-map, simply set the tag */
+ info->tag = tag;
}
info->type = type;
@@ -644,8 +688,7 @@ DEFUN (ospf6_redistribute,
ospf6_redistribute_cmd,
"redistribute <kernel|connected|static|ripng|isis|bgp|table>",
"Redistribute\n"
- QUAGGA_REDIST_HELP_STR_OSPF6D
- )
+ QUAGGA_REDIST_HELP_STR_OSPF6D)
{
int type;
@@ -664,8 +707,7 @@ DEFUN (ospf6_redistribute_routemap,
"Redistribute\n"
QUAGGA_REDIST_HELP_STR_OSPF6D
"Route map reference\n"
- "Route map name\n"
- )
+ "Route map name\n")
{
int idx_protocol = 1;
int idx_word = 3;
@@ -857,6 +899,30 @@ ospf6_routemap_rule_match_interface_cmd =
ospf6_routemap_rule_match_interface_free
};
+/* Match function for matching route tags */
+static route_map_result_t
+ospf6_routemap_rule_match_tag (void *rule, struct prefix *prefix,
+ route_map_object_t type, void *object)
+{
+ route_tag_t *tag = rule;
+ struct ospf6_route *route = object;
+ struct ospf6_external_info *info = route->route_option;
+
+ if (type == RMAP_OSPF6 && info->tag == *tag)
+ return RMAP_MATCH;
+
+ return RMAP_NOMATCH;
+}
+
+static struct route_map_rule_cmd
+ospf6_routemap_rule_match_tag_cmd =
+{
+ "tag",
+ ospf6_routemap_rule_match_tag,
+ route_map_rule_tag_compile,
+ route_map_rule_tag_free,
+};
+
static route_map_result_t
ospf6_routemap_rule_set_metric_type (void *rule, struct prefix *prefix,
route_map_object_t type, void *object)
@@ -982,6 +1048,30 @@ ospf6_routemap_rule_set_forwarding_cmd =
ospf6_routemap_rule_set_forwarding_free,
};
+static route_map_result_t
+ospf6_routemap_rule_set_tag (void *rule, struct prefix *prefix,
+ route_map_object_t type, void *object)
+{
+ route_tag_t *tag = rule;
+ struct ospf6_route *route = object;
+ struct ospf6_external_info *info = route->route_option;
+
+ if (type != RMAP_OSPF6)
+ return RMAP_OKAY;
+
+ info->tag = *tag;
+ return RMAP_OKAY;
+}
+
+static struct route_map_rule_cmd
+ospf6_routemap_rule_set_tag_cmd =
+{
+ "tag",
+ ospf6_routemap_rule_set_tag,
+ route_map_rule_tag_compile,
+ route_map_rule_tag_free,
+};
+
static int
route_map_command_status (struct vty *vty, int ret)
{
@@ -1053,8 +1143,8 @@ DEFUN (ospf6_routemap_match_interface,
DEFUN (ospf6_routemap_no_match_interface,
ospf6_routemap_no_match_interface_cmd,
"no match interface [WORD]",
- MATCH_STR
NO_STR
+ MATCH_STR
"Match first hop interface of route\n"
"Interface name\n")
{
@@ -1130,6 +1220,34 @@ DEFUN (ospf6_routemap_no_set_forwarding,
return route_map_command_status (vty, ret);
}
+/* add "set tag" */
+DEFUN (ospf6_routemap_set_tag,
+ ospf6_routemap_set_tag_cmd,
+ "set tag (1-4294967295)",
+ "Set value\n"
+ "Tag value for routing protocol\n"
+ "Tag value\n")
+{
+ int ret = route_map_add_set ((struct route_map_index *) vty->index,
+ "tag", argv[2]->arg);
+ return route_map_command_status (vty, ret);
+}
+
+/* delete "set tag" */
+DEFUN (ospf6_routemap_no_set_tag,
+ ospf6_routemap_no_set_tag_cmd,
+ "no set tag [(1-4294967295)]",
+ NO_STR
+ "Set value\n"
+ "Tag value for routing protocol\n"
+ "Tag value\n")
+{
+ char *tag = (argc == 4) ? argv[3]->arg : NULL;
+ VTY_DECLVAR_CONTEXT (route_map_index, index);
+ int ret = route_map_delete_set (index, "tag", tag);
+ return route_map_command_status (vty, ret);
+}
+
static void
ospf6_routemap_init (void)
{
@@ -1143,10 +1261,12 @@ ospf6_routemap_init (void)
route_map_install_match (&ospf6_routemap_rule_match_address_prefixlist_cmd);
route_map_install_match (&ospf6_routemap_rule_match_interface_cmd);
+ route_map_install_match (&ospf6_routemap_rule_match_tag_cmd);
route_map_install_set (&ospf6_routemap_rule_set_metric_type_cmd);
route_map_install_set (&ospf6_routemap_rule_set_metric_cmd);
route_map_install_set (&ospf6_routemap_rule_set_forwarding_cmd);
+ route_map_install_set (&ospf6_routemap_rule_set_tag_cmd);
/* Match address prefix-list */
install_element (RMAP_NODE, &ospf6_routemap_match_address_prefixlist_cmd);
@@ -1163,6 +1283,10 @@ ospf6_routemap_init (void)
/* ASE Metric */
install_element (RMAP_NODE, &ospf6_routemap_set_forwarding_cmd);
install_element (RMAP_NODE, &ospf6_routemap_no_set_forwarding_cmd);
+
+ /* Tag */
+ install_element (RMAP_NODE, &ospf6_routemap_set_tag_cmd);
+ install_element (RMAP_NODE, &ospf6_routemap_no_set_tag_cmd);
}
@@ -1240,6 +1364,13 @@ ospf6_as_external_lsa_show (struct vty *vty, struct ospf6_lsa *lsa)
VNL);
}
+ /* Tag */
+ if (CHECK_FLAG (external->bits_metric, OSPF6_ASBR_BIT_T))
+ {
+ vty_out (vty, " Tag: %"ROUTE_TAG_PRI"%s",
+ ospf6_as_external_lsa_get_tag (lsa), VNL);
+ }
+
return 0;
}
@@ -1306,7 +1437,6 @@ ospf6_asbr_init (void)
ospf6_install_lsa_handler (&as_external_handler);
install_element (VIEW_NODE, &show_ipv6_ospf6_redistribute_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_redistribute_cmd);
install_element (OSPF6_NODE, &ospf6_redistribute_cmd);
install_element (OSPF6_NODE, &ospf6_redistribute_routemap_cmd);
diff --git a/ospf6d/ospf6_asbr.h b/ospf6d/ospf6_asbr.h
index 645e8fd9c..da6bbdd9c 100644
--- a/ospf6d/ospf6_asbr.h
+++ b/ospf6d/ospf6_asbr.h
@@ -47,7 +47,8 @@ struct ospf6_external_info
u_int32_t id;
struct in6_addr forwarding;
- /* u_int32_t tag; */
+
+ route_tag_t tag;
ifindex_t ifindex;
};
@@ -82,7 +83,8 @@ extern int ospf6_asbr_is_asbr (struct ospf6 *o);
extern void ospf6_asbr_redistribute_add (int type, ifindex_t ifindex,
struct prefix *prefix,
u_int nexthop_num,
- struct in6_addr *nexthop);
+ struct in6_addr *nexthop,
+ route_tag_t tag);
extern void ospf6_asbr_redistribute_remove (int type, ifindex_t ifindex,
struct prefix *prefix);
diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c
index 17c701f10..45977c616 100644
--- a/ospf6d/ospf6_interface.c
+++ b/ospf6d/ospf6_interface.c
@@ -1850,9 +1850,6 @@ ospf6_interface_init (void)
install_element (VIEW_NODE, &show_ipv6_ospf6_interface_prefix_cmd);
install_element (VIEW_NODE, &show_ipv6_ospf6_interface_ifname_cmd);
install_element (VIEW_NODE, &show_ipv6_ospf6_interface_ifname_prefix_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_interface_prefix_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_interface_ifname_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_interface_ifname_prefix_cmd);
install_element (CONFIG_NODE, &interface_cmd);
install_default (INTERFACE_NODE);
diff --git a/ospf6d/ospf6_neighbor.c b/ospf6d/ospf6_neighbor.c
index 91c7f7c62..385232f7f 100644
--- a/ospf6d/ospf6_neighbor.c
+++ b/ospf6d/ospf6_neighbor.c
@@ -913,7 +913,6 @@ void
ospf6_neighbor_init (void)
{
install_element (VIEW_NODE, &show_ipv6_ospf6_neighbor_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_neighbor_cmd);
}
DEFUN (debug_ospf6_neighbor,
diff --git a/ospf6d/ospf6_route.h b/ospf6d/ospf6_route.h
index d0126b30d..c7c21a657 100644
--- a/ospf6d/ospf6_route.h
+++ b/ospf6d/ospf6_route.h
@@ -100,6 +100,7 @@ struct ospf6_path
u_int32_t cost_e2;
u_int32_t cost_config;
} u;
+ u_int32_t tag;
};
#define OSPF6_PATH_TYPE_NONE 0
diff --git a/ospf6d/ospf6_snmp.c b/ospf6d/ospf6_snmp.c
index 382cf62f7..86cfd17c8 100644
--- a/ospf6d/ospf6_snmp.c
+++ b/ospf6d/ospf6_snmp.c
@@ -625,7 +625,8 @@ ospfv3WwLsdbEntry (struct variable *v, oid *name, size_t *length,
int exact, size_t *var_len, WriteMethod **write_method)
{
struct ospf6_lsa *lsa = NULL;
- ifindex_t ifindex, area_id, id, instid, adv_router;
+ ifindex_t ifindex;
+ uint32_t area_id, id, instid, adv_router;
u_int16_t type;
int len;
oid *offset;
diff --git a/ospf6d/ospf6_top.c b/ospf6d/ospf6_top.c
index 48b6cb949..31cdbd3c5 100644
--- a/ospf6d/ospf6_top.c
+++ b/ospf6d/ospf6_top.c
@@ -924,7 +924,6 @@ ospf6_top_init (void)
install_node (&ospf6_node, config_write_ospf6);
install_element (VIEW_NODE, &show_ipv6_ospf6_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_cmd);
install_element (CONFIG_NODE, &router_ospf6_cmd);
install_element (CONFIG_NODE, &no_router_ospf6_cmd);
@@ -932,10 +931,6 @@ ospf6_top_init (void)
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_element (ENABLE_NODE, &show_ipv6_ospf6_route_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_route_match_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_route_match_detail_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_route_type_detail_cmd);
install_default (OSPF6_NODE);
install_element (OSPF6_NODE, &ospf6_router_id_cmd);
diff --git a/ospf6d/ospf6_zebra.c b/ospf6d/ospf6_zebra.c
index fd87c5a56..c3b873953 100644
--- a/ospf6d/ospf6_zebra.c
+++ b/ospf6d/ospf6_zebra.c
@@ -229,13 +229,13 @@ ospf6_zebra_read_ipv6 (int command, struct zclient *zclient,
/* Type, flags, message. */
api.type = stream_getc (s);
api.instance = stream_getw (s);
- api.flags = stream_getc (s);
+ api.flags = stream_getl (s);
api.message = stream_getc (s);
/* IPv6 prefix. */
memset (&p, 0, sizeof (struct prefix_ipv6));
p.family = AF_INET6;
- p.prefixlen = stream_getc (s);
+ p.prefixlen = MIN(IPV6_MAX_PREFIXLEN, stream_getc (s));
stream_get (&p.prefix, s, PSIZE (p.prefixlen));
/* Nexthop, ifindex, distance, metric. */
@@ -260,6 +260,11 @@ ospf6_zebra_read_ipv6 (int command, struct zclient *zclient,
else
api.metric = 0;
+ if (CHECK_FLAG (api.message, ZAPI_MESSAGE_TAG))
+ api.tag = stream_getl (s);
+ else
+ api.tag = 0;
+
if (IS_OSPF6_DEBUG_ZEBRA (RECV))
{
char prefixstr[PREFIX2STR_BUFFER], nexthopstr[128];
@@ -269,14 +274,14 @@ ospf6_zebra_read_ipv6 (int command, struct zclient *zclient,
else
snprintf (nexthopstr, sizeof (nexthopstr), "::");
- zlog_debug ("Zebra Receive route %s: %s %s nexthop %s ifindex %ld",
+ zlog_debug ("Zebra Receive route %s: %s %s nexthop %s ifindex %ld tag %"ROUTE_TAG_PRI,
(command == ZEBRA_IPV6_ROUTE_ADD ? "add" : "delete"),
- zebra_route_string(api.type), prefixstr, nexthopstr, ifindex);
+ zebra_route_string(api.type), prefixstr, nexthopstr, ifindex, api.tag);
}
if (command == ZEBRA_REDISTRIBUTE_IPV6_ADD)
ospf6_asbr_redistribute_add (api.type, ifindex, (struct prefix *) &p,
- api.nexthop_num, nexthop);
+ api.nexthop_num, nexthop, api.tag);
else
ospf6_asbr_redistribute_remove (api.type, ifindex, (struct prefix *) &p);
@@ -444,6 +449,11 @@ ospf6_zebra_route_update (int type, struct ospf6_route *request)
SET_FLAG (api.message, ZAPI_MESSAGE_METRIC);
api.metric = (request->path.metric_type == 2 ?
request->path.u.cost_e2 : request->path.cost);
+ if (request->path.tag)
+ {
+ SET_FLAG (api.message, ZAPI_MESSAGE_TAG);
+ api.tag = request->path.tag;
+ }
dest = (struct prefix_ipv6 *) &request->prefix;
if (type == REM)
@@ -653,12 +663,8 @@ ospf6_zebra_init (struct thread_master *master)
zclient->interface_down = ospf6_zebra_if_state_update;
zclient->interface_address_add = ospf6_zebra_if_address_update_add;
zclient->interface_address_delete = ospf6_zebra_if_address_update_delete;
- zclient->ipv4_route_add = NULL;
- zclient->ipv4_route_delete = NULL;
zclient->redistribute_route_ipv4_add = NULL;
zclient->redistribute_route_ipv4_del = NULL;
- zclient->ipv6_route_add = ospf6_zebra_read_ipv6;
- zclient->ipv6_route_delete = ospf6_zebra_read_ipv6;
zclient->redistribute_route_ipv6_add = ospf6_zebra_read_ipv6;
zclient->redistribute_route_ipv6_del = ospf6_zebra_read_ipv6;
@@ -670,7 +676,6 @@ ospf6_zebra_init (struct thread_master *master)
/* Install command element for zebra node. */
install_element (VIEW_NODE, &show_zebra_cmd);
- install_element (ENABLE_NODE, &show_zebra_cmd);
install_default (ZEBRA_NODE);
install_element (ZEBRA_NODE, &redistribute_ospf6_cmd);
install_element (ZEBRA_NODE, &no_redistribute_ospf6_cmd);
diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c
index 8042c7322..349dae5c7 100644
--- a/ospf6d/ospf6d.c
+++ b/ospf6d/ospf6d.c
@@ -1235,15 +1235,11 @@ ospf6_init (void)
install_element_ospf6_clear_interface ();
install_element (VIEW_NODE, &show_version_ospf6_cmd);
- install_element (ENABLE_NODE, &show_version_ospf6_cmd);
install_element (VIEW_NODE, &show_ipv6_ospf6_border_routers_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_border_routers_cmd);
install_element (VIEW_NODE, &show_ipv6_ospf6_linkstate_cmd);
install_element (VIEW_NODE, &show_ipv6_ospf6_linkstate_detail_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_linkstate_cmd);
- install_element (ENABLE_NODE, &show_ipv6_ospf6_linkstate_detail_cmd);
#define INSTALL(n,c) \
install_element (n ## _NODE, &show_ipv6_ospf6_ ## c)
@@ -1263,21 +1259,6 @@ ospf6_init (void)
INSTALL (VIEW, database_type_id_self_originated_cmd);
INSTALL (VIEW, database_type_self_originated_linkstate_id_cmd);
- INSTALL (ENABLE, database_cmd);
- INSTALL (ENABLE, database_type_cmd);
- INSTALL (ENABLE, database_id_cmd);
- INSTALL (ENABLE, database_router_cmd);
- INSTALL (ENABLE, database_type_id_cmd);
- INSTALL (ENABLE, database_type_router_cmd);
- INSTALL (ENABLE, database_adv_router_linkstate_id_cmd);
- INSTALL (ENABLE, database_id_router_cmd);
- INSTALL (ENABLE, database_type_id_router_cmd);
- INSTALL (ENABLE, database_type_adv_router_linkstate_id_cmd);
- INSTALL (ENABLE, database_self_originated_cmd);
- INSTALL (ENABLE, database_type_self_originated_cmd);
- INSTALL (ENABLE, database_type_id_self_originated_cmd);
- INSTALL (ENABLE, database_type_self_originated_linkstate_id_cmd);
-
/* Make ospf protocol socket. */
ospf6_serv_sock ();
thread_add_read (master, ospf6_receive, NULL, ospf6_sock);