summaryrefslogtreecommitdiff
path: root/usr.sbin/eigrpd
diff options
context:
space:
mode:
authorRenato Westphal <renato@cvs.openbsd.org>2016-02-21 19:03:59 +0000
committerRenato Westphal <renato@cvs.openbsd.org>2016-02-21 19:03:59 +0000
commit0cdadceb6151332b0a3f9323d7336ed44c9c8091 (patch)
treefb57950f60ea4181e8a16fcc30df22cf881973d4 /usr.sbin/eigrpd
parent6517d448a8973e42c3d1905856b10283ef873c91 (diff)
Skip redistributed routes when updating the FIB.
Diffstat (limited to 'usr.sbin/eigrpd')
-rw-r--r--usr.sbin/eigrpd/rde_dual.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.sbin/eigrpd/rde_dual.c b/usr.sbin/eigrpd/rde_dual.c
index 92fb8eb5cfb..934db173f92 100644
--- a/usr.sbin/eigrpd/rde_dual.c
+++ b/usr.sbin/eigrpd/rde_dual.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde_dual.c,v 1.23 2016/02/21 19:01:12 renato Exp $ */
+/* $OpenBSD: rde_dual.c,v 1.24 2016/02/21 19:03:58 renato Exp $ */
/*
* Copyright (c) 2015 Renato Westphal <renato@openbsd.org>
@@ -615,8 +615,12 @@ rt_update_fib(struct rt_node *rn)
return;
TAILQ_FOREACH(route, &rn->routes, entry) {
+ /* skip redistributed routes */
+ if (route->nbr->flags & F_RDE_NBR_REDIST)
+ continue;
+
/*
- * only feasible successors and the successor itself
+ * Only feasible successors and the successor itself
* are elegible to be installed.
*/
if (route->rdistance > rn->successor.fdistance)