package p4.config.v1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message Action

p4info.proto:285

Used in: P4Info

message Action.Param

p4info.proto:287

Used in: Action

message ActionProfile

p4info.proto:304

Used in: P4Info

message ActionProfile.SumOfMembers

p4info.proto:328

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. Added in v1.4.0.

Used in: ActionProfile

message ActionProfile.SumOfWeights

p4info.proto:322

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. Added in v1.4.0.

Used in: ActionProfile

(message has no fields)

message ActionRef

p4info.proto:268

used to list all possible actions in a Table

Used in: Table

enum ActionRef.Scope

p4info.proto:270

Used in: ActionRef

message ControllerPacketMetadata

p4info.proto:433

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. There can be at most one header each with these annotations. This message captures the info contained within these special headers, and used in p4runtime.proto to supply the metadata.

Used in: P4Info

message ControllerPacketMetadata.Metadata

p4info.proto:437

Used in: ControllerPacketMetadata

message Counter

p4info.proto:362

Used in: P4Info

message CounterSpec

p4info.proto:350

Used in: Counter, DirectCounter

enum CounterSpec.Unit

p4info.proto:353

Corresponds to 'type' constructor parameter for Counter / DirectCounter in PSA

Used in: CounterSpec

message Digest

p4info.proto:471

Used in: P4Info

message DirectCounter

p4info.proto:371

Used in: P4Info

message DirectMeter

p4info.proto:420

Used in: P4Info

message Documentation

p4info.proto:36

Used in: Action.Param, MatchField, PkgInfo, Preamble

message Expression

p4types.proto:177

Used in: ExpressionList, KeyValuePair

message ExpressionList

p4types.proto:185

Used in: StructuredAnnotation

message Extern

p4info.proto:161

used to group all extern instances of the same type in one message

Used in: P4Info

message ExternInstance

p4info.proto:169

Used in: Extern

message KeyValuePair

p4types.proto:168

Used in: KeyValuePairList

message KeyValuePairList

p4types.proto:173

Used in: StructuredAnnotation

message MatchField

p4info.proto:176

Used in: Table, ValueSet

enum MatchField.MatchType

p4info.proto:184

Used in: MatchField

message Meter

p4info.proto:411

Used in: P4Info

message MeterSpec

p4info.proto:378

Used in: DirectMeter, Meter

enum MeterSpec.Type

p4info.proto:388

Used to restrict the MeterConfigs that can be used to instantiate the meter. Added in 1.4.0.

Used in: MeterSpec

enum MeterSpec.Unit

p4info.proto:380

Corresponds to 'type' constructor parameter for Meter / DirectMeter in PSA

Used in: MeterSpec

message P4BitTypeSpec

p4types.proto:101

Used in: P4BitstringLikeTypeSpec, P4SerializableEnumTypeSpec

message P4BitstringLikeTypeSpec

p4types.proto:86

Used in: P4DataTypeSpec, P4HeaderTypeSpec.Member

message P4BoolType

p4types.proto:82

Empty message as no type information needed, just used as a placeholder in the oneof to identify boolean types.

Used in: P4DataTypeSpec

(message has no fields)

message P4DataTypeSpec

p4types.proto:59

Describes a P4_16 type.

Used in: Digest, P4NewTypeSpec, P4StructTypeSpec.Member, P4TupleTypeSpec, Register

message P4EnumTypeSpec

p4types.proto:210

For "safe" enums with no underlying representation and no member integer values.

Used in: P4TypeInfo

message P4EnumTypeSpec.Member

p4types.proto:211

Used in: P4EnumTypeSpec

message P4ErrorType

p4types.proto:84

Used in: P4DataTypeSpec

(message has no fields)

message P4ErrorTypeSpec

p4types.proto:251

Similar to an enum, but there is always one and only one instance per P4 program.

Used in: P4TypeInfo

message P4HeaderStackTypeSpec

p4types.proto:158

Used in: P4DataTypeSpec

message P4HeaderTypeSpec

p4types.proto:132

Used in: P4TypeInfo

message P4HeaderTypeSpec.Member

p4types.proto:133

Used in: P4HeaderTypeSpec

message P4HeaderUnionStackTypeSpec

p4types.proto:163

Used in: P4DataTypeSpec

message P4HeaderUnionTypeSpec

p4types.proto:145

Used in: P4TypeInfo

message P4HeaderUnionTypeSpec.Member

p4types.proto:146

Used in: P4HeaderUnionTypeSpec

message P4Ids

p4info.proto:93

wrapping the enum in a message to avoid name collisions in C++, where "enum values are siblings of their type, not children of it"

(message has no fields)

enum P4Ids.Prefix

p4info.proto:101

ids are allocated in such a way that it is possible based on an id to deduce the resource type (e.g. table, action, counter, ...). The most-significant byte of the 32-bit id encodes the resource type. The purpose of this enum is to define which value is used as the most-significant byte for each resource type. The P4 compiler must use these values when allocating ids for P4 objects. Other users of P4Info can refer to this enum to identify a resource type based on its id.

message P4Info

p4info.proto:19

Used in: v1.ForwardingPipelineConfig

message P4IntTypeSpec

p4types.proto:105

Used in: P4BitstringLikeTypeSpec

message P4NamedType

p4types.proto:76

Used in: Action.Param, ControllerPacketMetadata.Metadata, Counter, MatchField, Meter, P4DataTypeSpec, P4HeaderStackTypeSpec, P4HeaderUnionStackTypeSpec, P4HeaderUnionTypeSpec.Member, Register

message P4NewTypeSpec

p4types.proto:273

New types introduced with the "type" keyword

Used in: P4TypeInfo

message P4NewTypeTranslation

p4types.proto:255

Used in: P4NewTypeSpec

message P4NewTypeTranslation.SdnString

p4types.proto:256

Used in: P4NewTypeTranslation

(message has no fields)

message P4SerializableEnumTypeSpec

p4types.proto:230

For serializable (or "unsafe") enums, which have an underlying type. Note that as per the P4_16 specification, the underlying representation can only be a bit<W> type.

Used in: P4TypeInfo

message P4SerializableEnumTypeSpec.Member

p4types.proto:231

Used in: P4SerializableEnumTypeSpec

message P4StructTypeSpec

p4types.proto:119

Used in: P4TypeInfo

message P4StructTypeSpec.Member

p4types.proto:120

Used in: P4StructTypeSpec

message P4TupleTypeSpec

p4types.proto:115

From the P4_16 spec: "A tuple is similar to a struct, in that it holds multiple values. Unlike a struct type, tuples have no named fields."

Used in: P4DataTypeSpec

message P4TypeInfo

p4types.proto:48

These P4 types (struct, header_type, header_union and enum) are guaranteed to have a fully-qualified name (e.g. you cannot use an anonymous struct to declare a variable like in C). Instead of duplicating the type spec for these every time the type is used, we include the type spec once in this P4TypeInfo message and refer to the types by name in the P4DataTypeSpec message. We also support annotations for these type specs which can be useful, e.g. to identify well-known headers (such as ipv4).

Used in: P4Info

message P4VarbitTypeSpec

p4types.proto:109

Used in: P4BitstringLikeTypeSpec

message PkgInfo

p4info.proto:61

Top-level package documentation describing the forwarding pipeline config Can be used to manage multiple P4 packages.

Used in: P4Info

message PlatformProperties

p4info.proto:46

Used to describe the required properties of the underlying platform. Added in v1.4.0

Used in: PkgInfo

message Preamble

p4info.proto:130

Used in: Action, ActionProfile, ControllerPacketMetadata, Counter, Digest, DirectCounter, DirectMeter, ExternInstance, Meter, Register, Table, ValueSet

message Register

p4info.proto:463

Used in: P4Info

message SourceLocation

p4types.proto:200

Location of code relative to a given source file.

Used in: Action.Param, ActionRef, ControllerPacketMetadata.Metadata, MatchField, P4BitstringLikeTypeSpec, P4EnumTypeSpec, P4EnumTypeSpec.Member, P4HeaderTypeSpec, P4HeaderUnionTypeSpec, P4NewTypeSpec, P4SerializableEnumTypeSpec, P4SerializableEnumTypeSpec.Member, P4StructTypeSpec, PkgInfo, Preamble, StructuredAnnotation

message StructuredAnnotation

p4types.proto:189

Used in: Action.Param, ActionRef, ControllerPacketMetadata.Metadata, MatchField, P4BitstringLikeTypeSpec, P4EnumTypeSpec, P4EnumTypeSpec.Member, P4HeaderTypeSpec, P4HeaderUnionTypeSpec, P4NewTypeSpec, P4SerializableEnumTypeSpec, P4SerializableEnumTypeSpec.Member, P4StructTypeSpec, PkgInfo, Preamble

message Table

p4info.proto:219

Used in: P4Info

enum Table.IdleTimeoutBehavior

p4info.proto:244

this enum can be extended in the future with other behaviors, such as "HARD_EVICTION"

Used in: Table

message TableActionCall

p4info.proto:210

A TableActionCall references a particular action id and executes the action with the supplied list of arguments. Arguments are matched to the id of the respective action parameter. TableActionCalls may be used as the default action call of a table implementation. Added in 1.4.0.

Used in: Table

message TableActionCall.Argument

p4info.proto:212

Used in: TableActionCall

message ValueSet

p4info.proto:456

Used in: P4Info