[sonic_xcvr] Fix temperature capability and readiness handling - #756
Open
ArthurMicas wants to merge 1 commit into
Open
ArthurMicas wants to merge 1 commit into
ArthurMicas wants to merge 1 commit into
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Collaborator
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Collaborator
|
Hi, there are workflow run(s) waiting for approval, you may be first-time contributor. I will notify maintainers to help approve once PR is approved. Thanks! ---Powered by SONiC BuildBot
|
bgallagher-nexthop
approved these changes
Sep 16, 2026
| 0x1f: (self._create_cmis_api, (bank,)), | ||
| 0x20: (self._create_cmis_api, (bank,)), | ||
| 0x21: (self._create_cmis_api, (bank,)), | ||
| 0x22: (self._create_cmis_api, (bank,)), |
Contributor
There was a problem hiding this comment.
Can you leave this one undefined in the id_mapping? ELSFPs currently have their own API class separate to CmisApi which is instantiated via a different factory class
Author
There was a problem hiding this comment.
Deleted both elsfp and xpo's mapping in new commit
| @@ -0,0 +1,157 @@ | |||
| """Temperature capabilities, readiness, and EEPROM read failure regressions.""" | |||
Contributor
There was a problem hiding this comment.
I think these tests might better belong split into multiple files:
test_cmis.pyfor CMIS test casestest_sff8436.pyfor SFF-8436 test casestest_sff8472.pyfor SFF-8472 test casestest_sff8636.pyfor SFF-8636 test cases
otherwise a precedent is set to have a test file per capability (e.g test_vcc_support) spanning each API
ArthurMicas
force-pushed
the
codex/xcvr-temperature-support
branch
from
September 24, 2026 17:13
77b6397 to
3d9eed7
Compare
Collaborator
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
ArthurMicas
force-pushed
the
codex/xcvr-temperature-support
branch
from
September 24, 2026 17:14
3d9eed7 to
ee5549f
Compare
Collaborator
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
Signed-off-by: arthur <arthur@micasnetworks.com>
ArthurMicas
force-pushed
the
codex/xcvr-temperature-support
branch
from
September 24, 2026 18:50
ee5549f to
1143c19
Compare
Collaborator
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
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
Correct temperature capability and readiness handling in the common transceiver APIs. A failed capability read now returns
Noneinstead of being reported as unsupported or assumed to support temperature monitoring.Data_Not_Readybefore reading temperature.Nonewhen QSFP revision detection fails, and extend factory dispatch for legacy QSFP/microQSFP and additional CMIS identifiers while preserving the requested bank.Existing copper-module policy and the pre-2.8 SFF-8636 temperature assumption are preserved. These changes are limited to sonic-platform-common; no platform sfputil or installation scripts are included.
How I verified it
On Ubuntu 22.04 / Python 3.10:
python3 -m pytest -o addopts= tests/sonic_xcvr --ignore=tests/sonic_xcvr/test_bailly_optoe_base.py -q --disable-warnings --cov=sonic_platform_base.sonic_xcvr: 1514 passed.git diff --check: passed.The unfiltered sonic_xcvr run could not collect
test_bailly_optoe_base.pybecause the local environment lacks the native SONiCswsscommondependency. That file was explicitly excluded from the 1514-test run. The full repository suite and hardware validation were not run. New identifier tests validate dispatch and bank propagation, not complete hardware qualification of each module family.