diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2020-01-07 18:35:03 +0100 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2020-01-07 18:35:03 +0100 |
commit | 7d767c5a3d001a6a1a5c3e800553202fd492190c (patch) | |
tree | 6a0758ae4bdd2b4cbecefec9ed329b43d038a270 /nest/rt-fib.c | |
parent | ef8c45749c82e246d477ea4d7f749668a9c7e9ee (diff) |
KRT: Improve syncer code to avoid using temporary data in rtable
The old code stored route verdicts and temporary routes directly in
rtable. The new code do not store received routes (it immediately
compares them with exported routes and resolves conflicts) and uses
internal bitmap to keep track of which routes were received and which
needs to be reinstalled.
By not putting 'invalid' temporary routes to rtable, we keep rtable
in consistent state, therefore scan no longer needs to be atomic
operation and could be splitted to multiple events.
Diffstat (limited to 'nest/rt-fib.c')
-rw-r--r-- | nest/rt-fib.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/nest/rt-fib.c b/nest/rt-fib.c index a8800b65..76a86e6e 100644 --- a/nest/rt-fib.c +++ b/nest/rt-fib.c @@ -327,7 +327,6 @@ fib_get(struct fib *f, const net_addr *a) struct fib_node *e = fib_user_to_node(f, b); e->readers = NULL; - e->flags = 0; fib_insert(f, a, e); memset(b, 0, f->node_offset); |