summaryrefslogtreecommitdiff
path: root/pimd/pim_vxlan.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_vxlan.c')
-rw-r--r--pimd/pim_vxlan.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/pimd/pim_vxlan.c b/pimd/pim_vxlan.c
index 569b04d278..380c97a97c 100644
--- a/pimd/pim_vxlan.c
+++ b/pimd/pim_vxlan.c
@@ -253,8 +253,17 @@ static void pim_vxlan_orig_mr_up_del(struct pim_vxlan_sg *vxlan_sg)
/* if there are other references register the source
* for nht
*/
- if (up)
- pim_rpf_update(vxlan_sg->pim, up, NULL, __func__);
+ if (up) {
+ enum pim_rpf_result r;
+
+ r = pim_rpf_update(vxlan_sg->pim, up, NULL, __func__);
+ if (r == PIM_RPF_FAILURE) {
+ if (PIM_DEBUG_VXLAN)
+ zlog_debug(
+ "vxlan SG %s rpf_update failure",
+ vxlan_sg->sg_str);
+ }
+ }
}
}
@@ -788,8 +797,8 @@ void pim_vxlan_sg_del(struct pim_instance *pim, struct prefix_sg *sg)
if (!vxlan_sg)
return;
- pim_vxlan_sg_del_item(vxlan_sg);
hash_release(pim->vxlan.sg_hash, vxlan_sg);
+ pim_vxlan_sg_del_item(vxlan_sg);
}
/******************************* MLAG handling *******************************/