All Classes and Interfaces

Class
Description
Sub-builder for the action portion of a TableEntry.
Read-only metadata for one P4 action, derived from P4Info.
The action selected by a TableEntry: an action name plus its parameter values keyed by parameter name.
Read-only metadata for one parameter of an ActionInfo, derived from P4Info.
One ActionProfileGroup returned by P4Switch.readActionProfileGroup.
Builder for one P4Runtime Read request against the groups of an action profile, returned by P4Switch.readActionProfileGroup(String).
Read-only metadata for one P4 action profile, derived from P4Info.
One ActionProfileMember returned by P4Switch.readActionProfileMember.
Builder for one P4Runtime Read request against the members of an action profile, returned by P4Switch.readActionProfileMember(String).
A backup port for a Replica slot, used as a fallback when the primary replica's port and all higher-preference backup ports are down.
Accumulator for one batched Write RPC, returned by P4Switch.batch().
Immutable byte sequence used for P4Runtime field values, action parameters, and packet payloads.
One clone session programmed on the device's packet replication engine (PRE), returned by P4Switch.readCloneSession.
Builder for one P4Runtime Read request against clone sessions on the device's packet replication engine, returned by P4Switch.readCloneSession().
Intermediate stage between P4Switch.connect(String) and one of the terminals Connector.asPrimary() / Connector.asSecondary().
A pair of cumulative packet_count and byte_count values, mirroring the P4Runtime CounterData proto.
One P4 counter cell returned by P4Switch.readCounter.
Read-only metadata for one P4 counter array, derived from P4Info.
What a counter cell tracks.
Builder for one P4Runtime Read request against a counter array, returned by P4Switch.readCounter(String).
Target-specific binary device configuration shipped alongside a P4Info to SetForwardingPipelineConfig.
BMv2 JSON program (output of p4c --target bmv2).
Pre-encoded device config bytes for any target jp4 doesn't model directly.
Configuration knobs the controller hands to the device when enabling a digest extern via P4Switch.enableDigest.
One DigestList stream-message received from a P4Runtime device.
One backpressure-class drop on the inbound PacketIn path.
Why a parsed PacketIn was dropped before reaching user code.
128-bit election id used for P4Runtime mastership arbitration.
Mirrors the canonical gRPC status codes that P4Runtime uses to report per-update outcomes.
One IdleTimeoutNotification stream-message received from a P4Runtime device.
32-bit IPv4 address.
128-bit IPv6 address.
48-bit MAC address.
Snapshot of mastership state delivered to onMastershipChange listeners.
This client is currently primary; MastershipStatus.Acquired.ourElectionId() won the arbitration.
This client is no longer primary.
One value in a TableEntry match key.
Exact match against a single value.
Longest-prefix match: prefixLen most significant bits of value.
P4Runtime "optional" match kind: present (treated as exact) or absent (skipped).
Range match: low ≤ field ≤ high.
Ternary match: value masked by mask.
Read-only metadata for one match field of a TableInfo, derived from P4Info.
Mirrors P4Runtime's MatchField.MatchType enum at the public-API layer so callers don't depend on generated protobuf types.
Rate configuration of one P4 meter cell.
Per-color cumulative packet and byte counters for one P4 meter cell.
One P4 meter cell returned by P4Switch.readMeter.
Read-only metadata for one P4 meter array, derived from P4Info.
What a meter cell measures.
Builder for one P4Runtime Read request against a meter array, returned by P4Switch.readMeter(String).
One multicast group programmed on the device's packet replication engine (PRE), returned by P4Switch.readMulticastGroup.
Builder for one P4Runtime Read request against multicast groups on the device's packet replication engine, returned by P4Switch.readMulticastGroup().
Kind of operation an exception or UpdateFailure relates to.
Thrown when asPrimary() is called but another client holds primary with a higher election id, or when an in-flight write detects mastership has just been lost.
Raised when the gRPC transport fails or mastership is unavailable.
 
Protobuf type p4.v1.P4Data
Protobuf type p4.v1.P4Data
 
 
Protobuf type p4.v1.P4Header
Protobuf type p4.v1.P4Header
 
Protobuf type p4.v1.P4HeaderStack
Protobuf type p4.v1.P4HeaderStack
 
Protobuf type p4.v1.P4HeaderUnion
Protobuf type p4.v1.P4HeaderUnion
 
Protobuf type p4.v1.P4HeaderUnionStack
Protobuf type p4.v1.P4HeaderUnionStack
 
Protobuf type p4.v1.P4StructLike
Protobuf type p4.v1.P4StructLike
 
Protobuf type p4.v1.P4Varbit
Protobuf type p4.v1.P4Varbit
 
Parsed P4Info plus a name-to-id index.
 
Protobuf type p4.config.v1.Action
Protobuf type p4.config.v1.Action
Protobuf type p4.config.v1.Action.Param
Protobuf type p4.config.v1.Action.Param
 
 
Protobuf type p4.config.v1.ActionProfile
Protobuf type p4.config.v1.ActionProfile
 
indicates that `size` and `max_group_size` represent the maximum number of members that can be present across all selector groups and within a single selector group respectively.
indicates that `size` and `max_group_size` represent the maximum number of members that can be present across all selector groups and within a single selector group respectively.
 
indicates that `size` and `max_group_size` represent the maximum sum of weights that can be present across all selector groups and within a single selector group respectively.
indicates that `size` and `max_group_size` represent the maximum sum of weights that can be present across all selector groups and within a single selector group respectively.
 
 
used to list all possible actions in a Table
used to list all possible actions in a Table
Protobuf enum p4.config.v1.ActionRef.Scope
 
Any metadata associated with controller Packet-IO (Packet-In or Packet-Out) is modeled as P4 headers carrying special annotations @controller_header("packet_out") and @controller_header("packet_in") respectively.
Any metadata associated with controller Packet-IO (Packet-In or Packet-Out) is modeled as P4 headers carrying special annotations @controller_header("packet_out") and @controller_header("packet_in") respectively.
Protobuf type p4.config.v1.ControllerPacketMetadata.Metadata
Protobuf type p4.config.v1.ControllerPacketMetadata.Metadata
 
 
Protobuf type p4.config.v1.Counter
Protobuf type p4.config.v1.Counter
 
Protobuf type p4.config.v1.CounterSpec
Protobuf type p4.config.v1.CounterSpec
Corresponds to 'type' constructor parameter for Counter / DirectCounter in PSA
 
Protobuf type p4.config.v1.Digest
Protobuf type p4.config.v1.Digest
 
Protobuf type p4.config.v1.DirectCounter
Protobuf type p4.config.v1.DirectCounter
 
Protobuf type p4.config.v1.DirectMeter
Protobuf type p4.config.v1.DirectMeter
 
Protobuf type p4.config.v1.Documentation
Protobuf type p4.config.v1.Documentation
 
used to group all extern instances of the same type in one message
used to group all extern instances of the same type in one message
Protobuf type p4.config.v1.ExternInstance
Protobuf type p4.config.v1.ExternInstance
 
 
Protobuf type p4.config.v1.MatchField
Protobuf type p4.config.v1.MatchField
 
Protobuf enum p4.config.v1.MatchField.MatchType
 
Protobuf type p4.config.v1.Meter
Protobuf type p4.config.v1.Meter
 
Protobuf type p4.config.v1.MeterSpec
Protobuf type p4.config.v1.MeterSpec
Used to restrict the MeterConfigs that can be used to instantiate the meter.
Corresponds to 'type' constructor parameter for Meter / DirectMeter in PSA
 
wrapping the enum in a message to avoid name collisions in C++, where "enum values are siblings of their type, not children of it"
wrapping the enum in a message to avoid name collisions in C++, where "enum values are siblings of their type, not children of it"
ids are allocated in such a way that it is possible based on an id to deduce the resource type (e.g.
 
Protobuf type p4.config.v1.P4Info
Protobuf type p4.config.v1.P4Info
 
Top-level package documentation describing the forwarding pipeline config Can be used to manage multiple P4 packages.
Top-level package documentation describing the forwarding pipeline config Can be used to manage multiple P4 packages.
 
Used to describe the required properties of the underlying platform.
Used to describe the required properties of the underlying platform.
 
Protobuf type p4.config.v1.Preamble
Protobuf type p4.config.v1.Preamble
 
Protobuf type p4.config.v1.Register
Protobuf type p4.config.v1.Register
 
Protobuf type p4.config.v1.Table
Protobuf type p4.config.v1.Table
this enum can be extended in the future with other behaviors, such as "HARD_EVICTION"
A TableActionCall references a particular action id and executes the action with the supplied list of arguments.
Protobuf type p4.config.v1.TableActionCall.Argument
Protobuf type p4.config.v1.TableActionCall.Argument
 
A TableActionCall references a particular action id and executes the action with the supplied list of arguments.
 
 
Protobuf type p4.config.v1.ValueSet
Protobuf type p4.config.v1.ValueSet
 
Raised when a Write or Read RPC ran but the device rejected the result.
Raised when a pipeline operation fails because of a configuration mismatch or a structural problem in user-supplied data.
Base type for every exception raised by jp4.
 
 
A stub to allow clients to do limited synchronous rpc calls to service P4Runtime.
A stub to allow clients to do synchronous rpc calls to service P4Runtime.
A stub to allow clients to do ListenableFuture-style rpc calls to service P4Runtime.
Base class for the server implementation of the service P4Runtime.
A stub to allow clients to do asynchronous rpc calls to service P4Runtime.
 
Protobuf type p4.v1.Action
Protobuf type p4.v1.Action
Protobuf type p4.v1.Action.Param
Protobuf type p4.v1.Action.Param
 
 
Protobuf type p4.v1.ActionProfileAction
Protobuf type p4.v1.ActionProfileAction
 
 
Protobuf type p4.v1.ActionProfileActionSet
Added in v1.5.0.
Protobuf type p4.v1.ActionProfileActionSet
Added in v1.5.0.
 
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Protobuf type p4.v1.ActionProfileGroup.Member
Protobuf type p4.v1.ActionProfileGroup.Member
 
 
 
------------------------------------------------------------------------------
------------------------------------------------------------------------------
 
A backup replica used as a fallback when the primary replica port goes down.
A backup replica used as a fallback when the primary replica port goes down.
 
------------------------------------------------------------------------------
------------------------------------------------------------------------------
 
Protobuf type p4.v1.CapabilitiesResponse
Protobuf type p4.v1.CapabilitiesResponse
 
A packet may be cloned by setting the clone_session_id field of PSA ingress/egress output metadata to session_id of a programmed clone session entry.
A packet may be cloned by setting the clone_session_id field of PSA ingress/egress output metadata to session_id of a programmed clone session entry.
 
Protobuf type p4.v1.CounterData
Protobuf type p4.v1.CounterData
 
------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY.
------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY.
 
------------------------------------------------------------------------------ Used to configure the digest extern only, not to stream digests or acks
------------------------------------------------------------------------------ Used to configure the digest extern only, not to stream digests or acks
a DigestList message is streamed when the following conditions are met: - there is at least one digest ready - the oldest digest in the list has been waiting for at least max_timeout_ns nanoseconds or we have gathered max_list_size digests already
a DigestList message is streamed when the following conditions are met: - there is at least one digest ready - the oldest digest in the list has been waiting for at least max_timeout_ns nanoseconds or we have gathered max_list_size digests already
 
 
Protobuf type p4.v1.DigestList
Protobuf type p4.v1.DigestList
Used by the controller to ack a DigestList message.
Used by the controller to ack a DigestList message.
Protobuf type p4.v1.DigestListAckError
Protobuf type p4.v1.DigestListAckError
 
 
 
------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY.
------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY.
 
------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY.
------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY.
 
Protobuf type p4.v1.Entity
Protobuf type p4.v1.Entity
 
 
Error message used to report a single P4-entity error for a Write RPC.
Error message used to report a single P4-entity error for a Write RPC.
 
Protobuf type p4.v1.ExternEntry
Protobuf type p4.v1.ExternEntry
 
field_match_type ::= exact | ternary | lpm | range | optional
field_match_type ::= exact | ternary | lpm | range | optional
Matches can be performed on arbitrarily-large inputs; the protobuf type 'bytes' is used to model arbitrarily-large values.
Matches can be performed on arbitrarily-large inputs; the protobuf type 'bytes' is used to model arbitrarily-large values.
 
 
Protobuf type p4.v1.FieldMatch.LPM
Protobuf type p4.v1.FieldMatch.LPM
 
If the Optional match should be a wildcard, the FieldMatch must be omitted.
If the Optional match should be a wildcard, the FieldMatch must be omitted.
 
A Range is logically a set that contains all values numerically between 'low' and 'high' inclusively.
A Range is logically a set that contains all values numerically between 'low' and 'high' inclusively.
 
Protobuf type p4.v1.FieldMatch.Ternary
Protobuf type p4.v1.FieldMatch.Ternary
 
 
Protobuf type p4.v1.ForwardingPipelineConfig
Protobuf type p4.v1.ForwardingPipelineConfig
Metadata (cookie) opaque to the target.
Metadata (cookie) opaque to the target.
 
 
Protobuf type p4.v1.GetForwardingPipelineConfigRequest
Protobuf type p4.v1.GetForwardingPipelineConfigRequest
Specifies the fields to populate in the response.
 
Protobuf type p4.v1.GetForwardingPipelineConfigResponse
Protobuf type p4.v1.GetForwardingPipelineConfigResponse
 
Protobuf type p4.v1.IdleTimeoutNotification
Protobuf type p4.v1.IdleTimeoutNotification
 
An index as a protobuf message.
An index as a protobuf message.
 
Protobuf type p4.v1.MasterArbitrationUpdate
Protobuf type p4.v1.MasterArbitrationUpdate
 
Modeled to support both RFC 2698: A Two Rate Three Color Marker (trTCM) and RFC 2697: A Single Rate Three Color Marker (srTCM) based on the `type` of the corresponding MeterSpec.
Modeled to support both RFC 2698: A Two Rate Three Color Marker (trTCM) and RFC 2697: A Single Rate Three Color Marker (srTCM) based on the `type` of the corresponding MeterSpec.
 
Added in v1.4.0
Added in v1.4.0
 
------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY.
------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY.
 
The (port, instance) pair must be unique for each replica in a given multicast group entry.
The (port, instance) pair must be unique for each replica in a given multicast group entry.
 
Packet sent from the switch to the controller.
Packet sent from the switch to the controller.
 
Any metadata associated with Packet-IO (controller Packet-In or Packet-Out) needs to be modeled as P4 headers carrying special annotations @controller_header("packet_out") and @controller_header("packet_in") respectively.
Any metadata associated with Packet-IO (controller Packet-In or Packet-Out) needs to be modeled as P4 headers carrying special annotations @controller_header("packet_out") and @controller_header("packet_in") respectively.
 
Packet sent from the controller to the switch.
Packet sent from the controller to the switch.
Protobuf type p4.v1.PacketOutError
Protobuf type p4.v1.PacketOutError
 
 
------------------------------------------------------------------------------ Only one instance of a Packet Replication Engine (PRE) is expected in the P4 pipeline.
------------------------------------------------------------------------------ Only one instance of a Packet Replication Engine (PRE) is expected in the P4 pipeline.
 
 
Protobuf type p4.v1.ReadRequest
Protobuf type p4.v1.ReadRequest
 
Protobuf type p4.v1.ReadResponse
Protobuf type p4.v1.ReadResponse
 
------------------------------------------------------------------------------
------------------------------------------------------------------------------
 
Used for replicas created for cloning and multicasting actions.
Used for replicas created for cloning and multicasting actions.
 
 
Protobuf type p4.v1.Role
Protobuf type p4.v1.Role
 
------------------------------------------------------------------------------ Reserved controller-specified SDN port numbers for reference.
------------------------------------------------------------------------------
Protobuf enum p4.v1.SetForwardingPipelineConfigRequest.Action
------------------------------------------------------------------------------
 
Protobuf type p4.v1.SetForwardingPipelineConfigResponse
Protobuf type p4.v1.SetForwardingPipelineConfigResponse
 
Used by the server to asynchronously report errors which occur when processing StreamMessageRequest messages.
Used by the server to asynchronously report errors which occur when processing StreamMessageRequest messages.
 
 
------------------------------------------------------------------------------
------------------------------------------------------------------------------
 
 
Protobuf type p4.v1.StreamMessageResponse
Protobuf type p4.v1.StreamMessageResponse
 
 
Protobuf type p4.v1.StreamOtherError
Protobuf type p4.v1.StreamOtherError
 
table_actions ::= action_specification | action_profile_specification
table_actions ::= action_specification | action_profile_specification
 
 
Protobuf type p4.v1.TableEntry
Protobuf type p4.v1.TableEntry
Protobuf type p4.v1.TableEntry.IdleTimeout
Protobuf type p4.v1.TableEntry.IdleTimeout
 
 
Protobuf type p4.v1.Uint128
Protobuf type p4.v1.Uint128
 
Protobuf type p4.v1.Update
Protobuf type p4.v1.Update
Protobuf enum p4.v1.Update.Type
 
------------------------------------------------------------------------------ For writing and reading matches in a parser value set.
------------------------------------------------------------------------------ For writing and reading matches in a parser value set.
 
A member in a P4 value set.
A member in a P4 value set.
 
------------------------------------------------------------------------------
Protobuf enum p4.v1.WriteRequest.Atomicity
------------------------------------------------------------------------------
 
Protobuf type p4.v1.WriteResponse
Protobuf type p4.v1.WriteResponse
 
A live connection to one P4Runtime device, scoped to one device_id and one election_id.
 
Protobuf type p4.config.v1.Expression
Protobuf type p4.config.v1.Expression
 
Protobuf type p4.config.v1.ExpressionList
Protobuf type p4.config.v1.ExpressionList
 
 
Protobuf type p4.config.v1.KeyValuePair
Protobuf type p4.config.v1.KeyValuePair
Protobuf type p4.config.v1.KeyValuePairList
Protobuf type p4.config.v1.KeyValuePairList
 
 
Protobuf type p4.config.v1.P4BitstringLikeTypeSpec
Protobuf type p4.config.v1.P4BitstringLikeTypeSpec
 
 
Protobuf type p4.config.v1.P4BitTypeSpec
Protobuf type p4.config.v1.P4BitTypeSpec
 
Empty message as no type information needed, just used as a placeholder in the oneof to identify boolean types.
Empty message as no type information needed, just used as a placeholder in the oneof to identify boolean types.
 
Describes a P4_16 type.
Describes a P4_16 type.
 
 
For "safe" enums with no underlying representation and no member integer values.
For "safe" enums with no underlying representation and no member integer values.
Protobuf type p4.config.v1.P4EnumTypeSpec.Member
Protobuf type p4.config.v1.P4EnumTypeSpec.Member
 
 
Protobuf type p4.config.v1.P4ErrorType
Protobuf type p4.config.v1.P4ErrorType
 
Similar to an enum, but there is always one and only one instance per P4 program.
Similar to an enum, but there is always one and only one instance per P4 program.
 
Protobuf type p4.config.v1.P4HeaderStackTypeSpec
Protobuf type p4.config.v1.P4HeaderStackTypeSpec
 
Protobuf type p4.config.v1.P4HeaderTypeSpec
Protobuf type p4.config.v1.P4HeaderTypeSpec
Protobuf type p4.config.v1.P4HeaderTypeSpec.Member
Protobuf type p4.config.v1.P4HeaderTypeSpec.Member
 
 
Protobuf type p4.config.v1.P4HeaderUnionStackTypeSpec
Protobuf type p4.config.v1.P4HeaderUnionStackTypeSpec
 
Protobuf type p4.config.v1.P4HeaderUnionTypeSpec
Protobuf type p4.config.v1.P4HeaderUnionTypeSpec
Protobuf type p4.config.v1.P4HeaderUnionTypeSpec.Member
Protobuf type p4.config.v1.P4HeaderUnionTypeSpec.Member
 
 
Protobuf type p4.config.v1.P4IntTypeSpec
Protobuf type p4.config.v1.P4IntTypeSpec
 
Protobuf type p4.config.v1.P4NamedType
Protobuf type p4.config.v1.P4NamedType
 
New types introduced with the "type" keyword
New types introduced with the "type" keyword
 
 
Protobuf type p4.config.v1.P4NewTypeTranslation
Protobuf type p4.config.v1.P4NewTypeTranslation
Protobuf type p4.config.v1.P4NewTypeTranslation.SdnString
Protobuf type p4.config.v1.P4NewTypeTranslation.SdnString
 
 
 
For serializable (or "unsafe") enums, which have an underlying type.
For serializable (or "unsafe") enums, which have an underlying type.
Protobuf type p4.config.v1.P4SerializableEnumTypeSpec.Member
Protobuf type p4.config.v1.P4SerializableEnumTypeSpec.Member
 
 
Protobuf type p4.config.v1.P4StructTypeSpec
Protobuf type p4.config.v1.P4StructTypeSpec
Protobuf type p4.config.v1.P4StructTypeSpec.Member
Protobuf type p4.config.v1.P4StructTypeSpec.Member
 
 
From the P4_16 spec: "A tuple is similar to a struct, in that it holds multiple values.
From the P4_16 spec: "A tuple is similar to a struct, in that it holds multiple values.
 
These P4 types (struct, header_type, header_union and enum) are guaranteed to have a fully-qualified name (e.g.
These P4 types (struct, header_type, header_union and enum) are guaranteed to have a fully-qualified name (e.g.
 
Protobuf type p4.config.v1.P4VarbitTypeSpec
Protobuf type p4.config.v1.P4VarbitTypeSpec
 
Location of code relative to a given source file.
Location of code relative to a given source file.
 
Protobuf type p4.config.v1.StructuredAnnotation
 
Protobuf type p4.config.v1.StructuredAnnotation
 
One packet delivered to the controller via the StreamChannel PacketIn message.
Read-only metadata for one field of a P4Runtime controller_packet_metadata declaration — i.e.
Outbound packet for P4Switch.send(...).
Fluent builder.
Snapshot of the P4Info and DeviceConfig bound to a P4Switch.
The action field of SetForwardingPipelineConfigRequest.
Builder for one P4Runtime Read request, returned by P4Switch.read(tableName).
Strategy for re-establishing the gRPC stream after a transport failure.
One P4 register cell returned by P4Switch.readRegister.
Read-only metadata for one P4 register array, derived from P4Info.
Builder for one P4Runtime Read request against a register array, returned by P4Switch.readRegister(String).
One replica slot in a MulticastGroupEntry or CloneSessionEntry.
Immutable description of one P4 table entry: table name, match key, optional action, optional priority.
Fluent builder returned by TableEntry.in(String).
Read-only metadata for one P4 table, derived from P4Info.
One rejected update inside a batch Write response.
One weighted member slot inside an ActionProfileGroup.
Outcome of a batch Write.