diff options
| author | Feng Lu <lu.feng@6wind.com> | 2015-05-22 11:40:04 +0200 |
|---|---|---|
| committer | Vipin Kumar <vipin@cumulusnetworks.com> | 2015-10-29 23:52:37 -0700 |
| commit | 0032dd59cda8215e7ccf4297cd78ee6100de7499 (patch) | |
| tree | afabd0f44a9acc9daa6af3f6962d1da8db65a0df /zebra/zebra_rib.c | |
| parent | af41b63a5e3ab98812edae2b7c1a2d9a3091e5e7 (diff) | |
zebra: let the route-map rule "match interface" work for VRFs
Introduce a new "struct nexthop_vrfid" to specify a nexthop together
with the VRF ID it belongs to.
Thus in route_match_interface(), we can lookup the interface from
the correct VRF.
Signed-off-by: Feng Lu <lu.feng@6wind.com>
Reviewed-by: Alain Ritoux <alain.ritoux@6wind.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Acked-by: Vincent JARDIN <vincent.jardin@6wind.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Conflicts:
zebra/zebra_rib.c
zebra/zebra_routemap.c
Diffstat (limited to 'zebra/zebra_rib.c')
| -rw-r--r-- | zebra/zebra_rib.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 79aa989814..0f25c76858 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -1213,7 +1213,8 @@ nexthop_active_check (struct route_node *rn, struct rib *rib, memset(&nexthop->rmap_src.ipv6, 0, sizeof(union g_addr)); /* It'll get set if required inside */ - ret = zebra_route_map_check(family, rib->type, &rn->p, nexthop, rib->tag); + ret = zebra_route_map_check(family, rib->type, &rn->p, nexthop, rib->vrf_id, + rib->tag); if (ret == RMAP_DENYMATCH) { if (IS_ZEBRA_DEBUG_RIB) |
