From: vincent Date: Mon, 30 Jan 2006 18:12:42 +0000 (+0000) Subject: ripd.c: correct bug that allowed route learnt through RIP to take precedence over... X-Git-Tag: frr-2.0-rc1~2772 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=7a383339572b0dd1098132ba35c5f8dc34885fd1;p=matthieu%2Ffrr.git ripd.c: correct bug that allowed route learnt through RIP to take precedence over connected routes --- diff --git a/ripd/ChangeLog b/ripd/ChangeLog index c979a11df4..d795509efe 100644 --- a/ripd/ChangeLog +++ b/ripd/ChangeLog @@ -1,3 +1,8 @@ +2006-01-30 Alain Ritoux + + * ripd.c: correct bug that allowed route learnt through RIP to take + precedence over connectd routes + 2006-01-19 Paul Jakma * ripd.c: (main) return from main, not exit, cause it annoys SOS. diff --git a/ripd/ripd.c b/ripd/ripd.c index 40db33f5e4..c8aa522157 100644 --- a/ripd/ripd.c +++ b/ripd/ripd.c @@ -486,7 +486,9 @@ rip_rte_process (struct rte *rte, struct sockaddr_in *from, new_dist = rip_distance_apply (&rinfotmp); new_dist = new_dist ? new_dist : ZEBRA_RIP_DISTANCE_DEFAULT; old_dist = rinfo->distance; - old_dist = old_dist ? old_dist : ZEBRA_RIP_DISTANCE_DEFAULT; + /* Only connected routes may have a valid NULL distance */ + if (rinfo->type != ZEBRA_ROUTE_CONNECT) + old_dist = old_dist ? old_dist : ZEBRA_RIP_DISTANCE_DEFAULT; /* If imported route does not have STRICT precedence, mark it as a ghost */ if (new_dist > old_dist