diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-06-22 13:35:45 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-22 13:35:45 -0400 | 
| commit | a12bb225a6681b7e7eb0aac105cbc8b745675131 (patch) | |
| tree | adb8d7935dcb1da93d6cf4082f903e412e292640 /ripngd/ripng_interface.c | |
| parent | efe42c51c48da8bc89df4891235fb3be0e502cf8 (diff) | |
| parent | a41c4e1b1f577443ad26222704a69649c280cd9e (diff) | |
Merge pull request #3775 from pguibert6WIND/ospf_missing_interface_handling_2
Ospf missing interface handling 2
Diffstat (limited to 'ripngd/ripng_interface.c')
| -rw-r--r-- | ripngd/ripng_interface.c | 16 | 
1 files changed, 10 insertions, 6 deletions
diff --git a/ripngd/ripng_interface.c b/ripngd/ripng_interface.c index 49ed13a2c2..520e19a710 100644 --- a/ripngd/ripng_interface.c +++ b/ripngd/ripng_interface.c @@ -212,7 +212,7 @@ int ripng_interface_up(ZAPI_CALLBACK_ARGS)  	if (IS_RIPNG_DEBUG_ZEBRA)  		zlog_debug(  			"interface up %s vrf %u index %d flags %llx metric %d mtu %d", -			ifp->name, ifp->vrf_id, ifp->ifindex, +			ifp->name, ifp->vrf->vrf_id, ifp->ifindex,  			(unsigned long long)ifp->flags, ifp->metric, ifp->mtu6);  	ripng_interface_sync(ifp); @@ -249,7 +249,7 @@ int ripng_interface_down(ZAPI_CALLBACK_ARGS)  	if (IS_RIPNG_DEBUG_ZEBRA)  		zlog_debug(  			"interface down %s vrf %u index %d flags %#llx metric %d mtu %d", -			ifp->name, ifp->vrf_id, ifp->ifindex, +			ifp->name, ifp->vrf->vrf_id, ifp->ifindex,  			(unsigned long long)ifp->flags, ifp->metric, ifp->mtu6);  	return 0; @@ -266,7 +266,7 @@ int ripng_interface_add(ZAPI_CALLBACK_ARGS)  	if (IS_RIPNG_DEBUG_ZEBRA)  		zlog_debug(  			"RIPng interface add %s vrf %u index %d flags %#llx metric %d mtu %d", -			ifp->name, ifp->vrf_id, ifp->ifindex, +			ifp->name, ifp->vrf->vrf_id, ifp->ifindex,  			(unsigned long long)ifp->flags, ifp->metric, ifp->mtu6);  	/* Check is this interface is RIP enabled or not.*/ @@ -301,7 +301,7 @@ int ripng_interface_delete(ZAPI_CALLBACK_ARGS)  	zlog_info(  		"interface delete %s vrf %u index %d flags %#llx metric %d mtu %d", -		ifp->name, ifp->vrf_id, ifp->ifindex, +		ifp->name, ifp->vrf->vrf_id, ifp->ifindex,  		(unsigned long long)ifp->flags, ifp->metric, ifp->mtu6);  	/* To support pseudo interface do not free interface structure.  */ @@ -316,17 +316,21 @@ int ripng_interface_vrf_update(ZAPI_CALLBACK_ARGS)  {  	struct interface *ifp;  	vrf_id_t new_vrf_id; +	struct vrf *new_vrf;  	ifp = zebra_interface_vrf_update_read(zclient->ibuf, vrf_id,  					      &new_vrf_id);  	if (!ifp)  		return 0; +	new_vrf = vrf_lookup_by_id(new_vrf_id); +  	if (IS_RIPNG_DEBUG_ZEBRA)  		zlog_debug("interface %s VRF change vrf_id %u new vrf id %u",  			   ifp->name, vrf_id, new_vrf_id); -	if_update_to_new_vrf(ifp, new_vrf_id); +	if_update_to_new_vrf(ifp, new_vrf); +  	ripng_interface_sync(ifp);  	return 0; @@ -931,7 +935,7 @@ void ripng_interface_sync(struct interface *ifp)  {  	struct vrf *vrf; -	vrf = vrf_lookup_by_id(ifp->vrf_id); +	vrf = ifp->vrf;  	if (vrf) {  		struct ripng_interface *ri;  | 
