diff options
Diffstat (limited to 'pimd/pim_iface.c')
| -rw-r--r-- | pimd/pim_iface.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c index 65889fd57b..4e92a2c5dc 100644 --- a/pimd/pim_iface.c +++ b/pimd/pim_iface.c @@ -1040,7 +1040,8 @@ int pim_if_add_vif(struct interface *ifp, bool ispimreg, bool is_vxlan_term) pim_ifp->pim->iface_vif_index[pim_ifp->mroute_vif_index] = 1; - gm_ifp_update(ifp); + if (!ispimreg) + gm_ifp_update(ifp); /* if the device qualifies as pim_vxlan iif/oif update vxlan entries */ pim_vxlan_add_vif(ifp); @@ -1546,9 +1547,9 @@ void pim_if_create_pimreg(struct pim_instance *pim) if (!pim->regiface) { if (pim->vrf->vrf_id == VRF_DEFAULT) - strlcpy(pimreg_name, "pimreg", sizeof(pimreg_name)); + strlcpy(pimreg_name, PIMREG, sizeof(pimreg_name)); else - snprintf(pimreg_name, sizeof(pimreg_name), "pimreg%u", + snprintf(pimreg_name, sizeof(pimreg_name), PIMREG "%u", pim->vrf->data.l.table_id); pim->regiface = if_get_by_name(pimreg_name, pim->vrf->vrf_id, @@ -1718,7 +1719,7 @@ static int pim_ifp_up(struct interface *ifp) * If we have a pimreg device callback and it's for a specific * table set the master appropriately */ - if (sscanf(ifp->name, "pimreg%" SCNu32, &table_id) == 1) { + if (sscanf(ifp->name, "" PIMREG "%" SCNu32, &table_id) == 1) { struct vrf *vrf; RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name) { if ((table_id == vrf->data.l.table_id) |
