summaryrefslogtreecommitdiff
path: root/pimd/pim_rpf.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-07-08 19:46:01 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2019-07-18 07:54:04 -0400
commitafb2f47031e71f7dc3c8c98bec053426694dfc4f (patch)
treef7a40219f903ebde6c83d62b14f2b840cfa0d5c7 /pimd/pim_rpf.c
parenta85de978b62c17db23fc502ddcd6bc0718e754a7 (diff)
pimd: Add pim_channel_oil_change_iif
Add a function that allows you to modify the channel oil's incoming interface and to appropriately install/remove it from the kernel. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_rpf.c')
-rw-r--r--pimd/pim_rpf.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/pimd/pim_rpf.c b/pimd/pim_rpf.c
index 7d263e99e3..357ad6ba46 100644
--- a/pimd/pim_rpf.c
+++ b/pimd/pim_rpf.c
@@ -307,11 +307,11 @@ void pim_upstream_rpf_clear(struct pim_instance *pim,
struct pim_upstream *up)
{
if (up->rpf.source_nexthop.interface) {
- if (up->channel_oil) {
- up->channel_oil->oil.mfcc_parent = MAXVIFS;
- pim_mroute_del(up->channel_oil, __PRETTY_FUNCTION__);
+ if (up->channel_oil)
+ pim_channel_oil_change_iif(pim, up->channel_oil,
+ MAXVIFS,
+ __PRETTY_FUNCTION__);
- }
pim_upstream_switch(pim, up, PIM_UPSTREAM_NOTJOINED);
up->rpf.source_nexthop.interface = NULL;
up->rpf.source_nexthop.mrib_nexthop_addr.u.prefix4.s_addr =