summaryrefslogtreecommitdiff
path: root/zebra/rt_netlink.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/rt_netlink.c')
-rw-r--r--zebra/rt_netlink.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index ce2d25862d..f69df1da89 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -556,6 +556,9 @@ static int netlink_route_change_read_unicast(struct nlmsghdr *h, ns_id_t ns_id,
parse_encap_mpls(tb[RTA_ENCAP], labels);
}
+ if (rtm->rtm_flags & RTNH_F_ONLINK)
+ SET_FLAG(nh.flags, NEXTHOP_FLAG_ONLINK);
+
if (num_labels)
nexthop_add_labels(&nh, ZEBRA_LSP_STATIC,
num_labels, labels);
@@ -663,6 +666,10 @@ static int netlink_route_change_read_unicast(struct nlmsghdr *h, ns_id_t ns_id,
nexthop_add_labels(nh, ZEBRA_LSP_STATIC,
num_labels, labels);
+ if (nh && (rtnh->rtnh_flags & RTNH_F_ONLINK))
+ SET_FLAG(nh->flags,
+ NEXTHOP_FLAG_ONLINK);
+
if (rtnh->rtnh_len == 0)
break;