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

T2: Change XOFF threshold for backplane links on long link line card #16550

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

sreejithsreekumaran
Copy link
Contributor

@sreejithsreekumaran sreejithsreekumaran commented Jan 16, 2025

Description of PR

Updated qos yaml and uplifted few test cases for handing change in XOFF threshold of BP ports in long link LC

Summary:
Fixes # (issue)

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • New Test case
    • Skipped for non-supported platforms
  • Test case improvement

Back port request

  • 202012
  • 202205
  • 202305
  • 202311
  • 202405
  • 202411

Approach

What is the motivation for this PR?

XOFF threshold in long link card for backplane port is being reduced due to the use of default voq mode
when HBM is enabled.

This voq mode uses the same voq for all source ports on the same slice destined to the same egress interface.

How did you do it?

Added a new entry in yaml file for the topology specific value for the test case and introduced conditional checks to read the new value.

How did you verify/test it?

Ran qos-sai tests on T2

----------------------------------------- generated xml file: /run_logs/19351-new-limits-pgshared/2025-01-16-21-52-41/1/qos/test_qos_sai.py::TestQosSai_2025-01-16-21-52-41.xml ------------------------------------------
INFO:root:Can not get Allure report URL. Please check logs
------------------------------------------------------------------------------------------------- live log sessionfinish -------------------------------------------------------------------------------------------------
02:46:39 __init__.pytest_terminal_summary         L0067 INFO   | Can not get Allure report URL. Please check logs
================================================================================================ short test summary info =================================================================================================
PASSED qos/test_qos_sai.py::TestQosSai::testParameter[single_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[single_asic-xoff_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[single_asic-xoff_2]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXonLimit[single_asic-xon_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXonLimit[single_asic-xon_2]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLosslessVoq[single_asic-lossless_voq_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLosslessVoq[single_asic-lossless_voq_2]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLosslessVoq[single_asic-lossless_voq_3]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLosslessVoq[single_asic-lossless_voq_4]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiBufferPoolWatermark[single_asic-wm_buf_pool_lossless]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiBufferPoolWatermark[single_asic-wm_buf_pool_lossy]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLossyQueue[single_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLossyQueueVoq[single_asic-lossy_queue_voq_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDscpQueueMapping[single_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrr[single_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPgSharedWatermark[single_asic-wm_pg_shared_lossless]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPgSharedWatermark[single_asic-wm_pg_shared_lossy]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPGDrop[single_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiQSharedWatermark[single_asic-wm_q_shared_lossless]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiQSharedWatermark[single_asic-wm_q_shared_lossy]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDscpToPgMapping[single_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrrWeightChange[single_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiQWatermarkAllPorts[single_asic-wm_q_wm_all_ports]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLossyQueueVoqMultiSrc[single_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testParameter[single_dut_multi_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[single_dut_multi_asic-xoff_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[single_dut_multi_asic-xoff_2]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXonLimit[single_dut_multi_asic-xon_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXonLimit[single_dut_multi_asic-xon_2]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiBufferPoolWatermark[single_dut_multi_asic-wm_buf_pool_lossless]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiBufferPoolWatermark[single_dut_multi_asic-wm_buf_pool_lossy]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLossyQueue[single_dut_multi_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDscpQueueMapping[single_dut_multi_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrr[single_dut_multi_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPgSharedWatermark[single_dut_multi_asic-wm_pg_shared_lossless]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPGDrop[single_dut_multi_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiQSharedWatermark[single_dut_multi_asic-wm_q_shared_lossless]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiQSharedWatermark[single_dut_multi_asic-wm_q_shared_lossy]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDscpToPgMapping[single_dut_multi_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrrWeightChange[single_dut_multi_asic]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiQWatermarkAllPorts[single_dut_multi_asic-wm_q_wm_all_ports]
PASSED qos/test_qos_sai.py::TestQosSai::testParameter[multi_dut_longlink_to_shortlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[multi_dut_longlink_to_shortlink-xoff_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[multi_dut_longlink_to_shortlink-xoff_2]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXonLimit[multi_dut_longlink_to_shortlink-xon_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXonLimit[multi_dut_longlink_to_shortlink-xon_2]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiBufferPoolWatermark[multi_dut_longlink_to_shortlink-wm_buf_pool_lossy]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLossyQueue[multi_dut_longlink_to_shortlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDscpQueueMapping[multi_dut_longlink_to_shortlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrr[multi_dut_longlink_to_shortlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPgSharedWatermark[multi_dut_longlink_to_shortlink-wm_pg_shared_lossless]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiQSharedWatermark[multi_dut_longlink_to_shortlink-wm_q_shared_lossy]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDscpToPgMapping[multi_dut_longlink_to_shortlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrrWeightChange[multi_dut_longlink_to_shortlink]
PASSED qos/test_qos_sai.py::TestQosSai::testParameter[multi_dut_shortlink_to_longlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[multi_dut_shortlink_to_longlink-xoff_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXoffLimit[multi_dut_shortlink_to_longlink-xoff_2]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXonLimit[multi_dut_shortlink_to_longlink-xon_1]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPfcXonLimit[multi_dut_shortlink_to_longlink-xon_2]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiBufferPoolWatermark[multi_dut_shortlink_to_longlink-wm_buf_pool_lossy]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiLossyQueue[multi_dut_shortlink_to_longlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDscpQueueMapping[multi_dut_shortlink_to_longlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrr[multi_dut_shortlink_to_longlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPgSharedWatermark[multi_dut_shortlink_to_longlink-wm_pg_shared_lossless]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiPGDrop[multi_dut_shortlink_to_longlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiQSharedWatermark[multi_dut_shortlink_to_longlink-wm_q_shared_lossy]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDscpToPgMapping[multi_dut_shortlink_to_longlink]
PASSED qos/test_qos_sai.py::TestQosSai::testQosSaiDwrrWeightChange[multi_dut_shortlink_to_longlink]
SKIPPED [8] qos/test_qos_sai.py:370: Additional DSCPs are not supported on non-dual ToR ports
SKIPPED [20] qos/test_qos_sai.py:430: This test is only for Mellanox. / M0/MX topo does not support qos
SKIPPED [8] qos/test_qos_sai.py:639: Additional DSCPs are not supported on non-dual ToR ports
SKIPPED [4] qos/test_qos_sai.py:823: Headroom pool size is not enabled on this DUT
SKIPPED [2] qos/test_qos_sai.py:907: This test cannot be run since there are not enough ports. Pls see qos.yaml for the port idx's that are needed.
SKIPPED [4] qos/test_qos_sai.py:1019: Headroom pool size is not enabled on this DUT
SKIPPED [1] qos/test_qos_sai.py:1290: LossyQueueVoq: lossy_queue_voq_2 test is not applicable for x86_64-88_lc0_36fh-r0, with split-voq.
SKIPPED [8] qos/test_qos_sai.py:1439: Skip this test since separated DSCP_TO_TC_MAP is not applied
SKIPPED [5] qos/test_qos_sai.py: Dot1p-queue mapping is only supported on backend. / M0/MX topo does not support qos
SKIPPED [5] qos/test_qos_sai.py: Dot1p-PG mapping is only supported on backend. / M0/MX topo does not support qos
SKIPPED [5] qos/test_qos_sai.py: Priority Group Headroom Watermark is not supported on cisco asic. PG drop counter stat is covered as a part of testQosSaiPfcXoffLimit / M0/MX topo does not support qos
SKIPPED [10] qos/test_qos_sai.py:1982: For DSCP to PG mapping on IPinIP traffic , mellanox device has different behavior to community. For mellanox device, testQosSaiDscpToPgMapping can cover the scenarios / M0/MX topo does not support qos
SKIPPED [8] qos/test_qos_sai.py:2076: Skip this test since separated DSCP_TO_TC_MAP is not applied
SKIPPED [8] qos/test_qos_sai.py:745: This test needs to be revisited later, for the case where src and dst ASICs are different.
SKIPPED [6] qos/test_qos_sai.py:907: Shared Res Size Keys are not found, will be skipping test.
SKIPPED [6] qos/test_qos_sai.py:1281: Lossy Queue Voq test is only supported on cisco-8000 single-asic
SKIPPED [3] qos/test_qos_sai.py:1666: The lossy test is not valid for multiAsic configuration.
SKIPPED [2] qos/test_qos_sai.py:2289: LossyQueueVoqMultiSrc: This test is skipped on multi-asic,since same ingress backplane port will be used on egress asic.
SKIPPED [4] qos/test_qos_sai.py:719: This test is skipped for longlink.
SKIPPED [2] qos/test_qos_sai.py:1131: Skip buffer pool watermark lossless test since port speed cable length is different between src and dst asic
SKIPPED [1] qos/test_qos_sai.py:1800: PGDrop test is not supported for 400G longlink.
SKIPPED [2] qos/test_qos_sai.py:1874: Skip queue watermark lossless test since port speed cable length is different between src and dst asic
SKIPPED [2] qos/test_qos_sai.py:2169: All WM Tests are skipped for multiDUT for cisco platforms.
SKIPPED [1] qos/test_qos_sai.py:2270: This test is skipped for longlink.
SKIPPED [1] qos/test_qos_sai.py:331: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [4] qos/test_qos_sai.py:340: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [4] qos/test_qos_sai.py:613: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [4] qos/test_qos_sai.py:719: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:795: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [2] qos/test_qos_sai.py:907: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:983: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [2] qos/test_qos_sai.py:1092: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:1185: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [2] qos/test_qos_sai.py:1256: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:1362: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [2] qos/test_qos_sai.py:1414: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:1555: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [2] qos/test_qos_sai.py:1628: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:1800: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [2] qos/test_qos_sai.py:1844: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:1928: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [2] qos/test_qos_sai.py:2052: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:2113: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:2169: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [1] qos/test_qos_sai.py:2270: Don't have 2 shortlink frontend nodes - so can't run multi_dut_shortlink_to_shortlinktests
SKIPPED [15] qos/test_qos_sai.py: Unsupported platform or testbed type.
================================================================================ 68 passed, 177 skipped, 1 warning in 17636.88s (4:53:56) ================================================================================

Any platform specific information?

Supported testbed topology if it's a new test case?

Documentation

…ng link card.

Tests have been fixed to handle this specific change of XOFF threshold
@mssonicbld
Copy link
Collaborator

/azp run

@sreejithsreekumaran sreejithsreekumaran marked this pull request as draft January 16, 2025 10:48
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@sreejithsreekumaran sreejithsreekumaran marked this pull request as ready for review January 17, 2025 16:24
@alpeshspatel
Copy link
Contributor

viz: @abdosi @sdszhang

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants