summaryrefslogtreecommitdiffstats
path: root/staticd/static_nht.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2018-05-08 16:58:30 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-07-29 18:37:26 +0200
commit88a9001659d75a3909f0ecaaca63b5bc74583a7d (patch)
tree54cf29d95b286d2bd50f0a327f51a1310629782d /staticd/static_nht.c
parentzebra: Remove zebra_static.c and .h (diff)
downloadfrr-88a9001659d75a3909f0ecaaca63b5bc74583a7d.tar.xz
frr-88a9001659d75a3909f0ecaaca63b5bc74583a7d.zip
staticd: Fix recursive routes for certain types of nexthops
Existing NEXTHOP_TYPE_IPV4_IFINDEX and NEXTHOP_TYPE_IPV6_IFINDEX routes allow recursion, but were broken when the route happened to recursively resolve and the resolution nexthop changed. This commit fixes this issue. Please note that this issue was in pre-move of static route handling to it's own daemon as well. This was some easy low-hanging fruit, so to speak. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'staticd/static_nht.c')
-rw-r--r--staticd/static_nht.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/staticd/static_nht.c b/staticd/static_nht.c
index e6592c9c9..76f5da532 100644
--- a/staticd/static_nht.c
+++ b/staticd/static_nht.c
@@ -54,7 +54,9 @@ void static_nht_update(struct prefix *p, uint32_t nh_num,
reinstall = false;
for (si = rn->info; si; si = si->next) {
if (si->type != STATIC_IPV4_GATEWAY &&
- si->type != STATIC_IPV6_GATEWAY)
+ si->type != STATIC_IPV4_GATEWAY_IFNAME &&
+ si->type != STATIC_IPV6_GATEWAY &&
+ si->type != STATIC_IPV6_GATEWAY_IFNAME)
continue;
orig = si->nh_valid;