summaryrefslogtreecommitdiff
path: root/pimd/pim_zebra.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-05-23 08:57:11 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-24 13:51:38 -0400
commitc68ba0d7bfd5641b2bc132840ca88425a023262e (patch)
tree4326d1a6a606a26d9f3fa8cf07adf509fc36b103 /pimd/pim_zebra.c
parentb4575b3aa07a8273a6a4a2b6d7b7fe7ac75e7364 (diff)
pimd: Convert pim_cmd.c to use correct pim instance
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_zebra.c')
-rw-r--r--pimd/pim_zebra.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index 5b3380c8e2..88b234900e 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -611,7 +611,7 @@ void pim_scan_individual_oil(struct channel_oil *c_oil, int in_vif_index)
}
}
-void pim_scan_oil()
+void pim_scan_oil(struct pim_instance *pim_matcher)
{
struct listnode *node;
struct listnode *nextnode;
@@ -630,6 +630,9 @@ void pim_scan_oil()
if (!pim)
continue;
+ if (pim_matcher && pim != pim_matcher)
+ continue;
+
for (ALL_LIST_ELEMENTS(pim->channel_oil_list, node, nextnode,
c_oil)) {
if (c_oil->up
@@ -655,7 +658,7 @@ static int on_rpf_cache_refresh(struct thread *t)
scan_upstream_rpf_cache();
/* update kernel multicast forwarding cache (MFC) */
- pim_scan_oil();
+ pim_scan_oil(NULL);
qpim_rpf_cache_refresh_last = pim_time_monotonic_sec();
++qpim_rpf_cache_refresh_events;