summaryrefslogtreecommitdiff
path: root/bgpd/bgp_routemap.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_routemap.c')
-rw-r--r--bgpd/bgp_routemap.c9
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;