forked from Mirror/frr
pimd: Create pim_get_pim_instance
Create function to get the pim instance from the vrf_id Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
ea3d967be0
commit
18d8291fa2
|
@ -103,7 +103,6 @@ static void *if_list_clean(struct pim_interface *pim_ifp)
|
||||||
struct pim_interface *pim_if_new(struct interface *ifp, int igmp, int pim)
|
struct pim_interface *pim_if_new(struct interface *ifp, int igmp, int pim)
|
||||||
{
|
{
|
||||||
struct pim_interface *pim_ifp;
|
struct pim_interface *pim_ifp;
|
||||||
struct vrf *vrf;
|
|
||||||
|
|
||||||
zassert(ifp);
|
zassert(ifp);
|
||||||
zassert(!ifp->info);
|
zassert(!ifp->info);
|
||||||
|
@ -115,8 +114,7 @@ struct pim_interface *pim_if_new(struct interface *ifp, int igmp, int pim)
|
||||||
}
|
}
|
||||||
|
|
||||||
pim_ifp->options = 0;
|
pim_ifp->options = 0;
|
||||||
vrf = vrf_info_lookup(ifp->vrf_id);
|
pim_ifp->pim = pim_get_pim_instance(ifp->vrf_id);
|
||||||
pim_ifp->pim = vrf->info;
|
|
||||||
pim_ifp->mroute_vif_index = -1;
|
pim_ifp->mroute_vif_index = -1;
|
||||||
|
|
||||||
pim_ifp->igmp_version = IGMP_DEFAULT_VERSION;
|
pim_ifp->igmp_version = IGMP_DEFAULT_VERSION;
|
||||||
|
|
10
pimd/pimd.c
10
pimd/pimd.c
|
@ -170,6 +170,16 @@ void pim_prefix_list_update(struct prefix_list *plist)
|
||||||
pim_upstream_spt_prefix_list_update(plist);
|
pim_upstream_spt_prefix_list_update(plist);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct pim_instance *pim_get_pim_instance(vrf_id_t vrf_id)
|
||||||
|
{
|
||||||
|
struct vrf *vrf = vrf_lookup_by_id(vrf_id);
|
||||||
|
|
||||||
|
if (vrf)
|
||||||
|
return vrf->info;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static void pim_instance_terminate(struct pim_instance *pim)
|
static void pim_instance_terminate(struct pim_instance *pim)
|
||||||
{
|
{
|
||||||
/* Traverse and cleanup rpf_hash */
|
/* Traverse and cleanup rpf_hash */
|
||||||
|
|
|
@ -270,4 +270,6 @@ extern void pim_route_map_terminate(void);
|
||||||
void pim_vrf_init(void);
|
void pim_vrf_init(void);
|
||||||
void pim_prefix_list_update(struct prefix_list *plist);
|
void pim_prefix_list_update(struct prefix_list *plist);
|
||||||
|
|
||||||
|
struct pim_instance *pim_get_pim_instance(vrf_id_t vrf_id);
|
||||||
|
|
||||||
#endif /* PIMD_H */
|
#endif /* PIMD_H */
|
||||||
|
|
Loading…
Reference in a new issue