mirror of
https://github.com/FRRouting/frr.git
synced 2025-04-30 13:37:17 +02:00
ripd: fix "clear ip rip" command
mgmtd doesn't support YANG RPCs yet, so this command must go directly to ripd. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
This commit is contained in:
parent
7e058c201a
commit
1ba97510e2
|
@ -1125,36 +1125,6 @@ void cli_show_ip_rip_bfd_profile(struct vty *vty, const struct lyd_node *dnode,
|
|||
yang_dnode_get_string(dnode, NULL));
|
||||
}
|
||||
|
||||
/*
|
||||
* XPath: /frr-ripd:clear-rip-route
|
||||
*/
|
||||
DEFPY_YANG (clear_ip_rip,
|
||||
clear_ip_rip_cmd,
|
||||
"clear ip rip [vrf WORD]",
|
||||
CLEAR_STR
|
||||
IP_STR
|
||||
"Clear IP RIP database\n"
|
||||
VRF_CMD_HELP_STR)
|
||||
{
|
||||
struct list *input;
|
||||
int ret;
|
||||
|
||||
input = list_new();
|
||||
if (vrf) {
|
||||
struct yang_data *yang_vrf;
|
||||
|
||||
yang_vrf = yang_data_new("/frr-ripd:clear-rip-route/input/vrf",
|
||||
vrf);
|
||||
listnode_add(input, yang_vrf);
|
||||
}
|
||||
|
||||
ret = nb_cli_rpc(vty, "/frr-ripd:clear-rip-route", input, NULL);
|
||||
|
||||
list_delete(&input);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
DEFPY_YANG(
|
||||
rip_distribute_list, rip_distribute_list_cmd,
|
||||
"distribute-list ACCESSLIST4_NAME$name <in|out>$dir [WORD$ifname]",
|
||||
|
@ -1325,8 +1295,6 @@ void rip_cli_init(void)
|
|||
install_element(INTERFACE_NODE, &ip_rip_bfd_profile_cmd);
|
||||
install_element(INTERFACE_NODE, &no_ip_rip_bfd_profile_cmd);
|
||||
|
||||
install_element(ENABLE_NODE, &clear_ip_rip_cmd);
|
||||
|
||||
if_rmap_init(RIP_NODE);
|
||||
}
|
||||
/* clang-format off */
|
||||
|
|
33
ripd/ripd.c
33
ripd/ripd.c
|
@ -3254,6 +3254,38 @@ DEFUN (show_ip_rip_status,
|
|||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
#include "ripd/ripd_clippy.c"
|
||||
|
||||
/*
|
||||
* XPath: /frr-ripd:clear-rip-route
|
||||
*/
|
||||
DEFPY_YANG (clear_ip_rip,
|
||||
clear_ip_rip_cmd,
|
||||
"clear ip rip [vrf WORD]",
|
||||
CLEAR_STR
|
||||
IP_STR
|
||||
"Clear IP RIP database\n"
|
||||
VRF_CMD_HELP_STR)
|
||||
{
|
||||
struct list *input;
|
||||
int ret;
|
||||
|
||||
input = list_new();
|
||||
if (vrf) {
|
||||
struct yang_data *yang_vrf;
|
||||
|
||||
yang_vrf = yang_data_new("/frr-ripd:clear-rip-route/input/vrf",
|
||||
vrf);
|
||||
listnode_add(input, yang_vrf);
|
||||
}
|
||||
|
||||
ret = nb_cli_rpc(vty, "/frr-ripd:clear-rip-route", input, NULL);
|
||||
|
||||
list_delete(&input);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Distribute-list update functions. */
|
||||
static void rip_distribute_update(struct distribute_ctx *ctx,
|
||||
struct distribute *dist)
|
||||
|
@ -3628,6 +3660,7 @@ void rip_init(void)
|
|||
/* Install rip commands. */
|
||||
install_element(VIEW_NODE, &show_ip_rip_cmd);
|
||||
install_element(VIEW_NODE, &show_ip_rip_status_cmd);
|
||||
install_element(ENABLE_NODE, &clear_ip_rip_cmd);
|
||||
|
||||
/* Debug related init. */
|
||||
rip_debug_init();
|
||||
|
|
|
@ -33,6 +33,7 @@ ripd_ripd_SOURCES = \
|
|||
clippy_scan += \
|
||||
ripd/rip_bfd.c \
|
||||
ripd/rip_cli.c \
|
||||
ripd/ripd.c \
|
||||
# end
|
||||
|
||||
noinst_HEADERS += \
|
||||
|
|
Loading…
Reference in a new issue