Skip to content

P4Runtime Release v1.1.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@antoninbas antoninbas released this 12 Dec 04:31

First release candidate for the first minor release for P4Runtime v1. Should not break backwards-compatibility at the P4Runtime message level. However, some significant changes were made to master-arbitration which will impact controller-failover for client and server implementations.

Changelog (copied from the Revision History Appendix):

  • API
    • Major overhaul of master-arbitration: while the Protobuf messages did not change, the state machine that the server needs to implement is significantly different. Upon the master disconnection, the server no longer chooses the controller with the second highest election id as the new master. Instead, there will not be a new master until one of the controllers advertises an election id higher than any election id seen previously.
    • Add error field to stream messages sent by the server.
    • Add Capabilities RPC to query the P4Runtime API version implemented by the server.
    • Support wildcard reads for multicast groups and clone sessions.
    • Support for modifying direct resources of const tables.
    • Support P4 user-defined types for Packet IO metadata fields.
  • specification
    • Clarify consistency requirements for Write and Read RPCs.
    • Add Appendix providing implementation advice for avoiding common pitfalls:
      • advice on setting gRPC Metadata Maximum Size
      • advice on setting gRPC Server Maximum Receive Message Size
    • Clarify limitations on supported types for FieldMatch, action Param, and Packet IO metadata fields.
    • Clarify that reading entire forwarding state with empty entity is not supported.
    • Document that @p4runtime_translation need only be supported when applied to type declarations in P4.