Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aligning SONiC code with sff8024 spec #457

Merged
merged 3 commits into from
May 7, 2024

Conversation

tshalvi
Copy link
Contributor

@tshalvi tshalvi commented Apr 21, 2024

Description

I updated sff8024.py to align with the SFF8024 spec by including fixes and additions. Additionally, I resolved an issue in the method responsible for retrieving the application advertisement list from the EEPROM of CMIS modules.

Motivation and Context

We encountered an issue with the application advertisement list retrieved from the get_application_advertisement() method for a specific module. Despite the EEPROM indicating support for 6 applications, the method returned only one application. This discrepancy appeared because the EEPROM's application advertisement list was missing information for the SECOND application. The implementation of get_application_advertisement() in cmis.py would terminate prematurely if information was missing for any application, causing subsequent applications to be overlooked.
To address this issue, this PR introduces two changes:

  • Updates the get_application_advertisement() method to continue processing even if information is missing for an application, proceeding to the next application instead.
  • Updates sff8024.py to include information for ALL applications specified in the SFF8024 spec (including the application that was missing in the original issue of course)

How Has This Been Tested?

I verified that the missing application in sff8024.py could be successfully detected in the module's EEPROM application advertisement list.

Additional Information (Optional)

@prgeor prgeor force-pushed the sff8024_spec_alignment branch from 858ed9c to 7742cce Compare April 21, 2024 19:56
@prgeor prgeor requested a review from mihirpat1 April 21, 2024 19:58
@prgeor prgeor added the CMIS label Apr 21, 2024
keboliu
keboliu previously approved these changes Apr 22, 2024
@mihirpat1
Copy link
Contributor

@tshalvi Can you please fix the code coverage check?

@tshalvi
Copy link
Contributor Author

tshalvi commented May 6, 2024

@tshalvi Can you please fix the code coverage check?

Done

@prgeor prgeor merged commit 50a75a5 into sonic-net:master May 7, 2024
5 checks passed
mssonicbld pushed a commit to mssonicbld/sonic-platform-common that referenced this pull request May 9, 2024
* Updated sff8024.py to align with sff8024 spec (fixes and additions)

* A fix for the method of retrieving the application advertisement list from the EEPROM of CMIS modules

* Added a unit test to validate the result of get_application_advertisement() for applications with missing data
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202311: #469

mssonicbld pushed a commit that referenced this pull request May 9, 2024
* Updated sff8024.py to align with sff8024 spec (fixes and additions)

* A fix for the method of retrieving the application advertisement list from the EEPROM of CMIS modules

* Added a unit test to validate the result of get_application_advertisement() for applications with missing data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants