diff --git a/zebra/zebra_rnh.c b/zebra/zebra_rnh.c index ed661d1d9c..2c2bd11993 100644 --- a/zebra/zebra_rnh.c +++ b/zebra/zebra_rnh.c @@ -615,7 +615,8 @@ send_client (struct rnh *rnh, struct zserv *client) nump = stream_get_endp(s); stream_putc (s, 0); for (nexthop = rib->nexthop; nexthop; nexthop = nexthop->next) - if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_FIB) && + if ((CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_FIB) || + CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_RECURSIVE)) && CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE)) { stream_putc (s, nexthop->type);