diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-09-09 02:55:32 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2019-11-26 18:39:25 +0100 |
commit | 5ea39eaa96625ec8274703b1eb2c8f59042a8a32 (patch) | |
tree | 0ef3675d3818b86b2ee2c9edaf6663cdf153bbe9 /sysdep/unix | |
parent | af02b83b888c693c292960072195f0e1caf1d2a1 (diff) |
Nest: Use bitmaps to keep track of exported routes
Use a hierarchical bitmap in a routing table to assign ids to routes, and
then use bitmaps (indexed by route id) in channels to keep track whether
routes were exported. This avoids unreliable and inefficient re-evaluation
of filters for old routes in order to determine whether they were exported.
Diffstat (limited to 'sysdep/unix')
-rw-r--r-- | sysdep/unix/krt.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c index 27868fab..691efb44 100644 --- a/sysdep/unix/krt.c +++ b/sysdep/unix/krt.c @@ -736,11 +736,8 @@ krt_prune(struct krt_proto *p) switch (verdict) { case KRF_CREATE: - if (new && (n->n.flags & KRF_INSTALLED)) - { - krt_trace_in(p, new, "reinstalling"); - krt_replace_rte(p, n, new, NULL); - } + krt_trace_in(p, new, "reinstalling"); + krt_replace_rte(p, n, new, NULL); break; case KRF_SEEN: case KRF_IGNORE: |