diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-06-22 19:35:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-22 19:35:45 +0200 |
commit | a12bb225a6681b7e7eb0aac105cbc8b745675131 (patch) | |
tree | adb8d7935dcb1da93d6cf4082f903e412e292640 /pimd/pim_iface.c | |
parent | Merge pull request #4294 from adharkar/frr-master-fpm_rmac (diff) | |
parent | *: change interface structure, from vrf_id to vrf (diff) | |
download | frr-a12bb225a6681b7e7eb0aac105cbc8b745675131.tar.xz frr-a12bb225a6681b7e7eb0aac105cbc8b745675131.zip |
Merge pull request #3775 from pguibert6WIND/ospf_missing_interface_handling_2
Ospf missing interface handling 2
Diffstat (limited to 'pimd/pim_iface.c')
-rw-r--r-- | pimd/pim_iface.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c index 7b8f04569..6ccc6ed19 100644 --- a/pimd/pim_iface.c +++ b/pimd/pim_iface.c @@ -120,7 +120,7 @@ struct pim_interface *pim_if_new(struct interface *ifp, bool igmp, bool pim, pim_ifp = XCALLOC(MTYPE_PIM_INTERFACE, sizeof(*pim_ifp)); pim_ifp->options = 0; - pim_ifp->pim = pim_get_pim_instance(ifp->vrf_id); + pim_ifp->pim = pim_get_pim_instance(vrf_to_id(ifp->vrf)); pim_ifp->mroute_vif_index = -1; pim_ifp->igmp_version = IGMP_DEFAULT_VERSION; @@ -781,7 +781,7 @@ void pim_if_addr_del_all(struct interface *ifp) struct connected *ifc; struct listnode *node; struct listnode *nextnode; - struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id); + struct vrf *vrf = ifp->vrf; struct pim_instance *pim; if (!vrf) @@ -853,7 +853,7 @@ struct in_addr pim_find_primary_addr(struct interface *ifp) int v4_addrs = 0; int v6_addrs = 0; struct pim_interface *pim_ifp = ifp->info; - struct vrf *vrf = vrf_lookup_by_id(ifp->vrf_id); + struct vrf *vrf = ifp->vrf; if (!vrf) return addr; @@ -894,10 +894,10 @@ struct in_addr pim_find_primary_addr(struct interface *ifp) if (!v4_addrs && v6_addrs && !if_is_loopback(ifp)) { struct interface *lo_ifp; // DBS - Come back and check here - if (ifp->vrf_id == VRF_DEFAULT) - lo_ifp = if_lookup_by_name("lo", vrf->vrf_id); + if (!ifp->vrf || ifp->vrf->vrf_id == VRF_DEFAULT) + lo_ifp = if_lookup_by_name("lo", vrf); else - lo_ifp = if_lookup_by_name(vrf->name, vrf->vrf_id); + lo_ifp = if_lookup_by_name(vrf->name, vrf); if (lo_ifp) return pim_find_primary_addr(lo_ifp); @@ -1480,7 +1480,7 @@ void pim_if_create_pimreg(struct pim_instance *pim) snprintf(pimreg_name, sizeof(pimreg_name), "pimreg%u", pim->vrf->data.l.table_id); - pim->regiface = if_create(pimreg_name, pim->vrf_id); + pim->regiface = if_create(pimreg_name, pim->vrf); pim->regiface->ifindex = PIM_OIF_PIM_REGISTER_VIF; pim_if_new(pim->regiface, false, false, true, |