]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: PIM autorp no path RP fix 17215/head
authorNathan Bahr <nbahr@atcorp.com>
Tue, 22 Oct 2024 15:32:52 +0000 (15:32 +0000)
committerNathan Bahr <nbahr@atcorp.com>
Wed, 23 Oct 2024 19:10:47 +0000 (19:10 +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>
pimd/pim_autorp.c

index 3fc30347a63c7a71ed971b07f762b2732881c66a..d36b792e394de2609c36676c0cf096b6df731bdf 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"));