spec: clarify member/group terminology for action selectors#606
Open
smolkaj wants to merge 2 commits intop4lang:mainfrom
Open
spec: clarify member/group terminology for action selectors#606smolkaj wants to merge 2 commits intop4lang:mainfrom
smolkaj wants to merge 2 commits intop4lang:mainfrom
Conversation
smolkaj
added a commit
to smolkaj/p4runtime
that referenced
this pull request
Apr 10, 2026
Signed-off-by: Steffen Smolka <steffen.smolka@gmail.com>
a5fe887 to
c64c4f7
Compare
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>
c64c4f7 to
73515f2
Compare
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>
Member
Author
|
@matthewtlam PTAL |
Member
Author
|
@jafingerhut in particular -- let me know if this achieves what you were going for. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Engineers call
ActionProfileMember/ActionProfileGroupentries 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_iddescription is clarified (notably: there is noActionSelectorP4Runtime message, contrary to what the previous wording suggested); and the one-shot section opener is tightened and cross-referencesActionSelectionMode.Documentation-only; no protobuf or behavioral changes. Closes #599.
Key sections to eyeball
Table— reworkedimplementation_idbullet, introducing "indirect table" and "group table" as defined terms and directly naming theActionProfilemessage it references.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 forgroup-tableandindirect-tablelive here.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".ActionSelectionMode(added in v1.5.0) as the per-group override mechanism.Preview
P4Runtime-Spec.html