These 75 commits are when the Protocol Buffers files have changed:
| Commit: | 74d7036 | |
|---|---|---|
| Author: | Steffen Smolka | |
| Committer: | GitHub | |
proto: add Java proto-library targets and options (#607) Add first-class `java_proto_library` Bazel targets for all four protos and set `java_package`, `java_outer_classname`, and `java_multiple_files` on each, following the same conventions as protobuf's well-known types. The `org.p4` package prefix ensures global uniqueness and follows Java reverse-DNS conventions, as decided by the working group. Signed-off-by: Steffen Smolka <steffen.smolka@gmail.com>
The documentation is generated from this commit.
| Commit: | a2b1a1d | |
|---|---|---|
| Author: | Andy Fingerhut | |
| Committer: | GitHub | |
Add copyright and license info to most P4Runtime specification files (#609) * Add copyright and license info to most P4Runtime specification files Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> * Revert changes to status.proto as it is diff'd against another file elsewhere Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> * Use codegen to update generated files Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> * Update some more generated files Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> * Use "The P4 Language Consortium" as copyright holder for spec files Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> --------- Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu>
| Commit: | 593e1f6 | |
|---|---|---|
| Author: | Andy Fingerhut | |
| Committer: | GitHub | |
Add SPDX license id and copyright banners to source files needing them (#545) * Add SPDX license id and copyright banners to source files needing them Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> * Update auto-generated files Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> * Update year for one file Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> * More updates to match latest contents of file Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> * Add Apache 2.0 license to several files added in the past year. Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> --------- Signed-off-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu>
| Commit: | 2ed6cd7 | |
|---|---|---|
| Author: | Matthew Lam | |
| Committer: | GitHub | |
Change PER_GROUP_ONLY to GROUP_ACTION and update P4Runtime spec (#604) * Change scope name Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Change from per_group to group_action for the scope enum Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> --------- Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com>
| Commit: | dc05994 | |
|---|---|---|
| Author: | Matthew Lam | |
| Committer: | GitHub | |
Support `group_action` field in ActionProfileActionSet (#594) \Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com>
| Commit: | a692297 | |
|---|---|---|
| Author: | Steffen Smolka | |
| Committer: | GitHub | |
Redesign the Rust crates. (#567) See rust/README.md for more details. Signed-off-by: Steffen Smolka <steffen.smolka@gmail.com>
| Commit: | f5b7195 | |
|---|---|---|
| Author: | Steffen Smolka | |
| Committer: | Steffen Smolka | |
Redesign the Rust crates. See rust/README.md for more details. Signed-off-by: Steffen Smolka <steffen.smolka@gmail.com>
| Commit: | f5187a2 | |
|---|---|---|
| Author: | Matthew Lam | |
| Committer: | GitHub | |
Update comment for weights_disallowed in ActionProfile (#566) Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com>
| Commit: | 1a72547 | |
|---|---|---|
| Author: | Matthew Lam | |
| Committer: | GitHub | |
Support `weights_disallowed` field in P4Info (#563) Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com>
| Commit: | baaf393 | |
|---|---|---|
| Author: | Angela Zhang | |
| Committer: | GitHub | |
(proto change) Add ActionSelectionMode and SizeSemantics to ActionProfileActionSet in P4Runtime. (#561) * Create a separate PR for just the P4Runtime proto changes. Signed-off-by: Angela Zhang <angelazhangyr@gmail.com> * address comments --------- Signed-off-by: Angela Zhang <angelazhangyr@gmail.com>
| Commit: | 8152793 | |
|---|---|---|
| Author: | verios-google | |
| Committer: | GitHub | |
Add device_id field to capabilites request (#556) * Add device_id field to capabilites request Signed-off-by: verios-google <110698235+verios-google@users.noreply.github.com> * Update generated proto code Signed-off-by: verios-google <110698235+verios-google@users.noreply.github.com> * Add documentation on optional semantics of device_id Signed-off-by: verios-google <110698235+verios-google@users.noreply.github.com> * Fixed whitespace Signed-off-by: verios-google <110698235+verios-google@users.noreply.github.com> * Address documentation comments and also tried making sure lines weren't beyond 80 characters Signed-off-by: verios-google <110698235+verios-google@users.noreply.github.com> * nit: Removed extra period Signed-off-by: verios-google <110698235+verios-google@users.noreply.github.com> --------- Signed-off-by: verios-google <110698235+verios-google@users.noreply.github.com>
| Commit: | 5e6138d | |
|---|---|---|
| Author: | verios-google | |
| Committer: | GitHub | |
Add `Any` protobuf message to CapabilitiesResponse for experimental features (#554)
| Commit: | d73b228 | |
|---|---|---|
| Author: | Matthew Lam | |
| Committer: | GitHub | |
Support fallback ports in replicas for multicast (#508) * Support fallback ports in Replicas for multicast Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update the P4Runtime-Spec to remove whitespace. Signed-off-by: Author Name <authoremail@example.com> Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Remove incorrect text in P4runtime-spec. Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Support fallback ports in replicas for multicast Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update the P4Runtime-Spec example for multicast Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update the P4Runtime-Spec for multicast Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Support port fallback for multicast by adding backup replicas Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update the P4Runtime-Spec to remove whitespace. Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update the P4Runtime-Spec. Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update the associated go and rust files with the versioning changes. Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Support fallback ports as backup replicas for multicast Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Fix odd white spacing in p4runtime.proto Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update P4Runtime Spec to specify cases of when ports go down. Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update the P4RuntimeSpec to specify packet processing side effects of a fully down replica + it's backups Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update the P4RuntimeSpec to specify examples of packet processing side effects Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Updated comments and P4Runtime Spec examples. Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update comment. Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update P4Runtime-Spec.mdk with backup replicas being optional and properties of replicas and backup replicas Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update P4Runtime-Spec.mdk Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update p4runtime.proto Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update p4.v1.rs Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> * Update p4runtime.pb.go Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> --------- Signed-off-by: Matthew Lam <matthew.lam.qwerty@gmail.com> Signed-off-by: Author Name <authoremail@example.com>
| Commit: | dda9d66 | |
|---|---|---|
| Author: | Chris Sommers | |
| Committer: | GitHub | |
Version 1.4.0 rc updates to bazel and protobuf comments (#499) * Add v1.4.0 comments to protobufs - fix https://github.com/p4lang/p4runtime/issues/487 (#490) * Added missing "Added/deprecated in v1.4.0" comments per convention. * Added missing "Added/deprecated in v1.4.0" comments per convention. * Refresh generated go files. Signed-off-by: chris <chris.sommers@keysight.com> * Update Bazel example to point to 1.4.0 (#493) Signed-off-by: Steffen Smolka <smolkaj@google.com> Signed-off-by: chris <chris.sommers@keysight.com> * Regenerate rust code. Signed-off-by: chris <chris.sommers@keysight.com> --------- Signed-off-by: chris <chris.sommers@keysight.com> Signed-off-by: Steffen Smolka <smolkaj@google.com> Co-authored-by: Steffen Smolka <smolkaj@google.com>
| Commit: | ec4eb5e | |
|---|---|---|
| Author: | Fabian Ruffy | |
| Committer: | GitHub | |
Add information about the initial default action to tables in the P4Info file. (#486)
| Commit: | d175898 | |
|---|---|---|
| Author: | Steffen Smolka | |
| Committer: | GitHub | |
Remove accidental optional keyword. (#494) Fixes https://github.com/p4lang/p4runtime/issues/482 Signed-off-by: Steffen Smolka <smolkaj@google.com>
| Commit: | 48e9ce8 | |
|---|---|---|
| Author: | Jonathan DiLorenzo | |
| Committer: | GitHub | |
Add support for different meter types. (#484) * Add all changes from PR#473 * Add generated files. * Remove redundant paragraph. * Add note about how changing MeterConfig is a non-breaking change.
| Commit: | f10a410 | |
|---|---|---|
| Author: | Jonathan DiLorenzo | |
| Committer: | Jonathan DiLorenzo | |
Support multicast resource information. (#472)
| Commit: | 1baf842 | |
|---|---|---|
| Author: | Jonathan DiLorenzo | |
Address comments.
| Commit: | fee499a | |
|---|---|---|
| Author: | Jonathan DiLorenzo | |
| Committer: | GitHub | |
Support multicast resource information. (#472)
| Commit: | bd0423d | |
|---|---|---|
| Author: | Jonathan DiLorenzo | |
Add an srTCM type and associated data and restrict usage so single rate two color markers meter equivalently to the other types.
| Commit: | cc1e04e | |
|---|---|---|
| Author: | Sayan Bandyopadhyay | |
| Committer: | GitHub | |
Generic Table First draft (#435) * Initial changes for generic tables * second changes * 3rd changes * 4th changes * 5th changes * Adding p4types and p4info changes for GenericData (#4) Adding another enum alongside P4IDs for generic tables as well * Adding varbits and a readme writeup (#5) * Adding varbit and a writeup * Adding proto changes * Adding genericTable for direct resources. Adding P4datatypespec to genericdatatype in p4types * * Adding more container types ** list ** bag ** set ** ordered_set * Moving GenericTable spec update to one big section to keep it organized * * Add Table categories introduction * * Adding 3-level property details (Table, Entry, field) * Adding more text on the data types in the spec * Adding Details on Operations in the Table categories * * Adding Read RPC details in table categories * Adding a table to show valid combinations of table properties * Adding default entry rules * Expanding combinations * review comments * * Explain more on indexed tables. How are duplicates handled * Add regular tables in the truth table * Calculation table can be volatile * Add column to lay out some examples for the table categories * Mention that the entry properties do not go in p4info * Flow chart to show INSERT decision flow. Added PNG file * Add in float more verbiage regarding volatile * Renamed generic_set to generic_unordered_set * Removed bag and ordered_set * Add p4type for string with min/max size * Update Go dependencies (#438) * Fixes https://github.com/p4lang/p4runtime/issues/439 (#440) Change CI workflow to skip publishing if PR spawned by dependabot * * Adding categories and properties in p4info * Adding example changes for above in GenericTables.md * Add default values to p4info. * * Removed GenericTable category from the p4info * Added more text about generic table type * Corrected typos and reference links * Replaced png file with svg file * Removed is_const_table since table properties are present * Adding space for dummy commit * Correcting typo * Adding dev branches to workflows (#443) * Correcting linter errors * Generating go and py files * Adding text regarding direct resources as GenericTables in TableEntry * some review comment changes * Andy review comments * remove whitespace * * Correcting GenericTable.md according to the p4info * Removing repeated file dfrom Param and Match top level * * Removing float from p4info and spec * Adding default value text to spec * Adding UnorderedSet to runtime * * Adding section to P4DataTypeSpec to indicate adding to GenericDataTypeSpec for any new additions * Removing P4DataTypeSpec from GenericDataTypeSpec * Adding default value to bool in GenericData * Moving GenericTable.md to docs * Correcting spec for removal of p4_type in generic_type. Adding generated code * * Shortening the field names in `GenericTable` to remove "genric_table_" prefixes * Correcting the text for type_name * * Making default_value as bytes * Adding "scope" to the union example * Adding default string value * review comments * linter error * Review comments Signed-off-by: Sayan Bandyopadhyay <sayan.bandyopadhyay@intel.com> * Correcting whitespace errors Signed-off-by: Sayan Bandyopadhyay <sayan.bandyopadhyay@intel.com> * Updating generated code Signed-off-by: Sayan Bandyopadhyay <sayan.bandyopadhyay@intel.com> --------- Signed-off-by: Sayan Bandyopadhyay <sayan.bandyopadhyay@intel.com> Signed-off-by: Bandyopadhyay, Sayan <sayan.bandyopadhyay@intel.com> Co-authored-by: Antonin Bas <antonin.bas@gmail.com> Co-authored-by: Chris Sommers <31145757+chrispsommers@users.noreply.github.com>
| Commit: | 575dbe8 | |
|---|---|---|
| Author: | Jonathan DiLorenzo | |
Update specification to discuss new meter types.
| Commit: | 750885b | |
|---|---|---|
| Author: | Jonathan DiLorenzo | |
First attempt at single_rate_two_color meters.
| Commit: | a6b4cf6 | |
|---|---|---|
| Author: | Sayan Bandyopadhyay | |
| Committer: | GitHub | |
Updating generic-table-dev branch with p4lang:p4runtime:main (#468) * Update Go dependencies (#438) * Fixes https://github.com/p4lang/p4runtime/issues/439 (#440) Change CI workflow to skip publishing if PR spawned by dependabot * Adding dev branches to workflows (#443) * Support for initial entries (#432) * Define P4Runtime API support for tables with initial entries * Add TODO asking whether the format for the contents of entries files should be specified in the P4Runtime spec. * Fix a couple of things found by linter and compiling protobuf * Update autogenerated files * Document that TableEntry const field must be false in write requests * Add an appendix describing the contents of entries files generated by p4c * Clarify some wording. * Fix Madoko lint check * Replace TODO with cross reference to new appendix on entries files and clean up Madoko formatting in that appendix. * Replace TODO with an optimistic footnote. * Propose that TableEntry has new field const true for const entries and also for const default_action * Update auto-generated files * Define has_initial_entries to be true for tables with `const entries` Also fix a couple of spelling typos. * Update auto-generated files * Address several review comments * Address some more review comments. * Update auto-generated files again * Slight change in definition of has_initial_entries flag Propose that it is true if and only if the table property `entries` is present, _and_ the list of entries is not empty. * Update auto-generated files * Add "added in 1.4.0" notes to the two new fields * Clarify the description of the content of an entries file * Fix a typo, and add is_const field to list of TableEntry fields * Address review comment in new appendix * Fix #434: Remove obsolete TODO section in README (#447) * 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. * Add P4_16 v1.2.4 language spec features that may need addressing in a future version of the P4Runtime API specification. * Update discussion of entry priorities in constant tables (#457) * Update discussion of entry priorities in constant tables * Correct description of entry priority for constant tables * Bump golang.org/x/net from 0.9.0 to 0.17.0 (#461) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.9.0 to 0.17.0. - [Commits](https://github.com/golang/net/compare/v0.9.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove 4 P4 language spec compatibility issues from the list (#459) * Remove 4 P4 language spec compatibility issues from the list During 2023-Sep-08 P4.org API work group meeting, it was agreed that there are no changes required to the P4Runtime API specification to be compatible with these updates in the language spec. * Add clarifying behavior of table with no `key` property back in since there are potentially open issues around p4c implementation and how it generates size field of tables in P4Info files that should be considered before considering that issue resolved. * Add metadata to multicast group entry (#446) Same role as the metadata field for table entry * Add proto_build_test rule that tests building the protos defined in the workspace. (#460) * Update license kind to Apache2.0 instead of generic notice (#464) * Bump google.golang.org/grpc from 1.56.1 to 1.56.3 (#465) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.56.1 to 1.56.3. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.56.1...v1.56.3) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Antonin Bas <antonin.bas@gmail.com> Co-authored-by: Chris Sommers <31145757+chrispsommers@users.noreply.github.com> Co-authored-by: Andy Fingerhut <andy_fingerhut@alum.wustl.edu> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: verios-google <110698235+verios-google@users.noreply.github.com> Co-authored-by: anksaiki <ankursaikia08@gmail.com> Co-authored-by: anksaiki <ankursaikia@google.com>
| Commit: | aac3859 | |
|---|---|---|
| Author: | verios-google | |
| Committer: | GitHub | |
Add metadata to multicast group entry (#446) Same role as the metadata field for table entry
| Commit: | 1e771c4 | |
|---|---|---|
| Author: | Andy Fingerhut | |
| Committer: | GitHub | |
Support for initial entries (#432) * Define P4Runtime API support for tables with initial entries * Add TODO asking whether the format for the contents of entries files should be specified in the P4Runtime spec. * Fix a couple of things found by linter and compiling protobuf * Update autogenerated files * Document that TableEntry const field must be false in write requests * Add an appendix describing the contents of entries files generated by p4c * Clarify some wording. * Fix Madoko lint check * Replace TODO with cross reference to new appendix on entries files and clean up Madoko formatting in that appendix. * Replace TODO with an optimistic footnote. * Propose that TableEntry has new field const true for const entries and also for const default_action * Update auto-generated files * Define has_initial_entries to be true for tables with `const entries` Also fix a couple of spelling typos. * Update auto-generated files * Address several review comments * Address some more review comments. * Update auto-generated files again * Slight change in definition of has_initial_entries flag Propose that it is true if and only if the table property `entries` is present, _and_ the list of entries is not empty. * Update auto-generated files * Add "added in 1.4.0" notes to the two new fields * Clarify the description of the content of an entries file * Fix a typo, and add is_const field to list of TableEntry fields * Address review comment in new appendix
| Commit: | bd51923 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | GitHub | |
Deprecate egress_port (uint32) in favor of egress (bytes) in Replica (#331) This is to ensure consistency with the watch_port field. See https://github.com/p4lang/p4runtime/pull/317 Fixes #329
| Commit: | 02f6c18 | |
|---|---|---|
| Author: | Jonathan DiLorenzo | |
| Committer: | GitHub | |
Add max_member_weight to sum_of_members selector semantics (and change to oneof). (#399) Fixes #396 Co-authored-by: Antonin Bas <abas@vmware.com>
| Commit: | 13f0d02 | |
|---|---|---|
| Author: | jonathan-dilorenzo | |
| Committer: | GitHub | |
Add enum field to support different size calculations for ActionProfiles An enum field is added to the ActionProfile P4Info message. The value of this field determines the semantics of size and max_group_size.
| Commit: | c0abeab | |
|---|---|---|
| Author: | jonathan-dilorenzo | |
| Committer: | GitHub | |
Update Action Profiles to include a max_num_members field. (#386) Fixes #364 Co-authored-by: Antonin Bas <abas@vmware.com>
| Commit: | d85e95d | |
|---|---|---|
| Author: | kishanps | |
| Committer: | GitHub | |
Add per color counter data for meters. (#370) Both direct and indirect. This lets clients query the number of bytes / packets for each color bucket. Co-authored-by: Srikishen Pondicherry Shanmugam <kishanps@google.com>
| Commit: | b9a833c | |
|---|---|---|
| Author: | Steffen Smolka | |
Support static and dynamic p4runtime translations.
| Commit: | 2167c22 | |
|---|---|---|
| Author: | Steffen Smolka | |
Support for specifying type translations as part of the forwarding configuration.
| Commit: | 0332e99 | |
|---|---|---|
| Author: | Konstantin Weitz | |
| Committer: | GitHub | |
Add support for string roles & roles in reads. (#346) Fixes #344 Fixes #345
| Commit: | e9c0d19 | |
|---|---|---|
| Author: | mkruskal-google | |
| Committer: | GitHub | |
Enabling arenas in runtime proto (#348) This will be enabled by default in future versions, and is necessary to generate protobuf arena methods.
| Commit: | 0e39e55 | |
|---|---|---|
| Author: | Steffen Smolka | |
| Committer: | GitHub | |
Clarify spec: annotation locations are optional. (#326) * Clarify spec: annotation locations are optional. * Update generated go files, and instructions for how to do so. Fixes #311.
| Commit: | 4b36c2d | |
|---|---|---|
| Author: | Brian O'Connor | |
| Committer: | Antonin Bas | |
Replace references to 'master/slave' in the spec doc and figures Changes: - master -> primary - slave -> backup - mastership arbitration -> client arbitration - mastership -> primary client
| Commit: | 9c8b5f5 | |
|---|---|---|
| Author: | Stefan Heule | |
| Committer: | GitHub | |
Deprecate watch in favor of watch_port. (#317) * Deprecate watch in favor of watch_port. * Fix typo * Deprecate watch in favor of watch_port. * Update go files Co-authored-by: Stefan Heule <heule@google.com>
| Commit: | fb437ab | |
|---|---|---|
| Author: | Steffen Smolka | |
| Committer: | GitHub | |
Add source locations to annotations. (#286) * Add source locations to annotations. Addresses issue #285. * add annotation_locations also in p4types.proto; also structured annotations where misssing * fix indentation @chrispsommers * update spec * update go files * total path -> absolute path
| Commit: | 4f6973d | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Add generated Go code for P4Runtime The generated files are placed under the go/ directory, and the 2 Go packages which can be imported by other projects are "github.com/p4lang/p4runtime/go/p4/v1" and "github.com/p4lang/p4runtime/go/p4/config/v1". As part of CI, we now check that the generated Go files are up-to-date with respect to the checked-in Protobuf files. We also check that the go.mod file is "tidy". When updating the Protobuf files, a contributor can re-generated the Go files with `./build/update_go.sh`. Fixes #260
| Commit: | 7a322f3 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Small fixes for structured annotations While working on the p4c implementation, I realized that: * the ActionRef message was missing a structured_annotations field * we use kvpair and kv_pair inconsistently
| Commit: | 85e075a | |
|---|---|---|
| Author: | Konstantin Weitz | |
| Committer: | GitHub | |
Support translation to strings (#274) * Support translation to strings * address suggestions
| Commit: | c9cd4af | |
|---|---|---|
| Author: | Chris Sommers | |
| Committer: | GitHub | |
Added Structured Annotations (#265) * Added Structured Annotations per https://github.com/p4lang/p4runtime/issues/264 * Modified protobuf schema per review discussion, added nested expressions example and made additional clarifications. * Simplify expressions within StructureAnnotations to base types (no nesting). * Added missing empty ExpressionList to example. * remove backtics Co-Authored-By: Antonin Bas <antonin.bas@gmail.com> * Make subsection for Structured Anno examples Co-Authored-By: Antonin Bas <antonin.bas@gmail.com> * Remove duplicate line. * Added statement about empty expressionLists. Fixed bilio entry. * Added "structured" to statement about empty expressionLists. * Changed "could" to "may." Spell P4Info consistently. * Removed empty exressionList from @Empty structured annotation example to agree with latest P4-16 spec in progress. Co-authored-by: Chris Sommers <chris.sommers@keysight.com> Co-authored-by: Antonin Bas <antonin.bas@gmail.com>
| Commit: | 2f8ee47 | |
|---|---|---|
| Author: | Stefan Heule | |
| Committer: | GitHub | |
Add metadata bytes field (#271) * Add metadata field to TableEntry, and deprecate controller_metadata * Fix typo and add changelog
| Commit: | a48b457 | |
|---|---|---|
| Author: | Stefan Heule | |
| Committer: | Antonin Bas | |
Introduce new match kind called optional.
| Commit: | 16aeec8 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | GitHub | |
Add Capabilities RPC to P4Runtime service (#251) * Add Capabilities RPC to P4Runtime service The P4Runtime API WG decided to include this to P4Runtime v1.1. For now, this RPC will only enable the client to query the version of the P4Runtime specification implemented by the server. Fixes #249 * Rename p4runtime_version to p4runtime_api_version
| Commit: | c868d96 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | GitHub | |
Support wildcard reads for multicast groups and clone sessions (#236) * Support wildcard reads for multicast groups and clone sessions For consistency with the rest of the P4Runtime API, a wildcard Read is achieved by "setting" the `multicast_group_id` (resp. `session_id`) field to its default value, which is 0 for sclar fields. This means that we introduce a small difference with the PSA spec, which explicitly allows 0 for clone session ids. * Address Stefan's review comment
| Commit: | 2af85d9 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | GitHub | |
Add error field to StreamMessageResponse oneof (#217) * Add error field to StreamMessageResponse oneof This field may be used by the server to report errors generated by invalid / unauthorized StreamMessageRequests. Fixes #215 * Address Stefan's review comment * Split one sentence into two Co-Authored-By: Carmelo Cascone <carmelo@ccascone.net>
| Commit: | 6e866a5 | |
|---|---|---|
| Author: | Andy Fingerhut | |
| Committer: | Antonin Bas | |
Add type_name field to P4Info Metadata message Add a description of this field to the text of the section describing the contents of ControllerPacketMetadata messages. Also add a description of the type_name field in the ValueSet section. It was already re-using the MatchField messages used by table search key fields, and already had this type_name field in it, but it seems best to explicitly mention that it can be included in MatchField messages for ValueSet objects, too.
| Commit: | c4754d0 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Formatting nitpicks * Use lowercase letters consistently in the protos and spec. This is an arbitrary decision for the sake of uniformity. It seems that lowercase letters were already used in most places. * Add missing backticks for one occurrence of TableEntry People may start thinking I'm running out of things to do.
| Commit: | 06227fa | |
|---|---|---|
| Author: | Andy Fingerhut | |
| Committer: | Antonin Bas | |
Fix #173 - Update comments in proto file regarding table entry priority
| Commit: | f4d8606 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Support numeric translation for counter / meter / register indices This is done in a similar fashion to other kinds of translation (e.g. for match fields). It is convenient to support translation for indices as it is not unusual for indirect counters or registers to be indexed by the ig / eg port. Fixes #131
| Commit: | 5214037 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | GitHub | |
Improve P4Runtime Value Set support (#157) * Improve P4Runtime Value Set support The objectives of this change is to: * cover more cases supported by the P4_16 spec * provide more intuitive runtime programming * be more future-proof to reduce the potential changes in future P4Runtime versions In particular, we now support structs with bit<W> members as the type parameter for value_set. The members of the struct may have different match types. Fixes #135 Fixes #134 * Andy's review comments and typos
| Commit: | 0fc7f3f | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Require idle_timeout_ns to be set in IdleTimeoutNotification I think it makes sense to include that information for the P4Runtime client.
| Commit: | d1a1ff6 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | GitHub | |
Define canonical representation for P4Data compound types (#153) * Define canonical representation for P4Data compound types By introducing additional constraints, thus ensuring read-write symmetry. Fixes #141 * Andy's comments
| Commit: | ee9e5c5 | |
|---|---|---|
| Author: | Andy Fingerhut | |
| Committer: | Antonin Bas | |
Fix #114 - Remove obsolete references to P4_14 language
| Commit: | 87b98bd | |
|---|---|---|
| Author: | Carmelo Cascone | |
| Committer: | Antonin Bas | |
Typo fixes Includes also minor editorial changes: - Consistently use "control plane" and "data plane" - 80 char column wrap
| Commit: | 89bc566 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Clarify the meaning of the alias field in P4Info Also removed some old TODOs
| Commit: | a09e77d | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Support architecture-specific notifications on stream Extend StreamMessageRequest and StreamMessageResponse with an Any Protobuf field to embed architecture-specific messages. Fixes #57
| Commit: | bd21e97 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Better support for @defaultonly and @tableonly annotations These annotations are now "first-class citizens" in P4Info: an enum field is used to indicate the scope of the action, i.e. how the action can be used. This commit also removes const_default_action_has_mutable_params, which was introduced for P4_14 initially and has fallen out of use. Fixes #83
| Commit: | 32c1f05 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Remove "complete" flag from ReadResponse message Fixes #77
| Commit: | a66775b | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Move to canonical representation for serializable enums In order to facilitate read-write symmetry. If we only have one valid representation, it needs to be the bitvector one, as not all possible numeric values have to be named. Fixes #64
| Commit: | 58ee757 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Fix comments in p4runtime.proto Some comments for direct resource fields in TableEntry did not match the spec. Other comments needed some formatting work.
| Commit: | 8b3b71c | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
The value_set size is provided as a constructor parameter It is not an annotation any more the latest P4_16 version
| Commit: | 4be60ac | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | GitHub | |
Clarify controller role definition (#70) * Clarify controller role definition With some information about what a role definition may include. Fixes #56 * Better error code in case of invalid device_id / role_id
| Commit: | 78df13e | |
|---|---|---|
| Author: | Carmelo Cascone | |
| Committer: | Antonin Bas | |
Adds ability to associate a cookie to the forwarding-pipeline config (#59) * Adds ability to associate a cookie to the forwarding-pipeline config This change also allow a client to verify the config on the target by asking the server to return only the cookie, minimizing the amount of data in the response message (vs. returning the full P4 blob) * Wrapped cookie in sub-message and addressed other review comments * Fixed nit
| Commit: | 97a8b35 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Add section on extending P4Runtime for non-PSA architectures in spec I didn't want to keep this section too long, it mostly gathers information which is otherwise spread through the specification. This is based on my experience extending P4Runtime to support Barefoot-specific architectures. Fixes #47
| Commit: | 35a0cea | |
|---|---|---|
| Author: | Andy Fingerhut | |
| Committer: | Antonin Bas | |
Update the names used in CloneSessionId documentation to match proto file There were also a few old uses of `replica_id` replaced with `instance` in a multicast group example.
| Commit: | 4fd3fc9 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Remove meter color-awareness information from P4Info There doesn't seem to be any point in keeping this in P4Info at the moment. First the semantics are murky because in PSA each execute call on a meter is either color-aware or color-blind (i.e. it is not an attribute of the meter object itself). Second, at the moment this information cannot be leveraged in any way by a P4 client since P4Runtime does not expose any knob to enable / disable color-awareness on a per meter entry basis at runtime. Even if there was such a knob, it would be hard to reconciliate it with PSA semantics: in PSA the same meter can be "executed" in 2 different actions, in color-aware mode in one and in color-blind mode in the other; these 2 action can use the same indirect meter entry. Fixes #58
| Commit: | 5dbbffd | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Add reserved SDN port numbers to P4Runtime Also fixed the Protobuf type for some standard (translated) PSA metadata entities, such as multicast group id. The Protobuf type is determined by the bitwidth of the translated type. It is somewhat independent of the corresponding PSA InHeader_t types. Fixes #49 Fixes #51
| Commit: | 823e0d3 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | GitHub | |
Tentative support for new (user-defined) types in P4Info (#50) * Tentative support for new (user-defined) types in P4Info We update P4DataTypeSpec to be able to represent user-defined types in P4Info. Translation (when the control-plane view differes from the underlying data-plane type) may be required for new types through the @p4runtime_translation annotation and this information is preserved in P4Info. As decided previously, we do not break backward-compatibility for action parameters and match fields. For these we do not use P4DataTypeSpec but instead we add a new Protobuf field ("type_name") which is set if the action parameter / match field is a user-defined type (which must map to an underlying bit vector in this case). * Fix typos * In P4NewTypeSpec, do not include original_type for translated types * Address review comments
| Commit: | 1805878 | |
|---|---|---|
| Author: | Konstantin Weitz | |
| Committer: | GitHub | |
Extending the spec with one shot action selector programming (#42) Specify one shot action selector programming
| Commit: | b718215 | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | Antonin Bas | |
Fix typo in some protobuf comments s/@controller_metadata/@controller_header. controller_header (annotation to tag a CPU header in P4 program) and controller_metadata (controller cookie in TableEntry message) are 2 different things.
| Commit: | c3550ca | |
|---|---|---|
| Author: | Antonin Bas | |
| Committer: | GitHub | |
Add proto definitions for P4Runtime and P4Info (#2) * Add proto definitions for P4Runtime and P4Inf Copied from p4lang/PI Also re-organized directory structure. We will have one top-level directory for docs and one for proto, instead of one per major version. This makes the directory structure "nicer" as the major version number is not repeated twice in the protobuf paths. * Update README