[P4-arch] Call for comments on PSA spec version 1.1, planned for release 2018-Nov-21

Andy Fingerhut andy.fingerhut at gmail.com
Wed Nov 14 12:56:21 EST 2018


We have received no comments on the latest version of the PSA specification
during the past week.  We are still open for comments on that version until
2018-Nov-21, seven days from today, and if we are able to resolve all
comments by that day, still plan to release the latest draft as PSA version
1.1 on that day.

See the email I am replying to for further details.

Regards,
Calin Cascaval & Andy Fingerhut


On Tue, Nov 6, 2018 at 6:17 PM Andy Fingerhut <andy.fingerhut at gmail.com>
wrote:

> The latest version of the PSA specification can be viewed here, at the
> HTML or PDF links after 'working draft' under the heading "P4_16 PSA":
>
>     https://p4.org/specs/
>
> PSA version 1.0 was released on March 1, 2018.  Today we begin a two
> week review period where we invite interested people to read it and
> bring up any issues they discover.  If the only issues found can be
> quickly resolved, we plan to release PSA version 1.1 on November 21,
> 2018.
>
> If you do find any issues, or have any questions about the spec,
> please send an email to the p4-arch at lists.p4.org email list, or create
> an issue on the p4-spec Github repository with "PSA" in the title.
>
>     https://github.com/p4lang/p4-spec/issues
>
>
> Below is a list changes made since version 1.0, and where you can read
> more about those changes.
>
>
> # PSA specification document changes
>
>
> ## Numeric translation between P4Runtime API values and data plane values
>
> There was a series of meetings after PSA v1.0 was released to refine
> the details of the plan to do numeric translation of values with type
> PortId_t (and ClassOfService_t, and optionally other types in the
> future).  PSA v1.1 reflects the latest design for how to accomplish
> this.  Changes can be found here:
>
> + Section 4.1 "PSA type definitions"
> + Section 4.4 "Data plane vs. control plane data representations"
>
>
> ## Add the ability for packet clone sessions to create multiple copies
>
> In PSA v1.0, requesting to make a clone of a packet was restricted to
> creating a single clone, sent to a single output port.  In PSA v1.1
> you may now configure a clone session with a set of (egress_port,
> instance) pairs, similar to how a multicast group can be configured.
> Changes can be found here:
>
> + Section 6.2. "Behavior of packets after ingress processing is complete"
> + Section 6.4.5 "Multicast and clone copies" (formerly called "Multicast
> copies")
> + Section 6.5 "Behavior of packets after egress processing is complete"
> + Section 6.8 "Packet Cloning"
>
>
> ## Add psa_idle_timeout table property
>
> Adding this brings PSA v1.1 up to date with the support for this
> feature in the P4Runtime API.  Using this table property enables the
> P4 developer to specify that a table must maintain some state of when
> the last time each table entry was matched, and if an entry remains
> unmatched for longer than a time configured by the controller, then a
> notification message should be sent to the controller.
>
> + Section 7.2.1 "Table entry timeout notification"
>
>
> ## Add psa_empty_group_action table property
>
> PSA v1.0 did not specify the behavior of a table with an
> ActionSelector implementation, if a packet matched a table entry that
> was configured with an empty action selector group.
>
> PSA v1.1 recommends (but does not require) that implementations
> support a new psa_empty_group_action table property, whose value is an
> action that should be executed when this situation occurs.
>
> + Section 7.12 "Action Selector"
>
>
> ## Other changes
>
> In PSA v1.0, the Digest extern was required to be supported in both
> the IngressDeparser and EgressDeparser control blocks.  It is now no
> longer required to be supported in the EgressDeparser control block.
>
> + Table 5 "Summary of controls that can instantiate and invoke externs"
>
>
> # Changes to the psa.p4 include file
>
> + Updates for the latest plan on P4Runtime API numerical translation
>   of type PortId_t and ClassOfService_t.
> + Eliminate obsolete ValueSet extern, because the value_set construct
>   was added as to the P4_16 language specification.
> + Fix a few typos in example control plane APIs in comments.
> + Eliminate PSA_SWITCH #define macro with arguments, since P4_16
>   language spec does not require that the P4_16 preprocessor support
>   such macros.
>
>
> # Changes to example PSA programs in the p4-16/psa/examples directory
>
> + Small changes required to bring them in harmony with the latest
>   details on P4Runtime API numerical translation of type PortId_t.
>
>
> # Viewing all changes as diffs on Github
>
> If you want to view all changes on the Github site as diffs, from PSA
> v1.0 until the latest master version as of the time you view this URL,
> use the link below.  Note that this will also show changes to files in
> the P4_14 and P4_16 language specification documents.  All files for
> the PSA specification are in the directory `p4-16/psa`, so you can
> focus on files with that as part of their path name.
>
>
> https://github.com/p4lang/p4-spec/compare/c2b7ae0c5a73d5de32b16cc0aff9ffc0115fb92b...master
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-arch_lists.p4.org/attachments/20181114/6c1964de/attachment.html>


More information about the P4-arch mailing list