C18 MFC never recovers from removal of static route to source
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index 74a60a5..820b0ef 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -353,12 +353,15 @@
}
-static void scan_oil()
+void pim_scan_oil()
{
struct listnode *node;
struct listnode *nextnode;
struct channel_oil *c_oil;
+ qpim_scan_oil_last = pim_time_monotonic_sec();
+ ++qpim_scan_oil_events;
+
for (ALL_LIST_ELEMENTS(qpim_channel_oil_list, node, nextnode, c_oil)) {
int old_vif_index;
int input_iface_vif_index = fib_lookup_if_vif_index(c_oil->oil.mfcc_origin);
@@ -445,7 +448,7 @@
scan_upstream_rpf_cache();
/* update kernel multicast forwarding cache (MFC) */
- scan_oil();
+ pim_scan_oil();
qpim_rpf_cache_refresh_last = pim_time_monotonic_sec();
++qpim_rpf_cache_refresh_events;