DOM for flat memory transceiver modules#3950
Merged
prgeor merged 8 commits intosonic-net:masterfrom Aug 1, 2025
Merged
Conversation
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Collaborator
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
This PR needs to go with sonic-net/sonic-platform-common#586 for it work with SFF8436 and SFF8636 modules. |
Contributor
There was a problem hiding this comment.
Pull Request Overview
This pull request enables DOM (Digital Optical Monitoring) data retrieval for flat memory transceiver modules by removing a conditional check that previously blocked this functionality.
- Removed the condition that skipped DOM data retrieval for flat memory modules
- Updated test expectations to reflect that DOM data (even if empty) is now returned for flat memory modules
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| sfputil/main.py | Removed conditional check that blocked DOM retrieval for flat memory modules |
| tests/sfputil_test.py | Updated test to expect empty DOM values instead of unsupported message for flat memory modules |
Comments suppressed due to low confidence (1)
tests/sfputil_test.py:63
- The test only verifies the case where DOM values are empty for flat memory modules. Consider adding a test case that verifies DOM data is actually returned when available for flat memory modules to ensure the feature works as intended.
EMPTY_DOM_VALUES = """ ChannelMonitorValues:
mihirpat1
approved these changes
Jul 23, 2025
Contributor
|
@az-pz can you also paste the DOM output for CMIS DAC cable and non-CMIS DAC cable? |
Contributor
Author
|
@prgeor , added the dom cli output for cmis and non-cmis DAC in the description. |
prgeor
approved these changes
Aug 1, 2025
Collaborator
|
Cherry-pick PR to msft-202412: Azure/sonic-utilities.msft#240 |
Contributor
Collaborator
|
Cherry-pick PR to 202505: #4063 |
YairRaviv
pushed a commit
to YairRaviv/sonic-utilities
that referenced
this pull request
Jan 12, 2026
* Fix: show interface transceiver info Ethernet0 command fails for CMIS SFP * Fix variable name error. * Return DOM for flat memory modules if it's available. * Update unit tests. * Update unit tests. * Update unit tests. * Update unit tests.
JibinBao
added a commit
to JibinBao/sonic-mgmt
that referenced
this pull request
Feb 24, 2026
1. Update the function to get the port with flat memory, because the PR sonic-net/sonic-utilities#3950 removed the string of 'DOM values not supported for flat memory module' from the output of "sudo sfputil show eeprom -d" 2. To avoid a circular import, move get_ports_with_flat_memory from platform/transceiver_utils.py to platform/interface_utils.py. 3. Update test_check_sfp_eeprom_with_option_dom: For ports that do not have flat memory, it implies DOM support. Remove the old code for checking DOM support, as the previous method is no longer applicable.
12 tasks
JibinBao
added a commit
to JibinBao/sonic-mgmt
that referenced
this pull request
Feb 24, 2026
1. Update the function to get the port with flat memory, because the PR sonic-net/sonic-utilities#3950 removed the string of 'DOM values not supported for flat memory module' from the output of "sudo sfputil show eeprom -d" 2. To avoid a circular import, move get_ports_with_flat_memory from platform/transceiver_utils.py to platform/interface_utils.py. 3. Update test_check_sfp_eeprom_with_option_dom: For ports that do not have flat memory, it implies DOM support. Remove the old code for checking DOM support, as the previous method is no longer applicable. Signed-off-by: jbao <[email protected]>
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

What I did
Return DOM for flat memory modules if it's available.
How I did it
Removed the conditional which skipped returning DOM for flat memory modules when using
sfputil show eeprom -d -p <interface>command.How to verify it
Run
sfputil show eeprom -d -p <interface>for a flat memory module.Previous command output (if the output of a command-line utility has changed)
Previously,
sfputil show eeprom -d -p <interface>for a flat memory module would haveDOM values not supported for flat memory modulein the end and no DOM would be printed.New command output (if the output of a command-line utility has changed)
Now, the command returns the DOM for flat memory modules if it's available.
CLI output for a flat memory transceiver now:
CLI output for non-cmis DAC:
CLI output of CMIS DAC: