v1

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2020 License: Apache-2.0 Imports: 4 Imported by: 32

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ActionRef_Scope_name = map[int32]string{
	0: "TABLE_AND_DEFAULT",
	1: "TABLE_ONLY",
	2: "DEFAULT_ONLY",
}
View Source
var ActionRef_Scope_value = map[string]int32{
	"TABLE_AND_DEFAULT": 0,
	"TABLE_ONLY":        1,
	"DEFAULT_ONLY":      2,
}
View Source
var CounterSpec_Unit_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "BYTES",
	2: "PACKETS",
	3: "BOTH",
}
View Source
var CounterSpec_Unit_value = map[string]int32{
	"UNSPECIFIED": 0,
	"BYTES":       1,
	"PACKETS":     2,
	"BOTH":        3,
}
View Source
var MatchField_MatchType_name = map[int32]string{
	0: "UNSPECIFIED",
	2: "EXACT",
	3: "LPM",
	4: "TERNARY",
	5: "RANGE",
	6: "OPTIONAL",
}
View Source
var MatchField_MatchType_value = map[string]int32{
	"UNSPECIFIED": 0,
	"EXACT":       2,
	"LPM":         3,
	"TERNARY":     4,
	"RANGE":       5,
	"OPTIONAL":    6,
}
View Source
var MeterSpec_Unit_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "BYTES",
	2: "PACKETS",
}
View Source
var MeterSpec_Unit_value = map[string]int32{
	"UNSPECIFIED": 0,
	"BYTES":       1,
	"PACKETS":     2,
}
View Source
var P4Ids_Prefix_name = map[int32]string{
	0:   "UNSPECIFIED",
	1:   "ACTION",
	2:   "TABLE",
	3:   "VALUE_SET",
	4:   "CONTROLLER_HEADER",
	16:  "PSA_EXTERNS_START",
	17:  "ACTION_PROFILE",
	18:  "COUNTER",
	19:  "DIRECT_COUNTER",
	20:  "METER",
	21:  "DIRECT_METER",
	22:  "REGISTER",
	23:  "DIGEST",
	128: "OTHER_EXTERNS_START",
	255: "MAX",
}
View Source
var P4Ids_Prefix_value = map[string]int32{
	"UNSPECIFIED":         0,
	"ACTION":              1,
	"TABLE":               2,
	"VALUE_SET":           3,
	"CONTROLLER_HEADER":   4,
	"PSA_EXTERNS_START":   16,
	"ACTION_PROFILE":      17,
	"COUNTER":             18,
	"DIRECT_COUNTER":      19,
	"METER":               20,
	"DIRECT_METER":        21,
	"REGISTER":            22,
	"DIGEST":              23,
	"OTHER_EXTERNS_START": 128,
	"MAX":                 255,
}
View Source
var Table_IdleTimeoutBehavior_name = map[int32]string{
	0: "NO_TIMEOUT",
	1: "NOTIFY_CONTROL",
}
View Source
var Table_IdleTimeoutBehavior_value = map[string]int32{
	"NO_TIMEOUT":     0,
	"NOTIFY_CONTROL": 1,
}

Functions

This section is empty.

Types

type Action

type Action struct {
	Preamble             *Preamble       `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	Params               []*Action_Param `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (*Action) Descriptor

func (*Action) Descriptor() ([]byte, []int)

func (*Action) GetParams

func (m *Action) GetParams() []*Action_Param

func (*Action) GetPreamble

func (m *Action) GetPreamble() *Preamble

func (*Action) ProtoMessage

func (*Action) ProtoMessage()

func (*Action) Reset

func (m *Action) Reset()

func (*Action) String

func (m *Action) String() string

func (*Action) XXX_DiscardUnknown

func (m *Action) XXX_DiscardUnknown()

func (*Action) XXX_Marshal

func (m *Action) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Action) XXX_Merge

func (m *Action) XXX_Merge(src proto.Message)

func (*Action) XXX_Size

func (m *Action) XXX_Size() int

func (*Action) XXX_Unmarshal

func (m *Action) XXX_Unmarshal(b []byte) error

type ActionProfile

type ActionProfile struct {
	Preamble *Preamble `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	// the ids of the tables sharing this action profile
	TableIds []uint32 `protobuf:"varint,2,rep,packed,name=table_ids,json=tableIds,proto3" json:"table_ids,omitempty"`
	// true iff the action profile used dynamic selection
	WithSelector bool `protobuf:"varint,3,opt,name=with_selector,json=withSelector,proto3" json:"with_selector,omitempty"`
	// max number of weighted member entries in action profile (across all
	// selector groups, if the action profile has a selector)
	Size int64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
	// max number of weighted member entries in any given selector group, or 0 if
	// the action profile does not have a selector
	MaxGroupSize         int32    `protobuf:"varint,5,opt,name=max_group_size,json=maxGroupSize,proto3" json:"max_group_size,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ActionProfile) Descriptor

func (*ActionProfile) Descriptor() ([]byte, []int)

func (*ActionProfile) GetMaxGroupSize

func (m *ActionProfile) GetMaxGroupSize() int32

func (*ActionProfile) GetPreamble

func (m *ActionProfile) GetPreamble() *Preamble

func (*ActionProfile) GetSize

func (m *ActionProfile) GetSize() int64

func (*ActionProfile) GetTableIds

func (m *ActionProfile) GetTableIds() []uint32

func (*ActionProfile) GetWithSelector

func (m *ActionProfile) GetWithSelector() bool

func (*ActionProfile) ProtoMessage

func (*ActionProfile) ProtoMessage()

func (*ActionProfile) Reset

func (m *ActionProfile) Reset()

func (*ActionProfile) String

func (m *ActionProfile) String() string

func (*ActionProfile) XXX_DiscardUnknown

func (m *ActionProfile) XXX_DiscardUnknown()

func (*ActionProfile) XXX_Marshal

func (m *ActionProfile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ActionProfile) XXX_Merge

func (m *ActionProfile) XXX_Merge(src proto.Message)

func (*ActionProfile) XXX_Size

func (m *ActionProfile) XXX_Size() int

func (*ActionProfile) XXX_Unmarshal

func (m *ActionProfile) XXX_Unmarshal(b []byte) error

type ActionRef

type ActionRef struct {
	Id          uint32          `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Scope       ActionRef_Scope `protobuf:"varint,3,opt,name=scope,proto3,enum=p4.config.v1.ActionRef_Scope" json:"scope,omitempty"`
	Annotations []string        `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,5,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,4,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

used to list all possible actions in a Table

func (*ActionRef) Descriptor

func (*ActionRef) Descriptor() ([]byte, []int)

func (*ActionRef) GetAnnotationLocations

func (m *ActionRef) GetAnnotationLocations() []*SourceLocation

func (*ActionRef) GetAnnotations

func (m *ActionRef) GetAnnotations() []string

func (*ActionRef) GetId

func (m *ActionRef) GetId() uint32

func (*ActionRef) GetScope

func (m *ActionRef) GetScope() ActionRef_Scope

func (*ActionRef) GetStructuredAnnotations

func (m *ActionRef) GetStructuredAnnotations() []*StructuredAnnotation

func (*ActionRef) ProtoMessage

func (*ActionRef) ProtoMessage()

func (*ActionRef) Reset

func (m *ActionRef) Reset()

func (*ActionRef) String

func (m *ActionRef) String() string

func (*ActionRef) XXX_DiscardUnknown

func (m *ActionRef) XXX_DiscardUnknown()

func (*ActionRef) XXX_Marshal

func (m *ActionRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ActionRef) XXX_Merge

func (m *ActionRef) XXX_Merge(src proto.Message)

func (*ActionRef) XXX_Size

func (m *ActionRef) XXX_Size() int

func (*ActionRef) XXX_Unmarshal

func (m *ActionRef) XXX_Unmarshal(b []byte) error

type ActionRef_Scope

type ActionRef_Scope int32
const (
	ActionRef_TABLE_AND_DEFAULT ActionRef_Scope = 0
	ActionRef_TABLE_ONLY        ActionRef_Scope = 1
	ActionRef_DEFAULT_ONLY      ActionRef_Scope = 2
)

func (ActionRef_Scope) EnumDescriptor

func (ActionRef_Scope) EnumDescriptor() ([]byte, []int)

func (ActionRef_Scope) String

func (x ActionRef_Scope) String() string

type Action_Param

type Action_Param struct {
	Id          uint32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name        string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Annotations []string `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations []*SourceLocation `protobuf:"bytes,8,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	Bitwidth            int32             `protobuf:"varint,4,opt,name=bitwidth,proto3" json:"bitwidth,omitempty"`
	// Documentation of the Param
	Doc *Documentation `protobuf:"bytes,5,opt,name=doc,proto3" json:"doc,omitempty"`
	// unset if not user-defined type
	TypeName              *P4NamedType            `protobuf:"bytes,6,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,7,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*Action_Param) Descriptor

func (*Action_Param) Descriptor() ([]byte, []int)

func (*Action_Param) GetAnnotationLocations

func (m *Action_Param) GetAnnotationLocations() []*SourceLocation

func (*Action_Param) GetAnnotations

func (m *Action_Param) GetAnnotations() []string

func (*Action_Param) GetBitwidth

func (m *Action_Param) GetBitwidth() int32

func (*Action_Param) GetDoc

func (m *Action_Param) GetDoc() *Documentation

func (*Action_Param) GetId

func (m *Action_Param) GetId() uint32

func (*Action_Param) GetName

func (m *Action_Param) GetName() string

func (*Action_Param) GetStructuredAnnotations

func (m *Action_Param) GetStructuredAnnotations() []*StructuredAnnotation

func (*Action_Param) GetTypeName

func (m *Action_Param) GetTypeName() *P4NamedType

func (*Action_Param) ProtoMessage

func (*Action_Param) ProtoMessage()

func (*Action_Param) Reset

func (m *Action_Param) Reset()

func (*Action_Param) String

func (m *Action_Param) String() string

func (*Action_Param) XXX_DiscardUnknown

func (m *Action_Param) XXX_DiscardUnknown()

func (*Action_Param) XXX_Marshal

func (m *Action_Param) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Action_Param) XXX_Merge

func (m *Action_Param) XXX_Merge(src proto.Message)

func (*Action_Param) XXX_Size

func (m *Action_Param) XXX_Size() int

func (*Action_Param) XXX_Unmarshal

func (m *Action_Param) XXX_Unmarshal(b []byte) error

type ControllerPacketMetadata

type ControllerPacketMetadata struct {
	// preamble.name and preamble.id will specify header type ("packet_out" or
	// "packet_in" for now).
	Preamble *Preamble `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	// Ordered based on header layout.
	// This is a constraint on the generator of this P4Info.
	Metadata             []*ControllerPacketMetadata_Metadata `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
	XXX_unrecognized     []byte                               `json:"-"`
	XXX_sizecache        int32                                `json:"-"`
}

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.

func (*ControllerPacketMetadata) Descriptor

func (*ControllerPacketMetadata) Descriptor() ([]byte, []int)

func (*ControllerPacketMetadata) GetMetadata

func (*ControllerPacketMetadata) GetPreamble

func (m *ControllerPacketMetadata) GetPreamble() *Preamble

func (*ControllerPacketMetadata) ProtoMessage

func (*ControllerPacketMetadata) ProtoMessage()

func (*ControllerPacketMetadata) Reset

func (m *ControllerPacketMetadata) Reset()

func (*ControllerPacketMetadata) String

func (m *ControllerPacketMetadata) String() string

func (*ControllerPacketMetadata) XXX_DiscardUnknown

func (m *ControllerPacketMetadata) XXX_DiscardUnknown()

func (*ControllerPacketMetadata) XXX_Marshal

func (m *ControllerPacketMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ControllerPacketMetadata) XXX_Merge

func (m *ControllerPacketMetadata) XXX_Merge(src proto.Message)

func (*ControllerPacketMetadata) XXX_Size

func (m *ControllerPacketMetadata) XXX_Size() int

func (*ControllerPacketMetadata) XXX_Unmarshal

func (m *ControllerPacketMetadata) XXX_Unmarshal(b []byte) error

type ControllerPacketMetadata_Metadata

type ControllerPacketMetadata_Metadata struct {
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// This is the name of the header field (not fully-qualified), similar
	// to e.g. Action.Param.name.
	Name        string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Annotations []string `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations []*SourceLocation `protobuf:"bytes,7,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	Bitwidth            int32             `protobuf:"varint,4,opt,name=bitwidth,proto3" json:"bitwidth,omitempty"`
	// unset if not user-defined type
	TypeName              *P4NamedType            `protobuf:"bytes,5,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,6,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*ControllerPacketMetadata_Metadata) Descriptor

func (*ControllerPacketMetadata_Metadata) Descriptor() ([]byte, []int)

func (*ControllerPacketMetadata_Metadata) GetAnnotationLocations

func (m *ControllerPacketMetadata_Metadata) GetAnnotationLocations() []*SourceLocation

func (*ControllerPacketMetadata_Metadata) GetAnnotations

func (m *ControllerPacketMetadata_Metadata) GetAnnotations() []string

func (*ControllerPacketMetadata_Metadata) GetBitwidth

func (m *ControllerPacketMetadata_Metadata) GetBitwidth() int32

func (*ControllerPacketMetadata_Metadata) GetId

func (*ControllerPacketMetadata_Metadata) GetName

func (*ControllerPacketMetadata_Metadata) GetStructuredAnnotations

func (m *ControllerPacketMetadata_Metadata) GetStructuredAnnotations() []*StructuredAnnotation

func (*ControllerPacketMetadata_Metadata) GetTypeName

func (*ControllerPacketMetadata_Metadata) ProtoMessage

func (*ControllerPacketMetadata_Metadata) ProtoMessage()

func (*ControllerPacketMetadata_Metadata) Reset

func (*ControllerPacketMetadata_Metadata) String

func (*ControllerPacketMetadata_Metadata) XXX_DiscardUnknown

func (m *ControllerPacketMetadata_Metadata) XXX_DiscardUnknown()

func (*ControllerPacketMetadata_Metadata) XXX_Marshal

func (m *ControllerPacketMetadata_Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ControllerPacketMetadata_Metadata) XXX_Merge

func (*ControllerPacketMetadata_Metadata) XXX_Size

func (m *ControllerPacketMetadata_Metadata) XXX_Size() int

func (*ControllerPacketMetadata_Metadata) XXX_Unmarshal

func (m *ControllerPacketMetadata_Metadata) XXX_Unmarshal(b []byte) error

type Counter

type Counter struct {
	Preamble *Preamble    `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	Spec     *CounterSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"`
	// number of entries in the counter array
	Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	// unset if index is not user-defined type
	IndexTypeName        *P4NamedType `protobuf:"bytes,4,opt,name=index_type_name,json=indexTypeName,proto3" json:"index_type_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (*Counter) Descriptor

func (*Counter) Descriptor() ([]byte, []int)

func (*Counter) GetIndexTypeName

func (m *Counter) GetIndexTypeName() *P4NamedType

func (*Counter) GetPreamble

func (m *Counter) GetPreamble() *Preamble

func (*Counter) GetSize

func (m *Counter) GetSize() int64

func (*Counter) GetSpec

func (m *Counter) GetSpec() *CounterSpec

func (*Counter) ProtoMessage

func (*Counter) ProtoMessage()

func (*Counter) Reset

func (m *Counter) Reset()

func (*Counter) String

func (m *Counter) String() string

func (*Counter) XXX_DiscardUnknown

func (m *Counter) XXX_DiscardUnknown()

func (*Counter) XXX_Marshal

func (m *Counter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Counter) XXX_Merge

func (m *Counter) XXX_Merge(src proto.Message)

func (*Counter) XXX_Size

func (m *Counter) XXX_Size() int

func (*Counter) XXX_Unmarshal

func (m *Counter) XXX_Unmarshal(b []byte) error

type CounterSpec

type CounterSpec struct {
	Unit                 CounterSpec_Unit `protobuf:"varint,1,opt,name=unit,proto3,enum=p4.config.v1.CounterSpec_Unit" json:"unit,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (*CounterSpec) Descriptor

func (*CounterSpec) Descriptor() ([]byte, []int)

func (*CounterSpec) GetUnit

func (m *CounterSpec) GetUnit() CounterSpec_Unit

func (*CounterSpec) ProtoMessage

func (*CounterSpec) ProtoMessage()

func (*CounterSpec) Reset

func (m *CounterSpec) Reset()

func (*CounterSpec) String

func (m *CounterSpec) String() string

func (*CounterSpec) XXX_DiscardUnknown

func (m *CounterSpec) XXX_DiscardUnknown()

func (*CounterSpec) XXX_Marshal

func (m *CounterSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CounterSpec) XXX_Merge

func (m *CounterSpec) XXX_Merge(src proto.Message)

func (*CounterSpec) XXX_Size

func (m *CounterSpec) XXX_Size() int

func (*CounterSpec) XXX_Unmarshal

func (m *CounterSpec) XXX_Unmarshal(b []byte) error

type CounterSpec_Unit

type CounterSpec_Unit int32

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

const (
	CounterSpec_UNSPECIFIED CounterSpec_Unit = 0
	CounterSpec_BYTES       CounterSpec_Unit = 1
	CounterSpec_PACKETS     CounterSpec_Unit = 2
	CounterSpec_BOTH        CounterSpec_Unit = 3
)

func (CounterSpec_Unit) EnumDescriptor

func (CounterSpec_Unit) EnumDescriptor() ([]byte, []int)

func (CounterSpec_Unit) String

func (x CounterSpec_Unit) String() string

type Digest

type Digest struct {
	Preamble             *Preamble       `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	TypeSpec             *P4DataTypeSpec `protobuf:"bytes,2,opt,name=type_spec,json=typeSpec,proto3" json:"type_spec,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (*Digest) Descriptor

func (*Digest) Descriptor() ([]byte, []int)

func (*Digest) GetPreamble

func (m *Digest) GetPreamble() *Preamble

func (*Digest) GetTypeSpec

func (m *Digest) GetTypeSpec() *P4DataTypeSpec

func (*Digest) ProtoMessage

func (*Digest) ProtoMessage()

func (*Digest) Reset

func (m *Digest) Reset()

func (*Digest) String

func (m *Digest) String() string

func (*Digest) XXX_DiscardUnknown

func (m *Digest) XXX_DiscardUnknown()

func (*Digest) XXX_Marshal

func (m *Digest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Digest) XXX_Merge

func (m *Digest) XXX_Merge(src proto.Message)

func (*Digest) XXX_Size

func (m *Digest) XXX_Size() int

func (*Digest) XXX_Unmarshal

func (m *Digest) XXX_Unmarshal(b []byte) error

type DirectCounter

type DirectCounter struct {
	Preamble *Preamble    `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	Spec     *CounterSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"`
	// the id of the table to which the counter is attached
	DirectTableId        uint32   `protobuf:"varint,3,opt,name=direct_table_id,json=directTableId,proto3" json:"direct_table_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*DirectCounter) Descriptor

func (*DirectCounter) Descriptor() ([]byte, []int)

func (*DirectCounter) GetDirectTableId

func (m *DirectCounter) GetDirectTableId() uint32

func (*DirectCounter) GetPreamble

func (m *DirectCounter) GetPreamble() *Preamble

func (*DirectCounter) GetSpec

func (m *DirectCounter) GetSpec() *CounterSpec

func (*DirectCounter) ProtoMessage

func (*DirectCounter) ProtoMessage()

func (*DirectCounter) Reset

func (m *DirectCounter) Reset()

func (*DirectCounter) String

func (m *DirectCounter) String() string

func (*DirectCounter) XXX_DiscardUnknown

func (m *DirectCounter) XXX_DiscardUnknown()

func (*DirectCounter) XXX_Marshal

func (m *DirectCounter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DirectCounter) XXX_Merge

func (m *DirectCounter) XXX_Merge(src proto.Message)

func (*DirectCounter) XXX_Size

func (m *DirectCounter) XXX_Size() int

func (*DirectCounter) XXX_Unmarshal

func (m *DirectCounter) XXX_Unmarshal(b []byte) error

type DirectMeter

type DirectMeter struct {
	Preamble *Preamble  `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	Spec     *MeterSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"`
	// the id of the table to which the meter is attached
	DirectTableId        uint32   `protobuf:"varint,3,opt,name=direct_table_id,json=directTableId,proto3" json:"direct_table_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*DirectMeter) Descriptor

func (*DirectMeter) Descriptor() ([]byte, []int)

func (*DirectMeter) GetDirectTableId

func (m *DirectMeter) GetDirectTableId() uint32

func (*DirectMeter) GetPreamble

func (m *DirectMeter) GetPreamble() *Preamble

func (*DirectMeter) GetSpec

func (m *DirectMeter) GetSpec() *MeterSpec

func (*DirectMeter) ProtoMessage

func (*DirectMeter) ProtoMessage()

func (*DirectMeter) Reset

func (m *DirectMeter) Reset()

func (*DirectMeter) String

func (m *DirectMeter) String() string

func (*DirectMeter) XXX_DiscardUnknown

func (m *DirectMeter) XXX_DiscardUnknown()

func (*DirectMeter) XXX_Marshal

func (m *DirectMeter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DirectMeter) XXX_Merge

func (m *DirectMeter) XXX_Merge(src proto.Message)

func (*DirectMeter) XXX_Size

func (m *DirectMeter) XXX_Size() int

func (*DirectMeter) XXX_Unmarshal

func (m *DirectMeter) XXX_Unmarshal(b []byte) error

type Documentation

type Documentation struct {
	// A brief description of something, e.g. one sentence
	Brief string `protobuf:"bytes,1,opt,name=brief,proto3" json:"brief,omitempty"`
	// A more verbose description of something. Multiline is accepted. Markup
	// format (if any) is TBD.
	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Documentation) Descriptor

func (*Documentation) Descriptor() ([]byte, []int)

func (*Documentation) GetBrief

func (m *Documentation) GetBrief() string

func (*Documentation) GetDescription

func (m *Documentation) GetDescription() string

func (*Documentation) ProtoMessage

func (*Documentation) ProtoMessage()

func (*Documentation) Reset

func (m *Documentation) Reset()

func (*Documentation) String

func (m *Documentation) String() string

func (*Documentation) XXX_DiscardUnknown

func (m *Documentation) XXX_DiscardUnknown()

func (*Documentation) XXX_Marshal

func (m *Documentation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Documentation) XXX_Merge

func (m *Documentation) XXX_Merge(src proto.Message)

func (*Documentation) XXX_Size

func (m *Documentation) XXX_Size() int

func (*Documentation) XXX_Unmarshal

func (m *Documentation) XXX_Unmarshal(b []byte) error

type Expression

type Expression struct {
	// Types that are valid to be assigned to Value:
	//	*Expression_StringValue
	//	*Expression_Int64Value
	//	*Expression_BoolValue
	Value                isExpression_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (*Expression) Descriptor

func (*Expression) Descriptor() ([]byte, []int)

func (*Expression) GetBoolValue

func (m *Expression) GetBoolValue() bool

func (*Expression) GetInt64Value

func (m *Expression) GetInt64Value() int64

func (*Expression) GetStringValue

func (m *Expression) GetStringValue() string

func (*Expression) GetValue

func (m *Expression) GetValue() isExpression_Value

func (*Expression) ProtoMessage

func (*Expression) ProtoMessage()

func (*Expression) Reset

func (m *Expression) Reset()

func (*Expression) String

func (m *Expression) String() string

func (*Expression) XXX_DiscardUnknown

func (m *Expression) XXX_DiscardUnknown()

func (*Expression) XXX_Marshal

func (m *Expression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expression) XXX_Merge

func (m *Expression) XXX_Merge(src proto.Message)

func (*Expression) XXX_OneofWrappers

func (*Expression) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*Expression) XXX_Size

func (m *Expression) XXX_Size() int

func (*Expression) XXX_Unmarshal

func (m *Expression) XXX_Unmarshal(b []byte) error

type ExpressionList

type ExpressionList struct {
	Expressions          []*Expression `protobuf:"bytes,1,rep,name=expressions,proto3" json:"expressions,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (*ExpressionList) Descriptor

func (*ExpressionList) Descriptor() ([]byte, []int)

func (*ExpressionList) GetExpressions

func (m *ExpressionList) GetExpressions() []*Expression

func (*ExpressionList) ProtoMessage

func (*ExpressionList) ProtoMessage()

func (*ExpressionList) Reset

func (m *ExpressionList) Reset()

func (*ExpressionList) String

func (m *ExpressionList) String() string

func (*ExpressionList) XXX_DiscardUnknown

func (m *ExpressionList) XXX_DiscardUnknown()

func (*ExpressionList) XXX_Marshal

func (m *ExpressionList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ExpressionList) XXX_Merge

func (m *ExpressionList) XXX_Merge(src proto.Message)

func (*ExpressionList) XXX_Size

func (m *ExpressionList) XXX_Size() int

func (*ExpressionList) XXX_Unmarshal

func (m *ExpressionList) XXX_Unmarshal(b []byte) error

type Expression_BoolValue

type Expression_BoolValue struct {
	BoolValue bool `protobuf:"varint,3,opt,name=bool_value,json=boolValue,proto3,oneof"`
}

type Expression_Int64Value

type Expression_Int64Value struct {
	Int64Value int64 `protobuf:"varint,2,opt,name=int64_value,json=int64Value,proto3,oneof"`
}

type Expression_StringValue

type Expression_StringValue struct {
	StringValue string `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type Extern

type Extern struct {
	// the extern_type_id is unique for a given architecture and must be in the
	// range [0x81, 0xfe].
	ExternTypeId         uint32            `protobuf:"varint,1,opt,name=extern_type_id,json=externTypeId,proto3" json:"extern_type_id,omitempty"`
	ExternTypeName       string            `protobuf:"bytes,2,opt,name=extern_type_name,json=externTypeName,proto3" json:"extern_type_name,omitempty"`
	Instances            []*ExternInstance `protobuf:"bytes,3,rep,name=instances,proto3" json:"instances,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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

func (*Extern) Descriptor

func (*Extern) Descriptor() ([]byte, []int)

func (*Extern) GetExternTypeId

func (m *Extern) GetExternTypeId() uint32

func (*Extern) GetExternTypeName

func (m *Extern) GetExternTypeName() string

func (*Extern) GetInstances

func (m *Extern) GetInstances() []*ExternInstance

func (*Extern) ProtoMessage

func (*Extern) ProtoMessage()

func (*Extern) Reset

func (m *Extern) Reset()

func (*Extern) String

func (m *Extern) String() string

func (*Extern) XXX_DiscardUnknown

func (m *Extern) XXX_DiscardUnknown()

func (*Extern) XXX_Marshal

func (m *Extern) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Extern) XXX_Merge

func (m *Extern) XXX_Merge(src proto.Message)

func (*Extern) XXX_Size

func (m *Extern) XXX_Size() int

func (*Extern) XXX_Unmarshal

func (m *Extern) XXX_Unmarshal(b []byte) error

type ExternInstance

type ExternInstance struct {
	Preamble *Preamble `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	// specific to the extern type, declared in a separate vendor-specific proto
	// file
	Info                 *any.Any `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ExternInstance) Descriptor

func (*ExternInstance) Descriptor() ([]byte, []int)

func (*ExternInstance) GetInfo

func (m *ExternInstance) GetInfo() *any.Any

func (*ExternInstance) GetPreamble

func (m *ExternInstance) GetPreamble() *Preamble

func (*ExternInstance) ProtoMessage

func (*ExternInstance) ProtoMessage()

func (*ExternInstance) Reset

func (m *ExternInstance) Reset()

func (*ExternInstance) String

func (m *ExternInstance) String() string

func (*ExternInstance) XXX_DiscardUnknown

func (m *ExternInstance) XXX_DiscardUnknown()

func (*ExternInstance) XXX_Marshal

func (m *ExternInstance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ExternInstance) XXX_Merge

func (m *ExternInstance) XXX_Merge(src proto.Message)

func (*ExternInstance) XXX_Size

func (m *ExternInstance) XXX_Size() int

func (*ExternInstance) XXX_Unmarshal

func (m *ExternInstance) XXX_Unmarshal(b []byte) error

type KeyValuePair

type KeyValuePair struct {
	Key                  string      `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value                *Expression `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*KeyValuePair) Descriptor

func (*KeyValuePair) Descriptor() ([]byte, []int)

func (*KeyValuePair) GetKey

func (m *KeyValuePair) GetKey() string

func (*KeyValuePair) GetValue

func (m *KeyValuePair) GetValue() *Expression

func (*KeyValuePair) ProtoMessage

func (*KeyValuePair) ProtoMessage()

func (*KeyValuePair) Reset

func (m *KeyValuePair) Reset()

func (*KeyValuePair) String

func (m *KeyValuePair) String() string

func (*KeyValuePair) XXX_DiscardUnknown

func (m *KeyValuePair) XXX_DiscardUnknown()

func (*KeyValuePair) XXX_Marshal

func (m *KeyValuePair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KeyValuePair) XXX_Merge

func (m *KeyValuePair) XXX_Merge(src proto.Message)

func (*KeyValuePair) XXX_Size

func (m *KeyValuePair) XXX_Size() int

func (*KeyValuePair) XXX_Unmarshal

func (m *KeyValuePair) XXX_Unmarshal(b []byte) error

type KeyValuePairList

type KeyValuePairList struct {
	KvPairs              []*KeyValuePair `protobuf:"bytes,1,rep,name=kv_pairs,json=kvPairs,proto3" json:"kv_pairs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (*KeyValuePairList) Descriptor

func (*KeyValuePairList) Descriptor() ([]byte, []int)

func (*KeyValuePairList) GetKvPairs

func (m *KeyValuePairList) GetKvPairs() []*KeyValuePair

func (*KeyValuePairList) ProtoMessage

func (*KeyValuePairList) ProtoMessage()

func (*KeyValuePairList) Reset

func (m *KeyValuePairList) Reset()

func (*KeyValuePairList) String

func (m *KeyValuePairList) String() string

func (*KeyValuePairList) XXX_DiscardUnknown

func (m *KeyValuePairList) XXX_DiscardUnknown()

func (*KeyValuePairList) XXX_Marshal

func (m *KeyValuePairList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*KeyValuePairList) XXX_Merge

func (m *KeyValuePairList) XXX_Merge(src proto.Message)

func (*KeyValuePairList) XXX_Size

func (m *KeyValuePairList) XXX_Size() int

func (*KeyValuePairList) XXX_Unmarshal

func (m *KeyValuePairList) XXX_Unmarshal(b []byte) error

type MatchField

type MatchField struct {
	Id          uint32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name        string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Annotations []string `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations []*SourceLocation `protobuf:"bytes,10,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	Bitwidth            int32             `protobuf:"varint,4,opt,name=bitwidth,proto3" json:"bitwidth,omitempty"`
	// Types that are valid to be assigned to Match:
	//	*MatchField_MatchType_
	//	*MatchField_OtherMatchType
	Match isMatchField_Match `protobuf_oneof:"match"`
	// Documentation of the match field
	Doc *Documentation `protobuf:"bytes,6,opt,name=doc,proto3" json:"doc,omitempty"`
	// unset if not user-defined type
	TypeName              *P4NamedType            `protobuf:"bytes,8,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,9,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*MatchField) Descriptor

func (*MatchField) Descriptor() ([]byte, []int)

func (*MatchField) GetAnnotationLocations

func (m *MatchField) GetAnnotationLocations() []*SourceLocation

func (*MatchField) GetAnnotations

func (m *MatchField) GetAnnotations() []string

func (*MatchField) GetBitwidth

func (m *MatchField) GetBitwidth() int32

func (*MatchField) GetDoc

func (m *MatchField) GetDoc() *Documentation

func (*MatchField) GetId

func (m *MatchField) GetId() uint32

func (*MatchField) GetMatch

func (m *MatchField) GetMatch() isMatchField_Match

func (*MatchField) GetMatchType

func (m *MatchField) GetMatchType() MatchField_MatchType

func (*MatchField) GetName

func (m *MatchField) GetName() string

func (*MatchField) GetOtherMatchType

func (m *MatchField) GetOtherMatchType() string

func (*MatchField) GetStructuredAnnotations

func (m *MatchField) GetStructuredAnnotations() []*StructuredAnnotation

func (*MatchField) GetTypeName

func (m *MatchField) GetTypeName() *P4NamedType

func (*MatchField) ProtoMessage

func (*MatchField) ProtoMessage()

func (*MatchField) Reset

func (m *MatchField) Reset()

func (*MatchField) String

func (m *MatchField) String() string

func (*MatchField) XXX_DiscardUnknown

func (m *MatchField) XXX_DiscardUnknown()

func (*MatchField) XXX_Marshal

func (m *MatchField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MatchField) XXX_Merge

func (m *MatchField) XXX_Merge(src proto.Message)

func (*MatchField) XXX_OneofWrappers

func (*MatchField) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*MatchField) XXX_Size

func (m *MatchField) XXX_Size() int

func (*MatchField) XXX_Unmarshal

func (m *MatchField) XXX_Unmarshal(b []byte) error

type MatchField_MatchType

type MatchField_MatchType int32
const (
	MatchField_UNSPECIFIED MatchField_MatchType = 0
	MatchField_EXACT       MatchField_MatchType = 2
	MatchField_LPM         MatchField_MatchType = 3
	MatchField_TERNARY     MatchField_MatchType = 4
	MatchField_RANGE       MatchField_MatchType = 5
	MatchField_OPTIONAL    MatchField_MatchType = 6
)

func (MatchField_MatchType) EnumDescriptor

func (MatchField_MatchType) EnumDescriptor() ([]byte, []int)

func (MatchField_MatchType) String

func (x MatchField_MatchType) String() string

type MatchField_MatchType_

type MatchField_MatchType_ struct {
	MatchType MatchField_MatchType `protobuf:"varint,5,opt,name=match_type,json=matchType,proto3,enum=p4.config.v1.MatchField_MatchType,oneof"`
}

type MatchField_OtherMatchType

type MatchField_OtherMatchType struct {
	OtherMatchType string `protobuf:"bytes,7,opt,name=other_match_type,json=otherMatchType,proto3,oneof"`
}

type Meter

type Meter struct {
	Preamble *Preamble  `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	Spec     *MeterSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"`
	// number of entries in the meter array
	Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	// unset if index is not user-defined type
	IndexTypeName        *P4NamedType `protobuf:"bytes,4,opt,name=index_type_name,json=indexTypeName,proto3" json:"index_type_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (*Meter) Descriptor

func (*Meter) Descriptor() ([]byte, []int)

func (*Meter) GetIndexTypeName

func (m *Meter) GetIndexTypeName() *P4NamedType

func (*Meter) GetPreamble

func (m *Meter) GetPreamble() *Preamble

func (*Meter) GetSize

func (m *Meter) GetSize() int64

func (*Meter) GetSpec

func (m *Meter) GetSpec() *MeterSpec

func (*Meter) ProtoMessage

func (*Meter) ProtoMessage()

func (*Meter) Reset

func (m *Meter) Reset()

func (*Meter) String

func (m *Meter) String() string

func (*Meter) XXX_DiscardUnknown

func (m *Meter) XXX_DiscardUnknown()

func (*Meter) XXX_Marshal

func (m *Meter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Meter) XXX_Merge

func (m *Meter) XXX_Merge(src proto.Message)

func (*Meter) XXX_Size

func (m *Meter) XXX_Size() int

func (*Meter) XXX_Unmarshal

func (m *Meter) XXX_Unmarshal(b []byte) error

type MeterSpec

type MeterSpec struct {
	Unit                 MeterSpec_Unit `protobuf:"varint,1,opt,name=unit,proto3,enum=p4.config.v1.MeterSpec_Unit" json:"unit,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (*MeterSpec) Descriptor

func (*MeterSpec) Descriptor() ([]byte, []int)

func (*MeterSpec) GetUnit

func (m *MeterSpec) GetUnit() MeterSpec_Unit

func (*MeterSpec) ProtoMessage

func (*MeterSpec) ProtoMessage()

func (*MeterSpec) Reset

func (m *MeterSpec) Reset()

func (*MeterSpec) String

func (m *MeterSpec) String() string

func (*MeterSpec) XXX_DiscardUnknown

func (m *MeterSpec) XXX_DiscardUnknown()

func (*MeterSpec) XXX_Marshal

func (m *MeterSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MeterSpec) XXX_Merge

func (m *MeterSpec) XXX_Merge(src proto.Message)

func (*MeterSpec) XXX_Size

func (m *MeterSpec) XXX_Size() int

func (*MeterSpec) XXX_Unmarshal

func (m *MeterSpec) XXX_Unmarshal(b []byte) error

type MeterSpec_Unit

type MeterSpec_Unit int32

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

const (
	MeterSpec_UNSPECIFIED MeterSpec_Unit = 0
	MeterSpec_BYTES       MeterSpec_Unit = 1
	MeterSpec_PACKETS     MeterSpec_Unit = 2
)

func (MeterSpec_Unit) EnumDescriptor

func (MeterSpec_Unit) EnumDescriptor() ([]byte, []int)

func (MeterSpec_Unit) String

func (x MeterSpec_Unit) String() string

type P4BitTypeSpec

type P4BitTypeSpec struct {
	Bitwidth             int32    `protobuf:"varint,1,opt,name=bitwidth,proto3" json:"bitwidth,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*P4BitTypeSpec) Descriptor

func (*P4BitTypeSpec) Descriptor() ([]byte, []int)

func (*P4BitTypeSpec) GetBitwidth

func (m *P4BitTypeSpec) GetBitwidth() int32

func (*P4BitTypeSpec) ProtoMessage

func (*P4BitTypeSpec) ProtoMessage()

func (*P4BitTypeSpec) Reset

func (m *P4BitTypeSpec) Reset()

func (*P4BitTypeSpec) String

func (m *P4BitTypeSpec) String() string

func (*P4BitTypeSpec) XXX_DiscardUnknown

func (m *P4BitTypeSpec) XXX_DiscardUnknown()

func (*P4BitTypeSpec) XXX_Marshal

func (m *P4BitTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4BitTypeSpec) XXX_Merge

func (m *P4BitTypeSpec) XXX_Merge(src proto.Message)

func (*P4BitTypeSpec) XXX_Size

func (m *P4BitTypeSpec) XXX_Size() int

func (*P4BitTypeSpec) XXX_Unmarshal

func (m *P4BitTypeSpec) XXX_Unmarshal(b []byte) error

type P4BitstringLikeTypeSpec

type P4BitstringLikeTypeSpec struct {
	// Types that are valid to be assigned to TypeSpec:
	//	*P4BitstringLikeTypeSpec_Bit
	//	*P4BitstringLikeTypeSpec_Int
	//	*P4BitstringLikeTypeSpec_Varbit
	TypeSpec isP4BitstringLikeTypeSpec_TypeSpec `protobuf_oneof:"type_spec"`
	// Useful to identify well-known types, such as IP address or Ethernet MAC
	// address.
	Annotations []string `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,5,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,6,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*P4BitstringLikeTypeSpec) Descriptor

func (*P4BitstringLikeTypeSpec) Descriptor() ([]byte, []int)

func (*P4BitstringLikeTypeSpec) GetAnnotationLocations

func (m *P4BitstringLikeTypeSpec) GetAnnotationLocations() []*SourceLocation

func (*P4BitstringLikeTypeSpec) GetAnnotations

func (m *P4BitstringLikeTypeSpec) GetAnnotations() []string

func (*P4BitstringLikeTypeSpec) GetBit

func (*P4BitstringLikeTypeSpec) GetInt

func (*P4BitstringLikeTypeSpec) GetStructuredAnnotations

func (m *P4BitstringLikeTypeSpec) GetStructuredAnnotations() []*StructuredAnnotation

func (*P4BitstringLikeTypeSpec) GetTypeSpec

func (m *P4BitstringLikeTypeSpec) GetTypeSpec() isP4BitstringLikeTypeSpec_TypeSpec

func (*P4BitstringLikeTypeSpec) GetVarbit

func (m *P4BitstringLikeTypeSpec) GetVarbit() *P4VarbitTypeSpec

func (*P4BitstringLikeTypeSpec) ProtoMessage

func (*P4BitstringLikeTypeSpec) ProtoMessage()

func (*P4BitstringLikeTypeSpec) Reset

func (m *P4BitstringLikeTypeSpec) Reset()

func (*P4BitstringLikeTypeSpec) String

func (m *P4BitstringLikeTypeSpec) String() string

func (*P4BitstringLikeTypeSpec) XXX_DiscardUnknown

func (m *P4BitstringLikeTypeSpec) XXX_DiscardUnknown()

func (*P4BitstringLikeTypeSpec) XXX_Marshal

func (m *P4BitstringLikeTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4BitstringLikeTypeSpec) XXX_Merge

func (m *P4BitstringLikeTypeSpec) XXX_Merge(src proto.Message)

func (*P4BitstringLikeTypeSpec) XXX_OneofWrappers

func (*P4BitstringLikeTypeSpec) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*P4BitstringLikeTypeSpec) XXX_Size

func (m *P4BitstringLikeTypeSpec) XXX_Size() int

func (*P4BitstringLikeTypeSpec) XXX_Unmarshal

func (m *P4BitstringLikeTypeSpec) XXX_Unmarshal(b []byte) error

type P4BitstringLikeTypeSpec_Bit

type P4BitstringLikeTypeSpec_Bit struct {
	Bit *P4BitTypeSpec `protobuf:"bytes,1,opt,name=bit,proto3,oneof"`
}

type P4BitstringLikeTypeSpec_Int

type P4BitstringLikeTypeSpec_Int struct {
	Int *P4IntTypeSpec `protobuf:"bytes,2,opt,name=int,proto3,oneof"`
}

type P4BitstringLikeTypeSpec_Varbit

type P4BitstringLikeTypeSpec_Varbit struct {
	Varbit *P4VarbitTypeSpec `protobuf:"bytes,3,opt,name=varbit,proto3,oneof"`
}

type P4BoolType

type P4BoolType struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*P4BoolType) Descriptor

func (*P4BoolType) Descriptor() ([]byte, []int)

func (*P4BoolType) ProtoMessage

func (*P4BoolType) ProtoMessage()

func (*P4BoolType) Reset

func (m *P4BoolType) Reset()

func (*P4BoolType) String

func (m *P4BoolType) String() string

func (*P4BoolType) XXX_DiscardUnknown

func (m *P4BoolType) XXX_DiscardUnknown()

func (*P4BoolType) XXX_Marshal

func (m *P4BoolType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4BoolType) XXX_Merge

func (m *P4BoolType) XXX_Merge(src proto.Message)

func (*P4BoolType) XXX_Size

func (m *P4BoolType) XXX_Size() int

func (*P4BoolType) XXX_Unmarshal

func (m *P4BoolType) XXX_Unmarshal(b []byte) error

type P4DataTypeSpec

type P4DataTypeSpec struct {
	// Types that are valid to be assigned to TypeSpec:
	//	*P4DataTypeSpec_Bitstring
	//	*P4DataTypeSpec_Bool
	//	*P4DataTypeSpec_Tuple
	//	*P4DataTypeSpec_Struct
	//	*P4DataTypeSpec_Header
	//	*P4DataTypeSpec_HeaderUnion
	//	*P4DataTypeSpec_HeaderStack
	//	*P4DataTypeSpec_HeaderUnionStack
	//	*P4DataTypeSpec_Enum
	//	*P4DataTypeSpec_Error
	//	*P4DataTypeSpec_SerializableEnum
	//	*P4DataTypeSpec_NewType
	TypeSpec             isP4DataTypeSpec_TypeSpec `protobuf_oneof:"type_spec"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

Describes a P4_16 type.

func (*P4DataTypeSpec) Descriptor

func (*P4DataTypeSpec) Descriptor() ([]byte, []int)

func (*P4DataTypeSpec) GetBitstring

func (m *P4DataTypeSpec) GetBitstring() *P4BitstringLikeTypeSpec

func (*P4DataTypeSpec) GetBool

func (m *P4DataTypeSpec) GetBool() *P4BoolType

func (*P4DataTypeSpec) GetEnum

func (m *P4DataTypeSpec) GetEnum() *P4NamedType

func (*P4DataTypeSpec) GetError

func (m *P4DataTypeSpec) GetError() *P4ErrorType

func (*P4DataTypeSpec) GetHeader

func (m *P4DataTypeSpec) GetHeader() *P4NamedType

func (*P4DataTypeSpec) GetHeaderStack

func (m *P4DataTypeSpec) GetHeaderStack() *P4HeaderStackTypeSpec

func (*P4DataTypeSpec) GetHeaderUnion

func (m *P4DataTypeSpec) GetHeaderUnion() *P4NamedType

func (*P4DataTypeSpec) GetHeaderUnionStack

func (m *P4DataTypeSpec) GetHeaderUnionStack() *P4HeaderUnionStackTypeSpec

func (*P4DataTypeSpec) GetNewType

func (m *P4DataTypeSpec) GetNewType() *P4NamedType

func (*P4DataTypeSpec) GetSerializableEnum

func (m *P4DataTypeSpec) GetSerializableEnum() *P4NamedType

func (*P4DataTypeSpec) GetStruct

func (m *P4DataTypeSpec) GetStruct() *P4NamedType

func (*P4DataTypeSpec) GetTuple

func (m *P4DataTypeSpec) GetTuple() *P4TupleTypeSpec

func (*P4DataTypeSpec) GetTypeSpec

func (m *P4DataTypeSpec) GetTypeSpec() isP4DataTypeSpec_TypeSpec

func (*P4DataTypeSpec) ProtoMessage

func (*P4DataTypeSpec) ProtoMessage()

func (*P4DataTypeSpec) Reset

func (m *P4DataTypeSpec) Reset()

func (*P4DataTypeSpec) String

func (m *P4DataTypeSpec) String() string

func (*P4DataTypeSpec) XXX_DiscardUnknown

func (m *P4DataTypeSpec) XXX_DiscardUnknown()

func (*P4DataTypeSpec) XXX_Marshal

func (m *P4DataTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4DataTypeSpec) XXX_Merge

func (m *P4DataTypeSpec) XXX_Merge(src proto.Message)

func (*P4DataTypeSpec) XXX_OneofWrappers

func (*P4DataTypeSpec) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*P4DataTypeSpec) XXX_Size

func (m *P4DataTypeSpec) XXX_Size() int

func (*P4DataTypeSpec) XXX_Unmarshal

func (m *P4DataTypeSpec) XXX_Unmarshal(b []byte) error

type P4DataTypeSpec_Bitstring

type P4DataTypeSpec_Bitstring struct {
	Bitstring *P4BitstringLikeTypeSpec `protobuf:"bytes,1,opt,name=bitstring,proto3,oneof"`
}

type P4DataTypeSpec_Bool

type P4DataTypeSpec_Bool struct {
	Bool *P4BoolType `protobuf:"bytes,2,opt,name=bool,proto3,oneof"`
}

type P4DataTypeSpec_Enum

type P4DataTypeSpec_Enum struct {
	Enum *P4NamedType `protobuf:"bytes,9,opt,name=enum,proto3,oneof"`
}

type P4DataTypeSpec_Error

type P4DataTypeSpec_Error struct {
	Error *P4ErrorType `protobuf:"bytes,10,opt,name=error,proto3,oneof"`
}

type P4DataTypeSpec_Header

type P4DataTypeSpec_Header struct {
	Header *P4NamedType `protobuf:"bytes,5,opt,name=header,proto3,oneof"`
}

type P4DataTypeSpec_HeaderStack

type P4DataTypeSpec_HeaderStack struct {
	HeaderStack *P4HeaderStackTypeSpec `protobuf:"bytes,7,opt,name=header_stack,json=headerStack,proto3,oneof"`
}

type P4DataTypeSpec_HeaderUnion

type P4DataTypeSpec_HeaderUnion struct {
	HeaderUnion *P4NamedType `protobuf:"bytes,6,opt,name=header_union,json=headerUnion,proto3,oneof"`
}

type P4DataTypeSpec_HeaderUnionStack

type P4DataTypeSpec_HeaderUnionStack struct {
	HeaderUnionStack *P4HeaderUnionStackTypeSpec `protobuf:"bytes,8,opt,name=header_union_stack,json=headerUnionStack,proto3,oneof"`
}

type P4DataTypeSpec_NewType

type P4DataTypeSpec_NewType struct {
	NewType *P4NamedType `protobuf:"bytes,12,opt,name=new_type,json=newType,proto3,oneof"`
}

type P4DataTypeSpec_SerializableEnum

type P4DataTypeSpec_SerializableEnum struct {
	SerializableEnum *P4NamedType `protobuf:"bytes,11,opt,name=serializable_enum,json=serializableEnum,proto3,oneof"`
}

type P4DataTypeSpec_Struct

type P4DataTypeSpec_Struct struct {
	Struct *P4NamedType `protobuf:"bytes,4,opt,name=struct,proto3,oneof"`
}

type P4DataTypeSpec_Tuple

type P4DataTypeSpec_Tuple struct {
	Tuple *P4TupleTypeSpec `protobuf:"bytes,3,opt,name=tuple,proto3,oneof"`
}

type P4EnumTypeSpec

type P4EnumTypeSpec struct {
	Members     []*P4EnumTypeSpec_Member `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"`
	Annotations []string                 `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,4,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,3,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

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

func (*P4EnumTypeSpec) Descriptor

func (*P4EnumTypeSpec) Descriptor() ([]byte, []int)

func (*P4EnumTypeSpec) GetAnnotationLocations

func (m *P4EnumTypeSpec) GetAnnotationLocations() []*SourceLocation

func (*P4EnumTypeSpec) GetAnnotations

func (m *P4EnumTypeSpec) GetAnnotations() []string

func (*P4EnumTypeSpec) GetMembers

func (m *P4EnumTypeSpec) GetMembers() []*P4EnumTypeSpec_Member

func (*P4EnumTypeSpec) GetStructuredAnnotations

func (m *P4EnumTypeSpec) GetStructuredAnnotations() []*StructuredAnnotation

func (*P4EnumTypeSpec) ProtoMessage

func (*P4EnumTypeSpec) ProtoMessage()

func (*P4EnumTypeSpec) Reset

func (m *P4EnumTypeSpec) Reset()

func (*P4EnumTypeSpec) String

func (m *P4EnumTypeSpec) String() string

func (*P4EnumTypeSpec) XXX_DiscardUnknown

func (m *P4EnumTypeSpec) XXX_DiscardUnknown()

func (*P4EnumTypeSpec) XXX_Marshal

func (m *P4EnumTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4EnumTypeSpec) XXX_Merge

func (m *P4EnumTypeSpec) XXX_Merge(src proto.Message)

func (*P4EnumTypeSpec) XXX_Size

func (m *P4EnumTypeSpec) XXX_Size() int

func (*P4EnumTypeSpec) XXX_Unmarshal

func (m *P4EnumTypeSpec) XXX_Unmarshal(b []byte) error

type P4EnumTypeSpec_Member

type P4EnumTypeSpec_Member struct {
	Name        string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Annotations []string `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,4,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,3,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*P4EnumTypeSpec_Member) Descriptor

func (*P4EnumTypeSpec_Member) Descriptor() ([]byte, []int)

func (*P4EnumTypeSpec_Member) GetAnnotationLocations

func (m *P4EnumTypeSpec_Member) GetAnnotationLocations() []*SourceLocation

func (*P4EnumTypeSpec_Member) GetAnnotations

func (m *P4EnumTypeSpec_Member) GetAnnotations() []string

func (*P4EnumTypeSpec_Member) GetName

func (m *P4EnumTypeSpec_Member) GetName() string

func (*P4EnumTypeSpec_Member) GetStructuredAnnotations

func (m *P4EnumTypeSpec_Member) GetStructuredAnnotations() []*StructuredAnnotation

func (*P4EnumTypeSpec_Member) ProtoMessage

func (*P4EnumTypeSpec_Member) ProtoMessage()

func (*P4EnumTypeSpec_Member) Reset

func (m *P4EnumTypeSpec_Member) Reset()

func (*P4EnumTypeSpec_Member) String

func (m *P4EnumTypeSpec_Member) String() string

func (*P4EnumTypeSpec_Member) XXX_DiscardUnknown

func (m *P4EnumTypeSpec_Member) XXX_DiscardUnknown()

func (*P4EnumTypeSpec_Member) XXX_Marshal

func (m *P4EnumTypeSpec_Member) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4EnumTypeSpec_Member) XXX_Merge

func (m *P4EnumTypeSpec_Member) XXX_Merge(src proto.Message)

func (*P4EnumTypeSpec_Member) XXX_Size

func (m *P4EnumTypeSpec_Member) XXX_Size() int

func (*P4EnumTypeSpec_Member) XXX_Unmarshal

func (m *P4EnumTypeSpec_Member) XXX_Unmarshal(b []byte) error

type P4ErrorType

type P4ErrorType struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*P4ErrorType) Descriptor

func (*P4ErrorType) Descriptor() ([]byte, []int)

func (*P4ErrorType) ProtoMessage

func (*P4ErrorType) ProtoMessage()

func (*P4ErrorType) Reset

func (m *P4ErrorType) Reset()

func (*P4ErrorType) String

func (m *P4ErrorType) String() string

func (*P4ErrorType) XXX_DiscardUnknown

func (m *P4ErrorType) XXX_DiscardUnknown()

func (*P4ErrorType) XXX_Marshal

func (m *P4ErrorType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4ErrorType) XXX_Merge

func (m *P4ErrorType) XXX_Merge(src proto.Message)

func (*P4ErrorType) XXX_Size

func (m *P4ErrorType) XXX_Size() int

func (*P4ErrorType) XXX_Unmarshal

func (m *P4ErrorType) XXX_Unmarshal(b []byte) error

type P4ErrorTypeSpec

type P4ErrorTypeSpec struct {
	Members              []string `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*P4ErrorTypeSpec) Descriptor

func (*P4ErrorTypeSpec) Descriptor() ([]byte, []int)

func (*P4ErrorTypeSpec) GetMembers

func (m *P4ErrorTypeSpec) GetMembers() []string

func (*P4ErrorTypeSpec) ProtoMessage

func (*P4ErrorTypeSpec) ProtoMessage()

func (*P4ErrorTypeSpec) Reset

func (m *P4ErrorTypeSpec) Reset()

func (*P4ErrorTypeSpec) String

func (m *P4ErrorTypeSpec) String() string

func (*P4ErrorTypeSpec) XXX_DiscardUnknown

func (m *P4ErrorTypeSpec) XXX_DiscardUnknown()

func (*P4ErrorTypeSpec) XXX_Marshal

func (m *P4ErrorTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4ErrorTypeSpec) XXX_Merge

func (m *P4ErrorTypeSpec) XXX_Merge(src proto.Message)

func (*P4ErrorTypeSpec) XXX_Size

func (m *P4ErrorTypeSpec) XXX_Size() int

func (*P4ErrorTypeSpec) XXX_Unmarshal

func (m *P4ErrorTypeSpec) XXX_Unmarshal(b []byte) error

type P4HeaderStackTypeSpec

type P4HeaderStackTypeSpec struct {
	Header               *P4NamedType `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Size                 int32        `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (*P4HeaderStackTypeSpec) Descriptor

func (*P4HeaderStackTypeSpec) Descriptor() ([]byte, []int)

func (*P4HeaderStackTypeSpec) GetHeader

func (m *P4HeaderStackTypeSpec) GetHeader() *P4NamedType

func (*P4HeaderStackTypeSpec) GetSize

func (m *P4HeaderStackTypeSpec) GetSize() int32

func (*P4HeaderStackTypeSpec) ProtoMessage

func (*P4HeaderStackTypeSpec) ProtoMessage()

func (*P4HeaderStackTypeSpec) Reset

func (m *P4HeaderStackTypeSpec) Reset()

func (*P4HeaderStackTypeSpec) String

func (m *P4HeaderStackTypeSpec) String() string

func (*P4HeaderStackTypeSpec) XXX_DiscardUnknown

func (m *P4HeaderStackTypeSpec) XXX_DiscardUnknown()

func (*P4HeaderStackTypeSpec) XXX_Marshal

func (m *P4HeaderStackTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4HeaderStackTypeSpec) XXX_Merge

func (m *P4HeaderStackTypeSpec) XXX_Merge(src proto.Message)

func (*P4HeaderStackTypeSpec) XXX_Size

func (m *P4HeaderStackTypeSpec) XXX_Size() int

func (*P4HeaderStackTypeSpec) XXX_Unmarshal

func (m *P4HeaderStackTypeSpec) XXX_Unmarshal(b []byte) error

type P4HeaderTypeSpec

type P4HeaderTypeSpec struct {
	Members     []*P4HeaderTypeSpec_Member `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"`
	Annotations []string                   `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,3,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,4,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*P4HeaderTypeSpec) Descriptor

func (*P4HeaderTypeSpec) Descriptor() ([]byte, []int)

func (*P4HeaderTypeSpec) GetAnnotationLocations

func (m *P4HeaderTypeSpec) GetAnnotationLocations() []*SourceLocation

func (*P4HeaderTypeSpec) GetAnnotations

func (m *P4HeaderTypeSpec) GetAnnotations() []string

func (*P4HeaderTypeSpec) GetMembers

func (m *P4HeaderTypeSpec) GetMembers() []*P4HeaderTypeSpec_Member

func (*P4HeaderTypeSpec) GetStructuredAnnotations

func (m *P4HeaderTypeSpec) GetStructuredAnnotations() []*StructuredAnnotation

func (*P4HeaderTypeSpec) ProtoMessage

func (*P4HeaderTypeSpec) ProtoMessage()

func (*P4HeaderTypeSpec) Reset

func (m *P4HeaderTypeSpec) Reset()

func (*P4HeaderTypeSpec) String

func (m *P4HeaderTypeSpec) String() string

func (*P4HeaderTypeSpec) XXX_DiscardUnknown

func (m *P4HeaderTypeSpec) XXX_DiscardUnknown()

func (*P4HeaderTypeSpec) XXX_Marshal

func (m *P4HeaderTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4HeaderTypeSpec) XXX_Merge

func (m *P4HeaderTypeSpec) XXX_Merge(src proto.Message)

func (*P4HeaderTypeSpec) XXX_Size

func (m *P4HeaderTypeSpec) XXX_Size() int

func (*P4HeaderTypeSpec) XXX_Unmarshal

func (m *P4HeaderTypeSpec) XXX_Unmarshal(b []byte) error

type P4HeaderTypeSpec_Member

type P4HeaderTypeSpec_Member struct {
	Name                 string                   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	TypeSpec             *P4BitstringLikeTypeSpec `protobuf:"bytes,2,opt,name=type_spec,json=typeSpec,proto3" json:"type_spec,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (*P4HeaderTypeSpec_Member) Descriptor

func (*P4HeaderTypeSpec_Member) Descriptor() ([]byte, []int)

func (*P4HeaderTypeSpec_Member) GetName

func (m *P4HeaderTypeSpec_Member) GetName() string

func (*P4HeaderTypeSpec_Member) GetTypeSpec

func (*P4HeaderTypeSpec_Member) ProtoMessage

func (*P4HeaderTypeSpec_Member) ProtoMessage()

func (*P4HeaderTypeSpec_Member) Reset

func (m *P4HeaderTypeSpec_Member) Reset()

func (*P4HeaderTypeSpec_Member) String

func (m *P4HeaderTypeSpec_Member) String() string

func (*P4HeaderTypeSpec_Member) XXX_DiscardUnknown

func (m *P4HeaderTypeSpec_Member) XXX_DiscardUnknown()

func (*P4HeaderTypeSpec_Member) XXX_Marshal

func (m *P4HeaderTypeSpec_Member) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4HeaderTypeSpec_Member) XXX_Merge

func (m *P4HeaderTypeSpec_Member) XXX_Merge(src proto.Message)

func (*P4HeaderTypeSpec_Member) XXX_Size

func (m *P4HeaderTypeSpec_Member) XXX_Size() int

func (*P4HeaderTypeSpec_Member) XXX_Unmarshal

func (m *P4HeaderTypeSpec_Member) XXX_Unmarshal(b []byte) error

type P4HeaderUnionStackTypeSpec

type P4HeaderUnionStackTypeSpec struct {
	HeaderUnion          *P4NamedType `protobuf:"bytes,1,opt,name=header_union,json=headerUnion,proto3" json:"header_union,omitempty"`
	Size                 int32        `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (*P4HeaderUnionStackTypeSpec) Descriptor

func (*P4HeaderUnionStackTypeSpec) Descriptor() ([]byte, []int)

func (*P4HeaderUnionStackTypeSpec) GetHeaderUnion

func (m *P4HeaderUnionStackTypeSpec) GetHeaderUnion() *P4NamedType

func (*P4HeaderUnionStackTypeSpec) GetSize

func (m *P4HeaderUnionStackTypeSpec) GetSize() int32

func (*P4HeaderUnionStackTypeSpec) ProtoMessage

func (*P4HeaderUnionStackTypeSpec) ProtoMessage()

func (*P4HeaderUnionStackTypeSpec) Reset

func (m *P4HeaderUnionStackTypeSpec) Reset()

func (*P4HeaderUnionStackTypeSpec) String

func (m *P4HeaderUnionStackTypeSpec) String() string

func (*P4HeaderUnionStackTypeSpec) XXX_DiscardUnknown

func (m *P4HeaderUnionStackTypeSpec) XXX_DiscardUnknown()

func (*P4HeaderUnionStackTypeSpec) XXX_Marshal

func (m *P4HeaderUnionStackTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4HeaderUnionStackTypeSpec) XXX_Merge

func (m *P4HeaderUnionStackTypeSpec) XXX_Merge(src proto.Message)

func (*P4HeaderUnionStackTypeSpec) XXX_Size

func (m *P4HeaderUnionStackTypeSpec) XXX_Size() int

func (*P4HeaderUnionStackTypeSpec) XXX_Unmarshal

func (m *P4HeaderUnionStackTypeSpec) XXX_Unmarshal(b []byte) error

type P4HeaderUnionTypeSpec

type P4HeaderUnionTypeSpec struct {
	Members     []*P4HeaderUnionTypeSpec_Member `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"`
	Annotations []string                        `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,3,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,4,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*P4HeaderUnionTypeSpec) Descriptor

func (*P4HeaderUnionTypeSpec) Descriptor() ([]byte, []int)

func (*P4HeaderUnionTypeSpec) GetAnnotationLocations

func (m *P4HeaderUnionTypeSpec) GetAnnotationLocations() []*SourceLocation

func (*P4HeaderUnionTypeSpec) GetAnnotations

func (m *P4HeaderUnionTypeSpec) GetAnnotations() []string

func (*P4HeaderUnionTypeSpec) GetMembers

func (*P4HeaderUnionTypeSpec) GetStructuredAnnotations

func (m *P4HeaderUnionTypeSpec) GetStructuredAnnotations() []*StructuredAnnotation

func (*P4HeaderUnionTypeSpec) ProtoMessage

func (*P4HeaderUnionTypeSpec) ProtoMessage()

func (*P4HeaderUnionTypeSpec) Reset

func (m *P4HeaderUnionTypeSpec) Reset()

func (*P4HeaderUnionTypeSpec) String

func (m *P4HeaderUnionTypeSpec) String() string

func (*P4HeaderUnionTypeSpec) XXX_DiscardUnknown

func (m *P4HeaderUnionTypeSpec) XXX_DiscardUnknown()

func (*P4HeaderUnionTypeSpec) XXX_Marshal

func (m *P4HeaderUnionTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4HeaderUnionTypeSpec) XXX_Merge

func (m *P4HeaderUnionTypeSpec) XXX_Merge(src proto.Message)

func (*P4HeaderUnionTypeSpec) XXX_Size

func (m *P4HeaderUnionTypeSpec) XXX_Size() int

func (*P4HeaderUnionTypeSpec) XXX_Unmarshal

func (m *P4HeaderUnionTypeSpec) XXX_Unmarshal(b []byte) error

type P4HeaderUnionTypeSpec_Member

type P4HeaderUnionTypeSpec_Member struct {
	Name                 string       `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Header               *P4NamedType `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (*P4HeaderUnionTypeSpec_Member) Descriptor

func (*P4HeaderUnionTypeSpec_Member) Descriptor() ([]byte, []int)

func (*P4HeaderUnionTypeSpec_Member) GetHeader

func (m *P4HeaderUnionTypeSpec_Member) GetHeader() *P4NamedType

func (*P4HeaderUnionTypeSpec_Member) GetName

func (m *P4HeaderUnionTypeSpec_Member) GetName() string

func (*P4HeaderUnionTypeSpec_Member) ProtoMessage

func (*P4HeaderUnionTypeSpec_Member) ProtoMessage()

func (*P4HeaderUnionTypeSpec_Member) Reset

func (m *P4HeaderUnionTypeSpec_Member) Reset()

func (*P4HeaderUnionTypeSpec_Member) String

func (*P4HeaderUnionTypeSpec_Member) XXX_DiscardUnknown

func (m *P4HeaderUnionTypeSpec_Member) XXX_DiscardUnknown()

func (*P4HeaderUnionTypeSpec_Member) XXX_Marshal

func (m *P4HeaderUnionTypeSpec_Member) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4HeaderUnionTypeSpec_Member) XXX_Merge

func (m *P4HeaderUnionTypeSpec_Member) XXX_Merge(src proto.Message)

func (*P4HeaderUnionTypeSpec_Member) XXX_Size

func (m *P4HeaderUnionTypeSpec_Member) XXX_Size() int

func (*P4HeaderUnionTypeSpec_Member) XXX_Unmarshal

func (m *P4HeaderUnionTypeSpec_Member) XXX_Unmarshal(b []byte) error

type P4Ids

type P4Ids struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*P4Ids) Descriptor

func (*P4Ids) Descriptor() ([]byte, []int)

func (*P4Ids) ProtoMessage

func (*P4Ids) ProtoMessage()

func (*P4Ids) Reset

func (m *P4Ids) Reset()

func (*P4Ids) String

func (m *P4Ids) String() string

func (*P4Ids) XXX_DiscardUnknown

func (m *P4Ids) XXX_DiscardUnknown()

func (*P4Ids) XXX_Marshal

func (m *P4Ids) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4Ids) XXX_Merge

func (m *P4Ids) XXX_Merge(src proto.Message)

func (*P4Ids) XXX_Size

func (m *P4Ids) XXX_Size() int

func (*P4Ids) XXX_Unmarshal

func (m *P4Ids) XXX_Unmarshal(b []byte) error

type P4Ids_Prefix

type P4Ids_Prefix int32

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.

const (
	P4Ids_UNSPECIFIED P4Ids_Prefix = 0
	// P4 language built-ins
	P4Ids_ACTION            P4Ids_Prefix = 1
	P4Ids_TABLE             P4Ids_Prefix = 2
	P4Ids_VALUE_SET         P4Ids_Prefix = 3
	P4Ids_CONTROLLER_HEADER P4Ids_Prefix = 4
	// PSA externs
	P4Ids_PSA_EXTERNS_START P4Ids_Prefix = 16
	P4Ids_ACTION_PROFILE    P4Ids_Prefix = 17
	P4Ids_COUNTER           P4Ids_Prefix = 18
	P4Ids_DIRECT_COUNTER    P4Ids_Prefix = 19
	P4Ids_METER             P4Ids_Prefix = 20
	P4Ids_DIRECT_METER      P4Ids_Prefix = 21
	P4Ids_REGISTER          P4Ids_Prefix = 22
	P4Ids_DIGEST            P4Ids_Prefix = 23
	// externs for other architectures (vendor extensions)
	P4Ids_OTHER_EXTERNS_START P4Ids_Prefix = 128
	// max value for an unsigned 8-bit byte
	P4Ids_MAX P4Ids_Prefix = 255
)

func (P4Ids_Prefix) EnumDescriptor

func (P4Ids_Prefix) EnumDescriptor() ([]byte, []int)

func (P4Ids_Prefix) String

func (x P4Ids_Prefix) String() string

type P4Info

type P4Info struct {
	PkgInfo                  *PkgInfo                    `protobuf:"bytes,1,opt,name=pkg_info,json=pkgInfo,proto3" json:"pkg_info,omitempty"`
	Tables                   []*Table                    `protobuf:"bytes,2,rep,name=tables,proto3" json:"tables,omitempty"`
	Actions                  []*Action                   `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
	ActionProfiles           []*ActionProfile            `protobuf:"bytes,4,rep,name=action_profiles,json=actionProfiles,proto3" json:"action_profiles,omitempty"`
	Counters                 []*Counter                  `protobuf:"bytes,5,rep,name=counters,proto3" json:"counters,omitempty"`
	DirectCounters           []*DirectCounter            `protobuf:"bytes,6,rep,name=direct_counters,json=directCounters,proto3" json:"direct_counters,omitempty"`
	Meters                   []*Meter                    `protobuf:"bytes,7,rep,name=meters,proto3" json:"meters,omitempty"`
	DirectMeters             []*DirectMeter              `protobuf:"bytes,8,rep,name=direct_meters,json=directMeters,proto3" json:"direct_meters,omitempty"`
	ControllerPacketMetadata []*ControllerPacketMetadata `` /* 135-byte string literal not displayed */
	ValueSets                []*ValueSet                 `protobuf:"bytes,10,rep,name=value_sets,json=valueSets,proto3" json:"value_sets,omitempty"`
	Registers                []*Register                 `protobuf:"bytes,11,rep,name=registers,proto3" json:"registers,omitempty"`
	Digests                  []*Digest                   `protobuf:"bytes,12,rep,name=digests,proto3" json:"digests,omitempty"`
	Externs                  []*Extern                   `protobuf:"bytes,100,rep,name=externs,proto3" json:"externs,omitempty"`
	TypeInfo                 *P4TypeInfo                 `protobuf:"bytes,200,opt,name=type_info,json=typeInfo,proto3" json:"type_info,omitempty"`
	XXX_NoUnkeyedLiteral     struct{}                    `json:"-"`
	XXX_unrecognized         []byte                      `json:"-"`
	XXX_sizecache            int32                       `json:"-"`
}

func (*P4Info) Descriptor

func (*P4Info) Descriptor() ([]byte, []int)

func (*P4Info) GetActionProfiles

func (m *P4Info) GetActionProfiles() []*ActionProfile

func (*P4Info) GetActions

func (m *P4Info) GetActions() []*Action

func (*P4Info) GetControllerPacketMetadata

func (m *P4Info) GetControllerPacketMetadata() []*ControllerPacketMetadata

func (*P4Info) GetCounters

func (m *P4Info) GetCounters() []*Counter

func (*P4Info) GetDigests

func (m *P4Info) GetDigests() []*Digest

func (*P4Info) GetDirectCounters

func (m *P4Info) GetDirectCounters() []*DirectCounter

func (*P4Info) GetDirectMeters

func (m *P4Info) GetDirectMeters() []*DirectMeter

func (*P4Info) GetExterns

func (m *P4Info) GetExterns() []*Extern

func (*P4Info) GetMeters

func (m *P4Info) GetMeters() []*Meter

func (*P4Info) GetPkgInfo

func (m *P4Info) GetPkgInfo() *PkgInfo

func (*P4Info) GetRegisters

func (m *P4Info) GetRegisters() []*Register

func (*P4Info) GetTables

func (m *P4Info) GetTables() []*Table

func (*P4Info) GetTypeInfo

func (m *P4Info) GetTypeInfo() *P4TypeInfo

func (*P4Info) GetValueSets

func (m *P4Info) GetValueSets() []*ValueSet

func (*P4Info) ProtoMessage

func (*P4Info) ProtoMessage()

func (*P4Info) Reset

func (m *P4Info) Reset()

func (*P4Info) String

func (m *P4Info) String() string

func (*P4Info) XXX_DiscardUnknown

func (m *P4Info) XXX_DiscardUnknown()

func (*P4Info) XXX_Marshal

func (m *P4Info) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4Info) XXX_Merge

func (m *P4Info) XXX_Merge(src proto.Message)

func (*P4Info) XXX_Size

func (m *P4Info) XXX_Size() int

func (*P4Info) XXX_Unmarshal

func (m *P4Info) XXX_Unmarshal(b []byte) error

type P4IntTypeSpec

type P4IntTypeSpec struct {
	Bitwidth             int32    `protobuf:"varint,1,opt,name=bitwidth,proto3" json:"bitwidth,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*P4IntTypeSpec) Descriptor

func (*P4IntTypeSpec) Descriptor() ([]byte, []int)

func (*P4IntTypeSpec) GetBitwidth

func (m *P4IntTypeSpec) GetBitwidth() int32

func (*P4IntTypeSpec) ProtoMessage

func (*P4IntTypeSpec) ProtoMessage()

func (*P4IntTypeSpec) Reset

func (m *P4IntTypeSpec) Reset()

func (*P4IntTypeSpec) String

func (m *P4IntTypeSpec) String() string

func (*P4IntTypeSpec) XXX_DiscardUnknown

func (m *P4IntTypeSpec) XXX_DiscardUnknown()

func (*P4IntTypeSpec) XXX_Marshal

func (m *P4IntTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4IntTypeSpec) XXX_Merge

func (m *P4IntTypeSpec) XXX_Merge(src proto.Message)

func (*P4IntTypeSpec) XXX_Size

func (m *P4IntTypeSpec) XXX_Size() int

func (*P4IntTypeSpec) XXX_Unmarshal

func (m *P4IntTypeSpec) XXX_Unmarshal(b []byte) error

type P4NamedType

type P4NamedType struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*P4NamedType) Descriptor

func (*P4NamedType) Descriptor() ([]byte, []int)

func (*P4NamedType) GetName

func (m *P4NamedType) GetName() string

func (*P4NamedType) ProtoMessage

func (*P4NamedType) ProtoMessage()

func (*P4NamedType) Reset

func (m *P4NamedType) Reset()

func (*P4NamedType) String

func (m *P4NamedType) String() string

func (*P4NamedType) XXX_DiscardUnknown

func (m *P4NamedType) XXX_DiscardUnknown()

func (*P4NamedType) XXX_Marshal

func (m *P4NamedType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4NamedType) XXX_Merge

func (m *P4NamedType) XXX_Merge(src proto.Message)

func (*P4NamedType) XXX_Size

func (m *P4NamedType) XXX_Size() int

func (*P4NamedType) XXX_Unmarshal

func (m *P4NamedType) XXX_Unmarshal(b []byte) error

type P4NewTypeSpec

type P4NewTypeSpec struct {
	// Types that are valid to be assigned to Representation:
	//	*P4NewTypeSpec_OriginalType
	//	*P4NewTypeSpec_TranslatedType
	Representation isP4NewTypeSpec_Representation `protobuf_oneof:"representation"`
	// for other annotations (not @p4runtime_translation)
	Annotations []string `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,5,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,4,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

New types introduced with the "type" keyword

func (*P4NewTypeSpec) Descriptor

func (*P4NewTypeSpec) Descriptor() ([]byte, []int)

func (*P4NewTypeSpec) GetAnnotationLocations

func (m *P4NewTypeSpec) GetAnnotationLocations() []*SourceLocation

func (*P4NewTypeSpec) GetAnnotations

func (m *P4NewTypeSpec) GetAnnotations() []string

func (*P4NewTypeSpec) GetOriginalType

func (m *P4NewTypeSpec) GetOriginalType() *P4DataTypeSpec

func (*P4NewTypeSpec) GetRepresentation

func (m *P4NewTypeSpec) GetRepresentation() isP4NewTypeSpec_Representation

func (*P4NewTypeSpec) GetStructuredAnnotations

func (m *P4NewTypeSpec) GetStructuredAnnotations() []*StructuredAnnotation

func (*P4NewTypeSpec) GetTranslatedType

func (m *P4NewTypeSpec) GetTranslatedType() *P4NewTypeTranslation

func (*P4NewTypeSpec) ProtoMessage

func (*P4NewTypeSpec) ProtoMessage()

func (*P4NewTypeSpec) Reset

func (m *P4NewTypeSpec) Reset()

func (*P4NewTypeSpec) String

func (m *P4NewTypeSpec) String() string

func (*P4NewTypeSpec) XXX_DiscardUnknown

func (m *P4NewTypeSpec) XXX_DiscardUnknown()

func (*P4NewTypeSpec) XXX_Marshal

func (m *P4NewTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4NewTypeSpec) XXX_Merge

func (m *P4NewTypeSpec) XXX_Merge(src proto.Message)

func (*P4NewTypeSpec) XXX_OneofWrappers

func (*P4NewTypeSpec) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*P4NewTypeSpec) XXX_Size

func (m *P4NewTypeSpec) XXX_Size() int

func (*P4NewTypeSpec) XXX_Unmarshal

func (m *P4NewTypeSpec) XXX_Unmarshal(b []byte) error

type P4NewTypeSpec_OriginalType

type P4NewTypeSpec_OriginalType struct {
	OriginalType *P4DataTypeSpec `protobuf:"bytes,1,opt,name=original_type,json=originalType,proto3,oneof"`
}

type P4NewTypeSpec_TranslatedType

type P4NewTypeSpec_TranslatedType struct {
	TranslatedType *P4NewTypeTranslation `protobuf:"bytes,2,opt,name=translated_type,json=translatedType,proto3,oneof"`
}

type P4NewTypeTranslation

type P4NewTypeTranslation struct {
	// the URI uniquely identifies the translation in order to enable the
	// P4Runtime agent to perform value-mapping appropriately when required. It is
	// recommended that the URI includes at least the P4 architecture name and the
	// type name.
	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// The object is either represented as an unsigned integer with a bitwidth of
	// `sdn_bitwidth`, or as a string.
	//
	// Types that are valid to be assigned to SdnType:
	//	*P4NewTypeTranslation_SdnBitwidth
	//	*P4NewTypeTranslation_SdnString_
	SdnType              isP4NewTypeTranslation_SdnType `protobuf_oneof:"sdn_type"`
	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
	XXX_unrecognized     []byte                         `json:"-"`
	XXX_sizecache        int32                          `json:"-"`
}

func (*P4NewTypeTranslation) Descriptor

func (*P4NewTypeTranslation) Descriptor() ([]byte, []int)

func (*P4NewTypeTranslation) GetSdnBitwidth

func (m *P4NewTypeTranslation) GetSdnBitwidth() int32

func (*P4NewTypeTranslation) GetSdnString

func (*P4NewTypeTranslation) GetSdnType

func (m *P4NewTypeTranslation) GetSdnType() isP4NewTypeTranslation_SdnType

func (*P4NewTypeTranslation) GetUri

func (m *P4NewTypeTranslation) GetUri() string

func (*P4NewTypeTranslation) ProtoMessage

func (*P4NewTypeTranslation) ProtoMessage()

func (*P4NewTypeTranslation) Reset

func (m *P4NewTypeTranslation) Reset()

func (*P4NewTypeTranslation) String

func (m *P4NewTypeTranslation) String() string

func (*P4NewTypeTranslation) XXX_DiscardUnknown

func (m *P4NewTypeTranslation) XXX_DiscardUnknown()

func (*P4NewTypeTranslation) XXX_Marshal

func (m *P4NewTypeTranslation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4NewTypeTranslation) XXX_Merge

func (m *P4NewTypeTranslation) XXX_Merge(src proto.Message)

func (*P4NewTypeTranslation) XXX_OneofWrappers

func (*P4NewTypeTranslation) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*P4NewTypeTranslation) XXX_Size

func (m *P4NewTypeTranslation) XXX_Size() int

func (*P4NewTypeTranslation) XXX_Unmarshal

func (m *P4NewTypeTranslation) XXX_Unmarshal(b []byte) error

type P4NewTypeTranslation_SdnBitwidth

type P4NewTypeTranslation_SdnBitwidth struct {
	SdnBitwidth int32 `protobuf:"varint,2,opt,name=sdn_bitwidth,json=sdnBitwidth,proto3,oneof"`
}

type P4NewTypeTranslation_SdnString

type P4NewTypeTranslation_SdnString struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*P4NewTypeTranslation_SdnString) Descriptor

func (*P4NewTypeTranslation_SdnString) Descriptor() ([]byte, []int)

func (*P4NewTypeTranslation_SdnString) ProtoMessage

func (*P4NewTypeTranslation_SdnString) ProtoMessage()

func (*P4NewTypeTranslation_SdnString) Reset

func (m *P4NewTypeTranslation_SdnString) Reset()

func (*P4NewTypeTranslation_SdnString) String

func (*P4NewTypeTranslation_SdnString) XXX_DiscardUnknown

func (m *P4NewTypeTranslation_SdnString) XXX_DiscardUnknown()

func (*P4NewTypeTranslation_SdnString) XXX_Marshal

func (m *P4NewTypeTranslation_SdnString) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4NewTypeTranslation_SdnString) XXX_Merge

func (m *P4NewTypeTranslation_SdnString) XXX_Merge(src proto.Message)

func (*P4NewTypeTranslation_SdnString) XXX_Size

func (m *P4NewTypeTranslation_SdnString) XXX_Size() int

func (*P4NewTypeTranslation_SdnString) XXX_Unmarshal

func (m *P4NewTypeTranslation_SdnString) XXX_Unmarshal(b []byte) error

type P4NewTypeTranslation_SdnString_

type P4NewTypeTranslation_SdnString_ struct {
	SdnString *P4NewTypeTranslation_SdnString `protobuf:"bytes,3,opt,name=sdn_string,json=sdnString,proto3,oneof"`
}

type P4SerializableEnumTypeSpec

type P4SerializableEnumTypeSpec struct {
	UnderlyingType *P4BitTypeSpec                       `protobuf:"bytes,1,opt,name=underlying_type,json=underlyingType,proto3" json:"underlying_type,omitempty"`
	Members        []*P4SerializableEnumTypeSpec_Member `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
	Annotations    []string                             `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,5,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,4,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

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.

func (*P4SerializableEnumTypeSpec) Descriptor

func (*P4SerializableEnumTypeSpec) Descriptor() ([]byte, []int)

func (*P4SerializableEnumTypeSpec) GetAnnotationLocations

func (m *P4SerializableEnumTypeSpec) GetAnnotationLocations() []*SourceLocation

func (*P4SerializableEnumTypeSpec) GetAnnotations

func (m *P4SerializableEnumTypeSpec) GetAnnotations() []string

func (*P4SerializableEnumTypeSpec) GetMembers

func (*P4SerializableEnumTypeSpec) GetStructuredAnnotations

func (m *P4SerializableEnumTypeSpec) GetStructuredAnnotations() []*StructuredAnnotation

func (*P4SerializableEnumTypeSpec) GetUnderlyingType

func (m *P4SerializableEnumTypeSpec) GetUnderlyingType() *P4BitTypeSpec

func (*P4SerializableEnumTypeSpec) ProtoMessage

func (*P4SerializableEnumTypeSpec) ProtoMessage()

func (*P4SerializableEnumTypeSpec) Reset

func (m *P4SerializableEnumTypeSpec) Reset()

func (*P4SerializableEnumTypeSpec) String

func (m *P4SerializableEnumTypeSpec) String() string

func (*P4SerializableEnumTypeSpec) XXX_DiscardUnknown

func (m *P4SerializableEnumTypeSpec) XXX_DiscardUnknown()

func (*P4SerializableEnumTypeSpec) XXX_Marshal

func (m *P4SerializableEnumTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4SerializableEnumTypeSpec) XXX_Merge

func (m *P4SerializableEnumTypeSpec) XXX_Merge(src proto.Message)

func (*P4SerializableEnumTypeSpec) XXX_Size

func (m *P4SerializableEnumTypeSpec) XXX_Size() int

func (*P4SerializableEnumTypeSpec) XXX_Unmarshal

func (m *P4SerializableEnumTypeSpec) XXX_Unmarshal(b []byte) error

type P4SerializableEnumTypeSpec_Member

type P4SerializableEnumTypeSpec_Member struct {
	Name        string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Value       []byte   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	Annotations []string `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,5,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,4,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*P4SerializableEnumTypeSpec_Member) Descriptor

func (*P4SerializableEnumTypeSpec_Member) Descriptor() ([]byte, []int)

func (*P4SerializableEnumTypeSpec_Member) GetAnnotationLocations

func (m *P4SerializableEnumTypeSpec_Member) GetAnnotationLocations() []*SourceLocation

func (*P4SerializableEnumTypeSpec_Member) GetAnnotations

func (m *P4SerializableEnumTypeSpec_Member) GetAnnotations() []string

func (*P4SerializableEnumTypeSpec_Member) GetName

func (*P4SerializableEnumTypeSpec_Member) GetStructuredAnnotations

func (m *P4SerializableEnumTypeSpec_Member) GetStructuredAnnotations() []*StructuredAnnotation

func (*P4SerializableEnumTypeSpec_Member) GetValue

func (m *P4SerializableEnumTypeSpec_Member) GetValue() []byte

func (*P4SerializableEnumTypeSpec_Member) ProtoMessage

func (*P4SerializableEnumTypeSpec_Member) ProtoMessage()

func (*P4SerializableEnumTypeSpec_Member) Reset

func (*P4SerializableEnumTypeSpec_Member) String

func (*P4SerializableEnumTypeSpec_Member) XXX_DiscardUnknown

func (m *P4SerializableEnumTypeSpec_Member) XXX_DiscardUnknown()

func (*P4SerializableEnumTypeSpec_Member) XXX_Marshal

func (m *P4SerializableEnumTypeSpec_Member) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4SerializableEnumTypeSpec_Member) XXX_Merge

func (*P4SerializableEnumTypeSpec_Member) XXX_Size

func (m *P4SerializableEnumTypeSpec_Member) XXX_Size() int

func (*P4SerializableEnumTypeSpec_Member) XXX_Unmarshal

func (m *P4SerializableEnumTypeSpec_Member) XXX_Unmarshal(b []byte) error

type P4StructTypeSpec

type P4StructTypeSpec struct {
	Members     []*P4StructTypeSpec_Member `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"`
	Annotations []string                   `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations   []*SourceLocation       `protobuf:"bytes,3,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,4,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*P4StructTypeSpec) Descriptor

func (*P4StructTypeSpec) Descriptor() ([]byte, []int)

func (*P4StructTypeSpec) GetAnnotationLocations

func (m *P4StructTypeSpec) GetAnnotationLocations() []*SourceLocation

func (*P4StructTypeSpec) GetAnnotations

func (m *P4StructTypeSpec) GetAnnotations() []string

func (*P4StructTypeSpec) GetMembers

func (m *P4StructTypeSpec) GetMembers() []*P4StructTypeSpec_Member

func (*P4StructTypeSpec) GetStructuredAnnotations

func (m *P4StructTypeSpec) GetStructuredAnnotations() []*StructuredAnnotation

func (*P4StructTypeSpec) ProtoMessage

func (*P4StructTypeSpec) ProtoMessage()

func (*P4StructTypeSpec) Reset

func (m *P4StructTypeSpec) Reset()

func (*P4StructTypeSpec) String

func (m *P4StructTypeSpec) String() string

func (*P4StructTypeSpec) XXX_DiscardUnknown

func (m *P4StructTypeSpec) XXX_DiscardUnknown()

func (*P4StructTypeSpec) XXX_Marshal

func (m *P4StructTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4StructTypeSpec) XXX_Merge

func (m *P4StructTypeSpec) XXX_Merge(src proto.Message)

func (*P4StructTypeSpec) XXX_Size

func (m *P4StructTypeSpec) XXX_Size() int

func (*P4StructTypeSpec) XXX_Unmarshal

func (m *P4StructTypeSpec) XXX_Unmarshal(b []byte) error

type P4StructTypeSpec_Member

type P4StructTypeSpec_Member struct {
	Name                 string          `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	TypeSpec             *P4DataTypeSpec `protobuf:"bytes,2,opt,name=type_spec,json=typeSpec,proto3" json:"type_spec,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (*P4StructTypeSpec_Member) Descriptor

func (*P4StructTypeSpec_Member) Descriptor() ([]byte, []int)

func (*P4StructTypeSpec_Member) GetName

func (m *P4StructTypeSpec_Member) GetName() string

func (*P4StructTypeSpec_Member) GetTypeSpec

func (m *P4StructTypeSpec_Member) GetTypeSpec() *P4DataTypeSpec

func (*P4StructTypeSpec_Member) ProtoMessage

func (*P4StructTypeSpec_Member) ProtoMessage()

func (*P4StructTypeSpec_Member) Reset

func (m *P4StructTypeSpec_Member) Reset()

func (*P4StructTypeSpec_Member) String

func (m *P4StructTypeSpec_Member) String() string

func (*P4StructTypeSpec_Member) XXX_DiscardUnknown

func (m *P4StructTypeSpec_Member) XXX_DiscardUnknown()

func (*P4StructTypeSpec_Member) XXX_Marshal

func (m *P4StructTypeSpec_Member) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4StructTypeSpec_Member) XXX_Merge

func (m *P4StructTypeSpec_Member) XXX_Merge(src proto.Message)

func (*P4StructTypeSpec_Member) XXX_Size

func (m *P4StructTypeSpec_Member) XXX_Size() int

func (*P4StructTypeSpec_Member) XXX_Unmarshal

func (m *P4StructTypeSpec_Member) XXX_Unmarshal(b []byte) error

type P4TupleTypeSpec

type P4TupleTypeSpec struct {
	Members              []*P4DataTypeSpec `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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."

func (*P4TupleTypeSpec) Descriptor

func (*P4TupleTypeSpec) Descriptor() ([]byte, []int)

func (*P4TupleTypeSpec) GetMembers

func (m *P4TupleTypeSpec) GetMembers() []*P4DataTypeSpec

func (*P4TupleTypeSpec) ProtoMessage

func (*P4TupleTypeSpec) ProtoMessage()

func (*P4TupleTypeSpec) Reset

func (m *P4TupleTypeSpec) Reset()

func (*P4TupleTypeSpec) String

func (m *P4TupleTypeSpec) String() string

func (*P4TupleTypeSpec) XXX_DiscardUnknown

func (m *P4TupleTypeSpec) XXX_DiscardUnknown()

func (*P4TupleTypeSpec) XXX_Marshal

func (m *P4TupleTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4TupleTypeSpec) XXX_Merge

func (m *P4TupleTypeSpec) XXX_Merge(src proto.Message)

func (*P4TupleTypeSpec) XXX_Size

func (m *P4TupleTypeSpec) XXX_Size() int

func (*P4TupleTypeSpec) XXX_Unmarshal

func (m *P4TupleTypeSpec) XXX_Unmarshal(b []byte) error

type P4TypeInfo

type P4TypeInfo struct {
	Structs              map[string]*P4StructTypeSpec           `` /* 155-byte string literal not displayed */
	Headers              map[string]*P4HeaderTypeSpec           `` /* 155-byte string literal not displayed */
	HeaderUnions         map[string]*P4HeaderUnionTypeSpec      `` /* 185-byte string literal not displayed */
	Enums                map[string]*P4EnumTypeSpec             `` /* 151-byte string literal not displayed */
	Error                *P4ErrorTypeSpec                       `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"`
	SerializableEnums    map[string]*P4SerializableEnumTypeSpec `` /* 200-byte string literal not displayed */
	NewTypes             map[string]*P4NewTypeSpec              `` /* 173-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                               `json:"-"`
	XXX_unrecognized     []byte                                 `json:"-"`
	XXX_sizecache        int32                                  `json:"-"`
}

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).

func (*P4TypeInfo) Descriptor

func (*P4TypeInfo) Descriptor() ([]byte, []int)

func (*P4TypeInfo) GetEnums

func (m *P4TypeInfo) GetEnums() map[string]*P4EnumTypeSpec

func (*P4TypeInfo) GetError

func (m *P4TypeInfo) GetError() *P4ErrorTypeSpec

func (*P4TypeInfo) GetHeaderUnions

func (m *P4TypeInfo) GetHeaderUnions() map[string]*P4HeaderUnionTypeSpec

func (*P4TypeInfo) GetHeaders

func (m *P4TypeInfo) GetHeaders() map[string]*P4HeaderTypeSpec

func (*P4TypeInfo) GetNewTypes

func (m *P4TypeInfo) GetNewTypes() map[string]*P4NewTypeSpec

func (*P4TypeInfo) GetSerializableEnums

func (m *P4TypeInfo) GetSerializableEnums() map[string]*P4SerializableEnumTypeSpec

func (*P4TypeInfo) GetStructs

func (m *P4TypeInfo) GetStructs() map[string]*P4StructTypeSpec

func (*P4TypeInfo) ProtoMessage

func (*P4TypeInfo) ProtoMessage()

func (*P4TypeInfo) Reset

func (m *P4TypeInfo) Reset()

func (*P4TypeInfo) String

func (m *P4TypeInfo) String() string

func (*P4TypeInfo) XXX_DiscardUnknown

func (m *P4TypeInfo) XXX_DiscardUnknown()

func (*P4TypeInfo) XXX_Marshal

func (m *P4TypeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4TypeInfo) XXX_Merge

func (m *P4TypeInfo) XXX_Merge(src proto.Message)

func (*P4TypeInfo) XXX_Size

func (m *P4TypeInfo) XXX_Size() int

func (*P4TypeInfo) XXX_Unmarshal

func (m *P4TypeInfo) XXX_Unmarshal(b []byte) error

type P4VarbitTypeSpec

type P4VarbitTypeSpec struct {
	MaxBitwidth          int32    `protobuf:"varint,1,opt,name=max_bitwidth,json=maxBitwidth,proto3" json:"max_bitwidth,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*P4VarbitTypeSpec) Descriptor

func (*P4VarbitTypeSpec) Descriptor() ([]byte, []int)

func (*P4VarbitTypeSpec) GetMaxBitwidth

func (m *P4VarbitTypeSpec) GetMaxBitwidth() int32

func (*P4VarbitTypeSpec) ProtoMessage

func (*P4VarbitTypeSpec) ProtoMessage()

func (*P4VarbitTypeSpec) Reset

func (m *P4VarbitTypeSpec) Reset()

func (*P4VarbitTypeSpec) String

func (m *P4VarbitTypeSpec) String() string

func (*P4VarbitTypeSpec) XXX_DiscardUnknown

func (m *P4VarbitTypeSpec) XXX_DiscardUnknown()

func (*P4VarbitTypeSpec) XXX_Marshal

func (m *P4VarbitTypeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*P4VarbitTypeSpec) XXX_Merge

func (m *P4VarbitTypeSpec) XXX_Merge(src proto.Message)

func (*P4VarbitTypeSpec) XXX_Size

func (m *P4VarbitTypeSpec) XXX_Size() int

func (*P4VarbitTypeSpec) XXX_Unmarshal

func (m *P4VarbitTypeSpec) XXX_Unmarshal(b []byte) error

type PkgInfo

type PkgInfo struct {
	// a definitive name for this configuration, e.g. switch.p4_v1.0
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// configuration version, free-format string
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// brief and detailed descriptions
	Doc *Documentation `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"`
	// Miscellaneous metadata, free-form; a way to extend PkgInfo
	Annotations []string `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations []*SourceLocation `protobuf:"bytes,10,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	// the target architecture, e.g. "psa"
	Arch string `protobuf:"bytes,5,opt,name=arch,proto3" json:"arch,omitempty"`
	// organization which produced the configuration, e.g. "p4.org"
	Organization string `protobuf:"bytes,6,opt,name=organization,proto3" json:"organization,omitempty"`
	// contact info for support,e.g. "tech-support@acme.org"
	Contact string `protobuf:"bytes,7,opt,name=contact,proto3" json:"contact,omitempty"`
	// url for more information, e.g. "http://support.p4.org/ref/p4/switch.p4_v1.0"
	Url string `protobuf:"bytes,8,opt,name=url,proto3" json:"url,omitempty"`
	// Miscellaneous metadata, structured; a way to extend PkgInfo
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,9,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

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

func (*PkgInfo) Descriptor

func (*PkgInfo) Descriptor() ([]byte, []int)

func (*PkgInfo) GetAnnotationLocations

func (m *PkgInfo) GetAnnotationLocations() []*SourceLocation

func (*PkgInfo) GetAnnotations

func (m *PkgInfo) GetAnnotations() []string

func (*PkgInfo) GetArch

func (m *PkgInfo) GetArch() string

func (*PkgInfo) GetContact

func (m *PkgInfo) GetContact() string

func (*PkgInfo) GetDoc

func (m *PkgInfo) GetDoc() *Documentation

func (*PkgInfo) GetName

func (m *PkgInfo) GetName() string

func (*PkgInfo) GetOrganization

func (m *PkgInfo) GetOrganization() string

func (*PkgInfo) GetStructuredAnnotations

func (m *PkgInfo) GetStructuredAnnotations() []*StructuredAnnotation

func (*PkgInfo) GetUrl

func (m *PkgInfo) GetUrl() string

func (*PkgInfo) GetVersion

func (m *PkgInfo) GetVersion() string

func (*PkgInfo) ProtoMessage

func (*PkgInfo) ProtoMessage()

func (*PkgInfo) Reset

func (m *PkgInfo) Reset()

func (*PkgInfo) String

func (m *PkgInfo) String() string

func (*PkgInfo) XXX_DiscardUnknown

func (m *PkgInfo) XXX_DiscardUnknown()

func (*PkgInfo) XXX_Marshal

func (m *PkgInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PkgInfo) XXX_Merge

func (m *PkgInfo) XXX_Merge(src proto.Message)

func (*PkgInfo) XXX_Size

func (m *PkgInfo) XXX_Size() int

func (*PkgInfo) XXX_Unmarshal

func (m *PkgInfo) XXX_Unmarshal(b []byte) error

type Preamble

type Preamble struct {
	// ids share the same number-space; e.g. table ids cannot overlap with counter
	// ids. Even though this is irrelevant to this proto definition, the 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, ...). This means that code
	// using these ids can detect if the wrong resource type is used
	// somewhere. This also means that ids of different types can be mixed
	// (e.g. direct resource list for a table) without ambiguity. Note that id 0
	// is reserved and means "invalid id".
	Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// fully qualified name of the P4 object, e.g. c1.c2.ipv4_lpm
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// an alias (alternative name) for the P4 object, probably shorter than its
	// fully qualified name. The only constraint is for it to be unique with
	// respect to other P4 objects of the same type. By default, the compiler uses
	// the shortest suffix of the name that uniquely identifies the object. For
	// example if the P4 program contains two tables with names s.c1.t and s.c2.t,
	// the default aliases will respectively be c1.t and c2.t. In the future, the
	// P4 programmer may also be able to override the default alias for any P4
	// object (TBD).
	Alias       string   `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"`
	Annotations []string `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"`
	// Optional. If present, the location of `annotations[i]` is given by
	// `annotation_locations[i]`.
	AnnotationLocations []*SourceLocation `protobuf:"bytes,7,rep,name=annotation_locations,json=annotationLocations,proto3" json:"annotation_locations,omitempty"`
	// Documentation of the entity
	Doc                   *Documentation          `protobuf:"bytes,5,opt,name=doc,proto3" json:"doc,omitempty"`
	StructuredAnnotations []*StructuredAnnotation `protobuf:"bytes,6,rep,name=structured_annotations,json=structuredAnnotations,proto3" json:"structured_annotations,omitempty"`
	XXX_NoUnkeyedLiteral  struct{}                `json:"-"`
	XXX_unrecognized      []byte                  `json:"-"`
	XXX_sizecache         int32                   `json:"-"`
}

func (*Preamble) Descriptor

func (*Preamble) Descriptor() ([]byte, []int)

func (*Preamble) GetAlias

func (m *Preamble) GetAlias() string

func (*Preamble) GetAnnotationLocations

func (m *Preamble) GetAnnotationLocations() []*SourceLocation

func (*Preamble) GetAnnotations

func (m *Preamble) GetAnnotations() []string

func (*Preamble) GetDoc

func (m *Preamble) GetDoc() *Documentation

func (*Preamble) GetId

func (m *Preamble) GetId() uint32

func (*Preamble) GetName

func (m *Preamble) GetName() string

func (*Preamble) GetStructuredAnnotations

func (m *Preamble) GetStructuredAnnotations() []*StructuredAnnotation

func (*Preamble) ProtoMessage

func (*Preamble) ProtoMessage()

func (*Preamble) Reset

func (m *Preamble) Reset()

func (*Preamble) String

func (m *Preamble) String() string

func (*Preamble) XXX_DiscardUnknown

func (m *Preamble) XXX_DiscardUnknown()

func (*Preamble) XXX_Marshal

func (m *Preamble) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Preamble) XXX_Merge

func (m *Preamble) XXX_Merge(src proto.Message)

func (*Preamble) XXX_Size

func (m *Preamble) XXX_Size() int

func (*Preamble) XXX_Unmarshal

func (m *Preamble) XXX_Unmarshal(b []byte) error

type Register

type Register struct {
	Preamble *Preamble       `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	TypeSpec *P4DataTypeSpec `protobuf:"bytes,2,opt,name=type_spec,json=typeSpec,proto3" json:"type_spec,omitempty"`
	Size     int32           `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	// unset if index is not user-defined type
	IndexTypeName        *P4NamedType `protobuf:"bytes,4,opt,name=index_type_name,json=indexTypeName,proto3" json:"index_type_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (*Register) Descriptor

func (*Register) Descriptor() ([]byte, []int)

func (*Register) GetIndexTypeName

func (m *Register) GetIndexTypeName() *P4NamedType

func (*Register) GetPreamble

func (m *Register) GetPreamble() *Preamble

func (*Register) GetSize

func (m *Register) GetSize() int32

func (*Register) GetTypeSpec

func (m *Register) GetTypeSpec() *P4DataTypeSpec

func (*Register) ProtoMessage

func (*Register) ProtoMessage()

func (*Register) Reset

func (m *Register) Reset()

func (*Register) String

func (m *Register) String() string

func (*Register) XXX_DiscardUnknown

func (m *Register) XXX_DiscardUnknown()

func (*Register) XXX_Marshal

func (m *Register) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Register) XXX_Merge

func (m *Register) XXX_Merge(src proto.Message)

func (*Register) XXX_Size

func (m *Register) XXX_Size() int

func (*Register) XXX_Unmarshal

func (m *Register) XXX_Unmarshal(b []byte) error

type SourceLocation

type SourceLocation struct {
	// Path to the source file (absolute or relative to the working directory).
	File string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	// Line and column numbers within the source file, 1-based.
	Line                 int32    `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"`
	Column               int32    `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Location of code relative to a given source file.

func (*SourceLocation) Descriptor

func (*SourceLocation) Descriptor() ([]byte, []int)

func (*SourceLocation) GetColumn

func (m *SourceLocation) GetColumn() int32

func (*SourceLocation) GetFile

func (m *SourceLocation) GetFile() string

func (*SourceLocation) GetLine

func (m *SourceLocation) GetLine() int32

func (*SourceLocation) ProtoMessage

func (*SourceLocation) ProtoMessage()

func (*SourceLocation) Reset

func (m *SourceLocation) Reset()

func (*SourceLocation) String

func (m *SourceLocation) String() string

func (*SourceLocation) XXX_DiscardUnknown

func (m *SourceLocation) XXX_DiscardUnknown()

func (*SourceLocation) XXX_Marshal

func (m *SourceLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SourceLocation) XXX_Merge

func (m *SourceLocation) XXX_Merge(src proto.Message)

func (*SourceLocation) XXX_Size

func (m *SourceLocation) XXX_Size() int

func (*SourceLocation) XXX_Unmarshal

func (m *SourceLocation) XXX_Unmarshal(b []byte) error

type StructuredAnnotation

type StructuredAnnotation struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are valid to be assigned to Body:
	//	*StructuredAnnotation_ExpressionList
	//	*StructuredAnnotation_KvPairList
	Body isStructuredAnnotation_Body `protobuf_oneof:"body"`
	// Optional. Location of the '@' symbol of this annotation in the source code.
	SourceLocation       *SourceLocation `protobuf:"bytes,4,opt,name=source_location,json=sourceLocation,proto3" json:"source_location,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (*StructuredAnnotation) Descriptor

func (*StructuredAnnotation) Descriptor() ([]byte, []int)

func (*StructuredAnnotation) GetBody

func (m *StructuredAnnotation) GetBody() isStructuredAnnotation_Body

func (*StructuredAnnotation) GetExpressionList

func (m *StructuredAnnotation) GetExpressionList() *ExpressionList

func (*StructuredAnnotation) GetKvPairList

func (m *StructuredAnnotation) GetKvPairList() *KeyValuePairList

func (*StructuredAnnotation) GetName

func (m *StructuredAnnotation) GetName() string

func (*StructuredAnnotation) GetSourceLocation

func (m *StructuredAnnotation) GetSourceLocation() *SourceLocation

func (*StructuredAnnotation) ProtoMessage

func (*StructuredAnnotation) ProtoMessage()

func (*StructuredAnnotation) Reset

func (m *StructuredAnnotation) Reset()

func (*StructuredAnnotation) String

func (m *StructuredAnnotation) String() string

func (*StructuredAnnotation) XXX_DiscardUnknown

func (m *StructuredAnnotation) XXX_DiscardUnknown()

func (*StructuredAnnotation) XXX_Marshal

func (m *StructuredAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StructuredAnnotation) XXX_Merge

func (m *StructuredAnnotation) XXX_Merge(src proto.Message)

func (*StructuredAnnotation) XXX_OneofWrappers

func (*StructuredAnnotation) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*StructuredAnnotation) XXX_Size

func (m *StructuredAnnotation) XXX_Size() int

func (*StructuredAnnotation) XXX_Unmarshal

func (m *StructuredAnnotation) XXX_Unmarshal(b []byte) error

type StructuredAnnotation_ExpressionList

type StructuredAnnotation_ExpressionList struct {
	ExpressionList *ExpressionList `protobuf:"bytes,2,opt,name=expression_list,json=expressionList,proto3,oneof"`
}

type StructuredAnnotation_KvPairList

type StructuredAnnotation_KvPairList struct {
	KvPairList *KeyValuePairList `protobuf:"bytes,3,opt,name=kv_pair_list,json=kvPairList,proto3,oneof"`
}

type Table

type Table struct {
	Preamble    *Preamble     `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	MatchFields []*MatchField `protobuf:"bytes,2,rep,name=match_fields,json=matchFields,proto3" json:"match_fields,omitempty"`
	// even when the table is indirect (see implementation_id) below, this field
	// includes all possible actions for the table; by using ActionRef instead of
	// a repeated field of action ids, each action reference in a P4 table is able
	// to have its own annotations
	ActionRefs []*ActionRef `protobuf:"bytes,3,rep,name=action_refs,json=actionRefs,proto3" json:"action_refs,omitempty"`
	// 0 (default value) means that the table does not have a const default action
	ConstDefaultActionId uint32 `` /* 126-byte string literal not displayed */
	// P4 id of the "implementation" for this table (e.g. action profile id); 0
	// (default value) means that the table is a regular (direct) match table. As
	// of today, only action profiles are supported but other table
	// implementations may be added in the future
	ImplementationId uint32 `protobuf:"varint,6,opt,name=implementation_id,json=implementationId,proto3" json:"implementation_id,omitempty"`
	// ids of the direct resources (if any) attached to this table; for now this
	// includes only direct counters and direct meters, but other resources may be
	// added in the future
	DirectResourceIds []uint32 `protobuf:"varint,7,rep,packed,name=direct_resource_ids,json=directResourceIds,proto3" json:"direct_resource_ids,omitempty"`
	Size              int64    `protobuf:"varint,8,opt,name=size,proto3" json:"size,omitempty"`
	// is idle timeout supported for this table?
	IdleTimeoutBehavior Table_IdleTimeoutBehavior `` /* 165-byte string literal not displayed */
	// table with static P4 entries, cannot be modified at runtime
	IsConstTable bool `protobuf:"varint,10,opt,name=is_const_table,json=isConstTable,proto3" json:"is_const_table,omitempty"`
	// architecture-specific table properties which are not part of the core P4
	// language or of the PSA architecture.
	OtherProperties      *any.Any `protobuf:"bytes,100,opt,name=other_properties,json=otherProperties,proto3" json:"other_properties,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Table) Descriptor

func (*Table) Descriptor() ([]byte, []int)

func (*Table) GetActionRefs

func (m *Table) GetActionRefs() []*ActionRef

func (*Table) GetConstDefaultActionId

func (m *Table) GetConstDefaultActionId() uint32

func (*Table) GetDirectResourceIds

func (m *Table) GetDirectResourceIds() []uint32

func (*Table) GetIdleTimeoutBehavior

func (m *Table) GetIdleTimeoutBehavior() Table_IdleTimeoutBehavior

func (*Table) GetImplementationId

func (m *Table) GetImplementationId() uint32

func (*Table) GetIsConstTable

func (m *Table) GetIsConstTable() bool

func (*Table) GetMatchFields

func (m *Table) GetMatchFields() []*MatchField

func (*Table) GetOtherProperties

func (m *Table) GetOtherProperties() *any.Any

func (*Table) GetPreamble

func (m *Table) GetPreamble() *Preamble

func (*Table) GetSize

func (m *Table) GetSize() int64

func (*Table) ProtoMessage

func (*Table) ProtoMessage()

func (*Table) Reset

func (m *Table) Reset()

func (*Table) String

func (m *Table) String() string

func (*Table) XXX_DiscardUnknown

func (m *Table) XXX_DiscardUnknown()

func (*Table) XXX_Marshal

func (m *Table) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Table) XXX_Merge

func (m *Table) XXX_Merge(src proto.Message)

func (*Table) XXX_Size

func (m *Table) XXX_Size() int

func (*Table) XXX_Unmarshal

func (m *Table) XXX_Unmarshal(b []byte) error

type Table_IdleTimeoutBehavior

type Table_IdleTimeoutBehavior int32

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

const (
	Table_NO_TIMEOUT     Table_IdleTimeoutBehavior = 0
	Table_NOTIFY_CONTROL Table_IdleTimeoutBehavior = 1
)

func (Table_IdleTimeoutBehavior) EnumDescriptor

func (Table_IdleTimeoutBehavior) EnumDescriptor() ([]byte, []int)

func (Table_IdleTimeoutBehavior) String

func (x Table_IdleTimeoutBehavior) String() string

type ValueSet

type ValueSet struct {
	Preamble *Preamble     `protobuf:"bytes,1,opt,name=preamble,proto3" json:"preamble,omitempty"`
	Match    []*MatchField `protobuf:"bytes,2,rep,name=match,proto3" json:"match,omitempty"`
	// number of entries in the value_set, as per the P4 constructor call.
	Size                 int32    `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ValueSet) Descriptor

func (*ValueSet) Descriptor() ([]byte, []int)

func (*ValueSet) GetMatch

func (m *ValueSet) GetMatch() []*MatchField

func (*ValueSet) GetPreamble

func (m *ValueSet) GetPreamble() *Preamble

func (*ValueSet) GetSize

func (m *ValueSet) GetSize() int32

func (*ValueSet) ProtoMessage

func (*ValueSet) ProtoMessage()

func (*ValueSet) Reset

func (m *ValueSet) Reset()

func (*ValueSet) String

func (m *ValueSet) String() string

func (*ValueSet) XXX_DiscardUnknown

func (m *ValueSet) XXX_DiscardUnknown()

func (*ValueSet) XXX_Marshal

func (m *ValueSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ValueSet) XXX_Merge

func (m *ValueSet) XXX_Merge(src proto.Message)

func (*ValueSet) XXX_Size

func (m *ValueSet) XXX_Size() int

func (*ValueSet) XXX_Unmarshal

func (m *ValueSet) XXX_Unmarshal(b []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL