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

[sonic-mgmt-docker-image] Support ptf dataplane packet poll with multiple ptf nn agents connection #21070

Merged
merged 7 commits into from
Jan 19, 2025

Conversation

w1nda
Copy link
Member

@w1nda w1nda commented Dec 6, 2024

Why I did it

When testing sonic with ptf dataplane connecting multiple ptf nn agents, some cases will fail because of packets queue in ptf were not polled thoroughly. This is a bug or missing feature in ptf: p4lang/ptf#207
as a short term quick fix, this PR will patch the ptf-py3 package and unblock our qualification process.

Work item tracking
  • Microsoft ADO (number only):

How I did it

Support poll all devices in ptf dataplane.

How to verify it

Run tests using ptf dataplane on testbed

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211
  • 202305

Tested branch (Please provide the tested image version)

Description for the changelog

Link to config_db schema for YANG module changes

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

@w1nda w1nda requested a review from lguohan as a code owner December 6, 2024 07:56
@w1nda w1nda requested review from Blueve and r12f and removed request for lguohan December 6, 2024 07:56
@w1nda
Copy link
Member Author

w1nda commented Dec 11, 2024

/azpw ms_conflict

@w1nda
Copy link
Member Author

w1nda commented Dec 11, 2024

/azp ms_conflict

Copy link

Command 'ms_conflict' is not supported by Azure Pipelines.

Supported commands
  • help:
    • Get descriptions, examples and documentation about supported commands
    • Example: help "command_name"
  • list:
    • List all pipelines for this repository using a comment.
    • Example: "list"
  • run:
    • Run all pipelines or specific pipelines for this repository using a comment. Use this command by itself to trigger all related pipelines, or specify specific pipelines to run.
    • Example: "run" or "run pipeline_name, pipeline_name, pipeline_name"
  • where:
    • Report back the Azure DevOps orgs that are related to this repository and org
    • Example: "where"

See additional documentation.

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@w1nda w1nda force-pushed the patch-ptf-for-multi-nn-agents branch from 859c514 to 13def8a Compare December 18, 2024 07:16
@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@w1nda w1nda removed request for qiluo-msft and xumia December 18, 2024 07:17
@w1nda w1nda changed the title [ptf-py3] Support ptf dataplane packet poll with multiple ptf nn agents connection [sonic-mgmt-docker-image] Support ptf dataplane packet poll with multiple ptf nn agents connection Dec 23, 2024
@mssonicbld
Copy link
Collaborator

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Contributor

@r12f r12f left a comment

Choose a reason for hiding this comment

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

looks straight-forward enough, just taking device into account as well as the port. signed off.

@lguohan lguohan merged commit a42cff3 into sonic-net:master Jan 19, 2025
22 checks passed
VladimirKuk pushed a commit to Marvell-switching/sonic-buildimage that referenced this pull request Jan 21, 2025
…iple ptf nn agents connection (sonic-net#21070)

When testing sonic with ptf dataplane connecting multiple ptf nn agents, some cases will fail because of packets queue in ptf were not polled thoroughly. This is a bug or missing feature in ptf: p4lang/ptf#207
as a short term quick fix, this PR will patch the ptf-py3 package and unblock our qualification process
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to msft-202412: Azure/sonic-buildimage-msft#535

BYGX-wcr pushed a commit to BYGX-wcr/sonic-buildimage that referenced this pull request Jan 21, 2025
…iple ptf nn agents connection (sonic-net#21070)

When testing sonic with ptf dataplane connecting multiple ptf nn agents, some cases will fail because of packets queue in ptf were not polled thoroughly. This is a bug or missing feature in ptf: p4lang/ptf#207
as a short term quick fix, this PR will patch the ptf-py3 package and unblock our qualification process
mssonicbld added a commit to mssonicbld/sonic-mgmt.msft that referenced this pull request Feb 28, 2025
… servers

<!--
Please make sure you've read and understood our contributing guidelines;
https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md

Please provide following information to help code review process a bit easier:
-->
### Description of PR
<!--
- Please include a summary of the change and which issue is fixed.
- Please also include relevant motivation and context. Where should reviewer start? background context?
- List any dependencies that are required for this change.
-->

Summary:
Fixes # (issue)
To leverage the servers instead of a single server for deploying a single testbed, we proposal this design for deploying testbeds with multiple servers.

Related PRs:
| PR title | State | Context |
| ------ | ------ | -------|
| [[testbed-cli] Code change on add-topo and deploy-minigraph for deploying testbed with peers on multiple servers](sonic-net/sonic-mgmt#15643) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/15643) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/15643) |
| [[Pending #15643][testbed] ptf data plane connection for multi-servers testbed](sonic-net/sonic-mgmt#15881) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/15881) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/15881) |
| [[sonic-mgmt-docker-image] Support ptf dataplane packet poll with multiple ptf nn agents connection](sonic-net/sonic-buildimage#21070)  | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-buildimage/21070) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-buildimage/21070) |
### Type of change

<!--
- Fill x for your type of change.
- e.g.
- [x] Bug fix
-->

- [ ] Bug fix
- [ ] Testbed and Framework(new/improvement)
- [ ] Test case(new/improvement)

### Back port request
- [ ] 202012
- [ ] 202205
- [ ] 202305
- [ ] 202311
- [ ] 202405

### Approach
#### What is the motivation for this PR?
When deploying a testbed with a vast number of virtual ceos neighbors, we will create ceos containers on same server, however, the server doesn't have infinite resources such as memory to deploy that.
To leverage the servers instead of a single server, we proposal this design for deploying testbeds with multiple servers.
#### How did you do it?
Design for deploying testbed with multiple servers.
#### How did you verify/test it?

#### Any platform specific information?

#### Supported testbed topology if it's a new test case?

### Documentation
<!--
(If it's a new feature, new test case)
Did you update documentation/Wiki relevant to your implementation?
Link to the wiki page?
-->
mssonicbld added a commit to Azure/sonic-mgmt.msft that referenced this pull request Feb 28, 2025
… servers (#125)

<!--
Please make sure you've read and understood our contributing guidelines;
https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md

Please provide following information to help code review process a bit easier:
-->
### Description of PR
<!--
- Please include a summary of the change and which issue is fixed.
- Please also include relevant motivation and context. Where should reviewer start? background context?
- List any dependencies that are required for this change.
-->

Summary:
Fixes # (issue)
To leverage the servers instead of a single server for deploying a single testbed, we proposal this design for deploying testbeds with multiple servers.

Related PRs:
| PR title | State | Context |
| ------ | ------ | -------|
| [[testbed-cli] Code change on add-topo and deploy-minigraph for deploying testbed with peers on multiple servers](sonic-net/sonic-mgmt#15643) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/15643) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/15643) |
| [[Pending #15643][testbed] ptf data plane connection for multi-servers testbed](sonic-net/sonic-mgmt#15881) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-mgmt/15881) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-mgmt/15881) |
| [[sonic-mgmt-docker-image] Support ptf dataplane packet poll with multiple ptf nn agents connection](sonic-net/sonic-buildimage#21070) | ![state](https://img.shields.io/github/pulls/detail/state/sonic-net/sonic-buildimage/21070) | ![context](https://img.shields.io/github/status/contexts/pulls/sonic-net/sonic-buildimage/21070) |
### Type of change

<!--
- Fill x for your type of change.
- e.g.
- [x] Bug fix
-->

- [ ] Bug fix
- [ ] Testbed and Framework(new/improvement)
- [ ] Test case(new/improvement)

### Back port request
- [ ] 202012
- [ ] 202205
- [ ] 202305
- [ ] 202311
- [ ] 202405

### Approach
#### What is the motivation for this PR?
When deploying a testbed with a vast number of virtual ceos neighbors, we will create ceos containers on same server, however, the server doesn't have infinite resources such as memory to deploy that.
To leverage the servers instead of a single server, we proposal this design for deploying testbeds with multiple servers.
#### How did you do it?
Design for deploying testbed with multiple servers.
#### How did you verify/test it?

#### Any platform specific information?

#### Supported testbed topology if it's a new test case?

### Documentation
<!--
(If it's a new feature, new test case)
Did you update documentation/Wiki relevant to your implementation?
Link to the wiki page?
-->
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.

4 participants