forked from sonic-net/sonic-buildimage
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enforce the order when the shared headroom pool is enabled (sonic-net…
…#2699) **What I did** Enforce the order when the shared headroom pool is enabled. **Why I did it** The current flow to enable the shared headroom pool 1. Configure the shared headroom pool size or over-subscribe ratio 2. Update lossless buffer profiles with `xon == size` 3. Calculate and update the shared headroom pool size. In step 2, the lossless buffer profiles have been updated to values as if the shared headroom pool is enabled. However, it is enabled only in step 3, which is inconsistent between steps 2 and 3. Therefore, we open the PR to guarantee the order. The new flow 1. A user configures the shared headroom pool size or over-subscribe ratio 2. The dynamic buffer manager invokes the vendor-specific Lua plugin to calculate the shared headroom pool size - This is the step introduced in this PR to guarantee the shared headroom pool will be enabled in advance - On Nvidia platform, a non-zero shared headroom pool is returned in this stage if the user configures the over-subscribe ratio 3. If a non-zero shared headroom pool is returned, the dynamic buffer manager pushes the shared headroom pool size to APPL_DB.ingress_lossless_pool and blocks until it has been updated into APPL_STATE_DB.ingress_lossless_pool (which indicates the buffer orchagent finishes handling it) 4. The buffer manager updates the lossless buffer profiles 5. The buffer manager invokes the Lua plugin to calculate the shared headroom pool size. 6. The flow continues as normal. **How I verified it** Manually test and regression test
- Loading branch information
Showing
7 changed files
with
90 additions
and
5 deletions.
There are no files selected for viewing
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
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
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
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
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
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
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