diff options
Diffstat (limited to 'pimd/pim_instance.c')
| -rw-r--r-- | pimd/pim_instance.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/pimd/pim_instance.c b/pimd/pim_instance.c index 019048abf1..47358f38e1 100644 --- a/pimd/pim_instance.c +++ b/pimd/pim_instance.c @@ -92,7 +92,6 @@ static struct pim_instance *pim_instance_init(struct vrf *vrf) pim->ecmp_enable = false; pim->ecmp_rebalance_enable = false; - pim->vrf_id = vrf->vrf_id; pim->vrf = vrf; pim->spt.switchover = PIM_SPT_IMMEDIATE; @@ -175,8 +174,17 @@ static int pim_vrf_delete(struct vrf *vrf) static int pim_vrf_enable(struct vrf *vrf) { struct pim_instance *pim = (struct pim_instance *)vrf->info; + struct interface *ifp; - zlog_debug("%s: for %s", __func__, vrf->name); + zlog_debug("%s: for %s %u", __func__, vrf->name, vrf->vrf_id); + + FOR_ALL_INTERFACES (vrf, ifp) { + if (!ifp->info) + continue; + + pim_if_create_pimreg(pim); + break; + } pim_mroute_socket_enable(pim); |
