diff options
| author | Barry A. Trent <barry.trent@atcorp.com> | 2024-09-26 14:49:19 -0700 |
|---|---|---|
| committer | Barry A. Trent <barry.trent@atcorp.com> | 2024-09-27 13:39:30 -0700 |
| commit | ba4555c646f68cbcda8b075abb7fee74ca06a2d6 (patch) | |
| tree | 6e98b4c8edd977a1cd9fe041eac1b9c5355b3275 /pimd/pim_cmd_common.c | |
| parent | 51b19f9ce371e41add3772594dacf8e1ee7dfb96 (diff) | |
pimd: fix autorp CLI bugs
Signed-off-by: Barry A. Trent <barry.trent@atcorp.com>
Diffstat (limited to 'pimd/pim_cmd_common.c')
| -rw-r--r-- | pimd/pim_cmd_common.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pimd/pim_cmd_common.c b/pimd/pim_cmd_common.c index be7460d0fb..02ddea8252 100644 --- a/pimd/pim_cmd_common.c +++ b/pimd/pim_cmd_common.c @@ -639,9 +639,9 @@ int pim_process_autorp_candidate_rp_cmd(struct vty *vty, bool no, char grpstr[64]; if (no) { - if (!is_default_prefix((const struct prefix *)grp) || plist) { + if ((grp && !is_default_prefix((const struct prefix *)grp)) || plist) { /* If any single values are set, only destroy those */ - if (!is_default_prefix((const struct prefix *)grp)) { + if (grp && !is_default_prefix((const struct prefix *)grp)) { snprintfrr(xpath, sizeof(xpath), "%s/candidate-rp-list[rp-address='%s']/group", FRR_PIM_AUTORP_XPATH, rpaddr_str); @@ -663,12 +663,12 @@ int pim_process_autorp_candidate_rp_cmd(struct vty *vty, bool no, nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL); } } else { - if (!is_default_prefix((const struct prefix *)grp) || plist) { + if ((grp && !is_default_prefix((const struct prefix *)grp)) || plist) { snprintfrr(xpath, sizeof(xpath), "%s/candidate-rp-list[rp-address='%s']", FRR_PIM_AUTORP_XPATH, rpaddr_str); nb_cli_enqueue_change(vty, xpath, NB_OP_CREATE, NULL); - if (!is_default_prefix((const struct prefix *)grp)) { + if (grp && !is_default_prefix((const struct prefix *)grp)) { snprintfrr(xpath, sizeof(xpath), "%s/candidate-rp-list[rp-address='%s']/group", FRR_PIM_AUTORP_XPATH, rpaddr_str); |
