From ae28b0e1de90eb100045695a7dbf2b4fbfdd0251 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Sun, 13 Aug 2023 15:59:09 -0400 Subject: [PATCH 1/2] Fix #434: Remove obsolete TODO section in README Update the link to the auto-generated versions of the P4Runtime specification on the P4.org web site. Update the section "P4 Language Version Applicability" to version 1.2.4 of the P4_16 language specification, but list 3 known exceptions of features that have not been explicitly addressed yet. --- docs/v1/P4Runtime-Spec.mdk | 13 +++++++++++-- docs/v1/README.md | 13 ++----------- docs/v1/references.bib | 10 ++++++++++ 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/docs/v1/P4Runtime-Spec.mdk b/docs/v1/P4Runtime-Spec.mdk index 49f322ce..ae03bd63 100755 --- a/docs/v1/P4Runtime-Spec.mdk +++ b/docs/v1/P4Runtime-Spec.mdk @@ -230,8 +230,17 @@ format and available at P4Runtime is designed to be implemented in conjunction with the P4~16~ language version or later. P4~14~ programs should be translated into P4~16~ to be made compatible with P4Runtime. This version of P4Runtime utilizes features which are -not in P4~16~ 1.0, but were introduced in P4~16~ 1.1.0 [@P4Revisions110]. For -this version of P4Runtime, we recommend using P4~16~ 1.2.1 [@P4Spec]. +not in P4~16~ 1.0, but were introduced in P4~16~ 1.2.4 [@P4Revisions124]. For +this version of P4Runtime, we recommend using P4~16~ 1.2.4 [@P4Revisions124]. + +This version of the P4Runtime specification does not yet explicitly +address compatibility with the following P4~16~ language features +introduced in version 1.2.2 of the language specification [@P4Revisions122]: + +* Added support for generic structures. +* Added support for additional enumeration types. +* Added support for 0-width bitstrings and varbits. + ## In Scope diff --git a/docs/v1/README.md b/docs/v1/README.md index c05dfe50..e0d2141a 100644 --- a/docs/v1/README.md +++ b/docs/v1/README.md @@ -7,7 +7,8 @@ specification document. The markup version uses Madoko (https://www.madoko.net) to produce HTML and PDF versions of the documentation. Pre-built versions of the -documentation are available at **[TODO]** +documentation are available on the [P4.org specifications +page](https://p4.org/specs). Files: @@ -63,13 +64,3 @@ Note that to build the PDF you need a functional TeX version installed. You need to install miktex [http://miktex.org/], madoko [https://www.madoko.net/] and node.js [https://nodejs.org/en/]. To build you can invoke the make.bat script. - - -# TODO -## Formating Fixups TODO - -## Content TODO -Following are major content items which are missing or incomplete: -* Section 17. P4Runtime Versioning -* Section 18. Extending P4Runtime for non-PSA architectures -* Section 19. Lifetime of a session diff --git a/docs/v1/references.bib b/docs/v1/references.bib index c2190a12..4d259343 100644 --- a/docs/v1/references.bib +++ b/docs/v1/references.bib @@ -65,6 +65,16 @@ @ONLINE { P4Revisions110 url = "https://p4.org/p4-spec/docs/P4-16-v1.2.1.html#sec-summary-of-changes-made-in-version-110" } +@ONLINE { P4Revisions122, + title = "Summary of changes made in $P4_{16}$ version 1.2.2", + url = "https://p4.org/p4-spec/docs/P4-16-v1.2.4.html#sec-summary-of-changes-made-in-version-122-released-may-17-2021" +} + +@ONLINE { P4Revisions124, + title = "Summary of changes made in $P4_{16}$ version 1.2.4", + url = "https://p4.org/p4-spec/docs/P4-16-v1.2.4.html#sec-summary-of-changes-made-in-version-124" +} + @ONLINE { P4Spec, title = "$P4_{16}$ 1.2.1 specification", url = "https://p4.org/p4-spec/docs/P4-16-v1.2.1.html" From 7b1d2093fd72b5458722ee2c4920dfc20739a0e7 Mon Sep 17 00:00:00 2001 From: Andy Fingerhut Date: Tue, 29 Aug 2023 17:15:38 -0400 Subject: [PATCH 2/2] Add P4_16 v1.2.4 language spec features that may need addressing in a future version of the P4Runtime API specification. --- docs/v1/P4Runtime-Spec.mdk | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/docs/v1/P4Runtime-Spec.mdk b/docs/v1/P4Runtime-Spec.mdk index ae03bd63..13aed5b0 100755 --- a/docs/v1/P4Runtime-Spec.mdk +++ b/docs/v1/P4Runtime-Spec.mdk @@ -235,11 +235,23 @@ this version of P4Runtime, we recommend using P4~16~ 1.2.4 [@P4Revisions124]. This version of the P4Runtime specification does not yet explicitly address compatibility with the following P4~16~ language features -introduced in version 1.2.2 of the language specification [@P4Revisions122]: - -* Added support for generic structures. -* Added support for additional enumeration types. -* Added support for 0-width bitstrings and varbits. +introduced in versions 1.2.2 or 1.2.4 of the language specification: + +* Added support for generic structures [@P4Revisions122]. +* Added support for additional enumeration types [@P4Revisions122]. +* Added support for 0-width bitstrings and varbits [@P4Revisions122]. +* Clarified restrictions for parameters with default values + [@P4Revisions124]. +* Specified that algorithm for generating control-plane names for keys + is optional [@P4Revisions124]. +* Allow ranges to be specified by serializable enums + [@P4Revisions124]. +* compiler-inserted `default_action` is not `const` [@P4Revisions124]. +* Clarified the restrictions on run time for tables with + `const entries` [@P4Revisions124]. +* Added `list` type [@P4Revisions124]. +* Clarified behavior of table with no `key` property, or if its list + of keys is empty [@P4Revisions124]. ## In Scope