LB; remove replaced interface from interfaces list #433
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.
Description
LB-FE keeps track of interfaces connecting it with proxies. When a proxy interface is replaced, the old interface might linger on, or might not even get removed from the interface list. That's because LB-FE only gets InterfaceDeleted() event upon an NSM connection Close() request. Which might happen with severe delay (MaxTokenLifetime expiration), or might not even happen if the Close fails (does not reach LB-FE's interfacemonitor server chain). Either way, it leads to unnecessary and confusing excess work and printouts where LB-FE tries to set the old interface's state to Down again and again.
So let's remove the old interface from the interface list when the interface replace event is first noticed.
Issue link
NA
Checklist