summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-11-24 17:15:20 +0100
committerOndrej Zajicek <santiago@crfreenet.org>2009-11-24 17:15:20 +0100
commit069bfcb53cef012c063a27e5af93d620be2917bd (patch)
tree61d7c566932822b8212e91c80214d80433cf8e5a
parent717e4c4d8173a8dbae2956f1703ff6d4365a9d34 (diff)
downloadbird-069bfcb53cef012c063a27e5af93d620be2917bd.tar
bird-069bfcb53cef012c063a27e5af93d620be2917bd.zip
Fixes serious bug in core related to route filtering.
If protocol announces a route, route is accepted by import filter to routing table, and later it announces replacement of that route that is rejected by import filter, old route remains in routing table.
-rw-r--r--nest/rt-table.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c
index 87bf0dc..dda0e56 100644
--- a/nest/rt-table.c
+++ b/nest/rt-table.c
@@ -636,6 +636,7 @@ rte_update(rtable *table, net *net, struct proto *p, struct proto *src, rte *new
drop:
rte_free(new);
+ rte_recalculate(table, net, p, src, NULL, NULL);
rte_update_unlock();
}