Skip to content

spec: clarify member/group terminology for action selectors#606

Open
smolkaj wants to merge 2 commits intop4lang:mainfrom
smolkaj:issue-599-group-member-terminology
Open

spec: clarify member/group terminology for action selectors#606
smolkaj wants to merge 2 commits intop4lang:mainfrom
smolkaj:issue-599-group-member-terminology

Conversation

@smolkaj
Copy link
Copy Markdown
Member

@smolkaj smolkaj commented Apr 10, 2026

Summary

Engineers call ActionProfileMember/ActionProfileGroup entries members and groups — matching SAI and the OpenFlow terminology tradition — but the spec uses these shorter terms throughout its prose without ever introducing the mapping. Readers new to the API have to infer it themselves.

This PR lands the mapping explicitly via a terminology note and summary table in §9.2, and takes the opportunity to reshape the surrounding prose: §6.4.3 now leads with "group table" as the primary concept rather than building up from pure action profiles; the Table.implementation_id description is clarified (notably: there is no ActionSelector P4Runtime message, contrary to what the previous wording suggested); and the one-shot section opener is tightened and cross-references ActionSelectionMode.

Documentation-only; no protobuf or behavioral changes. Closes #599.

Key sections to eyeball

  • §6.4.1 Table — reworked implementation_id bullet, introducing "indirect table" and "group table" as defined terms and directly naming the ActionProfile message it references.
  • §6.4.3 ActionProfile (for group tables and indirect tables) — restructured intro leads with group tables as the common case; pure action profiles become the simpler variant. Ends with a NOTE admonition about the PSA-vs-P4Info naming caveat. Anchors for group-table and indirect-table live here.
  • §9.2 ActionProfileMember ("member") & ActionProfileGroup ("group") — terminology NOTE explicitly introduces the common vocabulary (crediting SAI and OpenFlow), followed by a summary table mapping each common term to its P4Runtime representation. §9.2.1 and §9.2.2 headings shortened to "Member Programming" / "Group Programming".
  • §9.2.3 one-shot opener — tightened and now references ActionSelectionMode (added in v1.5.0) as the per-group override mechanism.

Preview

P4Runtime-Spec.html

smolkaj added a commit to smolkaj/p4runtime that referenced this pull request Apr 10, 2026
Signed-off-by: Steffen Smolka <steffen.smolka@gmail.com>
@smolkaj smolkaj force-pushed the issue-599-group-member-terminology branch 4 times, most recently from a5fe887 to c64c4f7 Compare April 10, 2026 19:33
Engineers universally call ActionProfileMember/ActionProfileGroup
entries "members" and "groups" — matching SAI usage and the
OpenFlow terminology tradition. The P4Runtime spec uses these
shorter terms throughout its prose, but never introduces the
mapping explicitly, so readers new to the API have to infer it.

Introduce the mapping via a terminology NOTE and summary table in
§9.2, and take the opportunity to restructure the surrounding
prose to lead with "group table" as the primary concept (§6.4.3),
clarify the Table.implementation_id description, and tighten the
one-shot section opener.

Documentation-only; no protobuf or behavioral changes. Closes p4lang#599.

Signed-off-by: Steffen Smolka <steffen.smolka@gmail.com>
@smolkaj smolkaj force-pushed the issue-599-group-member-terminology branch from c64c4f7 to 73515f2 Compare April 10, 2026 19:34
Upstream bumped the copyright year and dropped the
cc_enable_arenas option. Ran ./proto/update_google_rpc_status.sh
to refresh our mirrored copy so the check-google-rpc-status-synced
CI job passes.

Signed-off-by: Steffen Smolka <steffen.smolka@gmail.com>
@smolkaj smolkaj marked this pull request as ready for review April 10, 2026 19:39
@smolkaj
Copy link
Copy Markdown
Member Author

smolkaj commented Apr 10, 2026

@matthewtlam PTAL

@smolkaj smolkaj changed the title spec: introduce "member" and "group" terminology for action selectors spec: clarify member/group terminology for action selectors Apr 10, 2026
@smolkaj
Copy link
Copy Markdown
Member Author

smolkaj commented Apr 10, 2026

@jafingerhut in particular -- let me know if this achieves what you were going for.

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.

Introduce and explain the terms "group" and "member" in the configuration of action selectors

1 participant