Changes in v1.4.1
No content changes; tag was incremented only.
Changes in v1.4.0
-
Actions
- Fix invalid
action_profile_idin the One Shot Action Selector Programming
example. - Specify that
max_group_sizemust be less than or equal tosizefor
Action Selectors. - Add a
selector_size_semanticsfield to theActionProfilemessage
in P4Info.
- Fix invalid
-
Controller Sessions, Roles, Arbitration:
- Clarify controller session establishment, maintenance, role and arbitration
- Simplify specification for arbitration updates for which there is no change
to the controller'selection_id; in particular, a "no-op" arbitration
update from a primary controller (the controller already was, and remains,
the primary controller) is essentially treated the same way as an
arbitration update which leads to the election of a new primary controller. - Add support for string role identifiers and deprecate integer role
identifiers. - Add support for specifying a role in
ReadRequestmessages: if present,
only entities belonging to this specific role are returned. - Clarify that the (
device_id,role,election_id) 3-tuples are only
unique for live controllers.
-
Generated code
- Enable C++ Arena Allocation [@ArenaAllocation] by default in
p4runtime.proto. - Added Rust code generation
- Enable C++ Arena Allocation [@ArenaAllocation] by default in
-
Meters
- Add a
Typefield to theMeterSpecmessage allowing users to restrict
the type of meters that can be used for a table and a neweburstfield to
theMeterConfigmessage for use with one of the newMeterSpectypes.
See section on Meter & DirectMeter. - Defined new meter annotations
@two_rate_three_color,
@single_rate_two_color,@single_rate_three_color - Enable P4Runtime servers to provide per-color counter values when direct or
indirect meter entries are read.
- Add a
-
Miscellaneous
- Add a
PlatformPropertiesmessage specifying desired underlying platform
properties to thePkgInfomessage. - Specify Read behavior in the absence of a P4Info
(ForwardingPipelineConfignot set yet). - Clarify that for updates of type
INSERT, error codes other than
INVALID_ARGUMENTcan be returned when applicable. - Clarified the meaning of set and unset scalar and message fields, see
section on default-valued fields. - Described Dataplane Volatile Objects, see section on
Dataplane Volatile Objects. - Clarified use of bytestrings in messages, see section on
Bytestrings
- Add a
-
Replication
- Add a
metadatafield to theMulticastGroupEntrymessage. - In message
Replica, replaced primitive fielduint32 egress_port
in a compatible manner with newoneof port_kindcontaining preferred
new fieldbytes port.
- Add a
-
Tables
- Clarify that the limitation on supported types for
FieldMatch, action
Param, and Packet IO metadata fields (no support for signed integers,
with typeint<W>) apply to all minor revisions of P4Runtime v1, not just
to P4Runtime v1.0. - Add
has_initial_entriesandis_constfield fields toTablemessage to
distinguish mutable and immutable initial table entries,
see section on Constant Tables.
- Clarify that the limitation on supported types for