[CMIS] 'get_transceiver_info' should return 'None' when CMIS cable EEPROM is not ready #305
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.
Signed-off-by: Kebo Liu kebol@nvidia.com
Description
When the CMIS cable EEPROM is not ready,
get_transceiver_info
should return None to notify XCVRD that cable EEPROM is not ready instead of returning a dictionary including 'None' values.If any field is 'None', we consider the CMIS cable EEPROM is not fully ready yet.
Motivation and Context
get_transceiver_info
should return a dictionary including the correct field and values to XCVRD, if EEPROM is not ready should not return a dictionary with incorrect values. The 'None' return value can trigger XCVRD to start the retry EEPROM reading flow.This is also to fix issue sonic-net/sonic-buildimage#11525
How Has This Been Tested?
keep run sfputil reset test case and see no further crash.
Additional Information (Optional)