summaryrefslogtreecommitdiff
path: root/pimd/pim_cmd_common.c
diff options
context:
space:
mode:
authorNathan Bahr <nbahr@atcorp.com>2025-01-27 15:57:04 +0000
committerNathan Bahr <nbahr@atcorp.com>2025-01-27 17:04:14 +0000
commit5d102a0a7014e9c526381bacc398a9b06a64ca24 (patch)
tree5c81d80097d377d4aa6ec37b2ec69d43a60872c2 /pimd/pim_cmd_common.c
parent2982edcaa3f5be3c90cc4ef347b608717101a1c5 (diff)
pimd: Close AutoRP socket when not needed
Don't leave the socket open if we are not enabled for discovery or announcements. Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
Diffstat (limited to 'pimd/pim_cmd_common.c')
-rw-r--r--pimd/pim_cmd_common.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/pimd/pim_cmd_common.c b/pimd/pim_cmd_common.c
index 8aebce7d27..9f09852a94 100644
--- a/pimd/pim_cmd_common.c
+++ b/pimd/pim_cmd_common.c
@@ -608,26 +608,14 @@ int pim_process_no_rp_plist_cmd(struct vty *vty, const char *rp_str,
int pim_process_autorp_cmd(struct vty *vty)
{
- char xpath[XPATH_MAXLEN];
-
- snprintf(xpath, sizeof(xpath), "%s/%s", FRR_PIM_AUTORP_XPATH,
- "discovery-enabled");
-
- nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, "true");
-
- return nb_cli_apply_changes(vty, NULL);
+ nb_cli_enqueue_change(vty, "./discovery-enabled", NB_OP_MODIFY, "true");
+ return nb_cli_apply_changes(vty, "%s", FRR_PIM_AUTORP_XPATH);
}
int pim_process_no_autorp_cmd(struct vty *vty)
{
- char xpath[XPATH_MAXLEN];
-
- snprintf(xpath, sizeof(xpath), "%s/%s", FRR_PIM_AUTORP_XPATH,
- "discovery-enabled");
-
- nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
-
- return nb_cli_apply_changes(vty, NULL);
+ nb_cli_enqueue_change(vty, "./discovery-enabled", NB_OP_MODIFY, "false");
+ return nb_cli_apply_changes(vty, "%s", FRR_PIM_AUTORP_XPATH);
}
int pim_process_autorp_candidate_rp_cmd(struct vty *vty, bool no, const char *rpaddr_str,