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

Combine v4 and v6 L3 ACL rules on optimized platforms #1267

Merged
merged 7 commits into from
May 27, 2023

Conversation

rck-innovium
Copy link
Collaborator

@rck-innovium rck-innovium commented Feb 18, 2023

This document describes the SONiC ACL optimization for using IPv4 ACL rules in L3V6 ACL tables on platforms optimized for this.

Repo PR title State
sonic-swss Combine v4 and v6 L3 ACL rules on optimized platforms Merged
sonic-utilities [acl-loader] Support for ACL table type L3V4V6 Merged
sonic-buildimage Support a new ACL table type called L3V4V6 Merged
sonic-mgmt Test plan for L3V4V6 type ACL table Merged
sonic-mgmt PTF Test for L3V4V6 type ACL table Open

@zhangyanzhao
Copy link
Collaborator

reviewed in community meeting.

@bingwang-ms
Copy link
Contributor

The proposal looks god to me. Actually, I was doing similar investigation as well. I tried to implement same feature with the custom ACL type introduced by this PR sonic-net/sonic-swss#1982. We may define the new ACL table type by configuration without code change,
I also added a test case to verify that sonic-net/sonic-mgmt#6905 .

@venkatmahalingam
Copy link
Collaborator

@zhangyanzhao Please add me as the reviewer.

@ghost
Copy link

ghost commented Feb 21, 2023 via email

@zhangyanzhao
Copy link
Collaborator

@rck-innovium
Copy link
Collaborator Author

The proposal looks god to me. Actually, I was doing similar investigation as well. I tried to implement same feature with the custom ACL type introduced by this PR sonic-net/sonic-swss#1982. We may define the new ACL table type by configuration without code change, I also added a test case to verify that sonic-net/sonic-mgmt#6905 .

Please look at the updated proposal.
On platforms NOT supporting v4 and v6 in a single SAI ACL table, this new L3V4V6 ACL table will be supported by orchagent's special handling. Orchagent would internally create and manage two SAI ACL tables as shown in the right picture below. The operator is agnostic about the underlying ASIC behavior and only sees a consolidated SONiC ACL table.

This needs ACL orchagent changes.

@rck-innovium rck-innovium changed the title Support v4 ACL rules in V6 ACL tables on optimized platforms Combine v4 and v6 L3 ACL rules on optimized platforms Apr 3, 2023
rck-innovium added a commit to rck-innovium/sonic-swss that referenced this pull request Apr 14, 2023
Support a new ACL table type called L3V4V6.
This table supports both v4 and v6 Match types.
Add unit tests for this new ACL table type.

HLD: sonic-net/SONiC#1267

Signed-off-by: Ravi(Marvell) [email protected]
rck-innovium added a commit to rck-innovium/sonic-mgmt-common that referenced this pull request Apr 14, 2023
This table supports both v4 and v6 Match types.

HLD: sonic-net/SONiC#1267

Signed-off-by: Ravi(Marvell) [email protected]
rck-innovium added a commit to rck-innovium/sonic-mgmt-common that referenced this pull request Apr 14, 2023
This table supports both v4 and v6 Match types.

HLD: sonic-net/SONiC#1267

Signed-off-by: Ravi(Marvell) [email protected]
rck-innovium added a commit to rck-innovium/sonic-utilities that referenced this pull request Apr 16, 2023
Support a new ACL table type called L3V4V6.
This table supports both v4 and v6 Match types.
Add unit tests for this new ACL table type.

HLD: sonic-net/SONiC#1267

Signed-off-by: Ravi(Marvell) [email protected]
bingwang-ms
bingwang-ms previously approved these changes Apr 18, 2023
rck-innovium added a commit to rck-innovium/sonic-buildimage that referenced this pull request Apr 22, 2023
This table supports both v4 and v6 Match types.

HLD: sonic-net/SONiC#1267

Signed-off-by: Ravi(Marvell) [email protected]
rck-innovium added a commit to rck-innovium/sonic-swss that referenced this pull request Apr 22, 2023
Support a new ACL table type called L3V4V6.
This table supports both v4 and v6 Match types.
Add unit tests for this new ACL table type.

HLD: sonic-net/SONiC#1267

Signed-off-by: Ravi(Marvell) [email protected]
@rck-innovium rck-innovium requested review from svshah-intel and removed request for svshah-intel April 22, 2023 18:45
rules in L3V6 ACL tables on platforms optimized for this.
Ether-type and IP type is not enforced in SWSS.
The underlying SAI platform handles the case when both of these fields
are not provided.
yxieca pushed a commit to sonic-net/sonic-buildimage that referenced this pull request May 1, 2023
This table supports both v4 and v6 Match types.

HLD: sonic-net/SONiC#1267

Signed-off-by: Ravi(Marvell) [email protected]

Signed-off-by: Ravi(Marvell) [email protected]
rck-innovium added a commit to rck-innovium/sonic-utilities that referenced this pull request May 9, 2023
Support a new ACL table type called L3V4V6.
This table supports both v4 and v6 Match types.
Add unit tests for this new ACL table type.

HLD: sonic-net/SONiC#1267

Signed-off-by: Ravi(Marvell) [email protected]
rck-innovium added a commit to rck-innovium/sonic-utilities that referenced this pull request May 10, 2023
Support a new ACL table type called L3V4V6.
This table supports both v4 and v6 Match types.
Add unit tests for this new ACL table type.

HLD: sonic-net/SONiC#1267

Signed-off-by: Ravi(Marvell) [email protected]
@rck-innovium rck-innovium requested a review from prsunny May 26, 2023 03:21
@prsunny prsunny merged commit 58bb6b9 into sonic-net:master May 27, 2023
prsunny pushed a commit to sonic-net/sonic-utilities that referenced this pull request Jun 5, 2023
Support a new ACL table type called L3V4V6.
This table supports both v4 and v6 Match types.
Add unit tests for this new ACL table type.

HLD: sonic-net/SONiC#1267
pdhruv-marvell pushed a commit to pdhruv-marvell/sonic-utilities that referenced this pull request Aug 23, 2023
Support a new ACL table type called L3V4V6.
This table supports both v4 and v6 Match types.
Add unit tests for this new ACL table type.

HLD: sonic-net/SONiC#1267
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.

6 participants