diff options
| author | Russ White <russ@riw.us> | 2021-10-27 15:29:39 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-27 15:29:39 -0400 | 
| commit | f727c6ae8a62be99bd5be5a191fbd7df455a35f0 (patch) | |
| tree | 9e9bde7f79993485caf03678351041c05379a81e /bfdd | |
| parent | f1506cf36b91014d920f82bbfe655651a2356141 (diff) | |
| parent | 0df2e1888b1e8011bc1e3ec6ed6c34a9e6fcaae9 (diff) | |
Merge pull request #9837 from idryzhov/cleanup-if-by-name-vrf-all
*: fix usage of if_lookup_by_name_all_vrf
Diffstat (limited to 'bfdd')
| -rw-r--r-- | bfdd/bfd.c | 31 | 
1 files changed, 7 insertions, 24 deletions
diff --git a/bfdd/bfd.c b/bfdd/bfd.c index c66fccb853..a4091534f5 100644 --- a/bfdd/bfd.c +++ b/bfdd/bfd.c @@ -315,45 +315,28 @@ int bfd_session_enable(struct bfd_session *bs)  		vrf = vrf_lookup_by_name(bs->key.vrfname);  		if (vrf == NULL) {  			zlog_err( -				"session-enable: specified VRF doesn't exists."); +				"session-enable: specified VRF %s doesn't exists.", +				bs->key.vrfname);  			return 0;  		} +	} else { +		vrf = vrf_lookup_by_id(VRF_DEFAULT);  	} -	if (!vrf_is_backend_netns() && vrf && vrf->vrf_id != VRF_DEFAULT -	    && !if_lookup_by_name(vrf->name, vrf->vrf_id)) { -		zlog_err("session-enable: vrf interface %s not available yet", -			 vrf->name); -		return 0; -	} +	assert(vrf);  	if (bs->key.ifname[0]) { -		if (vrf) -			ifp = if_lookup_by_name(bs->key.ifname, vrf->vrf_id); -		else -			ifp = if_lookup_by_name_all_vrf(bs->key.ifname); +		ifp = if_lookup_by_name(bs->key.ifname, vrf->vrf_id);  		if (ifp == NULL) {  			zlog_err(  				"session-enable: specified interface %s (VRF %s) doesn't exist.", -				bs->key.ifname, vrf ? vrf->name : "<all>"); +				bs->key.ifname, vrf->name);  			return 0;  		} -		if (bs->key.ifname[0] && !vrf) { -			vrf = vrf_lookup_by_id(ifp->vrf_id); -			if (vrf == NULL) { -				zlog_err( -					"session-enable: specified VRF %u doesn't exist.", -					ifp->vrf_id); -				return 0; -			} -		}  	}  	/* Assign interface/VRF pointers. */  	bs->vrf = vrf; -	if (bs->vrf == NULL) -		bs->vrf = vrf_lookup_by_id(VRF_DEFAULT); -	assert(bs->vrf);  	/* Assign interface pointer (if any). */  	bs->ifp = ifp;  | 
