Skip to content

[acl] HLD: document ECN_ACTION ACL marking action - #2464

Open
yanmo96 wants to merge 1 commit into
sonic-net:masterfrom
yanmo96:ecn-acl-marking
Open

[acl] HLD: document ECN_ACTION ACL marking action#2464
yanmo96 wants to merge 1 commit into
sonic-net:masterfrom
yanmo96:ecn-acl-marking

Conversation

@yanmo96

@yanmo96 yanmo96 commented Jul 15, 2026

Copy link
Copy Markdown

What I'm doing

Support ACL-based ECN marking for packets selected by UDP source port.

Documents a new ECN_ACTION L3 ACL action in the ACL High Level Design.
ECN_ACTION sets the IP ECN field (the low 2 bits of the IPv4 TOS / IPv6
Traffic Class byte) to a value in [0..3] per RFC 3168, and maps to
SAI_ACL_ENTRY_ATTR_ACTION_SET_ECN. This lets selected traffic (e.g. matched
by an ingress L3/L3V6 rule) be ECN-marked in hardware.

Changes to doc/acl/ACL-High-Level-Design.md

  • Revision table – add row 1.2.
  • §2.1 Functional requirements – add the ECN marking action bullet.
  • §3.1.2.1.2 App DB schema – add the ECN_ACTION = 1DIGIT grammar entry
    (0=Non-ECT, 1=ECT(1), 2=ECT(0), 3=CE).
  • §3.1.2.1.2 Table 5 (actions allowed in the L3 table type) – add the
    ECN_ACTION | uint8_t row.

Documentation only — no code in this repo.

Implementation & tests (separate PRs)

Area Repo PR
aclorch action + default action list + unit tests sonic-swss #4745
YANG ECN_ACTION leaf + Configuration.md + YANG tests sonic-buildimage #28370
acl_loader display support sonic-utilities #4678
ACL test + test plan + SRv6×ECN coexistence test sonic-mgmt #26075

How verified

  • Feature validated on supported platforms:
    control-plane rule shows ECN: 3 Active and the ASIC programs
    SAI_ACL_ENTRY_ATTR_ACTION_SET_ECN = 3.
  • SRv6 uN transit coexistence validated (marking sets the outer ECN; uN
    forwarding is unaffected).

Add the ECN_ACTION L3 ACL action to the ACL High Level Design: a functional
requirement, the App DB ACL Rules Table schema entry, Table 5 (actions allowed
in the L3 table type), and a revision row. ECN_ACTION sets the IP ECN field
(low 2 bits of the IPv4 TOS / IPv6 Traffic Class byte) to a value in [0..3]
per RFC 3168 and maps to SAI_ACL_ENTRY_ATTR_ACTION_SET_ECN.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Yan Mo <andymo96@gmail.com>
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

@yanmo96 yanmo96 self-assigned this Jul 15, 2026
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.

2 participants