]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: Use the routes vrf not the vrf of the nexthop for route-map application
authorDonald Sharp <sharpd@nvidia.com>
Mon, 28 Feb 2022 18:08:01 +0000 (13:08 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Mon, 28 Feb 2022 18:08:01 +0000 (13:08 -0500)
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 <sharpd@nvidia.com>
zebra/zebra_nhg.c

index 858309f3e7520ac1c8edfea76119bc13ea7c26bc..e1d28e1534889a58264a69fa052e15c00f19bf78 100644 (file)
@@ -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__);