summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Bahr <nbahr@atcorp.com>2024-10-22 15:32:52 +0000
committerNathan Bahr <nbahr@atcorp.com>2024-10-23 19:10:47 +0000
commit433fce647c550a309a0869fbd499b0f3a12da551 (patch)
treebe99003ace4636a9b238fe13593184c28b0d135b
parent91e157f3ae5fabe7b8cc36563cc8c8f9f887cf2f (diff)
pimd: PIM autorp no path RP fix
Just because there is currently no path to the RP doesn't mean it failed to add. Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
-rw-r--r--pimd/pim_autorp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pimd/pim_autorp.c b/pimd/pim_autorp.c
index 3fc30347a6..d36b792e39 100644
--- a/pimd/pim_autorp.c
+++ b/pimd/pim_autorp.c
@@ -241,8 +241,11 @@ static bool pim_autorp_add_rp(struct pim_autorp *autorp, pim_addr rpaddr,
{
struct pim_autorp_rp *rp;
struct pim_autorp_rp *trp = NULL;
+ int ret;
- if (pim_rp_new(autorp->pim, rpaddr, grp, listname, RP_SRC_AUTORP)) {
+ ret = pim_rp_new(autorp->pim, rpaddr, grp, listname, RP_SRC_AUTORP);
+ /* There may not be a path to the RP right now, but that doesn't mean it failed to add the RP */
+ if (ret != PIM_SUCCESS && ret != PIM_RP_NO_PATH) {
zlog_err("%s: Failed to add new RP addr=%pI4, grp=%pFX, grplist=%s",
__func__, &rpaddr, &grp,
(listname ? listname : "NONE"));