diff options
Diffstat (limited to 'ospfd/ospf_vty.c')
| -rw-r--r-- | ospfd/ospf_vty.c | 74 |
1 files changed, 52 insertions, 22 deletions
diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 3ae9707f5f..4109ada64a 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -9894,24 +9894,17 @@ DEFUN (no_ospf_proactive_arp, /* Graceful Restart HELPER Commands */ DEFPY(ospf_gr_helper_enable, ospf_gr_helper_enable_cmd, - "graceful-restart helper-only [A.B.C.D]", + "graceful-restart helper enable [A.B.C.D$address]", "OSPF Graceful Restart\n" + "OSPF GR Helper\n" "Enable Helper support\n" - "Advertising router id\n") + "Advertising Router-ID\n") { VTY_DECLVAR_INSTANCE_CONTEXT(ospf, ospf); - struct in_addr addr; - int ret; - - if (argc == 3) { - ret = inet_aton(argv[2]->arg, &addr); - if (!ret) { - vty_out(vty, - "Please specify the valid routerid address.\n"); - return CMD_WARNING_CONFIG_FAILED; - } - ospf_gr_helper_support_set_per_routerid(ospf, &addr, OSPF_GR_TRUE); + if (address_str) { + ospf_gr_helper_support_set_per_routerid(ospf, &address, + OSPF_GR_TRUE); return CMD_SUCCESS; } @@ -9922,33 +9915,68 @@ DEFPY(ospf_gr_helper_enable, ospf_gr_helper_enable_cmd, DEFPY(no_ospf_gr_helper_enable, no_ospf_gr_helper_enable_cmd, - "no graceful-restart helper-only [A.B.C.D]", + "no graceful-restart helper enable [A.B.C.D$address]", NO_STR "OSPF Graceful Restart\n" - "Disable Helper support\n" + "OSPF GR Helper\n" + "Enable Helper support\n" + "Advertising Router-ID\n") +{ + VTY_DECLVAR_INSTANCE_CONTEXT(ospf, ospf); + + if (address_str) { + ospf_gr_helper_support_set_per_routerid(ospf, &address, + OSPF_GR_FALSE); + return CMD_SUCCESS; + } + + ospf_gr_helper_support_set(ospf, OSPF_GR_FALSE); + return CMD_SUCCESS; +} + +#if CONFDATE > 20220921 +CPP_NOTICE( + "Time to remove the deprecated \"[no] graceful-restart helper-only\" commands") +#endif + +DEFPY_HIDDEN(ospf_gr_helper_only, ospf_gr_helper_only_cmd, + "graceful-restart helper-only [A.B.C.D]", + "OSPF Graceful Restart\n" + "Enable Helper support\n" "Advertising router id\n") { VTY_DECLVAR_INSTANCE_CONTEXT(ospf, ospf); struct in_addr addr; int ret; - if (argc == 4) { - ret = inet_aton(argv[3]->arg, &addr); + vty_out(vty, + "%% This command is deprecated. Please, use `graceful-restart helper enable` instead.\n"); + + if (argc == 3) { + ret = inet_aton(argv[2]->arg, &addr); if (!ret) { vty_out(vty, "Please specify the valid routerid address.\n"); return CMD_WARNING_CONFIG_FAILED; } - ospf_gr_helper_support_set_per_routerid(ospf, &addr, - OSPF_GR_FALSE); + ospf_gr_helper_support_set_per_routerid(ospf, &addr, OSPF_GR_TRUE); return CMD_SUCCESS; } - ospf_gr_helper_support_set(ospf, OSPF_GR_FALSE); + ospf_gr_helper_support_set(ospf, OSPF_GR_TRUE); + return CMD_SUCCESS; } +ALIAS_HIDDEN(no_ospf_gr_helper_enable, + no_ospf_gr_helper_only_cmd, + "no graceful-restart helper-only [A.B.C.D]", + NO_STR + "OSPF Graceful Restart\n" + "Disable Helper support\n" + "Advertising router id\n") + DEFPY(ospf_gr_helper_enable_lsacheck, ospf_gr_helper_enable_lsacheck_cmd, "graceful-restart helper strict-lsa-checking", @@ -12259,7 +12287,7 @@ static int ospf_cfg_write_helper_dis_rtr_walkcb(struct hash_bucket *bucket, struct advRtr *rtr = bucket->data; struct vty *vty = (struct vty *)arg; - vty_out(vty, " graceful-restart helper-only %pI4\n", + vty_out(vty, " graceful-restart helper enable %pI4\n", &rtr->advRtrAddr); return HASHWALK_CONTINUE; } @@ -12279,7 +12307,7 @@ static void config_write_ospf_gr(struct vty *vty, struct ospf *ospf) static int config_write_ospf_gr_helper(struct vty *vty, struct ospf *ospf) { if (ospf->is_helper_supported) - vty_out(vty, " graceful-restart helper-only\n"); + vty_out(vty, " graceful-restart helper enable\n"); if (!ospf->strict_lsa_check) vty_out(vty, @@ -12742,6 +12770,8 @@ static void ospf_vty_zebra_init(void) /*Ospf garcefull restart helper configurations */ install_element(OSPF_NODE, &ospf_gr_helper_enable_cmd); install_element(OSPF_NODE, &no_ospf_gr_helper_enable_cmd); + install_element(OSPF_NODE, &ospf_gr_helper_only_cmd); + install_element(OSPF_NODE, &no_ospf_gr_helper_only_cmd); install_element(OSPF_NODE, &ospf_gr_helper_enable_lsacheck_cmd); install_element(OSPF_NODE, &no_ospf_gr_helper_enable_lsacheck_cmd); install_element(OSPF_NODE, &ospf_gr_helper_supported_grace_time_cmd); |
