summaryrefslogtreecommitdiff
path: root/zebra/zebra_rnh.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zebra_rnh.c')
-rw-r--r--zebra/zebra_rnh.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/zebra/zebra_rnh.c b/zebra/zebra_rnh.c
index f5faaab71b..8ca25359be 100644
--- a/zebra/zebra_rnh.c
+++ b/zebra/zebra_rnh.c
@@ -637,15 +637,11 @@ zebra_rnh_resolve_nexthop_entry(struct zebra_vrf *zvrf, afi_t afi,
if (re) {
*prn = rn;
return re;
- }
-
- if (!CHECK_FLAG(rnh->flags, ZEBRA_NHT_CONNECTED))
+ } else {
+ /* Resolve the nexthop recursively by finding matching
+ * route with lower prefix length
+ */
rn = rn->parent;
- else {
- if (IS_ZEBRA_DEBUG_NHT_DETAILED)
- zlog_debug(
- " Nexthop must be connected, cannot recurse up");
- return NULL;
}
}