diff --git a/zebra/rib.h b/zebra/rib.h
index 4d98e05..1c54879 100644
--- a/zebra/rib.h
+++ b/zebra/rib.h
@@ -253,6 +253,7 @@
 #define NEXTHOP_FLAG_ACTIVE     (1 << 0) /* This nexthop is alive. */
 #define NEXTHOP_FLAG_FIB        (1 << 1) /* FIB nexthop. */
 #define NEXTHOP_FLAG_RECURSIVE  (1 << 2) /* Recursive nexthop. */
+#define NEXTHOP_FLAG_ONLINK     (1 << 3) /* Nexthop should be installed onlink. */
 
   /* Nexthop address */
   union g_addr gate;
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index b0ade05..7a820bf 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -1443,8 +1443,11 @@
         int bytelen,
         struct nexthop *nexthop,
         struct nlmsghdr *nlmsg,
+        struct rtmsg *rtmsg,
         size_t req_size)
 {
+  if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ONLINK))
+    rtmsg->rtm_flags |= RTNH_F_ONLINK;
   if (nexthop->type == NEXTHOP_TYPE_IPV4
       || nexthop->type == NEXTHOP_TYPE_IPV4_IFINDEX)
     {
@@ -1534,6 +1537,9 @@
   rtnh->rtnh_hops = 0;
   rta->rta_len += rtnh->rtnh_len;
 
+  if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ONLINK))
+    rtnh->rtnh_flags |= RTNH_F_ONLINK;
+
   if (nexthop->type == NEXTHOP_TYPE_IPV4
       || nexthop->type == NEXTHOP_TYPE_IPV4_IFINDEX)
     {
@@ -1733,7 +1739,8 @@
 
               _netlink_route_debug(cmd, p, nexthop, routedesc, family);
               _netlink_route_build_singlepath(routedesc, bytelen,
-                                              nexthop, &req.n, sizeof req);
+                                              nexthop, &req.n, &req.r,
+                                              sizeof req);
 
               if (cmd == RTM_NEWROUTE)
                 SET_FLAG (nexthop->flags, NEXTHOP_FLAG_FIB);
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index e1da7df..45928e9 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -615,6 +615,9 @@
 	  if (! CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE))
 	    vty_out (vty, " inactive");
 
+	  if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ONLINK))
+	    vty_out (vty, " onlink");
+
 	  if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_RECURSIVE))
 	    vty_out (vty, " (recursive)");
 
@@ -710,6 +713,9 @@
       if (! CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE))
 	vty_out (vty, " inactive");
 
+      if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ONLINK))
+	vty_out (vty, " onlink");
+
       if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_RECURSIVE))
 	vty_out (vty, " (recursive)");
 
@@ -1600,6 +1606,9 @@
 	  if (! CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE))
 	    vty_out (vty, " inactive");
 
+	  if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ONLINK))
+	    vty_out (vty, " onlink");
+
 	  if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_RECURSIVE))
 	    vty_out (vty, " (recursive)");
 
