ospfd: fix for some of ospf debug commands config lost after reboot

Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
This commit is contained in:
Madhuri Kuruganti 2022-09-18 00:29:42 +05:30
parent e09ce4b894
commit cc75c9dc59

View File

@ -54,13 +54,13 @@ unsigned long conf_debug_ospf_nsm = 0;
unsigned long conf_debug_ospf_lsa = 0;
unsigned long conf_debug_ospf_zebra = 0;
unsigned long conf_debug_ospf_nssa = 0;
unsigned long conf_debug_ospf_te = 0;
unsigned long conf_debug_ospf_te;
unsigned long conf_debug_ospf_ext = 0;
unsigned long conf_debug_ospf_sr = 0;
unsigned long conf_debug_ospf_ti_lfa = 0;
unsigned long conf_debug_ospf_defaultinfo = 0;
unsigned long conf_debug_ospf_ldp_sync = 0;
unsigned long conf_debug_ospf_gr = 0;
unsigned long conf_debug_ospf_sr;
unsigned long conf_debug_ospf_ti_lfa;
unsigned long conf_debug_ospf_defaultinfo;
unsigned long conf_debug_ospf_ldp_sync;
unsigned long conf_debug_ospf_gr;
unsigned long conf_debug_ospf_bfd;
unsigned long conf_debug_ospf_client_api;
@ -72,13 +72,13 @@ unsigned long term_debug_ospf_nsm = 0;
unsigned long term_debug_ospf_lsa = 0;
unsigned long term_debug_ospf_zebra = 0;
unsigned long term_debug_ospf_nssa = 0;
unsigned long term_debug_ospf_te = 0;
unsigned long term_debug_ospf_te;
unsigned long term_debug_ospf_ext = 0;
unsigned long term_debug_ospf_sr = 0;
unsigned long term_debug_ospf_ti_lfa = 0;
unsigned long term_debug_ospf_sr;
unsigned long term_debug_ospf_ti_lfa;
unsigned long term_debug_ospf_defaultinfo;
unsigned long term_debug_ospf_ldp_sync;
unsigned long term_debug_ospf_gr = 0;
unsigned long term_debug_ospf_gr;
unsigned long term_debug_ospf_bfd;
unsigned long term_debug_ospf_client_api;
@ -1457,194 +1457,221 @@ DEFUN (no_debug_ospf_instance_nssa,
return CMD_SUCCESS;
}
DEFUN (debug_ospf_te,
DEFPY (debug_ospf_te,
debug_ospf_te_cmd,
"debug ospf te",
"[no$no] debug ospf [(1-65535)$instance] te",
NO_STR
DEBUG_STR
OSPF_STR
"Instance ID\n"
"OSPF-TE information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_ON(te, TE);
TERM_DEBUG_ON(te, TE);
return CMD_SUCCESS;
}
if (instance && instance != ospf_instance)
return CMD_NOT_MY_INSTANCE;
DEFUN (no_debug_ospf_te,
no_debug_ospf_te_cmd,
"no debug ospf te",
NO_STR
DEBUG_STR
OSPF_STR
"OSPF-TE information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_OFF(te, TE);
TERM_DEBUG_OFF(te, TE);
return CMD_SUCCESS;
}
DEFUN (debug_ospf_sr,
debug_ospf_sr_cmd,
"debug ospf sr",
DEBUG_STR
OSPF_STR
"OSPF-SR information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_ON(sr, SR);
TERM_DEBUG_ON(sr, SR);
return CMD_SUCCESS;
}
DEFUN (no_debug_ospf_sr,
no_debug_ospf_sr_cmd,
"no debug ospf sr",
NO_STR
DEBUG_STR
OSPF_STR
"OSPF-SR information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_OFF(sr, SR);
TERM_DEBUG_OFF(sr, SR);
return CMD_SUCCESS;
}
DEFUN(debug_ospf_ti_lfa, debug_ospf_ti_lfa_cmd, "debug ospf ti-lfa",
DEBUG_STR OSPF_STR "OSPF-SR TI-LFA information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_ON(ti_lfa, TI_LFA);
TERM_DEBUG_ON(ti_lfa, TI_LFA);
return CMD_SUCCESS;
}
DEFUN(no_debug_ospf_ti_lfa, no_debug_ospf_ti_lfa_cmd, "no debug ospf ti-lfa",
NO_STR DEBUG_STR OSPF_STR "OSPF-SR TI-LFA information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_OFF(ti_lfa, TI_LFA);
TERM_DEBUG_OFF(ti_lfa, TI_LFA);
return CMD_SUCCESS;
}
DEFUN (debug_ospf_default_info,
debug_ospf_default_info_cmd,
"debug ospf default-information",
DEBUG_STR
OSPF_STR
"OSPF default information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_ON(defaultinfo, DEFAULTINFO);
TERM_DEBUG_ON(defaultinfo, DEFAULTINFO);
return CMD_SUCCESS;
}
DEFUN (no_debug_ospf_default_info,
no_debug_ospf_default_info_cmd,
"no debug ospf default-information",
NO_STR
DEBUG_STR
OSPF_STR
"OSPF default information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_OFF(defaultinfo, DEFAULTINFO);
TERM_DEBUG_OFF(defaultinfo, DEFAULTINFO);
return CMD_SUCCESS;
}
DEFUN(debug_ospf_ldp_sync,
debug_ospf_ldp_sync_cmd,
"debug ospf ldp-sync",
DEBUG_STR OSPF_STR
"OSPF LDP-Sync information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_ON(ldp_sync, LDP_SYNC);
TERM_DEBUG_ON(ldp_sync, LDP_SYNC);
return CMD_SUCCESS;
}
DEFUN(no_debug_ospf_ldp_sync,
no_debug_ospf_ldp_sync_cmd,
"no debug ospf ldp-sync",
NO_STR
DEBUG_STR
OSPF_STR
"OSPF LDP-Sync information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_OFF(ldp_sync, LDP_SYNC);
TERM_DEBUG_OFF(ldp_sync, LDP_SYNC);
return CMD_SUCCESS;
}
DEFPY(debug_ospf_gr, debug_ospf_gr_cmd, "[no$no] debug ospf graceful-restart",
NO_STR DEBUG_STR OSPF_STR "OSPF Graceful Restart\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_ON(gr, GR);
if (!no)
TERM_DEBUG_ON(gr, GR);
else
TERM_DEBUG_OFF(gr, GR);
return CMD_SUCCESS;
}
DEFPY(debug_ospf_bfd, debug_ospf_bfd_cmd,
"[no] debug ospf bfd",
NO_STR
DEBUG_STR
OSPF_STR
"Bidirection Forwarding Detection\n")
{
if (vty->node == CONFIG_NODE) {
if (no) {
bfd_protocol_integration_set_debug(false);
CONF_DEBUG_OFF(bfd, BFD_LIB);
} else {
bfd_protocol_integration_set_debug(true);
CONF_DEBUG_ON(bfd, BFD_LIB);
}
if (no)
DEBUG_OFF(te, TE);
else
DEBUG_ON(te, TE);
} else {
if (no)
TERM_DEBUG_OFF(te, TE);
else
TERM_DEBUG_ON(te, TE);
}
return CMD_SUCCESS;
}
DEFPY (debug_ospf_sr,
debug_ospf_sr_cmd,
"[no$no] debug ospf [(1-65535)$instance] sr",
NO_STR
DEBUG_STR
OSPF_STR
"Instance ID\n"
"OSPF-SR information\n")
{
if (instance && instance != ospf_instance)
return CMD_NOT_MY_INSTANCE;
if (vty->node == CONFIG_NODE) {
if (no)
DEBUG_OFF(sr, SR);
else
DEBUG_ON(sr, SR);
} else {
if (no)
TERM_DEBUG_OFF(sr, SR);
else
TERM_DEBUG_ON(sr, SR);
}
return CMD_SUCCESS;
}
DEFPY (debug_ospf_ti_lfa,
debug_ospf_ti_lfa_cmd,
"[no$no] debug ospf [(1-65535)$instance] ti-lfa",
NO_STR
DEBUG_STR
OSPF_STR
"Instance ID\n"
"OSPF-SR TI-LFA information\n")
{
if (instance && instance != ospf_instance)
return CMD_NOT_MY_INSTANCE;
if (vty->node == CONFIG_NODE) {
if (no)
DEBUG_OFF(ti_lfa, TI_LFA);
else
DEBUG_ON(ti_lfa, TI_LFA);
} else {
if (no)
TERM_DEBUG_OFF(ti_lfa, TI_LFA);
else
TERM_DEBUG_ON(ti_lfa, TI_LFA);
}
return CMD_SUCCESS;
}
DEFPY (debug_ospf_default_info,
debug_ospf_default_info_cmd,
"[no$no] debug ospf [(1-65535)$instance] default-information",
NO_STR
DEBUG_STR
OSPF_STR
"Instance ID\n"
"OSPF default information\n")
{
if (instance && instance != ospf_instance)
return CMD_NOT_MY_INSTANCE;
if (vty->node == CONFIG_NODE) {
if (no)
DEBUG_OFF(defaultinfo, DEFAULTINFO);
else
DEBUG_ON(defaultinfo, DEFAULTINFO);
} else {
if (no)
TERM_DEBUG_OFF(defaultinfo, DEFAULTINFO);
else
TERM_DEBUG_ON(defaultinfo, DEFAULTINFO);
}
return CMD_SUCCESS;
}
DEFPY (debug_ospf_ldp_sync,
debug_ospf_ldp_sync_cmd,
"[no$no] debug ospf [(1-65535)$instance] ldp-sync",
NO_STR
DEBUG_STR
OSPF_STR
"Instance ID\n"
"OSPF LDP-Sync information\n")
{
if (instance && instance != ospf_instance)
return CMD_NOT_MY_INSTANCE;
if (vty->node == CONFIG_NODE) {
if (no)
DEBUG_OFF(ldp_sync, LDP_SYNC);
else
DEBUG_ON(ldp_sync, LDP_SYNC);
} else {
if (no)
TERM_DEBUG_OFF(ldp_sync, LDP_SYNC);
else
TERM_DEBUG_ON(ldp_sync, LDP_SYNC);
}
return CMD_SUCCESS;
}
DEFPY (debug_ospf_gr,
debug_ospf_gr_cmd,
"[no$no] debug ospf [(1-65535)$instance] graceful-restart",
NO_STR
DEBUG_STR
OSPF_STR
"Instance ID\n"
"OSPF Graceful Restart\n")
{
if (instance && instance != ospf_instance)
return CMD_NOT_MY_INSTANCE;
if (vty->node == CONFIG_NODE) {
if (no)
CONF_DEBUG_OFF(gr, GR);
else
CONF_DEBUG_ON(gr, GR);
}
if (no)
TERM_DEBUG_OFF(bfd, BFD_LIB);
TERM_DEBUG_OFF(gr, GR);
else
TERM_DEBUG_ON(bfd, BFD_LIB);
TERM_DEBUG_ON(gr, GR);
return CMD_SUCCESS;
}
DEFUN(debug_ospf_client_api,
debug_ospf_client_api_cmd,
"debug ospf client-api",
DEBUG_STR OSPF_STR
"OSPF client API information\n")
DEFPY (debug_ospf_bfd,
debug_ospf_bfd_cmd,
"[no] debug ospf [(1-65535)$instance] bfd",
NO_STR
DEBUG_STR
OSPF_STR
"Instance ID\n"
"Bidirection Forwarding Detection\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_ON(client_api, CLIENT_API);
TERM_DEBUG_ON(client_api, CLIENT_API);
if (instance && instance != ospf_instance)
return CMD_NOT_MY_INSTANCE;
if (vty->node == CONFIG_NODE) {
if (no) {
bfd_protocol_integration_set_debug(false);
DEBUG_OFF(bfd, BFD_LIB);
} else {
bfd_protocol_integration_set_debug(true);
DEBUG_ON(bfd, BFD_LIB);
}
} else {
if (no)
TERM_DEBUG_OFF(bfd, BFD_LIB);
else
TERM_DEBUG_ON(bfd, BFD_LIB);
}
return CMD_SUCCESS;
}
DEFUN(no_debug_ospf_client_api,
no_debug_ospf_client_api_cmd,
"no debug ospf client-api",
NO_STR
DEBUG_STR
OSPF_STR
"OSPF client API information\n")
DEFPY (debug_ospf_client_api,
debug_ospf_client_api_cmd,
"[no$no] debug ospf [(1-65535)$instance] client-api",
NO_STR
DEBUG_STR
OSPF_STR
"Instance ID\n"
"OSPF client API information\n")
{
if (vty->node == CONFIG_NODE)
CONF_DEBUG_OFF(client_api, CLIENT_API);
TERM_DEBUG_OFF(client_api, CLIENT_API);
if (instance && instance != ospf_instance)
return CMD_NOT_MY_INSTANCE;
if (vty->node == CONFIG_NODE) {
if (no)
DEBUG_OFF(client_api, CLIENT_API);
else
DEBUG_ON(client_api, CLIENT_API);
} else {
if (no)
TERM_DEBUG_OFF(client_api, CLIENT_API);
else
TERM_DEBUG_ON(client_api, CLIENT_API);
}
return CMD_SUCCESS;
}
@ -1816,7 +1843,7 @@ static int show_debugging_ospf_common(struct vty *vty)
}
if (IS_DEBUG_OSPF(defaultinfo, DEFAULTINFO) == OSPF_DEBUG_DEFAULTINFO)
vty_out(vty, "OSPF default information is on\n");
vty_out(vty, " OSPF default information is on\n");
/* Show debug status for NSSA. */
if (IS_DEBUG_OSPF(nssa, NSSA) == OSPF_DEBUG_NSSA)
@ -2047,6 +2074,13 @@ static int config_write_debug(struct vty *vty)
write = 1;
}
/* debug ospf default-information */
if (IS_CONF_DEBUG_OSPF(defaultinfo, DEFAULTINFO) ==
OSPF_DEBUG_DEFAULTINFO) {
vty_out(vty, "debug ospf%s default-information\n", str);
write = 1;
}
return write;
}
@ -2074,12 +2108,6 @@ void ospf_debug_init(void)
install_element(ENABLE_NODE, &no_debug_ospf_zebra_cmd);
install_element(ENABLE_NODE, &no_debug_ospf_event_cmd);
install_element(ENABLE_NODE, &no_debug_ospf_nssa_cmd);
install_element(ENABLE_NODE, &no_debug_ospf_te_cmd);
install_element(ENABLE_NODE, &no_debug_ospf_sr_cmd);
install_element(ENABLE_NODE, &no_debug_ospf_ti_lfa_cmd);
install_element(ENABLE_NODE, &no_debug_ospf_default_info_cmd);
install_element(ENABLE_NODE, &no_debug_ospf_ldp_sync_cmd);
install_element(ENABLE_NODE, &no_debug_ospf_client_api_cmd);
install_element(ENABLE_NODE, &debug_ospf_gr_cmd);
install_element(ENABLE_NODE, &debug_ospf_bfd_cmd);
@ -2120,12 +2148,6 @@ void ospf_debug_init(void)
install_element(CONFIG_NODE, &no_debug_ospf_zebra_cmd);
install_element(CONFIG_NODE, &no_debug_ospf_event_cmd);
install_element(CONFIG_NODE, &no_debug_ospf_nssa_cmd);
install_element(CONFIG_NODE, &no_debug_ospf_te_cmd);
install_element(CONFIG_NODE, &no_debug_ospf_sr_cmd);
install_element(CONFIG_NODE, &no_debug_ospf_ti_lfa_cmd);
install_element(CONFIG_NODE, &no_debug_ospf_default_info_cmd);
install_element(CONFIG_NODE, &no_debug_ospf_ldp_sync_cmd);
install_element(CONFIG_NODE, &no_debug_ospf_client_api_cmd);
install_element(CONFIG_NODE, &debug_ospf_gr_cmd);
install_element(CONFIG_NODE, &debug_ospf_bfd_cmd);