summaryrefslogtreecommitdiff
path: root/pimd/pim_instance.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_instance.c')
-rw-r--r--pimd/pim_instance.c12
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);