-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[Dynamic buffer calc] Support dynamic buffer calculation #4881
Merged
liat-grozovik
merged 7 commits into
sonic-net:master
from
stephenxs:dynamic-buffer-calculation
Dec 8, 2020
Merged
[Dynamic buffer calc] Support dynamic buffer calculation #4881
liat-grozovik
merged 7 commits into
sonic-net:master
from
stephenxs:dynamic-buffer-calculation
Dec 8, 2020
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
stephenxs
changed the title
[Dynamic buffer calculation] Support dynamic buffer calculation
[Dynamic buffer calc] Support dynamic buffer calculation
Aug 6, 2020
stephenxs
force-pushed
the
dynamic-buffer-calculation
branch
from
August 14, 2020 11:35
761bdf3
to
b4ccbf7
Compare
neethajohn
reviewed
Sep 10, 2020
device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t0.j2
Outdated
Show resolved
Hide resolved
device/mellanox/x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t1.j2
Outdated
Show resolved
Hide resolved
src/sonic-config-engine/tests/sample_output/buffers-dell6100.json
Outdated
Show resolved
Hide resolved
Can you also include testcases to ensure that the asic_table.j2 and peripheral_table.j2 are rendered properly? |
stephenxs
force-pushed
the
dynamic-buffer-calculation
branch
from
September 12, 2020 10:52
16c9c53
to
562a274
Compare
stephenxs
force-pushed
the
dynamic-buffer-calculation
branch
from
October 19, 2020 10:19
6831a8d
to
8f47ae7
Compare
neethajohn
reviewed
Nov 18, 2020
stephenxs
force-pushed
the
dynamic-buffer-calculation
branch
from
November 19, 2020 00:12
c6cd763
to
aa6c631
Compare
neethajohn
previously approved these changes
Nov 20, 2020
1. add tables required for the feature: - ASIC_TABLE in platform/mellanox/asic_table.j2 (Mellanox specific) - PERIPHERAL_TABLE in platform/mellanox/peripheral_table.j2 (Mellanox specific) - PORT_PERIPHERAL_TABLE on a per-platform basis in device/mellanox/x86_64-mlnx_msn3800-r0/port_peripheral_config.j2 (Mellanox specific) - DEFAULT_LOSSLESS_BUFFER_PARAMETER and LOSSLESS_TRAFFIC_PATTERN in files/build_templates/buffers_config.j2 - Add lossless PGs (3-4) for each port in files/build_templates/buffers_config.j2 2. copy the newly introduced j2 files into image and rendering them when system starts 3. update the CLI options for buffermgrd so that it can start with dynamic mode 4. Adjust the order in which swss daemons start, making buffermgrd start before orchagent. This is to make sure buffermgrd can get everything ready before orchagent starts especially during warm reboot. 5. Optimize the way in which orchagent fetches the asic vendor name: - fetch the vendor name when creates the docker and pass it as a docker environment variable - orchagent and buffermgrd can use this passed-in variable 6. Clear buffer related tables from STATE_DB when swss docker starts 7. Update the src/sonic-config-engine/tests/sample_output/buffers-dell6100.json according to the buffer_config.j2 8. Remove buffer pool sizes for ingress pools and egress_lossy_pool Update the buffer settings for dynamic buffer calculation Signed-off-by: Stephen Sun <[email protected]>
1. If all the buffer configuration aligns the default, use dynamic buffer calculation mode. Otherwise, use the traditional mode 2. Dynamic mode is adopted in switches newly installed from scratch and traditional mode in switches installed from ninigraph This is done by: - introducing a wrapper to buffermgrd, which enables it to test which mode is adopted and feed buffermgrd with corresponding CLI arguments - preparing default buffer configuration templates for both dynamic and traditional mode for each SKU - introduce "buffer_model" in DEVICE_METADATA|localhost for mellanox platform Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
- For Mellanox, dynamic by default - For other vendors, traditional mode. Signed-off-by: Stephen Sun <[email protected]>
Signed-off-by: Stephen Sun <[email protected]>
…able Signed-off-by: Stephen Sun <[email protected]>
stephenxs
force-pushed
the
dynamic-buffer-calculation
branch
from
December 6, 2020 14:29
aa6c631
to
7e6bc5d
Compare
neethajohn
reviewed
Dec 7, 2020
Signed-off-by: Stephen Sun <[email protected]>
neethajohn
approved these changes
Dec 8, 2020
retest this, please |
This PR is wrong merged and we manually remove the commit from master branch. Discussing with PR owner to submit another one. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
- Why I did it
To support dynamic buffer calculation.
This PR also depends on the following PRs for sub modules
- How I did it
This is to make sure buffermgrd can get everything ready before orchagent starts especially during warm reboot.
Update the buffer settings for dynamic buffer calculation
Signed-off-by: Stephen Sun [email protected]
- How to verify it
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)