sonic-mgmt icon indicating copy to clipboard operation
sonic-mgmt copied to clipboard

[Snappi][ECN] Changing the test and expectations for ECN dequeue testcases for DNX platform.

Open amitpawar12 opened this issue 1 year ago • 2 comments

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

amitpawar12 avatar Jun 28 '24 01:06 amitpawar12

@selldinesh @kamalsahu0001 can you review this one?

sdszhang avatar Jul 04 '24 00:07 sdszhang

@vmittal-msft . Please help with signoff

abdosi avatar Jul 10 '24 23:07 abdosi

@vmittal-msft, could you help with the review/sign off? Thanks.

sdszhang avatar Jul 17 '24 10:07 sdszhang

@kenneth-arista @vmittal-msft to review. J2 may have different values?

sdszhang avatar Jul 17 '24 23:07 sdszhang

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:

  1. 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.
  2. Ensure that the pre-commit package is installed:
sudo pip install pre-commit
  1. Go to repository root folder
  2. Install the pre-commit hooks:
pre-commit install
  1. Use pre-commit to check staged file:
pre-commit
  1. Alternatively, you can check committed files using:
pre-commit run --from-ref <commit_id> --to-ref <commit_id>

mssonicbld avatar Oct 04 '24 20:10 mssonicbld

@alpeshspatel @rraghav-cisco can you test this on cisco platform to see if same test case can be reused?

sdszhang avatar Oct 17 '24 00:10 sdszhang

/azp run

mssonicbld avatar Jan 30 '25 14:01 mssonicbld

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Jan 30 '25 14:01 azure-pipelines[bot]

@yatishkoul for viz

sdszhang avatar Mar 19 '25 23:03 sdszhang

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="{&quot;dut_check_result&quot;: {&quot;config_db_check_failed&quot;: false, &quot;core_dump_check_failed&quot;: true}}" /><property name="end" value="2025-04-23 11:49:13.296042" /></properties></testcase></testsuite></testsuites>

YatishSVC avatar Apr 23 '25 17:04 YatishSVC

Hi @amitpawar12, Can we resolve the merge conflicts here. Thanks.

@vmittal-msft for vis.

YatishSVC avatar May 07 '25 18:05 YatishSVC

@amitpawar12 please rebase and update comments.

vmittal-msft avatar May 20 '25 19:05 vmittal-msft

Hi @amitpawar12, Can you please help resolve the conflicts?

YatishSVC avatar Jun 05 '25 18:06 YatishSVC

@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

amitpawar12 avatar Jun 05 '25 21:06 amitpawar12

Created a new pull-request to track this.

amitpawar12 avatar Jun 11 '25 14:06 amitpawar12