summaryrefslogtreecommitdiff
path: root/pimd/pimd.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-05-11 09:53:45 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-07-24 13:51:34 -0400
commitf507c1966e5fc3a7f6bb3656204c9af31c652a58 (patch)
tree46c1a9fff113086cbe64f46088e785296690992d /pimd/pimd.c
parent1145d0256e9afd66a12046ac0dc07cc4a22131c3 (diff)
pimg: Actually properly create the pim socket per vrf
Create the actual pim socket per vrf. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pimd.c')
-rw-r--r--pimd/pimd.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/pimd/pimd.c b/pimd/pimd.c
index 4c43d916bd..5b5ba068c5 100644
--- a/pimd/pimd.c
+++ b/pimd/pimd.c
@@ -95,6 +95,7 @@ static int pim_vrf_enable(struct vrf *vrf)
{
struct pim_instance *pim;
+ zlog_debug("%s: for %s", __PRETTY_FUNCTION__, vrf->name);
pim = pim_instance_init(vrf);
if (pim == NULL) {
zlog_err("%s %s: pim class init failure ", __FILE__,
@@ -233,9 +234,13 @@ static struct pim_instance *pim_instance_init(struct vrf *vrf)
return NULL;
}
- pim->mroute_socket = -1;
pim->send_v6_secondary = 1;
+ if (vrf->vrf_id == VRF_DEFAULT)
+ pimg = pim;
+
+ pim_mroute_socket_enable(pim);
+
return pim;
}
@@ -266,9 +271,6 @@ void pim_init()
}
qpim_static_route_list->del = (void (*)(void *))pim_static_route_free;
- pim_mroute_socket_enable(pimg);
-
-
/*
RFC 4601: 4.6.3. Assert Metrics