diff options
author | Sarita Patra <saritap@vmware.com> | 2019-02-08 08:50:12 +0100 |
---|---|---|
committer | Sarita Patra <saritap@vmware.com> | 2019-02-08 08:50:12 +0100 |
commit | d23756e938cd3cb3c0bfd2b286370282d0fb1c2d (patch) | |
tree | bb950ab1e4819dce7a5a33622a093162f3aca1c6 /pimd | |
parent | Merge pull request #3752 from mjstapp/fix_wq_static_func (diff) | |
download | frr-d23756e938cd3cb3c0bfd2b286370282d0fb1c2d.tar.xz frr-d23756e938cd3cb3c0bfd2b286370282d0fb1c2d.zip |
pimd: Don't refersh the oif_creation timer if S,G already present
Issue: Shut the RP interface in the router RP. LHR will get to know
RP becomes not-reachable, so it send a prune towards the RP. On
receiving the prune, RP clear the (*, G) entry, but (S, G) should
not get removed if present.
Now no-shut the RP interface in the router RP. LHR will send a (*, G)
join towards the RP. On receiving join FRR create the (*, G) entry.
Along with this, it also add the interface(join received) in the OIL
of (S, G) and also refresh the (S, G) timer.
Fix: Dont refresh the timer for S, G or (*, G), if the flag for the
channel OIL is PIM_OIF_FLAG_PROTO_ANY.
Signed-off-by: Sarita Patra <saritap@vmware.com>
Diffstat (limited to 'pimd')
-rw-r--r-- | pimd/pim_oil.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pimd/pim_oil.c b/pimd/pim_oil.c index 1290bfe56..2e12d728c 100644 --- a/pimd/pim_oil.c +++ b/pimd/pim_oil.c @@ -392,8 +392,10 @@ int pim_channel_add_oif(struct channel_oil *channel_oil, struct interface *oif, if (channel_oil->oif_flags[pim_ifp->mroute_vif_index] & PIM_OIF_FLAG_PROTO_ANY) { - channel_oil->oif_creation[pim_ifp->mroute_vif_index] = - pim_time_monotonic_sec(); + /* Updating time here is not required as this time has to + * indicate when the interface is added + */ + channel_oil->oif_flags[pim_ifp->mroute_vif_index] |= proto_mask; /* Check the OIF really exists before returning, and only log warning otherwise */ |