]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: Re-add onlink flag due to loss in earlier commit
authorDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 20 Jan 2020 21:53:34 +0000 (16:53 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 22 Jan 2020 22:10:20 +0000 (17:10 -0500)
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 <sharpd@cumulusnetworks.com>
zebra/zapi_msg.c

index db54e6f25bda278d7014dfb8ea81857bf6a8cdfc..e3feddba521906dbda602cc06a53ca4e62437723 100644 (file)
@@ -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.
                         */