From 54bea4e5379e6b4e9fd7db52d5e5a3780aae349c Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Mon, 20 Jan 2020 16:53:34 -0500 Subject: [PATCH] zebra: Re-add onlink flag due to loss in earlier commit commit: 0eb97b860dc94329cf9add9f8f3d3a2c7f539568 Removed this chunk of code in zebra: - if (ifp) - if (connected_is_unnumbered(ifp)) - SET_FLAG(nexthop->flags, NEXTHOP_FLAG_ONLINK); Effectively if we had a NEXTHOP_TYPE_IPV4_IFINDEX we would auto set the onlink flag. This commit dropped it for some reason. Add it back in an intelligent manner. Signed-off-by: Donald Sharp --- zebra/zapi_msg.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c index db54e6f25b..e3feddba52 100644 --- a/zebra/zapi_msg.c +++ b/zebra/zapi_msg.c @@ -65,6 +65,7 @@ #include "zebra/zapi_msg.h" #include "zebra/zebra_errors.h" #include "zebra/zebra_mlag.h" +#include "zebra/connected.h" /* Encoding helpers -------------------------------------------------------- */ @@ -1419,6 +1420,7 @@ static void zread_route_add(ZAPI_HANDLER_ARGS) int i, ret; vrf_id_t vrf_id; struct ipaddr vtep_ip; + struct interface *ifp; s = msg; if (zapi_route_decode(s, &api) < 0) { @@ -1511,6 +1513,9 @@ static void zread_route_add(ZAPI_HANDLER_ARGS) &api_nh->gate.ipv4, NULL, ifindex, api_nh->vrf_id); + ifp = if_lookup_by_index(ifindex, api_nh->vrf_id); + if (ifp && connected_is_unnumbered(ifp)) + SET_FLAG(nexthop->flags, NEXTHOP_FLAG_ONLINK); /* Special handling for IPv4 routes sourced from EVPN: * the nexthop and associated MAC need to be installed. */