zebra: Add support for ZEBRA_NEXTHOP_IPV4_IFINDEX
Actually implement the IPV4_IFINDEX nexthop type that has been drifting
around as a definition forever (without any warning about it being a
placeholder).
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/zebra/zserv.c b/zebra/zserv.c
index 0915217..9e47f23 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -775,6 +775,11 @@
nexthop.s_addr = stream_get_ipv4 (s);
nexthop_ipv4_add (rib, &nexthop, NULL);
break;
+ case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+ nexthop.s_addr = stream_get_ipv4 (s);
+ ifindex = stream_getl (s);
+ nexthop_ipv4_ifindex_add (rib, &nexthop, NULL, ifindex);
+ break;
case ZEBRA_NEXTHOP_IPV6:
stream_forward_getp (s, IPV6_MAX_BYTELEN);
break;
@@ -852,6 +857,10 @@
nexthop.s_addr = stream_get_ipv4 (s);
nexthop_p = &nexthop;
break;
+ case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+ nexthop.s_addr = stream_get_ipv4 (s);
+ ifindex = stream_getl (s);
+ break;
case ZEBRA_NEXTHOP_IPV6:
stream_forward_getp (s, IPV6_MAX_BYTELEN);
break;