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

Leverage the fanout's ASIC to send PFC storm

Open nhe-NV opened this issue 8 months ago • 6 comments

Currently, the PFC storm is sent using packet socket on the host CPU, which causes some drawbacks

  • There is strict timing requirement, which can not be guaranteed
  • The more ports under PFC storm, the higher probability that the timing requirement is not satisfied

We will leverage the fanout's ASIC to send PFC storm

  • Use SDK API to enable lossless traffic, set xoff to 0, and setup mappings for the PGs and the corresponding IEEE priorities

After the change, the pfc related test case which is using onxy as fanout will send the pfc frame with ASIC instead of using the CPU. New docker storm docker need to be build with the Docker file provided in this PR.

Description of PR

Summary: Fixes # (issue)

Type of change

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

Back port request

  • [ ] 201911
  • [ ] 202012
  • [ ] 202205
  • [x] 202305
  • [x] 202311
  • [x] 202405

Approach

What is the motivation for this PR?

To make the pfc related test case much more stable.

How did you do it?

Change sending pfc frame with CPU to ASIC on the onxy fanout.

How did you verify/test it?

Run the pfc related test case on the setup which has onxy fanout, test case could pass stablly.

Any platform specific information?

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

Documentation

nhe-NV avatar Jun 12 '24 02:06 nhe-NV