diff --git a/doc/user/ospfd.rst b/doc/user/ospfd.rst index ad0b25aec4..70c15e73de 100644 --- a/doc/user/ospfd.rst +++ b/doc/user/ospfd.rst @@ -987,7 +987,7 @@ Showing Information User can get that information as JSON format when ``json`` keyword at the end of cli is presented. -.. clicmd:: show ip ospf graceful-restart helper [detail] [json] +.. clicmd:: show ip ospf [{(1-65535)|vrf }] graceful-restart helper [detail] [json] Displays the Graceful Restart Helper details including helper config changes. diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 301320bb0a..7cb51976f5 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -10755,10 +10755,11 @@ DEFUN (ospf_route_aggregation_timer, DEFPY (show_ip_ospf_gr_helper, show_ip_ospf_gr_helper_cmd, - "show ip ospf [vrf ] graceful-restart helper [detail] [json]", + "show ip ospf [{(1-65535)$instance|vrf }] graceful-restart helper [detail] [json]", SHOW_STR IP_STR "OSPF information\n" + "Instance ID\n" VRF_CMD_HELP_STR "All VRFs\n" "OSPF Graceful Restart\n" @@ -10779,8 +10780,20 @@ DEFPY (show_ip_ospf_gr_helper, int inst = 0; bool detail = false; + if (instance && instance != ospf_instance) + return CMD_NOT_MY_INSTANCE; + + ospf = ospf_lookup_instance(instance); + if (!ospf || !ospf->oi_running) + return CMD_SUCCESS; + OSPF_FIND_VRF_ARGS(argv, argc, idx_vrf, vrf_name, all_vrf); + if (instance && vrf_name) { + vty_out(vty, "%% VRF is not supported in instance mode\n"); + return CMD_WARNING; + } + if (argv_find(argv, argc, "detail", &idx)) detail = true;