summaryrefslogtreecommitdiff
path: root/zebra/zebra_rib.c
diff options
context:
space:
mode:
authorFeng Lu <lu.feng@6wind.com>2015-05-22 11:40:04 +0200
committerVipin Kumar <vipin@cumulusnetworks.com>2015-10-29 23:52:37 -0700
commit0032dd59cda8215e7ccf4297cd78ee6100de7499 (patch)
treeafabd0f44a9acc9daa6af3f6962d1da8db65a0df /zebra/zebra_rib.c
parentaf41b63a5e3ab98812edae2b7c1a2d9a3091e5e7 (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.c3
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)