diff --git a/pimd/pim_oil.c b/pimd/pim_oil.c index 5b5cc2c103..9434ae07b7 100644 --- a/pimd/pim_oil.c +++ b/pimd/pim_oil.c @@ -544,27 +544,19 @@ int pim_channel_add_oif(struct channel_oil *channel_oil, struct interface *oif, int pim_channel_oil_empty(struct channel_oil *c_oil) { -#if PIM_IPV == 4 - static struct mfcctl null_oil; -#else - static struct mf6cctl null_oil; -#endif + static struct channel_oil null_oil; if (!c_oil) return 1; - /* exclude pimreg from the OIL when checking if the inherited_oil is * non-NULL. * pimreg device (in all vrfs) uses a vifi of * 0 (PIM_OIF_PIM_REGISTER_VIF) so we simply mfcc_ttls[0] */ - if (oil_if_has(c_oil, 0)) { -#if PIM_IPV == 4 - null_oil.mfcc_ttls[0] = 1; -#else - IF_SET(0, &null_oil.mf6cc_ifset); -#endif - } + if (oil_if_has(c_oil, 0)) + oil_if_set(&null_oil, 0, 1); + else + oil_if_set(&null_oil, 0, 0); - return !oil_if_cmp(&c_oil->oil, &null_oil); + return !oil_if_cmp(&c_oil->oil, &null_oil.oil); }