diff options
author | Ondrej Filip <feela@network.cz> | 2004-06-23 21:36:55 +0000 |
---|---|---|
committer | Ondrej Filip <feela@network.cz> | 2004-06-23 21:36:55 +0000 |
commit | 973cf09c3b311691d063a00f52be7e9b8bdec376 (patch) | |
tree | fffb94fcad904a3eea86b9a7935f67b673366628 /proto/rip/rip.c | |
parent | 3fe5f8990764b33cc0245317e90fbbcd0cde84de (diff) |
Hotfix to problem with metric change reported by Luca.
Diffstat (limited to 'proto/rip/rip.c')
-rw-r--r-- | proto/rip/rip.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/proto/rip/rip.c b/proto/rip/rip.c index 71758cc3..ad4fd957 100644 --- a/proto/rip/rip.c +++ b/proto/rip/rip.c @@ -267,7 +267,10 @@ rip_rte_update_if_better(rtable *tab, net *net, struct proto *p, rte *new) rte *old; old = rte_find(net, p); - if (!old || p->rte_better(new, old)) + if (!old || p->rte_better(new, old) || + (ipa_equal(old->attrs->from, new->attrs->from) && + (old->u.rip.metric != new->u.rip.metric)) ) + rte_update(tab, net, p, new); } |