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

Use shared egress ACL table for PFCWD in BRCM DNX platform #3136

Merged
merged 19 commits into from
Jun 28, 2024

Conversation

ysmanman
Copy link
Contributor

@ysmanman ysmanman commented May 7, 2024

Today PFCWD uses separate egress ACL tables, one table for each traffic class. This may result in ACL resource overflow when other features that also need egress ACL table is enabled at the same time, e.g., MACSEC. ( See sonic-net/sonic-buildimage#17839 for details).

The fix is to use shared egress ACL table for PFCWD in BRCM DNX platform.

What I did

Why I did it

How I verified it

Details if related

@ysmanman ysmanman requested a review from prsunny as a code owner May 7, 2024 17:02
@ysmanman
Copy link
Contributor Author

ysmanman commented May 7, 2024

Add @kenneth-arista @arlakshm @vmittal-msft for viz.

@arlakshm
Copy link
Contributor

arlakshm commented May 8, 2024

Please add UT.

@arlakshm
Copy link
Contributor

arlakshm commented May 8, 2024

Sai changes still now complete. These are sonic changes for this functionality change. PR to be merged after the SAI changes are integrated.

@arlakshm arlakshm requested a review from vmittal-msft May 8, 2024 17:10
@arlakshm
Copy link
Contributor

arlakshm commented May 8, 2024

@saksarav-nokia

@ysmanman ysmanman force-pushed the pfcwd-shared-egress-acl branch from 19bb34b to 936088c Compare May 13, 2024 22:00
@vmittal-msft vmittal-msft self-assigned this May 15, 2024
@vmittal-msft vmittal-msft requested a review from neethajohn May 15, 2024 17:11
Copy link
Contributor

@vmittal-msft vmittal-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes looks fine.

  1. Can you please share all the test run results to verify this functionality? Manual, sonic-mgmt, ixia tests etc
  2. Please share syslog message change due to this. current/new both.
  3. Please test with/without mac sec enabled ports.
  4. Also, please post results from pizzabox.
  5. Are these swss changes complete or expecting more after applying second patch from BRCM ?
  6. Please make sure to verify pfcwd drop counters to make sure they are still reporting drops.

Thanks
Vineet

@vmittal-msft
Copy link
Contributor

Also, please add test cases to cover changes.

ysmanman added 2 commits May 28, 2024 09:45
Today PFCWD uses separate egress ACL tables, one table for each traffic class.
This may result in ACL resource overflow when other features that also need
egress ACL table is enabled at the same time, e.g., MACSEC. ( See
sonic-net/sonic-buildimage#17839 for details).

The fix is to use shared egress ACL table for PFCWD in BRCM DNX platform.
…o switch.

Implement the requirement in aclorch.
@ysmanman ysmanman force-pushed the pfcwd-shared-egress-acl branch from 603bd2d to f1535fc Compare May 28, 2024 16:45
@ysmanman
Copy link
Contributor Author

The test added in this PR depends on sonic-net/sonic-buildimage#19108

@ysmanman
Copy link
Contributor Author

Changes looks fine.

  1. Can you please share all the test run results to verify this functionality? Manual, sonic-mgmt, ixia tests etc
  2. Please share syslog message change due to this. current/new both.
  3. Please test with/without mac sec enabled ports.
  4. Also, please post results from pizzabox.
  5. Are these swss changes complete or expecting more after applying second patch from BRCM ?
  6. Please make sure to verify pfcwd drop counters to make sure they are still reporting drops.

Thanks Vineet

Changes looks fine.

  1. Can you please share all the test run results to verify this functionality? Manual, sonic-mgmt, ixia tests etc

We completed the testing with ixia, and shared egress acl worked fine without seeing any issue.

  1. Please share syslog message change due to this. current/new both.

The change adds the following new syslog when binging eress ACL table to switch:

May 22 17:34:39.194760 cmp329-6 NOTICE swss0#orchagent: :- bindEgrAclTableToSwitch: Bind egress acl table EgressTable_PfcWdAclHandler_Drop to switch
  1. Please test with/without mac sec enabled ports.

Yes, we tested PFCWD alone and also PFCWD + MACsec.

  1. Also, please post results from pizzabox.

We will provide the result when the testing is done.

  1. Are these swss changes complete or expecting more after applying second patch from BRCM ?

The swss change is complete.

  1. Please make sure to verify pfcwd drop counters to make sure they are still reporting drops.

Yes, the drop counters worked fine.

Thanks Vineet

@ysmanman
Copy link
Contributor Author

Also, please add test cases to cover changes.

Also, please add test cases to cover changes.

Hi @vmittal-msft, test was added.

@ysmanman
Copy link
Contributor Author

Hi @vmittal-msft , the test in this PR depends on sonic-net/sonic-buildimage#19108.

@vmittal-msft
Copy link
Contributor

@ysmanman please check comments and re-base.

@ysmanman
Copy link
Contributor Author

@kperumalbfn , kindly review. @ysmanman , do you've plans to fix coverage?

Hi @prsunny , I chatted with @vmittal-msft yesterday about the code coverage issue. The missing code coverage was due to existing code not providing any code coverage for PfcWdAclHandler. So this is a test gap in current code. My PR unfortunately hit the test gap in coverage check. We need to fix the gap here. @vmittal-msft was suggesting to merge the PR first since the PR is required by 202405 and 202205 release, and then fixed coverage separately.

@prsunny
Copy link
Collaborator

prsunny commented Jun 25, 2024

@kperumalbfn , kindly review. @ysmanman , do you've plans to fix coverage?

Hi @prsunny , I chatted with @vmittal-msft yesterday about the code coverage issue. The missing code coverage was due to existing code not providing any code coverage for PfcWdAclHandler. So this is a test gap in current code. My PR unfortunately hit the test gap in coverage check. We need to fix the gap here. @vmittal-msft was suggesting to merge the PR first since the PR is required by 202405 and 202205 release, and then fixed coverage separately.

ok, we can take that separately. waiting for reviewers to sign-off

Copy link
Contributor

@kperumalbfn kperumalbfn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@vmittal-msft
Copy link
Contributor

@ysmanman please re-base.

@prsunny prsunny merged commit b02181a into sonic-net:master Jun 28, 2024
16 of 17 checks passed
mssonicbld pushed a commit to mssonicbld/sonic-swss that referenced this pull request Aug 2, 2024
…#3136)

* Use shared egress ACL table for PFCWD in BRCM DNX platform.

Today PFCWD uses separate egress ACL tables, one table for each traffic class.
This may result in ACL resource overflow when other features that also need
egress ACL table is enabled at the same time, e.g., MACSEC. ( See
sonic-net/sonic-buildimage#17839 for details).

The fix is to use shared egress ACL table for PFCWD in BRCM DNX platform.
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202405: #3250

mssonicbld pushed a commit that referenced this pull request Aug 3, 2024
* Use shared egress ACL table for PFCWD in BRCM DNX platform.

Today PFCWD uses separate egress ACL tables, one table for each traffic class.
This may result in ACL resource overflow when other features that also need
egress ACL table is enabled at the same time, e.g., MACSEC. ( See
sonic-net/sonic-buildimage#17839 for details).

The fix is to use shared egress ACL table for PFCWD in BRCM DNX platform.
zbud-msft added a commit to renukamanavalan/sonic-swss that referenced this pull request Oct 1, 2024
@bingwang-ms
Copy link
Contributor

@ysmanman The new test test_pfcwd_shared_egress_acl_table.py is consistently failing on 202405 branch. Can you please help check?


        """Run `polling_function` periodically using the specified `polling_config`.
    
        Args:
            polling_function: The function being polled. The function cannot take any arguments and
                must return a status which indicates if the function was succesful or not, as well as
                some return value.
            polling_config: The parameters to use to poll the polling function.
            failure_message: The message to print if the call times out. This will only take effect
                if the PollingConfig is set to strict.
    
        Returns:
            If the polling function succeeds, then this method will return True and the output of the
            polling function.
    
            If it does not succeed within the provided timeout, it will return False and whatever the
            output of the polling function was on the final attempt.
        """
        for _ in range(polling_config.iterations()):
            status, result = polling_function()
    
            if status:
                return (True, result)
    
            time.sleep(polling_config.polling_interval)
    
        if polling_config.strict:
            message = failure_message or f"Operation timed out after {polling_config.timeout} seconds with result {result}"
>           assert False, message
E           AssertionError: Operation timed out after 600 seconds with result None

shiraez pushed a commit to Marvell-switching/sonic-swss that referenced this pull request Feb 17, 2025
…#3136)

* Use shared egress ACL table for PFCWD in BRCM DNX platform.

Today PFCWD uses separate egress ACL tables, one table for each traffic class.
This may result in ACL resource overflow when other features that also need
egress ACL table is enabled at the same time, e.g., MACSEC. ( See
sonic-net/sonic-buildimage#17839 for details).

The fix is to use shared egress ACL table for PFCWD in BRCM DNX platform.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

9 participants