summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2017-03-07 17:26:02 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2017-03-07 17:26:02 +0100
commit0a1c01498592b511dbfe1b66856bd127589e611f (patch)
tree02e823eb257c6a342ffb2a26399d1e3020d995c5
parentd7c07bb47a5ce3675aa1e1e907e0612e551a90a6 (diff)
parent8e581e39196b938364b9dae06eeb9e846c2943ee (diff)
Merge branch 'frr/pull/250' ("bgpd, zebra: Add ifindex to NEXTHOP_TYPE_IPV4")
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
-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);