diff options
Diffstat (limited to 'bgpd/bgp_routemap.c')
| -rw-r--r-- | bgpd/bgp_routemap.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c index b7ac976e23..4bc173e48e 100644 --- a/bgpd/bgp_routemap.c +++ b/bgpd/bgp_routemap.c @@ -1313,12 +1313,13 @@ route_match_vrl_source_vrf(void *rule, const struct prefix *prefix,  	if (strncmp(vrf_name, "n/a", VRF_NAMSIZ) == 0)  		return RMAP_NOMATCH; -	if (path->extra == NULL || path->extra->bgp_orig == NULL) +	if (path->extra == NULL || path->extra->vrfleak == NULL || +	    path->extra->vrfleak->bgp_orig == NULL)  		return RMAP_NOMATCH; -	if (strncmp(vrf_name, vrf_id_to_name(path->extra->bgp_orig->vrf_id), -		    VRF_NAMSIZ) -	    == 0) +	if (strncmp(vrf_name, +		    vrf_id_to_name(path->extra->vrfleak->bgp_orig->vrf_id), +		    VRF_NAMSIZ) == 0)  		return RMAP_MATCH;  	return RMAP_NOMATCH;  | 
