forked from Mirror/frr
ospf6d: ospfv3-show-cmds-instance-check-fix.patch
SYMPTOM: If some of the ospfv3 commands like 'show ipv6 ospf6 route' are executed with ospf6d daemon running but before having any ospfv3 configuration, then ospf6d crash is seen. ISSUE: There are a few show commands, which are (unlike others) not checking if ospf6 instance is initialized already. FIX: Add the missing checks, by using OSPF6_CMD_CHECK_RUNNING() in the commands where its needed and not yet used. Signed-off-by: Vipin Kumar <vipin@cumulusnetworks.com> Reviewed-by: Pradosh Mohapatra <pmohapat@cumulusnetworks.com> Dinesh Dutt <ddutt@cumulusnetworks.com>
This commit is contained in:
parent
a1b11f9bfa
commit
b52a8a52c1
|
@ -826,6 +826,8 @@ DEFUN (show_ipv6_ospf6_spf_tree,
|
|||
struct ospf6_route *route;
|
||||
struct prefix prefix;
|
||||
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
ospf6_linkstate_prefix (ospf6->router_id, htonl (0), &prefix);
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
|
||||
|
@ -861,6 +863,8 @@ DEFUN (show_ipv6_ospf6_area_spf_tree,
|
|||
struct ospf6_route *route;
|
||||
struct prefix prefix;
|
||||
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
ospf6_linkstate_prefix (ospf6->router_id, htonl (0), &prefix);
|
||||
|
||||
if (inet_pton (AF_INET, argv[0], &area_id) != 1)
|
||||
|
@ -907,6 +911,8 @@ DEFUN (show_ipv6_ospf6_simulate_spf_tree_root,
|
|||
struct ospf6_route_table *spf_table;
|
||||
unsigned char tmp_debug_ospf6_spf = 0;
|
||||
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
inet_pton (AF_INET, argv[0], &router_id);
|
||||
ospf6_linkstate_prefix (router_id, htonl (0), &prefix);
|
||||
|
||||
|
|
|
@ -1312,6 +1312,8 @@ DEFUN (show_ipv6_ospf6_redistribute,
|
|||
{
|
||||
struct ospf6_route *route;
|
||||
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
ospf6_redistribute_show_config (vty);
|
||||
|
||||
for (route = ospf6_route_head (ospf6->external_table); route;
|
||||
|
|
|
@ -724,6 +724,8 @@ DEFUN (show_ipv6_ospf6_route,
|
|||
ROUTE_STR
|
||||
)
|
||||
{
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
ospf6_route_table_show (vty, argc, argv, ospf6->route_table);
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
@ -755,6 +757,8 @@ DEFUN (show_ipv6_ospf6_route_match,
|
|||
const char *sargv[CMD_ARGC_MAX];
|
||||
int i, sargc;
|
||||
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
/* copy argv to sargv and then append "match" */
|
||||
for (i = 0; i < argc; i++)
|
||||
sargv[i] = argv[i];
|
||||
|
@ -789,6 +793,8 @@ DEFUN (show_ipv6_ospf6_route_match_detail,
|
|||
sargv[sargc++] = "detail";
|
||||
sargv[sargc] = NULL;
|
||||
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
ospf6_route_table_show (vty, sargc, sargv, ospf6->route_table);
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
@ -853,6 +859,8 @@ DEFUN (show_ipv6_ospf6_route_type_detail,
|
|||
sargv[sargc++] = "detail";
|
||||
sargv[sargc] = NULL;
|
||||
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
ospf6_route_table_show (vty, sargc, sargv, ospf6->route_table);
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -1690,6 +1690,8 @@ DEFUN (show_ipv6_ospf6_linkstate,
|
|||
struct listnode *node;
|
||||
struct ospf6_area *oa;
|
||||
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
|
||||
{
|
||||
vty_out (vty, "%s SPF Result in Area %s%s%s",
|
||||
|
@ -1738,6 +1740,8 @@ DEFUN (show_ipv6_ospf6_linkstate_detail,
|
|||
struct listnode *node;
|
||||
struct ospf6_area *oa;
|
||||
|
||||
OSPF6_CMD_CHECK_RUNNING ();
|
||||
|
||||
/* copy argv to sargv and then append "detail" */
|
||||
for (i = 0; i < argc; i++)
|
||||
sargv[i] = argv[i];
|
||||
|
|
Loading…
Reference in a new issue