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

Fix multi-asic support to PFC config/show #3521

Merged
merged 2 commits into from
Sep 5, 2024

Conversation

arista-hpandya
Copy link
Contributor

What I did

Added multi-asic support to PFC show and config commands by:

  • Adding namespace arg for show and config cmds for pfc
  • Replacing test DB with JSON to support verification of multiple namespaces in unit test
  • Adding unit tests for multi-asic behaviour
  • Adding a test vector file for better test organization

This is a logical successor of #3057 and is a part of the larger efforts to add multi-asic functionality tracked in #15148

How I did it

I used the multi_asic helper functions from sonic_py_common and utilities_common to handle multiple namespaces

How to verify it

There were three stages of verification:

  • Verify the single-asic and multi-asic unit tests for pfc pass
  • Verify the behaviour on a single-asic linecard on a DUT
  • Verify the behaviour on a multi-asic linecard on a DUT

Previous command output (if the output of a command-line utility has changed)

New command output (if the output of a command-line utility has changed)

The namespace argument is the new addition to the pfc command.

Case 1: If namespace is specified in a multi-asic device
Behaviour: We will run the command only on the specified namespace
e.g: pfc show asymmetric --namespace asic0
image

Case 2: If no namespace is specified in a multi-asic device
Behaviour: We will run the command on all namespaces
e.g: pfc show priority
pfc show priority

Case 3: If a namespace is specified in single-asic device (other than default '')
Behaviour: We will raise an invalid argument error
e.g: pfc show asymmetric --namespace asic0
pfc invalid namespace cw

Case 4: If no namespace is specified in single-asic device
Behaviour: We will run it on the only valid namespace - default namespace
e.g: pfc show priority
pfc config prio cw

- Add namespace arg for show and config cmds for pfc
- Replace test DB with JSON to support verification of multiple namespaces in unit test
- Add unit tests for multi-asic behaviour
- Added a test vector file for better test organization
@arista-hpandya arista-hpandya changed the title Add multi-asic support to PFC config/show Fix multi-asic support to PFC config/show Sep 4, 2024
@kenneth-arista
Copy link
Contributor

@vmittal-msft @wenyiz2021 @arlakshm FYI

Copy link
Contributor

@wenyiz2021 wenyiz2021 left a comment

Choose a reason for hiding this comment

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

result pasted in PR description LGTM :shipit:

@wenyiz2021 wenyiz2021 merged commit 785d7bd into sonic-net:master Sep 5, 2024
7 checks passed
@wenyiz2021
Copy link
Contributor

to be cherry pick in 202405, after #3057 is ported to 202405

wenyiz2021 added a commit that referenced this pull request Sep 5, 2024
@vmittal-msft vmittal-msft self-requested a review September 5, 2024 21:04
mssonicbld pushed a commit to mssonicbld/sonic-utilities that referenced this pull request Sep 20, 2024
* Add multi-asic support to pfc

- Add namespace arg for show and config cmds for pfc
- Replace test DB with JSON to support verification of multiple namespaces in unit test
- Add unit tests for multi-asic behaviour
- Added a test vector file for better test organization

* Fix linter errors
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202405: #3550

mssonicbld pushed a commit that referenced this pull request Sep 20, 2024
* Add multi-asic support to pfc

- Add namespace arg for show and config cmds for pfc
- Replace test DB with JSON to support verification of multiple namespaces in unit test
- Add unit tests for multi-asic behaviour
- Added a test vector file for better test organization

* Fix linter errors
@arista-hpandya arista-hpandya deleted the multi_asic_pfc branch September 23, 2024 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants