diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-05-11 09:53:45 -0400 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-24 13:51:34 -0400 | 
| commit | f507c1966e5fc3a7f6bb3656204c9af31c652a58 (patch) | |
| tree | 46c1a9fff113086cbe64f46088e785296690992d /pimd/pimd.c | |
| parent | 1145d0256e9afd66a12046ac0dc07cc4a22131c3 (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.c | 10 | 
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  | 
