summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_nhg.c
diff options
context:
space:
mode:
authorMark Stapp <mjs@voltanet.io>2020-05-20 22:43:11 +0200
committerMark Stapp <mjs@voltanet.io>2020-07-07 19:14:01 +0200
commit9d43854d9404463feef34671c59501cd77aa72bf (patch)
tree9f70fd167036142350b83cf53d4ce7482074234d /zebra/zebra_nhg.c
parentzebra: add dplane backup nhg api (diff)
downloadfrr-9d43854d9404463feef34671c59501cd77aa72bf.tar.xz
frr-9d43854d9404463feef34671c59501cd77aa72bf.zip
zebra: only use ACTIVE nexthops in recursive resolution
Only use ACTIVE nexthops to resolve recursive routes, not all nexthops from a resolving route. Signed-off-by: Mark Stapp <mjs@voltanet.io>
Diffstat (limited to '')
-rw-r--r--zebra/zebra_nhg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/zebra/zebra_nhg.c b/zebra/zebra_nhg.c
index 1fc2c30c3..fc429cf55 100644
--- a/zebra/zebra_nhg.c
+++ b/zebra/zebra_nhg.c
@@ -1734,6 +1734,10 @@ static bool nexthop_valid_resolve(const struct nexthop *nexthop,
if (CHECK_FLAG(resolved->flags, NEXTHOP_FLAG_RECURSIVE))
return false;
+ /* Must be ACTIVE */
+ if (!CHECK_FLAG(resolved->flags, NEXTHOP_FLAG_ACTIVE))
+ return false;
+
switch (nexthop->type) {
case NEXTHOP_TYPE_IPV4_IFINDEX:
case NEXTHOP_TYPE_IPV6_IFINDEX: