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: 10 Imported by: 64

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GetForwardingPipelineConfigRequest_ResponseType_name = map[int32]string{
	0: "ALL",
	1: "COOKIE_ONLY",
	2: "P4INFO_AND_COOKIE",
	3: "DEVICE_CONFIG_AND_COOKIE",
}
View Source
var GetForwardingPipelineConfigRequest_ResponseType_value = map[string]int32{
	"ALL":                      0,
	"COOKIE_ONLY":              1,
	"P4INFO_AND_COOKIE":        2,
	"DEVICE_CONFIG_AND_COOKIE": 3,
}
View Source
var SdnPort_name = map[int32]string{
	0:    "SDN_PORT_UNKNOWN",
	1:    "SDN_PORT_MIN",
	-257: "SDN_PORT_MAX",
	-6:   "SDN_PORT_RECIRCULATE",
	-3:   "SDN_PORT_CPU",
}
View Source
var SdnPort_value = map[string]int32{
	"SDN_PORT_UNKNOWN":     0,
	"SDN_PORT_MIN":         1,
	"SDN_PORT_MAX":         -257,
	"SDN_PORT_RECIRCULATE": -6,
	"SDN_PORT_CPU":         -3,
}
View Source
var SetForwardingPipelineConfigRequest_Action_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "VERIFY",
	2: "VERIFY_AND_SAVE",
	3: "VERIFY_AND_COMMIT",
	4: "COMMIT",
	5: "RECONCILE_AND_COMMIT",
}
View Source
var SetForwardingPipelineConfigRequest_Action_value = map[string]int32{
	"UNSPECIFIED":          0,
	"VERIFY":               1,
	"VERIFY_AND_SAVE":      2,
	"VERIFY_AND_COMMIT":    3,
	"COMMIT":               4,
	"RECONCILE_AND_COMMIT": 5,
}
View Source
var Update_Type_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "INSERT",
	2: "MODIFY",
	3: "DELETE",
}
View Source
var Update_Type_value = map[string]int32{
	"UNSPECIFIED": 0,
	"INSERT":      1,
	"MODIFY":      2,
	"DELETE":      3,
}
View Source
var WriteRequest_Atomicity_name = map[int32]string{
	0: "CONTINUE_ON_ERROR",
	1: "ROLLBACK_ON_ERROR",
	2: "DATAPLANE_ATOMIC",
}
View Source
var WriteRequest_Atomicity_value = map[string]int32{
	"CONTINUE_ON_ERROR": 0,
	"ROLLBACK_ON_ERROR": 1,
	"DATAPLANE_ATOMIC":  2,
}

Functions

func RegisterP4RuntimeServer

func RegisterP4RuntimeServer(s *grpc.Server, srv P4RuntimeServer)

Types

type Action

type Action struct {
	ActionId             uint32          `protobuf:"varint,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"`
	Params               []*Action_Param `protobuf:"bytes,4,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) GetActionId

func (m *Action) GetActionId() uint32

func (*Action) GetParams

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

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 ActionProfileAction

type ActionProfileAction struct {
	Action *Action `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"`
	Weight int32   `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
	// Types that are valid to be assigned to WatchKind:
	//	*ActionProfileAction_Watch
	//	*ActionProfileAction_WatchPort
	WatchKind            isActionProfileAction_WatchKind `protobuf_oneof:"watch_kind"`
	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
	XXX_unrecognized     []byte                          `json:"-"`
	XXX_sizecache        int32                           `json:"-"`
}

func (*ActionProfileAction) Descriptor

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

func (*ActionProfileAction) GetAction

func (m *ActionProfileAction) GetAction() *Action

func (*ActionProfileAction) GetWatch deprecated

func (m *ActionProfileAction) GetWatch() int32

Deprecated: Do not use.

func (*ActionProfileAction) GetWatchKind added in v1.3.0

func (m *ActionProfileAction) GetWatchKind() isActionProfileAction_WatchKind

func (*ActionProfileAction) GetWatchPort added in v1.3.0

func (m *ActionProfileAction) GetWatchPort() []byte

func (*ActionProfileAction) GetWeight

func (m *ActionProfileAction) GetWeight() int32

func (*ActionProfileAction) ProtoMessage

func (*ActionProfileAction) ProtoMessage()

func (*ActionProfileAction) Reset

func (m *ActionProfileAction) Reset()

func (*ActionProfileAction) String

func (m *ActionProfileAction) String() string

func (*ActionProfileAction) XXX_DiscardUnknown

func (m *ActionProfileAction) XXX_DiscardUnknown()

func (*ActionProfileAction) XXX_Marshal

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

func (*ActionProfileAction) XXX_Merge

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

func (*ActionProfileAction) XXX_OneofWrappers added in v1.3.0

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*ActionProfileAction) XXX_Size

func (m *ActionProfileAction) XXX_Size() int

func (*ActionProfileAction) XXX_Unmarshal

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

type ActionProfileActionSet

type ActionProfileActionSet struct {
	ActionProfileActions []*ActionProfileAction `protobuf:"bytes,1,rep,name=action_profile_actions,json=actionProfileActions,proto3" json:"action_profile_actions,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (*ActionProfileActionSet) Descriptor

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

func (*ActionProfileActionSet) GetActionProfileActions

func (m *ActionProfileActionSet) GetActionProfileActions() []*ActionProfileAction

func (*ActionProfileActionSet) ProtoMessage

func (*ActionProfileActionSet) ProtoMessage()

func (*ActionProfileActionSet) Reset

func (m *ActionProfileActionSet) Reset()

func (*ActionProfileActionSet) String

func (m *ActionProfileActionSet) String() string

func (*ActionProfileActionSet) XXX_DiscardUnknown

func (m *ActionProfileActionSet) XXX_DiscardUnknown()

func (*ActionProfileActionSet) XXX_Marshal

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

func (*ActionProfileActionSet) XXX_Merge

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

func (*ActionProfileActionSet) XXX_Size

func (m *ActionProfileActionSet) XXX_Size() int

func (*ActionProfileActionSet) XXX_Unmarshal

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

type ActionProfileAction_Watch added in v1.3.0

type ActionProfileAction_Watch struct {
	Watch int32 `protobuf:"varint,3,opt,name=watch,proto3,oneof"`
}

type ActionProfileAction_WatchPort added in v1.3.0

type ActionProfileAction_WatchPort struct {
	WatchPort []byte `protobuf:"bytes,4,opt,name=watch_port,json=watchPort,proto3,oneof"`
}

type ActionProfileGroup

type ActionProfileGroup struct {
	ActionProfileId uint32                       `protobuf:"varint,1,opt,name=action_profile_id,json=actionProfileId,proto3" json:"action_profile_id,omitempty"`
	GroupId         uint32                       `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
	Members         []*ActionProfileGroup_Member `protobuf:"bytes,3,rep,name=members,proto3" json:"members,omitempty"`
	// Max number of weighted member entries in this group. It cannot be modified
	// after a group has been created. It must not exceed the static
	// max_group_size included in P4Info. If the max size is not known at group
	// creation-time, the client may leave this field unset (default value 0), in
	// which case the static max_group_size value will be used and the group will
	// be able to include up to max_group_size weighted member entries.
	MaxSize              int32    `protobuf:"varint,4,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

------------------------------------------------------------------------------

func (*ActionProfileGroup) Descriptor

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

func (*ActionProfileGroup) GetActionProfileId

func (m *ActionProfileGroup) GetActionProfileId() uint32

func (*ActionProfileGroup) GetGroupId

func (m *ActionProfileGroup) GetGroupId() uint32

func (*ActionProfileGroup) GetMaxSize

func (m *ActionProfileGroup) GetMaxSize() int32

func (*ActionProfileGroup) GetMembers

func (m *ActionProfileGroup) GetMembers() []*ActionProfileGroup_Member

func (*ActionProfileGroup) ProtoMessage

func (*ActionProfileGroup) ProtoMessage()

func (*ActionProfileGroup) Reset

func (m *ActionProfileGroup) Reset()

func (*ActionProfileGroup) String

func (m *ActionProfileGroup) String() string

func (*ActionProfileGroup) XXX_DiscardUnknown

func (m *ActionProfileGroup) XXX_DiscardUnknown()

func (*ActionProfileGroup) XXX_Marshal

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

func (*ActionProfileGroup) XXX_Merge

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

func (*ActionProfileGroup) XXX_Size

func (m *ActionProfileGroup) XXX_Size() int

func (*ActionProfileGroup) XXX_Unmarshal

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

type ActionProfileGroup_Member

type ActionProfileGroup_Member struct {
	MemberId uint32 `protobuf:"varint,1,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"`
	Weight   int32  `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
	// Types that are valid to be assigned to WatchKind:
	//	*ActionProfileGroup_Member_Watch
	//	*ActionProfileGroup_Member_WatchPort
	WatchKind            isActionProfileGroup_Member_WatchKind `protobuf_oneof:"watch_kind"`
	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
	XXX_unrecognized     []byte                                `json:"-"`
	XXX_sizecache        int32                                 `json:"-"`
}

func (*ActionProfileGroup_Member) Descriptor

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

func (*ActionProfileGroup_Member) GetMemberId

func (m *ActionProfileGroup_Member) GetMemberId() uint32

func (*ActionProfileGroup_Member) GetWatch deprecated

func (m *ActionProfileGroup_Member) GetWatch() int32

Deprecated: Do not use.

func (*ActionProfileGroup_Member) GetWatchKind added in v1.3.0

func (m *ActionProfileGroup_Member) GetWatchKind() isActionProfileGroup_Member_WatchKind

func (*ActionProfileGroup_Member) GetWatchPort added in v1.3.0

func (m *ActionProfileGroup_Member) GetWatchPort() []byte

func (*ActionProfileGroup_Member) GetWeight

func (m *ActionProfileGroup_Member) GetWeight() int32

func (*ActionProfileGroup_Member) ProtoMessage

func (*ActionProfileGroup_Member) ProtoMessage()

func (*ActionProfileGroup_Member) Reset

func (m *ActionProfileGroup_Member) Reset()

func (*ActionProfileGroup_Member) String

func (m *ActionProfileGroup_Member) String() string

func (*ActionProfileGroup_Member) XXX_DiscardUnknown

func (m *ActionProfileGroup_Member) XXX_DiscardUnknown()

func (*ActionProfileGroup_Member) XXX_Marshal

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

func (*ActionProfileGroup_Member) XXX_Merge

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

func (*ActionProfileGroup_Member) XXX_OneofWrappers added in v1.3.0

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*ActionProfileGroup_Member) XXX_Size

func (m *ActionProfileGroup_Member) XXX_Size() int

func (*ActionProfileGroup_Member) XXX_Unmarshal

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

type ActionProfileGroup_Member_Watch added in v1.3.0

type ActionProfileGroup_Member_Watch struct {
	Watch int32 `protobuf:"varint,3,opt,name=watch,proto3,oneof"`
}

type ActionProfileGroup_Member_WatchPort added in v1.3.0

type ActionProfileGroup_Member_WatchPort struct {
	WatchPort []byte `protobuf:"bytes,4,opt,name=watch_port,json=watchPort,proto3,oneof"`
}

type ActionProfileMember

type ActionProfileMember struct {
	ActionProfileId      uint32   `protobuf:"varint,1,opt,name=action_profile_id,json=actionProfileId,proto3" json:"action_profile_id,omitempty"`
	MemberId             uint32   `protobuf:"varint,2,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"`
	Action               *Action  `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

------------------------------------------------------------------------------

func (*ActionProfileMember) Descriptor

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

func (*ActionProfileMember) GetAction

func (m *ActionProfileMember) GetAction() *Action

func (*ActionProfileMember) GetActionProfileId

func (m *ActionProfileMember) GetActionProfileId() uint32

func (*ActionProfileMember) GetMemberId

func (m *ActionProfileMember) GetMemberId() uint32

func (*ActionProfileMember) ProtoMessage

func (*ActionProfileMember) ProtoMessage()

func (*ActionProfileMember) Reset

func (m *ActionProfileMember) Reset()

func (*ActionProfileMember) String

func (m *ActionProfileMember) String() string

func (*ActionProfileMember) XXX_DiscardUnknown

func (m *ActionProfileMember) XXX_DiscardUnknown()

func (*ActionProfileMember) XXX_Marshal

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

func (*ActionProfileMember) XXX_Merge

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

func (*ActionProfileMember) XXX_Size

func (m *ActionProfileMember) XXX_Size() int

func (*ActionProfileMember) XXX_Unmarshal

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

type Action_Param

type Action_Param struct {
	ParamId              uint32   `protobuf:"varint,2,opt,name=param_id,json=paramId,proto3" json:"param_id,omitempty"`
	Value                []byte   `protobuf:"bytes,3,opt,name=value,proto3" json:"value,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) GetParamId

func (m *Action_Param) GetParamId() uint32

func (*Action_Param) GetValue

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

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 CapabilitiesRequest

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

------------------------------------------------------------------------------

func (*CapabilitiesRequest) Descriptor

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

func (*CapabilitiesRequest) ProtoMessage

func (*CapabilitiesRequest) ProtoMessage()

func (*CapabilitiesRequest) Reset

func (m *CapabilitiesRequest) Reset()

func (*CapabilitiesRequest) String

func (m *CapabilitiesRequest) String() string

func (*CapabilitiesRequest) XXX_DiscardUnknown

func (m *CapabilitiesRequest) XXX_DiscardUnknown()

func (*CapabilitiesRequest) XXX_Marshal

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

func (*CapabilitiesRequest) XXX_Merge

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

func (*CapabilitiesRequest) XXX_Size

func (m *CapabilitiesRequest) XXX_Size() int

func (*CapabilitiesRequest) XXX_Unmarshal

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

type CapabilitiesResponse

type CapabilitiesResponse struct {
	// The full semantic version string (e.g. "1.1.0-rc.1") corresponding to the
	// version of the P4Runtime API currently implemented by the server.
	P4RuntimeApiVersion  string   `protobuf:"bytes,1,opt,name=p4runtime_api_version,json=p4runtimeApiVersion,proto3" json:"p4runtime_api_version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*CapabilitiesResponse) Descriptor

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

func (*CapabilitiesResponse) GetP4RuntimeApiVersion

func (m *CapabilitiesResponse) GetP4RuntimeApiVersion() string

func (*CapabilitiesResponse) ProtoMessage

func (*CapabilitiesResponse) ProtoMessage()

func (*CapabilitiesResponse) Reset

func (m *CapabilitiesResponse) Reset()

func (*CapabilitiesResponse) String

func (m *CapabilitiesResponse) String() string

func (*CapabilitiesResponse) XXX_DiscardUnknown

func (m *CapabilitiesResponse) XXX_DiscardUnknown()

func (*CapabilitiesResponse) XXX_Marshal

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

func (*CapabilitiesResponse) XXX_Merge

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

func (*CapabilitiesResponse) XXX_Size

func (m *CapabilitiesResponse) XXX_Size() int

func (*CapabilitiesResponse) XXX_Unmarshal

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

type CloneSessionEntry

type CloneSessionEntry struct {
	SessionId            uint32     `protobuf:"varint,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	Replicas             []*Replica `protobuf:"bytes,2,rep,name=replicas,proto3" json:"replicas,omitempty"`
	ClassOfService       uint32     `protobuf:"varint,3,opt,name=class_of_service,json=classOfService,proto3" json:"class_of_service,omitempty"`
	PacketLengthBytes    int32      `protobuf:"varint,4,opt,name=packet_length_bytes,json=packetLengthBytes,proto3" json:"packet_length_bytes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

A packet may be cloned by setting the clone_session_id field of PSA ingress/egress output metadata to session_id of a programmed clone session entry. Multiple clones may be created via a single clone session entry by using the replicas message. The clones may be distinguished in the egress using the instance field. The class_of_service field of the clone's egress input metadata will be set to the respective value programmed in the clone session entry. Note that in case of multiple clones, all clones, defined for a clone session, will get the same class of service. The packet_length_bytes field must be set to a non-zero value if the clone packet(s) should be truncated to the given value (in bytes). The packet length is also common to all clones in the clone session. If the packet_length_bytes field is 0, no truncation on the clone(s) will be performed.

func (*CloneSessionEntry) Descriptor

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

func (*CloneSessionEntry) GetClassOfService

func (m *CloneSessionEntry) GetClassOfService() uint32

func (*CloneSessionEntry) GetPacketLengthBytes

func (m *CloneSessionEntry) GetPacketLengthBytes() int32

func (*CloneSessionEntry) GetReplicas

func (m *CloneSessionEntry) GetReplicas() []*Replica

func (*CloneSessionEntry) GetSessionId

func (m *CloneSessionEntry) GetSessionId() uint32

func (*CloneSessionEntry) ProtoMessage

func (*CloneSessionEntry) ProtoMessage()

func (*CloneSessionEntry) Reset

func (m *CloneSessionEntry) Reset()

func (*CloneSessionEntry) String

func (m *CloneSessionEntry) String() string

func (*CloneSessionEntry) XXX_DiscardUnknown

func (m *CloneSessionEntry) XXX_DiscardUnknown()

func (*CloneSessionEntry) XXX_Marshal

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

func (*CloneSessionEntry) XXX_Merge

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

func (*CloneSessionEntry) XXX_Size

func (m *CloneSessionEntry) XXX_Size() int

func (*CloneSessionEntry) XXX_Unmarshal

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

type CounterData

type CounterData struct {
	ByteCount            int64    `protobuf:"varint,1,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"`
	PacketCount          int64    `protobuf:"varint,2,opt,name=packet_count,json=packetCount,proto3" json:"packet_count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*CounterData) Descriptor

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

func (*CounterData) GetByteCount

func (m *CounterData) GetByteCount() int64

func (*CounterData) GetPacketCount

func (m *CounterData) GetPacketCount() int64

func (*CounterData) ProtoMessage

func (*CounterData) ProtoMessage()

func (*CounterData) Reset

func (m *CounterData) Reset()

func (*CounterData) String

func (m *CounterData) String() string

func (*CounterData) XXX_DiscardUnknown

func (m *CounterData) XXX_DiscardUnknown()

func (*CounterData) XXX_Marshal

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

func (*CounterData) XXX_Merge

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

func (*CounterData) XXX_Size

func (m *CounterData) XXX_Size() int

func (*CounterData) XXX_Unmarshal

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

type CounterEntry

type CounterEntry struct {
	CounterId            uint32       `protobuf:"varint,1,opt,name=counter_id,json=counterId,proto3" json:"counter_id,omitempty"`
	Index                *Index       `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"`
	Data                 *CounterData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY. For ReadRequest, the scope is defined as follows: - All counter cells for all counters if counter_id = 0 (default). - All counter cells for given counter_id if index is unset (default).

func (*CounterEntry) Descriptor

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

func (*CounterEntry) GetCounterId

func (m *CounterEntry) GetCounterId() uint32

func (*CounterEntry) GetData

func (m *CounterEntry) GetData() *CounterData

func (*CounterEntry) GetIndex

func (m *CounterEntry) GetIndex() *Index

func (*CounterEntry) ProtoMessage

func (*CounterEntry) ProtoMessage()

func (*CounterEntry) Reset

func (m *CounterEntry) Reset()

func (*CounterEntry) String

func (m *CounterEntry) String() string

func (*CounterEntry) XXX_DiscardUnknown

func (m *CounterEntry) XXX_DiscardUnknown()

func (*CounterEntry) XXX_Marshal

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

func (*CounterEntry) XXX_Merge

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

func (*CounterEntry) XXX_Size

func (m *CounterEntry) XXX_Size() int

func (*CounterEntry) XXX_Unmarshal

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

type DigestEntry

type DigestEntry struct {
	DigestId             uint32              `protobuf:"varint,1,opt,name=digest_id,json=digestId,proto3" json:"digest_id,omitempty"`
	Config               *DigestEntry_Config `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

------------------------------------------------------------------------------ Used to configure the digest extern only, not to stream digests or acks

func (*DigestEntry) Descriptor

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

func (*DigestEntry) GetConfig

func (m *DigestEntry) GetConfig() *DigestEntry_Config

func (*DigestEntry) GetDigestId

func (m *DigestEntry) GetDigestId() uint32

func (*DigestEntry) ProtoMessage

func (*DigestEntry) ProtoMessage()

func (*DigestEntry) Reset

func (m *DigestEntry) Reset()

func (*DigestEntry) String

func (m *DigestEntry) String() string

func (*DigestEntry) XXX_DiscardUnknown

func (m *DigestEntry) XXX_DiscardUnknown()

func (*DigestEntry) XXX_Marshal

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

func (*DigestEntry) XXX_Merge

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

func (*DigestEntry) XXX_Size

func (m *DigestEntry) XXX_Size() int

func (*DigestEntry) XXX_Unmarshal

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

type DigestEntry_Config

type DigestEntry_Config struct {
	MaxTimeoutNs         int64    `protobuf:"varint,1,opt,name=max_timeout_ns,json=maxTimeoutNs,proto3" json:"max_timeout_ns,omitempty"`
	MaxListSize          int32    `protobuf:"varint,2,opt,name=max_list_size,json=maxListSize,proto3" json:"max_list_size,omitempty"`
	AckTimeoutNs         int64    `protobuf:"varint,3,opt,name=ack_timeout_ns,json=ackTimeoutNs,proto3" json:"ack_timeout_ns,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

a DigestList message is streamed when the following conditions are met:

  • there is at least one digest ready
  • the oldest digest in the list has been waiting for at least max_timeout_ns nanoseconds or we have gathered max_list_size digests already

func (*DigestEntry_Config) Descriptor

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

func (*DigestEntry_Config) GetAckTimeoutNs

func (m *DigestEntry_Config) GetAckTimeoutNs() int64

func (*DigestEntry_Config) GetMaxListSize

func (m *DigestEntry_Config) GetMaxListSize() int32

func (*DigestEntry_Config) GetMaxTimeoutNs

func (m *DigestEntry_Config) GetMaxTimeoutNs() int64

func (*DigestEntry_Config) ProtoMessage

func (*DigestEntry_Config) ProtoMessage()

func (*DigestEntry_Config) Reset

func (m *DigestEntry_Config) Reset()

func (*DigestEntry_Config) String

func (m *DigestEntry_Config) String() string

func (*DigestEntry_Config) XXX_DiscardUnknown

func (m *DigestEntry_Config) XXX_DiscardUnknown()

func (*DigestEntry_Config) XXX_Marshal

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

func (*DigestEntry_Config) XXX_Merge

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

func (*DigestEntry_Config) XXX_Size

func (m *DigestEntry_Config) XXX_Size() int

func (*DigestEntry_Config) XXX_Unmarshal

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

type DigestList

type DigestList struct {
	DigestId uint32 `protobuf:"varint,1,opt,name=digest_id,json=digestId,proto3" json:"digest_id,omitempty"`
	ListId   uint64 `protobuf:"varint,2,opt,name=list_id,json=listId,proto3" json:"list_id,omitempty"`
	// List of entries: each call to the Digest<T>::pack() method corresponds to
	// one entry and we can have as little as one entry.
	Data []*P4Data `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
	// Timestamp at which the server generated the message (in nanoseconds since
	// Epoch)
	Timestamp            int64    `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*DigestList) Descriptor

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

func (*DigestList) GetData

func (m *DigestList) GetData() []*P4Data

func (*DigestList) GetDigestId

func (m *DigestList) GetDigestId() uint32

func (*DigestList) GetListId

func (m *DigestList) GetListId() uint64

func (*DigestList) GetTimestamp

func (m *DigestList) GetTimestamp() int64

func (*DigestList) ProtoMessage

func (*DigestList) ProtoMessage()

func (*DigestList) Reset

func (m *DigestList) Reset()

func (*DigestList) String

func (m *DigestList) String() string

func (*DigestList) XXX_DiscardUnknown

func (m *DigestList) XXX_DiscardUnknown()

func (*DigestList) XXX_Marshal

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

func (*DigestList) XXX_Merge

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

func (*DigestList) XXX_Size

func (m *DigestList) XXX_Size() int

func (*DigestList) XXX_Unmarshal

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

type DigestListAck

type DigestListAck struct {
	DigestId             uint32   `protobuf:"varint,1,opt,name=digest_id,json=digestId,proto3" json:"digest_id,omitempty"`
	ListId               uint64   `protobuf:"varint,2,opt,name=list_id,json=listId,proto3" json:"list_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Used by the controller to ack a DigestList message. To avoid flooding the controller, the switch must not generate digest notifications for the same data until a DigestListAck message with the same list_id is received or the ack timeout (ack_timeout_ns field in DigestEntry.Config) expires.

func (*DigestListAck) Descriptor

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

func (*DigestListAck) GetDigestId

func (m *DigestListAck) GetDigestId() uint32

func (*DigestListAck) GetListId

func (m *DigestListAck) GetListId() uint64

func (*DigestListAck) ProtoMessage

func (*DigestListAck) ProtoMessage()

func (*DigestListAck) Reset

func (m *DigestListAck) Reset()

func (*DigestListAck) String

func (m *DigestListAck) String() string

func (*DigestListAck) XXX_DiscardUnknown

func (m *DigestListAck) XXX_DiscardUnknown()

func (*DigestListAck) XXX_Marshal

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

func (*DigestListAck) XXX_Merge

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

func (*DigestListAck) XXX_Size

func (m *DigestListAck) XXX_Size() int

func (*DigestListAck) XXX_Unmarshal

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

type DigestListAckError

type DigestListAckError struct {
	// Optional. The digest list acknowledgement message that caused the error.
	DigestListAck        *DigestListAck `protobuf:"bytes,1,opt,name=digest_list_ack,json=digestListAck,proto3" json:"digest_list_ack,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (*DigestListAckError) Descriptor

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

func (*DigestListAckError) GetDigestListAck

func (m *DigestListAckError) GetDigestListAck() *DigestListAck

func (*DigestListAckError) ProtoMessage

func (*DigestListAckError) ProtoMessage()

func (*DigestListAckError) Reset

func (m *DigestListAckError) Reset()

func (*DigestListAckError) String

func (m *DigestListAckError) String() string

func (*DigestListAckError) XXX_DiscardUnknown

func (m *DigestListAckError) XXX_DiscardUnknown()

func (*DigestListAckError) XXX_Marshal

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

func (*DigestListAckError) XXX_Merge

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

func (*DigestListAckError) XXX_Size

func (m *DigestListAckError) XXX_Size() int

func (*DigestListAckError) XXX_Unmarshal

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

type DirectCounterEntry

type DirectCounterEntry struct {
	// The associated table entry. This field is required.
	// table_entry.action is ignored. Other fields specify the match.
	TableEntry           *TableEntry  `protobuf:"bytes,1,opt,name=table_entry,json=tableEntry,proto3" json:"table_entry,omitempty"`
	Data                 *CounterData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY. INSERT and DELETE on direct counters is not allowed and will return an error. The insertion/deletion should happen as part of INSERT/DELETE on the associated table-entry. For ReadRequest, the scope is defined as follows:

  • All counter cells for all tables if table_entry.table_id = 0.
  • All counter cells of a table if table_entry.table_id is present and table_entry.match is empty.

func (*DirectCounterEntry) Descriptor

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

func (*DirectCounterEntry) GetData

func (m *DirectCounterEntry) GetData() *CounterData

func (*DirectCounterEntry) GetTableEntry

func (m *DirectCounterEntry) GetTableEntry() *TableEntry

func (*DirectCounterEntry) ProtoMessage

func (*DirectCounterEntry) ProtoMessage()

func (*DirectCounterEntry) Reset

func (m *DirectCounterEntry) Reset()

func (*DirectCounterEntry) String

func (m *DirectCounterEntry) String() string

func (*DirectCounterEntry) XXX_DiscardUnknown

func (m *DirectCounterEntry) XXX_DiscardUnknown()

func (*DirectCounterEntry) XXX_Marshal

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

func (*DirectCounterEntry) XXX_Merge

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

func (*DirectCounterEntry) XXX_Size

func (m *DirectCounterEntry) XXX_Size() int

func (*DirectCounterEntry) XXX_Unmarshal

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

type DirectMeterEntry

type DirectMeterEntry struct {
	// The associated table entry. This field is required.
	// table_entry.action is ignored. Other fields specify the match.
	TableEntry           *TableEntry  `protobuf:"bytes,1,opt,name=table_entry,json=tableEntry,proto3" json:"table_entry,omitempty"`
	Config               *MeterConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY. INSERT and DELETE on direct meters is not allowed and will return an error. The insertion/deletion should happen as part of INSERT/DELETE on the associated table-entry. For ReadRequest, the scope is defined as follows:

  • All meter cells for all tables if table_entry.table_id = 0.
  • All meter cells of a table if table_entry.table_id is present and table_entry.match is empty.

func (*DirectMeterEntry) Descriptor

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

func (*DirectMeterEntry) GetConfig

func (m *DirectMeterEntry) GetConfig() *MeterConfig

func (*DirectMeterEntry) GetTableEntry

func (m *DirectMeterEntry) GetTableEntry() *TableEntry

func (*DirectMeterEntry) ProtoMessage

func (*DirectMeterEntry) ProtoMessage()

func (*DirectMeterEntry) Reset

func (m *DirectMeterEntry) Reset()

func (*DirectMeterEntry) String

func (m *DirectMeterEntry) String() string

func (*DirectMeterEntry) XXX_DiscardUnknown

func (m *DirectMeterEntry) XXX_DiscardUnknown()

func (*DirectMeterEntry) XXX_Marshal

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

func (*DirectMeterEntry) XXX_Merge

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

func (*DirectMeterEntry) XXX_Size

func (m *DirectMeterEntry) XXX_Size() int

func (*DirectMeterEntry) XXX_Unmarshal

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

type Entity

type Entity struct {
	// Types that are valid to be assigned to Entity:
	//	*Entity_ExternEntry
	//	*Entity_TableEntry
	//	*Entity_ActionProfileMember
	//	*Entity_ActionProfileGroup
	//	*Entity_MeterEntry
	//	*Entity_DirectMeterEntry
	//	*Entity_CounterEntry
	//	*Entity_DirectCounterEntry
	//	*Entity_PacketReplicationEngineEntry
	//	*Entity_ValueSetEntry
	//	*Entity_RegisterEntry
	//	*Entity_DigestEntry
	Entity               isEntity_Entity `protobuf_oneof:"entity"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (*Entity) Descriptor

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

func (*Entity) GetActionProfileGroup

func (m *Entity) GetActionProfileGroup() *ActionProfileGroup

func (*Entity) GetActionProfileMember

func (m *Entity) GetActionProfileMember() *ActionProfileMember

func (*Entity) GetCounterEntry

func (m *Entity) GetCounterEntry() *CounterEntry

func (*Entity) GetDigestEntry

func (m *Entity) GetDigestEntry() *DigestEntry

func (*Entity) GetDirectCounterEntry

func (m *Entity) GetDirectCounterEntry() *DirectCounterEntry

func (*Entity) GetDirectMeterEntry

func (m *Entity) GetDirectMeterEntry() *DirectMeterEntry

func (*Entity) GetEntity

func (m *Entity) GetEntity() isEntity_Entity

func (*Entity) GetExternEntry

func (m *Entity) GetExternEntry() *ExternEntry

func (*Entity) GetMeterEntry

func (m *Entity) GetMeterEntry() *MeterEntry

func (*Entity) GetPacketReplicationEngineEntry

func (m *Entity) GetPacketReplicationEngineEntry() *PacketReplicationEngineEntry

func (*Entity) GetRegisterEntry

func (m *Entity) GetRegisterEntry() *RegisterEntry

func (*Entity) GetTableEntry

func (m *Entity) GetTableEntry() *TableEntry

func (*Entity) GetValueSetEntry

func (m *Entity) GetValueSetEntry() *ValueSetEntry

func (*Entity) ProtoMessage

func (*Entity) ProtoMessage()

func (*Entity) Reset

func (m *Entity) Reset()

func (*Entity) String

func (m *Entity) String() string

func (*Entity) XXX_DiscardUnknown

func (m *Entity) XXX_DiscardUnknown()

func (*Entity) XXX_Marshal

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

func (*Entity) XXX_Merge

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

func (*Entity) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*Entity) XXX_Size

func (m *Entity) XXX_Size() int

func (*Entity) XXX_Unmarshal

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

type Entity_ActionProfileGroup

type Entity_ActionProfileGroup struct {
	ActionProfileGroup *ActionProfileGroup `protobuf:"bytes,4,opt,name=action_profile_group,json=actionProfileGroup,proto3,oneof"`
}

type Entity_ActionProfileMember

type Entity_ActionProfileMember struct {
	ActionProfileMember *ActionProfileMember `protobuf:"bytes,3,opt,name=action_profile_member,json=actionProfileMember,proto3,oneof"`
}

type Entity_CounterEntry

type Entity_CounterEntry struct {
	CounterEntry *CounterEntry `protobuf:"bytes,7,opt,name=counter_entry,json=counterEntry,proto3,oneof"`
}

type Entity_DigestEntry

type Entity_DigestEntry struct {
	DigestEntry *DigestEntry `protobuf:"bytes,12,opt,name=digest_entry,json=digestEntry,proto3,oneof"`
}

type Entity_DirectCounterEntry

type Entity_DirectCounterEntry struct {
	DirectCounterEntry *DirectCounterEntry `protobuf:"bytes,8,opt,name=direct_counter_entry,json=directCounterEntry,proto3,oneof"`
}

type Entity_DirectMeterEntry

type Entity_DirectMeterEntry struct {
	DirectMeterEntry *DirectMeterEntry `protobuf:"bytes,6,opt,name=direct_meter_entry,json=directMeterEntry,proto3,oneof"`
}

type Entity_ExternEntry

type Entity_ExternEntry struct {
	ExternEntry *ExternEntry `protobuf:"bytes,1,opt,name=extern_entry,json=externEntry,proto3,oneof"`
}

type Entity_MeterEntry

type Entity_MeterEntry struct {
	MeterEntry *MeterEntry `protobuf:"bytes,5,opt,name=meter_entry,json=meterEntry,proto3,oneof"`
}

type Entity_PacketReplicationEngineEntry

type Entity_PacketReplicationEngineEntry struct {
	PacketReplicationEngineEntry *PacketReplicationEngineEntry `protobuf:"bytes,9,opt,name=packet_replication_engine_entry,json=packetReplicationEngineEntry,proto3,oneof"`
}

type Entity_RegisterEntry

type Entity_RegisterEntry struct {
	RegisterEntry *RegisterEntry `protobuf:"bytes,11,opt,name=register_entry,json=registerEntry,proto3,oneof"`
}

type Entity_TableEntry

type Entity_TableEntry struct {
	TableEntry *TableEntry `protobuf:"bytes,2,opt,name=table_entry,json=tableEntry,proto3,oneof"`
}

type Entity_ValueSetEntry

type Entity_ValueSetEntry struct {
	ValueSetEntry *ValueSetEntry `protobuf:"bytes,10,opt,name=value_set_entry,json=valueSetEntry,proto3,oneof"`
}

type Error

type Error struct {
	// gRPC canonical error code (see
	// https://developers.google.com/maps-booking/reference/grpc-api/status_codes)
	CanonicalCode int32 `protobuf:"varint,1,opt,name=canonical_code,json=canonicalCode,proto3" json:"canonical_code,omitempty"`
	// Detailed error message.
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// Target and architecture specific space to which this error belongs.
	// We encourage using triplet: <target>-<arch>-<vendor>,
	// e.g."targetX-psa-vendor1" or "targetY-psa-vendor2".
	Space string `protobuf:"bytes,3,opt,name=space,proto3" json:"space,omitempty"`
	// Numeric code drawn from target-specific error space above.
	Code int32 `protobuf:"varint,4,opt,name=code,proto3" json:"code,omitempty"`
	// Optional: Allows reporting back additional target-specific details on the
	// error.
	Details              *any.Any `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Error message used to report a single P4-entity error for a Write RPC.

func (*Error) Descriptor

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

func (*Error) GetCanonicalCode

func (m *Error) GetCanonicalCode() int32

func (*Error) GetCode

func (m *Error) GetCode() int32

func (*Error) GetDetails

func (m *Error) GetDetails() *any.Any

func (*Error) GetMessage

func (m *Error) GetMessage() string

func (*Error) GetSpace

func (m *Error) GetSpace() string

func (*Error) ProtoMessage

func (*Error) ProtoMessage()

func (*Error) Reset

func (m *Error) Reset()

func (*Error) String

func (m *Error) String() string

func (*Error) XXX_DiscardUnknown

func (m *Error) XXX_DiscardUnknown()

func (*Error) XXX_Marshal

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

func (*Error) XXX_Merge

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

func (*Error) XXX_Size

func (m *Error) XXX_Size() int

func (*Error) XXX_Unmarshal

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

type ExternEntry

type ExternEntry 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"`
	ExternId             uint32   `protobuf:"varint,2,opt,name=extern_id,json=externId,proto3" json:"extern_id,omitempty"`
	Entry                *any.Any `protobuf:"bytes,3,opt,name=entry,proto3" json:"entry,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*ExternEntry) Descriptor

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

func (*ExternEntry) GetEntry

func (m *ExternEntry) GetEntry() *any.Any

func (*ExternEntry) GetExternId

func (m *ExternEntry) GetExternId() uint32

func (*ExternEntry) GetExternTypeId

func (m *ExternEntry) GetExternTypeId() uint32

func (*ExternEntry) ProtoMessage

func (*ExternEntry) ProtoMessage()

func (*ExternEntry) Reset

func (m *ExternEntry) Reset()

func (*ExternEntry) String

func (m *ExternEntry) String() string

func (*ExternEntry) XXX_DiscardUnknown

func (m *ExternEntry) XXX_DiscardUnknown()

func (*ExternEntry) XXX_Marshal

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

func (*ExternEntry) XXX_Merge

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

func (*ExternEntry) XXX_Size

func (m *ExternEntry) XXX_Size() int

func (*ExternEntry) XXX_Unmarshal

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

type FieldMatch

type FieldMatch struct {
	FieldId uint32 `protobuf:"varint,1,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
	// Types that are valid to be assigned to FieldMatchType:
	//	*FieldMatch_Exact_
	//	*FieldMatch_Ternary_
	//	*FieldMatch_Lpm
	//	*FieldMatch_Range_
	//	*FieldMatch_Optional_
	//	*FieldMatch_Other
	FieldMatchType       isFieldMatch_FieldMatchType `protobuf_oneof:"field_match_type"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

field_match_type ::= exact | ternary | lpm | range | optional

func (*FieldMatch) Descriptor

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

func (*FieldMatch) GetExact

func (m *FieldMatch) GetExact() *FieldMatch_Exact

func (*FieldMatch) GetFieldId

func (m *FieldMatch) GetFieldId() uint32

func (*FieldMatch) GetFieldMatchType

func (m *FieldMatch) GetFieldMatchType() isFieldMatch_FieldMatchType

func (*FieldMatch) GetLpm

func (m *FieldMatch) GetLpm() *FieldMatch_LPM

func (*FieldMatch) GetOptional

func (m *FieldMatch) GetOptional() *FieldMatch_Optional

func (*FieldMatch) GetOther

func (m *FieldMatch) GetOther() *any.Any

func (*FieldMatch) GetRange

func (m *FieldMatch) GetRange() *FieldMatch_Range

func (*FieldMatch) GetTernary

func (m *FieldMatch) GetTernary() *FieldMatch_Ternary

func (*FieldMatch) ProtoMessage

func (*FieldMatch) ProtoMessage()

func (*FieldMatch) Reset

func (m *FieldMatch) Reset()

func (*FieldMatch) String

func (m *FieldMatch) String() string

func (*FieldMatch) XXX_DiscardUnknown

func (m *FieldMatch) XXX_DiscardUnknown()

func (*FieldMatch) XXX_Marshal

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

func (*FieldMatch) XXX_Merge

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

func (*FieldMatch) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*FieldMatch) XXX_Size

func (m *FieldMatch) XXX_Size() int

func (*FieldMatch) XXX_Unmarshal

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

type FieldMatch_Exact

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

Matches can be performed on arbitrarily-large inputs; the protobuf type 'bytes' is used to model arbitrarily-large values.

func (*FieldMatch_Exact) Descriptor

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

func (*FieldMatch_Exact) GetValue

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

func (*FieldMatch_Exact) ProtoMessage

func (*FieldMatch_Exact) ProtoMessage()

func (*FieldMatch_Exact) Reset

func (m *FieldMatch_Exact) Reset()

func (*FieldMatch_Exact) String

func (m *FieldMatch_Exact) String() string

func (*FieldMatch_Exact) XXX_DiscardUnknown

func (m *FieldMatch_Exact) XXX_DiscardUnknown()

func (*FieldMatch_Exact) XXX_Marshal

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

func (*FieldMatch_Exact) XXX_Merge

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

func (*FieldMatch_Exact) XXX_Size

func (m *FieldMatch_Exact) XXX_Size() int

func (*FieldMatch_Exact) XXX_Unmarshal

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

type FieldMatch_Exact_

type FieldMatch_Exact_ struct {
	Exact *FieldMatch_Exact `protobuf:"bytes,2,opt,name=exact,proto3,oneof"`
}

type FieldMatch_LPM

type FieldMatch_LPM struct {
	Value                []byte   `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	PrefixLen            int32    `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*FieldMatch_LPM) Descriptor

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

func (*FieldMatch_LPM) GetPrefixLen

func (m *FieldMatch_LPM) GetPrefixLen() int32

func (*FieldMatch_LPM) GetValue

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

func (*FieldMatch_LPM) ProtoMessage

func (*FieldMatch_LPM) ProtoMessage()

func (*FieldMatch_LPM) Reset

func (m *FieldMatch_LPM) Reset()

func (*FieldMatch_LPM) String

func (m *FieldMatch_LPM) String() string

func (*FieldMatch_LPM) XXX_DiscardUnknown

func (m *FieldMatch_LPM) XXX_DiscardUnknown()

func (*FieldMatch_LPM) XXX_Marshal

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

func (*FieldMatch_LPM) XXX_Merge

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

func (*FieldMatch_LPM) XXX_Size

func (m *FieldMatch_LPM) XXX_Size() int

func (*FieldMatch_LPM) XXX_Unmarshal

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

type FieldMatch_Lpm

type FieldMatch_Lpm struct {
	Lpm *FieldMatch_LPM `protobuf:"bytes,4,opt,name=lpm,proto3,oneof"`
}

type FieldMatch_Optional

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

If the Optional match should be a wildcard, the FieldMatch must be omitted. Otherwise, this behaves like an exact match.

func (*FieldMatch_Optional) Descriptor

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

func (*FieldMatch_Optional) GetValue

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

func (*FieldMatch_Optional) ProtoMessage

func (*FieldMatch_Optional) ProtoMessage()

func (*FieldMatch_Optional) Reset

func (m *FieldMatch_Optional) Reset()

func (*FieldMatch_Optional) String

func (m *FieldMatch_Optional) String() string

func (*FieldMatch_Optional) XXX_DiscardUnknown

func (m *FieldMatch_Optional) XXX_DiscardUnknown()

func (*FieldMatch_Optional) XXX_Marshal

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

func (*FieldMatch_Optional) XXX_Merge

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

func (*FieldMatch_Optional) XXX_Size

func (m *FieldMatch_Optional) XXX_Size() int

func (*FieldMatch_Optional) XXX_Unmarshal

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

type FieldMatch_Optional_

type FieldMatch_Optional_ struct {
	Optional *FieldMatch_Optional `protobuf:"bytes,7,opt,name=optional,proto3,oneof"`
}

type FieldMatch_Other

type FieldMatch_Other struct {
	Other *any.Any `protobuf:"bytes,100,opt,name=other,proto3,oneof"`
}

type FieldMatch_Range

type FieldMatch_Range struct {
	Low                  []byte   `protobuf:"bytes,1,opt,name=low,proto3" json:"low,omitempty"`
	High                 []byte   `protobuf:"bytes,2,opt,name=high,proto3" json:"high,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A Range is logically a set that contains all values numerically between 'low' and 'high' inclusively.

func (*FieldMatch_Range) Descriptor

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

func (*FieldMatch_Range) GetHigh

func (m *FieldMatch_Range) GetHigh() []byte

func (*FieldMatch_Range) GetLow

func (m *FieldMatch_Range) GetLow() []byte

func (*FieldMatch_Range) ProtoMessage

func (*FieldMatch_Range) ProtoMessage()

func (*FieldMatch_Range) Reset

func (m *FieldMatch_Range) Reset()

func (*FieldMatch_Range) String

func (m *FieldMatch_Range) String() string

func (*FieldMatch_Range) XXX_DiscardUnknown

func (m *FieldMatch_Range) XXX_DiscardUnknown()

func (*FieldMatch_Range) XXX_Marshal

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

func (*FieldMatch_Range) XXX_Merge

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

func (*FieldMatch_Range) XXX_Size

func (m *FieldMatch_Range) XXX_Size() int

func (*FieldMatch_Range) XXX_Unmarshal

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

type FieldMatch_Range_

type FieldMatch_Range_ struct {
	Range *FieldMatch_Range `protobuf:"bytes,6,opt,name=range,proto3,oneof"`
}

type FieldMatch_Ternary

type FieldMatch_Ternary struct {
	Value                []byte   `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	Mask                 []byte   `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*FieldMatch_Ternary) Descriptor

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

func (*FieldMatch_Ternary) GetMask

func (m *FieldMatch_Ternary) GetMask() []byte

func (*FieldMatch_Ternary) GetValue

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

func (*FieldMatch_Ternary) ProtoMessage

func (*FieldMatch_Ternary) ProtoMessage()

func (*FieldMatch_Ternary) Reset

func (m *FieldMatch_Ternary) Reset()

func (*FieldMatch_Ternary) String

func (m *FieldMatch_Ternary) String() string

func (*FieldMatch_Ternary) XXX_DiscardUnknown

func (m *FieldMatch_Ternary) XXX_DiscardUnknown()

func (*FieldMatch_Ternary) XXX_Marshal

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

func (*FieldMatch_Ternary) XXX_Merge

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

func (*FieldMatch_Ternary) XXX_Size

func (m *FieldMatch_Ternary) XXX_Size() int

func (*FieldMatch_Ternary) XXX_Unmarshal

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

type FieldMatch_Ternary_

type FieldMatch_Ternary_ struct {
	Ternary *FieldMatch_Ternary `protobuf:"bytes,3,opt,name=ternary,proto3,oneof"`
}

type ForwardingPipelineConfig

type ForwardingPipelineConfig struct {
	P4Info *v1.P4Info `protobuf:"bytes,1,opt,name=p4info,proto3" json:"p4info,omitempty"`
	// Target-specific P4 configuration.
	P4DeviceConfig       []byte                           `protobuf:"bytes,2,opt,name=p4_device_config,json=p4DeviceConfig,proto3" json:"p4_device_config,omitempty"`
	Cookie               *ForwardingPipelineConfig_Cookie `protobuf:"bytes,3,opt,name=cookie,proto3" json:"cookie,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
	XXX_unrecognized     []byte                           `json:"-"`
	XXX_sizecache        int32                            `json:"-"`
}

func (*ForwardingPipelineConfig) Descriptor

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

func (*ForwardingPipelineConfig) GetCookie

func (*ForwardingPipelineConfig) GetP4DeviceConfig

func (m *ForwardingPipelineConfig) GetP4DeviceConfig() []byte

func (*ForwardingPipelineConfig) GetP4Info

func (m *ForwardingPipelineConfig) GetP4Info() *v1.P4Info

func (*ForwardingPipelineConfig) ProtoMessage

func (*ForwardingPipelineConfig) ProtoMessage()

func (*ForwardingPipelineConfig) Reset

func (m *ForwardingPipelineConfig) Reset()

func (*ForwardingPipelineConfig) String

func (m *ForwardingPipelineConfig) String() string

func (*ForwardingPipelineConfig) XXX_DiscardUnknown

func (m *ForwardingPipelineConfig) XXX_DiscardUnknown()

func (*ForwardingPipelineConfig) XXX_Marshal

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

func (*ForwardingPipelineConfig) XXX_Merge

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

func (*ForwardingPipelineConfig) XXX_Size

func (m *ForwardingPipelineConfig) XXX_Size() int

func (*ForwardingPipelineConfig) XXX_Unmarshal

func (m *ForwardingPipelineConfig) XXX_Unmarshal(b []byte) error
type ForwardingPipelineConfig_Cookie struct {
	Cookie               uint64   `protobuf:"varint,1,opt,name=cookie,proto3" json:"cookie,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Metadata (cookie) opaque to the target. A control plane may use this field to uniquely identify this config. There are no restrictions on how such value is computed, or where this is stored on the target, as long as it is returned with a GetForwardingPipelineConfig RPC. When reading the cookie, we need to distinguish those cases where a cookie is NOT present (e.g. not set in the SetForwardingPipelineConfigRequest, therefore we wrap the actual uint64 value in a protobuf message.

func (*ForwardingPipelineConfig_Cookie) Descriptor

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

func (*ForwardingPipelineConfig_Cookie) GetCookie

func (m *ForwardingPipelineConfig_Cookie) GetCookie() uint64

func (*ForwardingPipelineConfig_Cookie) ProtoMessage

func (*ForwardingPipelineConfig_Cookie) ProtoMessage()

func (*ForwardingPipelineConfig_Cookie) Reset

func (*ForwardingPipelineConfig_Cookie) String

func (*ForwardingPipelineConfig_Cookie) XXX_DiscardUnknown

func (m *ForwardingPipelineConfig_Cookie) XXX_DiscardUnknown()

func (*ForwardingPipelineConfig_Cookie) XXX_Marshal

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

func (*ForwardingPipelineConfig_Cookie) XXX_Merge

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

func (*ForwardingPipelineConfig_Cookie) XXX_Size

func (m *ForwardingPipelineConfig_Cookie) XXX_Size() int

func (*ForwardingPipelineConfig_Cookie) XXX_Unmarshal

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

type GetForwardingPipelineConfigRequest

type GetForwardingPipelineConfigRequest struct {
	DeviceId             uint64                                          `protobuf:"varint,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	ResponseType         GetForwardingPipelineConfigRequest_ResponseType `` /* 157-byte string literal not displayed */
	XXX_NoUnkeyedLiteral struct{}                                        `json:"-"`
	XXX_unrecognized     []byte                                          `json:"-"`
	XXX_sizecache        int32                                           `json:"-"`
}

func (*GetForwardingPipelineConfigRequest) Descriptor

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

func (*GetForwardingPipelineConfigRequest) GetDeviceId

func (m *GetForwardingPipelineConfigRequest) GetDeviceId() uint64

func (*GetForwardingPipelineConfigRequest) GetResponseType

func (*GetForwardingPipelineConfigRequest) ProtoMessage

func (*GetForwardingPipelineConfigRequest) ProtoMessage()

func (*GetForwardingPipelineConfigRequest) Reset

func (*GetForwardingPipelineConfigRequest) String

func (*GetForwardingPipelineConfigRequest) XXX_DiscardUnknown

func (m *GetForwardingPipelineConfigRequest) XXX_DiscardUnknown()

func (*GetForwardingPipelineConfigRequest) XXX_Marshal

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

func (*GetForwardingPipelineConfigRequest) XXX_Merge

func (*GetForwardingPipelineConfigRequest) XXX_Size

func (*GetForwardingPipelineConfigRequest) XXX_Unmarshal

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

type GetForwardingPipelineConfigRequest_ResponseType

type GetForwardingPipelineConfigRequest_ResponseType int32

Specifies the fields to populate in the response.

const (
	// Default behaviour. Returns a ForwardingPipelineConfig with all fields set
	// as stored by the target.
	GetForwardingPipelineConfigRequest_ALL GetForwardingPipelineConfigRequest_ResponseType = 0
	// Reply by setting only the cookie field, omitting all other fields.
	GetForwardingPipelineConfigRequest_COOKIE_ONLY GetForwardingPipelineConfigRequest_ResponseType = 1
	// Reply by setting the p4info and cookie fields.
	GetForwardingPipelineConfigRequest_P4INFO_AND_COOKIE GetForwardingPipelineConfigRequest_ResponseType = 2
	// Reply by setting the p4_device_config and cookie fields.
	GetForwardingPipelineConfigRequest_DEVICE_CONFIG_AND_COOKIE GetForwardingPipelineConfigRequest_ResponseType = 3
)

func (GetForwardingPipelineConfigRequest_ResponseType) EnumDescriptor

func (GetForwardingPipelineConfigRequest_ResponseType) String

type GetForwardingPipelineConfigResponse

type GetForwardingPipelineConfigResponse struct {
	Config               *ForwardingPipelineConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

func (*GetForwardingPipelineConfigResponse) Descriptor

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

func (*GetForwardingPipelineConfigResponse) GetConfig

func (*GetForwardingPipelineConfigResponse) ProtoMessage

func (*GetForwardingPipelineConfigResponse) ProtoMessage()

func (*GetForwardingPipelineConfigResponse) Reset

func (*GetForwardingPipelineConfigResponse) String

func (*GetForwardingPipelineConfigResponse) XXX_DiscardUnknown

func (m *GetForwardingPipelineConfigResponse) XXX_DiscardUnknown()

func (*GetForwardingPipelineConfigResponse) XXX_Marshal

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

func (*GetForwardingPipelineConfigResponse) XXX_Merge

func (*GetForwardingPipelineConfigResponse) XXX_Size

func (*GetForwardingPipelineConfigResponse) XXX_Unmarshal

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

type IdleTimeoutNotification

type IdleTimeoutNotification struct {
	// The only fields that are required to be set in each TableEntry are the
	// "key" fields (table_id, match and priority) along with controller_metadata,
	// metadata and idle_timeout_ns.
	TableEntry []*TableEntry `protobuf:"bytes,1,rep,name=table_entry,json=tableEntry,proto3" json:"table_entry,omitempty"`
	// Timestamp at which the server generated the message (in nanoseconds since
	// Epoch)
	Timestamp            int64    `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*IdleTimeoutNotification) Descriptor

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

func (*IdleTimeoutNotification) GetTableEntry

func (m *IdleTimeoutNotification) GetTableEntry() []*TableEntry

func (*IdleTimeoutNotification) GetTimestamp

func (m *IdleTimeoutNotification) GetTimestamp() int64

func (*IdleTimeoutNotification) ProtoMessage

func (*IdleTimeoutNotification) ProtoMessage()

func (*IdleTimeoutNotification) Reset

func (m *IdleTimeoutNotification) Reset()

func (*IdleTimeoutNotification) String

func (m *IdleTimeoutNotification) String() string

func (*IdleTimeoutNotification) XXX_DiscardUnknown

func (m *IdleTimeoutNotification) XXX_DiscardUnknown()

func (*IdleTimeoutNotification) XXX_Marshal

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

func (*IdleTimeoutNotification) XXX_Merge

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

func (*IdleTimeoutNotification) XXX_Size

func (m *IdleTimeoutNotification) XXX_Size() int

func (*IdleTimeoutNotification) XXX_Unmarshal

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

type Index

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

An index as a protobuf message. In proto3, fields cannot be optional and there is no difference between an unset integer field and an integer field set to 0. This is inconvenient for reading from P4 array-like structures, such as indirect counters and meters. We need a way to do a wildcard read on these but we cannot use a default zero index value to do so, as zero is a valid index (first entry in the array). We therefore wrap the index in a message.

func (*Index) Descriptor

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

func (*Index) GetIndex

func (m *Index) GetIndex() int64

func (*Index) ProtoMessage

func (*Index) ProtoMessage()

func (*Index) Reset

func (m *Index) Reset()

func (*Index) String

func (m *Index) String() string

func (*Index) XXX_DiscardUnknown

func (m *Index) XXX_DiscardUnknown()

func (*Index) XXX_Marshal

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

func (*Index) XXX_Merge

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

func (*Index) XXX_Size

func (m *Index) XXX_Size() int

func (*Index) XXX_Unmarshal

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

type MasterArbitrationUpdate

type MasterArbitrationUpdate struct {
	DeviceId uint64 `protobuf:"varint,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// The role for which the primary client is being arbitrated. For use-cases
	// where multiple roles are not needed, the controller can leave this unset,
	// implying default role and full pipeline access.
	Role *Role `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
	// The stream RPC with the highest election_id is the primary. The 'primary'
	// controller instance populates this with its latest election_id. Switch
	// populates with the highest election ID it has received from all connected
	// controllers.
	ElectionId *Uint128 `protobuf:"bytes,3,opt,name=election_id,json=electionId,proto3" json:"election_id,omitempty"`
	// Switch populates this with OK for the client that is the primary, and
	// with an error status for all other connected clients (at every primary
	// client change). The controller does not populate this field.
	Status               *status.Status `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (*MasterArbitrationUpdate) Descriptor

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

func (*MasterArbitrationUpdate) GetDeviceId

func (m *MasterArbitrationUpdate) GetDeviceId() uint64

func (*MasterArbitrationUpdate) GetElectionId

func (m *MasterArbitrationUpdate) GetElectionId() *Uint128

func (*MasterArbitrationUpdate) GetRole

func (m *MasterArbitrationUpdate) GetRole() *Role

func (*MasterArbitrationUpdate) GetStatus

func (m *MasterArbitrationUpdate) GetStatus() *status.Status

func (*MasterArbitrationUpdate) ProtoMessage

func (*MasterArbitrationUpdate) ProtoMessage()

func (*MasterArbitrationUpdate) Reset

func (m *MasterArbitrationUpdate) Reset()

func (*MasterArbitrationUpdate) String

func (m *MasterArbitrationUpdate) String() string

func (*MasterArbitrationUpdate) XXX_DiscardUnknown

func (m *MasterArbitrationUpdate) XXX_DiscardUnknown()

func (*MasterArbitrationUpdate) XXX_Marshal

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

func (*MasterArbitrationUpdate) XXX_Merge

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

func (*MasterArbitrationUpdate) XXX_Size

func (m *MasterArbitrationUpdate) XXX_Size() int

func (*MasterArbitrationUpdate) XXX_Unmarshal

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

type MeterConfig

type MeterConfig struct {
	// Committed information rate (units per sec)
	Cir int64 `protobuf:"varint,1,opt,name=cir,proto3" json:"cir,omitempty"`
	// Committed burst size
	Cburst int64 `protobuf:"varint,2,opt,name=cburst,proto3" json:"cburst,omitempty"`
	// Peak information rate (units per sec)
	Pir int64 `protobuf:"varint,3,opt,name=pir,proto3" json:"pir,omitempty"`
	// Peak burst size
	Pburst               int64    `protobuf:"varint,4,opt,name=pburst,proto3" json:"pburst,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Modeled as RFC 2698: A Two Rate Three Color Marker (trTCM) The trTCM meters a packet stream and marks its packets based on two rates, Peak Information Rate (PIR) and Committed Information Rate (CIR), and their associated burst sizes to be either green, yellow, or red. A packet is marked red if it exceeds the PIR. Otherwise it is marked either yellow or green depending on whether it exceeds or doesn't exceed the CIR.

func (*MeterConfig) Descriptor

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

func (*MeterConfig) GetCburst

func (m *MeterConfig) GetCburst() int64

func (*MeterConfig) GetCir

func (m *MeterConfig) GetCir() int64

func (*MeterConfig) GetPburst

func (m *MeterConfig) GetPburst() int64

func (*MeterConfig) GetPir

func (m *MeterConfig) GetPir() int64

func (*MeterConfig) ProtoMessage

func (*MeterConfig) ProtoMessage()

func (*MeterConfig) Reset

func (m *MeterConfig) Reset()

func (*MeterConfig) String

func (m *MeterConfig) String() string

func (*MeterConfig) XXX_DiscardUnknown

func (m *MeterConfig) XXX_DiscardUnknown()

func (*MeterConfig) XXX_Marshal

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

func (*MeterConfig) XXX_Merge

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

func (*MeterConfig) XXX_Size

func (m *MeterConfig) XXX_Size() int

func (*MeterConfig) XXX_Unmarshal

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

type MeterEntry

type MeterEntry struct {
	MeterId              uint32       `protobuf:"varint,1,opt,name=meter_id,json=meterId,proto3" json:"meter_id,omitempty"`
	Index                *Index       `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"`
	Config               *MeterConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

------------------------------------------------------------------------------ For WriteRequest, Update.Type must be MODIFY. For ReadRequest, the scope is defined as follows: - All meter cells for all meters if meter_id = 0 (default). - All meter cells for given meter_id if index is unset (default).

func (*MeterEntry) Descriptor

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

func (*MeterEntry) GetConfig

func (m *MeterEntry) GetConfig() *MeterConfig

func (*MeterEntry) GetIndex

func (m *MeterEntry) GetIndex() *Index

func (*MeterEntry) GetMeterId

func (m *MeterEntry) GetMeterId() uint32

func (*MeterEntry) ProtoMessage

func (*MeterEntry) ProtoMessage()

func (*MeterEntry) Reset

func (m *MeterEntry) Reset()

func (*MeterEntry) String

func (m *MeterEntry) String() string

func (*MeterEntry) XXX_DiscardUnknown

func (m *MeterEntry) XXX_DiscardUnknown()

func (*MeterEntry) XXX_Marshal

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

func (*MeterEntry) XXX_Merge

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

func (*MeterEntry) XXX_Size

func (m *MeterEntry) XXX_Size() int

func (*MeterEntry) XXX_Unmarshal

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

type MulticastGroupEntry

type MulticastGroupEntry struct {
	MulticastGroupId     uint32     `protobuf:"varint,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
	Replicas             []*Replica `protobuf:"bytes,2,rep,name=replicas,proto3" json:"replicas,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

The (egress_port, instance) pair must be unique for each replica in a given multicast group entry. A packet may be multicast by setting the multicast_group field of PSA ingress output metadata to multicast_group_id of a programmed multicast group entry. The egress_port and instance fields of each replica's egress input metadata will be set to the respective values programmed in the multicast group entry.

func (*MulticastGroupEntry) Descriptor

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

func (*MulticastGroupEntry) GetMulticastGroupId

func (m *MulticastGroupEntry) GetMulticastGroupId() uint32

func (*MulticastGroupEntry) GetReplicas

func (m *MulticastGroupEntry) GetReplicas() []*Replica

func (*MulticastGroupEntry) ProtoMessage

func (*MulticastGroupEntry) ProtoMessage()

func (*MulticastGroupEntry) Reset

func (m *MulticastGroupEntry) Reset()

func (*MulticastGroupEntry) String

func (m *MulticastGroupEntry) String() string

func (*MulticastGroupEntry) XXX_DiscardUnknown

func (m *MulticastGroupEntry) XXX_DiscardUnknown()

func (*MulticastGroupEntry) XXX_Marshal

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

func (*MulticastGroupEntry) XXX_Merge

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

func (*MulticastGroupEntry) XXX_Size

func (m *MulticastGroupEntry) XXX_Size() int

func (*MulticastGroupEntry) XXX_Unmarshal

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

type P4Data

type P4Data struct {
	// Types that are valid to be assigned to Data:
	//	*P4Data_Bitstring
	//	*P4Data_Varbit
	//	*P4Data_Bool
	//	*P4Data_Tuple
	//	*P4Data_Struct
	//	*P4Data_Header
	//	*P4Data_HeaderUnion
	//	*P4Data_HeaderStack
	//	*P4Data_HeaderUnionStack
	//	*P4Data_Enum
	//	*P4Data_Error
	//	*P4Data_EnumValue
	Data                 isP4Data_Data `protobuf_oneof:"data"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (*P4Data) Descriptor

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

func (*P4Data) GetBitstring

func (m *P4Data) GetBitstring() []byte

func (*P4Data) GetBool

func (m *P4Data) GetBool() bool

func (*P4Data) GetData

func (m *P4Data) GetData() isP4Data_Data

func (*P4Data) GetEnum

func (m *P4Data) GetEnum() string

func (*P4Data) GetEnumValue

func (m *P4Data) GetEnumValue() []byte

func (*P4Data) GetError

func (m *P4Data) GetError() string

func (*P4Data) GetHeader

func (m *P4Data) GetHeader() *P4Header

func (*P4Data) GetHeaderStack

func (m *P4Data) GetHeaderStack() *P4HeaderStack

func (*P4Data) GetHeaderUnion

func (m *P4Data) GetHeaderUnion() *P4HeaderUnion

func (*P4Data) GetHeaderUnionStack

func (m *P4Data) GetHeaderUnionStack() *P4HeaderUnionStack

func (*P4Data) GetStruct

func (m *P4Data) GetStruct() *P4StructLike

func (*P4Data) GetTuple

func (m *P4Data) GetTuple() *P4StructLike

func (*P4Data) GetVarbit

func (m *P4Data) GetVarbit() *P4Varbit

func (*P4Data) ProtoMessage

func (*P4Data) ProtoMessage()

func (*P4Data) Reset

func (m *P4Data) Reset()

func (*P4Data) String

func (m *P4Data) String() string

func (*P4Data) XXX_DiscardUnknown

func (m *P4Data) XXX_DiscardUnknown()

func (*P4Data) XXX_Marshal

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

func (*P4Data) XXX_Merge

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

func (*P4Data) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*P4Data) XXX_Size

func (m *P4Data) XXX_Size() int

func (*P4Data) XXX_Unmarshal

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

type P4Data_Bitstring

type P4Data_Bitstring struct {
	Bitstring []byte `protobuf:"bytes,1,opt,name=bitstring,proto3,oneof"`
}

type P4Data_Bool

type P4Data_Bool struct {
	Bool bool `protobuf:"varint,3,opt,name=bool,proto3,oneof"`
}

type P4Data_Enum

type P4Data_Enum struct {
	Enum string `protobuf:"bytes,10,opt,name=enum,proto3,oneof"`
}

type P4Data_EnumValue

type P4Data_EnumValue struct {
	EnumValue []byte `protobuf:"bytes,12,opt,name=enum_value,json=enumValue,proto3,oneof"`
}

type P4Data_Error

type P4Data_Error struct {
	Error string `protobuf:"bytes,11,opt,name=error,proto3,oneof"`
}

type P4Data_Header

type P4Data_Header struct {
	Header *P4Header `protobuf:"bytes,6,opt,name=header,proto3,oneof"`
}

type P4Data_HeaderStack

type P4Data_HeaderStack struct {
	HeaderStack *P4HeaderStack `protobuf:"bytes,8,opt,name=header_stack,json=headerStack,proto3,oneof"`
}

type P4Data_HeaderUnion

type P4Data_HeaderUnion struct {
	HeaderUnion *P4HeaderUnion `protobuf:"bytes,7,opt,name=header_union,json=headerUnion,proto3,oneof"`
}

type P4Data_HeaderUnionStack

type P4Data_HeaderUnionStack struct {
	HeaderUnionStack *P4HeaderUnionStack `protobuf:"bytes,9,opt,name=header_union_stack,json=headerUnionStack,proto3,oneof"`
}

type P4Data_Struct

type P4Data_Struct struct {
	Struct *P4StructLike `protobuf:"bytes,5,opt,name=struct,proto3,oneof"`
}

type P4Data_Tuple

type P4Data_Tuple struct {
	Tuple *P4StructLike `protobuf:"bytes,4,opt,name=tuple,proto3,oneof"`
}

type P4Data_Varbit

type P4Data_Varbit struct {
	Varbit *P4Varbit `protobuf:"bytes,2,opt,name=varbit,proto3,oneof"`
}

type P4Header

type P4Header struct {
	// If the header is invalid (is_valid is "false"), then the bitstrings
	// repeated field must be empty.
	IsValid              bool     `protobuf:"varint,1,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
	Bitstrings           [][]byte `protobuf:"bytes,2,rep,name=bitstrings,proto3" json:"bitstrings,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*P4Header) Descriptor

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

func (*P4Header) GetBitstrings

func (m *P4Header) GetBitstrings() [][]byte

func (*P4Header) GetIsValid

func (m *P4Header) GetIsValid() bool

func (*P4Header) ProtoMessage

func (*P4Header) ProtoMessage()

func (*P4Header) Reset

func (m *P4Header) Reset()

func (*P4Header) String

func (m *P4Header) String() string

func (*P4Header) XXX_DiscardUnknown

func (m *P4Header) XXX_DiscardUnknown()

func (*P4Header) XXX_Marshal

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

func (*P4Header) XXX_Merge

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

func (*P4Header) XXX_Size

func (m *P4Header) XXX_Size() int

func (*P4Header) XXX_Unmarshal

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

type P4HeaderStack

type P4HeaderStack struct {
	// The length of this repeated field must always be equal to the compile-time
	// size of the header stack, which is specified in P4Info.
	Entries              []*P4Header `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*P4HeaderStack) Descriptor

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

func (*P4HeaderStack) GetEntries

func (m *P4HeaderStack) GetEntries() []*P4Header

func (*P4HeaderStack) ProtoMessage

func (*P4HeaderStack) ProtoMessage()

func (*P4HeaderStack) Reset

func (m *P4HeaderStack) Reset()

func (*P4HeaderStack) String

func (m *P4HeaderStack) String() string

func (*P4HeaderStack) XXX_DiscardUnknown

func (m *P4HeaderStack) XXX_DiscardUnknown()

func (*P4HeaderStack) XXX_Marshal

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

func (*P4HeaderStack) XXX_Merge

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

func (*P4HeaderStack) XXX_Size

func (m *P4HeaderStack) XXX_Size() int

func (*P4HeaderStack) XXX_Unmarshal

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

type P4HeaderUnion

type P4HeaderUnion struct {
	// An empty string indicates that none of the union members are valid and
	// valid_header must therefore be unset.
	ValidHeaderName      string    `protobuf:"bytes,1,opt,name=valid_header_name,json=validHeaderName,proto3" json:"valid_header_name,omitempty"`
	ValidHeader          *P4Header `protobuf:"bytes,2,opt,name=valid_header,json=validHeader,proto3" json:"valid_header,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (*P4HeaderUnion) Descriptor

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

func (*P4HeaderUnion) GetValidHeader

func (m *P4HeaderUnion) GetValidHeader() *P4Header

func (*P4HeaderUnion) GetValidHeaderName

func (m *P4HeaderUnion) GetValidHeaderName() string

func (*P4HeaderUnion) ProtoMessage

func (*P4HeaderUnion) ProtoMessage()

func (*P4HeaderUnion) Reset

func (m *P4HeaderUnion) Reset()

func (*P4HeaderUnion) String

func (m *P4HeaderUnion) String() string

func (*P4HeaderUnion) XXX_DiscardUnknown

func (m *P4HeaderUnion) XXX_DiscardUnknown()

func (*P4HeaderUnion) XXX_Marshal

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

func (*P4HeaderUnion) XXX_Merge

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

func (*P4HeaderUnion) XXX_Size

func (m *P4HeaderUnion) XXX_Size() int

func (*P4HeaderUnion) XXX_Unmarshal

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

type P4HeaderUnionStack

type P4HeaderUnionStack struct {
	// The length of this repeated field must always be equal to the compile-time
	// size of the header union stack, which is specified in P4Info.
	Entries              []*P4HeaderUnion `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (*P4HeaderUnionStack) Descriptor

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

func (*P4HeaderUnionStack) GetEntries

func (m *P4HeaderUnionStack) GetEntries() []*P4HeaderUnion

func (*P4HeaderUnionStack) ProtoMessage

func (*P4HeaderUnionStack) ProtoMessage()

func (*P4HeaderUnionStack) Reset

func (m *P4HeaderUnionStack) Reset()

func (*P4HeaderUnionStack) String

func (m *P4HeaderUnionStack) String() string

func (*P4HeaderUnionStack) XXX_DiscardUnknown

func (m *P4HeaderUnionStack) XXX_DiscardUnknown()

func (*P4HeaderUnionStack) XXX_Marshal

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

func (*P4HeaderUnionStack) XXX_Merge

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

func (*P4HeaderUnionStack) XXX_Size

func (m *P4HeaderUnionStack) XXX_Size() int

func (*P4HeaderUnionStack) XXX_Unmarshal

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

type P4RuntimeClient

type P4RuntimeClient interface {
	// Update one or more P4 entities on the target.
	Write(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error)
	// Read one or more P4 entities from the target.
	Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (P4Runtime_ReadClient, error)
	// Sets the P4 forwarding-pipeline config.
	SetForwardingPipelineConfig(ctx context.Context, in *SetForwardingPipelineConfigRequest, opts ...grpc.CallOption) (*SetForwardingPipelineConfigResponse, error)
	// Gets the current P4 forwarding-pipeline config.
	GetForwardingPipelineConfig(ctx context.Context, in *GetForwardingPipelineConfigRequest, opts ...grpc.CallOption) (*GetForwardingPipelineConfigResponse, error)
	// Represents the bidirectional stream between the controller and the
	// switch (initiated by the controller), and is managed for the following
	// purposes:
	// - connection initiation through client arbitration
	// - indicating switch session liveness: the session is live when switch
	//   sends a positive client arbitration update to the controller, and is
	//   considered dead when either the stream breaks or the switch sends a
	//   negative update for client arbitration
	// - the controller sending/receiving packets to/from the switch
	// - streaming of notifications from the switch
	StreamChannel(ctx context.Context, opts ...grpc.CallOption) (P4Runtime_StreamChannelClient, error)
	Capabilities(ctx context.Context, in *CapabilitiesRequest, opts ...grpc.CallOption) (*CapabilitiesResponse, error)
}

P4RuntimeClient is the client API for P4Runtime service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewP4RuntimeClient

func NewP4RuntimeClient(cc *grpc.ClientConn) P4RuntimeClient

type P4RuntimeServer

type P4RuntimeServer interface {
	// Update one or more P4 entities on the target.
	Write(context.Context, *WriteRequest) (*WriteResponse, error)
	// Read one or more P4 entities from the target.
	Read(*ReadRequest, P4Runtime_ReadServer) error
	// Sets the P4 forwarding-pipeline config.
	SetForwardingPipelineConfig(context.Context, *SetForwardingPipelineConfigRequest) (*SetForwardingPipelineConfigResponse, error)
	// Gets the current P4 forwarding-pipeline config.
	GetForwardingPipelineConfig(context.Context, *GetForwardingPipelineConfigRequest) (*GetForwardingPipelineConfigResponse, error)
	// Represents the bidirectional stream between the controller and the
	// switch (initiated by the controller), and is managed for the following
	// purposes:
	// - connection initiation through client arbitration
	// - indicating switch session liveness: the session is live when switch
	//   sends a positive client arbitration update to the controller, and is
	//   considered dead when either the stream breaks or the switch sends a
	//   negative update for client arbitration
	// - the controller sending/receiving packets to/from the switch
	// - streaming of notifications from the switch
	StreamChannel(P4Runtime_StreamChannelServer) error
	Capabilities(context.Context, *CapabilitiesRequest) (*CapabilitiesResponse, error)
}

P4RuntimeServer is the server API for P4Runtime service.

type P4Runtime_ReadClient

type P4Runtime_ReadClient interface {
	Recv() (*ReadResponse, error)
	grpc.ClientStream
}

type P4Runtime_ReadServer

type P4Runtime_ReadServer interface {
	Send(*ReadResponse) error
	grpc.ServerStream
}

type P4Runtime_StreamChannelClient

type P4Runtime_StreamChannelClient interface {
	Send(*StreamMessageRequest) error
	Recv() (*StreamMessageResponse, error)
	grpc.ClientStream
}

type P4Runtime_StreamChannelServer

type P4Runtime_StreamChannelServer interface {
	Send(*StreamMessageResponse) error
	Recv() (*StreamMessageRequest, error)
	grpc.ServerStream
}

type P4StructLike

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

func (*P4StructLike) Descriptor

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

func (*P4StructLike) GetMembers

func (m *P4StructLike) GetMembers() []*P4Data

func (*P4StructLike) ProtoMessage

func (*P4StructLike) ProtoMessage()

func (*P4StructLike) Reset

func (m *P4StructLike) Reset()

func (*P4StructLike) String

func (m *P4StructLike) String() string

func (*P4StructLike) XXX_DiscardUnknown

func (m *P4StructLike) XXX_DiscardUnknown()

func (*P4StructLike) XXX_Marshal

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

func (*P4StructLike) XXX_Merge

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

func (*P4StructLike) XXX_Size

func (m *P4StructLike) XXX_Size() int

func (*P4StructLike) XXX_Unmarshal

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

type P4Varbit

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

func (*P4Varbit) Descriptor

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

func (*P4Varbit) GetBitstring

func (m *P4Varbit) GetBitstring() []byte

func (*P4Varbit) GetBitwidth

func (m *P4Varbit) GetBitwidth() int32

func (*P4Varbit) ProtoMessage

func (*P4Varbit) ProtoMessage()

func (*P4Varbit) Reset

func (m *P4Varbit) Reset()

func (*P4Varbit) String

func (m *P4Varbit) String() string

func (*P4Varbit) XXX_DiscardUnknown

func (m *P4Varbit) XXX_DiscardUnknown()

func (*P4Varbit) XXX_Marshal

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

func (*P4Varbit) XXX_Merge

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

func (*P4Varbit) XXX_Size

func (m *P4Varbit) XXX_Size() int

func (*P4Varbit) XXX_Unmarshal

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

type PacketIn

type PacketIn struct {
	Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// This will be based on P4 header annotated as
	// @controller_header("packet_in").
	// At most one P4 header can have this annotation.
	Metadata             []*PacketMetadata `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

Packet sent from the switch to the controller.

func (*PacketIn) Descriptor

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

func (*PacketIn) GetMetadata

func (m *PacketIn) GetMetadata() []*PacketMetadata

func (*PacketIn) GetPayload

func (m *PacketIn) GetPayload() []byte

func (*PacketIn) ProtoMessage

func (*PacketIn) ProtoMessage()

func (*PacketIn) Reset

func (m *PacketIn) Reset()

func (*PacketIn) String

func (m *PacketIn) String() string

func (*PacketIn) XXX_DiscardUnknown

func (m *PacketIn) XXX_DiscardUnknown()

func (*PacketIn) XXX_Marshal

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

func (*PacketIn) XXX_Merge

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

func (*PacketIn) XXX_Size

func (m *PacketIn) XXX_Size() int

func (*PacketIn) XXX_Unmarshal

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

type PacketMetadata

type PacketMetadata struct {
	// This refers to Metadata.id coming from P4Info ControllerPacketMetadata.
	MetadataId           uint32   `protobuf:"varint,1,opt,name=metadata_id,json=metadataId,proto3" json:"metadata_id,omitempty"`
	Value                []byte   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Any metadata associated with Packet-IO (controller Packet-In or Packet-Out) needs to be modeled as P4 headers carrying special annotations @controller_header("packet_out") and @controller_header("packet_in") respectively. There can be at most one header each with these annotations. These special headers are captured in P4Info ControllerPacketMetadata.

func (*PacketMetadata) Descriptor

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

func (*PacketMetadata) GetMetadataId

func (m *PacketMetadata) GetMetadataId() uint32

func (*PacketMetadata) GetValue

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

func (*PacketMetadata) ProtoMessage

func (*PacketMetadata) ProtoMessage()

func (*PacketMetadata) Reset

func (m *PacketMetadata) Reset()

func (*PacketMetadata) String

func (m *PacketMetadata) String() string

func (*PacketMetadata) XXX_DiscardUnknown

func (m *PacketMetadata) XXX_DiscardUnknown()

func (*PacketMetadata) XXX_Marshal

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

func (*PacketMetadata) XXX_Merge

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

func (*PacketMetadata) XXX_Size

func (m *PacketMetadata) XXX_Size() int

func (*PacketMetadata) XXX_Unmarshal

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

type PacketOut

type PacketOut struct {
	Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	// This will be based on P4 header annotated as
	// @controller_header("packet_out").
	// At most one P4 header can have this annotation.
	Metadata             []*PacketMetadata `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

Packet sent from the controller to the switch.

func (*PacketOut) Descriptor

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

func (*PacketOut) GetMetadata

func (m *PacketOut) GetMetadata() []*PacketMetadata

func (*PacketOut) GetPayload

func (m *PacketOut) GetPayload() []byte

func (*PacketOut) ProtoMessage

func (*PacketOut) ProtoMessage()

func (*PacketOut) Reset

func (m *PacketOut) Reset()

func (*PacketOut) String

func (m *PacketOut) String() string

func (*PacketOut) XXX_DiscardUnknown

func (m *PacketOut) XXX_DiscardUnknown()

func (*PacketOut) XXX_Marshal

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

func (*PacketOut) XXX_Merge

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

func (*PacketOut) XXX_Size

func (m *PacketOut) XXX_Size() int

func (*PacketOut) XXX_Unmarshal

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

type PacketOutError

type PacketOutError struct {
	// Optional. The packet out message that caused the error.
	PacketOut            *PacketOut `protobuf:"bytes,1,opt,name=packet_out,json=packetOut,proto3" json:"packet_out,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (*PacketOutError) Descriptor

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

func (*PacketOutError) GetPacketOut

func (m *PacketOutError) GetPacketOut() *PacketOut

func (*PacketOutError) ProtoMessage

func (*PacketOutError) ProtoMessage()

func (*PacketOutError) Reset

func (m *PacketOutError) Reset()

func (*PacketOutError) String

func (m *PacketOutError) String() string

func (*PacketOutError) XXX_DiscardUnknown

func (m *PacketOutError) XXX_DiscardUnknown()

func (*PacketOutError) XXX_Marshal

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

func (*PacketOutError) XXX_Merge

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

func (*PacketOutError) XXX_Size

func (m *PacketOutError) XXX_Size() int

func (*PacketOutError) XXX_Unmarshal

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

type PacketReplicationEngineEntry

type PacketReplicationEngineEntry struct {
	// Types that are valid to be assigned to Type:
	//	*PacketReplicationEngineEntry_MulticastGroupEntry
	//	*PacketReplicationEngineEntry_CloneSessionEntry
	Type                 isPacketReplicationEngineEntry_Type `protobuf_oneof:"type"`
	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
	XXX_unrecognized     []byte                              `json:"-"`
	XXX_sizecache        int32                               `json:"-"`
}

------------------------------------------------------------------------------ Only one instance of a Packet Replication Engine (PRE) is expected in the P4 pipeline. Hence, no instance id is needed to access the PRE.

func (*PacketReplicationEngineEntry) Descriptor

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

func (*PacketReplicationEngineEntry) GetCloneSessionEntry

func (m *PacketReplicationEngineEntry) GetCloneSessionEntry() *CloneSessionEntry

func (*PacketReplicationEngineEntry) GetMulticastGroupEntry

func (m *PacketReplicationEngineEntry) GetMulticastGroupEntry() *MulticastGroupEntry

func (*PacketReplicationEngineEntry) GetType

func (m *PacketReplicationEngineEntry) GetType() isPacketReplicationEngineEntry_Type

func (*PacketReplicationEngineEntry) ProtoMessage

func (*PacketReplicationEngineEntry) ProtoMessage()

func (*PacketReplicationEngineEntry) Reset

func (m *PacketReplicationEngineEntry) Reset()

func (*PacketReplicationEngineEntry) String

func (*PacketReplicationEngineEntry) XXX_DiscardUnknown

func (m *PacketReplicationEngineEntry) XXX_DiscardUnknown()

func (*PacketReplicationEngineEntry) XXX_Marshal

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

func (*PacketReplicationEngineEntry) XXX_Merge

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

func (*PacketReplicationEngineEntry) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*PacketReplicationEngineEntry) XXX_Size

func (m *PacketReplicationEngineEntry) XXX_Size() int

func (*PacketReplicationEngineEntry) XXX_Unmarshal

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

type PacketReplicationEngineEntry_CloneSessionEntry

type PacketReplicationEngineEntry_CloneSessionEntry struct {
	CloneSessionEntry *CloneSessionEntry `protobuf:"bytes,2,opt,name=clone_session_entry,json=cloneSessionEntry,proto3,oneof"`
}

type PacketReplicationEngineEntry_MulticastGroupEntry

type PacketReplicationEngineEntry_MulticastGroupEntry struct {
	MulticastGroupEntry *MulticastGroupEntry `protobuf:"bytes,1,opt,name=multicast_group_entry,json=multicastGroupEntry,proto3,oneof"`
}

type ReadRequest

type ReadRequest struct {
	DeviceId             uint64    `protobuf:"varint,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	Entities             []*Entity `protobuf:"bytes,2,rep,name=entities,proto3" json:"entities,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (*ReadRequest) Descriptor

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

func (*ReadRequest) GetDeviceId

func (m *ReadRequest) GetDeviceId() uint64

func (*ReadRequest) GetEntities

func (m *ReadRequest) GetEntities() []*Entity

func (*ReadRequest) ProtoMessage

func (*ReadRequest) ProtoMessage()

func (*ReadRequest) Reset

func (m *ReadRequest) Reset()

func (*ReadRequest) String

func (m *ReadRequest) String() string

func (*ReadRequest) XXX_DiscardUnknown

func (m *ReadRequest) XXX_DiscardUnknown()

func (*ReadRequest) XXX_Marshal

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

func (*ReadRequest) XXX_Merge

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

func (*ReadRequest) XXX_Size

func (m *ReadRequest) XXX_Size() int

func (*ReadRequest) XXX_Unmarshal

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

type ReadResponse

type ReadResponse struct {
	Entities             []*Entity `protobuf:"bytes,1,rep,name=entities,proto3" json:"entities,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (*ReadResponse) Descriptor

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

func (*ReadResponse) GetEntities

func (m *ReadResponse) GetEntities() []*Entity

func (*ReadResponse) ProtoMessage

func (*ReadResponse) ProtoMessage()

func (*ReadResponse) Reset

func (m *ReadResponse) Reset()

func (*ReadResponse) String

func (m *ReadResponse) String() string

func (*ReadResponse) XXX_DiscardUnknown

func (m *ReadResponse) XXX_DiscardUnknown()

func (*ReadResponse) XXX_Marshal

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

func (*ReadResponse) XXX_Merge

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

func (*ReadResponse) XXX_Size

func (m *ReadResponse) XXX_Size() int

func (*ReadResponse) XXX_Unmarshal

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

type RegisterEntry

type RegisterEntry struct {
	RegisterId           uint32   `protobuf:"varint,1,opt,name=register_id,json=registerId,proto3" json:"register_id,omitempty"`
	Index                *Index   `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"`
	Data                 *P4Data  `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

------------------------------------------------------------------------------

func (*RegisterEntry) Descriptor

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

func (*RegisterEntry) GetData

func (m *RegisterEntry) GetData() *P4Data

func (*RegisterEntry) GetIndex

func (m *RegisterEntry) GetIndex() *Index

func (*RegisterEntry) GetRegisterId

func (m *RegisterEntry) GetRegisterId() uint32

func (*RegisterEntry) ProtoMessage

func (*RegisterEntry) ProtoMessage()

func (*RegisterEntry) Reset

func (m *RegisterEntry) Reset()

func (*RegisterEntry) String

func (m *RegisterEntry) String() string

func (*RegisterEntry) XXX_DiscardUnknown

func (m *RegisterEntry) XXX_DiscardUnknown()

func (*RegisterEntry) XXX_Marshal

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

func (*RegisterEntry) XXX_Merge

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

func (*RegisterEntry) XXX_Size

func (m *RegisterEntry) XXX_Size() int

func (*RegisterEntry) XXX_Unmarshal

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

type Replica

type Replica struct {
	EgressPort           uint32   `protobuf:"varint,1,opt,name=egress_port,json=egressPort,proto3" json:"egress_port,omitempty"`
	Instance             uint32   `protobuf:"varint,2,opt,name=instance,proto3" json:"instance,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Used for replicas created for cloning and multicasting actions.

func (*Replica) Descriptor

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

func (*Replica) GetEgressPort

func (m *Replica) GetEgressPort() uint32

func (*Replica) GetInstance

func (m *Replica) GetInstance() uint32

func (*Replica) ProtoMessage

func (*Replica) ProtoMessage()

func (*Replica) Reset

func (m *Replica) Reset()

func (*Replica) String

func (m *Replica) String() string

func (*Replica) XXX_DiscardUnknown

func (m *Replica) XXX_DiscardUnknown()

func (*Replica) XXX_Marshal

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

func (*Replica) XXX_Merge

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

func (*Replica) XXX_Size

func (m *Replica) XXX_Size() int

func (*Replica) XXX_Unmarshal

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

type Role

type Role struct {
	// Uniquely identifies this role.
	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Describes the role configuration, i.e. what operations, P4 entities,
	// behaviors, etc. are in the scope of a given role. If config is not set
	// (default case), it implies all P4 objects and control behaviors are in
	// scope, i.e. full pipeline access. The format of this message is
	// out-of-scope of P4Runtime.
	Config               *any.Any `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Role) Descriptor

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

func (*Role) GetConfig

func (m *Role) GetConfig() *any.Any

func (*Role) GetId

func (m *Role) GetId() uint64

func (*Role) ProtoMessage

func (*Role) ProtoMessage()

func (*Role) Reset

func (m *Role) Reset()

func (*Role) String

func (m *Role) String() string

func (*Role) XXX_DiscardUnknown

func (m *Role) XXX_DiscardUnknown()

func (*Role) XXX_Marshal

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

func (*Role) XXX_Merge

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

func (*Role) XXX_Size

func (m *Role) XXX_Size() int

func (*Role) XXX_Unmarshal

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

type SdnPort

type SdnPort int32

------------------------------------------------------------------------------ Reserved controller-specified SDN port numbers for reference.

const (
	SdnPort_SDN_PORT_UNKNOWN SdnPort = 0
	// SDN ports are numbered starting form 1.
	SdnPort_SDN_PORT_MIN SdnPort = 1
	// 0xfffffeff: The maximum value of an SDN port (physical or logical).
	SdnPort_SDN_PORT_MAX SdnPort = -257
	// Reserved SDN port numbers (0xffffff00 - 0xffffffff)
	// 0xfffffffa: Recirculate the packet back to ingress
	SdnPort_SDN_PORT_RECIRCULATE SdnPort = -6
	// 0xfffffffd: Send to CPU
	SdnPort_SDN_PORT_CPU SdnPort = -3
)

func (SdnPort) EnumDescriptor

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

func (SdnPort) String

func (x SdnPort) String() string

type SetForwardingPipelineConfigRequest

type SetForwardingPipelineConfigRequest struct {
	DeviceId             uint64                                    `protobuf:"varint,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	RoleId               uint64                                    `protobuf:"varint,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"`
	ElectionId           *Uint128                                  `protobuf:"bytes,3,opt,name=election_id,json=electionId,proto3" json:"election_id,omitempty"`
	Action               SetForwardingPipelineConfigRequest_Action `protobuf:"varint,4,opt,name=action,proto3,enum=p4.v1.SetForwardingPipelineConfigRequest_Action" json:"action,omitempty"`
	Config               *ForwardingPipelineConfig                 `protobuf:"bytes,5,opt,name=config,proto3" json:"config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                  `json:"-"`
	XXX_unrecognized     []byte                                    `json:"-"`
	XXX_sizecache        int32                                     `json:"-"`
}

------------------------------------------------------------------------------

func (*SetForwardingPipelineConfigRequest) Descriptor

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

func (*SetForwardingPipelineConfigRequest) GetAction

func (*SetForwardingPipelineConfigRequest) GetConfig

func (*SetForwardingPipelineConfigRequest) GetDeviceId

func (m *SetForwardingPipelineConfigRequest) GetDeviceId() uint64

func (*SetForwardingPipelineConfigRequest) GetElectionId

func (m *SetForwardingPipelineConfigRequest) GetElectionId() *Uint128

func (*SetForwardingPipelineConfigRequest) GetRoleId

func (*SetForwardingPipelineConfigRequest) ProtoMessage

func (*SetForwardingPipelineConfigRequest) ProtoMessage()

func (*SetForwardingPipelineConfigRequest) Reset

func (*SetForwardingPipelineConfigRequest) String

func (*SetForwardingPipelineConfigRequest) XXX_DiscardUnknown

func (m *SetForwardingPipelineConfigRequest) XXX_DiscardUnknown()

func (*SetForwardingPipelineConfigRequest) XXX_Marshal

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

func (*SetForwardingPipelineConfigRequest) XXX_Merge

func (*SetForwardingPipelineConfigRequest) XXX_Size

func (*SetForwardingPipelineConfigRequest) XXX_Unmarshal

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

type SetForwardingPipelineConfigRequest_Action

type SetForwardingPipelineConfigRequest_Action int32
const (
	SetForwardingPipelineConfigRequest_UNSPECIFIED SetForwardingPipelineConfigRequest_Action = 0
	// Verify that the target can realize the given config. Do not modify the
	// forwarding state in the target. Returns error if config is not provided
	// of if the provided config cannot be realized.
	SetForwardingPipelineConfigRequest_VERIFY SetForwardingPipelineConfigRequest_Action = 1
	// Save the config if the target can realize it. Do not modify the
	// forwarding state in the target. Any subsequent read/write requests must
	// refer to fields in the new config. Returns error if config is not
	// provided of if the provided config cannot be realized.
	SetForwardingPipelineConfigRequest_VERIFY_AND_SAVE SetForwardingPipelineConfigRequest_Action = 2
	// Verify, save and realize the given config. Clear the forwarding state
	// in the target. Returns error if config is not provided of if the
	// provided config cannot be realized.
	SetForwardingPipelineConfigRequest_VERIFY_AND_COMMIT SetForwardingPipelineConfigRequest_Action = 3
	// Realize the last saved, but not yet committed, config. Update the
	// forwarding state in the target by replaying the write requests since the
	// last config was saved. Config should not be provided for this action
	// type. Returns an error if no saved config is found or if a config is
	// provided with this message.
	SetForwardingPipelineConfigRequest_COMMIT SetForwardingPipelineConfigRequest_Action = 4
	// Verify, save and realize the given config, while preserving the
	// forwarding state in the target. This is an advanced use case to enable
	// changes to the P4 forwarding pipeline configuration with minimal traffic
	// loss. P4Runtime does not impose any constraints on the duration of the
	// traffic loss. The support for this option is not expected to be uniform
	// across all P4Runtime targets. A target that does not support this option
	// may return an UNIMPLEMENTED error. For targets that support this option,
	// an INVALID_ARGUMENT error is returned if no config is provided, or if
	// the existing forwarding state cannot be preserved for the given config
	// by the target.
	SetForwardingPipelineConfigRequest_RECONCILE_AND_COMMIT SetForwardingPipelineConfigRequest_Action = 5
)

func (SetForwardingPipelineConfigRequest_Action) EnumDescriptor

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

func (SetForwardingPipelineConfigRequest_Action) String

type SetForwardingPipelineConfigResponse

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

func (*SetForwardingPipelineConfigResponse) Descriptor

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

func (*SetForwardingPipelineConfigResponse) ProtoMessage

func (*SetForwardingPipelineConfigResponse) ProtoMessage()

func (*SetForwardingPipelineConfigResponse) Reset

func (*SetForwardingPipelineConfigResponse) String

func (*SetForwardingPipelineConfigResponse) XXX_DiscardUnknown

func (m *SetForwardingPipelineConfigResponse) XXX_DiscardUnknown()

func (*SetForwardingPipelineConfigResponse) XXX_Marshal

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

func (*SetForwardingPipelineConfigResponse) XXX_Merge

func (*SetForwardingPipelineConfigResponse) XXX_Size

func (*SetForwardingPipelineConfigResponse) XXX_Unmarshal

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

type StreamError

type StreamError struct {
	// gRPC canonical error code (see
	// https://developers.google.com/maps-booking/reference/grpc-api/status_codes)
	CanonicalCode int32 `protobuf:"varint,1,opt,name=canonical_code,json=canonicalCode,proto3" json:"canonical_code,omitempty"`
	// Optional. An explanation of the error.
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// Optional. Target and architecture specific space to which this error
	// belongs.
	// We encourage using triplet: <target>-<arch>-<vendor>,
	// e.g."targetX-psa-vendor1" or "targetY-psa-vendor2".
	Space string `protobuf:"bytes,3,opt,name=space,proto3" json:"space,omitempty"`
	// Optional. Numeric code drawn from target-specific error space above.
	Code int32 `protobuf:"varint,4,opt,name=code,proto3" json:"code,omitempty"`
	// Used by the server to convey additional information about the error. One of
	// the fields must be set (so that the client can identify which type of
	// stream message triggered the error), but that field may be set to its
	// default value.
	//
	// Types that are valid to be assigned to Details:
	//	*StreamError_PacketOut
	//	*StreamError_DigestListAck
	//	*StreamError_Other
	Details              isStreamError_Details `protobuf_oneof:"details"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

Used by the server to asynchronously report errors which occur when processing StreamMessageRequest messages.

func (*StreamError) Descriptor

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

func (*StreamError) GetCanonicalCode

func (m *StreamError) GetCanonicalCode() int32

func (*StreamError) GetCode

func (m *StreamError) GetCode() int32

func (*StreamError) GetDetails

func (m *StreamError) GetDetails() isStreamError_Details

func (*StreamError) GetDigestListAck

func (m *StreamError) GetDigestListAck() *DigestListAckError

func (*StreamError) GetMessage

func (m *StreamError) GetMessage() string

func (*StreamError) GetOther

func (m *StreamError) GetOther() *StreamOtherError

func (*StreamError) GetPacketOut

func (m *StreamError) GetPacketOut() *PacketOutError

func (*StreamError) GetSpace

func (m *StreamError) GetSpace() string

func (*StreamError) ProtoMessage

func (*StreamError) ProtoMessage()

func (*StreamError) Reset

func (m *StreamError) Reset()

func (*StreamError) String

func (m *StreamError) String() string

func (*StreamError) XXX_DiscardUnknown

func (m *StreamError) XXX_DiscardUnknown()

func (*StreamError) XXX_Marshal

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

func (*StreamError) XXX_Merge

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

func (*StreamError) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*StreamError) XXX_Size

func (m *StreamError) XXX_Size() int

func (*StreamError) XXX_Unmarshal

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

type StreamError_DigestListAck

type StreamError_DigestListAck struct {
	DigestListAck *DigestListAckError `protobuf:"bytes,6,opt,name=digest_list_ack,json=digestListAck,proto3,oneof"`
}

type StreamError_Other

type StreamError_Other struct {
	Other *StreamOtherError `protobuf:"bytes,7,opt,name=other,proto3,oneof"`
}

type StreamError_PacketOut

type StreamError_PacketOut struct {
	PacketOut *PacketOutError `protobuf:"bytes,5,opt,name=packet_out,json=packetOut,proto3,oneof"`
}

type StreamMessageRequest

type StreamMessageRequest struct {
	// Types that are valid to be assigned to Update:
	//	*StreamMessageRequest_Arbitration
	//	*StreamMessageRequest_Packet
	//	*StreamMessageRequest_DigestAck
	//	*StreamMessageRequest_Other
	Update               isStreamMessageRequest_Update `protobuf_oneof:"update"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

------------------------------------------------------------------------------

func (*StreamMessageRequest) Descriptor

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

func (*StreamMessageRequest) GetArbitration

func (m *StreamMessageRequest) GetArbitration() *MasterArbitrationUpdate

func (*StreamMessageRequest) GetDigestAck

func (m *StreamMessageRequest) GetDigestAck() *DigestListAck

func (*StreamMessageRequest) GetOther

func (m *StreamMessageRequest) GetOther() *any.Any

func (*StreamMessageRequest) GetPacket

func (m *StreamMessageRequest) GetPacket() *PacketOut

func (*StreamMessageRequest) GetUpdate

func (m *StreamMessageRequest) GetUpdate() isStreamMessageRequest_Update

func (*StreamMessageRequest) ProtoMessage

func (*StreamMessageRequest) ProtoMessage()

func (*StreamMessageRequest) Reset

func (m *StreamMessageRequest) Reset()

func (*StreamMessageRequest) String

func (m *StreamMessageRequest) String() string

func (*StreamMessageRequest) XXX_DiscardUnknown

func (m *StreamMessageRequest) XXX_DiscardUnknown()

func (*StreamMessageRequest) XXX_Marshal

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

func (*StreamMessageRequest) XXX_Merge

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

func (*StreamMessageRequest) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*StreamMessageRequest) XXX_Size

func (m *StreamMessageRequest) XXX_Size() int

func (*StreamMessageRequest) XXX_Unmarshal

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

type StreamMessageRequest_Arbitration

type StreamMessageRequest_Arbitration struct {
	Arbitration *MasterArbitrationUpdate `protobuf:"bytes,1,opt,name=arbitration,proto3,oneof"`
}

type StreamMessageRequest_DigestAck

type StreamMessageRequest_DigestAck struct {
	DigestAck *DigestListAck `protobuf:"bytes,3,opt,name=digest_ack,json=digestAck,proto3,oneof"`
}

type StreamMessageRequest_Other

type StreamMessageRequest_Other struct {
	Other *any.Any `protobuf:"bytes,4,opt,name=other,proto3,oneof"`
}

type StreamMessageRequest_Packet

type StreamMessageRequest_Packet struct {
	Packet *PacketOut `protobuf:"bytes,2,opt,name=packet,proto3,oneof"`
}

type StreamMessageResponse

type StreamMessageResponse struct {
	// Types that are valid to be assigned to Update:
	//	*StreamMessageResponse_Arbitration
	//	*StreamMessageResponse_Packet
	//	*StreamMessageResponse_Digest
	//	*StreamMessageResponse_IdleTimeoutNotification
	//	*StreamMessageResponse_Other
	//	*StreamMessageResponse_Error
	Update               isStreamMessageResponse_Update `protobuf_oneof:"update"`
	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
	XXX_unrecognized     []byte                         `json:"-"`
	XXX_sizecache        int32                          `json:"-"`
}

func (*StreamMessageResponse) Descriptor

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

func (*StreamMessageResponse) GetArbitration

func (m *StreamMessageResponse) GetArbitration() *MasterArbitrationUpdate

func (*StreamMessageResponse) GetDigest

func (m *StreamMessageResponse) GetDigest() *DigestList

func (*StreamMessageResponse) GetError

func (m *StreamMessageResponse) GetError() *StreamError

func (*StreamMessageResponse) GetIdleTimeoutNotification

func (m *StreamMessageResponse) GetIdleTimeoutNotification() *IdleTimeoutNotification

func (*StreamMessageResponse) GetOther

func (m *StreamMessageResponse) GetOther() *any.Any

func (*StreamMessageResponse) GetPacket

func (m *StreamMessageResponse) GetPacket() *PacketIn

func (*StreamMessageResponse) GetUpdate

func (m *StreamMessageResponse) GetUpdate() isStreamMessageResponse_Update

func (*StreamMessageResponse) ProtoMessage

func (*StreamMessageResponse) ProtoMessage()

func (*StreamMessageResponse) Reset

func (m *StreamMessageResponse) Reset()

func (*StreamMessageResponse) String

func (m *StreamMessageResponse) String() string

func (*StreamMessageResponse) XXX_DiscardUnknown

func (m *StreamMessageResponse) XXX_DiscardUnknown()

func (*StreamMessageResponse) XXX_Marshal

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

func (*StreamMessageResponse) XXX_Merge

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

func (*StreamMessageResponse) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*StreamMessageResponse) XXX_Size

func (m *StreamMessageResponse) XXX_Size() int

func (*StreamMessageResponse) XXX_Unmarshal

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

type StreamMessageResponse_Arbitration

type StreamMessageResponse_Arbitration struct {
	Arbitration *MasterArbitrationUpdate `protobuf:"bytes,1,opt,name=arbitration,proto3,oneof"`
}

type StreamMessageResponse_Digest

type StreamMessageResponse_Digest struct {
	Digest *DigestList `protobuf:"bytes,3,opt,name=digest,proto3,oneof"`
}

type StreamMessageResponse_Error

type StreamMessageResponse_Error struct {
	Error *StreamError `protobuf:"bytes,6,opt,name=error,proto3,oneof"`
}

type StreamMessageResponse_IdleTimeoutNotification

type StreamMessageResponse_IdleTimeoutNotification struct {
	IdleTimeoutNotification *IdleTimeoutNotification `protobuf:"bytes,4,opt,name=idle_timeout_notification,json=idleTimeoutNotification,proto3,oneof"`
}

type StreamMessageResponse_Other

type StreamMessageResponse_Other struct {
	Other *any.Any `protobuf:"bytes,5,opt,name=other,proto3,oneof"`
}

type StreamMessageResponse_Packet

type StreamMessageResponse_Packet struct {
	Packet *PacketIn `protobuf:"bytes,2,opt,name=packet,proto3,oneof"`
}

type StreamOtherError

type StreamOtherError struct {
	// Optional. The architecture-specific stream message that caused the error.
	Other                *any.Any `protobuf:"bytes,1,opt,name=other,proto3" json:"other,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*StreamOtherError) Descriptor

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

func (*StreamOtherError) GetOther

func (m *StreamOtherError) GetOther() *any.Any

func (*StreamOtherError) ProtoMessage

func (*StreamOtherError) ProtoMessage()

func (*StreamOtherError) Reset

func (m *StreamOtherError) Reset()

func (*StreamOtherError) String

func (m *StreamOtherError) String() string

func (*StreamOtherError) XXX_DiscardUnknown

func (m *StreamOtherError) XXX_DiscardUnknown()

func (*StreamOtherError) XXX_Marshal

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

func (*StreamOtherError) XXX_Merge

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

func (*StreamOtherError) XXX_Size

func (m *StreamOtherError) XXX_Size() int

func (*StreamOtherError) XXX_Unmarshal

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

type TableAction

type TableAction struct {
	// Types that are valid to be assigned to Type:
	//	*TableAction_Action
	//	*TableAction_ActionProfileMemberId
	//	*TableAction_ActionProfileGroupId
	//	*TableAction_ActionProfileActionSet
	Type                 isTableAction_Type `protobuf_oneof:"type"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

table_actions ::= action_specification | action_profile_specification

func (*TableAction) Descriptor

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

func (*TableAction) GetAction

func (m *TableAction) GetAction() *Action

func (*TableAction) GetActionProfileActionSet

func (m *TableAction) GetActionProfileActionSet() *ActionProfileActionSet

func (*TableAction) GetActionProfileGroupId

func (m *TableAction) GetActionProfileGroupId() uint32

func (*TableAction) GetActionProfileMemberId

func (m *TableAction) GetActionProfileMemberId() uint32

func (*TableAction) GetType

func (m *TableAction) GetType() isTableAction_Type

func (*TableAction) ProtoMessage

func (*TableAction) ProtoMessage()

func (*TableAction) Reset

func (m *TableAction) Reset()

func (*TableAction) String

func (m *TableAction) String() string

func (*TableAction) XXX_DiscardUnknown

func (m *TableAction) XXX_DiscardUnknown()

func (*TableAction) XXX_Marshal

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

func (*TableAction) XXX_Merge

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

func (*TableAction) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*TableAction) XXX_Size

func (m *TableAction) XXX_Size() int

func (*TableAction) XXX_Unmarshal

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

type TableAction_Action

type TableAction_Action struct {
	Action *Action `protobuf:"bytes,1,opt,name=action,proto3,oneof"`
}

type TableAction_ActionProfileActionSet

type TableAction_ActionProfileActionSet struct {
	ActionProfileActionSet *ActionProfileActionSet `protobuf:"bytes,4,opt,name=action_profile_action_set,json=actionProfileActionSet,proto3,oneof"`
}

type TableAction_ActionProfileGroupId

type TableAction_ActionProfileGroupId struct {
	ActionProfileGroupId uint32 `protobuf:"varint,3,opt,name=action_profile_group_id,json=actionProfileGroupId,proto3,oneof"`
}

type TableAction_ActionProfileMemberId

type TableAction_ActionProfileMemberId struct {
	ActionProfileMemberId uint32 `protobuf:"varint,2,opt,name=action_profile_member_id,json=actionProfileMemberId,proto3,oneof"`
}

type TableEntry

type TableEntry struct {
	TableId uint32        `protobuf:"varint,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
	Match   []*FieldMatch `protobuf:"bytes,2,rep,name=match,proto3" json:"match,omitempty"`
	Action  *TableAction  `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"`
	// Should only be set if the match implies a TCAM lookup, i.e. at least one of
	// the match fields is Optional, Ternary or Range.  A higher number indicates
	// higher priority.  Only a highest priority entry that matches the packet
	// must be selected.  Multiple entries in the same table with the same
	// priority value are permitted.  See Section "TableEntry" in the
	// specification for details of the behavior.
	Priority int32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"`
	// Metadata (cookie) opaque to the target. There is no requirement of where
	// this is stored, as long as it is returned with the rest of the entry in
	// a Read RPC. This is deprecated in favor of the more flexible metadata
	// field.
	ControllerMetadata uint64 `protobuf:"varint,5,opt,name=controller_metadata,json=controllerMetadata,proto3" json:"controller_metadata,omitempty"` // Deprecated: Do not use.
	// meter_config and counter_data are convenience fields that enable the
	// controller to configure the direct resources associated with the table at
	// the same time as a match-action entry is inserted or modified.
	// Table write:
	//   - If the table does not contain a direct resource, then setting the
	//     corresponding direct resource field in any table write operation will
	//     return an error.
	//   - When inserting a new table entry, leaving these fields unset means that
	//     the direct resources of this table (if any) will assume default values.
	//     For counters, the default value is 0, and for meters, the default value
	//     is always green.
	//   - When updating a table entry, leaving meter_config unset will reset the
	//     meter (if any) to its default configuration, while leaving counter_data
	//     unset means that the counter (if any) will not be updated.
	// Table read:
	//   - If the table does not contain a direct resource, then the corresponding
	//     field will not be set in the read table entry.
	//   - If meter_config is unset in the request, or if the meter has a default
	//     configuration, meter_config will not be set in the response.
	//   - If counter_data is unset in the request, it will be unset in the
	//     response as well.
	MeterConfig *MeterConfig `protobuf:"bytes,6,opt,name=meter_config,json=meterConfig,proto3" json:"meter_config,omitempty"`
	CounterData *CounterData `protobuf:"bytes,7,opt,name=counter_data,json=counterData,proto3" json:"counter_data,omitempty"`
	// Set to true if the table entry is being used to update the non-const
	// default action of the table. If true, the "match" field must be empty and
	// the "action" field must be populated with a valid direct action.
	IsDefaultAction bool `protobuf:"varint,8,opt,name=is_default_action,json=isDefaultAction,proto3" json:"is_default_action,omitempty"`
	// The TTL for the entry, in nanoseconds. A value of 0 means that the table
	// entry never "expires".
	IdleTimeoutNs int64 `protobuf:"varint,9,opt,name=idle_timeout_ns,json=idleTimeoutNs,proto3" json:"idle_timeout_ns,omitempty"`
	// Table write: this field should be left unset.
	// Table read: if the table supports idle timeout and time_since_last_hit is
	// set in the request, this field will be set in the response.
	TimeSinceLastHit *TableEntry_IdleTimeout `protobuf:"bytes,10,opt,name=time_since_last_hit,json=timeSinceLastHit,proto3" json:"time_since_last_hit,omitempty"`
	// Arbitrary metadata from the controller that is opaque to the target.
	Metadata             []byte   `protobuf:"bytes,11,opt,name=metadata,proto3" json:"metadata,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TableEntry) Descriptor

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

func (*TableEntry) GetAction

func (m *TableEntry) GetAction() *TableAction

func (*TableEntry) GetControllerMetadata deprecated

func (m *TableEntry) GetControllerMetadata() uint64

Deprecated: Do not use.

func (*TableEntry) GetCounterData

func (m *TableEntry) GetCounterData() *CounterData

func (*TableEntry) GetIdleTimeoutNs

func (m *TableEntry) GetIdleTimeoutNs() int64

func (*TableEntry) GetIsDefaultAction

func (m *TableEntry) GetIsDefaultAction() bool

func (*TableEntry) GetMatch

func (m *TableEntry) GetMatch() []*FieldMatch

func (*TableEntry) GetMetadata

func (m *TableEntry) GetMetadata() []byte

func (*TableEntry) GetMeterConfig

func (m *TableEntry) GetMeterConfig() *MeterConfig

func (*TableEntry) GetPriority

func (m *TableEntry) GetPriority() int32

func (*TableEntry) GetTableId

func (m *TableEntry) GetTableId() uint32

func (*TableEntry) GetTimeSinceLastHit

func (m *TableEntry) GetTimeSinceLastHit() *TableEntry_IdleTimeout

func (*TableEntry) ProtoMessage

func (*TableEntry) ProtoMessage()

func (*TableEntry) Reset

func (m *TableEntry) Reset()

func (*TableEntry) String

func (m *TableEntry) String() string

func (*TableEntry) XXX_DiscardUnknown

func (m *TableEntry) XXX_DiscardUnknown()

func (*TableEntry) XXX_Marshal

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

func (*TableEntry) XXX_Merge

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

func (*TableEntry) XXX_Size

func (m *TableEntry) XXX_Size() int

func (*TableEntry) XXX_Unmarshal

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

type TableEntry_IdleTimeout

type TableEntry_IdleTimeout struct {
	// Time elapsed - in nanoseconds - since the table entry was last "hit" as
	// part of a data plane table lookup.
	ElapsedNs            int64    `protobuf:"varint,1,opt,name=elapsed_ns,json=elapsedNs,proto3" json:"elapsed_ns,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*TableEntry_IdleTimeout) Descriptor

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

func (*TableEntry_IdleTimeout) GetElapsedNs

func (m *TableEntry_IdleTimeout) GetElapsedNs() int64

func (*TableEntry_IdleTimeout) ProtoMessage

func (*TableEntry_IdleTimeout) ProtoMessage()

func (*TableEntry_IdleTimeout) Reset

func (m *TableEntry_IdleTimeout) Reset()

func (*TableEntry_IdleTimeout) String

func (m *TableEntry_IdleTimeout) String() string

func (*TableEntry_IdleTimeout) XXX_DiscardUnknown

func (m *TableEntry_IdleTimeout) XXX_DiscardUnknown()

func (*TableEntry_IdleTimeout) XXX_Marshal

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

func (*TableEntry_IdleTimeout) XXX_Merge

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

func (*TableEntry_IdleTimeout) XXX_Size

func (m *TableEntry_IdleTimeout) XXX_Size() int

func (*TableEntry_IdleTimeout) XXX_Unmarshal

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

type Uint128

type Uint128 struct {
	// Highest 64 bits of a 128 bit number.
	High uint64 `protobuf:"varint,1,opt,name=high,proto3" json:"high,omitempty"`
	// Lowest 64 bits of a 128 bit number.
	Low                  uint64   `protobuf:"varint,2,opt,name=low,proto3" json:"low,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Uint128) Descriptor

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

func (*Uint128) GetHigh

func (m *Uint128) GetHigh() uint64

func (*Uint128) GetLow

func (m *Uint128) GetLow() uint64

func (*Uint128) ProtoMessage

func (*Uint128) ProtoMessage()

func (*Uint128) Reset

func (m *Uint128) Reset()

func (*Uint128) String

func (m *Uint128) String() string

func (*Uint128) XXX_DiscardUnknown

func (m *Uint128) XXX_DiscardUnknown()

func (*Uint128) XXX_Marshal

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

func (*Uint128) XXX_Merge

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

func (*Uint128) XXX_Size

func (m *Uint128) XXX_Size() int

func (*Uint128) XXX_Unmarshal

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

type UnimplementedP4RuntimeServer

type UnimplementedP4RuntimeServer struct {
}

UnimplementedP4RuntimeServer can be embedded to have forward compatible implementations.

func (*UnimplementedP4RuntimeServer) Capabilities

func (*UnimplementedP4RuntimeServer) GetForwardingPipelineConfig

func (*UnimplementedP4RuntimeServer) Read

func (*UnimplementedP4RuntimeServer) SetForwardingPipelineConfig

func (*UnimplementedP4RuntimeServer) StreamChannel

func (*UnimplementedP4RuntimeServer) Write

type Update

type Update struct {
	Type                 Update_Type `protobuf:"varint,1,opt,name=type,proto3,enum=p4.v1.Update_Type" json:"type,omitempty"`
	Entity               *Entity     `protobuf:"bytes,2,opt,name=entity,proto3" json:"entity,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (*Update) Descriptor

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

func (*Update) GetEntity

func (m *Update) GetEntity() *Entity

func (*Update) GetType

func (m *Update) GetType() Update_Type

func (*Update) ProtoMessage

func (*Update) ProtoMessage()

func (*Update) Reset

func (m *Update) Reset()

func (*Update) String

func (m *Update) String() string

func (*Update) XXX_DiscardUnknown

func (m *Update) XXX_DiscardUnknown()

func (*Update) XXX_Marshal

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

func (*Update) XXX_Merge

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

func (*Update) XXX_Size

func (m *Update) XXX_Size() int

func (*Update) XXX_Unmarshal

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

type Update_Type

type Update_Type int32
const (
	Update_UNSPECIFIED Update_Type = 0
	Update_INSERT      Update_Type = 1
	Update_MODIFY      Update_Type = 2
	Update_DELETE      Update_Type = 3
)

func (Update_Type) EnumDescriptor

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

func (Update_Type) String

func (x Update_Type) String() string

type ValueSetEntry

type ValueSetEntry struct {
	ValueSetId           uint32            `protobuf:"varint,1,opt,name=value_set_id,json=valueSetId,proto3" json:"value_set_id,omitempty"`
	Members              []*ValueSetMember `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

------------------------------------------------------------------------------ For writing and reading matches in a parser value set. A state transition on an empty value set will never be taken. The number of matches must be at most the size of the value set as specified by the size argument of the value_set constructor in the P4 program.

For Write Requests:

  • MODIFY will write the given matches in the repeated field to the value set.
  • INSERT and DELETE are not allowed.

For Read Requests:

  • All matches for all value-set entries if value_set_id = 0
  • All matches of the value-set if a valid value_set_id is specified
  • The 'match' field must never be set in the ReadRequest

func (*ValueSetEntry) Descriptor

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

func (*ValueSetEntry) GetMembers

func (m *ValueSetEntry) GetMembers() []*ValueSetMember

func (*ValueSetEntry) GetValueSetId

func (m *ValueSetEntry) GetValueSetId() uint32

func (*ValueSetEntry) ProtoMessage

func (*ValueSetEntry) ProtoMessage()

func (*ValueSetEntry) Reset

func (m *ValueSetEntry) Reset()

func (*ValueSetEntry) String

func (m *ValueSetEntry) String() string

func (*ValueSetEntry) XXX_DiscardUnknown

func (m *ValueSetEntry) XXX_DiscardUnknown()

func (*ValueSetEntry) XXX_Marshal

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

func (*ValueSetEntry) XXX_Merge

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

func (*ValueSetEntry) XXX_Size

func (m *ValueSetEntry) XXX_Size() int

func (*ValueSetEntry) XXX_Unmarshal

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

type ValueSetMember

type ValueSetMember struct {
	Match                []*FieldMatch `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

A member in a P4 value set. Each member defines a list of matches, which can have different match types.

func (*ValueSetMember) Descriptor

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

func (*ValueSetMember) GetMatch

func (m *ValueSetMember) GetMatch() []*FieldMatch

func (*ValueSetMember) ProtoMessage

func (*ValueSetMember) ProtoMessage()

func (*ValueSetMember) Reset

func (m *ValueSetMember) Reset()

func (*ValueSetMember) String

func (m *ValueSetMember) String() string

func (*ValueSetMember) XXX_DiscardUnknown

func (m *ValueSetMember) XXX_DiscardUnknown()

func (*ValueSetMember) XXX_Marshal

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

func (*ValueSetMember) XXX_Merge

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

func (*ValueSetMember) XXX_Size

func (m *ValueSetMember) XXX_Size() int

func (*ValueSetMember) XXX_Unmarshal

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

type WriteRequest

type WriteRequest struct {
	DeviceId   uint64   `protobuf:"varint,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	RoleId     uint64   `protobuf:"varint,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"`
	ElectionId *Uint128 `protobuf:"bytes,3,opt,name=election_id,json=electionId,proto3" json:"election_id,omitempty"`
	// The write batch, comprising a list of Update operations. The P4Runtime
	// server may arbitrarily reorder messages within a batch to maximize
	// performance.
	Updates              []*Update              `protobuf:"bytes,4,rep,name=updates,proto3" json:"updates,omitempty"`
	Atomicity            WriteRequest_Atomicity `protobuf:"varint,5,opt,name=atomicity,proto3,enum=p4.v1.WriteRequest_Atomicity" json:"atomicity,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

------------------------------------------------------------------------------

func (*WriteRequest) Descriptor

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

func (*WriteRequest) GetAtomicity

func (m *WriteRequest) GetAtomicity() WriteRequest_Atomicity

func (*WriteRequest) GetDeviceId

func (m *WriteRequest) GetDeviceId() uint64

func (*WriteRequest) GetElectionId

func (m *WriteRequest) GetElectionId() *Uint128

func (*WriteRequest) GetRoleId

func (m *WriteRequest) GetRoleId() uint64

func (*WriteRequest) GetUpdates

func (m *WriteRequest) GetUpdates() []*Update

func (*WriteRequest) ProtoMessage

func (*WriteRequest) ProtoMessage()

func (*WriteRequest) Reset

func (m *WriteRequest) Reset()

func (*WriteRequest) String

func (m *WriteRequest) String() string

func (*WriteRequest) XXX_DiscardUnknown

func (m *WriteRequest) XXX_DiscardUnknown()

func (*WriteRequest) XXX_Marshal

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

func (*WriteRequest) XXX_Merge

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

func (*WriteRequest) XXX_Size

func (m *WriteRequest) XXX_Size() int

func (*WriteRequest) XXX_Unmarshal

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

type WriteRequest_Atomicity

type WriteRequest_Atomicity int32
const (
	// Required. This is the default behavior. The batch is processed in a
	// non-atomic manner from a data plane point of view. Each operation within
	// the batch must be attempted even if one or more encounter errors.
	// Every data plane packet is guaranteed to be processed according to
	// table contents as they are between two individual operations of the
	// batch, but there could be several packets processed that see each of
	// these intermediate stages.
	WriteRequest_CONTINUE_ON_ERROR WriteRequest_Atomicity = 0
	// Optional. Operations within the batch are committed to data plane until
	// an error is encountered. At this point, the operations must be rolled
	// back such that both software and data plane state is consistent with the
	// state before the batch was attempted. The resulting behavior is
	// all-or-none, except the batch is not atomic from a data plane point of
	// view. Every data plane packet is guaranteed to be processed according to
	// table contents as they are between two individual operations of the
	// batch, but there could be several packets processed that see each of
	// these intermediate stages.
	WriteRequest_ROLLBACK_ON_ERROR WriteRequest_Atomicity = 1
	// Optional. Every data plane packet is guaranteed to be processed according
	// to table contents before the batch began, or after the batch completed
	// and the operations were programmed to the hardware.
	// The batch is therefore treated as a transaction.
	WriteRequest_DATAPLANE_ATOMIC WriteRequest_Atomicity = 2
)

func (WriteRequest_Atomicity) EnumDescriptor

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

func (WriteRequest_Atomicity) String

func (x WriteRequest_Atomicity) String() string

type WriteResponse

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

func (*WriteResponse) Descriptor

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

func (*WriteResponse) ProtoMessage

func (*WriteResponse) ProtoMessage()

func (*WriteResponse) Reset

func (m *WriteResponse) Reset()

func (*WriteResponse) String

func (m *WriteResponse) String() string

func (*WriteResponse) XXX_DiscardUnknown

func (m *WriteResponse) XXX_DiscardUnknown()

func (*WriteResponse) XXX_Marshal

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

func (*WriteResponse) XXX_Merge

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

func (*WriteResponse) XXX_Size

func (m *WriteResponse) XXX_Size() int

func (*WriteResponse) XXX_Unmarshal

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

Jump to

Keyboard shortcuts

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