]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Fix instance startup to separate data structure setup from use
authorDonald Sharp <sharpd@cumulusnetworks.com>
Tue, 23 May 2017 11:43:47 +0000 (07:43 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 24 Jul 2017 17:51:38 +0000 (13:51 -0400)
Fix the instance startup to allow separation between the data structure
setup for pim instances from actual attempt to use.  More than
likely there will be other issues that need to be fixed but
this gets us 'working' again.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_instance.c

index d493657917f8284cef4016df981b3a13deb4ec03..0849e6f7487bcdb1fd44fa8c73fb0771ddd566f3 100644 (file)
@@ -107,8 +107,6 @@ static struct pim_instance *pim_instance_init(struct vrf *vrf)
        if (vrf->vrf_id == VRF_DEFAULT)
                pimg = pim;
 
-       pim_mroute_socket_enable(pim);
-
        pim_rp_init(pim);
 
        pim_oil_init(pim);
@@ -161,16 +159,17 @@ static int pim_vrf_delete(struct vrf *vrf)
        return 0;
 }
 
+/*
+ * Code to turn on the pim instance that
+ * we have created with new
+ */
 static int pim_vrf_enable(struct vrf *vrf)
 {
-       //  struct pim_instance *pim;
+       struct pim_instance *pim = (struct pim_instance *)vrf->info;
 
        zlog_debug("%s: for %s", __PRETTY_FUNCTION__, vrf->name);
 
-       // vrf->info = (void *)pim;
-
-       // if (vrf->vrf_id == VRF_DEFAULT)
-       //  pimg = pim;
+       pim_mroute_socket_enable(pim);
 
        return 0;
 }