-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enforce switch after config mux to active (#95)
Approach What is the motivation for this PR? After config mux state active EthernetXX, the first toggle might not be able to be succeeded as xcvrd has a chance to fail to setup the gRPC connection as the route changed by muxorch needs time to work. Signed-off-by: Longxiang Lyu lolv@microsoft.com How did you do it? The state change sequence after linkmgrd boots up and receives a mux config active: (unknown, unknown, up) --> config mux active --> (unknown, active, up) --> mux state unknown[as xcvrd could not setup gRPC connection] --> (unknown, unknown, up) --> probe mux state, return unknown --> (unknown, unknown, up) Once linkmgrd reaches (unknown, unknown, up), it will keep probing the mux till xcvrd returns either active or standby: if the probe result is active, we need an extra toggle to active to let show mux status shows active. if the probe result is standby, we also need an extra toggle to active to notify the gRPC server the port is standby and let show mux status shows active. How did you verify/test it?
- Loading branch information
Showing
3 changed files
with
126 additions
and
11 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