summaryrefslogtreecommitdiff
path: root/zebra/zapi_msg.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zapi_msg.c')
-rw-r--r--zebra/zapi_msg.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c
index 0ac17a0f4a..c21d00bbe6 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.
*/