Skip to content

Commit

Permalink
ripd: convert RPC commands to mgmtd
Browse files Browse the repository at this point in the history
Signed-off-by: Igor Ryzhov <[email protected]>
  • Loading branch information
idryzhov committed Mar 22, 2024
1 parent 6366cd6 commit d6a17a1
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 22 deletions.
10 changes: 9 additions & 1 deletion mgmtd/mgmt_be_adapter.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,10 @@ static const char *const ripd_oper_xpaths[] = {
"/ietf-key-chain:key-chains",
NULL,
};
static const char *const ripd_rpc_xpaths[] = {
"/frr-ripd",
NULL,
};
#endif

#if HAVE_RIPNGD
Expand Down Expand Up @@ -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,
};

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
Expand Down
19 changes: 19 additions & 0 deletions ripd/rip_cli.c
Original file line number Diff line number Diff line change
Expand Up @@ -1233,6 +1233,23 @@ DEFPY_YANG(no_rip_distribute_list_prefix,
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. */
static struct cmd_node rip_node = {
.name = "rip",
Expand Down Expand Up @@ -1295,6 +1312,8 @@ 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 */
Expand Down
20 changes: 0 additions & 20 deletions ripd/ripd.c
Original file line number Diff line number Diff line change
Expand Up @@ -3254,25 +3254,6 @@ 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)
{
if (vrf)
nb_cli_rpc_enqueue(vty, "vrf", vrf);

return nb_cli_rpc(vty, "/frr-ripd:clear-rip-route", NULL);
}

/* Distribute-list update functions. */
static void rip_distribute_update(struct distribute_ctx *ctx,
struct distribute *dist)
Expand Down Expand Up @@ -3647,7 +3628,6 @@ 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();
Expand Down
1 change: 0 additions & 1 deletion ripd/subdir.am
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ ripd_ripd_SOURCES = \
clippy_scan += \
ripd/rip_bfd.c \
ripd/rip_cli.c \
ripd/ripd.c \
# end

noinst_HEADERS += \
Expand Down

0 comments on commit d6a17a1

Please sign in to comment.