forked from sonic-net/sonic-buildimage
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Mellanox] run module initialization when any SFP related API is call…
…ed (sonic-net#18930) Why I did it Currently, there are a few issues related to module host management: 1. module initialization flow is triggered when chassis.get_change_event is called for the first time. It is too late which delays fast-reboot/warm-reboot convergence time 2. module initialization flow always send change event for all SFP objects to xcvrd even if there is no real module change event. It causes ports flapping during warm-reboot 3. legacy mode and module host management mode are mixed into the same code logic which makes it hard to maintain and extend To address above issues, the PR introduces following changes: 1. module initialization flow is triggered when chassis SFP related API is called for the first time. It means that any of the following API will trigger module init: chassis.get_sfp, chassis.get_all_sfps, chassis.get_change_event. The init flow shall only execute once under xcvrd context. 2. module initialization flow does not send change event anymore. Change event shall be sent only if a real cable event is detected by chassis.get_change_event (plug-in/plug-out/error) 3. legacy mode and module host management mode are decoupled to avoid affecting each other How to verify it 1. Unit test covered most of the new change 2. Full sonic-mgmt regression test make sure there is no degradation (test branch 202311) 3. Manual test
- Loading branch information
1 parent
d9e6256
commit d982462
Showing
22 changed files
with
2,201 additions
and
2,244 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
Oops, something went wrong.