summaryrefslogtreecommitdiff
path: root/pimd/pim_cmd.c
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2022-05-10 08:23:33 -0300
committerRafael Zalamena <rzalamena@opensourcerouting.org>2024-11-25 19:23:33 -0300
commit379dc9ee2f0df7944bf6e03d385db6b4f6bc9d5c (patch)
treecd48920115cfcec91ec46a4d6563fde77d74e2f2 /pimd/pim_cmd.c
parent440a0d3f769eba04d3f97fe6747b84592fab94bd (diff)
pimd: implement MSDP shutdown command
Allow MSDP protocol to be disabled. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'pimd/pim_cmd.c')
-rw-r--r--pimd/pim_cmd.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index a2a4c34931..f4c25ea81e 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -7560,6 +7560,24 @@ DEFPY_ATTR(no_ip_pim_msdp_mesh_group,
return ret;
}
+DEFPY(msdp_shutdown,
+ msdp_shutdown_cmd,
+ "[no] msdp shutdown",
+ NO_STR
+ CFG_MSDP_STR
+ "Shutdown MSDP operation\n")
+{
+ char xpath_value[XPATH_MAXLEN];
+
+ snprintf(xpath_value, sizeof(xpath_value), "./msdp/shutdown");
+ if (no)
+ nb_cli_enqueue_change(vty, xpath_value, NB_OP_DESTROY, NULL);
+ else
+ nb_cli_enqueue_change(vty, xpath_value, NB_OP_MODIFY, "true");
+
+ return nb_cli_apply_changes(vty, NULL);
+}
+
static void ip_msdp_show_mesh_group(struct vty *vty, struct pim_msdp_mg *mg,
struct json_object *json)
{
@@ -8954,6 +8972,7 @@ void pim_cmd_init(void)
install_element(PIM_NODE, &no_pim_msdp_mesh_group_cmd);
install_element(PIM_NODE, &msdp_log_neighbor_changes_cmd);
install_element(PIM_NODE, &msdp_log_sa_changes_cmd);
+ install_element(PIM_NODE, &msdp_shutdown_cmd);
install_element(PIM_NODE, &pim_bsr_candidate_rp_cmd);
install_element(PIM_NODE, &pim_bsr_candidate_rp_group_cmd);