forked from Mirror/frr
ripd: convert RPC commands to mgmtd
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
This commit is contained in:
parent
a94f74bc2e
commit
dbaf05ae3d
|
@ -98,6 +98,10 @@ static const char *const ripd_oper_xpaths[] = {
|
||||||
"/ietf-key-chain:key-chains",
|
"/ietf-key-chain:key-chains",
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
static const char *const ripd_rpc_xpaths[] = {
|
||||||
|
"/frr-ripd",
|
||||||
|
NULL,
|
||||||
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAVE_RIPNGD
|
#if HAVE_RIPNGD
|
||||||
|
@ -147,7 +151,11 @@ static const char *const *be_client_oper_xpaths[MGMTD_BE_CLIENT_ID_MAX] = {
|
||||||
[MGMTD_BE_CLIENT_ID_ZEBRA] = zebra_oper_xpaths,
|
[MGMTD_BE_CLIENT_ID_ZEBRA] = zebra_oper_xpaths,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *const *be_client_rpc_xpaths[MGMTD_BE_CLIENT_ID_MAX] = {};
|
static const char *const *be_client_rpc_xpaths[MGMTD_BE_CLIENT_ID_MAX] = {
|
||||||
|
#ifdef HAVE_RIPD
|
||||||
|
[MGMTD_BE_CLIENT_ID_RIPD] = ripd_rpc_xpaths,
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We would like to have a better ADT than one with O(n) comparisons
|
* We would like to have a better ADT than one with O(n) comparisons
|
||||||
|
|
|
@ -1233,6 +1233,23 @@ DEFPY_YANG(no_rip_distribute_list_prefix,
|
||||||
return nb_cli_apply_changes(vty, NULL);
|
return nb_cli_apply_changes(vty, 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)
|
||||||
|
{
|
||||||
|
if (vrf)
|
||||||
|
nb_cli_rpc_enqueue(vty, "vrf", vrf);
|
||||||
|
|
||||||
|
return nb_cli_rpc(vty, "/frr-ripd:clear-rip-route", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/* RIP node structure. */
|
/* RIP node structure. */
|
||||||
static struct cmd_node rip_node = {
|
static struct cmd_node rip_node = {
|
||||||
.name = "rip",
|
.name = "rip",
|
||||||
|
@ -1295,6 +1312,8 @@ void rip_cli_init(void)
|
||||||
install_element(INTERFACE_NODE, &ip_rip_bfd_profile_cmd);
|
install_element(INTERFACE_NODE, &ip_rip_bfd_profile_cmd);
|
||||||
install_element(INTERFACE_NODE, &no_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);
|
if_rmap_init(RIP_NODE);
|
||||||
}
|
}
|
||||||
/* clang-format off */
|
/* clang-format off */
|
||||||
|
|
20
ripd/ripd.c
20
ripd/ripd.c
|
@ -3254,25 +3254,6 @@ DEFUN (show_ip_rip_status,
|
||||||
return CMD_SUCCESS;
|
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)
|
|
||||||
{
|
|
||||||
if (vrf)
|
|
||||||
nb_cli_rpc_enqueue(vty, "vrf", vrf);
|
|
||||||
|
|
||||||
return nb_cli_rpc(vty, "/frr-ripd:clear-rip-route", NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Distribute-list update functions. */
|
/* Distribute-list update functions. */
|
||||||
static void rip_distribute_update(struct distribute_ctx *ctx,
|
static void rip_distribute_update(struct distribute_ctx *ctx,
|
||||||
struct distribute *dist)
|
struct distribute *dist)
|
||||||
|
@ -3647,7 +3628,6 @@ void rip_init(void)
|
||||||
/* Install rip commands. */
|
/* Install rip commands. */
|
||||||
install_element(VIEW_NODE, &show_ip_rip_cmd);
|
install_element(VIEW_NODE, &show_ip_rip_cmd);
|
||||||
install_element(VIEW_NODE, &show_ip_rip_status_cmd);
|
install_element(VIEW_NODE, &show_ip_rip_status_cmd);
|
||||||
install_element(ENABLE_NODE, &clear_ip_rip_cmd);
|
|
||||||
|
|
||||||
/* Debug related init. */
|
/* Debug related init. */
|
||||||
rip_debug_init();
|
rip_debug_init();
|
||||||
|
|
|
@ -33,7 +33,6 @@ ripd_ripd_SOURCES = \
|
||||||
clippy_scan += \
|
clippy_scan += \
|
||||||
ripd/rip_bfd.c \
|
ripd/rip_bfd.c \
|
||||||
ripd/rip_cli.c \
|
ripd/rip_cli.c \
|
||||||
ripd/ripd.c \
|
|
||||||
# end
|
# end
|
||||||
|
|
||||||
noinst_HEADERS += \
|
noinst_HEADERS += \
|
||||||
|
|
Loading…
Reference in a new issue