diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-05-08 16:58:30 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2018-07-29 18:37:26 +0200 |
commit | 88a9001659d75a3909f0ecaaca63b5bc74583a7d (patch) | |
tree | 54cf29d95b286d2bd50f0a327f51a1310629782d /staticd/static_nht.c | |
parent | zebra: Remove zebra_static.c and .h (diff) | |
download | frr-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.c | 4 |
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; |