summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_nht.c2
-rw-r--r--zebra/zebra_rnh.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/bgpd/bgp_nht.c b/bgpd/bgp_nht.c
index e1204f55a1..b0362b5537 100644
--- a/bgpd/bgp_nht.c
+++ b/bgpd/bgp_nht.c
@@ -432,6 +432,7 @@ bgp_parse_nexthop_update (int command, vrf_id_t vrf_id)
{
case NEXTHOP_TYPE_IPV4:
nexthop->gate.ipv4.s_addr = stream_get_ipv4 (s);
+ nexthop->ifindex = stream_getl (s);
break;
case NEXTHOP_TYPE_IFINDEX:
nexthop->ifindex = stream_getl (s);
@@ -442,6 +443,7 @@ bgp_parse_nexthop_update (int command, vrf_id_t vrf_id)
break;
case NEXTHOP_TYPE_IPV6:
stream_get (&nexthop->gate.ipv6, s, 16);
+ nexthop->ifindex = stream_getl (s);
break;
case NEXTHOP_TYPE_IPV6_IFINDEX:
stream_get (&nexthop->gate.ipv6, s, 16);
diff --git a/zebra/zebra_rnh.c b/zebra/zebra_rnh.c
index b180930a0a..f42354b6e6 100644
--- a/zebra/zebra_rnh.c
+++ b/zebra/zebra_rnh.c
@@ -893,6 +893,7 @@ send_client (struct rnh *rnh, struct zserv *client, rnh_type_t type, vrf_id_t vr
{
case NEXTHOP_TYPE_IPV4:
stream_put_in_addr (s, &nexthop->gate.ipv4);
+ stream_putl (s, nexthop->ifindex);
break;
case NEXTHOP_TYPE_IFINDEX:
stream_putl (s, nexthop->ifindex);
@@ -903,6 +904,7 @@ send_client (struct rnh *rnh, struct zserv *client, rnh_type_t type, vrf_id_t vr
break;
case NEXTHOP_TYPE_IPV6:
stream_put (s, &nexthop->gate.ipv6, 16);
+ stream_putl (s, nexthop->ifindex);
break;
case NEXTHOP_TYPE_IPV6_IFINDEX:
stream_put (s, &nexthop->gate.ipv6, 16);