sonic-mgmt
sonic-mgmt copied to clipboard
[Snappi][ECN] Changing the test and expectations for ECN dequeue testcases for DNX platform.
Description of PR
Changing the test and test expectations for the ECN dequeue test for DNX platform.
Summary: Fixes # (issue) Issue #12903
Type of change
- [ ] Bug fix
- [ ] Testbed and Framework(new/improvement)
- [X] Test case(new/improvement)
Back port request
- [ ] 202012
- [ ] 202205
- [ ] 202305
- [ ] 202311
- [X] 202405
Approach
What is the motivation for this PR?
The original ECN dequeue test case has Kmin and Kmax to 50k and 51k respectively. This leaves only a single packet gap between Kmin and Kmax values (with packet-size of 1024B), and hence difficult to test congestion testcases.
Based on discussion, we changed the test case setting of Kmin and Kmax to 200k and 400k, and sending 5k packets of 1024B.
However, in DNX platform, the egress assigns few credits to the ingress and hence on congestion, the first few packets are never ECN marked. Hence, instead of check for the first packets, there is an offset to check the congested packets.
How did you do it?
Based on the platform - Broadcom-DNX, the kmin, kmax values are set to 200 and 400K respectively and the packets are checked with offset for congestion.
How did you verify/test it?
Verified on 100 and 400Gbps ports on multi-asic platform.
Any platform specific information?
Supported testbed topology if it's a new test case?
Documentation
@selldinesh @kamalsahu0001 can you review this one?
@vmittal-msft . Please help with signoff
@vmittal-msft, could you help with the review/sign off? Thanks.
@kenneth-arista @vmittal-msft to review. J2 may have different values?
The pre-commit check detected issues in the files touched by this pull request. The pre-commit check is a mandatory check, please fix detected issues.
Detailed pre-commit check results:
trim trailing whitespace.................................................Failed
- hook id: trailing-whitespace
- exit code: 1
- files were modified by this hook
Fixing docs/testplan/ecn/ECN_Broadcom_DNX_Test_Cases.md
fix end of files.........................................................Failed
- hook id: end-of-file-fixer
- exit code: 1
- files were modified by this hook
Fixing docs/testplan/ecn/ECN_Broadcom_DNX_Test_Cases.md
check yaml...........................................(no files to check)Skipped
check for added large files..............................................Passed
check python ast.........................................................Passed
flake8...................................................................Passed
flake8...............................................(no files to check)Skipped
check conditional mark sort..........................(no files to check)Skipped
To run the pre-commit checks locally, you can follow below steps:
- Ensure that default python is python3. In sonic-mgmt docker container, default python is python2. You can run the check by activating the python3 virtual environment in sonic-mgmt docker container or outside of sonic-mgmt docker container.
- Ensure that the
pre-commitpackage is installed:
sudo pip install pre-commit
- Go to repository root folder
- Install the pre-commit hooks:
pre-commit install
- Use pre-commit to check staged file:
pre-commit
- Alternatively, you can check committed files using:
pre-commit run --from-ref <commit_id> --to-ref <commit_id>
@alpeshspatel @rraghav-cisco can you test this on cisco platform to see if same test case can be reused?
/azp run
Azure Pipelines successfully started running 1 pipeline(s).
@yatishkoul for viz
Ran the test on Arista T2 Chassis and it passes.
Detailed Logs:
<?xml version="1.0" encoding="utf-8"?><testsuites><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="24" time="21914.606" timestamp="2025-04-23T05:43:58.706461" hostname="sonic-mgmt-yatish-rdma"><properties><property name="topology" value="t2-ixia-2lc-4" /><property name="testbed" value="vms29-t2-7808-ixia" /><property name="timestamp" value="2025-04-23 05:45:55.815755" /><property name="host" value="str2-7804-lc3-1" /><property name="asic" value="broadcom" /><property name="platform" value="x86_64-arista_7800r3ak_36dm2_lc" /><property name="hwsku" value="Arista-7800R3AK-36DM2-C36" /><property name="os_version" value="20240532.20" /></properties><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-25-800]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="1087.750"><properties><property name="start" value="2025-04-23 05:44:30.915673" /><property name="end" value="2025-04-23 06:02:38.667137" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-25-1600]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="586.582"><properties><property name="start" value="2025-04-23 06:02:38.668619" /><property name="end" value="2025-04-23 06:12:25.251762" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-25-2400]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="566.146"><properties><property name="start" value="2025-04-23 06:12:25.253215" /><property name="end" value="2025-04-23 06:21:51.400660" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-50-800]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="940.898"><properties><property name="start" value="2025-04-23 06:21:51.401790" /><property name="end" value="2025-04-23 06:37:32.301242" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-50-1600]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="935.485"><properties><property name="start" value="2025-04-23 06:37:32.302634" /><property name="end" value="2025-04-23 06:53:07.788665" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-50-2400]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="933.083"><properties><property name="start" value="2025-04-23 06:53:07.789815" /><property name="end" value="2025-04-23 07:08:40.874151" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-75-800]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="908.425"><properties><property name="start" value="2025-04-23 07:08:40.875210" /><property name="end" value="2025-04-23 07:23:49.300942" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-75-1600]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="594.008"><properties><property name="start" value="2025-04-23 07:23:49.302324" /><property name="end" value="2025-04-23 07:33:43.311805" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-75-2400]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="913.334"><properties><property name="start" value="2025-04-23 07:33:43.312880" /><property name="end" value="2025-04-23 07:48:56.647757" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-100-800]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="911.001"><properties><property name="start" value="2025-04-23 07:48:56.648974" /><property name="end" value="2025-04-23 08:04:07.651464" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-100-1600]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="927.695"><properties><property name="start" value="2025-04-23 08:04:07.652870" /><property name="end" value="2025-04-23 08:19:35.349286" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info0-port_map0-100-2400]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="944.261"><properties><property name="start" value="2025-04-23 08:19:35.350681" /><property name="end" value="2025-04-23 08:35:19.613341" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-25-800]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="952.384"><properties><property name="start" value="2025-04-23 08:35:19.614530" /><property name="end" value="2025-04-23 08:51:12.000341" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-25-1600]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="932.006"><properties><property name="start" value="2025-04-23 08:51:12.001622" /><property name="end" value="2025-04-23 09:06:44.009412" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-25-2400]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="926.226"><properties><property name="start" value="2025-04-23 09:06:44.010693" /><property name="end" value="2025-04-23 09:22:10.237908" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-50-800]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="938.427"><properties><property name="start" value="2025-04-23 09:22:10.239124" /><property name="end" value="2025-04-23 09:37:48.667048" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-50-1600]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="933.679"><properties><property name="start" value="2025-04-23 09:37:48.668244" /><property name="end" value="2025-04-23 09:53:22.348486" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-50-2400]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="924.080"><properties><property name="start" value="2025-04-23 09:53:22.349594" /><property name="end" value="2025-04-23 10:08:46.430374" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-75-800]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="929.597"><properties><property name="start" value="2025-04-23 10:08:46.431470" /><property name="end" value="2025-04-23 10:24:16.029671" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-75-1600]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="936.675"><properties><property name="start" value="2025-04-23 10:24:16.030762" /><property name="end" value="2025-04-23 10:39:52.706679" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-75-2400]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="946.341"><properties><property name="start" value="2025-04-23 10:39:52.707843" /><property name="end" value="2025-04-23 10:55:39.049739" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-100-800]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="934.920"><properties><property name="start" value="2025-04-23 10:55:39.050902" /><property name="end" value="2025-04-23 11:11:13.972608" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-100-1600]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="930.430"><properties><property name="start" value="2025-04-23 11:11:13.973659" /><property name="end" value="2025-04-23 11:26:44.404722" /></properties></testcase><testcase classname="snappi_tests.ecn.test_multidut_dequeue_ecn_brcm_dnx" name="test_dequeue_ecn[multidut_port_info1-port_map0-100-2400]" file="snappi_tests/ecn/test_multidut_dequeue_ecn_brcm_dnx.py" line="27" time="1348.889"><properties><property name="start" value="2025-04-23 11:26:44.405878" /><property name="CustomMsg" value="{"dut_check_result": {"config_db_check_failed": false, "core_dump_check_failed": true}}" /><property name="end" value="2025-04-23 11:49:13.296042" /></properties></testcase></testsuite></testsuites>
Hi @amitpawar12, Can we resolve the merge conflicts here. Thanks.
@vmittal-msft for vis.
@amitpawar12 please rebase and update comments.
Hi @amitpawar12, Can you please help resolve the conflicts?
@vmittal-msft , @YatishSVC:
I am working on following:
- Adding one more combination to test with default ECN parameters.
- Add changes for the dynamic port selection.
Once done, I will test and rebase with the changes.
Thanks, -A
Created a new pull-request to track this.