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

[QoS] Dynamic buffer calculation #605

Merged
merged 10 commits into from
Nov 24, 2020

Conversation

stephenxs
Copy link
Collaborator

We're going to improve the way we calculating headroom size. Originally we generate headroom size by looking up the predefined lookup table.
We will have the following groups of parameters

  • List of SONiC configuration (such as speed and cable length)
  • List of pg configuration (such as cell size, IPG, MTU, Peer response time, small packet size percentage)

Based on the parameters and a well-known formula the code in buffer manager will do the calculation and not take it from pre-defined values as we have today.
On top of that, need an ability to override headroom and do not calculate it in the code.

@stephenxs stephenxs marked this pull request as ready for review April 21, 2020 15:27
Stephen Sun and others added 2 commits May 13, 2020 23:05
Signed-off-by: Stephen Sun <stephens@mellanox.com>
Signed-off-by: Stephen Sun <stephens@mellanox.com>
another table and add SAI interface to fetch it.
Stephen Sun and others added 4 commits May 24, 2020 10:54
Add logic of handling buffer related CONFIG_DB
Add definition of lua plugin for calculating headroom and shared buffer pool and for checking legality of the accumulative headroom of a port
Fix typo in well-known formula
Correct the errors in command section.
Fix some minor errors

Signed-off-by: Stephen Sun <stephens@mellanox.com>
Signed-off-by: Stephen Sun <stephens@nvidia.com>
To run lossless traffic on a PG other than 3-4, maps in PORT_QOS_MAP
should also be configured properly, which needs to be done manually.

Signed-off-by: Stephen Sun <stephens@nvidia.com>
@liat-grozovik
Copy link
Collaborator

@neethajohn
As review was done long time ago, feedback provided and updated as well, following CLI improvements during implementation and no additional comments i suggest to merge this one.
Any concerns?

For vendors supporting dynamic buffer calculation,
- newly installed switch run dynamic mode
- upgraded switch with all buffer configuration aligning the default,
  run dynamic mode
- otherwise, run traditional mode

Signed-off-by: Stephen Sun <stephens@nvidia.com>
Signed-off-by: Stephen Sun <stephens@nvidia.com>
@liat-grozovik liat-grozovik merged commit 6bcd97a into sonic-net:master Nov 24, 2020
@stephenxs stephenxs deleted the dynamic-buffer-calculation branch November 24, 2020 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants