Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change the stale cleanup functionality and add endOfRib detection logic.
The existing implementation uses a fixed timeout to clean up stale ifmap node/link entries when the control-node connection to irond flaps. The ifmap protocol sends only SearchResults when a connection comes up. Subsequent adds/deletes are send via UpdateResults and DeleteResults. We use this fact to decide we have reached end of rib i.e. all existing config has been received. We start/restart a timer for each SearchResult received. Since, SearchResults will keep coming in until all data has been downloaded, the timer will make us wait before we cleanup entries that became stale while the connection was down. Using a static timer value will not work well for large configs but this scheme will. Also, adding logic to detect endOfRib when the daemon first comes up. We use the same logic as above to detect that we have received all available config. This is done only when the daemon comes up for the first time. In contrast, the stale timer functionality is used only when the connection goes down. Detecting that all config has been received will be used to advertise the control-node to Discovery only after complete config download from irond. Also, some name changes for consistency. Change-Id: Ib14f45f489591679fa406d4af41a846777f4bb28 Closes-Bug: #1446869
- Loading branch information
Showing
9 changed files
with
135 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters