Task #2802
closedAn unbuildable adjacency LSA schedules another build which blocks other builds
90%
Description
Currently, when a router's adjacency LSA is unbuildable due to the fact that its neighbors are not ACTIVE or timed out, it schedules another adjacency LSA build in InterestRetryNumber*InterestResendTime seconds (Default: 3*3 seconds).
If in this time interval, all of the nodes become ACTIVE or timed out, another LSA build cannot be scheduled until after the previous one has been handled.
In testing, we saw that this lead to 9 second gaps after recovery when the node should be able to recover almost immediately.
Instead, the adjacency LSA should be buildable if one or more nodes is active or if every node has timed out. An adjacency LSA can be built if only one node is active but the rest have yet to time out. Also, a failed adjacency LSA build should not schedule another build in the future. Since a build fails when all of the nodes have yet to timeout, the next HELLO timeout will trigger another adjacency LSA build.
Updated by Nicholas Gordon over 8 years ago
- Target version changed from v0.3.0 to v0.3.1
Updated by Nicholas Gordon over 8 years ago
- Status changed from Code review to Closed
- Target version changed from v0.3.1 to v0.3.0