Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@murali-reddy @mrueg
Replaces #1151 and largely based on the original commit @Rusox89 made in that PR. Thanks for your work there!
I just rebased his work and patched up some stuff to fix a few unaccounted use-cases and bring it a little more in line with the rest of the kube-router code base.
Fixes #509, which is a rare situation where routes will get lost after an interface is brought down and back up, by introducing a route synchronization goroutine. This keeps track of what the kernel routing table should look like and syncs it from time to time.
I have deployed this in a test cluster and tested taking routes in / out and starting / stopping peers. It acts correctly in all use-cases.