]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: PIM autorp no path RP fix 17232/head
authorNathan Bahr <nbahr@atcorp.com>
Tue, 22 Oct 2024 15:32:52 +0000 (15:32 +0000)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Fri, 25 Oct 2024 06:06:25 +0000 (06:06 +0000)
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>
(cherry picked from commit 433fce647c550a309a0869fbd499b0f3a12da551)

pimd/pim_autorp.c

index 35347a2790c869b88c323a4f0416e96fe8d7aa0e..df4f809b3da229fa1d67e14b90ff152fb0a1a541 100644 (file)
@@ -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"));