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;