summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/nexthop.c8
-rw-r--r--lib/nexthop.h4
-rw-r--r--zebra/zebra_nhg.c3
3 files changed, 6 insertions, 9 deletions
diff --git a/lib/nexthop.c b/lib/nexthop.c
index 4ddb53cd96..243b52d554 100644
--- a/lib/nexthop.c
+++ b/lib/nexthop.c
@@ -1150,11 +1150,7 @@ static ssize_t printfrr_nh(struct fbuf *buf, struct printfrr_eargs *ea,
return -1;
}
-bool nexthop_is_ifindex_type(const struct nexthop *nh)
+bool nexthop_is_blackhole(const struct nexthop *nh)
{
- if (nh->type == NEXTHOP_TYPE_IFINDEX ||
- nh->type == NEXTHOP_TYPE_IPV4_IFINDEX ||
- nh->type == NEXTHOP_TYPE_IPV6_IFINDEX)
- return true;
- return false;
+ return nh->type == NEXTHOP_TYPE_BLACKHOLE;
}
diff --git a/lib/nexthop.h b/lib/nexthop.h
index bed6447d49..958d06aa51 100644
--- a/lib/nexthop.h
+++ b/lib/nexthop.h
@@ -240,8 +240,8 @@ extern struct nexthop *nexthop_dup(const struct nexthop *nexthop,
extern struct nexthop *nexthop_dup_no_recurse(const struct nexthop *nexthop,
struct nexthop *rparent);
-/* Check nexthop of IFINDEX type */
-extern bool nexthop_is_ifindex_type(const struct nexthop *nh);
+/* Is this nexthop a blackhole? */
+extern bool nexthop_is_blackhole(const struct nexthop *nh);
/*
* Parse one or more backup index values, as comma-separated numbers,
diff --git a/zebra/zebra_nhg.c b/zebra/zebra_nhg.c
index dc403b8111..ed949da917 100644
--- a/zebra/zebra_nhg.c
+++ b/zebra/zebra_nhg.c
@@ -3657,8 +3657,9 @@ void zebra_interface_nhg_reinstall(struct interface *ifp)
"%s: Setting the valid flag for nhe %pNG, interface: %s",
__func__, rb_node_dep->nhe, ifp->name);
}
+
/* Check for singleton NHG associated to interface */
- if (nexthop_is_ifindex_type(nh) &&
+ if (!nexthop_is_blackhole(nh) &&
zebra_nhg_depends_is_empty(rb_node_dep->nhe)) {
struct nhg_connected *rb_node_dependent;