diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2009-08-11 10:54:50 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2009-08-11 10:54:50 +0200 |
commit | 024e633c16cf21ae94d7e023e057e59080f92175 (patch) | |
tree | 94016f64ff1779dd02c838b784db3ab120452099 | |
parent | e75d3c74a8f665a6e7dc0cc743a68e980e7c10da (diff) | |
download | bird-024e633c16cf21ae94d7e023e057e59080f92175.tar bird-024e633c16cf21ae94d7e023e057e59080f92175.zip |
Fixes bug that caused losing of some routes.
When update changes preferred route in such a way that
it ceased to be preferred, the new route was linked
to wrong place and lost.
-rw-r--r-- | nest/rt-table.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c index fb2feac..7213836 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -464,8 +464,8 @@ rte_recalculate(rtable *table, net *net, struct proto *p, struct proto *src, rte } if (new) /* Link in the new non-optimal route */ { - new->next = old_best->next; - old_best->next = new; + new->next = net->routes->next; + net->routes->next = new; rte_trace_in(D_ROUTES, p, new, "added"); } else if (old && (p->debug & D_ROUTES)) |