summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2021-11-04 08:01:14 -0400
committermergify-bot <noreply@mergify.io>2021-11-07 13:01:46 +0000
commitfae857d4a42eebaf4630b5aa2d22b09d5bd85c19 (patch)
tree5c28a08633dce4c41023382cfc556454b26bb854
parent3691c9d2d0b22e4fa27d7a49b302f28b1af9ede0 (diff)
zebra: Send up ifindex for redistribution when appropriate
Currently the NEXTHOP_TYPE_IPV4 and NEXTHOP_TYPE_IPV6 are not sending up the resolved ifindex for the route. This is causing upper level protocols that have something like this: route-map FOO permit 10 match interface swp13 ! router ospf redistribute static ! ip route 4.5.6.7/32 10.10.10.10 where 10.10.10.10 resolves to interface swp13. The route-map will never match in this case. Since FRR has the resolved nexthop interface, FRR might as well send it up to be selected on by the upper level protocol as needed. Signed-off-by: Donald Sharp <sharpd@nvidia.com> (cherry picked from commit 6f77db57794d40e34b09f0049c2323c0b7f462a3)
-rw-r--r--zebra/zapi_msg.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c
index 496849251a..b839d1d754 100644
--- a/zebra/zapi_msg.c
+++ b/zebra/zapi_msg.c
@@ -604,8 +604,6 @@ int zsend_redistribute_route(int cmd, struct zserv *client,
api_nh->bh_type = nexthop->bh_type;
break;
case NEXTHOP_TYPE_IPV4:
- api_nh->gate.ipv4 = nexthop->gate.ipv4;
- break;
case NEXTHOP_TYPE_IPV4_IFINDEX:
api_nh->gate.ipv4 = nexthop->gate.ipv4;
api_nh->ifindex = nexthop->ifindex;
@@ -614,8 +612,6 @@ int zsend_redistribute_route(int cmd, struct zserv *client,
api_nh->ifindex = nexthop->ifindex;
break;
case NEXTHOP_TYPE_IPV6:
- api_nh->gate.ipv6 = nexthop->gate.ipv6;
- break;
case NEXTHOP_TYPE_IPV6_IFINDEX:
api_nh->gate.ipv6 = nexthop->gate.ipv6;
api_nh->ifindex = nexthop->ifindex;