Skip to content

[trim]: Add Packet Trimming Asym DSCP to VS lib#1610

Merged
kcudnik merged 1 commit intosonic-net:masterfrom
nazariig:master-trim-asym
Jul 3, 2025
Merged

[trim]: Add Packet Trimming Asym DSCP to VS lib#1610
kcudnik merged 1 commit intosonic-net:masterfrom
nazariig:master-trim-asym

Conversation

@nazariig
Copy link
Copy Markdown
Collaborator

@nazariig nazariig commented Jun 12, 2025

Signed-off-by: Nazarii Hnydyn [email protected]

DEPENDS:

  1. [vs][mirror]: Update test to use the max TC number provided by VS lib sonic-swss#3712

HLD: sonic-net/SONiC#1988

Requires SAI API v1.16.1

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

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

@nazariig nazariig requested a review from kcudnik June 12, 2025 15:09
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@nazariig
Copy link
Copy Markdown
Collaborator Author

/azpw run

@mssonicbld
Copy link
Copy Markdown
Collaborator

/AzurePipelines run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@nazariig
Copy link
Copy Markdown
Collaborator Author

/azpw run

@mssonicbld
Copy link
Copy Markdown
Collaborator

/AzurePipelines run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@nazariig
Copy link
Copy Markdown
Collaborator Author

Unstable tests VS tests are:

2025-06-13T10:33:02.4348923Z Running the py test for tests: test_mirror_port_span.py, 3/3...
2025-06-13T10:35:42.3708695Z Running the py test for tests: test_route.py, 3/3...

@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to msft-202412: Azure/sonic-sairedis.msft#68

@mssonicbld
Copy link
Copy Markdown
Collaborator

Cherry-pick PR to 202505: #1621

mssonicbld added a commit to mssonicbld/sonic-swss.msft that referenced this pull request Jul 12, 2025
<!--
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/sonic-swss#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 added a commit to Azure/sonic-swss.msft that referenced this pull request Jul 12, 2025
…#103)

<!--
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/sonic-swss#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
Copy Markdown
Collaborator

@nazariig cherry pick PR didn't pass PR checker. Please check!!!
#1621

mssonicbld added a commit to mssonicbld/sonic-swss that referenced this pull request Jul 14, 2025
<!--
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 added a commit to mssonicbld/sonic-swss that referenced this pull request Jul 15, 2025
Signed-off-by: Nazarii Hnydyn <[email protected]>

<!--
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:
-->

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

**HLD:** sonic-net/SONiC#1988

**What I did**
* Implemented Packet Trimming Asymmetric DSCP feature

**Why I did it**
* Implementation is done according to the Packet Trimming Asymmetric DSCP HLD

**How I verified it**
1. Run Packet Trimming VS UTs

**Details if related**
* N/A

#### A picture of a cute animal (not mandatory but encouraged)
```
      .---.        .-----------
     /     \  __  /    ------
    / /     \(  )/    -----
   //////   ' \/ `   ---
  //// / // :    : ---
 // /   /  /`    '--
//          //..\\
       ====UU====UU====
           '//||\\`
             ''``
```
mssonicbld added a commit to sonic-net/sonic-swss that referenced this pull request Jul 15, 2025
Signed-off-by: Nazarii Hnydyn <[email protected]>

<!--
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:
-->

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

**HLD:** sonic-net/SONiC#1988

**What I did**
* Implemented Packet Trimming Asymmetric DSCP feature

**Why I did it**
* Implementation is done according to the Packet Trimming Asymmetric DSCP HLD

**How I verified it**
1. Run Packet Trimming VS UTs

**Details if related**
* N/A

#### A picture of a cute animal (not mandatory but encouraged)
```
 .---. .-----------
 / \ __ / ------
 / / \( )/ -----
 ////// ' \/ ` ---
 //// / // : : ---
 // / / /` '--
// //..\\
 ====UU====UU====
 '//||\\`
 ''``
```
stepanblyschak pushed a commit to stepanblyschak/sonic-swss that referenced this pull request Jul 31, 2025
<!--
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 added a commit to mssonicbld/sonic-swss.msft that referenced this pull request Aug 3, 2025
Signed-off-by: Nazarii Hnydyn <[email protected]>

<!--
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:
-->

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

**HLD:** sonic-net/SONiC#1988

**What I did**
* Implemented Packet Trimming Asymmetric DSCP feature

**Why I did it**
* Implementation is done according to the Packet Trimming Asymmetric DSCP HLD

**How I verified it**
1. Run Packet Trimming VS UTs

**Details if related**
* N/A

#### A picture of a cute animal (not mandatory but encouraged)
```
      .---.        .-----------
     /     \  __  /    ------
    / /     \(  )/    -----
   //////   ' \/ `   ---
  //// / // :    : ---
 // /   /  /`    '--
//          //..\\
       ====UU====UU====
           '//||\\`
             ''``
```
prabhataravind pushed a commit to Azure/sonic-swss.msft that referenced this pull request Aug 4, 2025
Signed-off-by: Nazarii Hnydyn <[email protected]>

<!--
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:
-->

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

**HLD:** sonic-net/SONiC#1988

**What I did**
* Implemented Packet Trimming Asymmetric DSCP feature

**Why I did it**
* Implementation is done according to the Packet Trimming Asymmetric DSCP HLD

**How I verified it**
1. Run Packet Trimming VS UTs

**Details if related**
* N/A

#### A picture of a cute animal (not mandatory but encouraged)
```
      .---.        .-----------
     /     \  __  /    ------
    / /     \(  )/    -----
   //////   ' \/ `   ---
  //// / // :    : ---
 // /   /  /`    '--
//          //..\\
       ====UU====UU====
           '//||\\`
             ''``
```
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.

5 participants