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.P4DataProtobuf type
p4.v1.P4DataProtobuf type
p4.v1.P4HeaderProtobuf type
p4.v1.P4HeaderProtobuf type
p4.v1.P4HeaderStackProtobuf type
p4.v1.P4HeaderStackProtobuf type
p4.v1.P4HeaderUnionProtobuf type
p4.v1.P4HeaderUnionProtobuf type
p4.v1.P4HeaderUnionStackProtobuf type
p4.v1.P4HeaderUnionStackProtobuf type
p4.v1.P4StructLikeProtobuf type
p4.v1.P4StructLikeProtobuf type
p4.v1.P4VarbitProtobuf type
p4.v1.P4VarbitParsed P4Info plus a name-to-id index.
Protobuf type
p4.config.v1.ActionProtobuf type
p4.config.v1.ActionProtobuf type
p4.config.v1.Action.ParamProtobuf type
p4.config.v1.Action.ParamProtobuf type
p4.config.v1.ActionProfileProtobuf 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.MetadataProtobuf type
p4.config.v1.ControllerPacketMetadata.MetadataProtobuf type
p4.config.v1.CounterProtobuf type
p4.config.v1.CounterProtobuf type
p4.config.v1.CounterSpecProtobuf type
p4.config.v1.CounterSpec
Corresponds to 'type' constructor parameter for Counter / DirectCounter in
PSA
Protobuf type
p4.config.v1.DigestProtobuf type
p4.config.v1.DigestProtobuf type
p4.config.v1.DirectCounterProtobuf type
p4.config.v1.DirectCounterProtobuf type
p4.config.v1.DirectMeterProtobuf type
p4.config.v1.DirectMeterProtobuf type
p4.config.v1.DocumentationProtobuf 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.ExternInstanceProtobuf type
p4.config.v1.ExternInstanceProtobuf type
p4.config.v1.MatchFieldProtobuf type
p4.config.v1.MatchFieldProtobuf enum
p4.config.v1.MatchField.MatchTypeProtobuf type
p4.config.v1.MeterProtobuf type
p4.config.v1.MeterProtobuf type
p4.config.v1.MeterSpecProtobuf 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.P4InfoProtobuf 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.PreambleProtobuf type
p4.config.v1.PreambleProtobuf type
p4.config.v1.RegisterProtobuf type
p4.config.v1.RegisterProtobuf type
p4.config.v1.TableProtobuf 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.ArgumentProtobuf 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.ValueSetProtobuf type
p4.config.v1.ValueSetRaised 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.ActionProtobuf type
p4.v1.ActionProtobuf type
p4.v1.Action.ParamProtobuf type
p4.v1.Action.ParamProtobuf type
p4.v1.ActionProfileActionProtobuf type
p4.v1.ActionProfileActionProtobuf type
p4.v1.ActionProfileActionSet
Added in v1.5.0.
Protobuf type
p4.v1.ActionProfileActionSet
Added in v1.5.0.
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Protobuf type
p4.v1.ActionProfileGroup.MemberProtobuf 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.CapabilitiesResponseProtobuf 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.CounterDataProtobuf 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.DigestListProtobuf 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.DigestListAckErrorProtobuf 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.EntityProtobuf 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.ExternEntryProtobuf 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.LPMProtobuf 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.TernaryProtobuf type
p4.v1.FieldMatch.TernaryProtobuf type
p4.v1.ForwardingPipelineConfigProtobuf type
p4.v1.ForwardingPipelineConfig
Metadata (cookie) opaque to the target.
Metadata (cookie) opaque to the target.
Protobuf type
p4.v1.GetForwardingPipelineConfigRequestProtobuf type
p4.v1.GetForwardingPipelineConfigRequest
Specifies the fields to populate in the response.
Protobuf type
p4.v1.GetForwardingPipelineConfigResponseProtobuf type
p4.v1.GetForwardingPipelineConfigResponseProtobuf type
p4.v1.IdleTimeoutNotificationProtobuf type
p4.v1.IdleTimeoutNotification
An index as a protobuf message.
An index as a protobuf message.
Protobuf type
p4.v1.MasterArbitrationUpdateProtobuf 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.PacketOutErrorProtobuf 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.ReadRequestProtobuf type
p4.v1.ReadRequestProtobuf type
p4.v1.ReadResponseProtobuf 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.RoleProtobuf type
p4.v1.Role
------------------------------------------------------------------------------
Reserved controller-specified SDN port numbers for reference.
------------------------------------------------------------------------------
Protobuf enum
p4.v1.SetForwardingPipelineConfigRequest.Action
------------------------------------------------------------------------------
Protobuf type
p4.v1.SetForwardingPipelineConfigResponseProtobuf 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.StreamMessageResponseProtobuf type
p4.v1.StreamMessageResponseProtobuf type
p4.v1.StreamOtherErrorProtobuf type
p4.v1.StreamOtherError
table_actions ::= action_specification | action_profile_specification
table_actions ::= action_specification | action_profile_specification
Protobuf type
p4.v1.TableEntryProtobuf type
p4.v1.TableEntryProtobuf type
p4.v1.TableEntry.IdleTimeoutProtobuf type
p4.v1.TableEntry.IdleTimeoutProtobuf type
p4.v1.Uint128Protobuf type
p4.v1.Uint128Protobuf type
p4.v1.UpdateProtobuf type
p4.v1.UpdateProtobuf 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.WriteResponseProtobuf type
p4.v1.WriteResponseA live connection to one P4Runtime device, scoped to one
device_id and one
election_id.Protobuf type
p4.config.v1.ExpressionProtobuf type
p4.config.v1.ExpressionProtobuf type
p4.config.v1.ExpressionListProtobuf type
p4.config.v1.ExpressionListProtobuf type
p4.config.v1.KeyValuePairProtobuf type
p4.config.v1.KeyValuePairProtobuf type
p4.config.v1.KeyValuePairListProtobuf type
p4.config.v1.KeyValuePairListProtobuf type
p4.config.v1.P4BitstringLikeTypeSpecProtobuf type
p4.config.v1.P4BitstringLikeTypeSpecProtobuf type
p4.config.v1.P4BitTypeSpecProtobuf 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.MemberProtobuf type
p4.config.v1.P4EnumTypeSpec.MemberProtobuf type
p4.config.v1.P4ErrorTypeProtobuf 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.P4HeaderStackTypeSpecProtobuf type
p4.config.v1.P4HeaderStackTypeSpecProtobuf type
p4.config.v1.P4HeaderTypeSpecProtobuf type
p4.config.v1.P4HeaderTypeSpecProtobuf type
p4.config.v1.P4HeaderTypeSpec.MemberProtobuf type
p4.config.v1.P4HeaderTypeSpec.MemberProtobuf type
p4.config.v1.P4HeaderUnionStackTypeSpecProtobuf type
p4.config.v1.P4HeaderUnionStackTypeSpecProtobuf type
p4.config.v1.P4HeaderUnionTypeSpecProtobuf type
p4.config.v1.P4HeaderUnionTypeSpecProtobuf type
p4.config.v1.P4HeaderUnionTypeSpec.MemberProtobuf type
p4.config.v1.P4HeaderUnionTypeSpec.MemberProtobuf type
p4.config.v1.P4IntTypeSpecProtobuf type
p4.config.v1.P4IntTypeSpecProtobuf type
p4.config.v1.P4NamedTypeProtobuf type
p4.config.v1.P4NamedType
New types introduced with the "type" keyword
New types introduced with the "type" keyword
Protobuf type
p4.config.v1.P4NewTypeTranslationProtobuf type
p4.config.v1.P4NewTypeTranslationProtobuf type
p4.config.v1.P4NewTypeTranslation.SdnStringProtobuf 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.MemberProtobuf type
p4.config.v1.P4SerializableEnumTypeSpec.MemberProtobuf type
p4.config.v1.P4StructTypeSpecProtobuf type
p4.config.v1.P4StructTypeSpecProtobuf type
p4.config.v1.P4StructTypeSpec.MemberProtobuf 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.P4VarbitTypeSpecProtobuf 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.StructuredAnnotationProtobuf type
p4.config.v1.StructuredAnnotationOne 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.