diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2012-05-11 12:01:27 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2012-05-11 12:01:27 +0200 |
commit | b7f3df79054aca327654c1fb4739c4ff02e59e6e (patch) | |
tree | 1efdd46fcb5232fd4f8c22c9a5863bf45cdd80d3 /nest/rt-table.c | |
parent | 9b2b502be521b58a736f7b78644e89ee01b4418b (diff) |
Fixes a bug in RA_ACCEPTED handling.
Diffstat (limited to 'nest/rt-table.c')
-rw-r--r-- | nest/rt-table.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c index 578a6ba3..32feafba 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -354,7 +354,7 @@ rt_notify_accepted(struct announce_hook *ah, net *net, rte *new_changed, rte *ol rte *old_free = NULL; rte *r; - /* Used to track whethe we met old_changed position. If it is NULL + /* Used to track whether we met old_changed position. If it is NULL it was the first and met it implicitly before current best route. */ int old_meet = (old_changed && !before_old) ? 1 : 0; @@ -1415,12 +1415,13 @@ again: return 0; } - if (p->accept_ra_types == RA_OPTIMAL) + if ((p->accept_ra_types == RA_OPTIMAL) || + (p->accept_ra_types == RA_ACCEPTED)) if (e) { if (p->core_state != FS_FEEDING) return 1; /* In the meantime, the protocol fell down. */ - do_feed_baby(p, RA_OPTIMAL, h, n, e); + do_feed_baby(p, p->accept_ra_types, h, n, e); max_feed--; } |