Skip to content

[action] [PR:3712] [vs][mirror]: Update test to use the max TC number provided by VS lib#3762

Merged
yejianquan merged 1 commit intosonic-net:202505from
mssonicbld:cherry/202505/3712
Jul 22, 2025
Merged

[action] [PR:3712] [vs][mirror]: Update test to use the max TC number provided by VS lib#3762
yejianquan merged 1 commit intosonic-net:202505from
mssonicbld:cherry/202505/3712

Conversation

@mssonicbld
Copy link
Collaborator

The PR is intended to provide a fix for the change #1957

The old test behavior relies on a hardcoded max TC value of 255. Now it needs to be updated following the SAI_SWITCH_ATTR_QOS_MAX_NUMBER_OF_TRAFFIC_CLASSES attribute implementation in VS lib.

Due to the circular dependency, in order to have clean sonic-sairedis CI,
the current change should be merged first.

DEPENDS:

  1. [trim]: Add Packet Trimming Asym DSCP to VS lib sonic-sairedis#1610

What I did

  • Updated mirror VS test

Why I did it

  • To align the behaviour with a new VS lib implementation

How I verified it

  1. Run VS test
root@sonic: tests# pytest --dvsname=vs --log-cli-level=info -vvv test_mirror_port_span.py
======================================================================== test session starts =========================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /root/work/debug/trim/asym/sonic-swss/tests
plugins: flaky-3.7.0
collected 10 items

test_mirror_port_span.py::TestMirror::test_PortMirrorQueue PASSED                                                                                              [ 10%]
test_mirror_port_span.py::TestMirror::test_PortMirrorAddRemove PASSED                                                                                          [ 20%]
test_mirror_port_span.py::TestMirror::test_PortMirrorMultiSpanAddRemove PASSED                                                                                 [ 30%]
test_mirror_port_span.py::TestMirror::test_PortMirrorPolicerAddRemove PASSED                                                                                   [ 40%]
test_mirror_port_span.py::TestMirror::test_PortMultiMirrorPolicerAddRemove PASSED                                                                              [ 50%]
test_mirror_port_span.py::TestMirror::test_LAGMirrorSpanAddRemove PASSED                                                                                       [ 60%]
test_mirror_port_span.py::TestMirror::test_PortMirrorPolicerWithAcl PASSED                                                                                     [ 70%]
test_mirror_port_span.py::TestMirror::test_PortMirrorLAGPortSpanAddRemove PASSED                                                                               [ 80%]
test_mirror_port_span.py::TestMirror::test_PortLAGMirrorUpdateLAG PASSED                                                                                       [ 90%]
test_mirror_port_span.py::test_nonflaky_dummy PASSED                                                                                                           [100%]

Details if related

  • N/A

A picture of a cute animal (not mandatory but encouraged)

      .---.        .-----------
     /     \  __  /    ------
    / /     \(  )/    -----
   //////   ' \/ `   ---
  //// / // :    : ---
 // /   /  /`    '--
//          //..\\
       ====UU====UU====
           '//||\\`
             ''``

<!--
Please make sure you have read and understood the contribution guildlines:
https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

1. Make sure your commit includes a signature generted with `git commit -s`
2. Make sure your commit title follows the correct format: [component]: description
3. Make sure your commit message contains enough details about the change and related tests
4. Make sure your pull request adds related reviewers, asignees, labels

Please also provide the following information in this pull request:
-->

The PR is intended to provide a fix for the change sonic-net#1957

The old test behavior relies on a hardcoded max TC value of 255. Now it needs to be updated following the `SAI_SWITCH_ATTR_QOS_MAX_NUMBER_OF_TRAFFIC_CLASSES` attribute implementation in VS lib.

Due to the circular dependency, in order to have clean `sonic-sairedis` CI,
the current change should be merged first.

**DEPENDS:**
1. sonic-net/sonic-sairedis#1610

**What I did**
* Updated mirror VS test

**Why I did it**
* To align the behaviour with a new VS lib implementation

**How I verified it**
1. Run VS test
```
root@sonic: tests# pytest --dvsname=vs --log-cli-level=info -vvv test_mirror_port_span.py
======================================================================== test session starts =========================================================================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /root/work/debug/trim/asym/sonic-swss/tests
plugins: flaky-3.7.0
collected 10 items

test_mirror_port_span.py::TestMirror::test_PortMirrorQueue PASSED                                                                                              [ 10%]
test_mirror_port_span.py::TestMirror::test_PortMirrorAddRemove PASSED                                                                                          [ 20%]
test_mirror_port_span.py::TestMirror::test_PortMirrorMultiSpanAddRemove PASSED                                                                                 [ 30%]
test_mirror_port_span.py::TestMirror::test_PortMirrorPolicerAddRemove PASSED                                                                                   [ 40%]
test_mirror_port_span.py::TestMirror::test_PortMultiMirrorPolicerAddRemove PASSED                                                                              [ 50%]
test_mirror_port_span.py::TestMirror::test_LAGMirrorSpanAddRemove PASSED                                                                                       [ 60%]
test_mirror_port_span.py::TestMirror::test_PortMirrorPolicerWithAcl PASSED                                                                                     [ 70%]
test_mirror_port_span.py::TestMirror::test_PortMirrorLAGPortSpanAddRemove PASSED                                                                               [ 80%]
test_mirror_port_span.py::TestMirror::test_PortLAGMirrorUpdateLAG PASSED                                                                                       [ 90%]
test_mirror_port_span.py::test_nonflaky_dummy PASSED                                                                                                           [100%]
```

**Details if related**
* N/A

#### A picture of a cute animal (not mandatory but encouraged)
```
      .---.        .-----------
     /     \  __  /    ------
    / /     \(  )/    -----
   //////   ' \/ `   ---
  //// / // :    : ---
 // /   /  /`    '--
//          //..\\
       ====UU====UU====
           '//||\\`
             ''``
```
@mssonicbld
Copy link
Collaborator Author

Original PR: #3712

@mssonicbld
Copy link
Collaborator Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@yejianquan
Copy link

per @nazariig 's suggestion,

  1. [action] [PR:3712] [vs][mirror]: Update test to use the max TC number provided by VS lib [action] [PR:3712] [vs][mirror]: Update test to use the max TC number provided by VS lib #3762
    https://github.com/sonic-net/sonic-swss/pull/3762
  2. [action] [PR:1610] [trim]: Add Packet Trimming Asym DSCP to VS lib Fix the compiling errors in gcc9 #1621
    https://github.com/sonic-net/sonic-sairedis/pull/1621
    These 2 PR failures are because of circular dependency, so we can ignore the vstest failure and force merge

Copy link

@yejianquan yejianquan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@yejianquan yejianquan merged commit 9dbd983 into sonic-net:202505 Jul 22, 2025
12 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants