-
Notifications
You must be signed in to change notification settings - Fork 746
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
Add a test case to validate FEC histogram #14661
Conversation
The pre-commit check detected issues in the files touched by this pull request. Detailed pre-commit check results: To run the pre-commit checks locally, you can follow below steps:
|
@vvolam please fix the build error |
The pre-commit check detected issues in the files touched by this pull request. Detailed pre-commit check results: To run the pre-commit checks locally, you can follow below steps:
|
The pre-commit check detected issues in the files touched by this pull request. Detailed pre-commit check results: To run the pre-commit checks locally, you can follow below steps:
|
The pre-commit check detected issues in the files touched by this pull request. Detailed pre-commit check results: To run the pre-commit checks locally, you can follow below steps:
|
/azpw run |
/AzurePipelines run |
Azure Pipelines successfully started running 1 pipeline(s). |
@dgsudharsan , @roy-sror could you please review? Thank you. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
fec = get_fec_oper_mode(duthost, intf['interface']) | ||
if fec == "n/a": | ||
pytest.fail("FEC status is N/A for interface {}".format(intf['interface'])) | ||
for intf in interfaces: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vvolam some platforms like Arista 7060-x6 does not support fec operational mode yet. can you test there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@prgeor yes, that's the reason this test is already skipped on broadcom platform which is at line 51.
duthost = duthosts[enum_rand_one_per_hwsku_frontend_hostname] | ||
|
||
if "broadcom" in duthost.facts.get('platform_asic'): | ||
pytest.skip("Skipping this test on platforms with Broadcom ASICs") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vvolam we need this to be tested on 7060-x6. FEC histogram does work on TH5
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@prgeor Tested on Arista 7060x6 platform and enabled the test on that platform. Thank you!
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Description of PR
Summary:
This PR introduces a new test case to verify the FEC histogram on SONiC devices. The test validates the FEC histogram output and checks for errors in critical bins, failing if any errors are detected. This assists in identifying potential transmission issues or signal degradation on the interface.
Type of change
Back port request
Approach
What is the motivation for this PR?
The motivation for this PR is to add automated testing for validating the Forward Error Correction (FEC) histogram on interfaces. Monitoring FEC statistics is crucial for ensuring link stability, as high error counts in specific bins can indicate link issues or degradation.
How did you do it?
Test case retrieves FEC histogram data using the
show interfaces counters fec-histogram
command, validates the output, and checks the error count across various bins. The test fails if the error counts in critical bins (bins 8-15) exceed a defined threshold.How did you verify/test it?
The test was verified by running it on multiple interfaces with SFP modules present and operational.
Test was verified on "Mellanox-SN4700-O8C48" testbed and "Arista-7060X6-64PE-C256S2" testbed.
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation
N/A