From 45dafca86cf68e7351be997351f2b1da623401a6 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Mon, 28 Feb 2022 13:08:01 -0500 Subject: [PATCH] zebra: Use the routes vrf not the vrf of the nexthop for route-map application When a end operator is doing cross vrf imports in bgp: router bgp 3239 vrf FOO address-family ipv4 uni import vrf BAR ! and zebra has this configuration: vrf FOO ip protocol bgp route-map EVA ! The current code in zebra_nhg.c was looking up the vrf of the nexthop and attempting to apply the ip protocol route-map. For most people the nexthop vrf and the re vrf are one and the same so they never see a problem. Signed-off-by: Donald Sharp --- zebra/zebra_nhg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zebra/zebra_nhg.c b/zebra/zebra_nhg.c index 858309f3e7..e1d28e1534 100644 --- a/zebra/zebra_nhg.c +++ b/zebra/zebra_nhg.c @@ -2475,7 +2475,7 @@ skip_check: memset(&nexthop->rmap_src.ipv6, 0, sizeof(union g_addr)); - zvrf = zebra_vrf_lookup_by_id(nexthop->vrf_id); + zvrf = zebra_vrf_lookup_by_id(re->vrf_id); if (!zvrf) { if (IS_ZEBRA_DEBUG_RIB_DETAILED) zlog_debug(" %s: zvrf is NULL", __func__); -- 2.39.5