diff options
Diffstat (limited to 'pimd/pim_cmd.c')
| -rw-r--r-- | pimd/pim_cmd.c | 38 |
1 files changed, 4 insertions, 34 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index da4069abb3..8630f79b36 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -5314,24 +5314,9 @@ DEFUN (ip_ssmpingd, "Source address\n") { int idx_ipv4 = 2; - const char *source_str = (argc == 3) ? argv[idx_ipv4]->arg : "0.0.0.0"; - const char *vrfname; - char ssmpingd_ip_xpath[XPATH_MAXLEN]; - - vrfname = pim_cli_get_vrf_name(vty); - if (vrfname == NULL) - return CMD_WARNING_CONFIG_FAILED; + const char *src_str = (argc == 3) ? argv[idx_ipv4]->arg : "0.0.0.0"; - snprintf(ssmpingd_ip_xpath, sizeof(ssmpingd_ip_xpath), - FRR_PIM_VRF_XPATH, - "frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4"); - strlcat(ssmpingd_ip_xpath, "/ssm-pingd-source-ip", - sizeof(ssmpingd_ip_xpath)); - - nb_cli_enqueue_change(vty, ssmpingd_ip_xpath, NB_OP_CREATE, - source_str); - - return nb_cli_apply_changes(vty, NULL); + return pim_process_ssmpingd_cmd(vty, NB_OP_CREATE, src_str); } DEFUN (no_ip_ssmpingd, @@ -5342,25 +5327,10 @@ DEFUN (no_ip_ssmpingd, CONF_SSMPINGD_STR "Source address\n") { - const char *vrfname; int idx_ipv4 = 3; - const char *source_str = (argc == 4) ? argv[idx_ipv4]->arg : "0.0.0.0"; - char ssmpingd_ip_xpath[XPATH_MAXLEN]; - - vrfname = pim_cli_get_vrf_name(vty); - if (vrfname == NULL) - return CMD_WARNING_CONFIG_FAILED; + const char *src_str = (argc == 4) ? argv[idx_ipv4]->arg : "0.0.0.0"; - snprintf(ssmpingd_ip_xpath, sizeof(ssmpingd_ip_xpath), - FRR_PIM_VRF_XPATH, - "frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4"); - strlcat(ssmpingd_ip_xpath, "/ssm-pingd-source-ip", - sizeof(ssmpingd_ip_xpath)); - - nb_cli_enqueue_change(vty, ssmpingd_ip_xpath, NB_OP_DESTROY, - source_str); - - return nb_cli_apply_changes(vty, NULL); + return pim_process_ssmpingd_cmd(vty, NB_OP_DESTROY, src_str); } DEFUN (ip_pim_ecmp, |
