]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_oil.c
pimd: Tell ourselves to rescan when we discover an issue
[mirror_frr.git] / pimd / pim_oil.c
index 88ace45ed9e5b2d70037e03a0222caa7c8dcbe3a..44c832434270a8f0838d3234bdb08286cd3ed518 100644 (file)
@@ -177,9 +177,12 @@ struct channel_oil *pim_channel_oil_add(struct prefix_sg *sg,
   c_oil = pim_find_channel_oil(sg);
   if (c_oil) {
     if (c_oil->oil.mfcc_parent != input_vif_index)
-      if (PIM_DEBUG_MROUTE)
-       zlog_debug ("%s: Existing channel oil %s points to %d, modifying to point at %d",
-                   __PRETTY_FUNCTION__, pim_str_sg_dump(sg), c_oil->oil.mfcc_parent, input_vif_index);
+      {
+       c_oil->oil_inherited_rescan = 1;
+       if (PIM_DEBUG_MROUTE)
+         zlog_debug ("%s: Existing channel oil %s points to %d, modifying to point at %d",
+                     __PRETTY_FUNCTION__, pim_str_sg_dump(sg), c_oil->oil.mfcc_parent, input_vif_index);
+      }
     c_oil->oil.mfcc_parent = input_vif_index;
     ++c_oil->oil_ref_count;
     return c_oil;
@@ -315,6 +318,7 @@ int pim_channel_add_oif(struct channel_oil *channel_oil,
     TODO T22.
   */
   if (pim_ifp->mroute_vif_index == channel_oil->oil.mfcc_parent) {
+    channel_oil->oil_inherited_rescan = 1;
     if (PIM_DEBUG_MROUTE)
       {
        char group_str[INET_ADDRSTRLEN];