-
Notifications
You must be signed in to change notification settings - Fork 549
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
[pfcwd] Enhance DLR_INIT based recovery and DLR_PACKET_ACTION for broadcom platforms #2807
Conversation
Signed-off-by: Neetha John <[email protected]>
Signed-off-by: Neetha John <[email protected]>
orchagent/pfcwdorch.cpp
Outdated
@@ -238,11 +238,11 @@ task_process_status PfcWdOrch<DropHandler, ForwardHandler>::createEntry(const st | |||
{ | |||
if(gSwitchOrch->checkPfcDlrInitEnable()) | |||
{ | |||
if(getPfcDlrPacketAction() == PfcWdAction::PFC_WD_ACTION_UNKNOWN) | |||
if((getPfcDlrPacketAction() == PfcWdAction::PFC_WD_ACTION_UNKNOWN) || m_pfcwd_ports.empty()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this check on line 228? (action == PfcWdAction::PFC_WD_ACTION_UNKNOWN)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The action value is initialized to unknown. This check was initially there to set the action for the first port and compare subsequent port actions and disallow if they do not match. The check is not needed anymore with the introduction of the 'm_pfcwd_ports' variable. Will remove that
Signed-off-by: Neetha John <[email protected]>
…adcom platforms (#2807) Signed-off-by: Neetha John <[email protected]> What I did This PR contains the following changes * for brcm platforms that support DLR_INIT based recovery, use that method for both drop and forward action * While using DLR_INIT based recovery, do not update the pfc bitmask for that port * Update the logic to handle allowing drop/forward action on all ports without requiring a restart of swss * Mock tests for DLR_INIT and DLR_PACKET action Why I did it To provide support for DLR_INIT based pfcwd recovery on broadcom platforms in certain roles How I verified it * Mock tests * Tested on various brcm platforms (TD3 dual tor, Th2 T1, TD3 single tor) with a custom swss deb along with updated bcm config and verified that the pfcwd recovery mechanism is as expected on 202205 * Tested on td3 dual tor with custom deb along with updated bcm config and verified functionality working fine on internal branch
…adcom platforms (sonic-net#2807) Signed-off-by: Neetha John <[email protected]> What I did This PR contains the following changes * for brcm platforms that support DLR_INIT based recovery, use that method for both drop and forward action * While using DLR_INIT based recovery, do not update the pfc bitmask for that port * Update the logic to handle allowing drop/forward action on all ports without requiring a restart of swss * Mock tests for DLR_INIT and DLR_PACKET action Why I did it To provide support for DLR_INIT based pfcwd recovery on broadcom platforms in certain roles How I verified it * Mock tests * Tested on various brcm platforms (TD3 dual tor, Th2 T1, TD3 single tor) with a custom swss deb along with updated bcm config and verified that the pfcwd recovery mechanism is as expected on 202205 * Tested on td3 dual tor with custom deb along with updated bcm config and verified functionality working fine on internal branch
What I did
This PR contains the following changes
Why I did it
To provide support for DLR_INIT based pfcwd recovery on broadcom platforms in certain roles
How I verified it
Mock tests
Tested on various brcm platforms (TD3 dual tor, Th2 T1, TD3 single tor) with a custom swss deb along with updated bcm config and verified that the pfcwd recovery mechanism is as expected on 202205
Tested on td3 dual tor with custom deb along with updated bcm config and verified functionality working fine on internal branch
MSFT ADO: 17983504