diff --git a/pfcpiface/bess.go b/pfcpiface/bess.go index f482a323d..339d07576 100644 --- a/pfcpiface/bess.go +++ b/pfcpiface/bess.go @@ -577,7 +577,7 @@ func (b *bess) SessionStats(pc *PfcpNodeCollector, ch chan<- prometheus.Metric) fseidString := strconv.FormatUint(pre.Fseid, 10) pdrString := strconv.FormatUint(pre.Pdr, 10) - ueIpString := "unknown" + ueIpString := UnknownString if con != nil { session, ok := con.store.GetSession(pre.Fseid) diff --git a/pfcpiface/bess_pb/bess_msg.pb.go b/pfcpiface/bess_pb/bess_msg.pb.go index 79d7efc3b..da39fbf4a 100644 --- a/pfcpiface/bess_pb/bess_msg.pb.go +++ b/pfcpiface/bess_pb/bess_msg.pb.go @@ -32,8 +32,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.6.1 +// protoc-gen-go v1.36.10 +// protoc v3.21.12 // source: bess_msg.proto /// - "timestamp" represents the current time in seconds since the Epoch. @@ -46,11 +46,12 @@ package bess_pb import ( - any1 "google.golang.org/protobuf/types/known/anypb" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -61,18 +62,16 @@ const ( ) type EmptyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EmptyRequest) Reset() { *x = EmptyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EmptyRequest) String() string { @@ -83,7 +82,7 @@ func (*EmptyRequest) ProtoMessage() {} func (x *EmptyRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -99,22 +98,19 @@ func (*EmptyRequest) Descriptor() ([]byte, []int) { } type EmptyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + // / Contains a non-zero error code and a non-empty message if and only if + // / there has been an error + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` unknownFields protoimpl.UnknownFields - - /// Contains a non-zero error code and a non-empty message if and only if - /// there has been an error - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EmptyResponse) Reset() { *x = EmptyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EmptyResponse) String() string { @@ -125,7 +121,7 @@ func (*EmptyResponse) ProtoMessage() {} func (x *EmptyResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -148,21 +144,18 @@ func (x *EmptyResponse) GetError() *Error { } type VersionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` /// Version of bessd unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` /// Version of bessd + sizeCache protoimpl.SizeCache } func (x *VersionResponse) Reset() { *x = VersionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VersionResponse) String() string { @@ -173,7 +166,7 @@ func (*VersionResponse) ProtoMessage() {} func (x *VersionResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -203,20 +196,17 @@ func (x *VersionResponse) GetVersion() string { } type ImportPluginRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` /// Path to the module library (*.so file) unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` /// Path to the module library (*.so file) + sizeCache protoimpl.SizeCache } func (x *ImportPluginRequest) Reset() { *x = ImportPluginRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ImportPluginRequest) String() string { @@ -227,7 +217,7 @@ func (*ImportPluginRequest) ProtoMessage() {} func (x *ImportPluginRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -250,20 +240,17 @@ func (x *ImportPluginRequest) GetPath() string { } type UnloadPluginRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` /// Path to the module library (*.so file) unknownFields protoimpl.UnknownFields - - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` /// Path to the module library (*.so file) + sizeCache protoimpl.SizeCache } func (x *UnloadPluginRequest) Reset() { *x = UnloadPluginRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UnloadPluginRequest) String() string { @@ -274,7 +261,7 @@ func (*UnloadPluginRequest) ProtoMessage() {} func (x *UnloadPluginRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -297,21 +284,18 @@ func (x *UnloadPluginRequest) GetPath() string { } type ListPluginsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` /// Paths to the module library (*.so file) unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` /// Paths to the module library (*.so file) + sizeCache protoimpl.SizeCache } func (x *ListPluginsResponse) Reset() { *x = ListPluginsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListPluginsResponse) String() string { @@ -322,7 +306,7 @@ func (*ListPluginsResponse) ProtoMessage() {} func (x *ListPluginsResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -352,21 +336,18 @@ func (x *ListPluginsResponse) GetPaths() []string { } type ListWorkersResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` WorkersStatus []*ListWorkersResponse_WorkerStatus `protobuf:"bytes,2,rep,name=workers_status,json=workersStatus,proto3" json:"workers_status,omitempty"` /// List of all existing workers + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ListWorkersResponse) Reset() { *x = ListWorkersResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListWorkersResponse) String() string { @@ -377,7 +358,7 @@ func (*ListWorkersResponse) ProtoMessage() {} func (x *ListWorkersResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -407,22 +388,19 @@ func (x *ListWorkersResponse) GetWorkersStatus() []*ListWorkersResponse_WorkerSt } type AddWorkerRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// Worker ID to be added + Core int64 `protobuf:"varint,2,opt,name=core,proto3" json:"core,omitempty"` /// CPU core ID on which the worker would run + Scheduler string `protobuf:"bytes,3,opt,name=scheduler,proto3" json:"scheduler,omitempty"` /// Empty string denotes default scheduler. unknownFields protoimpl.UnknownFields - - Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// Worker ID to be added - Core int64 `protobuf:"varint,2,opt,name=core,proto3" json:"core,omitempty"` /// CPU core ID on which the worker would run - Scheduler string `protobuf:"bytes,3,opt,name=scheduler,proto3" json:"scheduler,omitempty"` /// Empty string denotes default scheduler. + sizeCache protoimpl.SizeCache } func (x *AddWorkerRequest) Reset() { *x = AddWorkerRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AddWorkerRequest) String() string { @@ -433,7 +411,7 @@ func (*AddWorkerRequest) ProtoMessage() {} func (x *AddWorkerRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -470,20 +448,17 @@ func (x *AddWorkerRequest) GetScheduler() string { } type DestroyWorkerRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// Worker ID unknownFields protoimpl.UnknownFields - - Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// Worker ID + sizeCache protoimpl.SizeCache } func (x *DestroyWorkerRequest) Reset() { *x = DestroyWorkerRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DestroyWorkerRequest) String() string { @@ -494,7 +469,7 @@ func (*DestroyWorkerRequest) ProtoMessage() {} func (x *DestroyWorkerRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -517,43 +492,41 @@ func (x *DestroyWorkerRequest) GetWid() int64 { } type TrafficClass struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` /// Name of parent TC - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of TC - Blocked bool `protobuf:"varint,3,opt,name=blocked,proto3" json:"blocked,omitempty"` /// Is it running or ready to run at the moment? - /// One of "priority", "weighted_fair", "round_robin", "rate_limit", "leaf" + state protoimpl.MessageState `protogen:"open.v1"` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` /// Name of parent TC + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of TC + Blocked bool `protobuf:"varint,3,opt,name=blocked,proto3" json:"blocked,omitempty"` /// Is it running or ready to run at the moment? + // / One of "priority", "weighted_fair", "round_robin", "rate_limit", "leaf" Policy string `protobuf:"bytes,4,opt,name=policy,proto3" json:"policy,omitempty"` - /// Type of resource to regulate. Only used for traffic classes of - /// weighted_fair and rate_limit types. - /// Should be one of resource types: "count", "cycle", "packet", "bit" + // / Type of resource to regulate. Only used for traffic classes of + // / weighted_fair and rate_limit types. + // / Should be one of resource types: "count", "cycle", "packet", "bit" Resource string `protobuf:"bytes,5,opt,name=resource,proto3" json:"resource,omitempty"` - // Types that are assignable to Arg: + // Types that are valid to be assigned to Arg: + // // *TrafficClass_Priority // *TrafficClass_Share Arg isTrafficClass_Arg `protobuf_oneof:"arg"` - /// Worker ID that this TC belongs to. If -1, the TC will be assigned - /// to an arbitrary worker. + // / Worker ID that this TC belongs to. If -1, the TC will be assigned + // / to an arbitrary worker. Wid int64 `protobuf:"varint,8,opt,name=wid,proto3" json:"wid,omitempty"` - /// Long-term average of resource limit, in cycles/s, packets/s, ... - Limit map[string]int64 `protobuf:"bytes,9,rep,name=limit,proto3" json:"limit,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - /// Burst allowance of resource limit, in cycles, packets, bits, ... - /// If set to 0, no extra tokens will be saved. - MaxBurst map[string]int64 `protobuf:"bytes,10,rep,name=max_burst,json=maxBurst,proto3" json:"max_burst,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - /// Only for "leaf": the task executed by this class. + // / Long-term average of resource limit, in cycles/s, packets/s, ... + Limit map[string]int64 `protobuf:"bytes,9,rep,name=limit,proto3" json:"limit,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + // / Burst allowance of resource limit, in cycles, packets, bits, ... + // / If set to 0, no extra tokens will be saved. + MaxBurst map[string]int64 `protobuf:"bytes,10,rep,name=max_burst,json=maxBurst,proto3" json:"max_burst,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + // / Only for "leaf": the task executed by this class. LeafModuleName string `protobuf:"bytes,11,opt,name=leaf_module_name,json=leafModuleName,proto3" json:"leaf_module_name,omitempty"` LeafModuleTaskid uint64 `protobuf:"varint,12,opt,name=leaf_module_taskid,json=leafModuleTaskid,proto3" json:"leaf_module_taskid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TrafficClass) Reset() { *x = TrafficClass{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TrafficClass) String() string { @@ -564,7 +537,7 @@ func (*TrafficClass) ProtoMessage() {} func (x *TrafficClass) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -614,23 +587,27 @@ func (x *TrafficClass) GetResource() string { return "" } -func (m *TrafficClass) GetArg() isTrafficClass_Arg { - if m != nil { - return m.Arg +func (x *TrafficClass) GetArg() isTrafficClass_Arg { + if x != nil { + return x.Arg } return nil } func (x *TrafficClass) GetPriority() int64 { - if x, ok := x.GetArg().(*TrafficClass_Priority); ok { - return x.Priority + if x != nil { + if x, ok := x.Arg.(*TrafficClass_Priority); ok { + return x.Priority + } } return 0 } func (x *TrafficClass) GetShare() int64 { - if x, ok := x.GetArg().(*TrafficClass_Share); ok { - return x.Share + if x != nil { + if x, ok := x.Arg.(*TrafficClass_Share); ok { + return x.Share + } } return 0 } @@ -675,16 +652,17 @@ type isTrafficClass_Arg interface { } type TrafficClass_Priority struct { - /// Used by "priority". Lower number == high priority. + // / Used by "priority". Lower number == high priority. + // // FIXME: should be higher number == higher priority, to be consistent // other uses of "priority" in BESS Priority int64 `protobuf:"varint,6,opt,name=priority,proto3,oneof"` } type TrafficClass_Share struct { - /// Relative weight (share), used by "weighted_fair". - /// 1 <= share <= 1024 is recommended. Higher number will result in - /// lower scheduling accuracy. + // / Relative weight (share), used by "weighted_fair". + // / 1 <= share <= 1024 is recommended. Higher number will result in + // / lower scheduling accuracy. Share int64 `protobuf:"varint,7,opt,name=share,proto3,oneof"` } @@ -693,22 +671,19 @@ func (*TrafficClass_Priority) isTrafficClass_Arg() {} func (*TrafficClass_Share) isTrafficClass_Arg() {} type ListTcsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + // / Specify a worker thread to fetch traffic classes. + // / To include all traffic classes on every worker, specify -1. + Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` unknownFields protoimpl.UnknownFields - - /// Specify a worker thread to fetch traffic classes. - /// To include all traffic classes on every worker, specify -1. - Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListTcsRequest) Reset() { *x = ListTcsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListTcsRequest) String() string { @@ -719,7 +694,7 @@ func (*ListTcsRequest) ProtoMessage() {} func (x *ListTcsRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -742,21 +717,18 @@ func (x *ListTcsRequest) GetWid() int64 { } type ListTcsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` ClassesStatus []*ListTcsResponse_TrafficClassStatus `protobuf:"bytes,2,rep,name=classes_status,json=classesStatus,proto3" json:"classes_status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ListTcsResponse) Reset() { *x = ListTcsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListTcsResponse) String() string { @@ -767,7 +739,7 @@ func (*ListTcsResponse) ProtoMessage() {} func (x *ListTcsResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -797,23 +769,20 @@ func (x *ListTcsResponse) GetClassesStatus() []*ListTcsResponse_TrafficClassStat } type CheckSchedulingConstraintsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Fatal bool `protobuf:"varint,2,opt,name=fatal,proto3" json:"fatal,omitempty"` + Violations []*CheckSchedulingConstraintsResponse_ViolatingClass `protobuf:"bytes,3,rep,name=violations,proto3" json:"violations,omitempty"` + Modules []*CheckSchedulingConstraintsResponse_ViolatingModule `protobuf:"bytes,4,rep,name=modules,proto3" json:"modules,omitempty"` unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Fatal bool `protobuf:"varint,2,opt,name=fatal,proto3" json:"fatal,omitempty"` - Violations []*CheckSchedulingConstraintsResponse_ViolatingClass `protobuf:"bytes,3,rep,name=violations,proto3" json:"violations,omitempty"` - Modules []*CheckSchedulingConstraintsResponse_ViolatingModule `protobuf:"bytes,4,rep,name=modules,proto3" json:"modules,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CheckSchedulingConstraintsResponse) Reset() { *x = CheckSchedulingConstraintsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CheckSchedulingConstraintsResponse) String() string { @@ -824,7 +793,7 @@ func (*CheckSchedulingConstraintsResponse) ProtoMessage() {} func (x *CheckSchedulingConstraintsResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -868,20 +837,17 @@ func (x *CheckSchedulingConstraintsResponse) GetModules() []*CheckSchedulingCons } type AddTcRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Class *TrafficClass `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"` unknownFields protoimpl.UnknownFields - - Class *TrafficClass `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"` + sizeCache protoimpl.SizeCache } func (x *AddTcRequest) Reset() { *x = AddTcRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AddTcRequest) String() string { @@ -892,7 +858,7 @@ func (*AddTcRequest) ProtoMessage() {} func (x *AddTcRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -915,20 +881,17 @@ func (x *AddTcRequest) GetClass() *TrafficClass { } type UpdateTcParamsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Class *TrafficClass `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"` unknownFields protoimpl.UnknownFields - - Class *TrafficClass `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"` + sizeCache protoimpl.SizeCache } func (x *UpdateTcParamsRequest) Reset() { *x = UpdateTcParamsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateTcParamsRequest) String() string { @@ -939,7 +902,7 @@ func (*UpdateTcParamsRequest) ProtoMessage() {} func (x *UpdateTcParamsRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -962,20 +925,17 @@ func (x *UpdateTcParamsRequest) GetClass() *TrafficClass { } type UpdateTcParentRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Class *TrafficClass `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"` unknownFields protoimpl.UnknownFields - - Class *TrafficClass `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"` + sizeCache protoimpl.SizeCache } func (x *UpdateTcParentRequest) Reset() { *x = UpdateTcParentRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateTcParentRequest) String() string { @@ -986,7 +946,7 @@ func (*UpdateTcParentRequest) ProtoMessage() {} func (x *UpdateTcParentRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1009,20 +969,17 @@ func (x *UpdateTcParentRequest) GetClass() *TrafficClass { } type GetTcStatsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of TC unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of TC + sizeCache protoimpl.SizeCache } func (x *GetTcStatsRequest) Reset() { *x = GetTcStatsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetTcStatsRequest) String() string { @@ -1033,7 +990,7 @@ func (*GetTcStatsRequest) ProtoMessage() {} func (x *GetTcStatsRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1056,27 +1013,24 @@ func (x *GetTcStatsRequest) GetName() string { } type GetTcStatsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Timestamp float64 `protobuf:"fixed64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// The time that stat counters were read + // / THe following counters represent the total amount of accumulated resource + // / usage of a module since its creation. + Count uint64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` /// # of scheduled times + Cycles uint64 `protobuf:"varint,4,opt,name=cycles,proto3" json:"cycles,omitempty"` /// CPU cycles + Packets uint64 `protobuf:"varint,5,opt,name=packets,proto3" json:"packets,omitempty"` /// # of packets + Bits uint64 `protobuf:"varint,6,opt,name=bits,proto3" json:"bits,omitempty"` /// # of bits unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Timestamp float64 `protobuf:"fixed64,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// The time that stat counters were read - /// THe following counters represent the total amount of accumulated resource - /// usage of a module since its creation. - Count uint64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` /// # of scheduled times - Cycles uint64 `protobuf:"varint,4,opt,name=cycles,proto3" json:"cycles,omitempty"` /// CPU cycles - Packets uint64 `protobuf:"varint,5,opt,name=packets,proto3" json:"packets,omitempty"` /// # of packets - Bits uint64 `protobuf:"varint,6,opt,name=bits,proto3" json:"bits,omitempty"` /// # of bits + sizeCache protoimpl.SizeCache } func (x *GetTcStatsResponse) Reset() { *x = GetTcStatsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetTcStatsResponse) String() string { @@ -1087,7 +1041,7 @@ func (*GetTcStatsResponse) ProtoMessage() {} func (x *GetTcStatsResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1145,21 +1099,18 @@ func (x *GetTcStatsResponse) GetBits() uint64 { } type ListDriversResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + DriverNames []string `protobuf:"bytes,2,rep,name=driver_names,json=driverNames,proto3" json:"driver_names,omitempty"` /// List of availabe port drivers unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - DriverNames []string `protobuf:"bytes,2,rep,name=driver_names,json=driverNames,proto3" json:"driver_names,omitempty"` /// List of availabe port drivers + sizeCache protoimpl.SizeCache } func (x *ListDriversResponse) Reset() { *x = ListDriversResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListDriversResponse) String() string { @@ -1170,7 +1121,7 @@ func (*ListDriversResponse) ProtoMessage() {} func (x *ListDriversResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1200,20 +1151,17 @@ func (x *ListDriversResponse) GetDriverNames() []string { } type GetDriverInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DriverName string `protobuf:"bytes,1,opt,name=driver_name,json=driverName,proto3" json:"driver_name,omitempty"` /// Name of port driver unknownFields protoimpl.UnknownFields - - DriverName string `protobuf:"bytes,1,opt,name=driver_name,json=driverName,proto3" json:"driver_name,omitempty"` /// Name of port driver + sizeCache protoimpl.SizeCache } func (x *GetDriverInfoRequest) Reset() { *x = GetDriverInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetDriverInfoRequest) String() string { @@ -1224,7 +1172,7 @@ func (*GetDriverInfoRequest) ProtoMessage() {} func (x *GetDriverInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1247,23 +1195,20 @@ func (x *GetDriverInfoRequest) GetDriverName() string { } type GetDriverInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of port driver + Help string `protobuf:"bytes,3,opt,name=help,proto3" json:"help,omitempty"` /// 1-line description of the driver + Commands []string `protobuf:"bytes,4,rep,name=commands,proto3" json:"commands,omitempty"` /// List of supported commands (TODO) unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of port driver - Help string `protobuf:"bytes,3,opt,name=help,proto3" json:"help,omitempty"` /// 1-line description of the driver - Commands []string `protobuf:"bytes,4,rep,name=commands,proto3" json:"commands,omitempty"` /// List of supported commands (TODO) + sizeCache protoimpl.SizeCache } func (x *GetDriverInfoResponse) Reset() { *x = GetDriverInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetDriverInfoResponse) String() string { @@ -1274,7 +1219,7 @@ func (*GetDriverInfoResponse) ProtoMessage() {} func (x *GetDriverInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1318,21 +1263,18 @@ func (x *GetDriverInfoResponse) GetCommands() []string { } type ListPortsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Ports []*ListPortsResponse_Port `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"` /// List of all existing ports unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Ports []*ListPortsResponse_Port `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"` /// List of all existing ports + sizeCache protoimpl.SizeCache } func (x *ListPortsResponse) Reset() { *x = ListPortsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListPortsResponse) String() string { @@ -1343,7 +1285,7 @@ func (*ListPortsResponse) ProtoMessage() {} func (x *ListPortsResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1373,37 +1315,34 @@ func (x *ListPortsResponse) GetPorts() []*ListPortsResponse_Port { } type CreatePortRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - /// Name of the port to create. Every port must have a unique name. - /// If not specified, a default name will be assigned - /// (returned via CreatePortResponse for future reference). + state protoimpl.MessageState `protogen:"open.v1"` + // / Name of the port to create. Every port must have a unique name. + // / If not specified, a default name will be assigned + // / (returned via CreatePortResponse for future reference). Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - /// Name of port driver. Must be specified. + // / Name of port driver. Must be specified. Driver string `protobuf:"bytes,2,opt,name=driver,proto3" json:"driver,omitempty"` - /// Number of incoming/RX queues (Ext -> BESS). Default is 1 + // / Number of incoming/RX queues (Ext -> BESS). Default is 1 NumIncQ uint64 `protobuf:"varint,3,opt,name=num_inc_q,json=numIncQ,proto3" json:"num_inc_q,omitempty"` - /// Number of outgoind/TX queues (BESS -> Ext). Default is 1 + // / Number of outgoind/TX queues (BESS -> Ext). Default is 1 NumOutQ uint64 `protobuf:"varint,4,opt,name=num_out_q,json=numOutQ,proto3" json:"num_out_q,omitempty"` - /// Size of each incoming queue (# of packets). - /// If not set (0), a driver-specific default value will be used. + // / Size of each incoming queue (# of packets). + // / If not set (0), a driver-specific default value will be used. SizeIncQ uint64 `protobuf:"varint,5,opt,name=size_inc_q,json=sizeIncQ,proto3" json:"size_inc_q,omitempty"` - /// Size of each incoming queue (# of packets). - /// If not set (0), a driver-specific default value will be used. + // / Size of each incoming queue (# of packets). + // / If not set (0), a driver-specific default value will be used. SizeOutQ uint64 `protobuf:"varint,6,opt,name=size_out_q,json=sizeOutQ,proto3" json:"size_out_q,omitempty"` - /// Driver specific argument for port initialization. See port_msg.proto - Arg *any1.Any `protobuf:"bytes,7,opt,name=arg,proto3" json:"arg,omitempty"` + // / Driver specific argument for port initialization. See port_msg.proto + Arg *anypb.Any `protobuf:"bytes,7,opt,name=arg,proto3" json:"arg,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CreatePortRequest) Reset() { *x = CreatePortRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CreatePortRequest) String() string { @@ -1414,7 +1353,7 @@ func (*CreatePortRequest) ProtoMessage() {} func (x *CreatePortRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1471,36 +1410,33 @@ func (x *CreatePortRequest) GetSizeOutQ() uint64 { return 0 } -func (x *CreatePortRequest) GetArg() *any1.Any { +func (x *CreatePortRequest) GetArg() *anypb.Any { if x != nil { return x.Arg } return nil } -/// All configuration parameters updatable at runtime +// / All configuration parameters updatable at runtime type PortConf struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - /// MAC address for the new port. Should be "xx:xx:xx:xx:xx:xx" format. - /// Set to '00:00:00:00:00:00' to use the default/current MAC address + state protoimpl.MessageState `protogen:"open.v1"` + // / MAC address for the new port. Should be "xx:xx:xx:xx:xx:xx" format. + // / Set to '00:00:00:00:00:00' to use the default/current MAC address MacAddr string `protobuf:"bytes,1,opt,name=mac_addr,json=macAddr,proto3" json:"mac_addr,omitempty"` - /// Port MTU. Set to 0 to accept the default port MTU + // / Port MTU. Set to 0 to accept the default port MTU Mtu uint32 `protobuf:"varint,2,opt,name=mtu,proto3" json:"mtu,omitempty"` - /// Enable or disable the port. - /// Both admin and link (operational) states must be up to function - AdminUp bool `protobuf:"varint,3,opt,name=admin_up,json=adminUp,proto3" json:"admin_up,omitempty"` + // / Enable or disable the port. + // / Both admin and link (operational) states must be up to function + AdminUp bool `protobuf:"varint,3,opt,name=admin_up,json=adminUp,proto3" json:"admin_up,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PortConf) Reset() { *x = PortConf{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PortConf) String() string { @@ -1511,7 +1447,7 @@ func (*PortConf) ProtoMessage() {} func (x *PortConf) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1548,21 +1484,18 @@ func (x *PortConf) GetAdminUp() bool { } type SetPortConfRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port + Conf *PortConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port - Conf *PortConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SetPortConfRequest) Reset() { *x = SetPortConfRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SetPortConfRequest) String() string { @@ -1573,7 +1506,7 @@ func (*SetPortConfRequest) ProtoMessage() {} func (x *SetPortConfRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1603,20 +1536,17 @@ func (x *SetPortConfRequest) GetConf() *PortConf { } type GetPortConfRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port + sizeCache protoimpl.SizeCache } func (x *GetPortConfRequest) Reset() { *x = GetPortConfRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetPortConfRequest) String() string { @@ -1627,7 +1557,7 @@ func (*GetPortConfRequest) ProtoMessage() {} func (x *GetPortConfRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1650,21 +1580,18 @@ func (x *GetPortConfRequest) GetName() string { } type GetPortConfResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Conf *PortConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Conf *PortConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GetPortConfResponse) Reset() { *x = GetPortConfResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetPortConfResponse) String() string { @@ -1675,7 +1602,7 @@ func (*GetPortConfResponse) ProtoMessage() {} func (x *GetPortConfResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1705,22 +1632,19 @@ func (x *GetPortConfResponse) GetConf() *PortConf { } type CreatePortResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of the created port (specified or default one) + MacAddr string `protobuf:"bytes,3,opt,name=mac_addr,json=macAddr,proto3" json:"mac_addr,omitempty"` /// Port MAC address (specified or default one) unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of the created port (specified or default one) - MacAddr string `protobuf:"bytes,3,opt,name=mac_addr,json=macAddr,proto3" json:"mac_addr,omitempty"` /// Port MAC address (specified or default one) + sizeCache protoimpl.SizeCache } func (x *CreatePortResponse) Reset() { *x = CreatePortResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CreatePortResponse) String() string { @@ -1731,7 +1655,7 @@ func (*CreatePortResponse) ProtoMessage() {} func (x *CreatePortResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1768,20 +1692,17 @@ func (x *CreatePortResponse) GetMacAddr() string { } type DestroyPortRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port + sizeCache protoimpl.SizeCache } func (x *DestroyPortRequest) Reset() { *x = DestroyPortRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DestroyPortRequest) String() string { @@ -1792,7 +1713,7 @@ func (*DestroyPortRequest) ProtoMessage() {} func (x *DestroyPortRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1815,20 +1736,17 @@ func (x *DestroyPortRequest) GetName() string { } type GetPortStatsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port + sizeCache protoimpl.SizeCache } func (x *GetPortStatsRequest) Reset() { *x = GetPortStatsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetPortStatsRequest) String() string { @@ -1839,7 +1757,7 @@ func (*GetPortStatsRequest) ProtoMessage() {} func (x *GetPortStatsRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1862,23 +1780,20 @@ func (x *GetPortStatsRequest) GetName() string { } type GetPortStatsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Inc *GetPortStatsResponse_Stat `protobuf:"bytes,2,opt,name=inc,proto3" json:"inc,omitempty"` /// Port stats for incoming (Ext -> BESS) direction. + Out *GetPortStatsResponse_Stat `protobuf:"bytes,3,opt,name=out,proto3" json:"out,omitempty"` /// Port stats for outgoing (BESS -> Ext) direction. + Timestamp float64 `protobuf:"fixed64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// Time that stat counters were read. unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Inc *GetPortStatsResponse_Stat `protobuf:"bytes,2,opt,name=inc,proto3" json:"inc,omitempty"` /// Port stats for incoming (Ext -> BESS) direction. - Out *GetPortStatsResponse_Stat `protobuf:"bytes,3,opt,name=out,proto3" json:"out,omitempty"` /// Port stats for outgoing (BESS -> Ext) direction. - Timestamp float64 `protobuf:"fixed64,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// Time that stat counters were read. + sizeCache protoimpl.SizeCache } func (x *GetPortStatsResponse) Reset() { *x = GetPortStatsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetPortStatsResponse) String() string { @@ -1889,7 +1804,7 @@ func (*GetPortStatsResponse) ProtoMessage() {} func (x *GetPortStatsResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1933,20 +1848,17 @@ func (x *GetPortStatsResponse) GetTimestamp() float64 { } type GetLinkStatusRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// name of the port to query unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// name of the port to query + sizeCache protoimpl.SizeCache } func (x *GetLinkStatusRequest) Reset() { *x = GetLinkStatusRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetLinkStatusRequest) String() string { @@ -1957,7 +1869,7 @@ func (*GetLinkStatusRequest) ProtoMessage() {} func (x *GetLinkStatusRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1980,24 +1892,21 @@ func (x *GetLinkStatusRequest) GetName() string { } type GetLinkStatusResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Speed uint32 `protobuf:"varint,2,opt,name=speed,proto3" json:"speed,omitempty"` /// speed in mbps: 1000, 40000, etc. 0 for vports + FullDuplex bool `protobuf:"varint,3,opt,name=full_duplex,json=fullDuplex,proto3" json:"full_duplex,omitempty"` /// full-duplex enabled? + Autoneg bool `protobuf:"varint,4,opt,name=autoneg,proto3" json:"autoneg,omitempty"` /// auto-negotiated speed and duplex? + LinkUp bool `protobuf:"varint,5,opt,name=link_up,json=linkUp,proto3" json:"link_up,omitempty"` /// link up? unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Speed uint32 `protobuf:"varint,2,opt,name=speed,proto3" json:"speed,omitempty"` /// speed in mbps: 1000, 40000, etc. 0 for vports - FullDuplex bool `protobuf:"varint,3,opt,name=full_duplex,json=fullDuplex,proto3" json:"full_duplex,omitempty"` /// full-duplex enabled? - Autoneg bool `protobuf:"varint,4,opt,name=autoneg,proto3" json:"autoneg,omitempty"` /// auto-negotiated speed and duplex? - LinkUp bool `protobuf:"varint,5,opt,name=link_up,json=linkUp,proto3" json:"link_up,omitempty"` /// link up? + sizeCache protoimpl.SizeCache } func (x *GetLinkStatusResponse) Reset() { *x = GetLinkStatusResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetLinkStatusResponse) String() string { @@ -2008,7 +1917,7 @@ func (*GetLinkStatusResponse) ProtoMessage() {} func (x *GetLinkStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2059,21 +1968,18 @@ func (x *GetLinkStatusResponse) GetLinkUp() bool { } type ListMclassResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` /// List of module types unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` /// List of module types + sizeCache protoimpl.SizeCache } func (x *ListMclassResponse) Reset() { *x = ListMclassResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListMclassResponse) String() string { @@ -2084,7 +1990,7 @@ func (*ListMclassResponse) ProtoMessage() {} func (x *ListMclassResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2114,20 +2020,17 @@ func (x *ListMclassResponse) GetNames() []string { } type GetMclassInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module type unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module type + sizeCache protoimpl.SizeCache } func (x *GetMclassInfoRequest) Reset() { *x = GetMclassInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetMclassInfoRequest) String() string { @@ -2138,7 +2041,7 @@ func (*GetMclassInfoRequest) ProtoMessage() {} func (x *GetMclassInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2161,24 +2064,21 @@ func (x *GetMclassInfoRequest) GetName() string { } type GetMclassInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of module type + Help string `protobuf:"bytes,3,opt,name=help,proto3" json:"help,omitempty"` /// 1=line description of the module type + Cmds []string `protobuf:"bytes,4,rep,name=cmds,proto3" json:"cmds,omitempty"` /// List of commands supported by the module + CmdArgs []string `protobuf:"bytes,5,rep,name=cmd_args,json=cmdArgs,proto3" json:"cmd_args,omitempty"` /// Corresponding Protobuf message types unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of module type - Help string `protobuf:"bytes,3,opt,name=help,proto3" json:"help,omitempty"` /// 1=line description of the module type - Cmds []string `protobuf:"bytes,4,rep,name=cmds,proto3" json:"cmds,omitempty"` /// List of commands supported by the module - CmdArgs []string `protobuf:"bytes,5,rep,name=cmd_args,json=cmdArgs,proto3" json:"cmd_args,omitempty"` /// Corresponding Protobuf message types + sizeCache protoimpl.SizeCache } func (x *GetMclassInfoResponse) Reset() { *x = GetMclassInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetMclassInfoResponse) String() string { @@ -2189,7 +2089,7 @@ func (*GetMclassInfoResponse) ProtoMessage() {} func (x *GetMclassInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2240,21 +2140,18 @@ func (x *GetMclassInfoResponse) GetCmdArgs() []string { } type ListModulesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Modules []*ListModulesResponse_Module `protobuf:"bytes,2,rep,name=modules,proto3" json:"modules,omitempty"` /// List of all existing modules unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Modules []*ListModulesResponse_Module `protobuf:"bytes,2,rep,name=modules,proto3" json:"modules,omitempty"` /// List of all existing modules + sizeCache protoimpl.SizeCache } func (x *ListModulesResponse) Reset() { *x = ListModulesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListModulesResponse) String() string { @@ -2265,7 +2162,7 @@ func (*ListModulesResponse) ProtoMessage() {} func (x *ListModulesResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2295,28 +2192,25 @@ func (x *ListModulesResponse) GetModules() []*ListModulesResponse_Module { } type CreateModuleRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - /// Name of the module to create. Every module must have a unique name. - /// If not specified, a default name will be assigned - /// (returned via CreateModuleResponse for future reference). + state protoimpl.MessageState `protogen:"open.v1"` + // / Name of the module to create. Every module must have a unique name. + // / If not specified, a default name will be assigned + // / (returned via CreateModuleResponse for future reference). Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - /// Name of module type. Must be specified. + // / Name of module type. Must be specified. Mclass string `protobuf:"bytes,2,opt,name=mclass,proto3" json:"mclass,omitempty"` - /// Protobuf message to be used for module initialization. - /// See module_msg.proto for the argument message types. - Arg *any1.Any `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` + // / Protobuf message to be used for module initialization. + // / See module_msg.proto for the argument message types. + Arg *anypb.Any `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CreateModuleRequest) Reset() { *x = CreateModuleRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CreateModuleRequest) String() string { @@ -2327,7 +2221,7 @@ func (*CreateModuleRequest) ProtoMessage() {} func (x *CreateModuleRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2356,7 +2250,7 @@ func (x *CreateModuleRequest) GetMclass() string { return "" } -func (x *CreateModuleRequest) GetArg() *any1.Any { +func (x *CreateModuleRequest) GetArg() *anypb.Any { if x != nil { return x.Arg } @@ -2364,21 +2258,18 @@ func (x *CreateModuleRequest) GetArg() *any1.Any { } type CreateModuleResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of the created module (specified or default one) unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of the created module (specified or default one) + sizeCache protoimpl.SizeCache } func (x *CreateModuleResponse) Reset() { *x = CreateModuleResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CreateModuleResponse) String() string { @@ -2389,7 +2280,7 @@ func (*CreateModuleResponse) ProtoMessage() {} func (x *CreateModuleResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2419,20 +2310,17 @@ func (x *CreateModuleResponse) GetName() string { } type DestroyModuleRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module to remove unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module to remove + sizeCache protoimpl.SizeCache } func (x *DestroyModuleRequest) Reset() { *x = DestroyModuleRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DestroyModuleRequest) String() string { @@ -2443,7 +2331,7 @@ func (*DestroyModuleRequest) ProtoMessage() {} func (x *DestroyModuleRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2466,20 +2354,17 @@ func (x *DestroyModuleRequest) GetName() string { } type GetModuleInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module to query unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module to query + sizeCache protoimpl.SizeCache } func (x *GetModuleInfoRequest) Reset() { *x = GetModuleInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetModuleInfoRequest) String() string { @@ -2490,7 +2375,7 @@ func (*GetModuleInfoRequest) ProtoMessage() {} func (x *GetModuleInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2513,27 +2398,24 @@ func (x *GetModuleInfoRequest) GetName() string { } type GetModuleInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of module + Mclass string `protobuf:"bytes,3,opt,name=mclass,proto3" json:"mclass,omitempty"` /// Module type + Desc string `protobuf:"bytes,4,opt,name=desc,proto3" json:"desc,omitempty"` /// Current status of module as a short, 1-line string + Igates []*GetModuleInfoResponse_IGate `protobuf:"bytes,6,rep,name=igates,proto3" json:"igates,omitempty"` /// List of connected input gates + Ogates []*GetModuleInfoResponse_OGate `protobuf:"bytes,7,rep,name=ogates,proto3" json:"ogates,omitempty"` /// List of connected output gates + Metadata []*GetModuleInfoResponse_Attribute `protobuf:"bytes,8,rep,name=metadata,proto3" json:"metadata,omitempty"` /// List of metadata used by the module + Deadends uint64 `protobuf:"varint,9,opt,name=deadends,proto3" json:"deadends,omitempty"` /// Number of packets deadended or explicitly dropped by this module unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of module - Mclass string `protobuf:"bytes,3,opt,name=mclass,proto3" json:"mclass,omitempty"` /// Module type - Desc string `protobuf:"bytes,4,opt,name=desc,proto3" json:"desc,omitempty"` /// Current status of module as a short, 1-line string - Igates []*GetModuleInfoResponse_IGate `protobuf:"bytes,6,rep,name=igates,proto3" json:"igates,omitempty"` /// List of connected input gates - Ogates []*GetModuleInfoResponse_OGate `protobuf:"bytes,7,rep,name=ogates,proto3" json:"ogates,omitempty"` /// List of connected output gates - Metadata []*GetModuleInfoResponse_Attribute `protobuf:"bytes,8,rep,name=metadata,proto3" json:"metadata,omitempty"` /// List of metadata used by the module - Deadends uint64 `protobuf:"varint,9,opt,name=deadends,proto3" json:"deadends,omitempty"` /// Number of packets deadended or explicitly dropped by this module + sizeCache protoimpl.SizeCache } func (x *GetModuleInfoResponse) Reset() { *x = GetModuleInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetModuleInfoResponse) String() string { @@ -2544,7 +2426,7 @@ func (*GetModuleInfoResponse) ProtoMessage() {} func (x *GetModuleInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2616,26 +2498,23 @@ func (x *GetModuleInfoResponse) GetDeadends() uint64 { } type ConnectModulesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - M1 string `protobuf:"bytes,1,opt,name=m1,proto3" json:"m1,omitempty"` /// Name of "previous" module name - M2 string `protobuf:"bytes,2,opt,name=m2,proto3" json:"m2,omitempty"` /// name of "next" module name - Ogate uint64 `protobuf:"varint,3,opt,name=ogate,proto3" json:"ogate,omitempty"` /// m1's output gate ID - Igate uint64 `protobuf:"varint,4,opt,name=igate,proto3" json:"igate,omitempty"` /// m2's input gate ID - /// If true do not attach default hooks at the input/output gate. - /// (Currently, the only default hook is the "Track" hook at the ogate) + state protoimpl.MessageState `protogen:"open.v1"` + M1 string `protobuf:"bytes,1,opt,name=m1,proto3" json:"m1,omitempty"` /// Name of "previous" module name + M2 string `protobuf:"bytes,2,opt,name=m2,proto3" json:"m2,omitempty"` /// name of "next" module name + Ogate uint64 `protobuf:"varint,3,opt,name=ogate,proto3" json:"ogate,omitempty"` /// m1's output gate ID + Igate uint64 `protobuf:"varint,4,opt,name=igate,proto3" json:"igate,omitempty"` /// m2's input gate ID + // / If true do not attach default hooks at the input/output gate. + // / (Currently, the only default hook is the "Track" hook at the ogate) SkipDefaultHooks bool `protobuf:"varint,5,opt,name=skip_default_hooks,json=skipDefaultHooks,proto3" json:"skip_default_hooks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ConnectModulesRequest) Reset() { *x = ConnectModulesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ConnectModulesRequest) String() string { @@ -2646,7 +2525,7 @@ func (*ConnectModulesRequest) ProtoMessage() {} func (x *ConnectModulesRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2697,21 +2576,18 @@ func (x *ConnectModulesRequest) GetSkipDefaultHooks() bool { } type DisconnectModulesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of previous module + Ogate uint64 `protobuf:"varint,2,opt,name=ogate,proto3" json:"ogate,omitempty"` /// Output gate ID of previous module unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of previous module - Ogate uint64 `protobuf:"varint,2,opt,name=ogate,proto3" json:"ogate,omitempty"` /// Output gate ID of previous module + sizeCache protoimpl.SizeCache } func (x *DisconnectModulesRequest) Reset() { *x = DisconnectModulesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DisconnectModulesRequest) String() string { @@ -2722,7 +2598,7 @@ func (*DisconnectModulesRequest) ProtoMessage() {} func (x *DisconnectModulesRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2752,30 +2628,27 @@ func (x *DisconnectModulesRequest) GetOgate() uint64 { } type MempoolDump struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Socket int32 `protobuf:"varint,1,opt,name=socket,proto3" json:"socket,omitempty"` /// The socket this mempool belongs to - Initialized bool `protobuf:"varint,2,opt,name=initialized,proto3" json:"initialized,omitempty"` /// True when this mempool has been initialized - MpSize uint32 `protobuf:"varint,3,opt,name=mp_size,json=mpSize,proto3" json:"mp_size,omitempty"` /// The maximum size of this mempool - MpCacheSize uint32 `protobuf:"varint,4,opt,name=mp_cache_size,json=mpCacheSize,proto3" json:"mp_cache_size,omitempty"` /// Size of per-lcore default local cache. - MpElementSize uint32 `protobuf:"varint,5,opt,name=mp_element_size,json=mpElementSize,proto3" json:"mp_element_size,omitempty"` /// Size of one element - MpPopulatedSize uint32 `protobuf:"varint,6,opt,name=mp_populated_size,json=mpPopulatedSize,proto3" json:"mp_populated_size,omitempty"` /// Number of populated objects - MpAvailableCount uint32 `protobuf:"varint,7,opt,name=mp_available_count,json=mpAvailableCount,proto3" json:"mp_available_count,omitempty"` /// Number of entries in this mempool - MpInUseCount uint32 `protobuf:"varint,8,opt,name=mp_in_use_count,json=mpInUseCount,proto3" json:"mp_in_use_count,omitempty"` /// Number of elements which have been allocated from this mempool - RingCount uint32 `protobuf:"varint,9,opt,name=ring_count,json=ringCount,proto3" json:"ring_count,omitempty"` /// Number of entries in the backing ring - RingFreeCount uint32 `protobuf:"varint,10,opt,name=ring_free_count,json=ringFreeCount,proto3" json:"ring_free_count,omitempty"` /// Number of free entries in the backing ring - RingBytes uint64 `protobuf:"varint,11,opt,name=ring_bytes,json=ringBytes,proto3" json:"ring_bytes,omitempty"` /// Size of the backing ring in bytes + state protoimpl.MessageState `protogen:"open.v1"` + Socket int32 `protobuf:"varint,1,opt,name=socket,proto3" json:"socket,omitempty"` /// The socket this mempool belongs to + Initialized bool `protobuf:"varint,2,opt,name=initialized,proto3" json:"initialized,omitempty"` /// True when this mempool has been initialized + MpSize uint32 `protobuf:"varint,3,opt,name=mp_size,json=mpSize,proto3" json:"mp_size,omitempty"` /// The maximum size of this mempool + MpCacheSize uint32 `protobuf:"varint,4,opt,name=mp_cache_size,json=mpCacheSize,proto3" json:"mp_cache_size,omitempty"` /// Size of per-lcore default local cache. + MpElementSize uint32 `protobuf:"varint,5,opt,name=mp_element_size,json=mpElementSize,proto3" json:"mp_element_size,omitempty"` /// Size of one element + MpPopulatedSize uint32 `protobuf:"varint,6,opt,name=mp_populated_size,json=mpPopulatedSize,proto3" json:"mp_populated_size,omitempty"` /// Number of populated objects + MpAvailableCount uint32 `protobuf:"varint,7,opt,name=mp_available_count,json=mpAvailableCount,proto3" json:"mp_available_count,omitempty"` /// Number of entries in this mempool + MpInUseCount uint32 `protobuf:"varint,8,opt,name=mp_in_use_count,json=mpInUseCount,proto3" json:"mp_in_use_count,omitempty"` /// Number of elements which have been allocated from this mempool + RingCount uint32 `protobuf:"varint,9,opt,name=ring_count,json=ringCount,proto3" json:"ring_count,omitempty"` /// Number of entries in the backing ring + RingFreeCount uint32 `protobuf:"varint,10,opt,name=ring_free_count,json=ringFreeCount,proto3" json:"ring_free_count,omitempty"` /// Number of free entries in the backing ring + RingBytes uint64 `protobuf:"varint,11,opt,name=ring_bytes,json=ringBytes,proto3" json:"ring_bytes,omitempty"` /// Size of the backing ring in bytes + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MempoolDump) Reset() { *x = MempoolDump{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MempoolDump) String() string { @@ -2786,7 +2659,7 @@ func (*MempoolDump) ProtoMessage() {} func (x *MempoolDump) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2879,20 +2752,17 @@ func (x *MempoolDump) GetRingBytes() uint64 { } type DumpMempoolRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Socket int32 `protobuf:"varint,1,opt,name=socket,proto3" json:"socket,omitempty"` // ID of the socket whose mempool should be dumped. -1 for all sockets unknownFields protoimpl.UnknownFields - - Socket int32 `protobuf:"varint,1,opt,name=socket,proto3" json:"socket,omitempty"` // ID of the socket whose mempool should be dumped. -1 for all sockets + sizeCache protoimpl.SizeCache } func (x *DumpMempoolRequest) Reset() { *x = DumpMempoolRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DumpMempoolRequest) String() string { @@ -2903,7 +2773,7 @@ func (*DumpMempoolRequest) ProtoMessage() {} func (x *DumpMempoolRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2926,21 +2796,18 @@ func (x *DumpMempoolRequest) GetSocket() int32 { } type DumpMempoolResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Dumps []*MempoolDump `protobuf:"bytes,2,rep,name=dumps,proto3" json:"dumps,omitempty"` /// The list of requested mempool dumps unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Dumps []*MempoolDump `protobuf:"bytes,2,rep,name=dumps,proto3" json:"dumps,omitempty"` /// The list of requested mempool dumps + sizeCache protoimpl.SizeCache } func (x *DumpMempoolResponse) Reset() { *x = DumpMempoolResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DumpMempoolResponse) String() string { @@ -2951,7 +2818,7 @@ func (*DumpMempoolResponse) ProtoMessage() {} func (x *DumpMempoolResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2981,22 +2848,19 @@ func (x *DumpMempoolResponse) GetDumps() []*MempoolDump { } type CommandRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module/port/driver + Cmd string `protobuf:"bytes,2,opt,name=cmd,proto3" json:"cmd,omitempty"` /// Name of command + Arg *anypb.Any `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` /// Command argument unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module/port/driver - Cmd string `protobuf:"bytes,2,opt,name=cmd,proto3" json:"cmd,omitempty"` /// Name of command - Arg *any1.Any `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` /// Command argument + sizeCache protoimpl.SizeCache } func (x *CommandRequest) Reset() { *x = CommandRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommandRequest) String() string { @@ -3007,7 +2871,7 @@ func (*CommandRequest) ProtoMessage() {} func (x *CommandRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3036,7 +2900,7 @@ func (x *CommandRequest) GetCmd() string { return "" } -func (x *CommandRequest) GetArg() *any1.Any { +func (x *CommandRequest) GetArg() *anypb.Any { if x != nil { return x.Arg } @@ -3044,21 +2908,18 @@ func (x *CommandRequest) GetArg() *any1.Any { } type CommandResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Data *anypb.Any `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` /// Command response (see *_msg.proto) unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Data *any1.Any `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` /// Command response (see *_msg.proto) + sizeCache protoimpl.SizeCache } func (x *CommandResponse) Reset() { *x = CommandResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommandResponse) String() string { @@ -3069,7 +2930,7 @@ func (*CommandResponse) ProtoMessage() {} func (x *CommandResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3091,7 +2952,7 @@ func (x *CommandResponse) GetError() *Error { return nil } -func (x *CommandResponse) GetData() *any1.Any { +func (x *CommandResponse) GetData() *anypb.Any { if x != nil { return x.Data } @@ -3099,21 +2960,18 @@ func (x *CommandResponse) GetData() *any1.Any { } type ListGateHookClassResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` /// List of gatehook types unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` /// List of gatehook types + sizeCache protoimpl.SizeCache } func (x *ListGateHookClassResponse) Reset() { *x = ListGateHookClassResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListGateHookClassResponse) String() string { @@ -3124,7 +2982,7 @@ func (*ListGateHookClassResponse) ProtoMessage() {} func (x *ListGateHookClassResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3154,20 +3012,17 @@ func (x *ListGateHookClassResponse) GetNames() []string { } type GetGateHookClassInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of gatehook type unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of gatehook type + sizeCache protoimpl.SizeCache } func (x *GetGateHookClassInfoRequest) Reset() { *x = GetGateHookClassInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetGateHookClassInfoRequest) String() string { @@ -3178,7 +3033,7 @@ func (*GetGateHookClassInfoRequest) ProtoMessage() {} func (x *GetGateHookClassInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3201,24 +3056,21 @@ func (x *GetGateHookClassInfoRequest) GetName() string { } type GetGateHookClassInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of gatehook type + Help string `protobuf:"bytes,3,opt,name=help,proto3" json:"help,omitempty"` /// 1=line description of the gatehook type + Cmds []string `protobuf:"bytes,4,rep,name=cmds,proto3" json:"cmds,omitempty"` /// List of commands supported by the gatehook + CmdArgs []string `protobuf:"bytes,5,rep,name=cmd_args,json=cmdArgs,proto3" json:"cmd_args,omitempty"` /// Corresponding Protobuf message types unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of gatehook type - Help string `protobuf:"bytes,3,opt,name=help,proto3" json:"help,omitempty"` /// 1=line description of the gatehook type - Cmds []string `protobuf:"bytes,4,rep,name=cmds,proto3" json:"cmds,omitempty"` /// List of commands supported by the gatehook - CmdArgs []string `protobuf:"bytes,5,rep,name=cmd_args,json=cmdArgs,proto3" json:"cmd_args,omitempty"` /// Corresponding Protobuf message types + sizeCache protoimpl.SizeCache } func (x *GetGateHookClassInfoResponse) Reset() { *x = GetGateHookClassInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetGateHookClassInfoResponse) String() string { @@ -3229,7 +3081,7 @@ func (*GetGateHookClassInfoResponse) ProtoMessage() {} func (x *GetGateHookClassInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3279,28 +3131,25 @@ func (x *GetGateHookClassInfoResponse) GetCmdArgs() []string { return nil } -/// Enable/Disable the "Track" hook on a gate (or all gates) -/// -/// "Track" hook accumulates the number of total packets, batches and bits -/// passing through a gate. This incurs some amount of CPU overheads. While -/// the cost is very small, remember that the delay adds up at every gate. -/// -/// NOTE: There should be no running worker to run this command. +// / Enable/Disable the "Track" hook on a gate (or all gates) +// / +// / "Track" hook accumulates the number of total packets, batches and bits +// / passing through a gate. This incurs some amount of CPU overheads. While +// / the cost is very small, remember that the delay adds up at every gate. +// / +// / NOTE: There should be no running worker to run this command. type TrackArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bits bool `protobuf:"varint,5,opt,name=bits,proto3" json:"bits,omitempty"` /// Tracks bits too if True, else only packets and batches unknownFields protoimpl.UnknownFields - - Bits bool `protobuf:"varint,5,opt,name=bits,proto3" json:"bits,omitempty"` /// Tracks bits too if True, else only packets and batches + sizeCache protoimpl.SizeCache } func (x *TrackArg) Reset() { *x = TrackArg{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TrackArg) String() string { @@ -3311,7 +3160,7 @@ func (*TrackArg) ProtoMessage() {} func (x *TrackArg) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3333,31 +3182,28 @@ func (x *TrackArg) GetBits() bool { return false } -/// Enable/Disable tcpdump tapping at an input/output gate. -/// -/// Once the tap is installed, all packets going through the gate will be -/// captured and sent in PCAP format to the specified named pipe (FIFO). -/// Thus you can run `tcpdump -r ` or save the stream in a file. -/// This feature may affect performance. -/// -/// NOTE: There should be no running worker to run this command. +// / Enable/Disable tcpdump tapping at an input/output gate. +// / +// / Once the tap is installed, all packets going through the gate will be +// / captured and sent in PCAP format to the specified named pipe (FIFO). +// / Thus you can run `tcpdump -r ` or save the stream in a file. +// / This feature may affect performance. +// / +// / NOTE: There should be no running worker to run this command. type TcpdumpArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fifo string `protobuf:"bytes,5,opt,name=fifo,proto3" json:"fifo,omitempty"` /// Path to the FIFO file. + Defer bool `protobuf:"varint,6,opt,name=defer,proto3" json:"defer,omitempty"` /// If set, we'll defer opening the FIFO. + Reconnect bool `protobuf:"varint,7,opt,name=reconnect,proto3" json:"reconnect,omitempty"` /// If set, we'll reconnect after failure. unknownFields protoimpl.UnknownFields - - Fifo string `protobuf:"bytes,5,opt,name=fifo,proto3" json:"fifo,omitempty"` /// Path to the FIFO file. - Defer bool `protobuf:"varint,6,opt,name=defer,proto3" json:"defer,omitempty"` /// If set, we'll defer opening the FIFO. - Reconnect bool `protobuf:"varint,7,opt,name=reconnect,proto3" json:"reconnect,omitempty"` /// If set, we'll reconnect after failure. + sizeCache protoimpl.SizeCache } func (x *TcpdumpArg) Reset() { *x = TcpdumpArg{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TcpdumpArg) String() string { @@ -3368,7 +3214,7 @@ func (*TcpdumpArg) ProtoMessage() {} func (x *TcpdumpArg) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3404,33 +3250,30 @@ func (x *TcpdumpArg) GetReconnect() bool { return false } -/// Enable/Disable pcapng tapping at an input/output gate. -/// -/// Once the tap is installed, all packets going through the gate will be -/// captured and sent in pcapng format to the specified named pipe (FIFO). -/// Unlike the Tcpdump hook, this also dumps a textual metadata representation, -/// in the form of a comment to the Enhanced Packet Block. Thus you can run -/// `tcpdump -r ` or save the stream in a file. -/// This feature may affect performance. -/// -/// NOTE: There should be no running worker to run this command. +// / Enable/Disable pcapng tapping at an input/output gate. +// / +// / Once the tap is installed, all packets going through the gate will be +// / captured and sent in pcapng format to the specified named pipe (FIFO). +// / Unlike the Tcpdump hook, this also dumps a textual metadata representation, +// / in the form of a comment to the Enhanced Packet Block. Thus you can run +// / `tcpdump -r ` or save the stream in a file. +// / This feature may affect performance. +// / +// / NOTE: There should be no running worker to run this command. type PcapngArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fifo string `protobuf:"bytes,5,opt,name=fifo,proto3" json:"fifo,omitempty"` /// Path to the FIFO file. + Defer bool `protobuf:"varint,6,opt,name=defer,proto3" json:"defer,omitempty"` /// If set, we'll defer opening the FIFO. + Reconnect bool `protobuf:"varint,7,opt,name=reconnect,proto3" json:"reconnect,omitempty"` /// If set, we'll reconnect after failure. unknownFields protoimpl.UnknownFields - - Fifo string `protobuf:"bytes,5,opt,name=fifo,proto3" json:"fifo,omitempty"` /// Path to the FIFO file. - Defer bool `protobuf:"varint,6,opt,name=defer,proto3" json:"defer,omitempty"` /// If set, we'll defer opening the FIFO. - Reconnect bool `protobuf:"varint,7,opt,name=reconnect,proto3" json:"reconnect,omitempty"` /// If set, we'll reconnect after failure. + sizeCache protoimpl.SizeCache } func (x *PcapngArg) Reset() { *x = PcapngArg{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PcapngArg) String() string { @@ -3441,7 +3284,7 @@ func (*PcapngArg) ProtoMessage() {} func (x *PcapngArg) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3478,27 +3321,25 @@ func (x *PcapngArg) GetReconnect() bool { } type GateHookInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClassName string `protobuf:"bytes,1,opt,name=class_name,json=className,proto3" json:"class_name,omitempty"` /// Name of the hook class - HookName string `protobuf:"bytes,2,opt,name=hook_name,json=hookName,proto3" json:"hook_name,omitempty"` /// Name of the hook - ModuleName string `protobuf:"bytes,3,opt,name=module_name,json=moduleName,proto3" json:"module_name,omitempty"` /// Name of module - // Types that are assignable to Gate: + state protoimpl.MessageState `protogen:"open.v1"` + ClassName string `protobuf:"bytes,1,opt,name=class_name,json=className,proto3" json:"class_name,omitempty"` /// Name of the hook class + HookName string `protobuf:"bytes,2,opt,name=hook_name,json=hookName,proto3" json:"hook_name,omitempty"` /// Name of the hook + ModuleName string `protobuf:"bytes,3,opt,name=module_name,json=moduleName,proto3" json:"module_name,omitempty"` /// Name of module + // Types that are valid to be assigned to Gate: + // // *GateHookInfo_Igate // *GateHookInfo_Ogate - Gate isGateHookInfo_Gate `protobuf_oneof:"gate"` - Arg *any1.Any `protobuf:"bytes,6,opt,name=arg,proto3" json:"arg,omitempty"` /// Hook-specific arguments + Gate isGateHookInfo_Gate `protobuf_oneof:"gate"` + Arg *anypb.Any `protobuf:"bytes,6,opt,name=arg,proto3" json:"arg,omitempty"` /// Hook-specific arguments + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GateHookInfo) Reset() { *x = GateHookInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GateHookInfo) String() string { @@ -3509,7 +3350,7 @@ func (*GateHookInfo) ProtoMessage() {} func (x *GateHookInfo) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3545,28 +3386,32 @@ func (x *GateHookInfo) GetModuleName() string { return "" } -func (m *GateHookInfo) GetGate() isGateHookInfo_Gate { - if m != nil { - return m.Gate +func (x *GateHookInfo) GetGate() isGateHookInfo_Gate { + if x != nil { + return x.Gate } return nil } func (x *GateHookInfo) GetIgate() int64 { - if x, ok := x.GetGate().(*GateHookInfo_Igate); ok { - return x.Igate + if x != nil { + if x, ok := x.Gate.(*GateHookInfo_Igate); ok { + return x.Igate + } } return 0 } func (x *GateHookInfo) GetOgate() int64 { - if x, ok := x.GetGate().(*GateHookInfo_Ogate); ok { - return x.Ogate + if x != nil { + if x, ok := x.Gate.(*GateHookInfo_Ogate); ok { + return x.Ogate + } } return 0 } -func (x *GateHookInfo) GetArg() *any1.Any { +func (x *GateHookInfo) GetArg() *anypb.Any { if x != nil { return x.Arg } @@ -3590,21 +3435,18 @@ func (*GateHookInfo_Igate) isGateHookInfo_Gate() {} func (*GateHookInfo_Ogate) isGateHookInfo_Gate() {} type ConfigureGateHookRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Hook *GateHookInfo `protobuf:"bytes,1,opt,name=hook,proto3" json:"hook,omitempty"` + Enable bool `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"` unknownFields protoimpl.UnknownFields - - Hook *GateHookInfo `protobuf:"bytes,1,opt,name=hook,proto3" json:"hook,omitempty"` - Enable bool `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ConfigureGateHookRequest) Reset() { *x = ConfigureGateHookRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ConfigureGateHookRequest) String() string { @@ -3615,7 +3457,7 @@ func (*ConfigureGateHookRequest) ProtoMessage() {} func (x *ConfigureGateHookRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3645,21 +3487,18 @@ func (x *ConfigureGateHookRequest) GetEnable() bool { } type ConfigureGateHookResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of the created gatehook (specified or default one) unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of the created gatehook (specified or default one) + sizeCache protoimpl.SizeCache } func (x *ConfigureGateHookResponse) Reset() { *x = ConfigureGateHookResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ConfigureGateHookResponse) String() string { @@ -3670,7 +3509,7 @@ func (*ConfigureGateHookResponse) ProtoMessage() {} func (x *ConfigureGateHookResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3700,21 +3539,18 @@ func (x *ConfigureGateHookResponse) GetName() string { } type ListGateHooksResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + Hooks []*GateHookInfo `protobuf:"bytes,2,rep,name=hooks,proto3" json:"hooks,omitempty"` unknownFields protoimpl.UnknownFields - - Error *Error `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - Hooks []*GateHookInfo `protobuf:"bytes,2,rep,name=hooks,proto3" json:"hooks,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ListGateHooksResponse) Reset() { *x = ListGateHooksResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListGateHooksResponse) String() string { @@ -3725,7 +3561,7 @@ func (*ListGateHooksResponse) ProtoMessage() {} func (x *ListGateHooksResponse) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3755,21 +3591,18 @@ func (x *ListGateHooksResponse) GetHooks() []*GateHookInfo { } type GateHookCommandRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Hook *GateHookInfo `protobuf:"bytes,1,opt,name=hook,proto3" json:"hook,omitempty"` // N.B.: this includes the command argument + Cmd string `protobuf:"bytes,2,opt,name=cmd,proto3" json:"cmd,omitempty"` unknownFields protoimpl.UnknownFields - - Hook *GateHookInfo `protobuf:"bytes,1,opt,name=hook,proto3" json:"hook,omitempty"` // N.B.: this includes the command argument - Cmd string `protobuf:"bytes,2,opt,name=cmd,proto3" json:"cmd,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GateHookCommandRequest) Reset() { *x = GateHookCommandRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GateHookCommandRequest) String() string { @@ -3780,7 +3613,7 @@ func (*GateHookCommandRequest) ProtoMessage() {} func (x *GateHookCommandRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3811,22 +3644,19 @@ func (x *GateHookCommandRequest) GetCmd() string { // Enable/Disable a global ResumeHook. type ConfigureResumeHookRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + HookName string `protobuf:"bytes,1,opt,name=hook_name,json=hookName,proto3" json:"hook_name,omitempty"` /// Name of the hook + Enable bool `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"` /// Installs the hook if True, else uninstalls + Arg *anypb.Any `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` /// Hook-specific arguments unknownFields protoimpl.UnknownFields - - HookName string `protobuf:"bytes,1,opt,name=hook_name,json=hookName,proto3" json:"hook_name,omitempty"` /// Name of the hook - Enable bool `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"` /// Installs the hook if True, else uninstalls - Arg *any1.Any `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` /// Hook-specific arguments + sizeCache protoimpl.SizeCache } func (x *ConfigureResumeHookRequest) Reset() { *x = ConfigureResumeHookRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ConfigureResumeHookRequest) String() string { @@ -3837,7 +3667,7 @@ func (*ConfigureResumeHookRequest) ProtoMessage() {} func (x *ConfigureResumeHookRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3866,7 +3696,7 @@ func (x *ConfigureResumeHookRequest) GetEnable() bool { return false } -func (x *ConfigureResumeHookRequest) GetArg() *any1.Any { +func (x *ConfigureResumeHookRequest) GetArg() *anypb.Any { if x != nil { return x.Arg } @@ -3874,20 +3704,17 @@ func (x *ConfigureResumeHookRequest) GetArg() *any1.Any { } type PauseWorkerRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// ID of the worker to be paused unknownFields protoimpl.UnknownFields - - Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// ID of the worker to be paused + sizeCache protoimpl.SizeCache } func (x *PauseWorkerRequest) Reset() { *x = PauseWorkerRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PauseWorkerRequest) String() string { @@ -3898,7 +3725,7 @@ func (*PauseWorkerRequest) ProtoMessage() {} func (x *PauseWorkerRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3921,20 +3748,17 @@ func (x *PauseWorkerRequest) GetWid() int64 { } type ResumeWorkerRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// ID of the worker to be resumed unknownFields protoimpl.UnknownFields - - Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// ID of the worker to be resumed + sizeCache protoimpl.SizeCache } func (x *ResumeWorkerRequest) Reset() { *x = ResumeWorkerRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ResumeWorkerRequest) String() string { @@ -3945,7 +3769,7 @@ func (*ResumeWorkerRequest) ProtoMessage() {} func (x *ResumeWorkerRequest) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3968,28 +3792,25 @@ func (x *ResumeWorkerRequest) GetWid() int64 { } type ListWorkersResponse_WorkerStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// Worker ID, starting from 0 - Core int64 `protobuf:"varint,2,opt,name=core,proto3" json:"core,omitempty"` /// CPU core ID on which the worker is pinned - Running bool `protobuf:"varint,3,opt,name=running,proto3" json:"running,omitempty"` /// True if running, otherwise False. - /// Number of traffic classes running on the worker + state protoimpl.MessageState `protogen:"open.v1"` + Wid int64 `protobuf:"varint,1,opt,name=wid,proto3" json:"wid,omitempty"` /// Worker ID, starting from 0 + Core int64 `protobuf:"varint,2,opt,name=core,proto3" json:"core,omitempty"` /// CPU core ID on which the worker is pinned + Running bool `protobuf:"varint,3,opt,name=running,proto3" json:"running,omitempty"` /// True if running, otherwise False. + // / Number of traffic classes running on the worker NumTcs int64 `protobuf:"varint,4,opt,name=num_tcs,json=numTcs,proto3" json:"num_tcs,omitempty"` - /// Total number of packets that have been silently dropped on the worker. - /// Silent drops happen when a module transmit packets via disconnected - /// output gates. - SilentDrops int64 `protobuf:"varint,5,opt,name=silent_drops,json=silentDrops,proto3" json:"silent_drops,omitempty"` + // / Total number of packets that have been silently dropped on the worker. + // / Silent drops happen when a module transmit packets via disconnected + // / output gates. + SilentDrops int64 `protobuf:"varint,5,opt,name=silent_drops,json=silentDrops,proto3" json:"silent_drops,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ListWorkersResponse_WorkerStatus) Reset() { *x = ListWorkersResponse_WorkerStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListWorkersResponse_WorkerStatus) String() string { @@ -4000,7 +3821,7 @@ func (*ListWorkersResponse_WorkerStatus) ProtoMessage() {} func (x *ListWorkersResponse_WorkerStatus) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4051,21 +3872,18 @@ func (x *ListWorkersResponse_WorkerStatus) GetSilentDrops() int64 { } type ListTcsResponse_TrafficClassStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Class *TrafficClass `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"` + Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` /// Name of its parent TC unknownFields protoimpl.UnknownFields - - Class *TrafficClass `protobuf:"bytes,1,opt,name=class,proto3" json:"class,omitempty"` - Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` /// Name of its parent TC + sizeCache protoimpl.SizeCache } func (x *ListTcsResponse_TrafficClassStatus) Reset() { *x = ListTcsResponse_TrafficClassStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListTcsResponse_TrafficClassStatus) String() string { @@ -4076,7 +3894,7 @@ func (*ListTcsResponse_TrafficClassStatus) ProtoMessage() {} func (x *ListTcsResponse_TrafficClassStatus) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4106,23 +3924,20 @@ func (x *ListTcsResponse_TrafficClassStatus) GetParent() string { } type CheckSchedulingConstraintsResponse_ViolatingClass struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Constraint int32 `protobuf:"varint,2,opt,name=constraint,proto3" json:"constraint,omitempty"` + AssignedNode int32 `protobuf:"varint,3,opt,name=assigned_node,json=assignedNode,proto3" json:"assigned_node,omitempty"` + AssignedCore int32 `protobuf:"varint,4,opt,name=assigned_core,json=assignedCore,proto3" json:"assigned_core,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Constraint int32 `protobuf:"varint,2,opt,name=constraint,proto3" json:"constraint,omitempty"` - AssignedNode int32 `protobuf:"varint,3,opt,name=assigned_node,json=assignedNode,proto3" json:"assigned_node,omitempty"` - AssignedCore int32 `protobuf:"varint,4,opt,name=assigned_core,json=assignedCore,proto3" json:"assigned_core,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CheckSchedulingConstraintsResponse_ViolatingClass) Reset() { *x = CheckSchedulingConstraintsResponse_ViolatingClass{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CheckSchedulingConstraintsResponse_ViolatingClass) String() string { @@ -4133,7 +3948,7 @@ func (*CheckSchedulingConstraintsResponse_ViolatingClass) ProtoMessage() {} func (x *CheckSchedulingConstraintsResponse_ViolatingClass) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4177,20 +3992,17 @@ func (x *CheckSchedulingConstraintsResponse_ViolatingClass) GetAssignedCore() in } type CheckSchedulingConstraintsResponse_ViolatingModule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CheckSchedulingConstraintsResponse_ViolatingModule) Reset() { *x = CheckSchedulingConstraintsResponse_ViolatingModule{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CheckSchedulingConstraintsResponse_ViolatingModule) String() string { @@ -4201,7 +4013,7 @@ func (*CheckSchedulingConstraintsResponse_ViolatingModule) ProtoMessage() {} func (x *CheckSchedulingConstraintsResponse_ViolatingModule) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4224,32 +4036,30 @@ func (x *CheckSchedulingConstraintsResponse_ViolatingModule) GetName() string { } type ListPortsResponse_Port struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port - Driver string `protobuf:"bytes,2,opt,name=driver,proto3" json:"driver,omitempty"` /// Name of port driver. - MacAddr string `protobuf:"bytes,3,opt,name=mac_addr,json=macAddr,proto3" json:"mac_addr,omitempty"` /// MAC address of the port - /// Number of incoming/RX queues (Ext -> BESS). + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of port + Driver string `protobuf:"bytes,2,opt,name=driver,proto3" json:"driver,omitempty"` /// Name of port driver. + MacAddr string `protobuf:"bytes,3,opt,name=mac_addr,json=macAddr,proto3" json:"mac_addr,omitempty"` /// MAC address of the port + // / Number of incoming/RX queues (Ext -> BESS). NumIncQ uint64 `protobuf:"varint,4,opt,name=num_inc_q,json=numIncQ,proto3" json:"num_inc_q,omitempty"` - /// Number of outgoind/TX queues (BESS -> Ext). + // / Number of outgoind/TX queues (BESS -> Ext). NumOutQ uint64 `protobuf:"varint,5,opt,name=num_out_q,json=numOutQ,proto3" json:"num_out_q,omitempty"` - /// Size of each incoming queue (# of packets). + // / Size of each incoming queue (# of packets). SizeIncQ uint64 `protobuf:"varint,6,opt,name=size_inc_q,json=sizeIncQ,proto3" json:"size_inc_q,omitempty"` - /// Size of each incoming queue (# of packets). + // / Size of each incoming queue (# of packets). SizeOutQ uint64 `protobuf:"varint,7,opt,name=size_out_q,json=sizeOutQ,proto3" json:"size_out_q,omitempty"` - /// Driver specific argument that was used for port initialization. See port_msg.proto - DriverArg *any1.Any `protobuf:"bytes,8,opt,name=driver_arg,json=driverArg,proto3" json:"driver_arg,omitempty"` + // / Driver specific argument that was used for port initialization. See + // / port_msg.proto + DriverArg *anypb.Any `protobuf:"bytes,8,opt,name=driver_arg,json=driverArg,proto3" json:"driver_arg,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ListPortsResponse_Port) Reset() { *x = ListPortsResponse_Port{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListPortsResponse_Port) String() string { @@ -4260,7 +4070,7 @@ func (*ListPortsResponse_Port) ProtoMessage() {} func (x *ListPortsResponse_Port) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4324,7 +4134,7 @@ func (x *ListPortsResponse_Port) GetSizeOutQ() uint64 { return 0 } -func (x *ListPortsResponse_Port) GetDriverArg() *any1.Any { +func (x *ListPortsResponse_Port) GetDriverArg() *anypb.Any { if x != nil { return x.DriverArg } @@ -4332,20 +4142,17 @@ func (x *ListPortsResponse_Port) GetDriverArg() *any1.Any { } type GetPortStatsResponse_Stat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - /// Number of objects that have been successfully sent/received. - /// All counters shows the accumulated value since port initialization. + state protoimpl.MessageState `protogen:"open.v1"` + // / Number of objects that have been successfully sent/received. + // / All counters shows the accumulated value since port initialization. Packets uint64 `protobuf:"varint,1,opt,name=packets,proto3" json:"packets,omitempty"` - /// Number of dropped packets. - /// For incoming direction, it implies BESS is not picking up fast enough. - /// For outgoing direction, non-zero drop counter indicates that the "peer" - /// of this port is the performance bottleneck: namely, VMs/containers/apps - /// for virtual ports, or PCIe/NIC/link for physical port. + // / Number of dropped packets. + // / For incoming direction, it implies BESS is not picking up fast enough. + // / For outgoing direction, non-zero drop counter indicates that the "peer" + // / of this port is the performance bottleneck: namely, VMs/containers/apps + // / for virtual ports, or PCIe/NIC/link for physical port. Dropped uint64 `protobuf:"varint,2,opt,name=dropped,proto3" json:"dropped,omitempty"` - /// Total number of bytes, not including Frame CRC or Ethernet overheads + // / Total number of bytes, not including Frame CRC or Ethernet overheads Bytes uint64 `protobuf:"varint,3,opt,name=bytes,proto3" json:"bytes,omitempty"` // Histogram of how many times a given number of packets in a batch was // requested. @@ -4355,16 +4162,16 @@ type GetPortStatsResponse_Stat struct { ActualHist []uint64 `protobuf:"varint,5,rep,packed,name=actual_hist,json=actualHist,proto3" json:"actual_hist,omitempty"` // Histogram of the difference between the requested batch size and the // actual number of packets processed in that batch. - DiffHist []uint64 `protobuf:"varint,6,rep,packed,name=diff_hist,json=diffHist,proto3" json:"diff_hist,omitempty"` + DiffHist []uint64 `protobuf:"varint,6,rep,packed,name=diff_hist,json=diffHist,proto3" json:"diff_hist,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetPortStatsResponse_Stat) Reset() { *x = GetPortStatsResponse_Stat{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetPortStatsResponse_Stat) String() string { @@ -4375,7 +4182,7 @@ func (*GetPortStatsResponse_Stat) ProtoMessage() {} func (x *GetPortStatsResponse_Stat) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4433,22 +4240,19 @@ func (x *GetPortStatsResponse_Stat) GetDiffHist() []uint64 { } type ListModulesResponse_Module struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module + Mclass string `protobuf:"bytes,2,opt,name=mclass,proto3" json:"mclass,omitempty"` /// Module type + Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` /// Current status of module as a short, 1-line string unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of module - Mclass string `protobuf:"bytes,2,opt,name=mclass,proto3" json:"mclass,omitempty"` /// Module type - Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` /// Current status of module as a short, 1-line string + sizeCache protoimpl.SizeCache } func (x *ListModulesResponse_Module) Reset() { *x = ListModulesResponse_Module{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ListModulesResponse_Module) String() string { @@ -4459,7 +4263,7 @@ func (*ListModulesResponse_Module) ProtoMessage() {} func (x *ListModulesResponse_Module) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4496,21 +4300,18 @@ func (x *ListModulesResponse_Module) GetDesc() string { } type GetModuleInfoResponse_GateHook struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ClassName string `protobuf:"bytes,1,opt,name=class_name,json=className,proto3" json:"class_name,omitempty"` /// gate hook class_name and + HookName string `protobuf:"bytes,2,opt,name=hook_name,json=hookName,proto3" json:"hook_name,omitempty"` /// gate hook name unknownFields protoimpl.UnknownFields - - ClassName string `protobuf:"bytes,1,opt,name=class_name,json=className,proto3" json:"class_name,omitempty"` /// gate hook class_name and - HookName string `protobuf:"bytes,2,opt,name=hook_name,json=hookName,proto3" json:"hook_name,omitempty"` /// gate hook name + sizeCache protoimpl.SizeCache } func (x *GetModuleInfoResponse_GateHook) Reset() { *x = GetModuleInfoResponse_GateHook{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetModuleInfoResponse_GateHook) String() string { @@ -4521,7 +4322,7 @@ func (*GetModuleInfoResponse_GateHook) ProtoMessage() {} func (x *GetModuleInfoResponse_GateHook) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4551,26 +4352,23 @@ func (x *GetModuleInfoResponse_GateHook) GetHookName() string { } type GetModuleInfoResponse_IGate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Igate uint64 `protobuf:"varint,1,opt,name=igate,proto3" json:"igate,omitempty"` /// Input gate ID + Ogates []*GetModuleInfoResponse_IGate_OGate `protobuf:"bytes,2,rep,name=ogates,proto3" json:"ogates,omitempty"` /// The list of upstream output gates + Cnt uint64 `protobuf:"varint,3,opt,name=cnt,proto3" json:"cnt,omitempty"` /// # of packet batches seen + Pkts uint64 `protobuf:"varint,4,opt,name=pkts,proto3" json:"pkts,omitempty"` /// # of packets seen + Bytes uint64 `protobuf:"varint,5,opt,name=bytes,proto3" json:"bytes,omitempty"` /// # of bytes seen + Timestamp float64 `protobuf:"fixed64,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// The time that cnt/pkts counters were read + Gatehooks []*GetModuleInfoResponse_GateHook `protobuf:"bytes,8,rep,name=gatehooks,proto3" json:"gatehooks,omitempty"` /// List of gate hook unknownFields protoimpl.UnknownFields - - Igate uint64 `protobuf:"varint,1,opt,name=igate,proto3" json:"igate,omitempty"` /// Input gate ID - Ogates []*GetModuleInfoResponse_IGate_OGate `protobuf:"bytes,2,rep,name=ogates,proto3" json:"ogates,omitempty"` /// The list of upstream output gates - Cnt uint64 `protobuf:"varint,3,opt,name=cnt,proto3" json:"cnt,omitempty"` /// # of packet batches seen - Pkts uint64 `protobuf:"varint,4,opt,name=pkts,proto3" json:"pkts,omitempty"` /// # of packets seen - Bytes uint64 `protobuf:"varint,5,opt,name=bytes,proto3" json:"bytes,omitempty"` /// # of bytes seen - Timestamp float64 `protobuf:"fixed64,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// The time that cnt/pkts counters were read - Gatehooks []*GetModuleInfoResponse_GateHook `protobuf:"bytes,8,rep,name=gatehooks,proto3" json:"gatehooks,omitempty"` /// List of gate hook + sizeCache protoimpl.SizeCache } func (x *GetModuleInfoResponse_IGate) Reset() { *x = GetModuleInfoResponse_IGate{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetModuleInfoResponse_IGate) String() string { @@ -4581,7 +4379,7 @@ func (*GetModuleInfoResponse_IGate) ProtoMessage() {} func (x *GetModuleInfoResponse_IGate) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4646,27 +4444,24 @@ func (x *GetModuleInfoResponse_IGate) GetGatehooks() []*GetModuleInfoResponse_Ga } type GetModuleInfoResponse_OGate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ogate uint64 `protobuf:"varint,1,opt,name=ogate,proto3" json:"ogate,omitempty"` /// Output gate ID + Cnt uint64 `protobuf:"varint,2,opt,name=cnt,proto3" json:"cnt,omitempty"` /// # of packet batches seen + Pkts uint64 `protobuf:"varint,3,opt,name=pkts,proto3" json:"pkts,omitempty"` /// # of packets seen + Bytes uint64 `protobuf:"varint,4,opt,name=bytes,proto3" json:"bytes,omitempty"` /// # of bytes seen + Timestamp float64 `protobuf:"fixed64,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// The time thatcnt/pkts counters were read + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` /// Name of the "next" module it connects to + Igate uint64 `protobuf:"varint,7,opt,name=igate,proto3" json:"igate,omitempty"` /// Input gate ID of the "next" module + Gatehooks []*GetModuleInfoResponse_GateHook `protobuf:"bytes,9,rep,name=gatehooks,proto3" json:"gatehooks,omitempty"` /// List of gate hook unknownFields protoimpl.UnknownFields - - Ogate uint64 `protobuf:"varint,1,opt,name=ogate,proto3" json:"ogate,omitempty"` /// Output gate ID - Cnt uint64 `protobuf:"varint,2,opt,name=cnt,proto3" json:"cnt,omitempty"` /// # of packet batches seen - Pkts uint64 `protobuf:"varint,3,opt,name=pkts,proto3" json:"pkts,omitempty"` /// # of packets seen - Bytes uint64 `protobuf:"varint,4,opt,name=bytes,proto3" json:"bytes,omitempty"` /// # of bytes seen - Timestamp float64 `protobuf:"fixed64,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// The time thatcnt/pkts counters were read - Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` /// Name of the "next" module it connects to - Igate uint64 `protobuf:"varint,7,opt,name=igate,proto3" json:"igate,omitempty"` /// Input gate ID of the "next" module - Gatehooks []*GetModuleInfoResponse_GateHook `protobuf:"bytes,9,rep,name=gatehooks,proto3" json:"gatehooks,omitempty"` /// List of gate hook + sizeCache protoimpl.SizeCache } func (x *GetModuleInfoResponse_OGate) Reset() { *x = GetModuleInfoResponse_OGate{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetModuleInfoResponse_OGate) String() string { @@ -4677,7 +4472,7 @@ func (*GetModuleInfoResponse_OGate) ProtoMessage() {} func (x *GetModuleInfoResponse_OGate) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4749,23 +4544,20 @@ func (x *GetModuleInfoResponse_OGate) GetGatehooks() []*GetModuleInfoResponse_Ga } type GetModuleInfoResponse_Attribute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of per-packet metadata attribute + Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// Size of attribute (in bytes) + Mode string `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"` /// "read", "write", or "update" + Offset int64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` /// (internal debugging purpose only) unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// Name of per-packet metadata attribute - Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// Size of attribute (in bytes) - Mode string `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"` /// "read", "write", or "update" - Offset int64 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` /// (internal debugging purpose only) + sizeCache protoimpl.SizeCache } func (x *GetModuleInfoResponse_Attribute) Reset() { *x = GetModuleInfoResponse_Attribute{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetModuleInfoResponse_Attribute) String() string { @@ -4776,7 +4568,7 @@ func (*GetModuleInfoResponse_Attribute) ProtoMessage() {} func (x *GetModuleInfoResponse_Attribute) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4820,21 +4612,18 @@ func (x *GetModuleInfoResponse_Attribute) GetOffset() int64 { } type GetModuleInfoResponse_IGate_OGate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ogate uint64 `protobuf:"varint,1,opt,name=ogate,proto3" json:"ogate,omitempty"` /// Output gate of "previous" module + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of "previous" module unknownFields protoimpl.UnknownFields - - Ogate uint64 `protobuf:"varint,1,opt,name=ogate,proto3" json:"ogate,omitempty"` /// Output gate of "previous" module - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` /// Name of "previous" module + sizeCache protoimpl.SizeCache } func (x *GetModuleInfoResponse_IGate_OGate) Reset() { *x = GetModuleInfoResponse_IGate_OGate{} - if protoimpl.UnsafeEnabled { - mi := &file_bess_msg_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_bess_msg_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GetModuleInfoResponse_IGate_OGate) String() string { @@ -4845,7 +4634,7 @@ func (*GetModuleInfoResponse_IGate_OGate) ProtoMessage() {} func (x *GetModuleInfoResponse_IGate_OGate) ProtoReflect() protoreflect.Message { mi := &file_bess_msg_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4876,563 +4665,346 @@ func (x *GetModuleInfoResponse_IGate_OGate) GetName() string { var File_bess_msg_proto protoreflect.FileDescriptor -var file_bess_msg_proto_rawDesc = []byte{ - 0x0a, 0x0e, 0x62, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x07, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x0e, 0x0a, 0x0c, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x35, 0x0a, 0x0d, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x51, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x29, 0x0a, 0x13, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x29, 0x0a, 0x13, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x22, 0x51, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, - 0x61, 0x74, 0x68, 0x73, 0x22, 0x9a, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x50, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x1a, 0x8a, 0x01, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x03, 0x77, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, - 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x75, - 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x63, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x54, 0x63, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x44, 0x72, 0x6f, 0x70, - 0x73, 0x22, 0x56, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x03, 0x77, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x22, 0x28, 0x0a, 0x14, 0x44, 0x65, 0x73, - 0x74, 0x72, 0x6f, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, - 0x77, 0x69, 0x64, 0x22, 0xa0, 0x04, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, - 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x05, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x03, 0x77, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x40, - 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x75, 0x72, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x66, - 0x66, 0x69, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x2e, 0x4d, 0x61, 0x78, 0x42, 0x75, 0x72, 0x73, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x42, 0x75, 0x72, 0x73, 0x74, - 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x65, 0x61, 0x66, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x65, - 0x61, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x69, 0x64, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x65, 0x61, 0x66, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x69, 0x64, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x61, 0x78, 0x42, 0x75, 0x72, 0x73, 0x74, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, - 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x22, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x63, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x77, 0x69, 0x64, 0x22, 0xe6, 0x01, 0x0a, 0x0f, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x12, 0x52, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x63, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x59, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x66, - 0x66, 0x69, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, - 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x22, 0xcb, 0x03, 0x0a, 0x22, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x66, 0x61, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x66, 0x61, 0x74, 0x61, 0x6c, 0x12, 0x5a, 0x0a, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x8e, 0x01, 0x0a, 0x0e, 0x56, 0x69, - 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x72, 0x65, 0x1a, 0x25, 0x0a, 0x0f, 0x56, 0x69, - 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x3b, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x54, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, - 0x69, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x44, - 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x22, 0x44, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x63, - 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, - 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x27, 0x0a, 0x11, 0x47, 0x65, - 0x74, 0x54, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x63, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, - 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x74, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x22, 0x5e, 0x0a, 0x13, 0x4c, 0x69, - 0x73, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x72, 0x69, 0x76, 0x65, - 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x72, 0x69, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0xe9, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, - 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0xf6, 0x01, 0x0a, 0x04, 0x50, - 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, - 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1a, 0x0a, 0x09, 0x6e, 0x75, - 0x6d, 0x5f, 0x69, 0x6e, 0x63, 0x5f, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6e, - 0x75, 0x6d, 0x49, 0x6e, 0x63, 0x51, 0x12, 0x1a, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x75, - 0x74, 0x5f, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x4f, 0x75, - 0x74, 0x51, 0x12, 0x1c, 0x0a, 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x5f, 0x71, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x63, 0x51, - 0x12, 0x1c, 0x0a, 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x69, 0x7a, 0x65, 0x4f, 0x75, 0x74, 0x51, 0x12, 0x33, - 0x0a, 0x0a, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, - 0x41, 0x72, 0x67, 0x22, 0xdb, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, - 0x72, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x63, - 0x5f, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x63, - 0x51, 0x12, 0x1a, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x4f, 0x75, 0x74, 0x51, 0x12, 0x1c, 0x0a, - 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x5f, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x63, 0x51, 0x12, 0x1c, 0x0a, 0x0a, 0x73, - 0x69, 0x7a, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x71, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x73, 0x69, 0x7a, 0x65, 0x4f, 0x75, 0x74, 0x51, 0x12, 0x26, 0x0a, 0x03, 0x61, 0x72, 0x67, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x03, 0x61, 0x72, - 0x67, 0x22, 0x52, 0x0a, 0x08, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x19, 0x0a, - 0x08, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x5f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x55, 0x70, 0x22, 0x4f, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0x28, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x62, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, - 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x04, - 0x63, 0x6f, 0x6e, 0x66, 0x22, 0x69, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, - 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x22, - 0x28, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x29, 0x0a, 0x13, 0x47, 0x65, 0x74, - 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xfe, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x03, 0x69, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, - 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x52, 0x03, 0x69, 0x6e, 0x63, 0x12, 0x34, 0x0a, 0x03, 0x6f, 0x75, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x03, 0x6f, 0x75, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xb5, 0x01, - 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x69, - 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x48, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x75, 0x61, - 0x6c, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, - 0x74, 0x75, 0x61, 0x6c, 0x48, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x66, 0x66, - 0x5f, 0x68, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x69, 0x66, - 0x66, 0x48, 0x69, 0x73, 0x74, 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, - 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x75, - 0x6c, 0x6c, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x6f, - 0x6e, 0x65, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x6e, - 0x65, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x75, 0x70, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x55, 0x70, 0x22, 0x50, 0x0a, 0x12, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x2a, 0x0a, - 0x14, 0x47, 0x65, 0x74, 0x4d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x4d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x6c, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x04, 0x63, 0x6d, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6d, 0x64, 0x41, 0x72, 0x67, 0x73, - 0x22, 0xc4, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3d, - 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x48, 0x0a, - 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0x69, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x03, 0x61, 0x72, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x03, 0x61, - 0x72, 0x67, 0x22, 0x50, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x2a, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb3, 0x08, 0x0a, - 0x15, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x3c, 0x0a, 0x06, - 0x69, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x47, 0x61, - 0x74, 0x65, 0x52, 0x06, 0x69, 0x67, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x6f, 0x67, - 0x61, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x47, 0x61, 0x74, 0x65, - 0x52, 0x06, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, 0x73, 0x1a, 0x46, 0x0a, 0x08, 0x47, 0x61, - 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x6f, 0x6b, 0x4e, 0x61, - 0x6d, 0x65, 0x1a, 0xbb, 0x02, 0x0a, 0x05, 0x49, 0x47, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x67, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, 0x67, 0x61, - 0x74, 0x65, 0x12, 0x42, 0x0a, 0x06, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x49, 0x47, 0x61, 0x74, 0x65, 0x2e, 0x4f, 0x47, 0x61, 0x74, 0x65, 0x52, 0x06, - 0x6f, 0x67, 0x61, 0x74, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x03, 0x63, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6b, 0x74, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x6b, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x45, 0x0a, 0x09, 0x67, 0x61, 0x74, 0x65, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x09, 0x67, 0x61, - 0x74, 0x65, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x1a, 0x31, 0x0a, 0x05, 0x4f, 0x47, 0x61, 0x74, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, - 0x1a, 0xee, 0x01, 0x0a, 0x05, 0x4f, 0x47, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x67, - 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x67, 0x61, 0x74, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x63, - 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6b, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x70, 0x6b, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x69, 0x67, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x69, - 0x67, 0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x67, 0x61, 0x74, 0x65, 0x68, 0x6f, 0x6f, 0x6b, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, - 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x4a, 0x04, 0x08, 0x08, 0x10, - 0x09, 0x1a, 0x5f, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x22, 0x91, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6d, 0x31, 0x12, 0x0e, 0x0a, 0x02, - 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6d, 0x32, 0x12, 0x14, 0x0a, 0x05, - 0x6f, 0x67, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x67, 0x61, - 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x67, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x05, 0x69, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x70, - 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x44, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x22, 0x93, 0x03, 0x0a, - 0x0b, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x44, 0x75, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x70, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x70, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x22, 0x0a, 0x0d, 0x6d, 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x70, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x70, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d, - 0x70, 0x5f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x70, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x70, 0x5f, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x70, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0f, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x5f, 0x75, - 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x6d, 0x70, 0x49, 0x6e, 0x55, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, - 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x12, 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, - 0x22, 0x67, 0x0a, 0x13, 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2a, 0x0a, - 0x05, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x44, 0x75, - 0x6d, 0x70, 0x52, 0x05, 0x64, 0x75, 0x6d, 0x70, 0x73, 0x22, 0x5e, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6d, - 0x64, 0x12, 0x26, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0x61, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x57, 0x0a, 0x19, - 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, - 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, - 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, - 0x6d, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x6d, 0x64, 0x41, 0x72, 0x67, 0x73, 0x22, 0x1e, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x41, - 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x22, 0x54, 0x0a, 0x0a, 0x54, 0x63, 0x70, 0x64, 0x75, 0x6d, - 0x70, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x66, 0x65, - 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x66, 0x65, 0x72, 0x12, 0x1c, - 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0x53, 0x0a, 0x09, - 0x50, 0x63, 0x61, 0x70, 0x6e, 0x67, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x66, - 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x66, 0x6f, 0x12, 0x14, 0x0a, - 0x05, 0x64, 0x65, 0x66, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, - 0x66, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x6f, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x05, 0x69, 0x67, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, - 0x52, 0x05, 0x69, 0x67, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x6f, 0x67, 0x61, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x12, - 0x26, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, - 0x6e, 0x79, 0x52, 0x03, 0x61, 0x72, 0x67, 0x42, 0x06, 0x0a, 0x04, 0x67, 0x61, 0x74, 0x65, 0x22, - 0x5d, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x47, 0x61, 0x74, 0x65, - 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x68, - 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x55, - 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x47, 0x61, 0x74, 0x65, 0x48, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6a, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, - 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x61, - 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, - 0x73, 0x22, 0x55, 0x0a, 0x16, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x68, - 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0x79, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x6f, 0x6b, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x61, - 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x03, - 0x61, 0x72, 0x67, 0x22, 0x26, 0x0a, 0x12, 0x50, 0x61, 0x75, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x77, 0x69, 0x64, 0x22, 0x27, 0x0a, 0x13, 0x52, - 0x65, 0x73, 0x75, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x77, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x03, 0x77, 0x69, 0x64, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6f, 0x6d, 0x65, 0x63, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, - 0x75, 0x70, 0x66, 0x2d, 0x65, 0x70, 0x63, 0x2f, 0x70, 0x66, 0x63, 0x70, 0x69, 0x66, 0x61, 0x63, - 0x65, 0x2f, 0x62, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} +const file_bess_msg_proto_rawDesc = "" + + "\n" + + "\x0ebess_msg.proto\x12\abess.pb\x1a\x19google/protobuf/any.proto\x1a\verror.proto\"\x0e\n" + + "\fEmptyRequest\"5\n" + + "\rEmptyResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\"Q\n" + + "\x0fVersionResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\")\n" + + "\x13ImportPluginRequest\x12\x12\n" + + "\x04path\x18\x01 \x01(\tR\x04path\")\n" + + "\x13UnloadPluginRequest\x12\x12\n" + + "\x04path\x18\x01 \x01(\tR\x04path\"Q\n" + + "\x13ListPluginsResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x14\n" + + "\x05paths\x18\x02 \x03(\tR\x05paths\"\x9a\x02\n" + + "\x13ListWorkersResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12P\n" + + "\x0eworkers_status\x18\x02 \x03(\v2).bess.pb.ListWorkersResponse.WorkerStatusR\rworkersStatus\x1a\x8a\x01\n" + + "\fWorkerStatus\x12\x10\n" + + "\x03wid\x18\x01 \x01(\x03R\x03wid\x12\x12\n" + + "\x04core\x18\x02 \x01(\x03R\x04core\x12\x18\n" + + "\arunning\x18\x03 \x01(\bR\arunning\x12\x17\n" + + "\anum_tcs\x18\x04 \x01(\x03R\x06numTcs\x12!\n" + + "\fsilent_drops\x18\x05 \x01(\x03R\vsilentDrops\"V\n" + + "\x10AddWorkerRequest\x12\x10\n" + + "\x03wid\x18\x01 \x01(\x03R\x03wid\x12\x12\n" + + "\x04core\x18\x02 \x01(\x03R\x04core\x12\x1c\n" + + "\tscheduler\x18\x03 \x01(\tR\tscheduler\"(\n" + + "\x14DestroyWorkerRequest\x12\x10\n" + + "\x03wid\x18\x01 \x01(\x03R\x03wid\"\xa0\x04\n" + + "\fTrafficClass\x12\x16\n" + + "\x06parent\x18\x01 \x01(\tR\x06parent\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" + + "\ablocked\x18\x03 \x01(\bR\ablocked\x12\x16\n" + + "\x06policy\x18\x04 \x01(\tR\x06policy\x12\x1a\n" + + "\bresource\x18\x05 \x01(\tR\bresource\x12\x1c\n" + + "\bpriority\x18\x06 \x01(\x03H\x00R\bpriority\x12\x16\n" + + "\x05share\x18\a \x01(\x03H\x00R\x05share\x12\x10\n" + + "\x03wid\x18\b \x01(\x03R\x03wid\x126\n" + + "\x05limit\x18\t \x03(\v2 .bess.pb.TrafficClass.LimitEntryR\x05limit\x12@\n" + + "\tmax_burst\x18\n" + + " \x03(\v2#.bess.pb.TrafficClass.MaxBurstEntryR\bmaxBurst\x12(\n" + + "\x10leaf_module_name\x18\v \x01(\tR\x0eleafModuleName\x12,\n" + + "\x12leaf_module_taskid\x18\f \x01(\x04R\x10leafModuleTaskid\x1a8\n" + + "\n" + + "LimitEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\x1a;\n" + + "\rMaxBurstEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01B\x05\n" + + "\x03arg\"\"\n" + + "\x0eListTcsRequest\x12\x10\n" + + "\x03wid\x18\x01 \x01(\x03R\x03wid\"\xe6\x01\n" + + "\x0fListTcsResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12R\n" + + "\x0eclasses_status\x18\x02 \x03(\v2+.bess.pb.ListTcsResponse.TrafficClassStatusR\rclassesStatus\x1aY\n" + + "\x12TrafficClassStatus\x12+\n" + + "\x05class\x18\x01 \x01(\v2\x15.bess.pb.TrafficClassR\x05class\x12\x16\n" + + "\x06parent\x18\x02 \x01(\tR\x06parent\"\xcb\x03\n" + + "\"CheckSchedulingConstraintsResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x14\n" + + "\x05fatal\x18\x02 \x01(\bR\x05fatal\x12Z\n" + + "\n" + + "violations\x18\x03 \x03(\v2:.bess.pb.CheckSchedulingConstraintsResponse.ViolatingClassR\n" + + "violations\x12U\n" + + "\amodules\x18\x04 \x03(\v2;.bess.pb.CheckSchedulingConstraintsResponse.ViolatingModuleR\amodules\x1a\x8e\x01\n" + + "\x0eViolatingClass\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1e\n" + + "\n" + + "constraint\x18\x02 \x01(\x05R\n" + + "constraint\x12#\n" + + "\rassigned_node\x18\x03 \x01(\x05R\fassignedNode\x12#\n" + + "\rassigned_core\x18\x04 \x01(\x05R\fassignedCore\x1a%\n" + + "\x0fViolatingModule\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\";\n" + + "\fAddTcRequest\x12+\n" + + "\x05class\x18\x01 \x01(\v2\x15.bess.pb.TrafficClassR\x05class\"D\n" + + "\x15UpdateTcParamsRequest\x12+\n" + + "\x05class\x18\x01 \x01(\v2\x15.bess.pb.TrafficClassR\x05class\"D\n" + + "\x15UpdateTcParentRequest\x12+\n" + + "\x05class\x18\x01 \x01(\v2\x15.bess.pb.TrafficClassR\x05class\"'\n" + + "\x11GetTcStatsRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\xb4\x01\n" + + "\x12GetTcStatsResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x1c\n" + + "\ttimestamp\x18\x02 \x01(\x01R\ttimestamp\x12\x14\n" + + "\x05count\x18\x03 \x01(\x04R\x05count\x12\x16\n" + + "\x06cycles\x18\x04 \x01(\x04R\x06cycles\x12\x18\n" + + "\apackets\x18\x05 \x01(\x04R\apackets\x12\x12\n" + + "\x04bits\x18\x06 \x01(\x04R\x04bits\"^\n" + + "\x13ListDriversResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12!\n" + + "\fdriver_names\x18\x02 \x03(\tR\vdriverNames\"7\n" + + "\x14GetDriverInfoRequest\x12\x1f\n" + + "\vdriver_name\x18\x01 \x01(\tR\n" + + "driverName\"\x81\x01\n" + + "\x15GetDriverInfoResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04help\x18\x03 \x01(\tR\x04help\x12\x1a\n" + + "\bcommands\x18\x04 \x03(\tR\bcommands\"\xe9\x02\n" + + "\x11ListPortsResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x125\n" + + "\x05ports\x18\x02 \x03(\v2\x1f.bess.pb.ListPortsResponse.PortR\x05ports\x1a\xf6\x01\n" + + "\x04Port\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" + + "\x06driver\x18\x02 \x01(\tR\x06driver\x12\x19\n" + + "\bmac_addr\x18\x03 \x01(\tR\amacAddr\x12\x1a\n" + + "\tnum_inc_q\x18\x04 \x01(\x04R\anumIncQ\x12\x1a\n" + + "\tnum_out_q\x18\x05 \x01(\x04R\anumOutQ\x12\x1c\n" + + "\n" + + "size_inc_q\x18\x06 \x01(\x04R\bsizeIncQ\x12\x1c\n" + + "\n" + + "size_out_q\x18\a \x01(\x04R\bsizeOutQ\x123\n" + + "\n" + + "driver_arg\x18\b \x01(\v2\x14.google.protobuf.AnyR\tdriverArg\"\xdb\x01\n" + + "\x11CreatePortRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" + + "\x06driver\x18\x02 \x01(\tR\x06driver\x12\x1a\n" + + "\tnum_inc_q\x18\x03 \x01(\x04R\anumIncQ\x12\x1a\n" + + "\tnum_out_q\x18\x04 \x01(\x04R\anumOutQ\x12\x1c\n" + + "\n" + + "size_inc_q\x18\x05 \x01(\x04R\bsizeIncQ\x12\x1c\n" + + "\n" + + "size_out_q\x18\x06 \x01(\x04R\bsizeOutQ\x12&\n" + + "\x03arg\x18\a \x01(\v2\x14.google.protobuf.AnyR\x03arg\"R\n" + + "\bPortConf\x12\x19\n" + + "\bmac_addr\x18\x01 \x01(\tR\amacAddr\x12\x10\n" + + "\x03mtu\x18\x02 \x01(\rR\x03mtu\x12\x19\n" + + "\badmin_up\x18\x03 \x01(\bR\aadminUp\"O\n" + + "\x12SetPortConfRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12%\n" + + "\x04conf\x18\x02 \x01(\v2\x11.bess.pb.PortConfR\x04conf\"(\n" + + "\x12GetPortConfRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"b\n" + + "\x13GetPortConfResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12%\n" + + "\x04conf\x18\x02 \x01(\v2\x11.bess.pb.PortConfR\x04conf\"i\n" + + "\x12CreatePortResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x19\n" + + "\bmac_addr\x18\x03 \x01(\tR\amacAddr\"(\n" + + "\x12DestroyPortRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\")\n" + + "\x13GetPortStatsRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\xfe\x02\n" + + "\x14GetPortStatsResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x124\n" + + "\x03inc\x18\x02 \x01(\v2\".bess.pb.GetPortStatsResponse.StatR\x03inc\x124\n" + + "\x03out\x18\x03 \x01(\v2\".bess.pb.GetPortStatsResponse.StatR\x03out\x12\x1c\n" + + "\ttimestamp\x18\x04 \x01(\x01R\ttimestamp\x1a\xb5\x01\n" + + "\x04Stat\x12\x18\n" + + "\apackets\x18\x01 \x01(\x04R\apackets\x12\x18\n" + + "\adropped\x18\x02 \x01(\x04R\adropped\x12\x14\n" + + "\x05bytes\x18\x03 \x01(\x04R\x05bytes\x12%\n" + + "\x0erequested_hist\x18\x04 \x03(\x04R\rrequestedHist\x12\x1f\n" + + "\vactual_hist\x18\x05 \x03(\x04R\n" + + "actualHist\x12\x1b\n" + + "\tdiff_hist\x18\x06 \x03(\x04R\bdiffHist\"*\n" + + "\x14GetLinkStatusRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\xa7\x01\n" + + "\x15GetLinkStatusResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x14\n" + + "\x05speed\x18\x02 \x01(\rR\x05speed\x12\x1f\n" + + "\vfull_duplex\x18\x03 \x01(\bR\n" + + "fullDuplex\x12\x18\n" + + "\aautoneg\x18\x04 \x01(\bR\aautoneg\x12\x17\n" + + "\alink_up\x18\x05 \x01(\bR\x06linkUp\"P\n" + + "\x12ListMclassResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x14\n" + + "\x05names\x18\x02 \x03(\tR\x05names\"*\n" + + "\x14GetMclassInfoRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\x94\x01\n" + + "\x15GetMclassInfoResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04help\x18\x03 \x01(\tR\x04help\x12\x12\n" + + "\x04cmds\x18\x04 \x03(\tR\x04cmds\x12\x19\n" + + "\bcmd_args\x18\x05 \x03(\tR\acmdArgs\"\xc4\x01\n" + + "\x13ListModulesResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12=\n" + + "\amodules\x18\x02 \x03(\v2#.bess.pb.ListModulesResponse.ModuleR\amodules\x1aH\n" + + "\x06Module\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" + + "\x06mclass\x18\x02 \x01(\tR\x06mclass\x12\x12\n" + + "\x04desc\x18\x03 \x01(\tR\x04desc\"i\n" + + "\x13CreateModuleRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" + + "\x06mclass\x18\x02 \x01(\tR\x06mclass\x12&\n" + + "\x03arg\x18\x03 \x01(\v2\x14.google.protobuf.AnyR\x03arg\"P\n" + + "\x14CreateModuleResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\"*\n" + + "\x14DestroyModuleRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"*\n" + + "\x14GetModuleInfoRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\xb3\b\n" + + "\x15GetModuleInfoResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" + + "\x06mclass\x18\x03 \x01(\tR\x06mclass\x12\x12\n" + + "\x04desc\x18\x04 \x01(\tR\x04desc\x12<\n" + + "\x06igates\x18\x06 \x03(\v2$.bess.pb.GetModuleInfoResponse.IGateR\x06igates\x12<\n" + + "\x06ogates\x18\a \x03(\v2$.bess.pb.GetModuleInfoResponse.OGateR\x06ogates\x12D\n" + + "\bmetadata\x18\b \x03(\v2(.bess.pb.GetModuleInfoResponse.AttributeR\bmetadata\x12\x1a\n" + + "\bdeadends\x18\t \x01(\x04R\bdeadends\x1aF\n" + + "\bGateHook\x12\x1d\n" + + "\n" + + "class_name\x18\x01 \x01(\tR\tclassName\x12\x1b\n" + + "\thook_name\x18\x02 \x01(\tR\bhookName\x1a\xbb\x02\n" + + "\x05IGate\x12\x14\n" + + "\x05igate\x18\x01 \x01(\x04R\x05igate\x12B\n" + + "\x06ogates\x18\x02 \x03(\v2*.bess.pb.GetModuleInfoResponse.IGate.OGateR\x06ogates\x12\x10\n" + + "\x03cnt\x18\x03 \x01(\x04R\x03cnt\x12\x12\n" + + "\x04pkts\x18\x04 \x01(\x04R\x04pkts\x12\x14\n" + + "\x05bytes\x18\x05 \x01(\x04R\x05bytes\x12\x1c\n" + + "\ttimestamp\x18\x06 \x01(\x01R\ttimestamp\x12E\n" + + "\tgatehooks\x18\b \x03(\v2'.bess.pb.GetModuleInfoResponse.GateHookR\tgatehooks\x1a1\n" + + "\x05OGate\x12\x14\n" + + "\x05ogate\x18\x01 \x01(\x04R\x05ogate\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04nameJ\x04\b\a\x10\b\x1a\xee\x01\n" + + "\x05OGate\x12\x14\n" + + "\x05ogate\x18\x01 \x01(\x04R\x05ogate\x12\x10\n" + + "\x03cnt\x18\x02 \x01(\x04R\x03cnt\x12\x12\n" + + "\x04pkts\x18\x03 \x01(\x04R\x04pkts\x12\x14\n" + + "\x05bytes\x18\x04 \x01(\x04R\x05bytes\x12\x1c\n" + + "\ttimestamp\x18\x05 \x01(\x01R\ttimestamp\x12\x12\n" + + "\x04name\x18\x06 \x01(\tR\x04name\x12\x14\n" + + "\x05igate\x18\a \x01(\x04R\x05igate\x12E\n" + + "\tgatehooks\x18\t \x03(\v2'.bess.pb.GetModuleInfoResponse.GateHookR\tgatehooksJ\x04\b\b\x10\t\x1a_\n" + + "\tAttribute\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04size\x18\x02 \x01(\x04R\x04size\x12\x12\n" + + "\x04mode\x18\x03 \x01(\tR\x04mode\x12\x16\n" + + "\x06offset\x18\x04 \x01(\x03R\x06offset\"\x91\x01\n" + + "\x15ConnectModulesRequest\x12\x0e\n" + + "\x02m1\x18\x01 \x01(\tR\x02m1\x12\x0e\n" + + "\x02m2\x18\x02 \x01(\tR\x02m2\x12\x14\n" + + "\x05ogate\x18\x03 \x01(\x04R\x05ogate\x12\x14\n" + + "\x05igate\x18\x04 \x01(\x04R\x05igate\x12,\n" + + "\x12skip_default_hooks\x18\x05 \x01(\bR\x10skipDefaultHooks\"D\n" + + "\x18DisconnectModulesRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + + "\x05ogate\x18\x02 \x01(\x04R\x05ogate\"\x93\x03\n" + + "\vMempoolDump\x12\x16\n" + + "\x06socket\x18\x01 \x01(\x05R\x06socket\x12 \n" + + "\vinitialized\x18\x02 \x01(\bR\vinitialized\x12\x17\n" + + "\amp_size\x18\x03 \x01(\rR\x06mpSize\x12\"\n" + + "\rmp_cache_size\x18\x04 \x01(\rR\vmpCacheSize\x12&\n" + + "\x0fmp_element_size\x18\x05 \x01(\rR\rmpElementSize\x12*\n" + + "\x11mp_populated_size\x18\x06 \x01(\rR\x0fmpPopulatedSize\x12,\n" + + "\x12mp_available_count\x18\a \x01(\rR\x10mpAvailableCount\x12%\n" + + "\x0fmp_in_use_count\x18\b \x01(\rR\fmpInUseCount\x12\x1d\n" + + "\n" + + "ring_count\x18\t \x01(\rR\tringCount\x12&\n" + + "\x0fring_free_count\x18\n" + + " \x01(\rR\rringFreeCount\x12\x1d\n" + + "\n" + + "ring_bytes\x18\v \x01(\x04R\tringBytes\",\n" + + "\x12DumpMempoolRequest\x12\x16\n" + + "\x06socket\x18\x01 \x01(\x05R\x06socket\"g\n" + + "\x13DumpMempoolResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12*\n" + + "\x05dumps\x18\x02 \x03(\v2\x14.bess.pb.MempoolDumpR\x05dumps\"^\n" + + "\x0eCommandRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n" + + "\x03cmd\x18\x02 \x01(\tR\x03cmd\x12&\n" + + "\x03arg\x18\x03 \x01(\v2\x14.google.protobuf.AnyR\x03arg\"a\n" + + "\x0fCommandResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12(\n" + + "\x04data\x18\x02 \x01(\v2\x14.google.protobuf.AnyR\x04data\"W\n" + + "\x19ListGateHookClassResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x14\n" + + "\x05names\x18\x02 \x03(\tR\x05names\"1\n" + + "\x1bGetGateHookClassInfoRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\x9b\x01\n" + + "\x1cGetGateHookClassInfoResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04help\x18\x03 \x01(\tR\x04help\x12\x12\n" + + "\x04cmds\x18\x04 \x03(\tR\x04cmds\x12\x19\n" + + "\bcmd_args\x18\x05 \x03(\tR\acmdArgs\"\x1e\n" + + "\bTrackArg\x12\x12\n" + + "\x04bits\x18\x05 \x01(\bR\x04bits\"T\n" + + "\n" + + "TcpdumpArg\x12\x12\n" + + "\x04fifo\x18\x05 \x01(\tR\x04fifo\x12\x14\n" + + "\x05defer\x18\x06 \x01(\bR\x05defer\x12\x1c\n" + + "\treconnect\x18\a \x01(\bR\treconnect\"S\n" + + "\tPcapngArg\x12\x12\n" + + "\x04fifo\x18\x05 \x01(\tR\x04fifo\x12\x14\n" + + "\x05defer\x18\x06 \x01(\bR\x05defer\x12\x1c\n" + + "\treconnect\x18\a \x01(\bR\treconnect\"\xcb\x01\n" + + "\fGateHookInfo\x12\x1d\n" + + "\n" + + "class_name\x18\x01 \x01(\tR\tclassName\x12\x1b\n" + + "\thook_name\x18\x02 \x01(\tR\bhookName\x12\x1f\n" + + "\vmodule_name\x18\x03 \x01(\tR\n" + + "moduleName\x12\x16\n" + + "\x05igate\x18\x04 \x01(\x03H\x00R\x05igate\x12\x16\n" + + "\x05ogate\x18\x05 \x01(\x03H\x00R\x05ogate\x12&\n" + + "\x03arg\x18\x06 \x01(\v2\x14.google.protobuf.AnyR\x03argB\x06\n" + + "\x04gate\"]\n" + + "\x18ConfigureGateHookRequest\x12)\n" + + "\x04hook\x18\x01 \x01(\v2\x15.bess.pb.GateHookInfoR\x04hook\x12\x16\n" + + "\x06enable\x18\x02 \x01(\bR\x06enable\"U\n" + + "\x19ConfigureGateHookResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\"j\n" + + "\x15ListGateHooksResponse\x12$\n" + + "\x05error\x18\x01 \x01(\v2\x0e.bess.pb.ErrorR\x05error\x12+\n" + + "\x05hooks\x18\x02 \x03(\v2\x15.bess.pb.GateHookInfoR\x05hooks\"U\n" + + "\x16GateHookCommandRequest\x12)\n" + + "\x04hook\x18\x01 \x01(\v2\x15.bess.pb.GateHookInfoR\x04hook\x12\x10\n" + + "\x03cmd\x18\x02 \x01(\tR\x03cmd\"y\n" + + "\x1aConfigureResumeHookRequest\x12\x1b\n" + + "\thook_name\x18\x01 \x01(\tR\bhookName\x12\x16\n" + + "\x06enable\x18\x02 \x01(\bR\x06enable\x12&\n" + + "\x03arg\x18\x03 \x01(\v2\x14.google.protobuf.AnyR\x03arg\"&\n" + + "\x12PauseWorkerRequest\x12\x10\n" + + "\x03wid\x18\x01 \x01(\x03R\x03wid\"'\n" + + "\x13ResumeWorkerRequest\x12\x10\n" + + "\x03wid\x18\x01 \x01(\x03R\x03widB3Z1github.com/omec-project/upf-epc/pfcpiface/bess_pbb\x06proto3" var ( file_bess_msg_proto_rawDescOnce sync.Once - file_bess_msg_proto_rawDescData = file_bess_msg_proto_rawDesc + file_bess_msg_proto_rawDescData []byte ) func file_bess_msg_proto_rawDescGZIP() []byte { file_bess_msg_proto_rawDescOnce.Do(func() { - file_bess_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_bess_msg_proto_rawDescData) + file_bess_msg_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_bess_msg_proto_rawDesc), len(file_bess_msg_proto_rawDesc))) }) return file_bess_msg_proto_rawDescData } var file_bess_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 77) -var file_bess_msg_proto_goTypes = []interface{}{ +var file_bess_msg_proto_goTypes = []any{ (*EmptyRequest)(nil), // 0: bess.pb.EmptyRequest (*EmptyResponse)(nil), // 1: bess.pb.EmptyResponse (*VersionResponse)(nil), // 2: bess.pb.VersionResponse @@ -5511,7 +5083,7 @@ var file_bess_msg_proto_goTypes = []interface{}{ (*GetModuleInfoResponse_Attribute)(nil), // 75: bess.pb.GetModuleInfoResponse.Attribute (*GetModuleInfoResponse_IGate_OGate)(nil), // 76: bess.pb.GetModuleInfoResponse.IGate.OGate (*Error)(nil), // 77: bess.pb.Error - (*any1.Any)(nil), // 78: google.protobuf.Any + (*anypb.Any)(nil), // 78: google.protobuf.Any } var file_bess_msg_proto_depIdxs = []int32{ 77, // 0: bess.pb.EmptyResponse.error:type_name -> bess.pb.Error @@ -5585,913 +5157,11 @@ func file_bess_msg_proto_init() { return } file_error_proto_init() - if !protoimpl.UnsafeEnabled { - file_bess_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EmptyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EmptyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VersionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportPluginRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnloadPluginRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPluginsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWorkersResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddWorkerRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DestroyWorkerRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TrafficClass); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTcsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTcsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckSchedulingConstraintsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddTcRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTcParamsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTcParentRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTcStatsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTcStatsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDriversResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDriverInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDriverInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPortsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePortRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortConf); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetPortConfRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPortConfRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPortConfResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePortResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DestroyPortRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPortStatsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPortStatsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLinkStatusRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLinkStatusResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMclassResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMclassInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMclassInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListModulesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateModuleRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateModuleResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DestroyModuleRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModuleInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModuleInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectModulesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisconnectModulesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MempoolDump); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpMempoolRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpMempoolResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommandRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommandResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListGateHookClassResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGateHookClassInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGateHookClassInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TrackArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TcpdumpArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PcapngArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GateHookInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigureGateHookRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigureGateHookResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListGateHooksResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GateHookCommandRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfigureResumeHookRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PauseWorkerRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResumeWorkerRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListWorkersResponse_WorkerStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListTcsResponse_TrafficClassStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckSchedulingConstraintsResponse_ViolatingClass); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckSchedulingConstraintsResponse_ViolatingModule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPortsResponse_Port); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPortStatsResponse_Stat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListModulesResponse_Module); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModuleInfoResponse_GateHook); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModuleInfoResponse_IGate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModuleInfoResponse_OGate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModuleInfoResponse_Attribute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_bess_msg_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModuleInfoResponse_IGate_OGate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_bess_msg_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_bess_msg_proto_msgTypes[9].OneofWrappers = []any{ (*TrafficClass_Priority)(nil), (*TrafficClass_Share)(nil), } - file_bess_msg_proto_msgTypes[55].OneofWrappers = []interface{}{ + file_bess_msg_proto_msgTypes[55].OneofWrappers = []any{ (*GateHookInfo_Igate)(nil), (*GateHookInfo_Ogate)(nil), } @@ -6499,7 +5169,7 @@ func file_bess_msg_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_bess_msg_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_bess_msg_proto_rawDesc), len(file_bess_msg_proto_rawDesc)), NumEnums: 0, NumMessages: 77, NumExtensions: 0, @@ -6510,7 +5180,6 @@ func file_bess_msg_proto_init() { MessageInfos: file_bess_msg_proto_msgTypes, }.Build() File_bess_msg_proto = out.File - file_bess_msg_proto_rawDesc = nil file_bess_msg_proto_goTypes = nil file_bess_msg_proto_depIdxs = nil } diff --git a/pfcpiface/bess_pb/error.pb.go b/pfcpiface/bess_pb/error.pb.go index ee86e08d9..93ae1bcdc 100644 --- a/pfcpiface/bess_pb/error.pb.go +++ b/pfcpiface/bess_pb/error.pb.go @@ -31,8 +31,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.6.1 +// protoc-gen-go v1.36.10 +// protoc v3.21.12 // source: error.proto package bess_pb @@ -42,6 +42,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -52,21 +53,18 @@ const ( ) type Error struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 0 for success, errno (>0) for failure + Errmsg string `protobuf:"bytes,2,opt,name=errmsg,proto3" json:"errmsg,omitempty"` unknownFields protoimpl.UnknownFields - - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 0 for success, errno (>0) for failure - Errmsg string `protobuf:"bytes,2,opt,name=errmsg,proto3" json:"errmsg,omitempty"` + sizeCache protoimpl.SizeCache } func (x *Error) Reset() { *x = Error{} - if protoimpl.UnsafeEnabled { - mi := &file_error_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_error_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Error) String() string { @@ -77,7 +75,7 @@ func (*Error) ProtoMessage() {} func (x *Error) ProtoReflect() protoreflect.Message { mi := &file_error_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -108,32 +106,27 @@ func (x *Error) GetErrmsg() string { var File_error_proto protoreflect.FileDescriptor -var file_error_proto_rawDesc = []byte{ - 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x22, 0x33, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x42, 0x33, 0x5a, 0x31, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6d, 0x65, 0x63, 0x2d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x75, 0x70, 0x66, 0x2d, 0x65, 0x70, 0x63, 0x2f, 0x70, - 0x66, 0x63, 0x70, 0x69, 0x66, 0x61, 0x63, 0x65, 0x2f, 0x62, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x62, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_error_proto_rawDesc = "" + + "\n" + + "\verror.proto\x12\abess.pb\"3\n" + + "\x05Error\x12\x12\n" + + "\x04code\x18\x01 \x01(\x05R\x04code\x12\x16\n" + + "\x06errmsg\x18\x02 \x01(\tR\x06errmsgB3Z1github.com/omec-project/upf-epc/pfcpiface/bess_pbb\x06proto3" var ( file_error_proto_rawDescOnce sync.Once - file_error_proto_rawDescData = file_error_proto_rawDesc + file_error_proto_rawDescData []byte ) func file_error_proto_rawDescGZIP() []byte { file_error_proto_rawDescOnce.Do(func() { - file_error_proto_rawDescData = protoimpl.X.CompressGZIP(file_error_proto_rawDescData) + file_error_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_error_proto_rawDesc), len(file_error_proto_rawDesc))) }) return file_error_proto_rawDescData } var file_error_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_error_proto_goTypes = []interface{}{ +var file_error_proto_goTypes = []any{ (*Error)(nil), // 0: bess.pb.Error } var file_error_proto_depIdxs = []int32{ @@ -149,25 +142,11 @@ func file_error_proto_init() { if File_error_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_error_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Error); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_error_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_error_proto_rawDesc), len(file_error_proto_rawDesc)), NumEnums: 0, NumMessages: 1, NumExtensions: 0, @@ -178,7 +157,6 @@ func file_error_proto_init() { MessageInfos: file_error_proto_msgTypes, }.Build() File_error_proto = out.File - file_error_proto_rawDesc = nil file_error_proto_goTypes = nil file_error_proto_depIdxs = nil } diff --git a/pfcpiface/bess_pb/module_msg.pb.go b/pfcpiface/bess_pb/module_msg.pb.go index 824bba106..4627b47f6 100644 --- a/pfcpiface/bess_pb/module_msg.pb.go +++ b/pfcpiface/bess_pb/module_msg.pb.go @@ -32,8 +32,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.6.1 +// protoc-gen-go v1.36.10 +// protoc v3.21.12 // source: module_msg.proto package bess_pb @@ -43,6 +43,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -53,18 +54,16 @@ const ( ) type EmptyArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EmptyArg) Reset() { *x = EmptyArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EmptyArg) String() string { @@ -75,7 +74,7 @@ func (*EmptyArg) ProtoMessage() {} func (x *EmptyArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -90,22 +89,20 @@ func (*EmptyArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{0} } -//* +// * // The BPF module has a command `clear()` that takes no parameters. // This command removes all filters from the module. type BPFCommandClearArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BPFCommandClearArg) Reset() { *x = BPFCommandClearArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BPFCommandClearArg) String() string { @@ -116,7 +113,7 @@ func (*BPFCommandClearArg) ProtoMessage() {} func (x *BPFCommandClearArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -131,7 +128,7 @@ func (*BPFCommandClearArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{1} } -//* +// * // The ExactMatch module has a command `add(...)` that takes two parameters. // The ExactMatch initializer specifies what fields in a packet to inspect; // add() specifies which values to check for over these fields. add() inserts a @@ -139,22 +136,19 @@ func (*BPFCommandClearArg) Descriptor() ([]byte, []int) { // bytestring will be forwarded out a specified gate. Example use: // `add(fields=[aton('12.3.4.5'), aton('5.4.3.2')], gate=2)` type ExactMatchCommandAddArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` /// The gate to forward out packets that mach this rule. + Fields []*FieldData `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` /// The exact match values to check for + Values []*FieldData `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` /// The exact match values to check for unknownFields protoimpl.UnknownFields - - Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` /// The gate to forward out packets that mach this rule. - Fields []*FieldData `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` /// The exact match values to check for - Values []*FieldData `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` /// The exact match values to check for + sizeCache protoimpl.SizeCache } func (x *ExactMatchCommandAddArg) Reset() { *x = ExactMatchCommandAddArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExactMatchCommandAddArg) String() string { @@ -165,7 +159,7 @@ func (*ExactMatchCommandAddArg) ProtoMessage() {} func (x *ExactMatchCommandAddArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -201,24 +195,21 @@ func (x *ExactMatchCommandAddArg) GetValues() []*FieldData { return nil } -//* +// * // The ExactMatch module has a command `delete(...)` which deletes an existing // rule. Example use: `delete(fields=[aton('12.3.4.5'), aton('5.4.3.2')])` type ExactMatchCommandDeleteArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fields []*FieldData `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` /// The field values for the rule to be deleted. unknownFields protoimpl.UnknownFields - - Fields []*FieldData `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` /// The field values for the rule to be deleted. + sizeCache protoimpl.SizeCache } func (x *ExactMatchCommandDeleteArg) Reset() { *x = ExactMatchCommandDeleteArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExactMatchCommandDeleteArg) String() string { @@ -229,7 +220,7 @@ func (*ExactMatchCommandDeleteArg) ProtoMessage() {} func (x *ExactMatchCommandDeleteArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -251,22 +242,20 @@ func (x *ExactMatchCommandDeleteArg) GetFields() []*FieldData { return nil } -//* +// * // The ExactMatch module has a command `clear()` which takes no parameters. // This command removes all rules from the ExactMatch module. type ExactMatchCommandClearArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ExactMatchCommandClearArg) Reset() { *x = ExactMatchCommandClearArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExactMatchCommandClearArg) String() string { @@ -277,7 +266,7 @@ func (*ExactMatchCommandClearArg) ProtoMessage() {} func (x *ExactMatchCommandClearArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -292,25 +281,22 @@ func (*ExactMatchCommandClearArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{4} } -//* +// * // The ExactMatch module has a command `set_default_gate(...)` which takes one // parameter. This command routes all traffic which does _not_ match a rule to a // specified gate. Example use in bessctl: `setDefaultGate(gate=2)` type ExactMatchCommandSetDefaultGateArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` /// The gate number to send the default traffic out. unknownFields protoimpl.UnknownFields - - Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` /// The gate number to send the default traffic out. + sizeCache protoimpl.SizeCache } func (x *ExactMatchCommandSetDefaultGateArg) Reset() { *x = ExactMatchCommandSetDefaultGateArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExactMatchCommandSetDefaultGateArg) String() string { @@ -321,7 +307,7 @@ func (*ExactMatchCommandSetDefaultGateArg) ProtoMessage() {} func (x *ExactMatchCommandSetDefaultGateArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -343,25 +329,22 @@ func (x *ExactMatchCommandSetDefaultGateArg) GetGate() uint64 { return 0 } -//* +// * // The FlowGen module has a command `set_burst(...)` that allows you to specify // the maximum number of packets to be stored in a single PacketBatch released // by the module. type FlowGenCommandSetBurstArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` unknownFields protoimpl.UnknownFields - - Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` + sizeCache protoimpl.SizeCache } func (x *FlowGenCommandSetBurstArg) Reset() { *x = FlowGenCommandSetBurstArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FlowGenCommandSetBurstArg) String() string { @@ -372,7 +355,7 @@ func (*FlowGenCommandSetBurstArg) ProtoMessage() {} func (x *FlowGenCommandSetBurstArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -394,7 +377,7 @@ func (x *FlowGenCommandSetBurstArg) GetBurst() uint64 { return 0 } -//* +// * // The HashLB module has a command `set_mode(...)` which takes two parameters. // The `mode` parameter specifies whether the load balancer will hash over the // src/dest ethernet header (`'l2'`), over the src/dest IP addresses (`'l3'`), @@ -402,21 +385,19 @@ func (x *FlowGenCommandSetBurstArg) GetBurst() uint64 { // is set, the load balancer will hash over the N-tuple with the specified // offsets and sizes. Example use in bessctl: `lb.set_mode('l2')` type HashLBCommandSetModeArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Mode string `protobuf:"bytes,1,opt,name=mode,proto3" json:"mode,omitempty"` /// What fields to hash over, `'l2'`, `'l3'`, and `'l4'` are + // / only valid values. + Fields []*Field `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of fields that define a custom tuple. unknownFields protoimpl.UnknownFields - - Mode string `protobuf:"bytes,1,opt,name=mode,proto3" json:"mode,omitempty"` /// What fields to hash over, `'l2'`, `'l3'`, and `'l4'` are only valid values. - Fields []*Field `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of fields that define a custom tuple. + sizeCache protoimpl.SizeCache } func (x *HashLBCommandSetModeArg) Reset() { *x = HashLBCommandSetModeArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HashLBCommandSetModeArg) String() string { @@ -427,7 +408,7 @@ func (*HashLBCommandSetModeArg) ProtoMessage() {} func (x *HashLBCommandSetModeArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -456,25 +437,22 @@ func (x *HashLBCommandSetModeArg) GetFields() []*Field { return nil } -//* +// * // The HashLB module has a command `set_gates(...)` which takes one parameter. // This function takes in a list of gate numbers to send hashed traffic out // over. Example use in bessctl: `lb.setGates(gates=[0,1,2,3])` type HashLBCommandSetGatesArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to load balance traffic over unknownFields protoimpl.UnknownFields - - Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to load balance traffic over + sizeCache protoimpl.SizeCache } func (x *HashLBCommandSetGatesArg) Reset() { *x = HashLBCommandSetGatesArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HashLBCommandSetGatesArg) String() string { @@ -485,7 +463,7 @@ func (*HashLBCommandSetGatesArg) ProtoMessage() {} func (x *HashLBCommandSetGatesArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -507,28 +485,25 @@ func (x *HashLBCommandSetGatesArg) GetGates() []int64 { return nil } -//* +// * // The IPLookup module has a command `add(...)` which takes three paramters. // This function accepts the routing rules -- CIDR prefix, CIDR prefix length, // and what gate to forward matching traffic out on. // Example use in bessctl: `table.add(prefix='10.0.0.0', prefix_len=8, gate=2)` type IPLookupCommandAddArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` /// The CIDR IP part of the prefix to match + PrefixLen uint64 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` /// The prefix length + Gate uint64 `protobuf:"varint,3,opt,name=gate,proto3" json:"gate,omitempty"` /// The number of the gate to forward matching traffic on. unknownFields protoimpl.UnknownFields - - Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` /// The CIDR IP part of the prefix to match - PrefixLen uint64 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` /// The prefix length - Gate uint64 `protobuf:"varint,3,opt,name=gate,proto3" json:"gate,omitempty"` /// The number of the gate to forward matching traffic on. + sizeCache protoimpl.SizeCache } func (x *IPLookupCommandAddArg) Reset() { *x = IPLookupCommandAddArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IPLookupCommandAddArg) String() string { @@ -539,7 +514,7 @@ func (*IPLookupCommandAddArg) ProtoMessage() {} func (x *IPLookupCommandAddArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -575,26 +550,23 @@ func (x *IPLookupCommandAddArg) GetGate() uint64 { return 0 } -//* +// * // The IPLookup module has a command `delete(...)` which takes two paramters. // This function accepts the routing rules -- CIDR prefix, CIDR prefix length, // Example use in bessctl: `table.delete(prefix='10.0.0.0', prefix_len=8)` type IPLookupCommandDeleteArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` /// The CIDR IP part of the prefix to match + PrefixLen uint64 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` /// The prefix length unknownFields protoimpl.UnknownFields - - Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` /// The CIDR IP part of the prefix to match - PrefixLen uint64 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` /// The prefix length + sizeCache protoimpl.SizeCache } func (x *IPLookupCommandDeleteArg) Reset() { *x = IPLookupCommandDeleteArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IPLookupCommandDeleteArg) String() string { @@ -605,7 +577,7 @@ func (*IPLookupCommandDeleteArg) ProtoMessage() {} func (x *IPLookupCommandDeleteArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -634,23 +606,21 @@ func (x *IPLookupCommandDeleteArg) GetPrefixLen() uint64 { return 0 } -//* +// * // The IPLookup module has a command `clear()` which takes no parameters. // This function removes all rules in the IPLookup table. // Example use in bessctl: `myiplookuptable.clear()` type IPLookupCommandClearArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *IPLookupCommandClearArg) Reset() { *x = IPLookupCommandClearArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IPLookupCommandClearArg) String() string { @@ -661,7 +631,7 @@ func (*IPLookupCommandClearArg) ProtoMessage() {} func (x *IPLookupCommandClearArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -676,25 +646,22 @@ func (*IPLookupCommandClearArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{11} } -//* +// * // The L2Forward module forwards traffic via exact match over the Ethernet // destination address. The command `add(...)` allows you to specifiy a // MAC address and which gate the L2Forward module should direct it out of. type L2ForwardCommandAddArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Entries []*L2ForwardCommandAddArg_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` /// A list of L2Forward entries. unknownFields protoimpl.UnknownFields - - Entries []*L2ForwardCommandAddArg_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` /// A list of L2Forward entries. + sizeCache protoimpl.SizeCache } func (x *L2ForwardCommandAddArg) Reset() { *x = L2ForwardCommandAddArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *L2ForwardCommandAddArg) String() string { @@ -705,7 +672,7 @@ func (*L2ForwardCommandAddArg) ProtoMessage() {} func (x *L2ForwardCommandAddArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -727,24 +694,21 @@ func (x *L2ForwardCommandAddArg) GetEntries() []*L2ForwardCommandAddArg_Entry { return nil } -//* +// * // The L2Forward module has a function `delete(...)` to remove a rule // from the MAC forwarding table. type L2ForwardCommandDeleteArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Addrs []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` /// The address to remove from the forwarding table unknownFields protoimpl.UnknownFields - - Addrs []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` /// The address to remove from the forwarding table + sizeCache protoimpl.SizeCache } func (x *L2ForwardCommandDeleteArg) Reset() { *x = L2ForwardCommandDeleteArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *L2ForwardCommandDeleteArg) String() string { @@ -755,7 +719,7 @@ func (*L2ForwardCommandDeleteArg) ProtoMessage() {} func (x *L2ForwardCommandDeleteArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -777,25 +741,22 @@ func (x *L2ForwardCommandDeleteArg) GetAddrs() []string { return nil } -//* +// * // For traffic reaching the L2Forward module which does not match a MAC rule, // the function `set_default_gate(...)` allows you to specify a default gate // to direct unmatched traffic to. type L2ForwardCommandSetDefaultGateArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gate int64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` /// The default gate to forward traffic which matches no entry to. unknownFields protoimpl.UnknownFields - - Gate int64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` /// The default gate to forward traffic which matches no entry to. + sizeCache protoimpl.SizeCache } func (x *L2ForwardCommandSetDefaultGateArg) Reset() { *x = L2ForwardCommandSetDefaultGateArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *L2ForwardCommandSetDefaultGateArg) String() string { @@ -806,7 +767,7 @@ func (*L2ForwardCommandSetDefaultGateArg) ProtoMessage() {} func (x *L2ForwardCommandSetDefaultGateArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -828,24 +789,21 @@ func (x *L2ForwardCommandSetDefaultGateArg) GetGate() int64 { return 0 } -//* +// * // The L2Forward module has a function `lookup(...)` to query what output gate // a given MAC address will be forwared to; it returns the gate ID number. type L2ForwardCommandLookupArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Addrs []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` /// The MAC address to query for unknownFields protoimpl.UnknownFields - - Addrs []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` /// The MAC address to query for + sizeCache protoimpl.SizeCache } func (x *L2ForwardCommandLookupArg) Reset() { *x = L2ForwardCommandLookupArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *L2ForwardCommandLookupArg) String() string { @@ -856,7 +814,7 @@ func (*L2ForwardCommandLookupArg) ProtoMessage() {} func (x *L2ForwardCommandLookupArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -878,25 +836,22 @@ func (x *L2ForwardCommandLookupArg) GetAddrs() []string { return nil } -//* +// * // This message type provides the reponse to the L2Forward function // `lookup(..)`. It returns the gate that a requested MAC address is currently // assigned to. type L2ForwardCommandLookupResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gates []uint64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// The gate ID that the requested MAC address maps to unknownFields protoimpl.UnknownFields - - Gates []uint64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// The gate ID that the requested MAC address maps to + sizeCache protoimpl.SizeCache } func (x *L2ForwardCommandLookupResponse) Reset() { *x = L2ForwardCommandLookupResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *L2ForwardCommandLookupResponse) String() string { @@ -907,7 +862,7 @@ func (*L2ForwardCommandLookupResponse) ProtoMessage() {} func (x *L2ForwardCommandLookupResponse) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -929,7 +884,7 @@ func (x *L2ForwardCommandLookupResponse) GetGates() []uint64 { return nil } -//* +// * // The L2Forward module has a command `populate(...)` which allows for fast // creation of the forwarding table given a range of MAC addresses. The function // takes in a 'base' MAC address, a count (number of MAC addresses), and a @@ -939,22 +894,19 @@ func (x *L2ForwardCommandLookupResponse) GetGates() []uint64 { // would route addresses `11:22:33:44::(00, 02, 04, 06, 08)` out a gate 0 and // the odd-suffixed addresses out gate 1. type L2ForwardCommandPopulateArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Base string `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` /// The base MAC address + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` /// How many addresses beyond base to populate into the routing table + GateCount int64 `protobuf:"varint,3,opt,name=gate_count,json=gateCount,proto3" json:"gate_count,omitempty"` /// How many gates to create in the L2Forward module. unknownFields protoimpl.UnknownFields - - Base string `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` /// The base MAC address - Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` /// How many addresses beyond base to populate into the routing table - GateCount int64 `protobuf:"varint,3,opt,name=gate_count,json=gateCount,proto3" json:"gate_count,omitempty"` /// How many gates to create in the L2Forward module. + sizeCache protoimpl.SizeCache } func (x *L2ForwardCommandPopulateArg) Reset() { *x = L2ForwardCommandPopulateArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *L2ForwardCommandPopulateArg) String() string { @@ -965,7 +917,7 @@ func (*L2ForwardCommandPopulateArg) ProtoMessage() {} func (x *L2ForwardCommandPopulateArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1001,7 +953,7 @@ func (x *L2ForwardCommandPopulateArg) GetGateCount() int64 { return 0 } -//* +// * // The Measure module measures and collects latency/jitter data for packets // annotated by a Timestamp module. Note that Timestamp and Measure module must // reside on the server for accurate measurement (as a result, the most typical @@ -1010,22 +962,19 @@ func (x *L2ForwardCommandPopulateArg) GetGateCount() int64 { // "percentiles" of [50.0, 99.0] will return [median, 99'th %-ile tail latency] // in "percentile_values_ns" in the response. type MeasureCommandGetSummaryArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Clear bool `protobuf:"varint,1,opt,name=clear,proto3" json:"clear,omitempty"` /// if true, the data will be all cleared after read - LatencyPercentiles []float64 `protobuf:"fixed64,2,rep,packed,name=latency_percentiles,json=latencyPercentiles,proto3" json:"latency_percentiles,omitempty"` /// ascending list of real numbers in [0.0, 100.0] - JitterPercentiles []float64 `protobuf:"fixed64,3,rep,packed,name=jitter_percentiles,json=jitterPercentiles,proto3" json:"jitter_percentiles,omitempty"` /// ascending list of real numbers in [0.0, 100.0] + state protoimpl.MessageState `protogen:"open.v1"` + Clear bool `protobuf:"varint,1,opt,name=clear,proto3" json:"clear,omitempty"` /// if true, the data will be all cleared after read + LatencyPercentiles []float64 `protobuf:"fixed64,2,rep,packed,name=latency_percentiles,json=latencyPercentiles,proto3" json:"latency_percentiles,omitempty"` /// ascending list of real numbers in [0.0, 100.0] + JitterPercentiles []float64 `protobuf:"fixed64,3,rep,packed,name=jitter_percentiles,json=jitterPercentiles,proto3" json:"jitter_percentiles,omitempty"` /// ascending list of real numbers in [0.0, 100.0] + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MeasureCommandGetSummaryArg) Reset() { *x = MeasureCommandGetSummaryArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MeasureCommandGetSummaryArg) String() string { @@ -1036,7 +985,7 @@ func (*MeasureCommandGetSummaryArg) ProtoMessage() {} func (x *MeasureCommandGetSummaryArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1072,7 +1021,7 @@ func (x *MeasureCommandGetSummaryArg) GetJitterPercentiles() []float64 { return nil } -//* +// * // The Measure module function `get_summary()` returns the following values. // Note that the resolution value tells you how grainy the samples are, // e.g., 100 means that anything from 0-99 ns counts as "0", @@ -1080,24 +1029,21 @@ func (x *MeasureCommandGetSummaryArg) GetJitterPercentiles() []float64 { // is of samples using this graininess, but (being a result of division) // may not be a multiple of the resolution. type MeasureCommandGetSummaryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Timestamp float64 `protobuf:"fixed64,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// Seconds since boot. + Packets uint64 `protobuf:"varint,2,opt,name=packets,proto3" json:"packets,omitempty"` /// Total # of packets seen by this module. + Bits uint64 `protobuf:"varint,3,opt,name=bits,proto3" json:"bits,omitempty"` /// Total # of bits seen by this module. + Latency *MeasureCommandGetSummaryResponse_Histogram `protobuf:"bytes,4,opt,name=latency,proto3" json:"latency,omitempty"` + Jitter *MeasureCommandGetSummaryResponse_Histogram `protobuf:"bytes,5,opt,name=jitter,proto3" json:"jitter,omitempty"` unknownFields protoimpl.UnknownFields - - Timestamp float64 `protobuf:"fixed64,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` /// Seconds since boot. - Packets uint64 `protobuf:"varint,2,opt,name=packets,proto3" json:"packets,omitempty"` /// Total # of packets seen by this module. - Bits uint64 `protobuf:"varint,3,opt,name=bits,proto3" json:"bits,omitempty"` /// Total # of bits seen by this module. - Latency *MeasureCommandGetSummaryResponse_Histogram `protobuf:"bytes,4,opt,name=latency,proto3" json:"latency,omitempty"` - Jitter *MeasureCommandGetSummaryResponse_Histogram `protobuf:"bytes,5,opt,name=jitter,proto3" json:"jitter,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MeasureCommandGetSummaryResponse) Reset() { *x = MeasureCommandGetSummaryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MeasureCommandGetSummaryResponse) String() string { @@ -1108,7 +1054,7 @@ func (*MeasureCommandGetSummaryResponse) ProtoMessage() {} func (x *MeasureCommandGetSummaryResponse) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1158,7 +1104,7 @@ func (x *MeasureCommandGetSummaryResponse) GetJitter() *MeasureCommandGetSummary return nil } -//* +// * // The Module DRR provides fair scheduling of flows based on a quantum which is // number of bytes allocated to each flow on each round of going through all // flows. Examples can be found [./bessctl/conf/samples/drr.bess] @@ -1166,22 +1112,19 @@ func (x *MeasureCommandGetSummaryResponse) GetJitter() *MeasureCommandGetSummary // __Input_Gates__: 1 // __Output_Gates__: 1 type DRRArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NumFlows uint32 `protobuf:"varint,1,opt,name=num_flows,json=numFlows,proto3" json:"num_flows,omitempty"` /// Number of flows to handle in module - Quantum uint64 `protobuf:"varint,2,opt,name=quantum,proto3" json:"quantum,omitempty"` /// the number of bytes to allocate to each on every round - MaxFlowQueueSize uint32 `protobuf:"varint,3,opt,name=max_flow_queue_size,json=maxFlowQueueSize,proto3" json:"max_flow_queue_size,omitempty"` /// the max size that any Flows queue can get + state protoimpl.MessageState `protogen:"open.v1"` + NumFlows uint32 `protobuf:"varint,1,opt,name=num_flows,json=numFlows,proto3" json:"num_flows,omitempty"` /// Number of flows to handle in module + Quantum uint64 `protobuf:"varint,2,opt,name=quantum,proto3" json:"quantum,omitempty"` /// the number of bytes to allocate to each on every round + MaxFlowQueueSize uint32 `protobuf:"varint,3,opt,name=max_flow_queue_size,json=maxFlowQueueSize,proto3" json:"max_flow_queue_size,omitempty"` /// the max size that any Flows queue can get + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DRRArg) Reset() { *x = DRRArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DRRArg) String() string { @@ -1192,7 +1135,7 @@ func (*DRRArg) ProtoMessage() {} func (x *DRRArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1228,23 +1171,20 @@ func (x *DRRArg) GetMaxFlowQueueSize() uint32 { return 0 } -//* +// * // the SetQuantumSize function sets a new quantum for DRR module to operate on. type DRRQuantumArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Quantum uint32 `protobuf:"varint,1,opt,name=quantum,proto3" json:"quantum,omitempty"` /// the number of bytes to allocate to each on every round unknownFields protoimpl.UnknownFields - - Quantum uint32 `protobuf:"varint,1,opt,name=quantum,proto3" json:"quantum,omitempty"` /// the number of bytes to allocate to each on every round + sizeCache protoimpl.SizeCache } func (x *DRRQuantumArg) Reset() { *x = DRRQuantumArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DRRQuantumArg) String() string { @@ -1255,7 +1195,7 @@ func (*DRRQuantumArg) ProtoMessage() {} func (x *DRRQuantumArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1277,25 +1217,22 @@ func (x *DRRQuantumArg) GetQuantum() uint32 { return 0 } -//* +// * // The SetMaxQueueSize function sets a new maximum flow queue size for DRR // module. If the flow's queue gets to this size, the module starts dropping // packets to that flow until the queue is below this size. type DRRMaxFlowQueueSizeArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + MaxQueueSize uint32 `protobuf:"varint,1,opt,name=max_queue_size,json=maxQueueSize,proto3" json:"max_queue_size,omitempty"` /// the max size that any Flows queue can get unknownFields protoimpl.UnknownFields - - MaxQueueSize uint32 `protobuf:"varint,1,opt,name=max_queue_size,json=maxQueueSize,proto3" json:"max_queue_size,omitempty"` /// the max size that any Flows queue can get + sizeCache protoimpl.SizeCache } func (x *DRRMaxFlowQueueSizeArg) Reset() { *x = DRRMaxFlowQueueSizeArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DRRMaxFlowQueueSizeArg) String() string { @@ -1306,7 +1243,7 @@ func (*DRRMaxFlowQueueSizeArg) ProtoMessage() {} func (x *DRRMaxFlowQueueSizeArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1328,25 +1265,22 @@ func (x *DRRMaxFlowQueueSizeArg) GetMaxQueueSize() uint32 { return 0 } -//* +// * // The module PortInc has a function `set_burst(...)` that allows you to specify // the maximum number of packets to be stored in a single PacketBatch released // by the module. type PortIncCommandSetBurstArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` /// The maximum "burst" of packets (ie, the maximum batch size) unknownFields protoimpl.UnknownFields - - Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` /// The maximum "burst" of packets (ie, the maximum batch size) + sizeCache protoimpl.SizeCache } func (x *PortIncCommandSetBurstArg) Reset() { *x = PortIncCommandSetBurstArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PortIncCommandSetBurstArg) String() string { @@ -1357,7 +1291,7 @@ func (*PortIncCommandSetBurstArg) ProtoMessage() {} func (x *PortIncCommandSetBurstArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1379,25 +1313,22 @@ func (x *PortIncCommandSetBurstArg) GetBurst() uint64 { return 0 } -//* +// * // The module QueueInc has a function `set_burst(...)` that allows you to // specify the maximum number of packets to be stored in a single PacketBatch // released by the module. type QueueIncCommandSetBurstArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` /// The maximum "burst" of packets (ie, the maximum batch size) unknownFields protoimpl.UnknownFields - - Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` /// The maximum "burst" of packets (ie, the maximum batch size) + sizeCache protoimpl.SizeCache } func (x *QueueIncCommandSetBurstArg) Reset() { *x = QueueIncCommandSetBurstArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueueIncCommandSetBurstArg) String() string { @@ -1408,7 +1339,7 @@ func (*QueueIncCommandSetBurstArg) ProtoMessage() {} func (x *QueueIncCommandSetBurstArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1430,25 +1361,22 @@ func (x *QueueIncCommandSetBurstArg) GetBurst() uint64 { return 0 } -//* +// * // The module Queue has a function `set_burst(...)` that allows you to specify // the maximum number of packets to be stored in a single PacketBatch released // by the module. type QueueCommandSetBurstArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` /// The maximum "burst" of packets (ie, the maximum batch size) unknownFields protoimpl.UnknownFields - - Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` /// The maximum "burst" of packets (ie, the maximum batch size) + sizeCache protoimpl.SizeCache } func (x *QueueCommandSetBurstArg) Reset() { *x = QueueCommandSetBurstArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueueCommandSetBurstArg) String() string { @@ -1459,7 +1387,7 @@ func (*QueueCommandSetBurstArg) ProtoMessage() {} func (x *QueueCommandSetBurstArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1481,24 +1409,21 @@ func (x *QueueCommandSetBurstArg) GetBurst() uint64 { return 0 } -//* +// * // The module Queue has a function `set_size(...)` that allows specifying the // size of the queue in total number of packets. type QueueCommandSetSizeArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// The maximum number of packets to store in the queue. unknownFields protoimpl.UnknownFields - - Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// The maximum number of packets to store in the queue. + sizeCache protoimpl.SizeCache } func (x *QueueCommandSetSizeArg) Reset() { *x = QueueCommandSetSizeArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueueCommandSetSizeArg) String() string { @@ -1509,7 +1434,7 @@ func (*QueueCommandSetSizeArg) ProtoMessage() {} func (x *QueueCommandSetSizeArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1531,22 +1456,20 @@ func (x *QueueCommandSetSizeArg) GetSize() uint64 { return 0 } -//* +// * // Modules that are queues or contain queues may contain functions // `get_status()` that return QueueCommandGetStatusResponse. type QueueCommandGetStatusArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueueCommandGetStatusArg) Reset() { *x = QueueCommandGetStatusArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueueCommandGetStatusArg) String() string { @@ -1557,7 +1480,7 @@ func (*QueueCommandGetStatusArg) ProtoMessage() {} func (x *QueueCommandGetStatusArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1572,29 +1495,26 @@ func (*QueueCommandGetStatusArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{27} } -//* +// * // Modules that are queues or contain queues may contain functions // `get_status()` that take no parameters and returns the queue occupancy and // size. type QueueCommandGetStatusResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` /// The number of packets currently in the queue. + Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// The maximum number of packets the queue can contain. + Enqueued uint64 `protobuf:"varint,3,opt,name=enqueued,proto3" json:"enqueued,omitempty"` /// total enqueued + Dequeued uint64 `protobuf:"varint,4,opt,name=dequeued,proto3" json:"dequeued,omitempty"` /// total dequeued + Dropped uint64 `protobuf:"varint,5,opt,name=dropped,proto3" json:"dropped,omitempty"` /// total dropped unknownFields protoimpl.UnknownFields - - Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` /// The number of packets currently in the queue. - Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// The maximum number of packets the queue can contain. - Enqueued uint64 `protobuf:"varint,3,opt,name=enqueued,proto3" json:"enqueued,omitempty"` /// total enqueued - Dequeued uint64 `protobuf:"varint,4,opt,name=dequeued,proto3" json:"dequeued,omitempty"` /// total dequeued - Dropped uint64 `protobuf:"varint,5,opt,name=dropped,proto3" json:"dropped,omitempty"` /// total dropped + sizeCache protoimpl.SizeCache } func (x *QueueCommandGetStatusResponse) Reset() { *x = QueueCommandGetStatusResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueueCommandGetStatusResponse) String() string { @@ -1605,7 +1525,7 @@ func (*QueueCommandGetStatusResponse) ProtoMessage() {} func (x *QueueCommandGetStatusResponse) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1655,22 +1575,20 @@ func (x *QueueCommandGetStatusResponse) GetDropped() uint64 { return 0 } -//* +// * // The function `clear()` for RandomUpdate takes no parameters and clears all // state in the module. type RandomUpdateCommandClearArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RandomUpdateCommandClearArg) Reset() { *x = RandomUpdateCommandClearArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RandomUpdateCommandClearArg) String() string { @@ -1681,7 +1599,7 @@ func (*RandomUpdateCommandClearArg) ProtoMessage() {} func (x *RandomUpdateCommandClearArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1696,22 +1614,20 @@ func (*RandomUpdateCommandClearArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{29} } -//* +// * // The function `clear()` for Rewrite takes no parameters and clears all state // in the module. type RewriteCommandClearArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RewriteCommandClearArg) Reset() { *x = RewriteCommandClearArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RewriteCommandClearArg) String() string { @@ -1722,7 +1638,7 @@ func (*RewriteCommandClearArg) ProtoMessage() {} func (x *RewriteCommandClearArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1737,22 +1653,20 @@ func (*RewriteCommandClearArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{30} } -//* +// * // The function `clear()` for Update takes no parameters and clears all state in // the module. type UpdateCommandClearArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UpdateCommandClearArg) Reset() { *x = UpdateCommandClearArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateCommandClearArg) String() string { @@ -1763,7 +1677,7 @@ func (*UpdateCommandClearArg) ProtoMessage() {} func (x *UpdateCommandClearArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1778,29 +1692,28 @@ func (*UpdateCommandClearArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{31} } -//* +// * // The module WildcardMatch has a command `add(...)` which inserts a new rule // into the WildcardMatch module. For an example of code using WilcardMatch see // `bess/bessctl/conf/samples/wildcardmatch.bess`. type WildcardMatchCommandAddArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` /// Traffic matching this new rule will be sent to this gate. + Priority int64 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"` /// If a packet matches multiple rules, the rule with higher priority + // / will be applied. If priorities are equal behavior is undefined. + Values []*FieldData `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` /// The values to check for in each field. + Masks []*FieldData `protobuf:"bytes,4,rep,name=masks,proto3" json:"masks,omitempty"` /// The bitmask for each field -- set `0x0` to + // / ignore the field altogether. + Valuesv []*FieldData `protobuf:"bytes,5,rep,name=valuesv,proto3" json:"valuesv,omitempty"` /// The values to check for in each fieldv. unknownFields protoimpl.UnknownFields - - Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` /// Traffic matching this new rule will be sent to this gate. - Priority int64 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"` ///If a packet matches multiple rules, the rule with higher priority will be applied. If priorities are equal behavior is undefined. - Values []*FieldData `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` /// The values to check for in each field. - Masks []*FieldData `protobuf:"bytes,4,rep,name=masks,proto3" json:"masks,omitempty"` /// The bitmask for each field -- set `0x0` to ignore the field altogether. - Valuesv []*FieldData `protobuf:"bytes,5,rep,name=valuesv,proto3" json:"valuesv,omitempty"` /// The values to check for in each fieldv. + sizeCache protoimpl.SizeCache } func (x *WildcardMatchCommandAddArg) Reset() { *x = WildcardMatchCommandAddArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WildcardMatchCommandAddArg) String() string { @@ -1811,7 +1724,7 @@ func (*WildcardMatchCommandAddArg) ProtoMessage() {} func (x *WildcardMatchCommandAddArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1861,26 +1774,23 @@ func (x *WildcardMatchCommandAddArg) GetValuesv() []*FieldData { return nil } -//* +// * // The module WildcardMatch has a command `delete(...)` which removes a rule -- // simply specify the values and masks from the previously inserted rule to // remove them. type WildcardMatchCommandDeleteArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Values []*FieldData `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` /// The values being checked for in the rule + Masks []*FieldData `protobuf:"bytes,2,rep,name=masks,proto3" json:"masks,omitempty"` /// The bitmask from the rule. unknownFields protoimpl.UnknownFields - - Values []*FieldData `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` /// The values being checked for in the rule - Masks []*FieldData `protobuf:"bytes,2,rep,name=masks,proto3" json:"masks,omitempty"` /// The bitmask from the rule. + sizeCache protoimpl.SizeCache } func (x *WildcardMatchCommandDeleteArg) Reset() { *x = WildcardMatchCommandDeleteArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WildcardMatchCommandDeleteArg) String() string { @@ -1891,7 +1801,7 @@ func (*WildcardMatchCommandDeleteArg) ProtoMessage() {} func (x *WildcardMatchCommandDeleteArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1920,23 +1830,21 @@ func (x *WildcardMatchCommandDeleteArg) GetMasks() []*FieldData { return nil } -//* +// * // The function `clear()` for WildcardMatch takes no parameters, it clears // all state in the WildcardMatch module (is equivalent to calling delete for // all rules) type WildcardMatchCommandClearArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WildcardMatchCommandClearArg) Reset() { *x = WildcardMatchCommandClearArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WildcardMatchCommandClearArg) String() string { @@ -1947,7 +1855,7 @@ func (*WildcardMatchCommandClearArg) ProtoMessage() {} func (x *WildcardMatchCommandClearArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1962,25 +1870,22 @@ func (*WildcardMatchCommandClearArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{34} } -//* +// * // For traffic which does not match any rule in the WildcardMatch module, // the `set_default_gate(...)` function specifies which gate to send this extra // traffic to. type WildcardMatchCommandSetDefaultGateArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` unknownFields protoimpl.UnknownFields - - Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WildcardMatchCommandSetDefaultGateArg) Reset() { *x = WildcardMatchCommandSetDefaultGateArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WildcardMatchCommandSetDefaultGateArg) String() string { @@ -1991,7 +1896,7 @@ func (*WildcardMatchCommandSetDefaultGateArg) ProtoMessage() {} func (x *WildcardMatchCommandSetDefaultGateArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2013,7 +1918,7 @@ func (x *WildcardMatchCommandSetDefaultGateArg) GetGate() uint64 { return 0 } -//* +// * // The module ACL creates an access control module which by default blocks all // traffic, unless it contains a rule which specifies otherwise. Examples of ACL // can be found in @@ -2022,20 +1927,17 @@ func (x *WildcardMatchCommandSetDefaultGateArg) GetGate() uint64 { // __Input Gates__: 1 // __Output Gates__: 1 type ACLArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Rules []*ACLArg_Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` /// A list of ACL rules. unknownFields protoimpl.UnknownFields - - Rules []*ACLArg_Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` /// A list of ACL rules. + sizeCache protoimpl.SizeCache } func (x *ACLArg) Reset() { *x = ACLArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ACLArg) String() string { @@ -2046,7 +1948,7 @@ func (*ACLArg) ProtoMessage() {} func (x *ACLArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2068,27 +1970,24 @@ func (x *ACLArg) GetRules() []*ACLArg_Rule { return nil } -//* +// * // The BPF module is an access control module that sends packets out on a // particular gate based on whether they match a BPF filter. // // __Input Gates__: 1 // __Output Gates__: many (configurable) type BPFArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Filters []*BPFArg_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` /// The BPF initialized function takes a list of BPF filters. unknownFields protoimpl.UnknownFields - - Filters []*BPFArg_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` /// The BPF initialized function takes a list of BPF filters. + sizeCache protoimpl.SizeCache } func (x *BPFArg) Reset() { *x = BPFArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BPFArg) String() string { @@ -2099,7 +1998,7 @@ func (*BPFArg) ProtoMessage() {} func (x *BPFArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2121,7 +2020,7 @@ func (x *BPFArg) GetFilters() []*BPFArg_Filter { return nil } -//* +// * // The Buffer module takes no parameters to initialize (ie, `Buffer()` is // sufficient to create one). Buffer accepts packets and stores them; it may // forward them to the next module only after it has received enough packets to @@ -2130,18 +2029,16 @@ func (x *BPFArg) GetFilters() []*BPFArg_Filter { // __Input Gates__: 1 // __Output Gates__: 1 type BufferArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BufferArg) Reset() { *x = BufferArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BufferArg) String() string { @@ -2152,7 +2049,7 @@ func (*BufferArg) ProtoMessage() {} func (x *BufferArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2167,7 +2064,7 @@ func (*BufferArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{38} } -//* +// * // The Bypass module forwards packets by emulating pre-defined packet processing // overhead. It burns cpu cycles per_batch, per_packet, and per-bytes. Bypass is // useful primarily for testing and performance evaluation. @@ -2175,22 +2072,19 @@ func (*BufferArg) Descriptor() ([]byte, []int) { // __Input Gates__: 1 // __Output Gates__: 1 type BypassArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CyclesPerBatch uint32 `protobuf:"varint,1,opt,name=cycles_per_batch,json=cyclesPerBatch,proto3" json:"cycles_per_batch,omitempty"` - CyclesPerPacket uint32 `protobuf:"varint,2,opt,name=cycles_per_packet,json=cyclesPerPacket,proto3" json:"cycles_per_packet,omitempty"` - CyclesPerByte uint32 `protobuf:"varint,3,opt,name=cycles_per_byte,json=cyclesPerByte,proto3" json:"cycles_per_byte,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + CyclesPerBatch uint32 `protobuf:"varint,1,opt,name=cycles_per_batch,json=cyclesPerBatch,proto3" json:"cycles_per_batch,omitempty"` + CyclesPerPacket uint32 `protobuf:"varint,2,opt,name=cycles_per_packet,json=cyclesPerPacket,proto3" json:"cycles_per_packet,omitempty"` + CyclesPerByte uint32 `protobuf:"varint,3,opt,name=cycles_per_byte,json=cyclesPerByte,proto3" json:"cycles_per_byte,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BypassArg) Reset() { *x = BypassArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BypassArg) String() string { @@ -2201,7 +2095,7 @@ func (*BypassArg) ProtoMessage() {} func (x *BypassArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2237,7 +2131,7 @@ func (x *BypassArg) GetCyclesPerByte() uint32 { return 0 } -//* +// * // The Dump module blindly forwards packets without modifying them. It // periodically samples a packet and prints out out to the BESS log (by default // stored in `/tmp/bessd.INFO`). @@ -2245,20 +2139,17 @@ func (x *BypassArg) GetCyclesPerByte() uint32 { // __Input Gates__: 1 // __Output Gates__: 1 type DumpArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Interval float64 `protobuf:"fixed64,1,opt,name=interval,proto3" json:"interval,omitempty"` /// How frequently to sample and print a packet, in seconds. unknownFields protoimpl.UnknownFields - - Interval float64 `protobuf:"fixed64,1,opt,name=interval,proto3" json:"interval,omitempty"` /// How frequently to sample and print a packet, in seconds. + sizeCache protoimpl.SizeCache } func (x *DumpArg) Reset() { *x = DumpArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DumpArg) String() string { @@ -2269,7 +2160,7 @@ func (*DumpArg) ProtoMessage() {} func (x *DumpArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2291,7 +2182,7 @@ func (x *DumpArg) GetInterval() float64 { return 0 } -//* +// * // The EtherEncap module wraps packets in an Ethernet header, but it takes no // parameters. Instead, Ethernet source, destination, and type are pulled from a // packet's metadata attributes. For example: `SetMetadata('dst_mac', @@ -2301,18 +2192,16 @@ func (x *DumpArg) GetInterval() float64 { // __Input Gates__: 1 // __Output Gates__: 1 type EtherEncapArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EtherEncapArg) Reset() { *x = EtherEncapArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EtherEncapArg) String() string { @@ -2323,7 +2212,7 @@ func (*EtherEncapArg) ProtoMessage() {} func (x *EtherEncapArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2338,7 +2227,7 @@ func (*EtherEncapArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{41} } -//* +// * // The ExactMatch module splits packets along output gates according to exact // match values in arbitrary packet fields. To instantiate an ExactMatch module, // you must specify which fields in the packet to match over. You can add rules @@ -2350,24 +2239,21 @@ func (*EtherEncapArg) Descriptor() ([]byte, []int) { // __Input Gates__: 1 // __Output Gates__: many (configurable) type ExactMatchArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of ExactMatch Fields + Masks []*FieldData `protobuf:"bytes,2,rep,name=masks,proto3" json:"masks,omitempty"` /// mask(i) corresponds to the mask for field(i) + Values []*Field `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` /// A list of ExactMatch Values + Masksv []*FieldData `protobuf:"bytes,4,rep,name=masksv,proto3" json:"masksv,omitempty"` /// mask(i) corresponds to the mask for value(i) + Entries uint64 `protobuf:"varint,5,opt,name=entries,proto3" json:"entries,omitempty"` unknownFields protoimpl.UnknownFields - - Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of ExactMatch Fields - Masks []*FieldData `protobuf:"bytes,2,rep,name=masks,proto3" json:"masks,omitempty"` /// mask(i) corresponds to the mask for field(i) - Values []*Field `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` /// A list of ExactMatch Values - Masksv []*FieldData `protobuf:"bytes,4,rep,name=masksv,proto3" json:"masksv,omitempty"` /// mask(i) corresponds to the mask for value(i) - Entries uint64 `protobuf:"varint,5,opt,name=entries,proto3" json:"entries,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ExactMatchArg) Reset() { *x = ExactMatchArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExactMatchArg) String() string { @@ -2378,7 +2264,7 @@ func (*ExactMatchArg) ProtoMessage() {} func (x *ExactMatchArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2428,26 +2314,23 @@ func (x *ExactMatchArg) GetEntries() uint64 { return 0 } -//* +// * // ExactMatchConfig represents the current runtime configuration // of an ExactMatch module, as returned by get_runtime_config and // set by set_runtime_config. type ExactMatchConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DefaultGate uint64 `protobuf:"varint,1,opt,name=default_gate,json=defaultGate,proto3" json:"default_gate,omitempty"` + Rules []*ExactMatchCommandAddArg `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` unknownFields protoimpl.UnknownFields - - DefaultGate uint64 `protobuf:"varint,1,opt,name=default_gate,json=defaultGate,proto3" json:"default_gate,omitempty"` - Rules []*ExactMatchCommandAddArg `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ExactMatchConfig) Reset() { *x = ExactMatchConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExactMatchConfig) String() string { @@ -2458,7 +2341,7 @@ func (*ExactMatchConfig) ProtoMessage() {} func (x *ExactMatchConfig) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2487,7 +2370,7 @@ func (x *ExactMatchConfig) GetRules() []*ExactMatchCommandAddArg { return nil } -//* +// * // The FlowGen module generates simulated TCP flows of packets with correct // SYN/FIN flags and sequence numbers. This module is useful for testing, e.g., // a NAT module or other flow-aware code. Packets are generated off a base, @@ -2498,30 +2381,39 @@ func (x *ExactMatchConfig) GetRules() []*ExactMatchCommandAddArg { // __Input Gates__: 0 // __Output Gates__: 1 type FlowGenArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Template []byte `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"` /// The packet "template". All data packets are derived + // / from this template and contain the same payload. + Pps float64 `protobuf:"fixed64,2,opt,name=pps,proto3" json:"pps,omitempty"` /// The total number of packets per second to generate. + FlowRate float64 `protobuf:"fixed64,3,opt,name=flow_rate,json=flowRate,proto3" json:"flow_rate,omitempty"` /// The number of new flows to create every second. + // / flow_rate must be <= pps. + FlowDuration float64 `protobuf:"fixed64,4,opt,name=flow_duration,json=flowDuration,proto3" json:"flow_duration,omitempty"` /// The lifetime of a flow in seconds. + Arrival string `protobuf:"bytes,5,opt,name=arrival,proto3" json:"arrival,omitempty"` /// The packet arrival distribution -- must be either + // / "uniform" or "exponential" + Duration string `protobuf:"bytes,6,opt,name=duration,proto3" json:"duration,omitempty"` /// The flow duration distribution -- must be either + // / "uniform" or "pareto" + QuickRampup bool `protobuf:"varint,7,opt,name=quick_rampup,json=quickRampup,proto3" json:"quick_rampup,omitempty"` /// Whether or not to populate the flowgenerator with initial flows + // / (start generating full pps rate immediately) or to wait for new + // / flows to be generated naturally (all flows have a SYN packet). + IpSrcRange uint32 `protobuf:"varint,8,opt,name=ip_src_range,json=ipSrcRange,proto3" json:"ip_src_range,omitempty"` /// When generating new flows, FlowGen modifies the template packet by + // / changing the IP src, incrementing it by at most ip_src_range + // / (e.g., if the base packet is 10.0.0.1 and range is 5, it will + // / generate packets with IPs 10.0.0.1-10.0.0.6). + IpDstRange uint32 `protobuf:"varint,9,opt,name=ip_dst_range,json=ipDstRange,proto3" json:"ip_dst_range,omitempty"` /// When generating new flows, FlowGen modifies the template packet by + // / changing the IP dst, incrementing it by at most ip_dst_range. + PortSrcRange uint32 `protobuf:"varint,10,opt,name=port_src_range,json=portSrcRange,proto3" json:"port_src_range,omitempty"` /// When generating new flows, FlowGen modifies + // / the template packet by changing the TCP port, + // / incrementing it by at most port_src_range. + PortDstRange uint32 `protobuf:"varint,11,opt,name=port_dst_range,json=portDstRange,proto3" json:"port_dst_range,omitempty"` /// When generating new flows, FlowGen modifies the template packet unknownFields protoimpl.UnknownFields - - Template []byte `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"` /// The packet "template". All data packets are derived from this template and contain the same payload. - Pps float64 `protobuf:"fixed64,2,opt,name=pps,proto3" json:"pps,omitempty"` /// The total number of packets per second to generate. - FlowRate float64 `protobuf:"fixed64,3,opt,name=flow_rate,json=flowRate,proto3" json:"flow_rate,omitempty"` /// The number of new flows to create every second. flow_rate must be <= pps. - FlowDuration float64 `protobuf:"fixed64,4,opt,name=flow_duration,json=flowDuration,proto3" json:"flow_duration,omitempty"` /// The lifetime of a flow in seconds. - Arrival string `protobuf:"bytes,5,opt,name=arrival,proto3" json:"arrival,omitempty"` /// The packet arrival distribution -- must be either "uniform" or "exponential" - Duration string `protobuf:"bytes,6,opt,name=duration,proto3" json:"duration,omitempty"` /// The flow duration distribution -- must be either "uniform" or "pareto" - QuickRampup bool `protobuf:"varint,7,opt,name=quick_rampup,json=quickRampup,proto3" json:"quick_rampup,omitempty"` /// Whether or not to populate the flowgenerator with initial flows (start generating full pps rate immediately) or to wait for new flows to be generated naturally (all flows have a SYN packet). - IpSrcRange uint32 `protobuf:"varint,8,opt,name=ip_src_range,json=ipSrcRange,proto3" json:"ip_src_range,omitempty"` /// When generating new flows, FlowGen modifies the template packet by changing the IP src, incrementing it by at most ip_src_range (e.g., if the base packet is 10.0.0.1 and range is 5, it will generate packets with IPs 10.0.0.1-10.0.0.6). - IpDstRange uint32 `protobuf:"varint,9,opt,name=ip_dst_range,json=ipDstRange,proto3" json:"ip_dst_range,omitempty"` /// When generating new flows, FlowGen modifies the template packet by changing the IP dst, incrementing it by at most ip_dst_range. - PortSrcRange uint32 `protobuf:"varint,10,opt,name=port_src_range,json=portSrcRange,proto3" json:"port_src_range,omitempty"` /// When generating new flows, FlowGen modifies the template packet by changing the TCP port, incrementing it by at most port_src_range. - PortDstRange uint32 `protobuf:"varint,11,opt,name=port_dst_range,json=portDstRange,proto3" json:"port_dst_range,omitempty"` /// When generating new flows, FlowGen modifies the template packet by changing the TCP dst port, incrementing it by at most port_dst_range. + sizeCache protoimpl.SizeCache } func (x *FlowGenArg) Reset() { *x = FlowGenArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FlowGenArg) String() string { @@ -2532,7 +2424,7 @@ func (*FlowGenArg) ProtoMessage() {} func (x *FlowGenArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2624,26 +2516,23 @@ func (x *FlowGenArg) GetPortDstRange() uint32 { return 0 } -//* +// * // The GenericDecap module strips off the first few bytes of data from a packet. // // __Input Gates__: 1 // __Ouptut Gates__: 1 type GenericDecapArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Bytes uint64 `protobuf:"varint,1,opt,name=bytes,proto3" json:"bytes,omitempty"` /// The number of bytes to strip off. unknownFields protoimpl.UnknownFields - - Bytes uint64 `protobuf:"varint,1,opt,name=bytes,proto3" json:"bytes,omitempty"` /// The number of bytes to strip off. + sizeCache protoimpl.SizeCache } func (x *GenericDecapArg) Reset() { *x = GenericDecapArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GenericDecapArg) String() string { @@ -2654,7 +2543,7 @@ func (*GenericDecapArg) ProtoMessage() {} func (x *GenericDecapArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2676,7 +2565,7 @@ func (x *GenericDecapArg) GetBytes() uint64 { return 0 } -//* +// * // The GenericEncap module adds a header to packets passing through it. // Takes a list of fields. Each field is either: // @@ -2684,10 +2573,13 @@ func (x *GenericDecapArg) GetBytes() uint64 { // 2. {'size': X, 'attribute': Y} (for metadata attributes) // // e.g.: `GenericEncap([{'size': 4, 'value': 0xdeadbeef}, -// {'size': 2, 'attribute': 'foo'}, -// {'size': 2, 'value': 0x1234}])` +// +// {'size': 2, 'attribute': 'foo'}, +// {'size': 2, 'value': 0x1234}])` +// // will prepend a 8-byte header: -// `de ad be ef 12 34` +// +// `de ad be ef 12 34` // // where the 2-byte ` ` comes from the value of metadata attribute // `'foo'` for each packet. An example script using GenericEncap is in @@ -2696,20 +2588,17 @@ func (x *GenericDecapArg) GetBytes() uint64 { // __Input Gates__: 1 // __Output Gates__: 1 type GenericEncapArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fields []*GenericEncapArg_EncapField `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Fields []*GenericEncapArg_EncapField `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GenericEncapArg) Reset() { *x = GenericEncapArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GenericEncapArg) String() string { @@ -2720,7 +2609,7 @@ func (*GenericEncapArg) ProtoMessage() {} func (x *GenericEncapArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2742,7 +2631,7 @@ func (x *GenericEncapArg) GetFields() []*GenericEncapArg_EncapField { return nil } -//* +// * // The HashLB module partitions packets between output gates according to either // a hash over their MAC src/dst (`mode='l2'`), their IP src/dst (`mode='l3'`), // the full IP/TCP 5-tuple (`mode='l4'`), or the N-tuple defined by `fields`. @@ -2750,22 +2639,19 @@ func (x *GenericEncapArg) GetFields() []*GenericEncapArg_EncapField { // __Input Gates__: 1 // __Output Gates__: many (configurable) type HashLBArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers over which to partition packets + Mode string `protobuf:"bytes,2,opt,name=mode,proto3" json:"mode,omitempty"` /// The mode (`'l2'`, `'l3'`, or `'l4'`) for the hash function. + Fields []*Field `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of fields that define a custom tuple. unknownFields protoimpl.UnknownFields - - Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers over which to partition packets - Mode string `protobuf:"bytes,2,opt,name=mode,proto3" json:"mode,omitempty"` /// The mode (`'l2'`, `'l3'`, or `'l4'`) for the hash function. - Fields []*Field `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of fields that define a custom tuple. + sizeCache protoimpl.SizeCache } func (x *HashLBArg) Reset() { *x = HashLBArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HashLBArg) String() string { @@ -2776,7 +2662,7 @@ func (*HashLBArg) ProtoMessage() {} func (x *HashLBArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2812,7 +2698,7 @@ func (x *HashLBArg) GetFields() []*Field { return nil } -//* +// * // Encapsulates a packet with an IP header, where IP src, dst, and proto are // filled in by metadata values carried with the packet. Metadata attributes // must include: ip_src, ip_dst, ip_proto, ip_nexthop, and ether_type. @@ -2820,18 +2706,16 @@ func (x *HashLBArg) GetFields() []*Field { // __Input Gates__: 1 // __Output Gates__: 1 type IPEncapArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *IPEncapArg) Reset() { *x = IPEncapArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IPEncapArg) String() string { @@ -2842,7 +2726,7 @@ func (*IPEncapArg) ProtoMessage() {} func (x *IPEncapArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2857,7 +2741,7 @@ func (*IPEncapArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{48} } -//* +// * // An IPLookup module perfroms LPM lookups over a packet destination. // IPLookup takes no parameters to instantiate. // To add rules to the IPLookup table, use `IPLookup.add()` @@ -2865,21 +2749,18 @@ func (*IPEncapArg) Descriptor() ([]byte, []int) { // __Input Gates__: 1 // __Output Gates__: many (configurable, depending on rule values) type IPLookupArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + MaxRules uint32 `protobuf:"varint,1,opt,name=max_rules,json=maxRules,proto3" json:"max_rules,omitempty"` /// Maximum number of rules (default: 1024) + MaxTbl8S uint32 `protobuf:"varint,2,opt,name=max_tbl8s,json=maxTbl8s,proto3" json:"max_tbl8s,omitempty"` /// Maximum number of IP prefixes with smaller than /24 (default: 128) unknownFields protoimpl.UnknownFields - - MaxRules uint32 `protobuf:"varint,1,opt,name=max_rules,json=maxRules,proto3" json:"max_rules,omitempty"` /// Maximum number of rules (default: 1024) - MaxTbl8S uint32 `protobuf:"varint,2,opt,name=max_tbl8s,json=maxTbl8s,proto3" json:"max_tbl8s,omitempty"` /// Maximum number of IP prefixes with smaller than /24 (default: 128) + sizeCache protoimpl.SizeCache } func (x *IPLookupArg) Reset() { *x = IPLookupArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IPLookupArg) String() string { @@ -2890,7 +2771,7 @@ func (*IPLookupArg) ProtoMessage() {} func (x *IPLookupArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2919,7 +2800,7 @@ func (x *IPLookupArg) GetMaxTbl8S() uint32 { return 0 } -//* +// * // An L2Forward module forwards packets to an output gate according to // exact-match rules over an Ethernet destination. Note that this is _not_ a // learning switch -- forwards according to fixed routes specified by `add(..)`. @@ -2927,21 +2808,19 @@ func (x *IPLookupArg) GetMaxTbl8S() uint32 { // __Input Gates__: 1 // __Ouput Gates__: many (configurable, depending on rules) type L2ForwardArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// Configures the forwarding hash table -- total number of + // / hash table entries. + Bucket int64 `protobuf:"varint,2,opt,name=bucket,proto3" json:"bucket,omitempty"` /// Configures the forwarding hash table -- total number of unknownFields protoimpl.UnknownFields - - Size int64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// Configures the forwarding hash table -- total number of hash table entries. - Bucket int64 `protobuf:"varint,2,opt,name=bucket,proto3" json:"bucket,omitempty"` /// Configures the forwarding hash table -- total number of slots per hash value. + sizeCache protoimpl.SizeCache } func (x *L2ForwardArg) Reset() { *x = L2ForwardArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *L2ForwardArg) String() string { @@ -2952,7 +2831,7 @@ func (*L2ForwardArg) ProtoMessage() {} func (x *L2ForwardArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2981,25 +2860,23 @@ func (x *L2ForwardArg) GetBucket() int64 { return 0 } -//* +// * // The MACSwap module takes no arguments. It swaps the src/destination MAC // addresses within a packet. // // __Input Gates__: 1 // __Output Gates__: 1 type MACSwapArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MACSwapArg) Reset() { *x = MACSwapArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MACSwapArg) String() string { @@ -3010,7 +2887,7 @@ func (*MACSwapArg) ProtoMessage() {} func (x *MACSwapArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3025,7 +2902,7 @@ func (*MACSwapArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{51} } -//* +// * // The measure module tracks latencies, packets per second, and other // statistics. It should be paired with a Timestamp module, which attaches a // timestamp to packets. The measure module will log how long (in nanoseconds) @@ -3037,28 +2914,27 @@ func (*MACSwapArg) Descriptor() ([]byte, []int) { // __Input Gates__: 1 // __Output Gates__: 1 type MeasureArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // int64 warmup = 1; /// removed: instead of warmup delay, user should Clear() // - // Types that are assignable to Type: + // Types that are valid to be assigned to Type: + // // *MeasureArg_Offset // *MeasureArg_AttrName - Type isMeasureArg_Type `protobuf_oneof:"type"` - JitterSampleProb float64 `protobuf:"fixed64,3,opt,name=jitter_sample_prob,json=jitterSampleProb,proto3" json:"jitter_sample_prob,omitempty"` /// How often the module should sample packets for inter-packet arrival measurements (to measure jitter). - LatencyNsMax uint64 `protobuf:"varint,4,opt,name=latency_ns_max,json=latencyNsMax,proto3" json:"latency_ns_max,omitempty"` /// maximum latency expected, in ns (default 0.1 s) - LatencyNsResolution uint32 `protobuf:"varint,5,opt,name=latency_ns_resolution,json=latencyNsResolution,proto3" json:"latency_ns_resolution,omitempty"` /// resolution, in ns (default 100) + Type isMeasureArg_Type `protobuf_oneof:"type"` + JitterSampleProb float64 `protobuf:"fixed64,3,opt,name=jitter_sample_prob,json=jitterSampleProb,proto3" json:"jitter_sample_prob,omitempty"` /// How often the module should sample packets for inter-packet + // / arrival measurements (to measure jitter). + LatencyNsMax uint64 `protobuf:"varint,4,opt,name=latency_ns_max,json=latencyNsMax,proto3" json:"latency_ns_max,omitempty"` /// maximum latency expected, in ns (default 0.1 s) + LatencyNsResolution uint32 `protobuf:"varint,5,opt,name=latency_ns_resolution,json=latencyNsResolution,proto3" json:"latency_ns_resolution,omitempty"` /// resolution, in ns (default 100) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MeasureArg) Reset() { *x = MeasureArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MeasureArg) String() string { @@ -3069,7 +2945,7 @@ func (*MeasureArg) ProtoMessage() {} func (x *MeasureArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3084,23 +2960,27 @@ func (*MeasureArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{52} } -func (m *MeasureArg) GetType() isMeasureArg_Type { - if m != nil { - return m.Type +func (x *MeasureArg) GetType() isMeasureArg_Type { + if x != nil { + return x.Type } return nil } func (x *MeasureArg) GetOffset() uint64 { - if x, ok := x.GetType().(*MeasureArg_Offset); ok { - return x.Offset + if x != nil { + if x, ok := x.Type.(*MeasureArg_Offset); ok { + return x.Offset + } } return 0 } func (x *MeasureArg) GetAttrName() string { - if x, ok := x.GetType().(*MeasureArg_AttrName); ok { - return x.AttrName + if x != nil { + if x, ok := x.Type.(*MeasureArg_AttrName); ok { + return x.AttrName + } } return "" } @@ -3131,10 +3011,11 @@ type isMeasureArg_Type interface { } type MeasureArg_Offset struct { - Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3,oneof"` /// Where to store the current time within the packet, offset in bytes. + Offset uint64 `protobuf:"varint,2,opt,name=offset,proto3,oneof"` /// Where to store the current time within the packet, } type MeasureArg_AttrName struct { + // / offset in bytes. AttrName string `protobuf:"bytes,6,opt,name=attr_name,json=attrName,proto3,oneof"` /// Where to store the current time as attribute } @@ -3142,25 +3023,23 @@ func (*MeasureArg_Offset) isMeasureArg_Type() {} func (*MeasureArg_AttrName) isMeasureArg_Type() {} -//* +// * // The merge module takes no parameters. It has multiple input gates, // and passes out all packets from a single output gate. // // __Input Gates__: many (configurable) // __Output Gates__: 1 type MergeArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MergeArg) Reset() { *x = MergeArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MergeArg) String() string { @@ -3171,7 +3050,7 @@ func (*MergeArg) ProtoMessage() {} func (x *MergeArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3186,25 +3065,22 @@ func (*MergeArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{53} } -//* +// * // The MetadataTest module is used for internal testing purposes. type MetadataTestArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Read map[string]int64 `protobuf:"bytes,1,rep,name=read,proto3" json:"read,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + Write map[string]int64 `protobuf:"bytes,2,rep,name=write,proto3" json:"write,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + Update map[string]int64 `protobuf:"bytes,3,rep,name=update,proto3" json:"update,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Read map[string]int64 `protobuf:"bytes,1,rep,name=read,proto3" json:"read,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - Write map[string]int64 `protobuf:"bytes,2,rep,name=write,proto3" json:"write,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - Update map[string]int64 `protobuf:"bytes,3,rep,name=update,proto3" json:"update,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *MetadataTestArg) Reset() { *x = MetadataTestArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MetadataTestArg) String() string { @@ -3215,7 +3091,7 @@ func (*MetadataTestArg) ProtoMessage() {} func (x *MetadataTestArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3251,7 +3127,7 @@ func (x *MetadataTestArg) GetUpdate() map[string]int64 { return nil } -//* +// * // The NAT module implements Dynamic IPv4 address/port translation, // rewriting packet source addresses with external addresses as specified, // and destination addresses for packets on the reverse direction. @@ -3266,20 +3142,17 @@ func (x *MetadataTestArg) GetUpdate() map[string]int64 { // direction) // __Output Gates__: 2 (same as the input gate) type NATArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ExtAddrs []*NATArg_ExternalAddress `protobuf:"bytes,1,rep,name=ext_addrs,json=extAddrs,proto3" json:"ext_addrs,omitempty"` /// list of external IP addresses unknownFields protoimpl.UnknownFields - - ExtAddrs []*NATArg_ExternalAddress `protobuf:"bytes,1,rep,name=ext_addrs,json=extAddrs,proto3" json:"ext_addrs,omitempty"` /// list of external IP addresses + sizeCache protoimpl.SizeCache } func (x *NATArg) Reset() { *x = NATArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NATArg) String() string { @@ -3290,7 +3163,7 @@ func (*NATArg) ProtoMessage() {} func (x *NATArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3312,7 +3185,7 @@ func (x *NATArg) GetExtAddrs() []*NATArg_ExternalAddress { return nil } -//* +// * // Static NAT module implements one-to-one translation of source/destination // IPv4 addresses. No port number is translated. // L3/L4 checksums are updated correspondingly. @@ -3334,20 +3207,17 @@ func (x *NATArg) GetExtAddrs() []*NATArg_ExternalAddress { // direction) // __Output Gates__: 2 (same as the input gate) type StaticNATArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Pairs []*StaticNATArg_AddressRangePair `protobuf:"bytes,1,rep,name=pairs,proto3" json:"pairs,omitempty"` unknownFields protoimpl.UnknownFields - - Pairs []*StaticNATArg_AddressRangePair `protobuf:"bytes,1,rep,name=pairs,proto3" json:"pairs,omitempty"` + sizeCache protoimpl.SizeCache } func (x *StaticNATArg) Reset() { *x = StaticNATArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StaticNATArg) String() string { @@ -3358,7 +3228,7 @@ func (*StaticNATArg) ProtoMessage() {} func (x *StaticNATArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3380,21 +3250,19 @@ func (x *StaticNATArg) GetPairs() []*StaticNATArg_AddressRangePair { return nil } -//* +// * // This module is used for testing purposes. type NoOpArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NoOpArg) Reset() { *x = NoOpArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NoOpArg) String() string { @@ -3405,7 +3273,7 @@ func (*NoOpArg) ProtoMessage() {} func (x *NoOpArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3420,7 +3288,7 @@ func (*NoOpArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{57} } -//* +// * // The PortInc module connects a physical or virtual port and releases // packets from it. PortInc does not support multiqueueing. // For details on how to configure PortInc using DPDK, virtual ports, @@ -3429,21 +3297,18 @@ func (*NoOpArg) Descriptor() ([]byte, []int) { // __Input Gates__: 0 // __Output Gates__: 1 type PortIncArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` /// The portname to connect to. + Prefetch bool `protobuf:"varint,2,opt,name=prefetch,proto3" json:"prefetch,omitempty"` /// Whether or not to prefetch packets from the port. unknownFields protoimpl.UnknownFields - - Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` /// The portname to connect to. - Prefetch bool `protobuf:"varint,2,opt,name=prefetch,proto3" json:"prefetch,omitempty"` /// Whether or not to prefetch packets from the port. + sizeCache protoimpl.SizeCache } func (x *PortIncArg) Reset() { *x = PortIncArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PortIncArg) String() string { @@ -3454,7 +3319,7 @@ func (*PortIncArg) ProtoMessage() {} func (x *PortIncArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3483,7 +3348,7 @@ func (x *PortIncArg) GetPrefetch() bool { return false } -//* +// * // The PortOut module connects to a physical or virtual port and pushes // packets to it. For details on how to configure PortOut with DPDK, // virtual ports, libpcap, etc, see the sidebar in the wiki. @@ -3491,20 +3356,17 @@ func (x *PortIncArg) GetPrefetch() bool { // __Input Gates__: 1 // __Output Gates__: 0 type PortOutArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` /// The portname to connect to. unknownFields protoimpl.UnknownFields - - Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` /// The portname to connect to. + sizeCache protoimpl.SizeCache } func (x *PortOutArg) Reset() { *x = PortOutArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PortOutArg) String() string { @@ -3515,7 +3377,7 @@ func (*PortOutArg) ProtoMessage() {} func (x *PortOutArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3537,7 +3399,7 @@ func (x *PortOutArg) GetPort() string { return "" } -//* +// * // The module QueueInc produces input packets from a physical or virtual port. // Unlike PortInc, it supports multiqueue ports. // For details on how to configure QueueInc with DPDK, virtualports, @@ -3546,22 +3408,19 @@ func (x *PortOutArg) GetPort() string { // __Input Gates__: 0 // __Output Gates__: 1 type QueueIncArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` /// The portname to connect to (read from). + Qid uint64 `protobuf:"varint,2,opt,name=qid,proto3" json:"qid,omitempty"` /// The queue on that port to read from. qid starts from 0. + Prefetch bool `protobuf:"varint,3,opt,name=prefetch,proto3" json:"prefetch,omitempty"` /// When prefetch is enabled, the module will perform CPU unknownFields protoimpl.UnknownFields - - Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` /// The portname to connect to (read from). - Qid uint64 `protobuf:"varint,2,opt,name=qid,proto3" json:"qid,omitempty"` /// The queue on that port to read from. qid starts from 0. - Prefetch bool `protobuf:"varint,3,opt,name=prefetch,proto3" json:"prefetch,omitempty"` /// When prefetch is enabled, the module will perform CPU prefetch on the first 64B of each packet onto CPU L1 cache. Default value is false. + sizeCache protoimpl.SizeCache } func (x *QueueIncArg) Reset() { *x = QueueIncArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueueIncArg) String() string { @@ -3572,7 +3431,7 @@ func (*QueueIncArg) ProtoMessage() {} func (x *QueueIncArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3608,7 +3467,7 @@ func (x *QueueIncArg) GetPrefetch() bool { return false } -//* +// * // The QueueOut module releases packets to a physical or virtual port. // Unlike PortOut, it supports multiqueue ports. // For details on how to configure QueueOut with DPDK, virtualports, @@ -3617,21 +3476,18 @@ func (x *QueueIncArg) GetPrefetch() bool { // __Input Gates__: 1 // __Output Gates__: 0 type QueueOutArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` /// The portname to connect to. + Qid uint64 `protobuf:"varint,2,opt,name=qid,proto3" json:"qid,omitempty"` /// The queue on that port to write out to. unknownFields protoimpl.UnknownFields - - Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` /// The portname to connect to. - Qid uint64 `protobuf:"varint,2,opt,name=qid,proto3" json:"qid,omitempty"` /// The queue on that port to write out to. + sizeCache protoimpl.SizeCache } func (x *QueueOutArg) Reset() { *x = QueueOutArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueueOutArg) String() string { @@ -3642,7 +3498,7 @@ func (*QueueOutArg) ProtoMessage() {} func (x *QueueOutArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3671,28 +3527,27 @@ func (x *QueueOutArg) GetQid() uint64 { return 0 } -//* +// * // The Queue module implements a simple packet queue. // // __Input Gates__: 1 // __Output Gates__: 1 type QueueArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// The maximum number of packets to store in the queue. + Prefetch bool `protobuf:"varint,2,opt,name=prefetch,proto3" json:"prefetch,omitempty"` /// When prefetch is enabled, the module will perform CPU + // / prefetch on the first 64B of each packet onto CPU L1 + // / cache. Default value is false. + Backpressure bool `protobuf:"varint,3,opt,name=backpressure,proto3" json:"backpressure,omitempty"` // When backpressure is enabled, the module will unknownFields protoimpl.UnknownFields - - Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// The maximum number of packets to store in the queue. - Prefetch bool `protobuf:"varint,2,opt,name=prefetch,proto3" json:"prefetch,omitempty"` /// When prefetch is enabled, the module will perform CPU prefetch on the first 64B of each packet onto CPU L1 cache. Default value is false. - Backpressure bool `protobuf:"varint,3,opt,name=backpressure,proto3" json:"backpressure,omitempty"` // When backpressure is enabled, the module will notify upstream if it is overloaded. + sizeCache protoimpl.SizeCache } func (x *QueueArg) Reset() { *x = QueueArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueueArg) String() string { @@ -3703,7 +3558,7 @@ func (*QueueArg) ProtoMessage() {} func (x *QueueArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3739,27 +3594,24 @@ func (x *QueueArg) GetBackpressure() bool { return false } -//* +// * // The RandomSplit module randomly split/drop packets // // __InputGates__: 1 // __Output Gates__: many (configurable) type RandomSplitArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DropRate float64 `protobuf:"fixed64,1,opt,name=drop_rate,json=dropRate,proto3" json:"drop_rate,omitempty"` /// Probability of dropping packet. + Gates []int64 `protobuf:"varint,2,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to split the traffic. unknownFields protoimpl.UnknownFields - - DropRate float64 `protobuf:"fixed64,1,opt,name=drop_rate,json=dropRate,proto3" json:"drop_rate,omitempty"` /// Probability of dropping packet. - Gates []int64 `protobuf:"varint,2,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to split the traffic. + sizeCache protoimpl.SizeCache } func (x *RandomSplitArg) Reset() { *x = RandomSplitArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RandomSplitArg) String() string { @@ -3770,7 +3622,7 @@ func (*RandomSplitArg) ProtoMessage() {} func (x *RandomSplitArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3799,24 +3651,21 @@ func (x *RandomSplitArg) GetGates() []int64 { return nil } -//* +// * // The RandomSplit module has a function `set_droprate(...)` which specifies // the probability of dropping packets type RandomSplitCommandSetDroprateArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DropRate float64 `protobuf:"fixed64,1,opt,name=drop_rate,json=dropRate,proto3" json:"drop_rate,omitempty"` /// Probability of dropping packet. unknownFields protoimpl.UnknownFields - - DropRate float64 `protobuf:"fixed64,1,opt,name=drop_rate,json=dropRate,proto3" json:"drop_rate,omitempty"` /// Probability of dropping packet. + sizeCache protoimpl.SizeCache } func (x *RandomSplitCommandSetDroprateArg) Reset() { *x = RandomSplitCommandSetDroprateArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RandomSplitCommandSetDroprateArg) String() string { @@ -3827,7 +3676,7 @@ func (*RandomSplitCommandSetDroprateArg) ProtoMessage() {} func (x *RandomSplitCommandSetDroprateArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3849,24 +3698,21 @@ func (x *RandomSplitCommandSetDroprateArg) GetDropRate() float64 { return 0 } -//* +// * // The RandomSplit module has a function `set_gates(...)` which changes // the total number of output gates in the module. type RandomSplitCommandSetGatesArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to split the traffic. unknownFields protoimpl.UnknownFields - - Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to split the traffic. + sizeCache protoimpl.SizeCache } func (x *RandomSplitCommandSetGatesArg) Reset() { *x = RandomSplitCommandSetGatesArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RandomSplitCommandSetGatesArg) String() string { @@ -3877,7 +3723,7 @@ func (*RandomSplitCommandSetGatesArg) ProtoMessage() {} func (x *RandomSplitCommandSetGatesArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3899,27 +3745,24 @@ func (x *RandomSplitCommandSetGatesArg) GetGates() []int64 { return nil } -//* +// * // The RandomUpdate module rewrites a specified field (`offset` and `size`) in a // packet with a random value between a specified min and max values. // // __Input Gates__: 1 // __Output Gates__: 1 type RandomUpdateArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fields []*RandomUpdateArg_Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of Random Update Fields. unknownFields protoimpl.UnknownFields - - Fields []*RandomUpdateArg_Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of Random Update Fields. + sizeCache protoimpl.SizeCache } func (x *RandomUpdateArg) Reset() { *x = RandomUpdateArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RandomUpdateArg) String() string { @@ -3930,7 +3773,7 @@ func (*RandomUpdateArg) ProtoMessage() {} func (x *RandomUpdateArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3952,7 +3795,7 @@ func (x *RandomUpdateArg) GetFields() []*RandomUpdateArg_Field { return nil } -//* +// * // The Rewrite module replaces an entire packet body with a packet "template" // converting all packets that pass through to copies of the of one of // the templates. @@ -3960,20 +3803,17 @@ func (x *RandomUpdateArg) GetFields() []*RandomUpdateArg_Field { // __Input Gates__: 1 // __Output Gates__: 1 type RewriteArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Templates [][]byte `protobuf:"bytes,1,rep,name=templates,proto3" json:"templates,omitempty"` /// A list of bytestrings representing packet templates. unknownFields protoimpl.UnknownFields - - Templates [][]byte `protobuf:"bytes,1,rep,name=templates,proto3" json:"templates,omitempty"` /// A list of bytestrings representing packet templates. + sizeCache protoimpl.SizeCache } func (x *RewriteArg) Reset() { *x = RewriteArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RewriteArg) String() string { @@ -3984,7 +3824,7 @@ func (*RewriteArg) ProtoMessage() {} func (x *RewriteArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4006,24 +3846,21 @@ func (x *RewriteArg) GetTemplates() [][]byte { return nil } -//* +// * // The RoundRobin module has a function `set_gates(...)` which changes // the total number of output gates in the module. type RoundRobinCommandSetGatesArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to round-robin the traffic over. unknownFields protoimpl.UnknownFields - - Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to round-robin the traffic over. + sizeCache protoimpl.SizeCache } func (x *RoundRobinCommandSetGatesArg) Reset() { *x = RoundRobinCommandSetGatesArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RoundRobinCommandSetGatesArg) String() string { @@ -4034,7 +3871,7 @@ func (*RoundRobinCommandSetGatesArg) ProtoMessage() {} func (x *RoundRobinCommandSetGatesArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4056,24 +3893,21 @@ func (x *RoundRobinCommandSetGatesArg) GetGates() []int64 { return nil } -//* +// * // The RoundRobin module has a function `set_mode(...)` which specifies whether // to balance traffic across gates per-packet or per-batch. type RoundRobinCommandSetModeArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Mode string `protobuf:"bytes,1,opt,name=mode,proto3" json:"mode,omitempty"` /// whether to perform `'packet'` or `'batch'` round robin unknownFields protoimpl.UnknownFields - - Mode string `protobuf:"bytes,1,opt,name=mode,proto3" json:"mode,omitempty"` /// whether to perform `'packet'` or `'batch'` round robin partitioning. + sizeCache protoimpl.SizeCache } func (x *RoundRobinCommandSetModeArg) Reset() { *x = RoundRobinCommandSetModeArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RoundRobinCommandSetModeArg) String() string { @@ -4084,7 +3918,7 @@ func (*RoundRobinCommandSetModeArg) ProtoMessage() {} func (x *RoundRobinCommandSetModeArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4106,28 +3940,25 @@ func (x *RoundRobinCommandSetModeArg) GetMode() string { return "" } -//* +// * // The RoundRobin module splits packets from one input gate across multiple // output gates. // // __Input Gates__: 1 // __Output Gates__: many (configurable) type RoundRobinArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to split packets across. + Mode string `protobuf:"bytes,2,opt,name=mode,proto3" json:"mode,omitempty"` /// Whether to split across gate with every `'packet'` or unknownFields protoimpl.UnknownFields - - Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to split packets across. - Mode string `protobuf:"bytes,2,opt,name=mode,proto3" json:"mode,omitempty"` /// Whether to split across gate with every `'packet'` or every `'batch'`. + sizeCache protoimpl.SizeCache } func (x *RoundRobinArg) Reset() { *x = RoundRobinArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RoundRobinArg) String() string { @@ -4138,7 +3969,7 @@ func (*RoundRobinArg) ProtoMessage() {} func (x *RoundRobinArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4167,27 +3998,24 @@ func (x *RoundRobinArg) GetMode() string { return "" } -//* +// * // The Replicate module makes copies of a packet sending one copy out over each // of n output gates. // // __Input Gates__: 1 // __Output Gates__: many (configurable) type ReplicateArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to send packet copies to. unknownFields protoimpl.UnknownFields - - Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to send packet copies to. + sizeCache protoimpl.SizeCache } func (x *ReplicateArg) Reset() { *x = ReplicateArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ReplicateArg) String() string { @@ -4198,7 +4026,7 @@ func (*ReplicateArg) ProtoMessage() {} func (x *ReplicateArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4220,24 +4048,21 @@ func (x *ReplicateArg) GetGates() []int64 { return nil } -//* +// * // The Replicate module has a function `set_gates(...)` which changes // the total number of output gates in the module. type ReplicateCommandSetGatesArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to replicate the traffic over. unknownFields protoimpl.UnknownFields - - Gates []int64 `protobuf:"varint,1,rep,packed,name=gates,proto3" json:"gates,omitempty"` /// A list of gate numbers to replicate the traffic over. + sizeCache protoimpl.SizeCache } func (x *ReplicateCommandSetGatesArg) Reset() { *x = ReplicateCommandSetGatesArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ReplicateCommandSetGatesArg) String() string { @@ -4248,7 +4073,7 @@ func (*ReplicateCommandSetGatesArg) ProtoMessage() {} func (x *ReplicateCommandSetGatesArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4270,7 +4095,7 @@ func (x *ReplicateCommandSetGatesArg) GetGates() []int64 { return nil } -//* +// * // The SetMetadata module adds metadata attributes to packets, which are not // stored or sent out with packet data. For examples of SetMetadata use, see // [`bess/bessctl/conf/attr_match.bess`](https://github.com/omec-project/bess/blob/master/bessctl/conf/metadata/attr_match.bess) @@ -4278,20 +4103,17 @@ func (x *ReplicateCommandSetGatesArg) GetGates() []int64 { // __Input Gates__: 1 // __Output Gates__: 1 type SetMetadataArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Attrs []*SetMetadataArg_Attribute `protobuf:"bytes,1,rep,name=attrs,proto3" json:"attrs,omitempty"` /// A list of attributes to attach to the packet. unknownFields protoimpl.UnknownFields - - Attrs []*SetMetadataArg_Attribute `protobuf:"bytes,1,rep,name=attrs,proto3" json:"attrs,omitempty"` /// A list of attributes to attach to the packet. + sizeCache protoimpl.SizeCache } func (x *SetMetadataArg) Reset() { *x = SetMetadataArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SetMetadataArg) String() string { @@ -4302,7 +4124,7 @@ func (*SetMetadataArg) ProtoMessage() {} func (x *SetMetadataArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4324,24 +4146,22 @@ func (x *SetMetadataArg) GetAttrs() []*SetMetadataArg_Attribute { return nil } -//* +// * // The sink module drops all packets that are sent to it. // // __Input Gates__: 1 // __Output Gates__: 0 type SinkArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SinkArg) Reset() { *x = SinkArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SinkArg) String() string { @@ -4352,7 +4172,7 @@ func (*SinkArg) ProtoMessage() {} func (x *SinkArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4367,25 +4187,22 @@ func (*SinkArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{74} } -//* +// * // The Source module has a function `set_burst(...)` which // specifies the maximum number of packets to release in a single packetbatch // from the module. type SourceCommandSetBurstArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` /// The maximum number of packets to release in a unknownFields protoimpl.UnknownFields - - Burst uint64 `protobuf:"varint,1,opt,name=burst,proto3" json:"burst,omitempty"` /// The maximum number of packets to release in a packetbatch from the module. + sizeCache protoimpl.SizeCache } func (x *SourceCommandSetBurstArg) Reset() { *x = SourceCommandSetBurstArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SourceCommandSetBurstArg) String() string { @@ -4396,7 +4213,7 @@ func (*SourceCommandSetBurstArg) ProtoMessage() {} func (x *SourceCommandSetBurstArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4418,24 +4235,21 @@ func (x *SourceCommandSetBurstArg) GetBurst() uint64 { return 0 } -//* +// * // The Source module has a function `set_pkt_size(...)` which specifies the size // of packets to be produced by the Source module. type SourceCommandSetPktSizeArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PktSize uint64 `protobuf:"varint,1,opt,name=pkt_size,json=pktSize,proto3" json:"pkt_size,omitempty"` /// The size (in bytes) of the packets for Source to create. unknownFields protoimpl.UnknownFields - - PktSize uint64 `protobuf:"varint,1,opt,name=pkt_size,json=pktSize,proto3" json:"pkt_size,omitempty"` /// The size (in bytes) of the packets for Source to create. + sizeCache protoimpl.SizeCache } func (x *SourceCommandSetPktSizeArg) Reset() { *x = SourceCommandSetPktSizeArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SourceCommandSetPktSizeArg) String() string { @@ -4446,7 +4260,7 @@ func (*SourceCommandSetPktSizeArg) ProtoMessage() {} func (x *SourceCommandSetPktSizeArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4468,26 +4282,23 @@ func (x *SourceCommandSetPktSizeArg) GetPktSize() uint64 { return 0 } -//* +// * // The Source module generates packets with no payload contents. // // __Input Gates__: 0 // __Output Gates__: 1 type SourceArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + PktSize uint64 `protobuf:"varint,1,opt,name=pkt_size,json=pktSize,proto3" json:"pkt_size,omitempty"` /// The size (in bytes) of packet data to produce. unknownFields protoimpl.UnknownFields - - PktSize uint64 `protobuf:"varint,1,opt,name=pkt_size,json=pktSize,proto3" json:"pkt_size,omitempty"` /// The size (in bytes) of packet data to produce. + sizeCache protoimpl.SizeCache } func (x *SourceArg) Reset() { *x = SourceArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SourceArg) String() string { @@ -4498,7 +4309,7 @@ func (*SourceArg) ProtoMessage() {} func (x *SourceArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4520,7 +4331,7 @@ func (x *SourceArg) GetPktSize() uint64 { return 0 } -//* +// * // The IPChecksum module calculates the IPv4 checksum of packets. If // verify is set to true, the module can be used to validate the checksum // of the IPv4 packet. All non-IPv4 packets are forwarded without @@ -4529,21 +4340,18 @@ func (x *SourceArg) GetPktSize() uint64 { // __Input Gates__: 1 // __Output Gates__: 2 type IPChecksumArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Verify bool `protobuf:"varint,1,opt,name=verify,proto3" json:"verify,omitempty"` /// check checksum + Hw bool `protobuf:"varint,2,opt,name=hw,proto3" json:"hw,omitempty"` /// enable hardware offload unknownFields protoimpl.UnknownFields - - Verify bool `protobuf:"varint,1,opt,name=verify,proto3" json:"verify,omitempty"` /// check checksum - Hw bool `protobuf:"varint,2,opt,name=hw,proto3" json:"hw,omitempty"` /// enable hardware offload + sizeCache protoimpl.SizeCache } func (x *IPChecksumArg) Reset() { *x = IPChecksumArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IPChecksumArg) String() string { @@ -4554,7 +4362,7 @@ func (*IPChecksumArg) ProtoMessage() {} func (x *IPChecksumArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4583,7 +4391,7 @@ func (x *IPChecksumArg) GetHw() bool { return false } -//* +// * // The L4Checksum module calculates the UDP/IPv4 checksum of packets. If // verify is set to true, the module can be used to validate the checksum // of the UDP/IPv4 packet. All non-IPv4 packets are forwarded without @@ -4592,21 +4400,18 @@ func (x *IPChecksumArg) GetHw() bool { // __Input Gates__: MAX_GATES // __Output Gates__: 2 type L4ChecksumArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Verify bool `protobuf:"varint,1,opt,name=verify,proto3" json:"verify,omitempty"` /// check checksum + Hw bool `protobuf:"varint,2,opt,name=hw,proto3" json:"hw,omitempty"` /// enable hardware offload unknownFields protoimpl.UnknownFields - - Verify bool `protobuf:"varint,1,opt,name=verify,proto3" json:"verify,omitempty"` /// check checksum - Hw bool `protobuf:"varint,2,opt,name=hw,proto3" json:"hw,omitempty"` /// enable hardware offload + sizeCache protoimpl.SizeCache } func (x *L4ChecksumArg) Reset() { *x = L4ChecksumArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *L4ChecksumArg) String() string { @@ -4617,7 +4422,7 @@ func (*L4ChecksumArg) ProtoMessage() {} func (x *L4ChecksumArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4646,7 +4451,7 @@ func (x *L4ChecksumArg) GetHw() bool { return false } -//* +// * // The GtpuEcho module processes the GTPv1 echo packet and prepares // corresponding IP packet containing GTP echo response. It assumes // Recovery IE is always zero. @@ -4654,20 +4459,17 @@ func (x *L4ChecksumArg) GetHw() bool { // __Input Gates__: 1 // __Output Gates__: 1 type GtpuEchoArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + S1USgwIp uint32 `protobuf:"varint,1,opt,name=s1u_sgw_ip,json=s1uSgwIp,proto3" json:"s1u_sgw_ip,omitempty"` /// IP address of S1U interface unknownFields protoimpl.UnknownFields - - S1USgwIp uint32 `protobuf:"varint,1,opt,name=s1u_sgw_ip,json=s1uSgwIp,proto3" json:"s1u_sgw_ip,omitempty"` /// IP address of S1U interface + sizeCache protoimpl.SizeCache } func (x *GtpuEchoArg) Reset() { *x = GtpuEchoArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GtpuEchoArg) String() string { @@ -4678,7 +4480,7 @@ func (*GtpuEchoArg) ProtoMessage() {} func (x *GtpuEchoArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4700,7 +4502,7 @@ func (x *GtpuEchoArg) GetS1USgwIp() uint32 { return 0 } -//* +// * // The IPDefrag module scans the IP datagram and checks whether // it is fragmented. It returns a fully reassembled datagram or // an unfragmented IP datagram @@ -4708,21 +4510,18 @@ func (x *GtpuEchoArg) GetS1USgwIp() uint32 { // __Input Gates__: 1 // __Output Gates__: 1 type IPDefragArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + NumFlows uint32 `protobuf:"varint,1,opt,name=num_flows,json=numFlows,proto3" json:"num_flows,omitempty"` /// max number of flows the module can handle + Numa int32 `protobuf:"varint,2,opt,name=numa,proto3" json:"numa,omitempty"` /// numa placement for ip frags memory management unknownFields protoimpl.UnknownFields - - NumFlows uint32 `protobuf:"varint,1,opt,name=num_flows,json=numFlows,proto3" json:"num_flows,omitempty"` /// max number of flows the module can handle - Numa int32 `protobuf:"varint,2,opt,name=numa,proto3" json:"numa,omitempty"` /// numa placement for ip frags memory management + sizeCache protoimpl.SizeCache } func (x *IPDefragArg) Reset() { *x = IPDefragArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IPDefragArg) String() string { @@ -4733,7 +4532,7 @@ func (*IPDefragArg) ProtoMessage() {} func (x *IPDefragArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4762,27 +4561,24 @@ func (x *IPDefragArg) GetNuma() int32 { return 0 } -//* +// * // The IPDFrag module scans the IP datagram and checks whether // it needs to be fragmented. // // __Input Gates__: 1 // __Output Gates__: 1 type IPFragArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Mtu int32 `protobuf:"varint,1,opt,name=mtu,proto3" json:"mtu,omitempty"` /// full Ethernet frame size (including CRC) for encapsulated unknownFields protoimpl.UnknownFields - - Mtu int32 `protobuf:"varint,1,opt,name=mtu,proto3" json:"mtu,omitempty"` /// full Ethernet frame size (including CRC) for encapsulated ipv4 frag datagrams + sizeCache protoimpl.SizeCache } func (x *IPFragArg) Reset() { *x = IPFragArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *IPFragArg) String() string { @@ -4793,7 +4589,7 @@ func (*IPFragArg) ProtoMessage() {} func (x *IPFragArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4815,26 +4611,23 @@ func (x *IPFragArg) GetMtu() int32 { return 0 } -//* +// * // The Counter module has a command `add(...)` which takes one // parameters. This function accepts the counter id of a // session record. // Example use in bessctl: `counter.add(ctr_id=0x1)` type CounterAddArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + CtrId uint32 `protobuf:"varint,1,opt,name=ctr_id,json=ctrId,proto3" json:"ctr_id,omitempty"` /// counter id unknownFields protoimpl.UnknownFields - - CtrId uint32 `protobuf:"varint,1,opt,name=ctr_id,json=ctrId,proto3" json:"ctr_id,omitempty"` /// counter id + sizeCache protoimpl.SizeCache } func (x *CounterAddArg) Reset() { *x = CounterAddArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CounterAddArg) String() string { @@ -4845,7 +4638,7 @@ func (*CounterAddArg) ProtoMessage() {} func (x *CounterAddArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4867,26 +4660,23 @@ func (x *CounterAddArg) GetCtrId() uint32 { return 0 } -//* +// * // The Counter module has a command `remove(...)` which takes one // parameter. This function accepts ctr_id, and removes the // respective counter. // Example use in bessctl: `counter.remove(ctr_id=0x1)` type CounterRemoveArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + CtrId uint32 `protobuf:"varint,1,opt,name=ctr_id,json=ctrId,proto3" json:"ctr_id,omitempty"` /// counter id unknownFields protoimpl.UnknownFields - - CtrId uint32 `protobuf:"varint,1,opt,name=ctr_id,json=ctrId,proto3" json:"ctr_id,omitempty"` /// counter id + sizeCache protoimpl.SizeCache } func (x *CounterRemoveArg) Reset() { *x = CounterRemoveArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CounterRemoveArg) String() string { @@ -4897,7 +4687,7 @@ func (*CounterRemoveArg) ProtoMessage() {} func (x *CounterRemoveArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4919,28 +4709,26 @@ func (x *CounterRemoveArg) GetCtrId() uint32 { return 0 } -//* +// * // The Counter module counts the number of packets and bytes it passes // // __Input Gates__: 1 // __Output Gates__: 1 type CounterArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + NameId string `protobuf:"bytes,1,opt,name=name_id,json=nameId,proto3" json:"name_id,omitempty"` /// Name of the counter_id + CheckExist bool `protobuf:"varint,2,opt,name=check_exist,json=checkExist,proto3" json:"check_exist,omitempty"` /// verify each counter pre-exists before any operation + // / (default = False) + Total uint32 `protobuf:"varint,3,opt,name=total,proto3" json:"total,omitempty"` /// Total number of entries it can support unknownFields protoimpl.UnknownFields - - NameId string `protobuf:"bytes,1,opt,name=name_id,json=nameId,proto3" json:"name_id,omitempty"` /// Name of the counter_id - CheckExist bool `protobuf:"varint,2,opt,name=check_exist,json=checkExist,proto3" json:"check_exist,omitempty"` /// verify each counter pre-exists before any operation (default = False) - Total uint32 `protobuf:"varint,3,opt,name=total,proto3" json:"total,omitempty"` /// Total number of entries it can support + sizeCache protoimpl.SizeCache } func (x *CounterArg) Reset() { *x = CounterArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CounterArg) String() string { @@ -4951,7 +4739,7 @@ func (*CounterArg) ProtoMessage() {} func (x *CounterArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -4987,26 +4775,23 @@ func (x *CounterArg) GetTotal() uint32 { return 0 } -//* +// * // The GtpuEncap module inserts GTP header in an ethernet frame // // __Input Gates__: 1 // __Output Gates__: 1 type GtpuEncapArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + AddPsc bool `protobuf:"varint,1,opt,name=add_psc,json=addPsc,proto3" json:"add_psc,omitempty"` /// Add PDU session container in encap (default = False) unknownFields protoimpl.UnknownFields - - AddPsc bool `protobuf:"varint,1,opt,name=add_psc,json=addPsc,proto3" json:"add_psc,omitempty"` /// Add PDU session container in encap (default = False) + sizeCache protoimpl.SizeCache } func (x *GtpuEncapArg) Reset() { *x = GtpuEncapArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GtpuEncapArg) String() string { @@ -5017,7 +4802,7 @@ func (*GtpuEncapArg) ProtoMessage() {} func (x *GtpuEncapArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5039,7 +4824,7 @@ func (x *GtpuEncapArg) GetAddPsc() bool { return false } -//* +// * // The Split module is a basic classifier which directs packets out a gate // based on data in the packet (e.g., if the read in value is 3, the packet // is directed out output gate 3). @@ -5047,24 +4832,22 @@ func (x *GtpuEncapArg) GetAddPsc() bool { // __Input Gates__: 1 // __Output Gates__: many (up to 2^(size * 8)) type SplitArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// The size of the value to read in bytes - // Types that are assignable to Type: + state protoimpl.MessageState `protogen:"open.v1"` + Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// The size of the value to read in bytes + // Types that are valid to be assigned to Type: + // // *SplitArg_Attribute // *SplitArg_Offset - Type isSplitArg_Type `protobuf_oneof:"type"` + Type isSplitArg_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SplitArg) Reset() { *x = SplitArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SplitArg) String() string { @@ -5075,7 +4858,7 @@ func (*SplitArg) ProtoMessage() {} func (x *SplitArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5097,23 +4880,27 @@ func (x *SplitArg) GetSize() uint64 { return 0 } -func (m *SplitArg) GetType() isSplitArg_Type { - if m != nil { - return m.Type +func (x *SplitArg) GetType() isSplitArg_Type { + if x != nil { + return x.Type } return nil } func (x *SplitArg) GetAttribute() string { - if x, ok := x.GetType().(*SplitArg_Attribute); ok { - return x.Attribute + if x != nil { + if x, ok := x.Type.(*SplitArg_Attribute); ok { + return x.Attribute + } } return "" } func (x *SplitArg) GetOffset() int64 { - if x, ok := x.GetType().(*SplitArg_Offset); ok { - return x.Offset + if x != nil { + if x, ok := x.Type.(*SplitArg_Offset); ok { + return x.Offset + } } return 0 } @@ -5134,7 +4921,7 @@ func (*SplitArg_Attribute) isSplitArg_Type() {} func (*SplitArg_Offset) isSplitArg_Type() {} -//* +// * // The timestamp module takes an offset parameter. It inserts the current // time in nanoseconds into the packet, to be used for latency measurements // alongside the Measure module. The default offset is after an IPv4 UDP @@ -5143,23 +4930,21 @@ func (*SplitArg_Offset) isSplitArg_Type() {} // __Input Gates__: 1 // __Output Gates__: 1 type TimestampArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Type: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Type: + // // *TimestampArg_Offset // *TimestampArg_AttrName - Type isTimestampArg_Type `protobuf_oneof:"type"` + Type isTimestampArg_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TimestampArg) Reset() { *x = TimestampArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TimestampArg) String() string { @@ -5170,7 +4955,7 @@ func (*TimestampArg) ProtoMessage() {} func (x *TimestampArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5185,23 +4970,27 @@ func (*TimestampArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{88} } -func (m *TimestampArg) GetType() isTimestampArg_Type { - if m != nil { - return m.Type +func (x *TimestampArg) GetType() isTimestampArg_Type { + if x != nil { + return x.Type } return nil } func (x *TimestampArg) GetOffset() uint64 { - if x, ok := x.GetType().(*TimestampArg_Offset); ok { - return x.Offset + if x != nil { + if x, ok := x.Type.(*TimestampArg_Offset); ok { + return x.Offset + } } return 0 } func (x *TimestampArg) GetAttrName() string { - if x, ok := x.GetType().(*TimestampArg_AttrName); ok { - return x.AttrName + if x != nil { + if x, ok := x.Type.(*TimestampArg_AttrName); ok { + return x.AttrName + } } return "" } @@ -5222,26 +5011,23 @@ func (*TimestampArg_Offset) isTimestampArg_Type() {} func (*TimestampArg_AttrName) isTimestampArg_Type() {} -//* +// * // The Update module rewrites a field in a packet's data with a specific value. // // __Input Gates__: 1 // __Output Gates__: 1 type UpdateArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fields []*UpdateArg_Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of Update Fields. unknownFields protoimpl.UnknownFields - - Fields []*UpdateArg_Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of Update Fields. + sizeCache protoimpl.SizeCache } func (x *UpdateArg) Reset() { *x = UpdateArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateArg) String() string { @@ -5252,7 +5038,7 @@ func (*UpdateArg) ProtoMessage() {} func (x *UpdateArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5274,7 +5060,7 @@ func (x *UpdateArg) GetFields() []*UpdateArg_Field { return nil } -//* +// * // The URLFilter performs TCP reconstruction over a flow and blocks // connections which mention a banned URL. // @@ -5284,20 +5070,17 @@ func (x *UpdateArg) GetFields() []*UpdateArg_Field { // Note that the add() command takes this same argument, and the // clear() command takes an empty argument. type UrlFilterArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Blacklist []*UrlFilterArg_Url `protobuf:"bytes,1,rep,name=blacklist,proto3" json:"blacklist,omitempty"` /// A list of Urls to block. unknownFields protoimpl.UnknownFields - - Blacklist []*UrlFilterArg_Url `protobuf:"bytes,1,rep,name=blacklist,proto3" json:"blacklist,omitempty"` /// A list of Urls to block. + sizeCache protoimpl.SizeCache } func (x *UrlFilterArg) Reset() { *x = UrlFilterArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UrlFilterArg) String() string { @@ -5308,7 +5091,7 @@ func (*UrlFilterArg) ProtoMessage() {} func (x *UrlFilterArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5330,26 +5113,23 @@ func (x *UrlFilterArg) GetBlacklist() []*UrlFilterArg_Url { return nil } -//* +// * // The runtime configuration of a URLFilter is the current // blacklist. This means that getting the Arg gets an *empty* // list: we assume anyone using get_initial_arg is also using // get_runtime_config. type UrlFilterConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Blacklist []*UrlFilterArg_Url `protobuf:"bytes,1,rep,name=blacklist,proto3" json:"blacklist,omitempty"` unknownFields protoimpl.UnknownFields - - Blacklist []*UrlFilterArg_Url `protobuf:"bytes,1,rep,name=blacklist,proto3" json:"blacklist,omitempty"` + sizeCache protoimpl.SizeCache } func (x *UrlFilterConfig) Reset() { *x = UrlFilterConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UrlFilterConfig) String() string { @@ -5360,7 +5140,7 @@ func (*UrlFilterConfig) ProtoMessage() {} func (x *UrlFilterConfig) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[91] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5382,24 +5162,22 @@ func (x *UrlFilterConfig) GetBlacklist() []*UrlFilterArg_Url { return nil } -//* +// * // VLANPop removes the VLAN tag. // // __Input Gates__: 1 // __Output Gates__: 1 type VLANPopArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *VLANPopArg) Reset() { *x = VLANPopArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VLANPopArg) String() string { @@ -5410,7 +5188,7 @@ func (*VLANPopArg) ProtoMessage() {} func (x *VLANPopArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5425,26 +5203,23 @@ func (*VLANPopArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{92} } -//* +// * // VLANPush appends a VLAN tag with a specified TCI value. // // __Input Gates__: 1 // __Output Gates__: 1 type VLANPushArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Tci uint64 `protobuf:"varint,1,opt,name=tci,proto3" json:"tci,omitempty"` /// The TCI value to insert in the VLAN tag. unknownFields protoimpl.UnknownFields - - Tci uint64 `protobuf:"varint,1,opt,name=tci,proto3" json:"tci,omitempty"` /// The TCI value to insert in the VLAN tag. + sizeCache protoimpl.SizeCache } func (x *VLANPushArg) Reset() { *x = VLANPushArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VLANPushArg) String() string { @@ -5455,7 +5230,7 @@ func (*VLANPushArg) ProtoMessage() {} func (x *VLANPushArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[93] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5477,25 +5252,23 @@ func (x *VLANPushArg) GetTci() uint64 { return 0 } -//* +// * // Splits packets across output gates according to VLAN id (e.g., id 3 goes out // gate 3). // // __Input Gates__: 1 // __Output Gates__: many type VLANSplitArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *VLANSplitArg) Reset() { *x = VLANSplitArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VLANSplitArg) String() string { @@ -5506,7 +5279,7 @@ func (*VLANSplitArg) ProtoMessage() {} func (x *VLANSplitArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5521,24 +5294,22 @@ func (*VLANSplitArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{94} } -//* +// * // VXLANDecap module decapsulates a VXLAN header on a packet. // // __Input Gates__: 1 // __Output Gates__: 1 type VXLANDecapArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *VXLANDecapArg) Reset() { *x = VXLANDecapArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VXLANDecapArg) String() string { @@ -5549,7 +5320,7 @@ func (*VXLANDecapArg) ProtoMessage() {} func (x *VXLANDecapArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5564,27 +5335,24 @@ func (*VXLANDecapArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{95} } -//* +// * // VXLANEncap module wraps a packet in a VXLAN header with a specified // destination port. // // __Input Gates__: 1 // __Output Gates__: 1 type VXLANEncapArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Dstport uint64 `protobuf:"varint,1,opt,name=dstport,proto3" json:"dstport,omitempty"` /// The destination UDP port unknownFields protoimpl.UnknownFields - - Dstport uint64 `protobuf:"varint,1,opt,name=dstport,proto3" json:"dstport,omitempty"` /// The destination UDP port + sizeCache protoimpl.SizeCache } func (x *VXLANEncapArg) Reset() { *x = VXLANEncapArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VXLANEncapArg) String() string { @@ -5595,7 +5363,7 @@ func (*VXLANEncapArg) ProtoMessage() {} func (x *VXLANEncapArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5617,7 +5385,7 @@ func (x *VXLANEncapArg) GetDstport() uint64 { return 0 } -//* +// * // The WildcardMatch module matches over multiple fields in a packet and // pushes packets that do match out a specified gate, and those that don't out a // default gate. WildcardMatch is initialized with the fields it should inspect @@ -5628,22 +5396,19 @@ func (x *VXLANEncapArg) GetDstport() uint64 { // __Input Gates__: 1 // __Output Gates__: many (configurable) type WildcardMatchArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of WildcardMatch fields. + Values []*Field `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` /// A list of WildcardMatch values. + Entries uint64 `protobuf:"varint,3,opt,name=entries,proto3" json:"entries,omitempty"` unknownFields protoimpl.UnknownFields - - Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` /// A list of WildcardMatch fields. - Values []*Field `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` /// A list of WildcardMatch values. - Entries uint64 `protobuf:"varint,3,opt,name=entries,proto3" json:"entries,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WildcardMatchArg) Reset() { *x = WildcardMatchArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WildcardMatchArg) String() string { @@ -5654,7 +5419,7 @@ func (*WildcardMatchArg) ProtoMessage() {} func (x *WildcardMatchArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5690,26 +5455,23 @@ func (x *WildcardMatchArg) GetEntries() uint64 { return 0 } -//* +// * // WildcardMatchConfig represents the current runtime configuration // of a WildcardMatch module, as returned by get_runtime_config and // set by set_runtime_config. type WildcardMatchConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + DefaultGate uint64 `protobuf:"varint,1,opt,name=default_gate,json=defaultGate,proto3" json:"default_gate,omitempty"` + Rules []*WildcardMatchCommandAddArg `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` unknownFields protoimpl.UnknownFields - - DefaultGate uint64 `protobuf:"varint,1,opt,name=default_gate,json=defaultGate,proto3" json:"default_gate,omitempty"` - Rules []*WildcardMatchCommandAddArg `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WildcardMatchConfig) Reset() { *x = WildcardMatchConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WildcardMatchConfig) String() string { @@ -5720,7 +5482,7 @@ func (*WildcardMatchConfig) ProtoMessage() {} func (x *WildcardMatchConfig) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5749,7 +5511,7 @@ func (x *WildcardMatchConfig) GetRules() []*WildcardMatchCommandAddArg { return nil } -//* +// * // The ARP Responder module is responding to ARP requests. // It has a function `add(...)` which adds one IP-MAC mapping. // @@ -5758,21 +5520,18 @@ func (x *WildcardMatchConfig) GetRules() []*WildcardMatchCommandAddArg { // __Input Gates__: 1 // __Output Gates__: 1 type ArpResponderArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ip string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` /// The IP + MacAddr string `protobuf:"bytes,2,opt,name=mac_addr,json=macAddr,proto3" json:"mac_addr,omitempty"` /// The MAC address unknownFields protoimpl.UnknownFields - - Ip string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"` /// The IP - MacAddr string `protobuf:"bytes,2,opt,name=mac_addr,json=macAddr,proto3" json:"mac_addr,omitempty"` /// The MAC address + sizeCache protoimpl.SizeCache } func (x *ArpResponderArg) Reset() { *x = ArpResponderArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ArpResponderArg) String() string { @@ -5783,7 +5542,7 @@ func (*ArpResponderArg) ProtoMessage() {} func (x *ArpResponderArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5812,27 +5571,24 @@ func (x *ArpResponderArg) GetMacAddr() string { return "" } -//* +// * // The MPLS pop module removes MPLS labels // // __Input Gates__: 1 // __Output Gates__: 2 type MplsPopArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RemoveEthHeader bool `protobuf:"varint,1,opt,name=remove_eth_header,json=removeEthHeader,proto3" json:"remove_eth_header,omitempty"` /// Remove ETH header with the pop - NextEthType uint32 `protobuf:"varint,2,opt,name=next_eth_type,json=nextEthType,proto3" json:"next_eth_type,omitempty"` /// The next ETH type to set + state protoimpl.MessageState `protogen:"open.v1"` + RemoveEthHeader bool `protobuf:"varint,1,opt,name=remove_eth_header,json=removeEthHeader,proto3" json:"remove_eth_header,omitempty"` /// Remove ETH header with the pop + NextEthType uint32 `protobuf:"varint,2,opt,name=next_eth_type,json=nextEthType,proto3" json:"next_eth_type,omitempty"` /// The next ETH type to set + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MplsPopArg) Reset() { *x = MplsPopArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MplsPopArg) String() string { @@ -5843,7 +5599,7 @@ func (*MplsPopArg) ProtoMessage() {} func (x *MplsPopArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[100] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5872,7 +5628,7 @@ func (x *MplsPopArg) GetNextEthType() uint32 { return 0 } -//* +// * // WorkerSplit splits packets based on the worker calling ProcessBatch(). It has // two modes. // 1. Packets from worker `x` are mapped to output gate `x`. This is the default @@ -5887,20 +5643,17 @@ func (x *MplsPopArg) GetNextEthType() uint32 { // __Input Gates__: 1 // __Output Gates__: many type WorkerSplitArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkerGates map[uint32]uint32 `protobuf:"bytes,1,rep,name=worker_gates,json=workerGates,proto3" json:"worker_gates,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // ogate -> worker mask unknownFields protoimpl.UnknownFields - - WorkerGates map[uint32]uint32 `protobuf:"bytes,1,rep,name=worker_gates,json=workerGates,proto3" json:"worker_gates,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // ogate -> worker mask + sizeCache protoimpl.SizeCache } func (x *WorkerSplitArg) Reset() { *x = WorkerSplitArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WorkerSplitArg) String() string { @@ -5911,7 +5664,7 @@ func (*WorkerSplitArg) ProtoMessage() {} func (x *WorkerSplitArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[101] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5934,22 +5687,19 @@ func (x *WorkerSplitArg) GetWorkerGates() map[uint32]uint32 { } type QosArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` + Values []*Field `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` + Entries uint64 `protobuf:"varint,3,opt,name=entries,proto3" json:"entries,omitempty"` unknownFields protoimpl.UnknownFields - - Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` - Values []*Field `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` - Entries uint64 `protobuf:"varint,3,opt,name=entries,proto3" json:"entries,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QosArg) Reset() { *x = QosArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QosArg) String() string { @@ -5960,7 +5710,7 @@ func (*QosArg) ProtoMessage() {} func (x *QosArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[102] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -5997,30 +5747,28 @@ func (x *QosArg) GetEntries() uint64 { } type QosCommandAddArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` - Cir uint64 `protobuf:"varint,2,opt,name=cir,proto3" json:"cir,omitempty"` - Pir uint64 `protobuf:"varint,3,opt,name=pir,proto3" json:"pir,omitempty"` - Cbs uint64 `protobuf:"varint,4,opt,name=cbs,proto3" json:"cbs,omitempty"` - Pbs uint64 `protobuf:"varint,5,opt,name=pbs,proto3" json:"pbs,omitempty"` - Ebs uint64 `protobuf:"varint,6,opt,name=ebs,proto3" json:"ebs,omitempty"` - // Types that are assignable to OptionalDeductLen: + state protoimpl.MessageState `protogen:"open.v1"` + Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` + Cir uint64 `protobuf:"varint,2,opt,name=cir,proto3" json:"cir,omitempty"` + Pir uint64 `protobuf:"varint,3,opt,name=pir,proto3" json:"pir,omitempty"` + Cbs uint64 `protobuf:"varint,4,opt,name=cbs,proto3" json:"cbs,omitempty"` + Pbs uint64 `protobuf:"varint,5,opt,name=pbs,proto3" json:"pbs,omitempty"` + Ebs uint64 `protobuf:"varint,6,opt,name=ebs,proto3" json:"ebs,omitempty"` + // Types that are valid to be assigned to OptionalDeductLen: + // // *QosCommandAddArg_DeductLen OptionalDeductLen isQosCommandAddArg_OptionalDeductLen `protobuf_oneof:"optional_deduct_len"` Fields []*FieldData `protobuf:"bytes,7,rep,name=fields,proto3" json:"fields,omitempty"` Values []*FieldData `protobuf:"bytes,8,rep,name=values,proto3" json:"values,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QosCommandAddArg) Reset() { *x = QosCommandAddArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QosCommandAddArg) String() string { @@ -6031,7 +5779,7 @@ func (*QosCommandAddArg) ProtoMessage() {} func (x *QosCommandAddArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[103] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6088,16 +5836,18 @@ func (x *QosCommandAddArg) GetEbs() uint64 { return 0 } -func (m *QosCommandAddArg) GetOptionalDeductLen() isQosCommandAddArg_OptionalDeductLen { - if m != nil { - return m.OptionalDeductLen +func (x *QosCommandAddArg) GetOptionalDeductLen() isQosCommandAddArg_OptionalDeductLen { + if x != nil { + return x.OptionalDeductLen } return nil } func (x *QosCommandAddArg) GetDeductLen() int64 { - if x, ok := x.GetOptionalDeductLen().(*QosCommandAddArg_DeductLen); ok { - return x.DeductLen + if x != nil { + if x, ok := x.OptionalDeductLen.(*QosCommandAddArg_DeductLen); ok { + return x.DeductLen + } } return 0 } @@ -6127,20 +5877,17 @@ type QosCommandAddArg_DeductLen struct { func (*QosCommandAddArg_DeductLen) isQosCommandAddArg_OptionalDeductLen() {} type QosCommandDeleteArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fields []*FieldData `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` unknownFields protoimpl.UnknownFields - - Fields []*FieldData `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QosCommandDeleteArg) Reset() { *x = QosCommandDeleteArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[104] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QosCommandDeleteArg) String() string { @@ -6151,7 +5898,7 @@ func (*QosCommandDeleteArg) ProtoMessage() {} func (x *QosCommandDeleteArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[104] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6173,23 +5920,21 @@ func (x *QosCommandDeleteArg) GetFields() []*FieldData { return nil } -//* +// * // The function `clear()` for WildcardMatch takes no parameters, it clears // all state in the WildcardMatch module (is equivalent to calling delete for // all rules) type QosCommandClearArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QosCommandClearArg) Reset() { *x = QosCommandClearArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[105] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QosCommandClearArg) String() string { @@ -6200,7 +5945,7 @@ func (*QosCommandClearArg) ProtoMessage() {} func (x *QosCommandClearArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[105] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6215,25 +5960,22 @@ func (*QosCommandClearArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{105} } -//* +// * // For traffic which does not match any rule in the WildcardMatch module, // the `set_default_gate(...)` function specifies which gate to send this extra // traffic to. type QosCommandSetDefaultGateArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` unknownFields protoimpl.UnknownFields - - Gate uint64 `protobuf:"varint,1,opt,name=gate,proto3" json:"gate,omitempty"` + sizeCache protoimpl.SizeCache } func (x *QosCommandSetDefaultGateArg) Reset() { *x = QosCommandSetDefaultGateArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[106] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QosCommandSetDefaultGateArg) String() string { @@ -6244,7 +5986,7 @@ func (*QosCommandSetDefaultGateArg) ProtoMessage() {} func (x *QosCommandSetDefaultGateArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[106] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6267,22 +6009,19 @@ func (x *QosCommandSetDefaultGateArg) GetGate() uint64 { } type FlowMeasureArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + FlagAttrName string `protobuf:"bytes,1,opt,name=flag_attr_name,json=flagAttrName,proto3" json:"flag_attr_name,omitempty"` + Entries uint64 `protobuf:"varint,2,opt,name=entries,proto3" json:"entries,omitempty"` + Leader bool `protobuf:"varint,3,opt,name=leader,proto3" json:"leader,omitempty"` // If true, this module will decide the buffer side unknownFields protoimpl.UnknownFields - - FlagAttrName string `protobuf:"bytes,1,opt,name=flag_attr_name,json=flagAttrName,proto3" json:"flag_attr_name,omitempty"` - Entries uint64 `protobuf:"varint,2,opt,name=entries,proto3" json:"entries,omitempty"` - Leader bool `protobuf:"varint,3,opt,name=leader,proto3" json:"leader,omitempty"` // If true, this module will decide the buffer side + sizeCache protoimpl.SizeCache } func (x *FlowMeasureArg) Reset() { *x = FlowMeasureArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FlowMeasureArg) String() string { @@ -6293,7 +6032,7 @@ func (*FlowMeasureArg) ProtoMessage() {} func (x *FlowMeasureArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[107] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6330,23 +6069,20 @@ func (x *FlowMeasureArg) GetLeader() bool { } type FlowMeasureCommandReadArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Clear bool `protobuf:"varint,1,opt,name=clear,proto3" json:"clear,omitempty"` // If true, the data will be all cleared after read - LatencyPercentiles []float64 `protobuf:"fixed64,2,rep,packed,name=latency_percentiles,json=latencyPercentiles,proto3" json:"latency_percentiles,omitempty"` /// ascending list of real numbers in [0.0, 100.0] - JitterPercentiles []float64 `protobuf:"fixed64,3,rep,packed,name=jitter_percentiles,json=jitterPercentiles,proto3" json:"jitter_percentiles,omitempty"` /// ascending list of real numbers in [0.0, 100.0] - FlagToRead uint64 `protobuf:"varint,4,opt,name=flag_to_read,json=flagToRead,proto3" json:"flag_to_read,omitempty"` /// Which buffer to read from + state protoimpl.MessageState `protogen:"open.v1"` + Clear bool `protobuf:"varint,1,opt,name=clear,proto3" json:"clear,omitempty"` // If true, the data will be all cleared after read + LatencyPercentiles []float64 `protobuf:"fixed64,2,rep,packed,name=latency_percentiles,json=latencyPercentiles,proto3" json:"latency_percentiles,omitempty"` /// ascending list of real numbers in [0.0, 100.0] + JitterPercentiles []float64 `protobuf:"fixed64,3,rep,packed,name=jitter_percentiles,json=jitterPercentiles,proto3" json:"jitter_percentiles,omitempty"` /// ascending list of real numbers in [0.0, 100.0] + FlagToRead uint64 `protobuf:"varint,4,opt,name=flag_to_read,json=flagToRead,proto3" json:"flag_to_read,omitempty"` /// Which buffer to read from + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FlowMeasureCommandReadArg) Reset() { *x = FlowMeasureCommandReadArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FlowMeasureCommandReadArg) String() string { @@ -6357,7 +6093,7 @@ func (*FlowMeasureCommandReadArg) ProtoMessage() {} func (x *FlowMeasureCommandReadArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6401,20 +6137,17 @@ func (x *FlowMeasureCommandReadArg) GetFlagToRead() uint64 { } type FlowMeasureReadResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Statistics []*FlowMeasureReadResponse_Statistic `protobuf:"bytes,1,rep,name=statistics,proto3" json:"statistics,omitempty"` unknownFields protoimpl.UnknownFields - - Statistics []*FlowMeasureReadResponse_Statistic `protobuf:"bytes,1,rep,name=statistics,proto3" json:"statistics,omitempty"` + sizeCache protoimpl.SizeCache } func (x *FlowMeasureReadResponse) Reset() { *x = FlowMeasureReadResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[109] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FlowMeasureReadResponse) String() string { @@ -6425,7 +6158,7 @@ func (*FlowMeasureReadResponse) ProtoMessage() {} func (x *FlowMeasureReadResponse) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[109] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6448,18 +6181,16 @@ func (x *FlowMeasureReadResponse) GetStatistics() []*FlowMeasureReadResponse_Sta } type FlowMeasureCommandFlipArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FlowMeasureCommandFlipArg) Reset() { *x = FlowMeasureCommandFlipArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[110] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FlowMeasureCommandFlipArg) String() string { @@ -6470,7 +6201,7 @@ func (*FlowMeasureCommandFlipArg) ProtoMessage() {} func (x *FlowMeasureCommandFlipArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[110] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6486,20 +6217,17 @@ func (*FlowMeasureCommandFlipArg) Descriptor() ([]byte, []int) { } type FlowMeasureFlipResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + OldFlag uint64 `protobuf:"varint,1,opt,name=old_flag,json=oldFlag,proto3" json:"old_flag,omitempty"` unknownFields protoimpl.UnknownFields - - OldFlag uint64 `protobuf:"varint,1,opt,name=old_flag,json=oldFlag,proto3" json:"old_flag,omitempty"` + sizeCache protoimpl.SizeCache } func (x *FlowMeasureFlipResponse) Reset() { *x = FlowMeasureFlipResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[111] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FlowMeasureFlipResponse) String() string { @@ -6510,7 +6238,7 @@ func (*FlowMeasureFlipResponse) ProtoMessage() {} func (x *FlowMeasureFlipResponse) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[111] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6532,24 +6260,21 @@ func (x *FlowMeasureFlipResponse) GetOldFlag() uint64 { return 0 } -//* +// * // The GtpuPathMonitoring module has a command `add()` and `delete(). // This command add or deletes an IP address from the GtpuPathMonitoring module. type GtpuPathMonitoringCommandAddDeleteArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + GnbIp uint32 `protobuf:"varint,1,opt,name=gnb_ip,json=gnbIp,proto3" json:"gnb_ip,omitempty"` // The destination/gNB IP address. unknownFields protoimpl.UnknownFields - - GnbIp uint32 `protobuf:"varint,1,opt,name=gnb_ip,json=gnbIp,proto3" json:"gnb_ip,omitempty"` // The destination/gNB IP address. + sizeCache protoimpl.SizeCache } func (x *GtpuPathMonitoringCommandAddDeleteArg) Reset() { *x = GtpuPathMonitoringCommandAddDeleteArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[112] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GtpuPathMonitoringCommandAddDeleteArg) String() string { @@ -6560,7 +6285,7 @@ func (*GtpuPathMonitoringCommandAddDeleteArg) ProtoMessage() {} func (x *GtpuPathMonitoringCommandAddDeleteArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[112] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6582,22 +6307,21 @@ func (x *GtpuPathMonitoringCommandAddDeleteArg) GetGnbIp() uint32 { return 0 } -//* -// The GtpuPathMonitoring module has a command `clear()` which takes no parameters. +// * +// The GtpuPathMonitoring module has a command `clear()` which takes no +// parameters. // This command removes all IP addresses from the GtpuPathMonitoring module. type GtpuPathMonitoringCommandClearArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GtpuPathMonitoringCommandClearArg) Reset() { *x = GtpuPathMonitoringCommandClearArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[113] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GtpuPathMonitoringCommandClearArg) String() string { @@ -6608,7 +6332,7 @@ func (*GtpuPathMonitoringCommandClearArg) ProtoMessage() {} func (x *GtpuPathMonitoringCommandClearArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[113] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6623,25 +6347,22 @@ func (*GtpuPathMonitoringCommandClearArg) Descriptor() ([]byte, []int) { return file_module_msg_proto_rawDescGZIP(), []int{113} } -//* +// * // The GtpuPathMonitoring module has a command `read()`. // This command requests to read the stats from the GtpuPathMonitoring module. // It can also clear the stats type GtpuPathMonitoringCommandReadArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Clear bool `protobuf:"varint,1,opt,name=clear,proto3" json:"clear,omitempty"` // If true, the data will be all cleared after read unknownFields protoimpl.UnknownFields - - Clear bool `protobuf:"varint,1,opt,name=clear,proto3" json:"clear,omitempty"` // If true, the data will be all cleared after read + sizeCache protoimpl.SizeCache } func (x *GtpuPathMonitoringCommandReadArg) Reset() { *x = GtpuPathMonitoringCommandReadArg{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[114] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GtpuPathMonitoringCommandReadArg) String() string { @@ -6652,7 +6373,7 @@ func (*GtpuPathMonitoringCommandReadArg) ProtoMessage() {} func (x *GtpuPathMonitoringCommandReadArg) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[114] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6674,24 +6395,21 @@ func (x *GtpuPathMonitoringCommandReadArg) GetClear() bool { return false } -//* +// * // The GtpuPathMonitoring module has a command `readResponse()`. // This command reads the stats from the GtpuPathMonitoring module. type GtpuPathMonitoringCommandReadResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Statistics []*GtpuPathMonitoringCommandReadResponse_Statistic `protobuf:"bytes,1,rep,name=statistics,proto3" json:"statistics,omitempty"` unknownFields protoimpl.UnknownFields - - Statistics []*GtpuPathMonitoringCommandReadResponse_Statistic `protobuf:"bytes,1,rep,name=statistics,proto3" json:"statistics,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GtpuPathMonitoringCommandReadResponse) Reset() { *x = GtpuPathMonitoringCommandReadResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[115] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GtpuPathMonitoringCommandReadResponse) String() string { @@ -6702,7 +6420,7 @@ func (*GtpuPathMonitoringCommandReadResponse) ProtoMessage() {} func (x *GtpuPathMonitoringCommandReadResponse) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[115] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6725,21 +6443,18 @@ func (x *GtpuPathMonitoringCommandReadResponse) GetStatistics() []*GtpuPathMonit } type L2ForwardCommandAddArg_Entry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` /// The MAC address to match + Gate int64 `protobuf:"varint,2,opt,name=gate,proto3" json:"gate,omitempty"` /// Which gate to send out traffic matching this address. unknownFields protoimpl.UnknownFields - - Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` /// The MAC address to match - Gate int64 `protobuf:"varint,2,opt,name=gate,proto3" json:"gate,omitempty"` /// Which gate to send out traffic matching this address. + sizeCache protoimpl.SizeCache } func (x *L2ForwardCommandAddArg_Entry) Reset() { *x = L2ForwardCommandAddArg_Entry{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *L2ForwardCommandAddArg_Entry) String() string { @@ -6750,7 +6465,7 @@ func (*L2ForwardCommandAddArg_Entry) ProtoMessage() {} func (x *L2ForwardCommandAddArg_Entry) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[116] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6780,27 +6495,24 @@ func (x *L2ForwardCommandAddArg_Entry) GetGate() int64 { } type MeasureCommandGetSummaryResponse_Histogram struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` /// Total # of measured data points, including above_range - AboveRange uint64 `protobuf:"varint,2,opt,name=above_range,json=aboveRange,proto3" json:"above_range,omitempty"` /// # of data points for the "too large value" bucket - ResolutionNs uint64 `protobuf:"varint,8,opt,name=resolution_ns,json=resolutionNs,proto3" json:"resolution_ns,omitempty"` /// resolution of measured data - MinNs uint64 `protobuf:"varint,3,opt,name=min_ns,json=minNs,proto3" json:"min_ns,omitempty"` - AvgNs uint64 `protobuf:"varint,4,opt,name=avg_ns,json=avgNs,proto3" json:"avg_ns,omitempty"` - MaxNs uint64 `protobuf:"varint,5,opt,name=max_ns,json=maxNs,proto3" json:"max_ns,omitempty"` - TotalNs uint64 `protobuf:"varint,6,opt,name=total_ns,json=totalNs,proto3" json:"total_ns,omitempty"` - PercentileValuesNs []uint64 `protobuf:"varint,7,rep,packed,name=percentile_values_ns,json=percentileValuesNs,proto3" json:"percentile_values_ns,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` /// Total # of measured data points, including above_range + AboveRange uint64 `protobuf:"varint,2,opt,name=above_range,json=aboveRange,proto3" json:"above_range,omitempty"` /// # of data points for the "too large value" bucket + ResolutionNs uint64 `protobuf:"varint,8,opt,name=resolution_ns,json=resolutionNs,proto3" json:"resolution_ns,omitempty"` /// resolution of measured data + MinNs uint64 `protobuf:"varint,3,opt,name=min_ns,json=minNs,proto3" json:"min_ns,omitempty"` + AvgNs uint64 `protobuf:"varint,4,opt,name=avg_ns,json=avgNs,proto3" json:"avg_ns,omitempty"` + MaxNs uint64 `protobuf:"varint,5,opt,name=max_ns,json=maxNs,proto3" json:"max_ns,omitempty"` + TotalNs uint64 `protobuf:"varint,6,opt,name=total_ns,json=totalNs,proto3" json:"total_ns,omitempty"` + PercentileValuesNs []uint64 `protobuf:"varint,7,rep,packed,name=percentile_values_ns,json=percentileValuesNs,proto3" json:"percentile_values_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MeasureCommandGetSummaryResponse_Histogram) Reset() { *x = MeasureCommandGetSummaryResponse_Histogram{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[117] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MeasureCommandGetSummaryResponse_Histogram) String() string { @@ -6811,7 +6523,7 @@ func (*MeasureCommandGetSummaryResponse_Histogram) ProtoMessage() {} func (x *MeasureCommandGetSummaryResponse_Histogram) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[117] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6882,28 +6594,25 @@ func (x *MeasureCommandGetSummaryResponse_Histogram) GetPercentileValuesNs() []u return nil } -//* +// * // One ACL rule is represented by the following 6-tuple. type ACLArg_Rule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + SrcIp string `protobuf:"bytes,1,opt,name=src_ip,json=srcIp,proto3" json:"src_ip,omitempty"` /// Source IP block in CIDR. Wildcard if "". + DstIp string `protobuf:"bytes,2,opt,name=dst_ip,json=dstIp,proto3" json:"dst_ip,omitempty"` /// Destination IP block in CIDR. Wildcard if "". + SrcPort uint32 `protobuf:"varint,3,opt,name=src_port,json=srcPort,proto3" json:"src_port,omitempty"` /// TCP/UDP source port. Wildcard if 0. + DstPort uint32 `protobuf:"varint,4,opt,name=dst_port,json=dstPort,proto3" json:"dst_port,omitempty"` /// TCP/UDP Destination port. Wildcard if 0. + Established bool `protobuf:"varint,5,opt,name=established,proto3" json:"established,omitempty"` /// Not implemented + Drop bool `protobuf:"varint,6,opt,name=drop,proto3" json:"drop,omitempty"` /// Drop matched packets if true, forward if false. By unknownFields protoimpl.UnknownFields - - SrcIp string `protobuf:"bytes,1,opt,name=src_ip,json=srcIp,proto3" json:"src_ip,omitempty"` /// Source IP block in CIDR. Wildcard if "". - DstIp string `protobuf:"bytes,2,opt,name=dst_ip,json=dstIp,proto3" json:"dst_ip,omitempty"` /// Destination IP block in CIDR. Wildcard if "". - SrcPort uint32 `protobuf:"varint,3,opt,name=src_port,json=srcPort,proto3" json:"src_port,omitempty"` /// TCP/UDP source port. Wildcard if 0. - DstPort uint32 `protobuf:"varint,4,opt,name=dst_port,json=dstPort,proto3" json:"dst_port,omitempty"` /// TCP/UDP Destination port. Wildcard if 0. - Established bool `protobuf:"varint,5,opt,name=established,proto3" json:"established,omitempty"` /// Not implemented - Drop bool `protobuf:"varint,6,opt,name=drop,proto3" json:"drop,omitempty"` /// Drop matched packets if true, forward if false. By default ACL drops all traffic. + sizeCache protoimpl.SizeCache } func (x *ACLArg_Rule) Reset() { *x = ACLArg_Rule{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[118] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ACLArg_Rule) String() string { @@ -6914,7 +6623,7 @@ func (*ACLArg_Rule) ProtoMessage() {} func (x *ACLArg_Rule) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[118] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -6971,25 +6680,25 @@ func (x *ACLArg_Rule) GetDrop() bool { return false } -//* +// * // One BPF filter is represented by the following 3-tuple. type BPFArg_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Priority int64 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"` /// The priority level for this rule. If a packet matches multiple + // / rules, it will be forwarded out the gate with the highest + // / priority. If a packet matches multiple rules with the same + // / priority, the behavior is undefined. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` /// The actual BPF string. + Gate int64 `protobuf:"varint,3,opt,name=gate,proto3" json:"gate,omitempty"` /// What gate to forward packets that match this BPF to. unknownFields protoimpl.UnknownFields - - Priority int64 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"` /// The priority level for this rule. If a packet matches multiple rules, it will be forwarded out the gate with the highest priority. If a packet matches multiple rules with the same priority, the behavior is undefined. - Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` /// The actual BPF string. - Gate int64 `protobuf:"varint,3,opt,name=gate,proto3" json:"gate,omitempty"` ///What gate to forward packets that match this BPF to. + sizeCache protoimpl.SizeCache } func (x *BPFArg_Filter) Reset() { *x = BPFArg_Filter{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BPFArg_Filter) String() string { @@ -7000,7 +6709,7 @@ func (*BPFArg_Filter) ProtoMessage() {} func (x *BPFArg_Filter) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[119] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7036,27 +6745,25 @@ func (x *BPFArg_Filter) GetGate() int64 { return 0 } -//* +// * // An EncapField represents one field in the new packet header. type GenericEncapArg_EncapField struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// The length of the field. - // Types that are assignable to Insertion: + state protoimpl.MessageState `protogen:"open.v1"` + Size uint64 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"` /// The length of the field. + // Types that are valid to be assigned to Insertion: + // // *GenericEncapArg_EncapField_Attribute // *GenericEncapArg_EncapField_Value - Insertion isGenericEncapArg_EncapField_Insertion `protobuf_oneof:"insertion"` + Insertion isGenericEncapArg_EncapField_Insertion `protobuf_oneof:"insertion"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GenericEncapArg_EncapField) Reset() { *x = GenericEncapArg_EncapField{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[120] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GenericEncapArg_EncapField) String() string { @@ -7067,7 +6774,7 @@ func (*GenericEncapArg_EncapField) ProtoMessage() {} func (x *GenericEncapArg_EncapField) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[120] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7089,23 +6796,27 @@ func (x *GenericEncapArg_EncapField) GetSize() uint64 { return 0 } -func (m *GenericEncapArg_EncapField) GetInsertion() isGenericEncapArg_EncapField_Insertion { - if m != nil { - return m.Insertion +func (x *GenericEncapArg_EncapField) GetInsertion() isGenericEncapArg_EncapField_Insertion { + if x != nil { + return x.Insertion } return nil } func (x *GenericEncapArg_EncapField) GetAttribute() string { - if x, ok := x.GetInsertion().(*GenericEncapArg_EncapField_Attribute); ok { - return x.Attribute + if x != nil { + if x, ok := x.Insertion.(*GenericEncapArg_EncapField_Attribute); ok { + return x.Attribute + } } return "" } func (x *GenericEncapArg_EncapField) GetValue() *FieldData { - if x, ok := x.GetInsertion().(*GenericEncapArg_EncapField_Value); ok { - return x.Value + if x != nil { + if x, ok := x.Insertion.(*GenericEncapArg_EncapField_Value); ok { + return x.Value + } } return nil } @@ -7127,22 +6838,19 @@ func (*GenericEncapArg_EncapField_Attribute) isGenericEncapArg_EncapField_Insert func (*GenericEncapArg_EncapField_Value) isGenericEncapArg_EncapField_Insertion() {} type NATArg_PortRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Begin uint32 `protobuf:"varint,1,opt,name=begin,proto3" json:"begin,omitempty"` + End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` + Suspended bool `protobuf:"varint,3,opt,name=suspended,proto3" json:"suspended,omitempty"` unknownFields protoimpl.UnknownFields - - Begin uint32 `protobuf:"varint,1,opt,name=begin,proto3" json:"begin,omitempty"` - End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` - Suspended bool `protobuf:"varint,3,opt,name=suspended,proto3" json:"suspended,omitempty"` + sizeCache protoimpl.SizeCache } func (x *NATArg_PortRange) Reset() { *x = NATArg_PortRange{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NATArg_PortRange) String() string { @@ -7153,7 +6861,7 @@ func (*NATArg_PortRange) ProtoMessage() {} func (x *NATArg_PortRange) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[124] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7190,21 +6898,18 @@ func (x *NATArg_PortRange) GetSuspended() bool { } type NATArg_ExternalAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ExtAddr string `protobuf:"bytes,1,opt,name=ext_addr,json=extAddr,proto3" json:"ext_addr,omitempty"` + PortRanges []*NATArg_PortRange `protobuf:"bytes,2,rep,name=port_ranges,json=portRanges,proto3" json:"port_ranges,omitempty"` unknownFields protoimpl.UnknownFields - - ExtAddr string `protobuf:"bytes,1,opt,name=ext_addr,json=extAddr,proto3" json:"ext_addr,omitempty"` - PortRanges []*NATArg_PortRange `protobuf:"bytes,2,rep,name=port_ranges,json=portRanges,proto3" json:"port_ranges,omitempty"` + sizeCache protoimpl.SizeCache } func (x *NATArg_ExternalAddress) Reset() { *x = NATArg_ExternalAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NATArg_ExternalAddress) String() string { @@ -7215,7 +6920,7 @@ func (*NATArg_ExternalAddress) ProtoMessage() {} func (x *NATArg_ExternalAddress) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[125] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7245,21 +6950,18 @@ func (x *NATArg_ExternalAddress) GetPortRanges() []*NATArg_PortRange { } type StaticNATArg_AddressRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` /// first IP address to use + End string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` /// last IP address to use unknownFields protoimpl.UnknownFields - - Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` /// first IP address to use - End string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` /// last IP address to use + sizeCache protoimpl.SizeCache } func (x *StaticNATArg_AddressRange) Reset() { *x = StaticNATArg_AddressRange{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[126] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StaticNATArg_AddressRange) String() string { @@ -7270,7 +6972,7 @@ func (*StaticNATArg_AddressRange) ProtoMessage() {} func (x *StaticNATArg_AddressRange) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[126] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7300,21 +7002,18 @@ func (x *StaticNATArg_AddressRange) GetEnd() string { } type StaticNATArg_AddressRangePair struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + IntRange *StaticNATArg_AddressRange `protobuf:"bytes,1,opt,name=int_range,json=intRange,proto3" json:"int_range,omitempty"` + ExtRange *StaticNATArg_AddressRange `protobuf:"bytes,2,opt,name=ext_range,json=extRange,proto3" json:"ext_range,omitempty"` /// should be the same size as int_range unknownFields protoimpl.UnknownFields - - IntRange *StaticNATArg_AddressRange `protobuf:"bytes,1,opt,name=int_range,json=intRange,proto3" json:"int_range,omitempty"` - ExtRange *StaticNATArg_AddressRange `protobuf:"bytes,2,opt,name=ext_range,json=extRange,proto3" json:"ext_range,omitempty"` /// should be the same size as int_range + sizeCache protoimpl.SizeCache } func (x *StaticNATArg_AddressRangePair) Reset() { *x = StaticNATArg_AddressRangePair{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[127] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StaticNATArg_AddressRangePair) String() string { @@ -7325,7 +7024,7 @@ func (*StaticNATArg_AddressRangePair) ProtoMessage() {} func (x *StaticNATArg_AddressRangePair) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[127] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7354,27 +7053,24 @@ func (x *StaticNATArg_AddressRangePair) GetExtRange() *StaticNATArg_AddressRange return nil } -//* +// * // RandomUpdate's Field specifies where to rewrite, and what values to rewrite // in each packet processed. type RandomUpdateArg_Field struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` /// Offset in bytes of where to rewrite. + Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// The number of bytes to write. + Min uint64 `protobuf:"varint,3,opt,name=min,proto3" json:"min,omitempty"` /// The minimum value to insert into the packet. + Max uint64 `protobuf:"varint,4,opt,name=max,proto3" json:"max,omitempty"` /// The maximum value to insert into the packet. unknownFields protoimpl.UnknownFields - - Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` /// Offset in bytes of where to rewrite. - Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// The number of bytes to write. - Min uint64 `protobuf:"varint,3,opt,name=min,proto3" json:"min,omitempty"` /// The minimum value to insert into the packet. - Max uint64 `protobuf:"varint,4,opt,name=max,proto3" json:"max,omitempty"` /// The maximum value to insert into the packet. + sizeCache protoimpl.SizeCache } func (x *RandomUpdateArg_Field) Reset() { *x = RandomUpdateArg_Field{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[128] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RandomUpdateArg_Field) String() string { @@ -7385,7 +7081,7 @@ func (*RandomUpdateArg_Field) ProtoMessage() {} func (x *RandomUpdateArg_Field) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[128] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7428,34 +7124,35 @@ func (x *RandomUpdateArg_Field) GetMax() uint64 { return 0 } -//* +// * // SetMetadata Attribute describes a metadata attribute and value to attach to // every packet. If copying data from a packet buffer, SetMetadata can also // logically shift then mask the value before storing it as metadata, i.e., // metadata_value = (packet_value >> `rshift_bits`) & `mask`. type SetMetadataArg_Attribute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// The metadata attribute name. - Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// The size of values stored in this attribute in bytes. - // Types that are assignable to Value: + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` /// The metadata attribute name. + Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// The size of values stored in this attribute in bytes. + // Types that are valid to be assigned to Value: + // // *SetMetadataArg_Attribute_ValueInt // *SetMetadataArg_Attribute_ValueBin - Value isSetMetadataArg_Attribute_Value `protobuf_oneof:"value"` - Offset int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` /// An index in the packet data to store copy into the metadata attribute. - Mask []byte `protobuf:"bytes,6,opt,name=mask,proto3" json:"mask,omitempty"` /// An array of bit masks to apply to each of the bytes copied starting from `offset`. If empty, the mask `[0xFF,....,0xFF]` will be used. - RshiftBits int32 `protobuf:"varint,7,opt,name=rshift_bits,json=rshiftBits,proto3" json:"rshift_bits,omitempty"` /// The number of bits to shift the value at `offset` by before masking. Must be a multiple of 8. Positive and negative values represent right and left shifts respectively. + Value isSetMetadataArg_Attribute_Value `protobuf_oneof:"value"` + Offset int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` /// An index in the packet data to store copy into the + // / metadata attribute. + Mask []byte `protobuf:"bytes,6,opt,name=mask,proto3" json:"mask,omitempty"` /// An array of bit masks to apply to each of the bytes + // / copied starting from `offset`. If empty, the mask + // / `[0xFF,....,0xFF]` will be used. + RshiftBits int32 `protobuf:"varint,7,opt,name=rshift_bits,json=rshiftBits,proto3" json:"rshift_bits,omitempty"` /// The number of bits to shift the value at `offset` by before + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SetMetadataArg_Attribute) Reset() { *x = SetMetadataArg_Attribute{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[129] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SetMetadataArg_Attribute) String() string { @@ -7466,7 +7163,7 @@ func (*SetMetadataArg_Attribute) ProtoMessage() {} func (x *SetMetadataArg_Attribute) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[129] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7495,23 +7192,27 @@ func (x *SetMetadataArg_Attribute) GetSize() uint64 { return 0 } -func (m *SetMetadataArg_Attribute) GetValue() isSetMetadataArg_Attribute_Value { - if m != nil { - return m.Value +func (x *SetMetadataArg_Attribute) GetValue() isSetMetadataArg_Attribute_Value { + if x != nil { + return x.Value } return nil } func (x *SetMetadataArg_Attribute) GetValueInt() uint64 { - if x, ok := x.GetValue().(*SetMetadataArg_Attribute_ValueInt); ok { - return x.ValueInt + if x != nil { + if x, ok := x.Value.(*SetMetadataArg_Attribute_ValueInt); ok { + return x.ValueInt + } } return 0 } func (x *SetMetadataArg_Attribute) GetValueBin() []byte { - if x, ok := x.GetValue().(*SetMetadataArg_Attribute_ValueBin); ok { - return x.ValueBin + if x != nil { + if x, ok := x.Value.(*SetMetadataArg_Attribute_ValueBin); ok { + return x.ValueBin + } } return nil } @@ -7553,26 +7254,23 @@ func (*SetMetadataArg_Attribute_ValueInt) isSetMetadataArg_Attribute_Value() {} func (*SetMetadataArg_Attribute_ValueBin) isSetMetadataArg_Attribute_Value() {} -//* +// * // Update Field describes where in a packet's data to rewrite, and with what // value. type UpdateArg_Field struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` /// The offset in the packet in bytes to rewrite at. + Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// The number of bytes to rewrite (max 8 bytes). + Value uint64 `protobuf:"varint,3,opt,name=value,proto3" json:"value,omitempty"` /// The value to write into the packet, max 8 bytes. unknownFields protoimpl.UnknownFields - - Offset int64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` /// The offset in the packet in bytes to rewrite at. - Size uint64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` /// The number of bytes to rewrite (max 8 bytes). - Value uint64 `protobuf:"varint,3,opt,name=value,proto3" json:"value,omitempty"` /// The value to write into the packet, max 8 bytes. + sizeCache protoimpl.SizeCache } func (x *UpdateArg_Field) Reset() { *x = UpdateArg_Field{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[130] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UpdateArg_Field) String() string { @@ -7583,7 +7281,7 @@ func (*UpdateArg_Field) ProtoMessage() {} func (x *UpdateArg_Field) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[130] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7619,24 +7317,21 @@ func (x *UpdateArg_Field) GetValue() uint64 { return 0 } -//* +// * // A URL consists of a host and a path. type UrlFilterArg_Url struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` /// Host field, e.g. "www.google.com" + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` /// Path prefix, e.g. "/" unknownFields protoimpl.UnknownFields - - Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` /// Host field, e.g. "www.google.com" - Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` /// Path prefix, e.g. "/" + sizeCache protoimpl.SizeCache } func (x *UrlFilterArg_Url) Reset() { *x = UrlFilterArg_Url{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[131] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UrlFilterArg_Url) String() string { @@ -7647,7 +7342,7 @@ func (*UrlFilterArg_Url) ProtoMessage() {} func (x *UrlFilterArg_Url) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[131] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7677,25 +7372,22 @@ func (x *UrlFilterArg_Url) GetPath() string { } type FlowMeasureReadResponse_Statistic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Fseid uint64 `protobuf:"varint,1,opt,name=fseid,proto3" json:"fseid,omitempty"` + Pdr uint64 `protobuf:"varint,2,opt,name=pdr,proto3" json:"pdr,omitempty"` + Latency *FlowMeasureReadResponse_Statistic_Histogram `protobuf:"bytes,3,opt,name=latency,proto3" json:"latency,omitempty"` + Jitter *FlowMeasureReadResponse_Statistic_Histogram `protobuf:"bytes,4,opt,name=jitter,proto3" json:"jitter,omitempty"` + TotalBytes uint64 `protobuf:"varint,11,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"` + TotalPackets uint64 `protobuf:"varint,12,opt,name=total_packets,json=totalPackets,proto3" json:"total_packets,omitempty"` unknownFields protoimpl.UnknownFields - - Fseid uint64 `protobuf:"varint,1,opt,name=fseid,proto3" json:"fseid,omitempty"` - Pdr uint64 `protobuf:"varint,2,opt,name=pdr,proto3" json:"pdr,omitempty"` - Latency *FlowMeasureReadResponse_Statistic_Histogram `protobuf:"bytes,3,opt,name=latency,proto3" json:"latency,omitempty"` - Jitter *FlowMeasureReadResponse_Statistic_Histogram `protobuf:"bytes,4,opt,name=jitter,proto3" json:"jitter,omitempty"` - TotalBytes uint64 `protobuf:"varint,11,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"` - TotalPackets uint64 `protobuf:"varint,12,opt,name=total_packets,json=totalPackets,proto3" json:"total_packets,omitempty"` + sizeCache protoimpl.SizeCache } func (x *FlowMeasureReadResponse_Statistic) Reset() { *x = FlowMeasureReadResponse_Statistic{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[133] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FlowMeasureReadResponse_Statistic) String() string { @@ -7706,7 +7398,7 @@ func (*FlowMeasureReadResponse_Statistic) ProtoMessage() {} func (x *FlowMeasureReadResponse_Statistic) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[133] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7764,27 +7456,24 @@ func (x *FlowMeasureReadResponse_Statistic) GetTotalPackets() uint64 { } type FlowMeasureReadResponse_Statistic_Histogram struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` /// Total # of measured data points, including above_range - AboveRange uint64 `protobuf:"varint,2,opt,name=above_range,json=aboveRange,proto3" json:"above_range,omitempty"` /// # of data points for the "too large value" bucket - ResolutionNs uint64 `protobuf:"varint,8,opt,name=resolution_ns,json=resolutionNs,proto3" json:"resolution_ns,omitempty"` /// resolution of measured data - MinNs uint64 `protobuf:"varint,3,opt,name=min_ns,json=minNs,proto3" json:"min_ns,omitempty"` - AvgNs uint64 `protobuf:"varint,4,opt,name=avg_ns,json=avgNs,proto3" json:"avg_ns,omitempty"` - MaxNs uint64 `protobuf:"varint,5,opt,name=max_ns,json=maxNs,proto3" json:"max_ns,omitempty"` - TotalNs uint64 `protobuf:"varint,6,opt,name=total_ns,json=totalNs,proto3" json:"total_ns,omitempty"` - PercentileValuesNs []uint64 `protobuf:"varint,7,rep,packed,name=percentile_values_ns,json=percentileValuesNs,proto3" json:"percentile_values_ns,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` /// Total # of measured data points, including above_range + AboveRange uint64 `protobuf:"varint,2,opt,name=above_range,json=aboveRange,proto3" json:"above_range,omitempty"` /// # of data points for the "too large value" bucket + ResolutionNs uint64 `protobuf:"varint,8,opt,name=resolution_ns,json=resolutionNs,proto3" json:"resolution_ns,omitempty"` /// resolution of measured data + MinNs uint64 `protobuf:"varint,3,opt,name=min_ns,json=minNs,proto3" json:"min_ns,omitempty"` + AvgNs uint64 `protobuf:"varint,4,opt,name=avg_ns,json=avgNs,proto3" json:"avg_ns,omitempty"` + MaxNs uint64 `protobuf:"varint,5,opt,name=max_ns,json=maxNs,proto3" json:"max_ns,omitempty"` + TotalNs uint64 `protobuf:"varint,6,opt,name=total_ns,json=totalNs,proto3" json:"total_ns,omitempty"` + PercentileValuesNs []uint64 `protobuf:"varint,7,rep,packed,name=percentile_values_ns,json=percentileValuesNs,proto3" json:"percentile_values_ns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FlowMeasureReadResponse_Statistic_Histogram) Reset() { *x = FlowMeasureReadResponse_Statistic_Histogram{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[134] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FlowMeasureReadResponse_Statistic_Histogram) String() string { @@ -7795,7 +7484,7 @@ func (*FlowMeasureReadResponse_Statistic_Histogram) ProtoMessage() {} func (x *FlowMeasureReadResponse_Statistic_Histogram) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[134] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7867,24 +7556,21 @@ func (x *FlowMeasureReadResponse_Statistic_Histogram) GetPercentileValuesNs() [] } type GtpuPathMonitoringCommandReadResponse_Statistic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + GnbIp uint32 `protobuf:"varint,1,opt,name=gnb_ip,json=gnbIp,proto3" json:"gnb_ip,omitempty"` /// gNB IP + Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` /// count + LatencyMin uint64 `protobuf:"varint,3,opt,name=latency_min,json=latencyMin,proto3" json:"latency_min,omitempty"` /// minimum latency + LatencyMean uint64 `protobuf:"varint,4,opt,name=latency_mean,json=latencyMean,proto3" json:"latency_mean,omitempty"` /// average latency + LatencyMax uint64 `protobuf:"varint,5,opt,name=latency_max,json=latencyMax,proto3" json:"latency_max,omitempty"` /// maximum latency unknownFields protoimpl.UnknownFields - - GnbIp uint32 `protobuf:"varint,1,opt,name=gnb_ip,json=gnbIp,proto3" json:"gnb_ip,omitempty"` /// gNB IP - Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` /// count - LatencyMin uint64 `protobuf:"varint,3,opt,name=latency_min,json=latencyMin,proto3" json:"latency_min,omitempty"` /// minimum latency - LatencyMean uint64 `protobuf:"varint,4,opt,name=latency_mean,json=latencyMean,proto3" json:"latency_mean,omitempty"` /// average latency - LatencyMax uint64 `protobuf:"varint,5,opt,name=latency_max,json=latencyMax,proto3" json:"latency_max,omitempty"` /// maximum latency + sizeCache protoimpl.SizeCache } func (x *GtpuPathMonitoringCommandReadResponse_Statistic) Reset() { *x = GtpuPathMonitoringCommandReadResponse_Statistic{} - if protoimpl.UnsafeEnabled { - mi := &file_module_msg_proto_msgTypes[135] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_module_msg_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GtpuPathMonitoringCommandReadResponse_Statistic) String() string { @@ -7895,7 +7581,7 @@ func (*GtpuPathMonitoringCommandReadResponse_Statistic) ProtoMessage() {} func (x *GtpuPathMonitoringCommandReadResponse_Statistic) ProtoReflect() protoreflect.Message { mi := &file_module_msg_proto_msgTypes[135] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -7947,714 +7633,457 @@ func (x *GtpuPathMonitoringCommandReadResponse_Statistic) GetLatencyMax() uint64 var File_module_msg_proto protoreflect.FileDescriptor -var file_module_msg_proto_rawDesc = []byte{ - 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x07, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x1a, 0x0e, 0x75, 0x74, 0x69, - 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0a, 0x0a, 0x08, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x41, 0x72, 0x67, 0x22, 0x14, 0x0a, 0x12, 0x42, 0x50, 0x46, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x72, 0x67, 0x22, 0x85, 0x01, - 0x0a, 0x17, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, - 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x48, 0x0a, 0x1a, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x72, 0x67, 0x12, 0x2a, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, - 0x1b, 0x0a, 0x19, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x72, 0x67, 0x22, 0x38, 0x0a, 0x22, - 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, - 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x19, 0x46, 0x6c, 0x6f, 0x77, 0x47, 0x65, - 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x42, 0x75, 0x72, 0x73, 0x74, - 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x62, 0x75, 0x72, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x17, 0x48, 0x61, 0x73, - 0x68, 0x4c, 0x42, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x4d, 0x6f, 0x64, - 0x65, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x22, 0x30, 0x0a, 0x18, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x42, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x53, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x73, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, - 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x67, 0x61, 0x74, - 0x65, 0x73, 0x22, 0x62, 0x0a, 0x15, 0x49, 0x50, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x41, 0x72, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, - 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x22, 0x51, 0x0a, 0x18, 0x49, 0x50, 0x4c, 0x6f, 0x6f, 0x6b, - 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x72, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x22, 0x19, 0x0a, 0x17, 0x49, 0x50, 0x4c, - 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6c, 0x65, 0x61, - 0x72, 0x41, 0x72, 0x67, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x4c, 0x32, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x41, 0x72, 0x67, 0x12, - 0x3f, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x32, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x41, 0x72, - 0x67, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x1a, 0x2f, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, - 0x04, 0x67, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x67, 0x61, 0x74, - 0x65, 0x22, 0x31, 0x0a, 0x19, 0x4c, 0x32, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x61, - 0x64, 0x64, 0x72, 0x73, 0x22, 0x37, 0x0a, 0x21, 0x4c, 0x32, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, - 0x19, 0x4c, 0x32, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, - 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x64, 0x72, 0x73, - 0x22, 0x36, 0x0a, 0x1e, 0x4c, 0x32, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x04, 0x52, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x1b, 0x4c, 0x32, 0x46, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x70, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0x93, 0x01, 0x0a, 0x1b, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x72, 0x67, - 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x12, 0x2f, 0x0a, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, - 0x79, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x01, 0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6a, 0x69, 0x74, 0x74, 0x65, - 0x72, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x01, 0x52, 0x11, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x86, 0x04, 0x0a, 0x20, 0x4d, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x47, 0x65, 0x74, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, - 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x47, 0x65, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x07, 0x6c, - 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x4b, 0x0a, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x47, - 0x65, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x6a, 0x69, 0x74, - 0x74, 0x65, 0x72, 0x1a, 0xf9, 0x01, 0x0a, 0x09, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x62, 0x6f, 0x76, 0x65, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x62, - 0x6f, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x73, 0x12, 0x15, 0x0a, - 0x06, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6d, - 0x69, 0x6e, 0x4e, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x76, 0x67, 0x5f, 0x6e, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x61, 0x76, 0x67, 0x4e, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6d, - 0x61, 0x78, 0x5f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6d, 0x61, 0x78, - 0x4e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x73, 0x12, 0x30, 0x0a, - 0x14, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x5f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x12, 0x70, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4e, 0x73, 0x22, - 0x6e, 0x0a, 0x06, 0x44, 0x52, 0x52, 0x41, 0x72, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, - 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x75, - 0x6d, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, - 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x71, 0x75, 0x65, - 0x75, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, - 0x61, 0x78, 0x46, 0x6c, 0x6f, 0x77, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, - 0x29, 0x0a, 0x0d, 0x44, 0x52, 0x52, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x41, 0x72, 0x67, - 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x75, 0x6d, 0x22, 0x3e, 0x0a, 0x16, 0x44, 0x52, - 0x52, 0x4d, 0x61, 0x78, 0x46, 0x6c, 0x6f, 0x77, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x41, 0x72, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, - 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x31, 0x0a, 0x19, 0x50, 0x6f, - 0x72, 0x74, 0x49, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x42, - 0x75, 0x72, 0x73, 0x74, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x72, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x75, 0x72, 0x73, 0x74, 0x22, 0x32, 0x0a, - 0x1a, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x53, 0x65, 0x74, 0x42, 0x75, 0x72, 0x73, 0x74, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, - 0x75, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x75, 0x72, 0x73, - 0x74, 0x22, 0x2f, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x53, 0x65, 0x74, 0x42, 0x75, 0x72, 0x73, 0x74, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, - 0x62, 0x75, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x75, 0x72, - 0x73, 0x74, 0x22, 0x2c, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x53, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x22, 0x1a, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x72, 0x67, 0x22, 0x9b, 0x01, 0x0a, - 0x1d, 0x51, 0x75, 0x65, 0x75, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x71, 0x75, - 0x65, 0x75, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x65, 0x6e, 0x71, 0x75, - 0x65, 0x75, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x61, - 0x6e, 0x64, 0x6f, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x72, 0x67, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x72, - 0x41, 0x72, 0x67, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x72, 0x67, 0x22, 0xd0, 0x01, 0x0a, - 0x1a, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x67, - 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x6d, 0x61, 0x73, 0x6b, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x6d, 0x61, 0x73, 0x6b, - 0x73, 0x12, 0x2c, 0x0a, 0x07, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x76, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x76, 0x22, - 0x75, 0x0a, 0x1d, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x67, - 0x12, 0x2a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, - 0x6d, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x05, 0x6d, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x1e, 0x0a, 0x1c, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, - 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6c, - 0x65, 0x61, 0x72, 0x41, 0x72, 0x67, 0x22, 0x3b, 0x0a, 0x25, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, - 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, - 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x67, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, - 0x61, 0x74, 0x65, 0x22, 0xd7, 0x01, 0x0a, 0x06, 0x41, 0x43, 0x4c, 0x41, 0x72, 0x67, 0x12, 0x2a, - 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x43, 0x4c, 0x41, 0x72, 0x67, 0x2e, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0xa0, 0x01, 0x0a, 0x04, 0x52, - 0x75, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x72, 0x63, 0x49, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x73, - 0x74, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x73, 0x74, 0x49, - 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x72, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x72, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x64, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x64, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x73, 0x74, 0x61, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x73, - 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x72, 0x6f, - 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x72, 0x6f, 0x70, 0x22, 0x8c, 0x01, - 0x0a, 0x06, 0x42, 0x50, 0x46, 0x41, 0x72, 0x67, 0x12, 0x30, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x50, 0x46, 0x41, 0x72, 0x67, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x50, 0x0a, 0x06, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x22, 0x0b, 0x0a, 0x09, - 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x41, 0x72, 0x67, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x42, 0x79, - 0x70, 0x61, 0x73, 0x73, 0x41, 0x72, 0x67, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x79, 0x63, 0x6c, 0x65, - 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x50, 0x65, 0x72, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x73, 0x50, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x0a, - 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x50, 0x65, - 0x72, 0x42, 0x79, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x07, 0x44, 0x75, 0x6d, 0x70, 0x41, 0x72, 0x67, - 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x0f, 0x0a, 0x0d, - 0x45, 0x74, 0x68, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x41, 0x72, 0x67, 0x22, 0xcf, 0x01, - 0x0a, 0x0d, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x67, 0x12, - 0x26, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, - 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x6d, 0x61, 0x73, 0x6b, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x6d, 0x61, 0x73, 0x6b, - 0x73, 0x12, 0x26, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x6d, 0x61, 0x73, - 0x6b, 0x73, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x6d, - 0x61, 0x73, 0x6b, 0x73, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, - 0x6d, 0x0a, 0x10, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x67, - 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x47, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x45, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x41, 0x64, 0x64, 0x41, 0x72, 0x67, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xe5, - 0x02, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x77, 0x47, 0x65, 0x6e, 0x41, 0x72, 0x67, 0x12, 0x1a, 0x0a, - 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x70, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x70, 0x70, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, - 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, - 0x66, 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6c, 0x6f, 0x77, - 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x5f, 0x72, 0x61, 0x6d, - 0x70, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x71, 0x75, 0x69, 0x63, 0x6b, - 0x52, 0x61, 0x6d, 0x70, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x70, 0x5f, 0x73, 0x72, 0x63, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x70, - 0x53, 0x72, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x70, 0x5f, 0x64, - 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x69, 0x70, 0x44, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, - 0x72, 0x74, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x72, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x73, - 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x27, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, - 0x63, 0x44, 0x65, 0x63, 0x61, 0x70, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, - 0xc9, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x63, 0x61, 0x70, - 0x41, 0x72, 0x67, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x69, 0x63, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x41, 0x72, 0x67, 0x2e, 0x45, 0x6e, - 0x63, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x1a, 0x79, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x12, 0x1e, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, - 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x09, 0x48, - 0x61, 0x73, 0x68, 0x4c, 0x42, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x61, 0x74, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, - 0x64, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x0c, 0x0a, 0x0a, 0x49, 0x50, - 0x45, 0x6e, 0x63, 0x61, 0x70, 0x41, 0x72, 0x67, 0x22, 0x47, 0x0a, 0x0b, 0x49, 0x50, 0x4c, 0x6f, - 0x6f, 0x6b, 0x75, 0x70, 0x41, 0x72, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x62, 0x6c, 0x38, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x54, 0x62, 0x6c, 0x38, - 0x73, 0x22, 0x3a, 0x0a, 0x0c, 0x4c, 0x32, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x72, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x0c, 0x0a, - 0x0a, 0x4d, 0x41, 0x43, 0x53, 0x77, 0x61, 0x70, 0x41, 0x72, 0x67, 0x22, 0xd5, 0x01, 0x0a, 0x0a, - 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x41, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x10, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x50, 0x72, 0x6f, - 0x62, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6e, 0x73, 0x5f, - 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6c, 0x61, 0x74, 0x65, 0x6e, - 0x63, 0x79, 0x4e, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x61, 0x74, 0x65, 0x6e, - 0x63, 0x79, 0x5f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4e, - 0x73, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x22, 0x0a, 0x0a, 0x08, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x72, 0x67, 0x22, - 0xf0, 0x02, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x65, 0x73, 0x74, - 0x41, 0x72, 0x67, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x54, 0x65, 0x73, 0x74, 0x41, 0x72, 0x67, 0x2e, 0x52, 0x65, 0x61, 0x64, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x72, 0x65, 0x61, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x65, 0x73, - 0x74, 0x41, 0x72, 0x67, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x65, 0x73, 0x74, 0x41, 0x72, 0x67, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x1a, 0x37, 0x0a, 0x09, 0x52, 0x65, 0x61, 0x64, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, - 0x0a, 0x57, 0x72, 0x69, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x83, 0x02, 0x0a, 0x06, 0x4e, 0x41, 0x54, 0x41, 0x72, 0x67, 0x12, 0x3c, 0x0a, - 0x09, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x41, 0x54, 0x41, 0x72, - 0x67, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x08, 0x65, 0x78, 0x74, 0x41, 0x64, 0x64, 0x72, 0x73, 0x1a, 0x51, 0x0a, 0x09, 0x50, - 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, 0x69, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x10, - 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, 0x6e, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x68, - 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x3a, 0x0a, 0x0b, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x41, 0x54, 0x41, - 0x72, 0x67, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x4e, 0x41, 0x54, 0x41, 0x72, 0x67, 0x12, 0x3c, 0x0a, 0x05, 0x70, 0x61, 0x69, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4e, 0x41, 0x54, 0x41, 0x72, 0x67, 0x2e, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x69, 0x72, - 0x52, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x1a, 0x36, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x1a, - 0x94, 0x01, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x50, 0x61, 0x69, 0x72, 0x12, 0x3f, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4e, 0x41, 0x54, 0x41, 0x72, 0x67, 0x2e, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x74, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4e, 0x41, 0x54, 0x41, 0x72, 0x67, 0x2e, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x65, 0x78, - 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x09, 0x0a, 0x07, 0x4e, 0x6f, 0x4f, 0x70, 0x41, 0x72, - 0x67, 0x22, 0x3c, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x63, 0x41, 0x72, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x22, - 0x20, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x22, 0x4f, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x6e, 0x63, 0x41, 0x72, 0x67, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x03, 0x71, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x65, 0x74, - 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x65, 0x74, - 0x63, 0x68, 0x22, 0x33, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4f, 0x75, 0x74, 0x41, 0x72, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x03, 0x71, 0x69, 0x64, 0x22, 0x5e, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x65, - 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x65, - 0x74, 0x63, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x22, 0x43, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x64, 0x6f, - 0x6d, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x41, 0x72, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x72, 0x6f, - 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x72, - 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x20, - 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x53, 0x65, 0x74, 0x44, 0x72, 0x6f, 0x70, 0x72, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, - 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x61, 0x74, 0x65, 0x22, 0x35, 0x0a, - 0x1d, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x73, 0x41, 0x72, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x67, - 0x61, 0x74, 0x65, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, 0x36, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x72, 0x67, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x1a, 0x57, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x2a, 0x0a, 0x0a, 0x52, 0x65, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x1c, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, - 0x62, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x47, 0x61, 0x74, - 0x65, 0x73, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x1b, 0x52, - 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x53, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x39, - 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x41, 0x72, 0x67, 0x12, - 0x14, 0x0a, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, - 0x67, 0x61, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x24, 0x0a, 0x0c, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x61, 0x74, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x22, - 0x33, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x73, 0x41, 0x72, 0x67, 0x12, 0x14, - 0x0a, 0x05, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x67, - 0x61, 0x74, 0x65, 0x73, 0x22, 0x93, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x41, 0x72, 0x67, 0x12, 0x37, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x41, 0x72, 0x67, 0x2e, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, - 0x1a, 0xc7, 0x01, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, - 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x62, - 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x42, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, - 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x73, 0x68, 0x69, 0x66, 0x74, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x73, 0x68, 0x69, 0x66, 0x74, 0x42, 0x69, 0x74, - 0x73, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x09, 0x0a, 0x07, 0x53, 0x69, - 0x6e, 0x6b, 0x41, 0x72, 0x67, 0x22, 0x30, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x42, 0x75, 0x72, 0x73, 0x74, 0x41, 0x72, - 0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x62, 0x75, 0x72, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x1a, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x50, 0x6b, 0x74, 0x53, 0x69, - 0x7a, 0x65, 0x41, 0x72, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6b, 0x74, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x6b, 0x74, 0x53, 0x69, 0x7a, 0x65, - 0x22, 0x26, 0x0a, 0x09, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x72, 0x67, 0x12, 0x19, 0x0a, - 0x08, 0x70, 0x6b, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x70, 0x6b, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x37, 0x0a, 0x0d, 0x49, 0x50, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x41, 0x72, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, - 0x69, 0x66, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x68, - 0x77, 0x22, 0x37, 0x0a, 0x0d, 0x4c, 0x34, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x41, - 0x72, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x77, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x68, 0x77, 0x22, 0x2b, 0x0a, 0x0b, 0x47, 0x74, - 0x70, 0x75, 0x45, 0x63, 0x68, 0x6f, 0x41, 0x72, 0x67, 0x12, 0x1c, 0x0a, 0x0a, 0x73, 0x31, 0x75, - 0x5f, 0x73, 0x67, 0x77, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, - 0x31, 0x75, 0x53, 0x67, 0x77, 0x49, 0x70, 0x22, 0x3e, 0x0a, 0x0b, 0x49, 0x50, 0x44, 0x65, 0x66, - 0x72, 0x61, 0x67, 0x41, 0x72, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x6c, - 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x46, 0x6c, - 0x6f, 0x77, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x75, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x6e, 0x75, 0x6d, 0x61, 0x22, 0x1d, 0x0a, 0x09, 0x49, 0x50, 0x46, 0x72, 0x61, - 0x67, 0x41, 0x72, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x22, 0x26, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x41, 0x64, 0x64, 0x41, 0x72, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x74, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x74, 0x72, 0x49, 0x64, 0x22, 0x29, - 0x0a, 0x10, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, - 0x72, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x74, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x63, 0x74, 0x72, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x0a, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x49, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x27, 0x0a, 0x0c, 0x47, 0x74, 0x70, 0x75, 0x45, - 0x6e, 0x63, 0x61, 0x70, 0x41, 0x72, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x5f, 0x70, - 0x73, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x64, 0x64, 0x50, 0x73, 0x63, - 0x22, 0x60, 0x0a, 0x08, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x12, 0x1e, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x41, - 0x72, 0x67, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x09, - 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, - 0x67, 0x12, 0x30, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x72, 0x67, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x1a, 0x49, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x76, - 0x0a, 0x0c, 0x55, 0x72, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x12, 0x37, - 0x0a, 0x09, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x2e, 0x55, 0x72, 0x6c, 0x52, 0x09, 0x62, 0x6c, - 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x2d, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x12, - 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x4a, 0x0a, 0x0f, 0x55, 0x72, 0x6c, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x09, 0x62, 0x6c, 0x61, - 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x72, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x41, 0x72, 0x67, 0x2e, 0x55, 0x72, 0x6c, 0x52, 0x09, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, - 0x73, 0x74, 0x22, 0x0c, 0x0a, 0x0a, 0x56, 0x4c, 0x41, 0x4e, 0x50, 0x6f, 0x70, 0x41, 0x72, 0x67, - 0x22, 0x1f, 0x0a, 0x0b, 0x56, 0x4c, 0x41, 0x4e, 0x50, 0x75, 0x73, 0x68, 0x41, 0x72, 0x67, 0x12, - 0x10, 0x0a, 0x03, 0x74, 0x63, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x74, 0x63, - 0x69, 0x22, 0x0e, 0x0a, 0x0c, 0x56, 0x4c, 0x41, 0x4e, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x41, 0x72, - 0x67, 0x22, 0x0f, 0x0a, 0x0d, 0x56, 0x58, 0x4c, 0x41, 0x4e, 0x44, 0x65, 0x63, 0x61, 0x70, 0x41, - 0x72, 0x67, 0x22, 0x29, 0x0a, 0x0d, 0x56, 0x58, 0x4c, 0x41, 0x4e, 0x45, 0x6e, 0x63, 0x61, 0x70, - 0x41, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x73, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x64, 0x73, 0x74, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x7c, 0x0a, - 0x10, 0x57, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, - 0x67, 0x12, 0x26, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x73, 0x0a, 0x13, 0x57, - 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x67, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x47, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x57, - 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x41, 0x72, 0x67, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x22, 0x3c, 0x0a, 0x0f, 0x41, 0x72, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, - 0x41, 0x72, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x22, 0x5c, - 0x0a, 0x0a, 0x4d, 0x70, 0x6c, 0x73, 0x50, 0x6f, 0x70, 0x41, 0x72, 0x67, 0x12, 0x2a, 0x0a, 0x11, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x45, - 0x74, 0x68, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x65, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x45, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x22, 0x9d, 0x01, 0x0a, - 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x41, 0x72, 0x67, 0x12, - 0x4b, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x41, 0x72, 0x67, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x47, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x47, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x3e, 0x0a, 0x10, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x47, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x72, 0x0a, 0x06, - 0x51, 0x6f, 0x73, 0x41, 0x72, 0x67, 0x12, 0x26, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x26, - 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x22, 0x90, 0x02, 0x0a, 0x10, 0x51, 0x6f, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, - 0x64, 0x64, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x63, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x70, - 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x70, 0x69, 0x72, 0x12, 0x10, 0x0a, - 0x03, 0x63, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x63, 0x62, 0x73, 0x12, - 0x10, 0x0a, 0x03, 0x70, 0x62, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x70, 0x62, - 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x62, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, - 0x65, 0x62, 0x73, 0x12, 0x1f, 0x0a, 0x0a, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x65, - 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x09, 0x64, 0x65, 0x64, 0x75, 0x63, - 0x74, 0x4c, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x12, 0x2a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x15, 0x0a, 0x13, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x64, 0x75, 0x63, 0x74, 0x5f, - 0x6c, 0x65, 0x6e, 0x22, 0x41, 0x0a, 0x13, 0x51, 0x6f, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, 0x2a, 0x0a, 0x06, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x6f, 0x73, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x72, 0x67, 0x22, 0x31, 0x0a, 0x1b, - 0x51, 0x6f, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x47, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x67, - 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x61, 0x74, 0x65, 0x22, - 0x68, 0x0a, 0x0e, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x41, 0x72, - 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6c, 0x61, 0x67, 0x41, - 0x74, 0x74, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xb3, 0x01, 0x0a, 0x19, 0x46, 0x6c, - 0x6f, 0x77, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x65, 0x61, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x12, 0x2f, 0x0a, - 0x13, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x01, 0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, - 0x6e, 0x63, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2d, - 0x0a, 0x12, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x01, 0x52, 0x11, 0x6a, 0x69, 0x74, 0x74, - 0x65, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, - 0x0c, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x6c, 0x61, 0x67, 0x54, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x22, - 0xfb, 0x04, 0x0a, 0x17, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x52, - 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, - 0x61, 0x73, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0a, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x1a, 0x93, 0x04, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x73, 0x65, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x66, 0x73, 0x65, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, - 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x70, 0x64, 0x72, 0x12, 0x4e, 0x0a, - 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, - 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x61, - 0x73, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x4c, 0x0a, - 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x61, 0x73, - 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, - 0x72, 0x61, 0x6d, 0x52, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x1a, 0xf9, 0x01, 0x0a, 0x09, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, - 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x62, 0x6f, 0x76, - 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, - 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6d, - 0x69, 0x6e, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6d, 0x69, 0x6e, - 0x4e, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x76, 0x67, 0x5f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x61, 0x76, 0x67, 0x4e, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x78, - 0x5f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6d, 0x61, 0x78, 0x4e, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x5f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x12, 0x70, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4e, 0x73, 0x22, 0x1b, 0x0a, - 0x19, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x46, 0x6c, 0x69, 0x70, 0x41, 0x72, 0x67, 0x22, 0x34, 0x0a, 0x17, 0x46, 0x6c, - 0x6f, 0x77, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x6c, 0x61, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x6c, 0x64, 0x46, 0x6c, 0x61, 0x67, - 0x22, 0x3e, 0x0a, 0x25, 0x47, 0x74, 0x70, 0x75, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x64, 0x64, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x67, 0x6e, 0x62, - 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, 0x6e, 0x62, 0x49, 0x70, - 0x22, 0x23, 0x0a, 0x21, 0x47, 0x74, 0x70, 0x75, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6c, 0x65, - 0x61, 0x72, 0x41, 0x72, 0x67, 0x22, 0x38, 0x0a, 0x20, 0x47, 0x74, 0x70, 0x75, 0x50, 0x61, 0x74, - 0x68, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x65, - 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x22, - 0xa1, 0x02, 0x0a, 0x25, 0x47, 0x74, 0x70, 0x75, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x61, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x74, 0x70, 0x75, 0x50, 0x61, 0x74, 0x68, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x1a, 0x9d, 0x01, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x12, 0x15, 0x0a, 0x06, 0x67, 0x6e, 0x62, 0x5f, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x67, 0x6e, 0x62, 0x49, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, - 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x69, 0x6e, 0x12, - 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x65, 0x61, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x65, - 0x61, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x61, - 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, - 0x4d, 0x61, 0x78, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x6f, 0x6d, 0x65, 0x63, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x75, - 0x70, 0x66, 0x2d, 0x65, 0x70, 0x63, 0x2f, 0x70, 0x66, 0x63, 0x70, 0x69, 0x66, 0x61, 0x63, 0x65, - 0x2f, 0x62, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_module_msg_proto_rawDesc = "" + + "\n" + + "\x10module_msg.proto\x12\abess.pb\x1a\x0eutil_msg.proto\"\n" + + "\n" + + "\bEmptyArg\"\x14\n" + + "\x12BPFCommandClearArg\"\x85\x01\n" + + "\x17ExactMatchCommandAddArg\x12\x12\n" + + "\x04gate\x18\x01 \x01(\x04R\x04gate\x12*\n" + + "\x06fields\x18\x02 \x03(\v2\x12.bess.pb.FieldDataR\x06fields\x12*\n" + + "\x06values\x18\x03 \x03(\v2\x12.bess.pb.FieldDataR\x06values\"H\n" + + "\x1aExactMatchCommandDeleteArg\x12*\n" + + "\x06fields\x18\x02 \x03(\v2\x12.bess.pb.FieldDataR\x06fields\"\x1b\n" + + "\x19ExactMatchCommandClearArg\"8\n" + + "\"ExactMatchCommandSetDefaultGateArg\x12\x12\n" + + "\x04gate\x18\x01 \x01(\x04R\x04gate\"1\n" + + "\x19FlowGenCommandSetBurstArg\x12\x14\n" + + "\x05burst\x18\x01 \x01(\x04R\x05burst\"U\n" + + "\x17HashLBCommandSetModeArg\x12\x12\n" + + "\x04mode\x18\x01 \x01(\tR\x04mode\x12&\n" + + "\x06fields\x18\x02 \x03(\v2\x0e.bess.pb.FieldR\x06fields\"0\n" + + "\x18HashLBCommandSetGatesArg\x12\x14\n" + + "\x05gates\x18\x01 \x03(\x03R\x05gates\"b\n" + + "\x15IPLookupCommandAddArg\x12\x16\n" + + "\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x1d\n" + + "\n" + + "prefix_len\x18\x02 \x01(\x04R\tprefixLen\x12\x12\n" + + "\x04gate\x18\x03 \x01(\x04R\x04gate\"Q\n" + + "\x18IPLookupCommandDeleteArg\x12\x16\n" + + "\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x1d\n" + + "\n" + + "prefix_len\x18\x02 \x01(\x04R\tprefixLen\"\x19\n" + + "\x17IPLookupCommandClearArg\"\x8a\x01\n" + + "\x16L2ForwardCommandAddArg\x12?\n" + + "\aentries\x18\x01 \x03(\v2%.bess.pb.L2ForwardCommandAddArg.EntryR\aentries\x1a/\n" + + "\x05Entry\x12\x12\n" + + "\x04addr\x18\x01 \x01(\tR\x04addr\x12\x12\n" + + "\x04gate\x18\x02 \x01(\x03R\x04gate\"1\n" + + "\x19L2ForwardCommandDeleteArg\x12\x14\n" + + "\x05addrs\x18\x01 \x03(\tR\x05addrs\"7\n" + + "!L2ForwardCommandSetDefaultGateArg\x12\x12\n" + + "\x04gate\x18\x01 \x01(\x03R\x04gate\"1\n" + + "\x19L2ForwardCommandLookupArg\x12\x14\n" + + "\x05addrs\x18\x01 \x03(\tR\x05addrs\"6\n" + + "\x1eL2ForwardCommandLookupResponse\x12\x14\n" + + "\x05gates\x18\x01 \x03(\x04R\x05gates\"f\n" + + "\x1bL2ForwardCommandPopulateArg\x12\x12\n" + + "\x04base\x18\x01 \x01(\tR\x04base\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\x12\x1d\n" + + "\n" + + "gate_count\x18\x03 \x01(\x03R\tgateCount\"\x93\x01\n" + + "\x1bMeasureCommandGetSummaryArg\x12\x14\n" + + "\x05clear\x18\x01 \x01(\bR\x05clear\x12/\n" + + "\x13latency_percentiles\x18\x02 \x03(\x01R\x12latencyPercentiles\x12-\n" + + "\x12jitter_percentiles\x18\x03 \x03(\x01R\x11jitterPercentiles\"\x86\x04\n" + + " MeasureCommandGetSummaryResponse\x12\x1c\n" + + "\ttimestamp\x18\x01 \x01(\x01R\ttimestamp\x12\x18\n" + + "\apackets\x18\x02 \x01(\x04R\apackets\x12\x12\n" + + "\x04bits\x18\x03 \x01(\x04R\x04bits\x12M\n" + + "\alatency\x18\x04 \x01(\v23.bess.pb.MeasureCommandGetSummaryResponse.HistogramR\alatency\x12K\n" + + "\x06jitter\x18\x05 \x01(\v23.bess.pb.MeasureCommandGetSummaryResponse.HistogramR\x06jitter\x1a\xf9\x01\n" + + "\tHistogram\x12\x14\n" + + "\x05count\x18\x01 \x01(\x04R\x05count\x12\x1f\n" + + "\vabove_range\x18\x02 \x01(\x04R\n" + + "aboveRange\x12#\n" + + "\rresolution_ns\x18\b \x01(\x04R\fresolutionNs\x12\x15\n" + + "\x06min_ns\x18\x03 \x01(\x04R\x05minNs\x12\x15\n" + + "\x06avg_ns\x18\x04 \x01(\x04R\x05avgNs\x12\x15\n" + + "\x06max_ns\x18\x05 \x01(\x04R\x05maxNs\x12\x19\n" + + "\btotal_ns\x18\x06 \x01(\x04R\atotalNs\x120\n" + + "\x14percentile_values_ns\x18\a \x03(\x04R\x12percentileValuesNs\"n\n" + + "\x06DRRArg\x12\x1b\n" + + "\tnum_flows\x18\x01 \x01(\rR\bnumFlows\x12\x18\n" + + "\aquantum\x18\x02 \x01(\x04R\aquantum\x12-\n" + + "\x13max_flow_queue_size\x18\x03 \x01(\rR\x10maxFlowQueueSize\")\n" + + "\rDRRQuantumArg\x12\x18\n" + + "\aquantum\x18\x01 \x01(\rR\aquantum\">\n" + + "\x16DRRMaxFlowQueueSizeArg\x12$\n" + + "\x0emax_queue_size\x18\x01 \x01(\rR\fmaxQueueSize\"1\n" + + "\x19PortIncCommandSetBurstArg\x12\x14\n" + + "\x05burst\x18\x01 \x01(\x04R\x05burst\"2\n" + + "\x1aQueueIncCommandSetBurstArg\x12\x14\n" + + "\x05burst\x18\x01 \x01(\x04R\x05burst\"/\n" + + "\x17QueueCommandSetBurstArg\x12\x14\n" + + "\x05burst\x18\x01 \x01(\x04R\x05burst\",\n" + + "\x16QueueCommandSetSizeArg\x12\x12\n" + + "\x04size\x18\x01 \x01(\x04R\x04size\"\x1a\n" + + "\x18QueueCommandGetStatusArg\"\x9b\x01\n" + + "\x1dQueueCommandGetStatusResponse\x12\x14\n" + + "\x05count\x18\x01 \x01(\x04R\x05count\x12\x12\n" + + "\x04size\x18\x02 \x01(\x04R\x04size\x12\x1a\n" + + "\benqueued\x18\x03 \x01(\x04R\benqueued\x12\x1a\n" + + "\bdequeued\x18\x04 \x01(\x04R\bdequeued\x12\x18\n" + + "\adropped\x18\x05 \x01(\x04R\adropped\"\x1d\n" + + "\x1bRandomUpdateCommandClearArg\"\x18\n" + + "\x16RewriteCommandClearArg\"\x17\n" + + "\x15UpdateCommandClearArg\"\xd0\x01\n" + + "\x1aWildcardMatchCommandAddArg\x12\x12\n" + + "\x04gate\x18\x01 \x01(\x04R\x04gate\x12\x1a\n" + + "\bpriority\x18\x02 \x01(\x03R\bpriority\x12*\n" + + "\x06values\x18\x03 \x03(\v2\x12.bess.pb.FieldDataR\x06values\x12(\n" + + "\x05masks\x18\x04 \x03(\v2\x12.bess.pb.FieldDataR\x05masks\x12,\n" + + "\avaluesv\x18\x05 \x03(\v2\x12.bess.pb.FieldDataR\avaluesv\"u\n" + + "\x1dWildcardMatchCommandDeleteArg\x12*\n" + + "\x06values\x18\x01 \x03(\v2\x12.bess.pb.FieldDataR\x06values\x12(\n" + + "\x05masks\x18\x02 \x03(\v2\x12.bess.pb.FieldDataR\x05masks\"\x1e\n" + + "\x1cWildcardMatchCommandClearArg\";\n" + + "%WildcardMatchCommandSetDefaultGateArg\x12\x12\n" + + "\x04gate\x18\x01 \x01(\x04R\x04gate\"\xd7\x01\n" + + "\x06ACLArg\x12*\n" + + "\x05rules\x18\x01 \x03(\v2\x14.bess.pb.ACLArg.RuleR\x05rules\x1a\xa0\x01\n" + + "\x04Rule\x12\x15\n" + + "\x06src_ip\x18\x01 \x01(\tR\x05srcIp\x12\x15\n" + + "\x06dst_ip\x18\x02 \x01(\tR\x05dstIp\x12\x19\n" + + "\bsrc_port\x18\x03 \x01(\rR\asrcPort\x12\x19\n" + + "\bdst_port\x18\x04 \x01(\rR\adstPort\x12 \n" + + "\vestablished\x18\x05 \x01(\bR\vestablished\x12\x12\n" + + "\x04drop\x18\x06 \x01(\bR\x04drop\"\x8c\x01\n" + + "\x06BPFArg\x120\n" + + "\afilters\x18\x01 \x03(\v2\x16.bess.pb.BPFArg.FilterR\afilters\x1aP\n" + + "\x06Filter\x12\x1a\n" + + "\bpriority\x18\x01 \x01(\x03R\bpriority\x12\x16\n" + + "\x06filter\x18\x02 \x01(\tR\x06filter\x12\x12\n" + + "\x04gate\x18\x03 \x01(\x03R\x04gate\"\v\n" + + "\tBufferArg\"\x89\x01\n" + + "\tBypassArg\x12(\n" + + "\x10cycles_per_batch\x18\x01 \x01(\rR\x0ecyclesPerBatch\x12*\n" + + "\x11cycles_per_packet\x18\x02 \x01(\rR\x0fcyclesPerPacket\x12&\n" + + "\x0fcycles_per_byte\x18\x03 \x01(\rR\rcyclesPerByte\"%\n" + + "\aDumpArg\x12\x1a\n" + + "\binterval\x18\x01 \x01(\x01R\binterval\"\x0f\n" + + "\rEtherEncapArg\"\xcf\x01\n" + + "\rExactMatchArg\x12&\n" + + "\x06fields\x18\x01 \x03(\v2\x0e.bess.pb.FieldR\x06fields\x12(\n" + + "\x05masks\x18\x02 \x03(\v2\x12.bess.pb.FieldDataR\x05masks\x12&\n" + + "\x06values\x18\x03 \x03(\v2\x0e.bess.pb.FieldR\x06values\x12*\n" + + "\x06masksv\x18\x04 \x03(\v2\x12.bess.pb.FieldDataR\x06masksv\x12\x18\n" + + "\aentries\x18\x05 \x01(\x04R\aentries\"m\n" + + "\x10ExactMatchConfig\x12!\n" + + "\fdefault_gate\x18\x01 \x01(\x04R\vdefaultGate\x126\n" + + "\x05rules\x18\x02 \x03(\v2 .bess.pb.ExactMatchCommandAddArgR\x05rules\"\xe5\x02\n" + + "\n" + + "FlowGenArg\x12\x1a\n" + + "\btemplate\x18\x01 \x01(\fR\btemplate\x12\x10\n" + + "\x03pps\x18\x02 \x01(\x01R\x03pps\x12\x1b\n" + + "\tflow_rate\x18\x03 \x01(\x01R\bflowRate\x12#\n" + + "\rflow_duration\x18\x04 \x01(\x01R\fflowDuration\x12\x18\n" + + "\aarrival\x18\x05 \x01(\tR\aarrival\x12\x1a\n" + + "\bduration\x18\x06 \x01(\tR\bduration\x12!\n" + + "\fquick_rampup\x18\a \x01(\bR\vquickRampup\x12 \n" + + "\fip_src_range\x18\b \x01(\rR\n" + + "ipSrcRange\x12 \n" + + "\fip_dst_range\x18\t \x01(\rR\n" + + "ipDstRange\x12$\n" + + "\x0eport_src_range\x18\n" + + " \x01(\rR\fportSrcRange\x12$\n" + + "\x0eport_dst_range\x18\v \x01(\rR\fportDstRange\"'\n" + + "\x0fGenericDecapArg\x12\x14\n" + + "\x05bytes\x18\x01 \x01(\x04R\x05bytes\"\xc9\x01\n" + + "\x0fGenericEncapArg\x12;\n" + + "\x06fields\x18\x01 \x03(\v2#.bess.pb.GenericEncapArg.EncapFieldR\x06fields\x1ay\n" + + "\n" + + "EncapField\x12\x12\n" + + "\x04size\x18\x01 \x01(\x04R\x04size\x12\x1e\n" + + "\tattribute\x18\x02 \x01(\tH\x00R\tattribute\x12*\n" + + "\x05value\x18\x03 \x01(\v2\x12.bess.pb.FieldDataH\x00R\x05valueB\v\n" + + "\tinsertion\"]\n" + + "\tHashLBArg\x12\x14\n" + + "\x05gates\x18\x01 \x03(\x03R\x05gates\x12\x12\n" + + "\x04mode\x18\x02 \x01(\tR\x04mode\x12&\n" + + "\x06fields\x18\x03 \x03(\v2\x0e.bess.pb.FieldR\x06fields\"\f\n" + + "\n" + + "IPEncapArg\"G\n" + + "\vIPLookupArg\x12\x1b\n" + + "\tmax_rules\x18\x01 \x01(\rR\bmaxRules\x12\x1b\n" + + "\tmax_tbl8s\x18\x02 \x01(\rR\bmaxTbl8s\":\n" + + "\fL2ForwardArg\x12\x12\n" + + "\x04size\x18\x01 \x01(\x03R\x04size\x12\x16\n" + + "\x06bucket\x18\x02 \x01(\x03R\x06bucket\"\f\n" + + "\n" + + "MACSwapArg\"\xd5\x01\n" + + "\n" + + "MeasureArg\x12\x18\n" + + "\x06offset\x18\x02 \x01(\x04H\x00R\x06offset\x12\x1d\n" + + "\tattr_name\x18\x06 \x01(\tH\x00R\battrName\x12,\n" + + "\x12jitter_sample_prob\x18\x03 \x01(\x01R\x10jitterSampleProb\x12$\n" + + "\x0elatency_ns_max\x18\x04 \x01(\x04R\flatencyNsMax\x122\n" + + "\x15latency_ns_resolution\x18\x05 \x01(\rR\x13latencyNsResolutionB\x06\n" + + "\x04type\"\n" + + "\n" + + "\bMergeArg\"\xf0\x02\n" + + "\x0fMetadataTestArg\x126\n" + + "\x04read\x18\x01 \x03(\v2\".bess.pb.MetadataTestArg.ReadEntryR\x04read\x129\n" + + "\x05write\x18\x02 \x03(\v2#.bess.pb.MetadataTestArg.WriteEntryR\x05write\x12<\n" + + "\x06update\x18\x03 \x03(\v2$.bess.pb.MetadataTestArg.UpdateEntryR\x06update\x1a7\n" + + "\tReadEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\x1a8\n" + + "\n" + + "WriteEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\x1a9\n" + + "\vUpdateEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\"\x83\x02\n" + + "\x06NATArg\x12<\n" + + "\text_addrs\x18\x01 \x03(\v2\x1f.bess.pb.NATArg.ExternalAddressR\bextAddrs\x1aQ\n" + + "\tPortRange\x12\x14\n" + + "\x05begin\x18\x01 \x01(\rR\x05begin\x12\x10\n" + + "\x03end\x18\x02 \x01(\rR\x03end\x12\x1c\n" + + "\tsuspended\x18\x03 \x01(\bR\tsuspended\x1ah\n" + + "\x0fExternalAddress\x12\x19\n" + + "\bext_addr\x18\x01 \x01(\tR\aextAddr\x12:\n" + + "\vport_ranges\x18\x02 \x03(\v2\x19.bess.pb.NATArg.PortRangeR\n" + + "portRanges\"\x9b\x02\n" + + "\fStaticNATArg\x12<\n" + + "\x05pairs\x18\x01 \x03(\v2&.bess.pb.StaticNATArg.AddressRangePairR\x05pairs\x1a6\n" + + "\fAddressRange\x12\x14\n" + + "\x05start\x18\x01 \x01(\tR\x05start\x12\x10\n" + + "\x03end\x18\x02 \x01(\tR\x03end\x1a\x94\x01\n" + + "\x10AddressRangePair\x12?\n" + + "\tint_range\x18\x01 \x01(\v2\".bess.pb.StaticNATArg.AddressRangeR\bintRange\x12?\n" + + "\text_range\x18\x02 \x01(\v2\".bess.pb.StaticNATArg.AddressRangeR\bextRange\"\t\n" + + "\aNoOpArg\"<\n" + + "\n" + + "PortIncArg\x12\x12\n" + + "\x04port\x18\x01 \x01(\tR\x04port\x12\x1a\n" + + "\bprefetch\x18\x02 \x01(\bR\bprefetch\" \n" + + "\n" + + "PortOutArg\x12\x12\n" + + "\x04port\x18\x01 \x01(\tR\x04port\"O\n" + + "\vQueueIncArg\x12\x12\n" + + "\x04port\x18\x01 \x01(\tR\x04port\x12\x10\n" + + "\x03qid\x18\x02 \x01(\x04R\x03qid\x12\x1a\n" + + "\bprefetch\x18\x03 \x01(\bR\bprefetch\"3\n" + + "\vQueueOutArg\x12\x12\n" + + "\x04port\x18\x01 \x01(\tR\x04port\x12\x10\n" + + "\x03qid\x18\x02 \x01(\x04R\x03qid\"^\n" + + "\bQueueArg\x12\x12\n" + + "\x04size\x18\x01 \x01(\x04R\x04size\x12\x1a\n" + + "\bprefetch\x18\x02 \x01(\bR\bprefetch\x12\"\n" + + "\fbackpressure\x18\x03 \x01(\bR\fbackpressure\"C\n" + + "\x0eRandomSplitArg\x12\x1b\n" + + "\tdrop_rate\x18\x01 \x01(\x01R\bdropRate\x12\x14\n" + + "\x05gates\x18\x02 \x03(\x03R\x05gates\"?\n" + + " RandomSplitCommandSetDroprateArg\x12\x1b\n" + + "\tdrop_rate\x18\x01 \x01(\x01R\bdropRate\"5\n" + + "\x1dRandomSplitCommandSetGatesArg\x12\x14\n" + + "\x05gates\x18\x01 \x03(\x03R\x05gates\"\xa2\x01\n" + + "\x0fRandomUpdateArg\x126\n" + + "\x06fields\x18\x01 \x03(\v2\x1e.bess.pb.RandomUpdateArg.FieldR\x06fields\x1aW\n" + + "\x05Field\x12\x16\n" + + "\x06offset\x18\x01 \x01(\x03R\x06offset\x12\x12\n" + + "\x04size\x18\x02 \x01(\x04R\x04size\x12\x10\n" + + "\x03min\x18\x03 \x01(\x04R\x03min\x12\x10\n" + + "\x03max\x18\x04 \x01(\x04R\x03max\"*\n" + + "\n" + + "RewriteArg\x12\x1c\n" + + "\ttemplates\x18\x01 \x03(\fR\ttemplates\"4\n" + + "\x1cRoundRobinCommandSetGatesArg\x12\x14\n" + + "\x05gates\x18\x01 \x03(\x03R\x05gates\"1\n" + + "\x1bRoundRobinCommandSetModeArg\x12\x12\n" + + "\x04mode\x18\x01 \x01(\tR\x04mode\"9\n" + + "\rRoundRobinArg\x12\x14\n" + + "\x05gates\x18\x01 \x03(\x03R\x05gates\x12\x12\n" + + "\x04mode\x18\x02 \x01(\tR\x04mode\"$\n" + + "\fReplicateArg\x12\x14\n" + + "\x05gates\x18\x01 \x03(\x03R\x05gates\"3\n" + + "\x1bReplicateCommandSetGatesArg\x12\x14\n" + + "\x05gates\x18\x01 \x03(\x03R\x05gates\"\x93\x02\n" + + "\x0eSetMetadataArg\x127\n" + + "\x05attrs\x18\x01 \x03(\v2!.bess.pb.SetMetadataArg.AttributeR\x05attrs\x1a\xc7\x01\n" + + "\tAttribute\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04size\x18\x02 \x01(\x04R\x04size\x12\x1d\n" + + "\tvalue_int\x18\x03 \x01(\x04H\x00R\bvalueInt\x12\x1d\n" + + "\tvalue_bin\x18\x04 \x01(\fH\x00R\bvalueBin\x12\x16\n" + + "\x06offset\x18\x05 \x01(\x05R\x06offset\x12\x12\n" + + "\x04mask\x18\x06 \x01(\fR\x04mask\x12\x1f\n" + + "\vrshift_bits\x18\a \x01(\x05R\n" + + "rshiftBitsB\a\n" + + "\x05value\"\t\n" + + "\aSinkArg\"0\n" + + "\x18SourceCommandSetBurstArg\x12\x14\n" + + "\x05burst\x18\x01 \x01(\x04R\x05burst\"7\n" + + "\x1aSourceCommandSetPktSizeArg\x12\x19\n" + + "\bpkt_size\x18\x01 \x01(\x04R\apktSize\"&\n" + + "\tSourceArg\x12\x19\n" + + "\bpkt_size\x18\x01 \x01(\x04R\apktSize\"7\n" + + "\rIPChecksumArg\x12\x16\n" + + "\x06verify\x18\x01 \x01(\bR\x06verify\x12\x0e\n" + + "\x02hw\x18\x02 \x01(\bR\x02hw\"7\n" + + "\rL4ChecksumArg\x12\x16\n" + + "\x06verify\x18\x01 \x01(\bR\x06verify\x12\x0e\n" + + "\x02hw\x18\x02 \x01(\bR\x02hw\"+\n" + + "\vGtpuEchoArg\x12\x1c\n" + + "\n" + + "s1u_sgw_ip\x18\x01 \x01(\rR\bs1uSgwIp\">\n" + + "\vIPDefragArg\x12\x1b\n" + + "\tnum_flows\x18\x01 \x01(\rR\bnumFlows\x12\x12\n" + + "\x04numa\x18\x02 \x01(\x05R\x04numa\"\x1d\n" + + "\tIPFragArg\x12\x10\n" + + "\x03mtu\x18\x01 \x01(\x05R\x03mtu\"&\n" + + "\rCounterAddArg\x12\x15\n" + + "\x06ctr_id\x18\x01 \x01(\rR\x05ctrId\")\n" + + "\x10CounterRemoveArg\x12\x15\n" + + "\x06ctr_id\x18\x01 \x01(\rR\x05ctrId\"\\\n" + + "\n" + + "CounterArg\x12\x17\n" + + "\aname_id\x18\x01 \x01(\tR\x06nameId\x12\x1f\n" + + "\vcheck_exist\x18\x02 \x01(\bR\n" + + "checkExist\x12\x14\n" + + "\x05total\x18\x03 \x01(\rR\x05total\"'\n" + + "\fGtpuEncapArg\x12\x17\n" + + "\aadd_psc\x18\x01 \x01(\bR\x06addPsc\"`\n" + + "\bSplitArg\x12\x12\n" + + "\x04size\x18\x01 \x01(\x04R\x04size\x12\x1e\n" + + "\tattribute\x18\x02 \x01(\tH\x00R\tattribute\x12\x18\n" + + "\x06offset\x18\x03 \x01(\x03H\x00R\x06offsetB\x06\n" + + "\x04type\"O\n" + + "\fTimestampArg\x12\x18\n" + + "\x06offset\x18\x01 \x01(\x04H\x00R\x06offset\x12\x1d\n" + + "\tattr_name\x18\x02 \x01(\tH\x00R\battrNameB\x06\n" + + "\x04type\"\x88\x01\n" + + "\tUpdateArg\x120\n" + + "\x06fields\x18\x01 \x03(\v2\x18.bess.pb.UpdateArg.FieldR\x06fields\x1aI\n" + + "\x05Field\x12\x16\n" + + "\x06offset\x18\x01 \x01(\x03R\x06offset\x12\x12\n" + + "\x04size\x18\x02 \x01(\x04R\x04size\x12\x14\n" + + "\x05value\x18\x03 \x01(\x04R\x05value\"v\n" + + "\fUrlFilterArg\x127\n" + + "\tblacklist\x18\x01 \x03(\v2\x19.bess.pb.UrlFilterArg.UrlR\tblacklist\x1a-\n" + + "\x03Url\x12\x12\n" + + "\x04host\x18\x01 \x01(\tR\x04host\x12\x12\n" + + "\x04path\x18\x02 \x01(\tR\x04path\"J\n" + + "\x0fUrlFilterConfig\x127\n" + + "\tblacklist\x18\x01 \x03(\v2\x19.bess.pb.UrlFilterArg.UrlR\tblacklist\"\f\n" + + "\n" + + "VLANPopArg\"\x1f\n" + + "\vVLANPushArg\x12\x10\n" + + "\x03tci\x18\x01 \x01(\x04R\x03tci\"\x0e\n" + + "\fVLANSplitArg\"\x0f\n" + + "\rVXLANDecapArg\")\n" + + "\rVXLANEncapArg\x12\x18\n" + + "\adstport\x18\x01 \x01(\x04R\adstport\"|\n" + + "\x10WildcardMatchArg\x12&\n" + + "\x06fields\x18\x01 \x03(\v2\x0e.bess.pb.FieldR\x06fields\x12&\n" + + "\x06values\x18\x02 \x03(\v2\x0e.bess.pb.FieldR\x06values\x12\x18\n" + + "\aentries\x18\x03 \x01(\x04R\aentries\"s\n" + + "\x13WildcardMatchConfig\x12!\n" + + "\fdefault_gate\x18\x01 \x01(\x04R\vdefaultGate\x129\n" + + "\x05rules\x18\x02 \x03(\v2#.bess.pb.WildcardMatchCommandAddArgR\x05rules\"<\n" + + "\x0fArpResponderArg\x12\x0e\n" + + "\x02ip\x18\x01 \x01(\tR\x02ip\x12\x19\n" + + "\bmac_addr\x18\x02 \x01(\tR\amacAddr\"\\\n" + + "\n" + + "MplsPopArg\x12*\n" + + "\x11remove_eth_header\x18\x01 \x01(\bR\x0fremoveEthHeader\x12\"\n" + + "\rnext_eth_type\x18\x02 \x01(\rR\vnextEthType\"\x9d\x01\n" + + "\x0eWorkerSplitArg\x12K\n" + + "\fworker_gates\x18\x01 \x03(\v2(.bess.pb.WorkerSplitArg.WorkerGatesEntryR\vworkerGates\x1a>\n" + + "\x10WorkerGatesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\rR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\rR\x05value:\x028\x01\"r\n" + + "\x06QosArg\x12&\n" + + "\x06fields\x18\x01 \x03(\v2\x0e.bess.pb.FieldR\x06fields\x12&\n" + + "\x06values\x18\x02 \x03(\v2\x0e.bess.pb.FieldR\x06values\x12\x18\n" + + "\aentries\x18\x03 \x01(\x04R\aentries\"\x90\x02\n" + + "\x10QosCommandAddArg\x12\x12\n" + + "\x04gate\x18\x01 \x01(\x04R\x04gate\x12\x10\n" + + "\x03cir\x18\x02 \x01(\x04R\x03cir\x12\x10\n" + + "\x03pir\x18\x03 \x01(\x04R\x03pir\x12\x10\n" + + "\x03cbs\x18\x04 \x01(\x04R\x03cbs\x12\x10\n" + + "\x03pbs\x18\x05 \x01(\x04R\x03pbs\x12\x10\n" + + "\x03ebs\x18\x06 \x01(\x04R\x03ebs\x12\x1f\n" + + "\n" + + "deduct_len\x18\t \x01(\x03H\x00R\tdeductLen\x12*\n" + + "\x06fields\x18\a \x03(\v2\x12.bess.pb.FieldDataR\x06fields\x12*\n" + + "\x06values\x18\b \x03(\v2\x12.bess.pb.FieldDataR\x06valuesB\x15\n" + + "\x13optional_deduct_len\"A\n" + + "\x13QosCommandDeleteArg\x12*\n" + + "\x06fields\x18\x02 \x03(\v2\x12.bess.pb.FieldDataR\x06fields\"\x14\n" + + "\x12QosCommandClearArg\"1\n" + + "\x1bQosCommandSetDefaultGateArg\x12\x12\n" + + "\x04gate\x18\x01 \x01(\x04R\x04gate\"h\n" + + "\x0eFlowMeasureArg\x12$\n" + + "\x0eflag_attr_name\x18\x01 \x01(\tR\fflagAttrName\x12\x18\n" + + "\aentries\x18\x02 \x01(\x04R\aentries\x12\x16\n" + + "\x06leader\x18\x03 \x01(\bR\x06leader\"\xb3\x01\n" + + "\x19FlowMeasureCommandReadArg\x12\x14\n" + + "\x05clear\x18\x01 \x01(\bR\x05clear\x12/\n" + + "\x13latency_percentiles\x18\x02 \x03(\x01R\x12latencyPercentiles\x12-\n" + + "\x12jitter_percentiles\x18\x03 \x03(\x01R\x11jitterPercentiles\x12 \n" + + "\fflag_to_read\x18\x04 \x01(\x04R\n" + + "flagToRead\"\xfb\x04\n" + + "\x17FlowMeasureReadResponse\x12J\n" + + "\n" + + "statistics\x18\x01 \x03(\v2*.bess.pb.FlowMeasureReadResponse.StatisticR\n" + + "statistics\x1a\x93\x04\n" + + "\tStatistic\x12\x14\n" + + "\x05fseid\x18\x01 \x01(\x04R\x05fseid\x12\x10\n" + + "\x03pdr\x18\x02 \x01(\x04R\x03pdr\x12N\n" + + "\alatency\x18\x03 \x01(\v24.bess.pb.FlowMeasureReadResponse.Statistic.HistogramR\alatency\x12L\n" + + "\x06jitter\x18\x04 \x01(\v24.bess.pb.FlowMeasureReadResponse.Statistic.HistogramR\x06jitter\x12\x1f\n" + + "\vtotal_bytes\x18\v \x01(\x04R\n" + + "totalBytes\x12#\n" + + "\rtotal_packets\x18\f \x01(\x04R\ftotalPackets\x1a\xf9\x01\n" + + "\tHistogram\x12\x14\n" + + "\x05count\x18\x01 \x01(\x04R\x05count\x12\x1f\n" + + "\vabove_range\x18\x02 \x01(\x04R\n" + + "aboveRange\x12#\n" + + "\rresolution_ns\x18\b \x01(\x04R\fresolutionNs\x12\x15\n" + + "\x06min_ns\x18\x03 \x01(\x04R\x05minNs\x12\x15\n" + + "\x06avg_ns\x18\x04 \x01(\x04R\x05avgNs\x12\x15\n" + + "\x06max_ns\x18\x05 \x01(\x04R\x05maxNs\x12\x19\n" + + "\btotal_ns\x18\x06 \x01(\x04R\atotalNs\x120\n" + + "\x14percentile_values_ns\x18\a \x03(\x04R\x12percentileValuesNs\"\x1b\n" + + "\x19FlowMeasureCommandFlipArg\"4\n" + + "\x17FlowMeasureFlipResponse\x12\x19\n" + + "\bold_flag\x18\x01 \x01(\x04R\aoldFlag\">\n" + + "%GtpuPathMonitoringCommandAddDeleteArg\x12\x15\n" + + "\x06gnb_ip\x18\x01 \x01(\rR\x05gnbIp\"#\n" + + "!GtpuPathMonitoringCommandClearArg\"8\n" + + " GtpuPathMonitoringCommandReadArg\x12\x14\n" + + "\x05clear\x18\x01 \x01(\bR\x05clear\"\xa1\x02\n" + + "%GtpuPathMonitoringCommandReadResponse\x12X\n" + + "\n" + + "statistics\x18\x01 \x03(\v28.bess.pb.GtpuPathMonitoringCommandReadResponse.StatisticR\n" + + "statistics\x1a\x9d\x01\n" + + "\tStatistic\x12\x15\n" + + "\x06gnb_ip\x18\x01 \x01(\rR\x05gnbIp\x12\x14\n" + + "\x05count\x18\x02 \x01(\x04R\x05count\x12\x1f\n" + + "\vlatency_min\x18\x03 \x01(\x04R\n" + + "latencyMin\x12!\n" + + "\flatency_mean\x18\x04 \x01(\x04R\vlatencyMean\x12\x1f\n" + + "\vlatency_max\x18\x05 \x01(\x04R\n" + + "latencyMaxB3Z1github.com/omec-project/upf-epc/pfcpiface/bess_pbb\x06proto3" var ( file_module_msg_proto_rawDescOnce sync.Once - file_module_msg_proto_rawDescData = file_module_msg_proto_rawDesc + file_module_msg_proto_rawDescData []byte ) func file_module_msg_proto_rawDescGZIP() []byte { file_module_msg_proto_rawDescOnce.Do(func() { - file_module_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_module_msg_proto_rawDescData) + file_module_msg_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_module_msg_proto_rawDesc), len(file_module_msg_proto_rawDesc))) }) return file_module_msg_proto_rawDescData } var file_module_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 136) -var file_module_msg_proto_goTypes = []interface{}{ +var file_module_msg_proto_goTypes = []any{ (*EmptyArg)(nil), // 0: bess.pb.EmptyArg (*BPFCommandClearArg)(nil), // 1: bess.pb.BPFCommandClearArg (*ExactMatchCommandAddArg)(nil), // 2: bess.pb.ExactMatchCommandAddArg @@ -8856,1612 +8285,26 @@ func file_module_msg_proto_init() { return } file_util_msg_proto_init() - if !protoimpl.UnsafeEnabled { - file_module_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EmptyArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BPFCommandClearArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExactMatchCommandAddArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExactMatchCommandDeleteArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExactMatchCommandClearArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExactMatchCommandSetDefaultGateArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowGenCommandSetBurstArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HashLBCommandSetModeArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HashLBCommandSetGatesArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IPLookupCommandAddArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IPLookupCommandDeleteArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IPLookupCommandClearArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*L2ForwardCommandAddArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*L2ForwardCommandDeleteArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*L2ForwardCommandSetDefaultGateArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*L2ForwardCommandLookupArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*L2ForwardCommandLookupResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*L2ForwardCommandPopulateArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MeasureCommandGetSummaryArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MeasureCommandGetSummaryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DRRArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DRRQuantumArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DRRMaxFlowQueueSizeArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortIncCommandSetBurstArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueIncCommandSetBurstArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueCommandSetBurstArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueCommandSetSizeArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueCommandGetStatusArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueCommandGetStatusResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RandomUpdateCommandClearArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RewriteCommandClearArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateCommandClearArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WildcardMatchCommandAddArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WildcardMatchCommandDeleteArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WildcardMatchCommandClearArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WildcardMatchCommandSetDefaultGateArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ACLArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BPFArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BufferArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BypassArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EtherEncapArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExactMatchArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExactMatchConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowGenArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenericDecapArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenericEncapArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HashLBArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IPEncapArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IPLookupArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*L2ForwardArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MACSwapArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MeasureArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MergeArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetadataTestArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NATArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StaticNATArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NoOpArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortIncArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortOutArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueIncArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueOutArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RandomSplitArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RandomSplitCommandSetDroprateArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RandomSplitCommandSetGatesArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RandomUpdateArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RewriteArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoundRobinCommandSetGatesArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoundRobinCommandSetModeArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoundRobinArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplicateArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplicateCommandSetGatesArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMetadataArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SinkArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SourceCommandSetBurstArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SourceCommandSetPktSizeArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SourceArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IPChecksumArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*L4ChecksumArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GtpuEchoArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IPDefragArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IPFragArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CounterAddArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CounterRemoveArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CounterArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GtpuEncapArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SplitArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimestampArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UrlFilterArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UrlFilterConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VLANPopArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VLANPushArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VLANSplitArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VXLANDecapArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VXLANEncapArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WildcardMatchArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WildcardMatchConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArpResponderArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MplsPopArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkerSplitArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QosArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QosCommandAddArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QosCommandDeleteArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QosCommandClearArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QosCommandSetDefaultGateArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowMeasureArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowMeasureCommandReadArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowMeasureReadResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowMeasureCommandFlipArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowMeasureFlipResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GtpuPathMonitoringCommandAddDeleteArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GtpuPathMonitoringCommandClearArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GtpuPathMonitoringCommandReadArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GtpuPathMonitoringCommandReadResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*L2ForwardCommandAddArg_Entry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MeasureCommandGetSummaryResponse_Histogram); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ACLArg_Rule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BPFArg_Filter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenericEncapArg_EncapField); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NATArg_PortRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NATArg_ExternalAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StaticNATArg_AddressRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StaticNATArg_AddressRangePair); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RandomUpdateArg_Field); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMetadataArg_Attribute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateArg_Field); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UrlFilterArg_Url); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowMeasureReadResponse_Statistic); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowMeasureReadResponse_Statistic_Histogram); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_module_msg_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GtpuPathMonitoringCommandReadResponse_Statistic); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_module_msg_proto_msgTypes[52].OneofWrappers = []interface{}{ + file_module_msg_proto_msgTypes[52].OneofWrappers = []any{ (*MeasureArg_Offset)(nil), (*MeasureArg_AttrName)(nil), } - file_module_msg_proto_msgTypes[87].OneofWrappers = []interface{}{ + file_module_msg_proto_msgTypes[87].OneofWrappers = []any{ (*SplitArg_Attribute)(nil), (*SplitArg_Offset)(nil), } - file_module_msg_proto_msgTypes[88].OneofWrappers = []interface{}{ + file_module_msg_proto_msgTypes[88].OneofWrappers = []any{ (*TimestampArg_Offset)(nil), (*TimestampArg_AttrName)(nil), } - file_module_msg_proto_msgTypes[103].OneofWrappers = []interface{}{ + file_module_msg_proto_msgTypes[103].OneofWrappers = []any{ (*QosCommandAddArg_DeductLen)(nil), } - file_module_msg_proto_msgTypes[120].OneofWrappers = []interface{}{ + file_module_msg_proto_msgTypes[120].OneofWrappers = []any{ (*GenericEncapArg_EncapField_Attribute)(nil), (*GenericEncapArg_EncapField_Value)(nil), } - file_module_msg_proto_msgTypes[129].OneofWrappers = []interface{}{ + file_module_msg_proto_msgTypes[129].OneofWrappers = []any{ (*SetMetadataArg_Attribute_ValueInt)(nil), (*SetMetadataArg_Attribute_ValueBin)(nil), } @@ -10469,7 +8312,7 @@ func file_module_msg_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_module_msg_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_module_msg_proto_rawDesc), len(file_module_msg_proto_rawDesc)), NumEnums: 0, NumMessages: 136, NumExtensions: 0, @@ -10480,7 +8323,6 @@ func file_module_msg_proto_init() { MessageInfos: file_module_msg_proto_msgTypes, }.Build() File_module_msg_proto = out.File - file_module_msg_proto_rawDesc = nil file_module_msg_proto_goTypes = nil file_module_msg_proto_depIdxs = nil } diff --git a/pfcpiface/bess_pb/ports/port_msg.pb.go b/pfcpiface/bess_pb/ports/port_msg.pb.go index fb7de6e5d..099ea17c0 100644 --- a/pfcpiface/bess_pb/ports/port_msg.pb.go +++ b/pfcpiface/bess_pb/ports/port_msg.pb.go @@ -1,4 +1,5 @@ // Copyright (c) 2016-2017, Nefeli Networks, Inc. +// Copyright (c) 2020-2022 Intel Corporation. // All rights reserved. // // SPDX-License-Identifier: BSD-3-Clause @@ -31,8 +32,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.6.1 +// protoc-gen-go v1.36.10 +// protoc v3.21.12 // source: ports/port_msg.proto package bess_pb @@ -42,6 +43,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -52,20 +54,17 @@ const ( ) type PCAPPortArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Dev string `protobuf:"bytes,1,opt,name=dev,proto3" json:"dev,omitempty"` unknownFields protoimpl.UnknownFields - - Dev string `protobuf:"bytes,1,opt,name=dev,proto3" json:"dev,omitempty"` + sizeCache protoimpl.SizeCache } func (x *PCAPPortArg) Reset() { *x = PCAPPortArg{} - if protoimpl.UnsafeEnabled { - mi := &file_ports_port_msg_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ports_port_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PCAPPortArg) String() string { @@ -76,7 +75,7 @@ func (*PCAPPortArg) ProtoMessage() {} func (x *PCAPPortArg) ProtoReflect() protoreflect.Message { mi := &file_ports_port_msg_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -99,12 +98,10 @@ func (x *PCAPPortArg) GetDev() string { } type PMDPortArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Loopback bool `protobuf:"varint,1,opt,name=loopback,proto3" json:"loopback,omitempty"` - // Types that are assignable to Port: + state protoimpl.MessageState `protogen:"open.v1"` + Loopback bool `protobuf:"varint,1,opt,name=loopback,proto3" json:"loopback,omitempty"` + // Types that are valid to be assigned to Port: + // // *PMDPortArg_PortId // *PMDPortArg_Pci // *PMDPortArg_Vdev @@ -113,23 +110,24 @@ type PMDPortArg struct { VlanOffloadRxStrip bool `protobuf:"varint,5,opt,name=vlan_offload_rx_strip,json=vlanOffloadRxStrip,proto3" json:"vlan_offload_rx_strip,omitempty"` VlanOffloadRxFilter bool `protobuf:"varint,6,opt,name=vlan_offload_rx_filter,json=vlanOffloadRxFilter,proto3" json:"vlan_offload_rx_filter,omitempty"` VlanOffloadRxQinq bool `protobuf:"varint,7,opt,name=vlan_offload_rx_qinq,json=vlanOffloadRxQinq,proto3" json:"vlan_offload_rx_qinq,omitempty"` - // Types that are assignable to Socket: + // Types that are valid to be assigned to Socket: + // // *PMDPortArg_SocketId Socket isPMDPortArg_Socket `protobuf_oneof:"socket"` PromiscuousMode bool `protobuf:"varint,9,opt,name=promiscuous_mode,json=promiscuousMode,proto3" json:"promiscuous_mode,omitempty"` Hwcksum bool `protobuf:"varint,10,opt,name=hwcksum,proto3" json:"hwcksum,omitempty"` // N3 -> 3; N6 -> 6; N9 -> 9 // [3] or [6, 9] - FlowProfiles []uint32 `protobuf:"varint,11,rep,packed,name=flow_profiles,json=flowProfiles,proto3" json:"flow_profiles,omitempty"` + FlowProfiles []uint32 `protobuf:"varint,11,rep,packed,name=flow_profiles,json=flowProfiles,proto3" json:"flow_profiles,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PMDPortArg) Reset() { *x = PMDPortArg{} - if protoimpl.UnsafeEnabled { - mi := &file_ports_port_msg_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ports_port_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PMDPortArg) String() string { @@ -140,7 +138,7 @@ func (*PMDPortArg) ProtoMessage() {} func (x *PMDPortArg) ProtoReflect() protoreflect.Message { mi := &file_ports_port_msg_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -162,30 +160,36 @@ func (x *PMDPortArg) GetLoopback() bool { return false } -func (m *PMDPortArg) GetPort() isPMDPortArg_Port { - if m != nil { - return m.Port +func (x *PMDPortArg) GetPort() isPMDPortArg_Port { + if x != nil { + return x.Port } return nil } func (x *PMDPortArg) GetPortId() uint64 { - if x, ok := x.GetPort().(*PMDPortArg_PortId); ok { - return x.PortId + if x != nil { + if x, ok := x.Port.(*PMDPortArg_PortId); ok { + return x.PortId + } } return 0 } func (x *PMDPortArg) GetPci() string { - if x, ok := x.GetPort().(*PMDPortArg_Pci); ok { - return x.Pci + if x != nil { + if x, ok := x.Port.(*PMDPortArg_Pci); ok { + return x.Pci + } } return "" } func (x *PMDPortArg) GetVdev() string { - if x, ok := x.GetPort().(*PMDPortArg_Vdev); ok { - return x.Vdev + if x != nil { + if x, ok := x.Port.(*PMDPortArg_Vdev); ok { + return x.Vdev + } } return "" } @@ -211,16 +215,18 @@ func (x *PMDPortArg) GetVlanOffloadRxQinq() bool { return false } -func (m *PMDPortArg) GetSocket() isPMDPortArg_Socket { - if m != nil { - return m.Socket +func (x *PMDPortArg) GetSocket() isPMDPortArg_Socket { + if x != nil { + return x.Socket } return nil } func (x *PMDPortArg) GetSocketId() int32 { - if x, ok := x.GetSocket().(*PMDPortArg_SocketId); ok { - return x.SocketId + if x != nil { + if x, ok := x.Socket.(*PMDPortArg_SocketId); ok { + return x.SocketId + } } return 0 } @@ -279,30 +285,27 @@ type PMDPortArg_SocketId struct { func (*PMDPortArg_SocketId) isPMDPortArg_Socket() {} type UnixSocketPortArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - /// Set the first character to "@" in place of \0 for abstract path - /// See manpage for unix(7). + state protoimpl.MessageState `protogen:"open.v1"` + // / Set the first character to "@" in place of \0 for abstract path + // / See manpage for unix(7). Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - /// Minimum RX polling interval for system calls, when *idle*. - /// Use a negative number for unthrottled polling. If unspecified or 0, - /// it is set to 50,000 (50 microseconds, or 20k polls per second) + // / Minimum RX polling interval for system calls, when *idle*. + // / Use a negative number for unthrottled polling. If unspecified or 0, + // / it is set to 50,000 (50 microseconds, or 20k polls per second) MinRxIntervalNs int64 `protobuf:"varint,2,opt,name=min_rx_interval_ns,json=minRxIntervalNs,proto3" json:"min_rx_interval_ns,omitempty"` - /// If set, the port driver will send a confirmation once - /// the port is connected. This lets pybess avoid a race during - /// testing. See bessctl/test_utils.py for details. + // / If set, the port driver will send a confirmation once + // / the port is connected. This lets pybess avoid a race during + // / testing. See bessctl/test_utils.py for details. ConfirmConnect bool `protobuf:"varint,3,opt,name=confirm_connect,json=confirmConnect,proto3" json:"confirm_connect,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *UnixSocketPortArg) Reset() { *x = UnixSocketPortArg{} - if protoimpl.UnsafeEnabled { - mi := &file_ports_port_msg_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ports_port_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UnixSocketPortArg) String() string { @@ -313,7 +316,7 @@ func (*UnixSocketPortArg) ProtoMessage() {} func (x *UnixSocketPortArg) ProtoReflect() protoreflect.Message { mi := &file_ports_port_msg_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -350,30 +353,28 @@ func (x *UnixSocketPortArg) GetConfirmConnect() bool { } type VPortArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Ifname string `protobuf:"bytes,1,opt,name=ifname,proto3" json:"ifname,omitempty"` - // Types that are assignable to Cpid: + state protoimpl.MessageState `protogen:"open.v1"` + Ifname string `protobuf:"bytes,1,opt,name=ifname,proto3" json:"ifname,omitempty"` + // Types that are valid to be assigned to Cpid: + // // *VPortArg_Docker // *VPortArg_ContainerPid // *VPortArg_Netns - Cpid isVPortArg_Cpid `protobuf_oneof:"cpid"` - RxqCpus []int64 `protobuf:"varint,5,rep,packed,name=rxq_cpus,json=rxqCpus,proto3" json:"rxq_cpus,omitempty"` - TxTci uint64 `protobuf:"varint,6,opt,name=tx_tci,json=txTci,proto3" json:"tx_tci,omitempty"` - TxOuterTci uint64 `protobuf:"varint,7,opt,name=tx_outer_tci,json=txOuterTci,proto3" json:"tx_outer_tci,omitempty"` - Loopback bool `protobuf:"varint,8,opt,name=loopback,proto3" json:"loopback,omitempty"` - IpAddrs []string `protobuf:"bytes,9,rep,name=ip_addrs,json=ipAddrs,proto3" json:"ip_addrs,omitempty"` + Cpid isVPortArg_Cpid `protobuf_oneof:"cpid"` + RxqCpus []int64 `protobuf:"varint,5,rep,packed,name=rxq_cpus,json=rxqCpus,proto3" json:"rxq_cpus,omitempty"` + TxTci uint64 `protobuf:"varint,6,opt,name=tx_tci,json=txTci,proto3" json:"tx_tci,omitempty"` + TxOuterTci uint64 `protobuf:"varint,7,opt,name=tx_outer_tci,json=txOuterTci,proto3" json:"tx_outer_tci,omitempty"` + Loopback bool `protobuf:"varint,8,opt,name=loopback,proto3" json:"loopback,omitempty"` + IpAddrs []string `protobuf:"bytes,9,rep,name=ip_addrs,json=ipAddrs,proto3" json:"ip_addrs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *VPortArg) Reset() { *x = VPortArg{} - if protoimpl.UnsafeEnabled { - mi := &file_ports_port_msg_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ports_port_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *VPortArg) String() string { @@ -384,7 +385,7 @@ func (*VPortArg) ProtoMessage() {} func (x *VPortArg) ProtoReflect() protoreflect.Message { mi := &file_ports_port_msg_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -406,30 +407,36 @@ func (x *VPortArg) GetIfname() string { return "" } -func (m *VPortArg) GetCpid() isVPortArg_Cpid { - if m != nil { - return m.Cpid +func (x *VPortArg) GetCpid() isVPortArg_Cpid { + if x != nil { + return x.Cpid } return nil } func (x *VPortArg) GetDocker() string { - if x, ok := x.GetCpid().(*VPortArg_Docker); ok { - return x.Docker + if x != nil { + if x, ok := x.Cpid.(*VPortArg_Docker); ok { + return x.Docker + } } return "" } func (x *VPortArg) GetContainerPid() int64 { - if x, ok := x.GetCpid().(*VPortArg_ContainerPid); ok { - return x.ContainerPid + if x != nil { + if x, ok := x.Cpid.(*VPortArg_ContainerPid); ok { + return x.ContainerPid + } } return 0 } func (x *VPortArg) GetNetns() string { - if x, ok := x.GetCpid().(*VPortArg_Netns); ok { - return x.Netns + if x != nil { + if x, ok := x.Cpid.(*VPortArg_Netns); ok { + return x.Netns + } } return "" } @@ -492,23 +499,20 @@ func (*VPortArg_ContainerPid) isVPortArg_Cpid() {} func (*VPortArg_Netns) isVPortArg_Cpid() {} type CndpPortArg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // / CNDP JSONC configuration absolute file path. JsoncFile string `protobuf:"bytes,1,opt,name=jsonc_file,json=jsoncFile,proto3" json:"jsonc_file,omitempty"` // / lport index. - LportIndex uint32 `protobuf:"varint,2,opt,name=lport_index,json=lportIndex,proto3" json:"lport_index,omitempty"` + LportIndex uint32 `protobuf:"varint,2,opt,name=lport_index,json=lportIndex,proto3" json:"lport_index,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CndpPortArg) Reset() { *x = CndpPortArg{} - if protoimpl.UnsafeEnabled { - mi := &file_ports_port_msg_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_ports_port_msg_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CndpPortArg) String() string { @@ -519,7 +523,7 @@ func (*CndpPortArg) ProtoMessage() {} func (x *CndpPortArg) ProtoReflect() protoreflect.Message { mi := &file_ports_port_msg_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -550,87 +554,63 @@ func (x *CndpPortArg) GetLportIndex() uint32 { var File_ports_port_msg_proto protoreflect.FileDescriptor -var file_ports_port_msg_proto_rawDesc = []byte{ - 0x0a, 0x14, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x73, 0x67, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x22, - 0x1f, 0x0a, 0x0b, 0x50, 0x43, 0x41, 0x50, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x67, 0x12, 0x10, - 0x0a, 0x03, 0x64, 0x65, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x65, 0x76, - 0x22, 0xa1, 0x03, 0x0a, 0x0a, 0x50, 0x4d, 0x44, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x67, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x07, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x06, - 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x03, 0x70, 0x63, 0x69, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x70, 0x63, 0x69, 0x12, 0x14, 0x0a, 0x04, 0x76, 0x64, - 0x65, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x76, 0x64, 0x65, 0x76, - 0x12, 0x31, 0x0a, 0x15, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, - 0x5f, 0x72, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x12, 0x76, 0x6c, 0x61, 0x6e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x78, 0x53, 0x74, - 0x72, 0x69, 0x70, 0x12, 0x33, 0x0a, 0x16, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x6c, - 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x13, 0x76, 0x6c, 0x61, 0x6e, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x78, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x14, 0x76, 0x6c, 0x61, 0x6e, - 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x78, 0x5f, 0x71, 0x69, 0x6e, 0x71, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x76, 0x6c, 0x61, 0x6e, 0x4f, 0x66, 0x66, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x78, 0x51, 0x69, 0x6e, 0x71, 0x12, 0x1d, 0x0a, 0x09, 0x73, 0x6f, 0x63, - 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, - 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6d, - 0x69, 0x73, 0x63, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x69, 0x73, 0x63, 0x75, 0x6f, 0x75, 0x73, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x77, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x77, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x23, 0x0a, - 0x0d, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, - 0x63, 0x6b, 0x65, 0x74, 0x22, 0x7d, 0x0a, 0x11, 0x55, 0x6e, 0x69, 0x78, 0x53, 0x6f, 0x63, 0x6b, - 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2b, 0x0a, - 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x52, 0x78, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x08, 0x56, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x67, - 0x12, 0x16, 0x0a, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x69, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x06, 0x64, 0x6f, 0x63, 0x6b, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x6f, 0x63, 0x6b, - 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, - 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x05, 0x6e, 0x65, 0x74, - 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x65, 0x74, 0x6e, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x78, 0x71, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x03, 0x52, 0x07, 0x72, 0x78, 0x71, 0x43, 0x70, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, - 0x74, 0x78, 0x5f, 0x74, 0x63, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x78, - 0x54, 0x63, 0x69, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, - 0x74, 0x63, 0x69, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x78, 0x4f, 0x75, 0x74, - 0x65, 0x72, 0x54, 0x63, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, - 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, - 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x73, 0x42, 0x06, 0x0a, 0x04, - 0x63, 0x70, 0x69, 0x64, 0x22, 0x4d, 0x0a, 0x0b, 0x43, 0x6e, 0x64, 0x70, 0x50, 0x6f, 0x72, 0x74, - 0x41, 0x72, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x63, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x63, 0x46, 0x69, - 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x6f, 0x6d, 0x65, 0x63, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x75, - 0x70, 0x66, 0x2d, 0x65, 0x70, 0x63, 0x2f, 0x70, 0x66, 0x63, 0x70, 0x69, 0x66, 0x61, 0x63, 0x65, - 0x2f, 0x62, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_ports_port_msg_proto_rawDesc = "" + + "\n" + + "\x14ports/port_msg.proto\x12\abess.pb\"\x1f\n" + + "\vPCAPPortArg\x12\x10\n" + + "\x03dev\x18\x01 \x01(\tR\x03dev\"\xa1\x03\n" + + "\n" + + "PMDPortArg\x12\x1a\n" + + "\bloopback\x18\x01 \x01(\bR\bloopback\x12\x19\n" + + "\aport_id\x18\x02 \x01(\x04H\x00R\x06portId\x12\x12\n" + + "\x03pci\x18\x03 \x01(\tH\x00R\x03pci\x12\x14\n" + + "\x04vdev\x18\x04 \x01(\tH\x00R\x04vdev\x121\n" + + "\x15vlan_offload_rx_strip\x18\x05 \x01(\bR\x12vlanOffloadRxStrip\x123\n" + + "\x16vlan_offload_rx_filter\x18\x06 \x01(\bR\x13vlanOffloadRxFilter\x12/\n" + + "\x14vlan_offload_rx_qinq\x18\a \x01(\bR\x11vlanOffloadRxQinq\x12\x1d\n" + + "\tsocket_id\x18\b \x01(\x05H\x01R\bsocketId\x12)\n" + + "\x10promiscuous_mode\x18\t \x01(\bR\x0fpromiscuousMode\x12\x18\n" + + "\ahwcksum\x18\n" + + " \x01(\bR\ahwcksum\x12#\n" + + "\rflow_profiles\x18\v \x03(\rR\fflowProfilesB\x06\n" + + "\x04portB\b\n" + + "\x06socket\"}\n" + + "\x11UnixSocketPortArg\x12\x12\n" + + "\x04path\x18\x01 \x01(\tR\x04path\x12+\n" + + "\x12min_rx_interval_ns\x18\x02 \x01(\x03R\x0fminRxIntervalNs\x12'\n" + + "\x0fconfirm_connect\x18\x03 \x01(\bR\x0econfirmConnect\"\x8e\x02\n" + + "\bVPortArg\x12\x16\n" + + "\x06ifname\x18\x01 \x01(\tR\x06ifname\x12\x18\n" + + "\x06docker\x18\x02 \x01(\tH\x00R\x06docker\x12%\n" + + "\rcontainer_pid\x18\x03 \x01(\x03H\x00R\fcontainerPid\x12\x16\n" + + "\x05netns\x18\x04 \x01(\tH\x00R\x05netns\x12\x19\n" + + "\brxq_cpus\x18\x05 \x03(\x03R\arxqCpus\x12\x15\n" + + "\x06tx_tci\x18\x06 \x01(\x04R\x05txTci\x12 \n" + + "\ftx_outer_tci\x18\a \x01(\x04R\n" + + "txOuterTci\x12\x1a\n" + + "\bloopback\x18\b \x01(\bR\bloopback\x12\x19\n" + + "\bip_addrs\x18\t \x03(\tR\aipAddrsB\x06\n" + + "\x04cpid\"M\n" + + "\vCndpPortArg\x12\x1d\n" + + "\n" + + "jsonc_file\x18\x01 \x01(\tR\tjsoncFile\x12\x1f\n" + + "\vlport_index\x18\x02 \x01(\rR\n" + + "lportIndexB3Z1github.com/omec-project/upf-epc/pfcpiface/bess_pbb\x06proto3" var ( file_ports_port_msg_proto_rawDescOnce sync.Once - file_ports_port_msg_proto_rawDescData = file_ports_port_msg_proto_rawDesc + file_ports_port_msg_proto_rawDescData []byte ) func file_ports_port_msg_proto_rawDescGZIP() []byte { file_ports_port_msg_proto_rawDescOnce.Do(func() { - file_ports_port_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_ports_port_msg_proto_rawDescData) + file_ports_port_msg_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ports_port_msg_proto_rawDesc), len(file_ports_port_msg_proto_rawDesc))) }) return file_ports_port_msg_proto_rawDescData } var file_ports_port_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_ports_port_msg_proto_goTypes = []interface{}{ +var file_ports_port_msg_proto_goTypes = []any{ (*PCAPPortArg)(nil), // 0: bess.pb.PCAPPortArg (*PMDPortArg)(nil), // 1: bess.pb.PMDPortArg (*UnixSocketPortArg)(nil), // 2: bess.pb.UnixSocketPortArg @@ -650,75 +630,13 @@ func file_ports_port_msg_proto_init() { if File_ports_port_msg_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_ports_port_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PCAPPortArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ports_port_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PMDPortArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ports_port_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnixSocketPortArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ports_port_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VPortArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_ports_port_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CndpPortArg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_ports_port_msg_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_ports_port_msg_proto_msgTypes[1].OneofWrappers = []any{ (*PMDPortArg_PortId)(nil), (*PMDPortArg_Pci)(nil), (*PMDPortArg_Vdev)(nil), (*PMDPortArg_SocketId)(nil), } - file_ports_port_msg_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_ports_port_msg_proto_msgTypes[3].OneofWrappers = []any{ (*VPortArg_Docker)(nil), (*VPortArg_ContainerPid)(nil), (*VPortArg_Netns)(nil), @@ -727,7 +645,7 @@ func file_ports_port_msg_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_ports_port_msg_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_ports_port_msg_proto_rawDesc), len(file_ports_port_msg_proto_rawDesc)), NumEnums: 0, NumMessages: 5, NumExtensions: 0, @@ -738,7 +656,6 @@ func file_ports_port_msg_proto_init() { MessageInfos: file_ports_port_msg_proto_msgTypes, }.Build() File_ports_port_msg_proto = out.File - file_ports_port_msg_proto_rawDesc = nil file_ports_port_msg_proto_goTypes = nil file_ports_port_msg_proto_depIdxs = nil } diff --git a/pfcpiface/bess_pb/service.pb.go b/pfcpiface/bess_pb/service.pb.go index 2ef617994..82b77f34a 100644 --- a/pfcpiface/bess_pb/service.pb.go +++ b/pfcpiface/bess_pb/service.pb.go @@ -31,20 +31,17 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.6.1 +// protoc-gen-go v1.36.10 +// protoc v3.21.12 // source: service.proto package bess_pb import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" + unsafe "unsafe" ) const ( @@ -56,238 +53,65 @@ const ( var File_service_proto protoreflect.FileDescriptor -var file_service_proto_rawDesc = []byte{ - 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x07, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x1a, 0x0e, 0x62, 0x65, 0x73, 0x73, 0x5f, 0x6d, - 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xd4, 0x1b, 0x0a, 0x0b, 0x42, 0x45, 0x53, - 0x53, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x3f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x52, 0x65, 0x73, - 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x4b, 0x69, 0x6c, 0x6c, 0x42, 0x65, - 0x73, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x12, 0x1c, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0c, 0x55, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x1c, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x50, 0x61, 0x75, - 0x73, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x50, 0x61, 0x75, 0x73, 0x65, 0x57, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x50, 0x61, 0x75, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0c, - 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x6c, - 0x6c, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x09, 0x41, 0x64, 0x64, - 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x41, 0x64, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x44, - 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x57, 0x6f, - 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65, 0x74, 0x54, 0x63, - 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x63, 0x73, 0x12, 0x17, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x63, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x62, 0x0a, 0x1a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, - 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, - 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x38, 0x0a, 0x05, 0x41, 0x64, 0x64, 0x54, 0x63, 0x12, - 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x63, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x4a, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x63, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x1e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x63, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1e, - 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x63, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x54, - 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, - 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x72, - 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x52, 0x65, 0x73, - 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x50, 0x6f, - 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, - 0x74, 0x72, 0x6f, 0x79, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0b, 0x53, 0x65, 0x74, - 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x1b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x12, 0x1b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, - 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, - 0x0c, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1c, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, - 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x2e, - 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, - 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x15, 0x2e, 0x62, - 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x4d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x4d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x62, 0x65, 0x73, 0x73, - 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x44, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, - 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x50, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x44, 0x75, 0x6d, 0x70, 0x4d, 0x65, 0x6d, 0x70, - 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x75, - 0x6d, 0x70, 0x4d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1c, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x4d, - 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x44, 0x0a, 0x0d, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x12, 0x17, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, - 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x47, - 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x24, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, - 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x5c, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x47, 0x61, 0x74, 0x65, - 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x21, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, - 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x47, 0x61, 0x74, 0x65, 0x48, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, - 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x15, - 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x47, 0x61, 0x74, 0x65, 0x48, - 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1f, 0x2e, 0x62, 0x65, 0x73, - 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x62, 0x65, - 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x23, - 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, - 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6d, - 0x65, 0x63, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x75, 0x70, 0x66, 0x2d, 0x65, - 0x70, 0x63, 0x2f, 0x70, 0x66, 0x63, 0x70, 0x69, 0x66, 0x61, 0x63, 0x65, 0x2f, 0x62, 0x65, 0x73, - 0x73, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var file_service_proto_goTypes = []interface{}{ +const file_service_proto_rawDesc = "" + + "\n" + + "\rservice.proto\x12\abess.pb\x1a\x0ebess_msg.proto2\xd4\x1b\n" + + "\vBESSControl\x12?\n" + + "\n" + + "GetVersion\x12\x15.bess.pb.EmptyRequest\x1a\x18.bess.pb.VersionResponse\"\x00\x12;\n" + + "\bResetAll\x12\x15.bess.pb.EmptyRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12;\n" + + "\bKillBess\x12\x15.bess.pb.EmptyRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12F\n" + + "\fImportPlugin\x12\x1c.bess.pb.ImportPluginRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12F\n" + + "\fUnloadPlugin\x12\x1c.bess.pb.UnloadPluginRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12D\n" + + "\vListPlugins\x12\x15.bess.pb.EmptyRequest\x1a\x1c.bess.pb.ListPluginsResponse\"\x00\x12;\n" + + "\bPauseAll\x12\x15.bess.pb.EmptyRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12D\n" + + "\vPauseWorker\x12\x1b.bess.pb.PauseWorkerRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12F\n" + + "\fResumeWorker\x12\x1c.bess.pb.ResumeWorkerRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12<\n" + + "\tResumeAll\x12\x15.bess.pb.EmptyRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12?\n" + + "\fResetWorkers\x12\x15.bess.pb.EmptyRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12D\n" + + "\vListWorkers\x12\x15.bess.pb.EmptyRequest\x1a\x1c.bess.pb.ListWorkersResponse\"\x00\x12@\n" + + "\tAddWorker\x12\x19.bess.pb.AddWorkerRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12H\n" + + "\rDestroyWorker\x12\x1d.bess.pb.DestroyWorkerRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12;\n" + + "\bResetTcs\x12\x15.bess.pb.EmptyRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12>\n" + + "\aListTcs\x12\x17.bess.pb.ListTcsRequest\x1a\x18.bess.pb.ListTcsResponse\"\x00\x12b\n" + + "\x1aCheckSchedulingConstraints\x12\x15.bess.pb.EmptyRequest\x1a+.bess.pb.CheckSchedulingConstraintsResponse\"\x00\x128\n" + + "\x05AddTc\x12\x15.bess.pb.AddTcRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12J\n" + + "\x0eUpdateTcParams\x12\x1e.bess.pb.UpdateTcParamsRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12J\n" + + "\x0eUpdateTcParent\x12\x1e.bess.pb.UpdateTcParentRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12G\n" + + "\n" + + "GetTcStats\x12\x1a.bess.pb.GetTcStatsRequest\x1a\x1b.bess.pb.GetTcStatsResponse\"\x00\x12D\n" + + "\vListDrivers\x12\x15.bess.pb.EmptyRequest\x1a\x1c.bess.pb.ListDriversResponse\"\x00\x12P\n" + + "\rGetDriverInfo\x12\x1d.bess.pb.GetDriverInfoRequest\x1a\x1e.bess.pb.GetDriverInfoResponse\"\x00\x12=\n" + + "\n" + + "ResetPorts\x12\x15.bess.pb.EmptyRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12@\n" + + "\tListPorts\x12\x15.bess.pb.EmptyRequest\x1a\x1a.bess.pb.ListPortsResponse\"\x00\x12G\n" + + "\n" + + "CreatePort\x12\x1a.bess.pb.CreatePortRequest\x1a\x1b.bess.pb.CreatePortResponse\"\x00\x12D\n" + + "\vDestroyPort\x12\x1b.bess.pb.DestroyPortRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12F\n" + + "\vSetPortConf\x12\x1b.bess.pb.SetPortConfRequest\x1a\x18.bess.pb.CommandResponse\"\x00\x12J\n" + + "\vGetPortConf\x12\x1b.bess.pb.GetPortConfRequest\x1a\x1c.bess.pb.GetPortConfResponse\"\x00\x12M\n" + + "\fGetPortStats\x12\x1c.bess.pb.GetPortStatsRequest\x1a\x1d.bess.pb.GetPortStatsResponse\"\x00\x12P\n" + + "\rGetLinkStatus\x12\x1d.bess.pb.GetLinkStatusRequest\x1a\x1e.bess.pb.GetLinkStatusResponse\"\x00\x12B\n" + + "\n" + + "ListMclass\x12\x15.bess.pb.EmptyRequest\x1a\x1b.bess.pb.ListMclassResponse\"\x00\x12P\n" + + "\rGetMclassInfo\x12\x1d.bess.pb.GetMclassInfoRequest\x1a\x1e.bess.pb.GetMclassInfoResponse\"\x00\x12?\n" + + "\fResetModules\x12\x15.bess.pb.EmptyRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12D\n" + + "\vListModules\x12\x15.bess.pb.EmptyRequest\x1a\x1c.bess.pb.ListModulesResponse\"\x00\x12M\n" + + "\fCreateModule\x12\x1c.bess.pb.CreateModuleRequest\x1a\x1d.bess.pb.CreateModuleResponse\"\x00\x12H\n" + + "\rDestroyModule\x12\x1d.bess.pb.DestroyModuleRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12P\n" + + "\rGetModuleInfo\x12\x1d.bess.pb.GetModuleInfoRequest\x1a\x1e.bess.pb.GetModuleInfoResponse\"\x00\x12J\n" + + "\x0eConnectModules\x12\x1e.bess.pb.ConnectModulesRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12P\n" + + "\x11DisconnectModules\x12!.bess.pb.DisconnectModulesRequest\x1a\x16.bess.pb.EmptyResponse\"\x00\x12J\n" + + "\vDumpMempool\x12\x1b.bess.pb.DumpMempoolRequest\x1a\x1c.bess.pb.DumpMempoolResponse\"\x00\x12D\n" + + "\rModuleCommand\x12\x17.bess.pb.CommandRequest\x1a\x18.bess.pb.CommandResponse\"\x00\x12P\n" + + "\x11ListGateHookClass\x12\x15.bess.pb.EmptyRequest\x1a\".bess.pb.ListGateHookClassResponse\"\x00\x12e\n" + + "\x14GetGateHookClassInfo\x12$.bess.pb.GetGateHookClassInfoRequest\x1a%.bess.pb.GetGateHookClassInfoResponse\"\x00\x12\\\n" + + "\x11ConfigureGateHook\x12!.bess.pb.ConfigureGateHookRequest\x1a\".bess.pb.ConfigureGateHookResponse\"\x00\x12H\n" + + "\rListGateHooks\x12\x15.bess.pb.EmptyRequest\x1a\x1e.bess.pb.ListGateHooksResponse\"\x00\x12N\n" + + "\x0fGateHookCommand\x12\x1f.bess.pb.GateHookCommandRequest\x1a\x18.bess.pb.CommandResponse\"\x00\x12V\n" + + "\x13ConfigureResumeHook\x12#.bess.pb.ConfigureResumeHookRequest\x1a\x18.bess.pb.CommandResponse\"\x00B3Z1github.com/omec-project/upf-epc/pfcpiface/bess_pbb\x06proto3" + +var file_service_proto_goTypes = []any{ (*EmptyRequest)(nil), // 0: bess.pb.EmptyRequest (*ImportPluginRequest)(nil), // 1: bess.pb.ImportPluginRequest (*UnloadPluginRequest)(nil), // 2: bess.pb.UnloadPluginRequest @@ -459,7 +283,7 @@ func file_service_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_service_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_service_proto_rawDesc), len(file_service_proto_rawDesc)), NumEnums: 0, NumMessages: 0, NumExtensions: 0, @@ -469,2077 +293,6 @@ func file_service_proto_init() { DependencyIndexes: file_service_proto_depIdxs, }.Build() File_service_proto = out.File - file_service_proto_rawDesc = nil file_service_proto_goTypes = nil file_service_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// BESSControlClient is the client API for BESSControl service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type BESSControlClient interface { - /// Query version of bessd - GetVersion(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*VersionResponse, error) - /// Reset the current packet processing datapath to the initial state. - /// - /// This command is identical to the following sequence: - /// ResetModules() - /// ResetPorts() - /// ResetTcs() - /// ResetWorkers() - /// As it clears everything, BESS should appear as if the daemon has freshly - /// started (if not, it is a bug; please report). - /// - /// NOTE: There should be no running worker to run this command. - ResetAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Terminate the BESS daemon. - /// - /// BESS daemon shuts off in a graceful manner. Note that this command is - /// "asynchronous": this command doesn't block until the BESS daemon has - /// shut off. - /// - /// NOTE: There should be no running worker to run this command. - /// FIXME: rename (e.g., Terminate) - KillBess(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Import a plugin - /// - /// At the moment plugins can only contain module types, - /// but might also support drivers/hooks/schedulers in the future. - ImportPlugin(ctx context.Context, in *ImportPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Unload a plugin - /// - /// At the moment plugins can only contain module types, - /// but might also support drivers/hooks/schedulers in the future. - UnloadPlugin(ctx context.Context, in *UnloadPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// List imported plugins - /// - /// At the moment plugins can only contain module types, - /// but might also support drivers/hooks/schedulers in the future. - ListPlugins(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPluginsResponse, error) - /// Pause all running workers temporarily - /// - /// Some RPC commands to BESS or individual modules/ports require that - /// threads must be inactive, to avoid race conditions. - /// For such commands, use PauseALl at the beginning and ResumeAll at the end. - /// PauseAll() - /// SomeCommand1() - /// SomeCommand2() - /// ... - /// ResumeAll() - /// Keep the duration as short as possible, to avoid packet drops. - PauseAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Pause the specified worker temporarily - /// - /// Some RPC commands to BESS or individual modules/ports require that - /// threads must be inactive, to avoid race conditions. - /// For such commands, use PauseWorker at the beginning and ResumeWorker at - /// the end. - /// PauseWorker(0) - /// SomeCommand1() - /// SomeCommand2() - /// ... - /// ResumeWorker(0) - /// Keep the duration as short as possible, to avoid packet drops. - PauseWorker(ctx context.Context, in *PauseWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Resume the specified worker - ResumeWorker(ctx context.Context, in *ResumeWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Resume all paused workers - ResumeAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Remove all existing workers - /// - /// NOTE: There should be no running worker to run this command. - ResetWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Enumerate all existing workers - ListWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListWorkersResponse, error) - /// Create a new worker - /// - /// NOTE: There should be no running worker to run this command. - AddWorker(ctx context.Context, in *AddWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Remove a single worker - /// - /// NOTE: There should be no running worker to run this command. - DestroyWorker(ctx context.Context, in *DestroyWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Remove all existing traffic classes - /// - /// NOTE: There should be no running worker to run this command. - ResetTcs(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Enumerate all existing workers - ListTcs(ctx context.Context, in *ListTcsRequest, opts ...grpc.CallOption) (*ListTcsResponse, error) - /// Check scheduling contraints - CheckSchedulingConstraints(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*CheckSchedulingConstraintsResponse, error) - /// Create a new traffic class - /// - /// NOTE: There should be no running worker to run this command. - AddTc(ctx context.Context, in *AddTcRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Update parameters of an existing traffic class - /// - /// NOTE: There should be no running worker to run this command. - UpdateTcParams(ctx context.Context, in *UpdateTcParamsRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Change parent (and child arguments) of an existing traffic class - /// - /// NOTE: There should be no running worker to run this command. - UpdateTcParent(ctx context.Context, in *UpdateTcParentRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Collect statistics of a traffic class - GetTcStats(ctx context.Context, in *GetTcStatsRequest, opts ...grpc.CallOption) (*GetTcStatsResponse, error) - /// Enumerate all port drivers available - ListDrivers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListDriversResponse, error) - /// Query detailed information of a port driver - GetDriverInfo(ctx context.Context, in *GetDriverInfoRequest, opts ...grpc.CallOption) (*GetDriverInfoResponse, error) - /// Remove all initialized ports - /// - /// Will fail if there are modules that are still using ports. - /// (e.g., PortInc, PortOut, QueueInc, QueueOut) - /// - /// NOTE: There should be no running worker to run this command. - ResetPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Enumerate all initialized ports - ListPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPortsResponse, error) - /// Create a new port from the specified driver - CreatePort(ctx context.Context, in *CreatePortRequest, opts ...grpc.CallOption) (*CreatePortResponse, error) - /// Remove a port - /// - /// The port should not be being used by a port-related module. - /// (e.g., PortInc, PortOut, QueueInc, QueueOut) - DestroyPort(ctx context.Context, in *DestroyPortRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Runtime-updatable configuration - SetPortConf(ctx context.Context, in *SetPortConfRequest, opts ...grpc.CallOption) (*CommandResponse, error) - GetPortConf(ctx context.Context, in *GetPortConfRequest, opts ...grpc.CallOption) (*GetPortConfResponse, error) - /// Collect port statistics - /// - /// At the moment, per-queue stats are not supported. - GetPortStats(ctx context.Context, in *GetPortStatsRequest, opts ...grpc.CallOption) (*GetPortStatsResponse, error) - /// Query link status - GetLinkStatus(ctx context.Context, in *GetLinkStatusRequest, opts ...grpc.CallOption) (*GetLinkStatusResponse, error) - /// Enumerate all module types available - ListMclass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListMclassResponse, error) - /// Query detailed information of a module type - GetMclassInfo(ctx context.Context, in *GetMclassInfoRequest, opts ...grpc.CallOption) (*GetMclassInfoResponse, error) - /// Remove all modules. - /// - /// This RPC will always succeed (unless there is a running worker) - /// - /// NOTE: There should be no running worker to run this command. - ResetModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Enumerate all initialized modules - ListModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListModulesResponse, error) - /// Create a new module instance from the given module type - /// - /// NOTE: There should be no running worker to run this command. - CreateModule(ctx context.Context, in *CreateModuleRequest, opts ...grpc.CallOption) (*CreateModuleResponse, error) - /// Destroy an exsting module - /// - /// If the module is connected to other modules' input/output gate, they are - /// disconnected first. All tasks created by the module will also be destoyed. - /// - /// NOTE: There should be no running worker to run this command. - DestroyModule(ctx context.Context, in *DestroyModuleRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Fetch detailed information of an module instance - GetModuleInfo(ctx context.Context, in *GetModuleInfoRequest, opts ...grpc.CallOption) (*GetModuleInfoResponse, error) - /// Connect two modules. - /// - /// Connect between m1's ogate and n2's igate (i.e., ackets sent to m1's ogate - /// will be fed to m2's igate). The oate can be connected to only one igate, - /// while the igate can be connected to multiple output gates. - /// - /// NOTE: There should be no running worker to run this command. - ConnectModules(ctx context.Context, in *ConnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Disconnect two modules. - /// - /// It removes a connection between two modules (you specify the previous one - /// and its output gate). All packets coming out from the ogate will be - /// dropped. Once disconnected, the ogate can be connected - /// to any input gate. - /// - /// NOTE: There should be no running worker to run this command. - DisconnectModules(ctx context.Context, in *DisconnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error) - /// Dump various stats about BESS's packet pools - DumpMempool(ctx context.Context, in *DumpMempoolRequest, opts ...grpc.CallOption) (*DumpMempoolResponse, error) - /// Send a command to the specified module instance. - /// - /// Each module type defines a list of modyle-specific commands, which - /// allow external programs to communicate with the module at runtime. - /// See module_msg.proto for details. - /// - /// NOTE: Some commands cannot be used if there are running workers. - /// For those commands you must pause all workers first. - ModuleCommand(ctx context.Context, in *CommandRequest, opts ...grpc.CallOption) (*CommandResponse, error) - /// Enumerate all gatehook types available - ListGateHookClass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHookClassResponse, error) - /// Query detailed information of a gatehook type - GetGateHookClassInfo(ctx context.Context, in *GetGateHookClassInfoRequest, opts ...grpc.CallOption) (*GetGateHookClassInfoResponse, error) - /// Enable/Disable a gate hook. - ConfigureGateHook(ctx context.Context, in *ConfigureGateHookRequest, opts ...grpc.CallOption) (*ConfigureGateHookResponse, error) - /// Enumerate all gatehook installed - ListGateHooks(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHooksResponse, error) - /// Send command to gate hook instance. - GateHookCommand(ctx context.Context, in *GateHookCommandRequest, opts ...grpc.CallOption) (*CommandResponse, error) - /// Enable/Disable a resume hook. - ConfigureResumeHook(ctx context.Context, in *ConfigureResumeHookRequest, opts ...grpc.CallOption) (*CommandResponse, error) -} - -type bESSControlClient struct { - cc grpc.ClientConnInterface -} - -func NewBESSControlClient(cc grpc.ClientConnInterface) BESSControlClient { - return &bESSControlClient{cc} -} - -func (c *bESSControlClient) GetVersion(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*VersionResponse, error) { - out := new(VersionResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GetVersion", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ResetAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ResetAll", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) KillBess(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/KillBess", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ImportPlugin(ctx context.Context, in *ImportPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ImportPlugin", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) UnloadPlugin(ctx context.Context, in *UnloadPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/UnloadPlugin", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ListPlugins(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPluginsResponse, error) { - out := new(ListPluginsResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ListPlugins", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) PauseAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/PauseAll", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) PauseWorker(ctx context.Context, in *PauseWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/PauseWorker", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ResumeWorker(ctx context.Context, in *ResumeWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ResumeWorker", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ResumeAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ResumeAll", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ResetWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ResetWorkers", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ListWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListWorkersResponse, error) { - out := new(ListWorkersResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ListWorkers", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) AddWorker(ctx context.Context, in *AddWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/AddWorker", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) DestroyWorker(ctx context.Context, in *DestroyWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/DestroyWorker", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ResetTcs(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ResetTcs", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ListTcs(ctx context.Context, in *ListTcsRequest, opts ...grpc.CallOption) (*ListTcsResponse, error) { - out := new(ListTcsResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ListTcs", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) CheckSchedulingConstraints(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*CheckSchedulingConstraintsResponse, error) { - out := new(CheckSchedulingConstraintsResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/CheckSchedulingConstraints", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) AddTc(ctx context.Context, in *AddTcRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/AddTc", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) UpdateTcParams(ctx context.Context, in *UpdateTcParamsRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/UpdateTcParams", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) UpdateTcParent(ctx context.Context, in *UpdateTcParentRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/UpdateTcParent", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) GetTcStats(ctx context.Context, in *GetTcStatsRequest, opts ...grpc.CallOption) (*GetTcStatsResponse, error) { - out := new(GetTcStatsResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GetTcStats", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ListDrivers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListDriversResponse, error) { - out := new(ListDriversResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ListDrivers", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) GetDriverInfo(ctx context.Context, in *GetDriverInfoRequest, opts ...grpc.CallOption) (*GetDriverInfoResponse, error) { - out := new(GetDriverInfoResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GetDriverInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ResetPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ResetPorts", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ListPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPortsResponse, error) { - out := new(ListPortsResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ListPorts", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) CreatePort(ctx context.Context, in *CreatePortRequest, opts ...grpc.CallOption) (*CreatePortResponse, error) { - out := new(CreatePortResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/CreatePort", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) DestroyPort(ctx context.Context, in *DestroyPortRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/DestroyPort", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) SetPortConf(ctx context.Context, in *SetPortConfRequest, opts ...grpc.CallOption) (*CommandResponse, error) { - out := new(CommandResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/SetPortConf", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) GetPortConf(ctx context.Context, in *GetPortConfRequest, opts ...grpc.CallOption) (*GetPortConfResponse, error) { - out := new(GetPortConfResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GetPortConf", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) GetPortStats(ctx context.Context, in *GetPortStatsRequest, opts ...grpc.CallOption) (*GetPortStatsResponse, error) { - out := new(GetPortStatsResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GetPortStats", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) GetLinkStatus(ctx context.Context, in *GetLinkStatusRequest, opts ...grpc.CallOption) (*GetLinkStatusResponse, error) { - out := new(GetLinkStatusResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GetLinkStatus", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ListMclass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListMclassResponse, error) { - out := new(ListMclassResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ListMclass", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) GetMclassInfo(ctx context.Context, in *GetMclassInfoRequest, opts ...grpc.CallOption) (*GetMclassInfoResponse, error) { - out := new(GetMclassInfoResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GetMclassInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ResetModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ResetModules", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ListModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListModulesResponse, error) { - out := new(ListModulesResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ListModules", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) CreateModule(ctx context.Context, in *CreateModuleRequest, opts ...grpc.CallOption) (*CreateModuleResponse, error) { - out := new(CreateModuleResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/CreateModule", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) DestroyModule(ctx context.Context, in *DestroyModuleRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/DestroyModule", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) GetModuleInfo(ctx context.Context, in *GetModuleInfoRequest, opts ...grpc.CallOption) (*GetModuleInfoResponse, error) { - out := new(GetModuleInfoResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GetModuleInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ConnectModules(ctx context.Context, in *ConnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ConnectModules", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) DisconnectModules(ctx context.Context, in *DisconnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { - out := new(EmptyResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/DisconnectModules", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) DumpMempool(ctx context.Context, in *DumpMempoolRequest, opts ...grpc.CallOption) (*DumpMempoolResponse, error) { - out := new(DumpMempoolResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/DumpMempool", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ModuleCommand(ctx context.Context, in *CommandRequest, opts ...grpc.CallOption) (*CommandResponse, error) { - out := new(CommandResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ModuleCommand", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ListGateHookClass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHookClassResponse, error) { - out := new(ListGateHookClassResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ListGateHookClass", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) GetGateHookClassInfo(ctx context.Context, in *GetGateHookClassInfoRequest, opts ...grpc.CallOption) (*GetGateHookClassInfoResponse, error) { - out := new(GetGateHookClassInfoResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GetGateHookClassInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ConfigureGateHook(ctx context.Context, in *ConfigureGateHookRequest, opts ...grpc.CallOption) (*ConfigureGateHookResponse, error) { - out := new(ConfigureGateHookResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ConfigureGateHook", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ListGateHooks(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHooksResponse, error) { - out := new(ListGateHooksResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ListGateHooks", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) GateHookCommand(ctx context.Context, in *GateHookCommandRequest, opts ...grpc.CallOption) (*CommandResponse, error) { - out := new(CommandResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/GateHookCommand", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *bESSControlClient) ConfigureResumeHook(ctx context.Context, in *ConfigureResumeHookRequest, opts ...grpc.CallOption) (*CommandResponse, error) { - out := new(CommandResponse) - err := c.cc.Invoke(ctx, "/bess.pb.BESSControl/ConfigureResumeHook", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// BESSControlServer is the server API for BESSControl service. -type BESSControlServer interface { - /// Query version of bessd - GetVersion(context.Context, *EmptyRequest) (*VersionResponse, error) - /// Reset the current packet processing datapath to the initial state. - /// - /// This command is identical to the following sequence: - /// ResetModules() - /// ResetPorts() - /// ResetTcs() - /// ResetWorkers() - /// As it clears everything, BESS should appear as if the daemon has freshly - /// started (if not, it is a bug; please report). - /// - /// NOTE: There should be no running worker to run this command. - ResetAll(context.Context, *EmptyRequest) (*EmptyResponse, error) - /// Terminate the BESS daemon. - /// - /// BESS daemon shuts off in a graceful manner. Note that this command is - /// "asynchronous": this command doesn't block until the BESS daemon has - /// shut off. - /// - /// NOTE: There should be no running worker to run this command. - /// FIXME: rename (e.g., Terminate) - KillBess(context.Context, *EmptyRequest) (*EmptyResponse, error) - /// Import a plugin - /// - /// At the moment plugins can only contain module types, - /// but might also support drivers/hooks/schedulers in the future. - ImportPlugin(context.Context, *ImportPluginRequest) (*EmptyResponse, error) - /// Unload a plugin - /// - /// At the moment plugins can only contain module types, - /// but might also support drivers/hooks/schedulers in the future. - UnloadPlugin(context.Context, *UnloadPluginRequest) (*EmptyResponse, error) - /// List imported plugins - /// - /// At the moment plugins can only contain module types, - /// but might also support drivers/hooks/schedulers in the future. - ListPlugins(context.Context, *EmptyRequest) (*ListPluginsResponse, error) - /// Pause all running workers temporarily - /// - /// Some RPC commands to BESS or individual modules/ports require that - /// threads must be inactive, to avoid race conditions. - /// For such commands, use PauseALl at the beginning and ResumeAll at the end. - /// PauseAll() - /// SomeCommand1() - /// SomeCommand2() - /// ... - /// ResumeAll() - /// Keep the duration as short as possible, to avoid packet drops. - PauseAll(context.Context, *EmptyRequest) (*EmptyResponse, error) - /// Pause the specified worker temporarily - /// - /// Some RPC commands to BESS or individual modules/ports require that - /// threads must be inactive, to avoid race conditions. - /// For such commands, use PauseWorker at the beginning and ResumeWorker at - /// the end. - /// PauseWorker(0) - /// SomeCommand1() - /// SomeCommand2() - /// ... - /// ResumeWorker(0) - /// Keep the duration as short as possible, to avoid packet drops. - PauseWorker(context.Context, *PauseWorkerRequest) (*EmptyResponse, error) - /// Resume the specified worker - ResumeWorker(context.Context, *ResumeWorkerRequest) (*EmptyResponse, error) - /// Resume all paused workers - ResumeAll(context.Context, *EmptyRequest) (*EmptyResponse, error) - /// Remove all existing workers - /// - /// NOTE: There should be no running worker to run this command. - ResetWorkers(context.Context, *EmptyRequest) (*EmptyResponse, error) - /// Enumerate all existing workers - ListWorkers(context.Context, *EmptyRequest) (*ListWorkersResponse, error) - /// Create a new worker - /// - /// NOTE: There should be no running worker to run this command. - AddWorker(context.Context, *AddWorkerRequest) (*EmptyResponse, error) - /// Remove a single worker - /// - /// NOTE: There should be no running worker to run this command. - DestroyWorker(context.Context, *DestroyWorkerRequest) (*EmptyResponse, error) - /// Remove all existing traffic classes - /// - /// NOTE: There should be no running worker to run this command. - ResetTcs(context.Context, *EmptyRequest) (*EmptyResponse, error) - /// Enumerate all existing workers - ListTcs(context.Context, *ListTcsRequest) (*ListTcsResponse, error) - /// Check scheduling contraints - CheckSchedulingConstraints(context.Context, *EmptyRequest) (*CheckSchedulingConstraintsResponse, error) - /// Create a new traffic class - /// - /// NOTE: There should be no running worker to run this command. - AddTc(context.Context, *AddTcRequest) (*EmptyResponse, error) - /// Update parameters of an existing traffic class - /// - /// NOTE: There should be no running worker to run this command. - UpdateTcParams(context.Context, *UpdateTcParamsRequest) (*EmptyResponse, error) - /// Change parent (and child arguments) of an existing traffic class - /// - /// NOTE: There should be no running worker to run this command. - UpdateTcParent(context.Context, *UpdateTcParentRequest) (*EmptyResponse, error) - /// Collect statistics of a traffic class - GetTcStats(context.Context, *GetTcStatsRequest) (*GetTcStatsResponse, error) - /// Enumerate all port drivers available - ListDrivers(context.Context, *EmptyRequest) (*ListDriversResponse, error) - /// Query detailed information of a port driver - GetDriverInfo(context.Context, *GetDriverInfoRequest) (*GetDriverInfoResponse, error) - /// Remove all initialized ports - /// - /// Will fail if there are modules that are still using ports. - /// (e.g., PortInc, PortOut, QueueInc, QueueOut) - /// - /// NOTE: There should be no running worker to run this command. - ResetPorts(context.Context, *EmptyRequest) (*EmptyResponse, error) - /// Enumerate all initialized ports - ListPorts(context.Context, *EmptyRequest) (*ListPortsResponse, error) - /// Create a new port from the specified driver - CreatePort(context.Context, *CreatePortRequest) (*CreatePortResponse, error) - /// Remove a port - /// - /// The port should not be being used by a port-related module. - /// (e.g., PortInc, PortOut, QueueInc, QueueOut) - DestroyPort(context.Context, *DestroyPortRequest) (*EmptyResponse, error) - /// Runtime-updatable configuration - SetPortConf(context.Context, *SetPortConfRequest) (*CommandResponse, error) - GetPortConf(context.Context, *GetPortConfRequest) (*GetPortConfResponse, error) - /// Collect port statistics - /// - /// At the moment, per-queue stats are not supported. - GetPortStats(context.Context, *GetPortStatsRequest) (*GetPortStatsResponse, error) - /// Query link status - GetLinkStatus(context.Context, *GetLinkStatusRequest) (*GetLinkStatusResponse, error) - /// Enumerate all module types available - ListMclass(context.Context, *EmptyRequest) (*ListMclassResponse, error) - /// Query detailed information of a module type - GetMclassInfo(context.Context, *GetMclassInfoRequest) (*GetMclassInfoResponse, error) - /// Remove all modules. - /// - /// This RPC will always succeed (unless there is a running worker) - /// - /// NOTE: There should be no running worker to run this command. - ResetModules(context.Context, *EmptyRequest) (*EmptyResponse, error) - /// Enumerate all initialized modules - ListModules(context.Context, *EmptyRequest) (*ListModulesResponse, error) - /// Create a new module instance from the given module type - /// - /// NOTE: There should be no running worker to run this command. - CreateModule(context.Context, *CreateModuleRequest) (*CreateModuleResponse, error) - /// Destroy an exsting module - /// - /// If the module is connected to other modules' input/output gate, they are - /// disconnected first. All tasks created by the module will also be destoyed. - /// - /// NOTE: There should be no running worker to run this command. - DestroyModule(context.Context, *DestroyModuleRequest) (*EmptyResponse, error) - /// Fetch detailed information of an module instance - GetModuleInfo(context.Context, *GetModuleInfoRequest) (*GetModuleInfoResponse, error) - /// Connect two modules. - /// - /// Connect between m1's ogate and n2's igate (i.e., ackets sent to m1's ogate - /// will be fed to m2's igate). The oate can be connected to only one igate, - /// while the igate can be connected to multiple output gates. - /// - /// NOTE: There should be no running worker to run this command. - ConnectModules(context.Context, *ConnectModulesRequest) (*EmptyResponse, error) - /// Disconnect two modules. - /// - /// It removes a connection between two modules (you specify the previous one - /// and its output gate). All packets coming out from the ogate will be - /// dropped. Once disconnected, the ogate can be connected - /// to any input gate. - /// - /// NOTE: There should be no running worker to run this command. - DisconnectModules(context.Context, *DisconnectModulesRequest) (*EmptyResponse, error) - /// Dump various stats about BESS's packet pools - DumpMempool(context.Context, *DumpMempoolRequest) (*DumpMempoolResponse, error) - /// Send a command to the specified module instance. - /// - /// Each module type defines a list of modyle-specific commands, which - /// allow external programs to communicate with the module at runtime. - /// See module_msg.proto for details. - /// - /// NOTE: Some commands cannot be used if there are running workers. - /// For those commands you must pause all workers first. - ModuleCommand(context.Context, *CommandRequest) (*CommandResponse, error) - /// Enumerate all gatehook types available - ListGateHookClass(context.Context, *EmptyRequest) (*ListGateHookClassResponse, error) - /// Query detailed information of a gatehook type - GetGateHookClassInfo(context.Context, *GetGateHookClassInfoRequest) (*GetGateHookClassInfoResponse, error) - /// Enable/Disable a gate hook. - ConfigureGateHook(context.Context, *ConfigureGateHookRequest) (*ConfigureGateHookResponse, error) - /// Enumerate all gatehook installed - ListGateHooks(context.Context, *EmptyRequest) (*ListGateHooksResponse, error) - /// Send command to gate hook instance. - GateHookCommand(context.Context, *GateHookCommandRequest) (*CommandResponse, error) - /// Enable/Disable a resume hook. - ConfigureResumeHook(context.Context, *ConfigureResumeHookRequest) (*CommandResponse, error) -} - -// UnimplementedBESSControlServer can be embedded to have forward compatible implementations. -type UnimplementedBESSControlServer struct { -} - -func (*UnimplementedBESSControlServer) GetVersion(context.Context, *EmptyRequest) (*VersionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") -} -func (*UnimplementedBESSControlServer) ResetAll(context.Context, *EmptyRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResetAll not implemented") -} -func (*UnimplementedBESSControlServer) KillBess(context.Context, *EmptyRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method KillBess not implemented") -} -func (*UnimplementedBESSControlServer) ImportPlugin(context.Context, *ImportPluginRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ImportPlugin not implemented") -} -func (*UnimplementedBESSControlServer) UnloadPlugin(context.Context, *UnloadPluginRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnloadPlugin not implemented") -} -func (*UnimplementedBESSControlServer) ListPlugins(context.Context, *EmptyRequest) (*ListPluginsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListPlugins not implemented") -} -func (*UnimplementedBESSControlServer) PauseAll(context.Context, *EmptyRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method PauseAll not implemented") -} -func (*UnimplementedBESSControlServer) PauseWorker(context.Context, *PauseWorkerRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method PauseWorker not implemented") -} -func (*UnimplementedBESSControlServer) ResumeWorker(context.Context, *ResumeWorkerRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResumeWorker not implemented") -} -func (*UnimplementedBESSControlServer) ResumeAll(context.Context, *EmptyRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResumeAll not implemented") -} -func (*UnimplementedBESSControlServer) ResetWorkers(context.Context, *EmptyRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResetWorkers not implemented") -} -func (*UnimplementedBESSControlServer) ListWorkers(context.Context, *EmptyRequest) (*ListWorkersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListWorkers not implemented") -} -func (*UnimplementedBESSControlServer) AddWorker(context.Context, *AddWorkerRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddWorker not implemented") -} -func (*UnimplementedBESSControlServer) DestroyWorker(context.Context, *DestroyWorkerRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DestroyWorker not implemented") -} -func (*UnimplementedBESSControlServer) ResetTcs(context.Context, *EmptyRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResetTcs not implemented") -} -func (*UnimplementedBESSControlServer) ListTcs(context.Context, *ListTcsRequest) (*ListTcsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListTcs not implemented") -} -func (*UnimplementedBESSControlServer) CheckSchedulingConstraints(context.Context, *EmptyRequest) (*CheckSchedulingConstraintsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CheckSchedulingConstraints not implemented") -} -func (*UnimplementedBESSControlServer) AddTc(context.Context, *AddTcRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddTc not implemented") -} -func (*UnimplementedBESSControlServer) UpdateTcParams(context.Context, *UpdateTcParamsRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateTcParams not implemented") -} -func (*UnimplementedBESSControlServer) UpdateTcParent(context.Context, *UpdateTcParentRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateTcParent not implemented") -} -func (*UnimplementedBESSControlServer) GetTcStats(context.Context, *GetTcStatsRequest) (*GetTcStatsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTcStats not implemented") -} -func (*UnimplementedBESSControlServer) ListDrivers(context.Context, *EmptyRequest) (*ListDriversResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListDrivers not implemented") -} -func (*UnimplementedBESSControlServer) GetDriverInfo(context.Context, *GetDriverInfoRequest) (*GetDriverInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetDriverInfo not implemented") -} -func (*UnimplementedBESSControlServer) ResetPorts(context.Context, *EmptyRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResetPorts not implemented") -} -func (*UnimplementedBESSControlServer) ListPorts(context.Context, *EmptyRequest) (*ListPortsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListPorts not implemented") -} -func (*UnimplementedBESSControlServer) CreatePort(context.Context, *CreatePortRequest) (*CreatePortResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreatePort not implemented") -} -func (*UnimplementedBESSControlServer) DestroyPort(context.Context, *DestroyPortRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DestroyPort not implemented") -} -func (*UnimplementedBESSControlServer) SetPortConf(context.Context, *SetPortConfRequest) (*CommandResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetPortConf not implemented") -} -func (*UnimplementedBESSControlServer) GetPortConf(context.Context, *GetPortConfRequest) (*GetPortConfResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetPortConf not implemented") -} -func (*UnimplementedBESSControlServer) GetPortStats(context.Context, *GetPortStatsRequest) (*GetPortStatsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetPortStats not implemented") -} -func (*UnimplementedBESSControlServer) GetLinkStatus(context.Context, *GetLinkStatusRequest) (*GetLinkStatusResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLinkStatus not implemented") -} -func (*UnimplementedBESSControlServer) ListMclass(context.Context, *EmptyRequest) (*ListMclassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListMclass not implemented") -} -func (*UnimplementedBESSControlServer) GetMclassInfo(context.Context, *GetMclassInfoRequest) (*GetMclassInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMclassInfo not implemented") -} -func (*UnimplementedBESSControlServer) ResetModules(context.Context, *EmptyRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResetModules not implemented") -} -func (*UnimplementedBESSControlServer) ListModules(context.Context, *EmptyRequest) (*ListModulesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListModules not implemented") -} -func (*UnimplementedBESSControlServer) CreateModule(context.Context, *CreateModuleRequest) (*CreateModuleResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateModule not implemented") -} -func (*UnimplementedBESSControlServer) DestroyModule(context.Context, *DestroyModuleRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DestroyModule not implemented") -} -func (*UnimplementedBESSControlServer) GetModuleInfo(context.Context, *GetModuleInfoRequest) (*GetModuleInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetModuleInfo not implemented") -} -func (*UnimplementedBESSControlServer) ConnectModules(context.Context, *ConnectModulesRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ConnectModules not implemented") -} -func (*UnimplementedBESSControlServer) DisconnectModules(context.Context, *DisconnectModulesRequest) (*EmptyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DisconnectModules not implemented") -} -func (*UnimplementedBESSControlServer) DumpMempool(context.Context, *DumpMempoolRequest) (*DumpMempoolResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DumpMempool not implemented") -} -func (*UnimplementedBESSControlServer) ModuleCommand(context.Context, *CommandRequest) (*CommandResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ModuleCommand not implemented") -} -func (*UnimplementedBESSControlServer) ListGateHookClass(context.Context, *EmptyRequest) (*ListGateHookClassResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListGateHookClass not implemented") -} -func (*UnimplementedBESSControlServer) GetGateHookClassInfo(context.Context, *GetGateHookClassInfoRequest) (*GetGateHookClassInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGateHookClassInfo not implemented") -} -func (*UnimplementedBESSControlServer) ConfigureGateHook(context.Context, *ConfigureGateHookRequest) (*ConfigureGateHookResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ConfigureGateHook not implemented") -} -func (*UnimplementedBESSControlServer) ListGateHooks(context.Context, *EmptyRequest) (*ListGateHooksResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListGateHooks not implemented") -} -func (*UnimplementedBESSControlServer) GateHookCommand(context.Context, *GateHookCommandRequest) (*CommandResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GateHookCommand not implemented") -} -func (*UnimplementedBESSControlServer) ConfigureResumeHook(context.Context, *ConfigureResumeHookRequest) (*CommandResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ConfigureResumeHook not implemented") -} - -func RegisterBESSControlServer(s *grpc.Server, srv BESSControlServer) { - s.RegisterService(&_BESSControl_serviceDesc, srv) -} - -func _BESSControl_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GetVersion(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GetVersion", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GetVersion(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ResetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ResetAll(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ResetAll", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ResetAll(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_KillBess_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).KillBess(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/KillBess", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).KillBess(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ImportPlugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ImportPluginRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ImportPlugin(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ImportPlugin", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ImportPlugin(ctx, req.(*ImportPluginRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_UnloadPlugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnloadPluginRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).UnloadPlugin(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/UnloadPlugin", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).UnloadPlugin(ctx, req.(*UnloadPluginRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ListPlugins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ListPlugins(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ListPlugins", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ListPlugins(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_PauseAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).PauseAll(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/PauseAll", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).PauseAll(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_PauseWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PauseWorkerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).PauseWorker(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/PauseWorker", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).PauseWorker(ctx, req.(*PauseWorkerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ResumeWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResumeWorkerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ResumeWorker(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ResumeWorker", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ResumeWorker(ctx, req.(*ResumeWorkerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ResumeAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ResumeAll(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ResumeAll", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ResumeAll(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ResetWorkers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ResetWorkers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ResetWorkers", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ResetWorkers(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ListWorkers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ListWorkers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ListWorkers", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ListWorkers(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_AddWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddWorkerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).AddWorker(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/AddWorker", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).AddWorker(ctx, req.(*AddWorkerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_DestroyWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DestroyWorkerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).DestroyWorker(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/DestroyWorker", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).DestroyWorker(ctx, req.(*DestroyWorkerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ResetTcs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ResetTcs(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ResetTcs", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ResetTcs(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ListTcs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListTcsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ListTcs(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ListTcs", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ListTcs(ctx, req.(*ListTcsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_CheckSchedulingConstraints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).CheckSchedulingConstraints(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/CheckSchedulingConstraints", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).CheckSchedulingConstraints(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_AddTc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddTcRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).AddTc(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/AddTc", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).AddTc(ctx, req.(*AddTcRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_UpdateTcParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateTcParamsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).UpdateTcParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/UpdateTcParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).UpdateTcParams(ctx, req.(*UpdateTcParamsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_UpdateTcParent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateTcParentRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).UpdateTcParent(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/UpdateTcParent", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).UpdateTcParent(ctx, req.(*UpdateTcParentRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_GetTcStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTcStatsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GetTcStats(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GetTcStats", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GetTcStats(ctx, req.(*GetTcStatsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ListDrivers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ListDrivers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ListDrivers", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ListDrivers(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_GetDriverInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetDriverInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GetDriverInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GetDriverInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GetDriverInfo(ctx, req.(*GetDriverInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ResetPorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ResetPorts(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ResetPorts", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ResetPorts(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ListPorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ListPorts(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ListPorts", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ListPorts(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_CreatePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreatePortRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).CreatePort(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/CreatePort", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).CreatePort(ctx, req.(*CreatePortRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_DestroyPort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DestroyPortRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).DestroyPort(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/DestroyPort", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).DestroyPort(ctx, req.(*DestroyPortRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_SetPortConf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetPortConfRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).SetPortConf(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/SetPortConf", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).SetPortConf(ctx, req.(*SetPortConfRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_GetPortConf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetPortConfRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GetPortConf(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GetPortConf", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GetPortConf(ctx, req.(*GetPortConfRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_GetPortStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetPortStatsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GetPortStats(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GetPortStats", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GetPortStats(ctx, req.(*GetPortStatsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_GetLinkStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetLinkStatusRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GetLinkStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GetLinkStatus", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GetLinkStatus(ctx, req.(*GetLinkStatusRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ListMclass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ListMclass(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ListMclass", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ListMclass(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_GetMclassInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMclassInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GetMclassInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GetMclassInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GetMclassInfo(ctx, req.(*GetMclassInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ResetModules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ResetModules(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ResetModules", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ResetModules(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ListModules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ListModules(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ListModules", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ListModules(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_CreateModule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateModuleRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).CreateModule(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/CreateModule", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).CreateModule(ctx, req.(*CreateModuleRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_DestroyModule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DestroyModuleRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).DestroyModule(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/DestroyModule", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).DestroyModule(ctx, req.(*DestroyModuleRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_GetModuleInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetModuleInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GetModuleInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GetModuleInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GetModuleInfo(ctx, req.(*GetModuleInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ConnectModules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ConnectModulesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ConnectModules(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ConnectModules", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ConnectModules(ctx, req.(*ConnectModulesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_DisconnectModules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DisconnectModulesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).DisconnectModules(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/DisconnectModules", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).DisconnectModules(ctx, req.(*DisconnectModulesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_DumpMempool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DumpMempoolRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).DumpMempool(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/DumpMempool", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).DumpMempool(ctx, req.(*DumpMempoolRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ModuleCommand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CommandRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ModuleCommand(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ModuleCommand", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ModuleCommand(ctx, req.(*CommandRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ListGateHookClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ListGateHookClass(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ListGateHookClass", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ListGateHookClass(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_GetGateHookClassInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetGateHookClassInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GetGateHookClassInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GetGateHookClassInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GetGateHookClassInfo(ctx, req.(*GetGateHookClassInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ConfigureGateHook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ConfigureGateHookRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ConfigureGateHook(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ConfigureGateHook", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ConfigureGateHook(ctx, req.(*ConfigureGateHookRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ListGateHooks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EmptyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ListGateHooks(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ListGateHooks", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ListGateHooks(ctx, req.(*EmptyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_GateHookCommand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GateHookCommandRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).GateHookCommand(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/GateHookCommand", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).GateHookCommand(ctx, req.(*GateHookCommandRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BESSControl_ConfigureResumeHook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ConfigureResumeHookRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BESSControlServer).ConfigureResumeHook(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/bess.pb.BESSControl/ConfigureResumeHook", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BESSControlServer).ConfigureResumeHook(ctx, req.(*ConfigureResumeHookRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _BESSControl_serviceDesc = grpc.ServiceDesc{ - ServiceName: "bess.pb.BESSControl", - HandlerType: (*BESSControlServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetVersion", - Handler: _BESSControl_GetVersion_Handler, - }, - { - MethodName: "ResetAll", - Handler: _BESSControl_ResetAll_Handler, - }, - { - MethodName: "KillBess", - Handler: _BESSControl_KillBess_Handler, - }, - { - MethodName: "ImportPlugin", - Handler: _BESSControl_ImportPlugin_Handler, - }, - { - MethodName: "UnloadPlugin", - Handler: _BESSControl_UnloadPlugin_Handler, - }, - { - MethodName: "ListPlugins", - Handler: _BESSControl_ListPlugins_Handler, - }, - { - MethodName: "PauseAll", - Handler: _BESSControl_PauseAll_Handler, - }, - { - MethodName: "PauseWorker", - Handler: _BESSControl_PauseWorker_Handler, - }, - { - MethodName: "ResumeWorker", - Handler: _BESSControl_ResumeWorker_Handler, - }, - { - MethodName: "ResumeAll", - Handler: _BESSControl_ResumeAll_Handler, - }, - { - MethodName: "ResetWorkers", - Handler: _BESSControl_ResetWorkers_Handler, - }, - { - MethodName: "ListWorkers", - Handler: _BESSControl_ListWorkers_Handler, - }, - { - MethodName: "AddWorker", - Handler: _BESSControl_AddWorker_Handler, - }, - { - MethodName: "DestroyWorker", - Handler: _BESSControl_DestroyWorker_Handler, - }, - { - MethodName: "ResetTcs", - Handler: _BESSControl_ResetTcs_Handler, - }, - { - MethodName: "ListTcs", - Handler: _BESSControl_ListTcs_Handler, - }, - { - MethodName: "CheckSchedulingConstraints", - Handler: _BESSControl_CheckSchedulingConstraints_Handler, - }, - { - MethodName: "AddTc", - Handler: _BESSControl_AddTc_Handler, - }, - { - MethodName: "UpdateTcParams", - Handler: _BESSControl_UpdateTcParams_Handler, - }, - { - MethodName: "UpdateTcParent", - Handler: _BESSControl_UpdateTcParent_Handler, - }, - { - MethodName: "GetTcStats", - Handler: _BESSControl_GetTcStats_Handler, - }, - { - MethodName: "ListDrivers", - Handler: _BESSControl_ListDrivers_Handler, - }, - { - MethodName: "GetDriverInfo", - Handler: _BESSControl_GetDriverInfo_Handler, - }, - { - MethodName: "ResetPorts", - Handler: _BESSControl_ResetPorts_Handler, - }, - { - MethodName: "ListPorts", - Handler: _BESSControl_ListPorts_Handler, - }, - { - MethodName: "CreatePort", - Handler: _BESSControl_CreatePort_Handler, - }, - { - MethodName: "DestroyPort", - Handler: _BESSControl_DestroyPort_Handler, - }, - { - MethodName: "SetPortConf", - Handler: _BESSControl_SetPortConf_Handler, - }, - { - MethodName: "GetPortConf", - Handler: _BESSControl_GetPortConf_Handler, - }, - { - MethodName: "GetPortStats", - Handler: _BESSControl_GetPortStats_Handler, - }, - { - MethodName: "GetLinkStatus", - Handler: _BESSControl_GetLinkStatus_Handler, - }, - { - MethodName: "ListMclass", - Handler: _BESSControl_ListMclass_Handler, - }, - { - MethodName: "GetMclassInfo", - Handler: _BESSControl_GetMclassInfo_Handler, - }, - { - MethodName: "ResetModules", - Handler: _BESSControl_ResetModules_Handler, - }, - { - MethodName: "ListModules", - Handler: _BESSControl_ListModules_Handler, - }, - { - MethodName: "CreateModule", - Handler: _BESSControl_CreateModule_Handler, - }, - { - MethodName: "DestroyModule", - Handler: _BESSControl_DestroyModule_Handler, - }, - { - MethodName: "GetModuleInfo", - Handler: _BESSControl_GetModuleInfo_Handler, - }, - { - MethodName: "ConnectModules", - Handler: _BESSControl_ConnectModules_Handler, - }, - { - MethodName: "DisconnectModules", - Handler: _BESSControl_DisconnectModules_Handler, - }, - { - MethodName: "DumpMempool", - Handler: _BESSControl_DumpMempool_Handler, - }, - { - MethodName: "ModuleCommand", - Handler: _BESSControl_ModuleCommand_Handler, - }, - { - MethodName: "ListGateHookClass", - Handler: _BESSControl_ListGateHookClass_Handler, - }, - { - MethodName: "GetGateHookClassInfo", - Handler: _BESSControl_GetGateHookClassInfo_Handler, - }, - { - MethodName: "ConfigureGateHook", - Handler: _BESSControl_ConfigureGateHook_Handler, - }, - { - MethodName: "ListGateHooks", - Handler: _BESSControl_ListGateHooks_Handler, - }, - { - MethodName: "GateHookCommand", - Handler: _BESSControl_GateHookCommand_Handler, - }, - { - MethodName: "ConfigureResumeHook", - Handler: _BESSControl_ConfigureResumeHook_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "service.proto", -} diff --git a/pfcpiface/bess_pb/service_grpc.pb.go b/pfcpiface/bess_pb/service_grpc.pb.go new file mode 100644 index 000000000..a41913a45 --- /dev/null +++ b/pfcpiface/bess_pb/service_grpc.pb.go @@ -0,0 +1,2236 @@ +// Copyright (c) 2016-2017, Nefeli Networks, Inc. +// All rights reserved. +// +// SPDX-License-Identifier: BSD-3-Clause +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * Neither the names of the copyright holders nor the names of their +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc v3.21.12 +// source: service.proto + +package bess_pb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + BESSControl_GetVersion_FullMethodName = "/bess.pb.BESSControl/GetVersion" + BESSControl_ResetAll_FullMethodName = "/bess.pb.BESSControl/ResetAll" + BESSControl_KillBess_FullMethodName = "/bess.pb.BESSControl/KillBess" + BESSControl_ImportPlugin_FullMethodName = "/bess.pb.BESSControl/ImportPlugin" + BESSControl_UnloadPlugin_FullMethodName = "/bess.pb.BESSControl/UnloadPlugin" + BESSControl_ListPlugins_FullMethodName = "/bess.pb.BESSControl/ListPlugins" + BESSControl_PauseAll_FullMethodName = "/bess.pb.BESSControl/PauseAll" + BESSControl_PauseWorker_FullMethodName = "/bess.pb.BESSControl/PauseWorker" + BESSControl_ResumeWorker_FullMethodName = "/bess.pb.BESSControl/ResumeWorker" + BESSControl_ResumeAll_FullMethodName = "/bess.pb.BESSControl/ResumeAll" + BESSControl_ResetWorkers_FullMethodName = "/bess.pb.BESSControl/ResetWorkers" + BESSControl_ListWorkers_FullMethodName = "/bess.pb.BESSControl/ListWorkers" + BESSControl_AddWorker_FullMethodName = "/bess.pb.BESSControl/AddWorker" + BESSControl_DestroyWorker_FullMethodName = "/bess.pb.BESSControl/DestroyWorker" + BESSControl_ResetTcs_FullMethodName = "/bess.pb.BESSControl/ResetTcs" + BESSControl_ListTcs_FullMethodName = "/bess.pb.BESSControl/ListTcs" + BESSControl_CheckSchedulingConstraints_FullMethodName = "/bess.pb.BESSControl/CheckSchedulingConstraints" + BESSControl_AddTc_FullMethodName = "/bess.pb.BESSControl/AddTc" + BESSControl_UpdateTcParams_FullMethodName = "/bess.pb.BESSControl/UpdateTcParams" + BESSControl_UpdateTcParent_FullMethodName = "/bess.pb.BESSControl/UpdateTcParent" + BESSControl_GetTcStats_FullMethodName = "/bess.pb.BESSControl/GetTcStats" + BESSControl_ListDrivers_FullMethodName = "/bess.pb.BESSControl/ListDrivers" + BESSControl_GetDriverInfo_FullMethodName = "/bess.pb.BESSControl/GetDriverInfo" + BESSControl_ResetPorts_FullMethodName = "/bess.pb.BESSControl/ResetPorts" + BESSControl_ListPorts_FullMethodName = "/bess.pb.BESSControl/ListPorts" + BESSControl_CreatePort_FullMethodName = "/bess.pb.BESSControl/CreatePort" + BESSControl_DestroyPort_FullMethodName = "/bess.pb.BESSControl/DestroyPort" + BESSControl_SetPortConf_FullMethodName = "/bess.pb.BESSControl/SetPortConf" + BESSControl_GetPortConf_FullMethodName = "/bess.pb.BESSControl/GetPortConf" + BESSControl_GetPortStats_FullMethodName = "/bess.pb.BESSControl/GetPortStats" + BESSControl_GetLinkStatus_FullMethodName = "/bess.pb.BESSControl/GetLinkStatus" + BESSControl_ListMclass_FullMethodName = "/bess.pb.BESSControl/ListMclass" + BESSControl_GetMclassInfo_FullMethodName = "/bess.pb.BESSControl/GetMclassInfo" + BESSControl_ResetModules_FullMethodName = "/bess.pb.BESSControl/ResetModules" + BESSControl_ListModules_FullMethodName = "/bess.pb.BESSControl/ListModules" + BESSControl_CreateModule_FullMethodName = "/bess.pb.BESSControl/CreateModule" + BESSControl_DestroyModule_FullMethodName = "/bess.pb.BESSControl/DestroyModule" + BESSControl_GetModuleInfo_FullMethodName = "/bess.pb.BESSControl/GetModuleInfo" + BESSControl_ConnectModules_FullMethodName = "/bess.pb.BESSControl/ConnectModules" + BESSControl_DisconnectModules_FullMethodName = "/bess.pb.BESSControl/DisconnectModules" + BESSControl_DumpMempool_FullMethodName = "/bess.pb.BESSControl/DumpMempool" + BESSControl_ModuleCommand_FullMethodName = "/bess.pb.BESSControl/ModuleCommand" + BESSControl_ListGateHookClass_FullMethodName = "/bess.pb.BESSControl/ListGateHookClass" + BESSControl_GetGateHookClassInfo_FullMethodName = "/bess.pb.BESSControl/GetGateHookClassInfo" + BESSControl_ConfigureGateHook_FullMethodName = "/bess.pb.BESSControl/ConfigureGateHook" + BESSControl_ListGateHooks_FullMethodName = "/bess.pb.BESSControl/ListGateHooks" + BESSControl_GateHookCommand_FullMethodName = "/bess.pb.BESSControl/GateHookCommand" + BESSControl_ConfigureResumeHook_FullMethodName = "/bess.pb.BESSControl/ConfigureResumeHook" +) + +// BESSControlClient is the client API for BESSControl service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type BESSControlClient interface { + // / Query version of bessd + GetVersion(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*VersionResponse, error) + // / Reset the current packet processing datapath to the initial state. + // / + // / This command is identical to the following sequence: + // / ResetModules() + // / ResetPorts() + // / ResetTcs() + // / ResetWorkers() + // / As it clears everything, BESS should appear as if the daemon has freshly + // / started (if not, it is a bug; please report). + // / + // / NOTE: There should be no running worker to run this command. + ResetAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Terminate the BESS daemon. + // / + // / BESS daemon shuts off in a graceful manner. Note that this command is + // / "asynchronous": this command doesn't block until the BESS daemon has + // / shut off. + // / + // / NOTE: There should be no running worker to run this command. + // / FIXME: rename (e.g., Terminate) + KillBess(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Import a plugin + // / + // / At the moment plugins can only contain module types, + // / but might also support drivers/hooks/schedulers in the future. + ImportPlugin(ctx context.Context, in *ImportPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Unload a plugin + // / + // / At the moment plugins can only contain module types, + // / but might also support drivers/hooks/schedulers in the future. + UnloadPlugin(ctx context.Context, in *UnloadPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / List imported plugins + // / + // / At the moment plugins can only contain module types, + // / but might also support drivers/hooks/schedulers in the future. + ListPlugins(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPluginsResponse, error) + // / Pause all running workers temporarily + // / + // / Some RPC commands to BESS or individual modules/ports require that + // / threads must be inactive, to avoid race conditions. + // / For such commands, use PauseALl at the beginning and ResumeAll at the end. + // / PauseAll() + // / SomeCommand1() + // / SomeCommand2() + // / ... + // / ResumeAll() + // / Keep the duration as short as possible, to avoid packet drops. + PauseAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Pause the specified worker temporarily + // / + // / Some RPC commands to BESS or individual modules/ports require that + // / threads must be inactive, to avoid race conditions. + // / For such commands, use PauseWorker at the beginning and ResumeWorker at + // / the end. + // / PauseWorker(0) + // / SomeCommand1() + // / SomeCommand2() + // / ... + // / ResumeWorker(0) + // / Keep the duration as short as possible, to avoid packet drops. + PauseWorker(ctx context.Context, in *PauseWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Resume the specified worker + ResumeWorker(ctx context.Context, in *ResumeWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Resume all paused workers + ResumeAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Remove all existing workers + // / + // / NOTE: There should be no running worker to run this command. + ResetWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Enumerate all existing workers + ListWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListWorkersResponse, error) + // / Create a new worker + // / + // / NOTE: There should be no running worker to run this command. + AddWorker(ctx context.Context, in *AddWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Remove a single worker + // / + // / NOTE: There should be no running worker to run this command. + DestroyWorker(ctx context.Context, in *DestroyWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Remove all existing traffic classes + // / + // / NOTE: There should be no running worker to run this command. + ResetTcs(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Enumerate all existing workers + ListTcs(ctx context.Context, in *ListTcsRequest, opts ...grpc.CallOption) (*ListTcsResponse, error) + // / Check scheduling contraints + CheckSchedulingConstraints(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*CheckSchedulingConstraintsResponse, error) + // / Create a new traffic class + // / + // / NOTE: There should be no running worker to run this command. + AddTc(ctx context.Context, in *AddTcRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Update parameters of an existing traffic class + // / + // / NOTE: There should be no running worker to run this command. + UpdateTcParams(ctx context.Context, in *UpdateTcParamsRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Change parent (and child arguments) of an existing traffic class + // / + // / NOTE: There should be no running worker to run this command. + UpdateTcParent(ctx context.Context, in *UpdateTcParentRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Collect statistics of a traffic class + GetTcStats(ctx context.Context, in *GetTcStatsRequest, opts ...grpc.CallOption) (*GetTcStatsResponse, error) + // / Enumerate all port drivers available + ListDrivers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListDriversResponse, error) + // / Query detailed information of a port driver + GetDriverInfo(ctx context.Context, in *GetDriverInfoRequest, opts ...grpc.CallOption) (*GetDriverInfoResponse, error) + // / Remove all initialized ports + // / + // / Will fail if there are modules that are still using ports. + // / (e.g., PortInc, PortOut, QueueInc, QueueOut) + // / + // / NOTE: There should be no running worker to run this command. + ResetPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Enumerate all initialized ports + ListPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPortsResponse, error) + // / Create a new port from the specified driver + CreatePort(ctx context.Context, in *CreatePortRequest, opts ...grpc.CallOption) (*CreatePortResponse, error) + // / Remove a port + // / + // / The port should not be being used by a port-related module. + // / (e.g., PortInc, PortOut, QueueInc, QueueOut) + DestroyPort(ctx context.Context, in *DestroyPortRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Runtime-updatable configuration + SetPortConf(ctx context.Context, in *SetPortConfRequest, opts ...grpc.CallOption) (*CommandResponse, error) + GetPortConf(ctx context.Context, in *GetPortConfRequest, opts ...grpc.CallOption) (*GetPortConfResponse, error) + // / Collect port statistics + // / + // / At the moment, per-queue stats are not supported. + GetPortStats(ctx context.Context, in *GetPortStatsRequest, opts ...grpc.CallOption) (*GetPortStatsResponse, error) + // / Query link status + GetLinkStatus(ctx context.Context, in *GetLinkStatusRequest, opts ...grpc.CallOption) (*GetLinkStatusResponse, error) + // / Enumerate all module types available + ListMclass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListMclassResponse, error) + // / Query detailed information of a module type + GetMclassInfo(ctx context.Context, in *GetMclassInfoRequest, opts ...grpc.CallOption) (*GetMclassInfoResponse, error) + // / Remove all modules. + // / + // / This RPC will always succeed (unless there is a running worker) + // / + // / NOTE: There should be no running worker to run this command. + ResetModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Enumerate all initialized modules + ListModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListModulesResponse, error) + // / Create a new module instance from the given module type + // / + // / NOTE: There should be no running worker to run this command. + CreateModule(ctx context.Context, in *CreateModuleRequest, opts ...grpc.CallOption) (*CreateModuleResponse, error) + // / Destroy an exsting module + // / + // / If the module is connected to other modules' input/output gate, they are + // / disconnected first. All tasks created by the module will also be destoyed. + // / + // / NOTE: There should be no running worker to run this command. + DestroyModule(ctx context.Context, in *DestroyModuleRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Fetch detailed information of an module instance + GetModuleInfo(ctx context.Context, in *GetModuleInfoRequest, opts ...grpc.CallOption) (*GetModuleInfoResponse, error) + // / Connect two modules. + // / + // / Connect between m1's ogate and n2's igate (i.e., ackets sent to m1's ogate + // / will be fed to m2's igate). The oate can be connected to only one igate, + // / while the igate can be connected to multiple output gates. + // / + // / NOTE: There should be no running worker to run this command. + ConnectModules(ctx context.Context, in *ConnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Disconnect two modules. + // / + // / It removes a connection between two modules (you specify the previous one + // / and its output gate). All packets coming out from the ogate will be + // / dropped. Once disconnected, the ogate can be connected + // / to any input gate. + // / + // / NOTE: There should be no running worker to run this command. + DisconnectModules(ctx context.Context, in *DisconnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error) + // / Dump various stats about BESS's packet pools + DumpMempool(ctx context.Context, in *DumpMempoolRequest, opts ...grpc.CallOption) (*DumpMempoolResponse, error) + // / Send a command to the specified module instance. + // / + // / Each module type defines a list of modyle-specific commands, which + // / allow external programs to communicate with the module at runtime. + // / See module_msg.proto for details. + // / + // / NOTE: Some commands cannot be used if there are running workers. + // / For those commands you must pause all workers first. + ModuleCommand(ctx context.Context, in *CommandRequest, opts ...grpc.CallOption) (*CommandResponse, error) + // / Enumerate all gatehook types available + ListGateHookClass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHookClassResponse, error) + // / Query detailed information of a gatehook type + GetGateHookClassInfo(ctx context.Context, in *GetGateHookClassInfoRequest, opts ...grpc.CallOption) (*GetGateHookClassInfoResponse, error) + // / Enable/Disable a gate hook. + ConfigureGateHook(ctx context.Context, in *ConfigureGateHookRequest, opts ...grpc.CallOption) (*ConfigureGateHookResponse, error) + // / Enumerate all gatehook installed + ListGateHooks(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHooksResponse, error) + // / Send command to gate hook instance. + GateHookCommand(ctx context.Context, in *GateHookCommandRequest, opts ...grpc.CallOption) (*CommandResponse, error) + // / Enable/Disable a resume hook. + ConfigureResumeHook(ctx context.Context, in *ConfigureResumeHookRequest, opts ...grpc.CallOption) (*CommandResponse, error) +} + +type bESSControlClient struct { + cc grpc.ClientConnInterface +} + +func NewBESSControlClient(cc grpc.ClientConnInterface) BESSControlClient { + return &bESSControlClient{cc} +} + +func (c *bESSControlClient) GetVersion(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*VersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(VersionResponse) + err := c.cc.Invoke(ctx, BESSControl_GetVersion_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ResetAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_ResetAll_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) KillBess(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_KillBess_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ImportPlugin(ctx context.Context, in *ImportPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_ImportPlugin_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) UnloadPlugin(ctx context.Context, in *UnloadPluginRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_UnloadPlugin_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ListPlugins(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPluginsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListPluginsResponse) + err := c.cc.Invoke(ctx, BESSControl_ListPlugins_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) PauseAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_PauseAll_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) PauseWorker(ctx context.Context, in *PauseWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_PauseWorker_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ResumeWorker(ctx context.Context, in *ResumeWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_ResumeWorker_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ResumeAll(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_ResumeAll_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ResetWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_ResetWorkers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ListWorkers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListWorkersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListWorkersResponse) + err := c.cc.Invoke(ctx, BESSControl_ListWorkers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) AddWorker(ctx context.Context, in *AddWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_AddWorker_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) DestroyWorker(ctx context.Context, in *DestroyWorkerRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_DestroyWorker_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ResetTcs(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_ResetTcs_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ListTcs(ctx context.Context, in *ListTcsRequest, opts ...grpc.CallOption) (*ListTcsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListTcsResponse) + err := c.cc.Invoke(ctx, BESSControl_ListTcs_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) CheckSchedulingConstraints(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*CheckSchedulingConstraintsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CheckSchedulingConstraintsResponse) + err := c.cc.Invoke(ctx, BESSControl_CheckSchedulingConstraints_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) AddTc(ctx context.Context, in *AddTcRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_AddTc_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) UpdateTcParams(ctx context.Context, in *UpdateTcParamsRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_UpdateTcParams_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) UpdateTcParent(ctx context.Context, in *UpdateTcParentRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_UpdateTcParent_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) GetTcStats(ctx context.Context, in *GetTcStatsRequest, opts ...grpc.CallOption) (*GetTcStatsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetTcStatsResponse) + err := c.cc.Invoke(ctx, BESSControl_GetTcStats_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ListDrivers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListDriversResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListDriversResponse) + err := c.cc.Invoke(ctx, BESSControl_ListDrivers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) GetDriverInfo(ctx context.Context, in *GetDriverInfoRequest, opts ...grpc.CallOption) (*GetDriverInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetDriverInfoResponse) + err := c.cc.Invoke(ctx, BESSControl_GetDriverInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ResetPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_ResetPorts_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ListPorts(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListPortsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListPortsResponse) + err := c.cc.Invoke(ctx, BESSControl_ListPorts_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) CreatePort(ctx context.Context, in *CreatePortRequest, opts ...grpc.CallOption) (*CreatePortResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CreatePortResponse) + err := c.cc.Invoke(ctx, BESSControl_CreatePort_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) DestroyPort(ctx context.Context, in *DestroyPortRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_DestroyPort_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) SetPortConf(ctx context.Context, in *SetPortConfRequest, opts ...grpc.CallOption) (*CommandResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CommandResponse) + err := c.cc.Invoke(ctx, BESSControl_SetPortConf_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) GetPortConf(ctx context.Context, in *GetPortConfRequest, opts ...grpc.CallOption) (*GetPortConfResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetPortConfResponse) + err := c.cc.Invoke(ctx, BESSControl_GetPortConf_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) GetPortStats(ctx context.Context, in *GetPortStatsRequest, opts ...grpc.CallOption) (*GetPortStatsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetPortStatsResponse) + err := c.cc.Invoke(ctx, BESSControl_GetPortStats_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) GetLinkStatus(ctx context.Context, in *GetLinkStatusRequest, opts ...grpc.CallOption) (*GetLinkStatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetLinkStatusResponse) + err := c.cc.Invoke(ctx, BESSControl_GetLinkStatus_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ListMclass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListMclassResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListMclassResponse) + err := c.cc.Invoke(ctx, BESSControl_ListMclass_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) GetMclassInfo(ctx context.Context, in *GetMclassInfoRequest, opts ...grpc.CallOption) (*GetMclassInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetMclassInfoResponse) + err := c.cc.Invoke(ctx, BESSControl_GetMclassInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ResetModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_ResetModules_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ListModules(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListModulesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListModulesResponse) + err := c.cc.Invoke(ctx, BESSControl_ListModules_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) CreateModule(ctx context.Context, in *CreateModuleRequest, opts ...grpc.CallOption) (*CreateModuleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CreateModuleResponse) + err := c.cc.Invoke(ctx, BESSControl_CreateModule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) DestroyModule(ctx context.Context, in *DestroyModuleRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_DestroyModule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) GetModuleInfo(ctx context.Context, in *GetModuleInfoRequest, opts ...grpc.CallOption) (*GetModuleInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetModuleInfoResponse) + err := c.cc.Invoke(ctx, BESSControl_GetModuleInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ConnectModules(ctx context.Context, in *ConnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_ConnectModules_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) DisconnectModules(ctx context.Context, in *DisconnectModulesRequest, opts ...grpc.CallOption) (*EmptyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EmptyResponse) + err := c.cc.Invoke(ctx, BESSControl_DisconnectModules_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) DumpMempool(ctx context.Context, in *DumpMempoolRequest, opts ...grpc.CallOption) (*DumpMempoolResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DumpMempoolResponse) + err := c.cc.Invoke(ctx, BESSControl_DumpMempool_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ModuleCommand(ctx context.Context, in *CommandRequest, opts ...grpc.CallOption) (*CommandResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CommandResponse) + err := c.cc.Invoke(ctx, BESSControl_ModuleCommand_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ListGateHookClass(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHookClassResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListGateHookClassResponse) + err := c.cc.Invoke(ctx, BESSControl_ListGateHookClass_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) GetGateHookClassInfo(ctx context.Context, in *GetGateHookClassInfoRequest, opts ...grpc.CallOption) (*GetGateHookClassInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetGateHookClassInfoResponse) + err := c.cc.Invoke(ctx, BESSControl_GetGateHookClassInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ConfigureGateHook(ctx context.Context, in *ConfigureGateHookRequest, opts ...grpc.CallOption) (*ConfigureGateHookResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ConfigureGateHookResponse) + err := c.cc.Invoke(ctx, BESSControl_ConfigureGateHook_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ListGateHooks(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*ListGateHooksResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListGateHooksResponse) + err := c.cc.Invoke(ctx, BESSControl_ListGateHooks_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) GateHookCommand(ctx context.Context, in *GateHookCommandRequest, opts ...grpc.CallOption) (*CommandResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CommandResponse) + err := c.cc.Invoke(ctx, BESSControl_GateHookCommand_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *bESSControlClient) ConfigureResumeHook(ctx context.Context, in *ConfigureResumeHookRequest, opts ...grpc.CallOption) (*CommandResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CommandResponse) + err := c.cc.Invoke(ctx, BESSControl_ConfigureResumeHook_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// BESSControlServer is the server API for BESSControl service. +// All implementations must embed UnimplementedBESSControlServer +// for forward compatibility. +type BESSControlServer interface { + // / Query version of bessd + GetVersion(context.Context, *EmptyRequest) (*VersionResponse, error) + // / Reset the current packet processing datapath to the initial state. + // / + // / This command is identical to the following sequence: + // / ResetModules() + // / ResetPorts() + // / ResetTcs() + // / ResetWorkers() + // / As it clears everything, BESS should appear as if the daemon has freshly + // / started (if not, it is a bug; please report). + // / + // / NOTE: There should be no running worker to run this command. + ResetAll(context.Context, *EmptyRequest) (*EmptyResponse, error) + // / Terminate the BESS daemon. + // / + // / BESS daemon shuts off in a graceful manner. Note that this command is + // / "asynchronous": this command doesn't block until the BESS daemon has + // / shut off. + // / + // / NOTE: There should be no running worker to run this command. + // / FIXME: rename (e.g., Terminate) + KillBess(context.Context, *EmptyRequest) (*EmptyResponse, error) + // / Import a plugin + // / + // / At the moment plugins can only contain module types, + // / but might also support drivers/hooks/schedulers in the future. + ImportPlugin(context.Context, *ImportPluginRequest) (*EmptyResponse, error) + // / Unload a plugin + // / + // / At the moment plugins can only contain module types, + // / but might also support drivers/hooks/schedulers in the future. + UnloadPlugin(context.Context, *UnloadPluginRequest) (*EmptyResponse, error) + // / List imported plugins + // / + // / At the moment plugins can only contain module types, + // / but might also support drivers/hooks/schedulers in the future. + ListPlugins(context.Context, *EmptyRequest) (*ListPluginsResponse, error) + // / Pause all running workers temporarily + // / + // / Some RPC commands to BESS or individual modules/ports require that + // / threads must be inactive, to avoid race conditions. + // / For such commands, use PauseALl at the beginning and ResumeAll at the end. + // / PauseAll() + // / SomeCommand1() + // / SomeCommand2() + // / ... + // / ResumeAll() + // / Keep the duration as short as possible, to avoid packet drops. + PauseAll(context.Context, *EmptyRequest) (*EmptyResponse, error) + // / Pause the specified worker temporarily + // / + // / Some RPC commands to BESS or individual modules/ports require that + // / threads must be inactive, to avoid race conditions. + // / For such commands, use PauseWorker at the beginning and ResumeWorker at + // / the end. + // / PauseWorker(0) + // / SomeCommand1() + // / SomeCommand2() + // / ... + // / ResumeWorker(0) + // / Keep the duration as short as possible, to avoid packet drops. + PauseWorker(context.Context, *PauseWorkerRequest) (*EmptyResponse, error) + // / Resume the specified worker + ResumeWorker(context.Context, *ResumeWorkerRequest) (*EmptyResponse, error) + // / Resume all paused workers + ResumeAll(context.Context, *EmptyRequest) (*EmptyResponse, error) + // / Remove all existing workers + // / + // / NOTE: There should be no running worker to run this command. + ResetWorkers(context.Context, *EmptyRequest) (*EmptyResponse, error) + // / Enumerate all existing workers + ListWorkers(context.Context, *EmptyRequest) (*ListWorkersResponse, error) + // / Create a new worker + // / + // / NOTE: There should be no running worker to run this command. + AddWorker(context.Context, *AddWorkerRequest) (*EmptyResponse, error) + // / Remove a single worker + // / + // / NOTE: There should be no running worker to run this command. + DestroyWorker(context.Context, *DestroyWorkerRequest) (*EmptyResponse, error) + // / Remove all existing traffic classes + // / + // / NOTE: There should be no running worker to run this command. + ResetTcs(context.Context, *EmptyRequest) (*EmptyResponse, error) + // / Enumerate all existing workers + ListTcs(context.Context, *ListTcsRequest) (*ListTcsResponse, error) + // / Check scheduling contraints + CheckSchedulingConstraints(context.Context, *EmptyRequest) (*CheckSchedulingConstraintsResponse, error) + // / Create a new traffic class + // / + // / NOTE: There should be no running worker to run this command. + AddTc(context.Context, *AddTcRequest) (*EmptyResponse, error) + // / Update parameters of an existing traffic class + // / + // / NOTE: There should be no running worker to run this command. + UpdateTcParams(context.Context, *UpdateTcParamsRequest) (*EmptyResponse, error) + // / Change parent (and child arguments) of an existing traffic class + // / + // / NOTE: There should be no running worker to run this command. + UpdateTcParent(context.Context, *UpdateTcParentRequest) (*EmptyResponse, error) + // / Collect statistics of a traffic class + GetTcStats(context.Context, *GetTcStatsRequest) (*GetTcStatsResponse, error) + // / Enumerate all port drivers available + ListDrivers(context.Context, *EmptyRequest) (*ListDriversResponse, error) + // / Query detailed information of a port driver + GetDriverInfo(context.Context, *GetDriverInfoRequest) (*GetDriverInfoResponse, error) + // / Remove all initialized ports + // / + // / Will fail if there are modules that are still using ports. + // / (e.g., PortInc, PortOut, QueueInc, QueueOut) + // / + // / NOTE: There should be no running worker to run this command. + ResetPorts(context.Context, *EmptyRequest) (*EmptyResponse, error) + // / Enumerate all initialized ports + ListPorts(context.Context, *EmptyRequest) (*ListPortsResponse, error) + // / Create a new port from the specified driver + CreatePort(context.Context, *CreatePortRequest) (*CreatePortResponse, error) + // / Remove a port + // / + // / The port should not be being used by a port-related module. + // / (e.g., PortInc, PortOut, QueueInc, QueueOut) + DestroyPort(context.Context, *DestroyPortRequest) (*EmptyResponse, error) + // / Runtime-updatable configuration + SetPortConf(context.Context, *SetPortConfRequest) (*CommandResponse, error) + GetPortConf(context.Context, *GetPortConfRequest) (*GetPortConfResponse, error) + // / Collect port statistics + // / + // / At the moment, per-queue stats are not supported. + GetPortStats(context.Context, *GetPortStatsRequest) (*GetPortStatsResponse, error) + // / Query link status + GetLinkStatus(context.Context, *GetLinkStatusRequest) (*GetLinkStatusResponse, error) + // / Enumerate all module types available + ListMclass(context.Context, *EmptyRequest) (*ListMclassResponse, error) + // / Query detailed information of a module type + GetMclassInfo(context.Context, *GetMclassInfoRequest) (*GetMclassInfoResponse, error) + // / Remove all modules. + // / + // / This RPC will always succeed (unless there is a running worker) + // / + // / NOTE: There should be no running worker to run this command. + ResetModules(context.Context, *EmptyRequest) (*EmptyResponse, error) + // / Enumerate all initialized modules + ListModules(context.Context, *EmptyRequest) (*ListModulesResponse, error) + // / Create a new module instance from the given module type + // / + // / NOTE: There should be no running worker to run this command. + CreateModule(context.Context, *CreateModuleRequest) (*CreateModuleResponse, error) + // / Destroy an exsting module + // / + // / If the module is connected to other modules' input/output gate, they are + // / disconnected first. All tasks created by the module will also be destoyed. + // / + // / NOTE: There should be no running worker to run this command. + DestroyModule(context.Context, *DestroyModuleRequest) (*EmptyResponse, error) + // / Fetch detailed information of an module instance + GetModuleInfo(context.Context, *GetModuleInfoRequest) (*GetModuleInfoResponse, error) + // / Connect two modules. + // / + // / Connect between m1's ogate and n2's igate (i.e., ackets sent to m1's ogate + // / will be fed to m2's igate). The oate can be connected to only one igate, + // / while the igate can be connected to multiple output gates. + // / + // / NOTE: There should be no running worker to run this command. + ConnectModules(context.Context, *ConnectModulesRequest) (*EmptyResponse, error) + // / Disconnect two modules. + // / + // / It removes a connection between two modules (you specify the previous one + // / and its output gate). All packets coming out from the ogate will be + // / dropped. Once disconnected, the ogate can be connected + // / to any input gate. + // / + // / NOTE: There should be no running worker to run this command. + DisconnectModules(context.Context, *DisconnectModulesRequest) (*EmptyResponse, error) + // / Dump various stats about BESS's packet pools + DumpMempool(context.Context, *DumpMempoolRequest) (*DumpMempoolResponse, error) + // / Send a command to the specified module instance. + // / + // / Each module type defines a list of modyle-specific commands, which + // / allow external programs to communicate with the module at runtime. + // / See module_msg.proto for details. + // / + // / NOTE: Some commands cannot be used if there are running workers. + // / For those commands you must pause all workers first. + ModuleCommand(context.Context, *CommandRequest) (*CommandResponse, error) + // / Enumerate all gatehook types available + ListGateHookClass(context.Context, *EmptyRequest) (*ListGateHookClassResponse, error) + // / Query detailed information of a gatehook type + GetGateHookClassInfo(context.Context, *GetGateHookClassInfoRequest) (*GetGateHookClassInfoResponse, error) + // / Enable/Disable a gate hook. + ConfigureGateHook(context.Context, *ConfigureGateHookRequest) (*ConfigureGateHookResponse, error) + // / Enumerate all gatehook installed + ListGateHooks(context.Context, *EmptyRequest) (*ListGateHooksResponse, error) + // / Send command to gate hook instance. + GateHookCommand(context.Context, *GateHookCommandRequest) (*CommandResponse, error) + // / Enable/Disable a resume hook. + ConfigureResumeHook(context.Context, *ConfigureResumeHookRequest) (*CommandResponse, error) + mustEmbedUnimplementedBESSControlServer() +} + +// UnimplementedBESSControlServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedBESSControlServer struct{} + +func (UnimplementedBESSControlServer) GetVersion(context.Context, *EmptyRequest) (*VersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") +} +func (UnimplementedBESSControlServer) ResetAll(context.Context, *EmptyRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetAll not implemented") +} +func (UnimplementedBESSControlServer) KillBess(context.Context, *EmptyRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method KillBess not implemented") +} +func (UnimplementedBESSControlServer) ImportPlugin(context.Context, *ImportPluginRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportPlugin not implemented") +} +func (UnimplementedBESSControlServer) UnloadPlugin(context.Context, *UnloadPluginRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnloadPlugin not implemented") +} +func (UnimplementedBESSControlServer) ListPlugins(context.Context, *EmptyRequest) (*ListPluginsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPlugins not implemented") +} +func (UnimplementedBESSControlServer) PauseAll(context.Context, *EmptyRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PauseAll not implemented") +} +func (UnimplementedBESSControlServer) PauseWorker(context.Context, *PauseWorkerRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PauseWorker not implemented") +} +func (UnimplementedBESSControlServer) ResumeWorker(context.Context, *ResumeWorkerRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResumeWorker not implemented") +} +func (UnimplementedBESSControlServer) ResumeAll(context.Context, *EmptyRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResumeAll not implemented") +} +func (UnimplementedBESSControlServer) ResetWorkers(context.Context, *EmptyRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetWorkers not implemented") +} +func (UnimplementedBESSControlServer) ListWorkers(context.Context, *EmptyRequest) (*ListWorkersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListWorkers not implemented") +} +func (UnimplementedBESSControlServer) AddWorker(context.Context, *AddWorkerRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddWorker not implemented") +} +func (UnimplementedBESSControlServer) DestroyWorker(context.Context, *DestroyWorkerRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DestroyWorker not implemented") +} +func (UnimplementedBESSControlServer) ResetTcs(context.Context, *EmptyRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetTcs not implemented") +} +func (UnimplementedBESSControlServer) ListTcs(context.Context, *ListTcsRequest) (*ListTcsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTcs not implemented") +} +func (UnimplementedBESSControlServer) CheckSchedulingConstraints(context.Context, *EmptyRequest) (*CheckSchedulingConstraintsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckSchedulingConstraints not implemented") +} +func (UnimplementedBESSControlServer) AddTc(context.Context, *AddTcRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddTc not implemented") +} +func (UnimplementedBESSControlServer) UpdateTcParams(context.Context, *UpdateTcParamsRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTcParams not implemented") +} +func (UnimplementedBESSControlServer) UpdateTcParent(context.Context, *UpdateTcParentRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTcParent not implemented") +} +func (UnimplementedBESSControlServer) GetTcStats(context.Context, *GetTcStatsRequest) (*GetTcStatsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTcStats not implemented") +} +func (UnimplementedBESSControlServer) ListDrivers(context.Context, *EmptyRequest) (*ListDriversResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDrivers not implemented") +} +func (UnimplementedBESSControlServer) GetDriverInfo(context.Context, *GetDriverInfoRequest) (*GetDriverInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDriverInfo not implemented") +} +func (UnimplementedBESSControlServer) ResetPorts(context.Context, *EmptyRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetPorts not implemented") +} +func (UnimplementedBESSControlServer) ListPorts(context.Context, *EmptyRequest) (*ListPortsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPorts not implemented") +} +func (UnimplementedBESSControlServer) CreatePort(context.Context, *CreatePortRequest) (*CreatePortResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePort not implemented") +} +func (UnimplementedBESSControlServer) DestroyPort(context.Context, *DestroyPortRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DestroyPort not implemented") +} +func (UnimplementedBESSControlServer) SetPortConf(context.Context, *SetPortConfRequest) (*CommandResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetPortConf not implemented") +} +func (UnimplementedBESSControlServer) GetPortConf(context.Context, *GetPortConfRequest) (*GetPortConfResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPortConf not implemented") +} +func (UnimplementedBESSControlServer) GetPortStats(context.Context, *GetPortStatsRequest) (*GetPortStatsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPortStats not implemented") +} +func (UnimplementedBESSControlServer) GetLinkStatus(context.Context, *GetLinkStatusRequest) (*GetLinkStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetLinkStatus not implemented") +} +func (UnimplementedBESSControlServer) ListMclass(context.Context, *EmptyRequest) (*ListMclassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListMclass not implemented") +} +func (UnimplementedBESSControlServer) GetMclassInfo(context.Context, *GetMclassInfoRequest) (*GetMclassInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMclassInfo not implemented") +} +func (UnimplementedBESSControlServer) ResetModules(context.Context, *EmptyRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResetModules not implemented") +} +func (UnimplementedBESSControlServer) ListModules(context.Context, *EmptyRequest) (*ListModulesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListModules not implemented") +} +func (UnimplementedBESSControlServer) CreateModule(context.Context, *CreateModuleRequest) (*CreateModuleResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateModule not implemented") +} +func (UnimplementedBESSControlServer) DestroyModule(context.Context, *DestroyModuleRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DestroyModule not implemented") +} +func (UnimplementedBESSControlServer) GetModuleInfo(context.Context, *GetModuleInfoRequest) (*GetModuleInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModuleInfo not implemented") +} +func (UnimplementedBESSControlServer) ConnectModules(context.Context, *ConnectModulesRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConnectModules not implemented") +} +func (UnimplementedBESSControlServer) DisconnectModules(context.Context, *DisconnectModulesRequest) (*EmptyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisconnectModules not implemented") +} +func (UnimplementedBESSControlServer) DumpMempool(context.Context, *DumpMempoolRequest) (*DumpMempoolResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DumpMempool not implemented") +} +func (UnimplementedBESSControlServer) ModuleCommand(context.Context, *CommandRequest) (*CommandResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ModuleCommand not implemented") +} +func (UnimplementedBESSControlServer) ListGateHookClass(context.Context, *EmptyRequest) (*ListGateHookClassResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListGateHookClass not implemented") +} +func (UnimplementedBESSControlServer) GetGateHookClassInfo(context.Context, *GetGateHookClassInfoRequest) (*GetGateHookClassInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetGateHookClassInfo not implemented") +} +func (UnimplementedBESSControlServer) ConfigureGateHook(context.Context, *ConfigureGateHookRequest) (*ConfigureGateHookResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConfigureGateHook not implemented") +} +func (UnimplementedBESSControlServer) ListGateHooks(context.Context, *EmptyRequest) (*ListGateHooksResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListGateHooks not implemented") +} +func (UnimplementedBESSControlServer) GateHookCommand(context.Context, *GateHookCommandRequest) (*CommandResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GateHookCommand not implemented") +} +func (UnimplementedBESSControlServer) ConfigureResumeHook(context.Context, *ConfigureResumeHookRequest) (*CommandResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConfigureResumeHook not implemented") +} +func (UnimplementedBESSControlServer) mustEmbedUnimplementedBESSControlServer() {} +func (UnimplementedBESSControlServer) testEmbeddedByValue() {} + +// UnsafeBESSControlServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to BESSControlServer will +// result in compilation errors. +type UnsafeBESSControlServer interface { + mustEmbedUnimplementedBESSControlServer() +} + +func RegisterBESSControlServer(s grpc.ServiceRegistrar, srv BESSControlServer) { + // If the following call pancis, it indicates UnimplementedBESSControlServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&BESSControl_ServiceDesc, srv) +} + +func _BESSControl_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GetVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GetVersion(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ResetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ResetAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ResetAll_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ResetAll(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_KillBess_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).KillBess(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_KillBess_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).KillBess(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ImportPlugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportPluginRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ImportPlugin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ImportPlugin_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ImportPlugin(ctx, req.(*ImportPluginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_UnloadPlugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnloadPluginRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).UnloadPlugin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_UnloadPlugin_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).UnloadPlugin(ctx, req.(*UnloadPluginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ListPlugins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ListPlugins(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ListPlugins_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ListPlugins(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_PauseAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).PauseAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_PauseAll_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).PauseAll(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_PauseWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PauseWorkerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).PauseWorker(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_PauseWorker_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).PauseWorker(ctx, req.(*PauseWorkerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ResumeWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResumeWorkerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ResumeWorker(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ResumeWorker_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ResumeWorker(ctx, req.(*ResumeWorkerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ResumeAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ResumeAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ResumeAll_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ResumeAll(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ResetWorkers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ResetWorkers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ResetWorkers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ResetWorkers(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ListWorkers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ListWorkers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ListWorkers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ListWorkers(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_AddWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddWorkerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).AddWorker(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_AddWorker_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).AddWorker(ctx, req.(*AddWorkerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_DestroyWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DestroyWorkerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).DestroyWorker(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_DestroyWorker_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).DestroyWorker(ctx, req.(*DestroyWorkerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ResetTcs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ResetTcs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ResetTcs_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ResetTcs(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ListTcs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTcsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ListTcs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ListTcs_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ListTcs(ctx, req.(*ListTcsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_CheckSchedulingConstraints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).CheckSchedulingConstraints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_CheckSchedulingConstraints_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).CheckSchedulingConstraints(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_AddTc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddTcRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).AddTc(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_AddTc_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).AddTc(ctx, req.(*AddTcRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_UpdateTcParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTcParamsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).UpdateTcParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_UpdateTcParams_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).UpdateTcParams(ctx, req.(*UpdateTcParamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_UpdateTcParent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTcParentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).UpdateTcParent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_UpdateTcParent_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).UpdateTcParent(ctx, req.(*UpdateTcParentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_GetTcStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTcStatsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GetTcStats(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GetTcStats_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GetTcStats(ctx, req.(*GetTcStatsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ListDrivers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ListDrivers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ListDrivers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ListDrivers(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_GetDriverInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDriverInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GetDriverInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GetDriverInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GetDriverInfo(ctx, req.(*GetDriverInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ResetPorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ResetPorts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ResetPorts_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ResetPorts(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ListPorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ListPorts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ListPorts_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ListPorts(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_CreatePort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePortRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).CreatePort(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_CreatePort_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).CreatePort(ctx, req.(*CreatePortRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_DestroyPort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DestroyPortRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).DestroyPort(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_DestroyPort_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).DestroyPort(ctx, req.(*DestroyPortRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_SetPortConf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetPortConfRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).SetPortConf(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_SetPortConf_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).SetPortConf(ctx, req.(*SetPortConfRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_GetPortConf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPortConfRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GetPortConf(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GetPortConf_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GetPortConf(ctx, req.(*GetPortConfRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_GetPortStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPortStatsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GetPortStats(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GetPortStats_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GetPortStats(ctx, req.(*GetPortStatsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_GetLinkStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetLinkStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GetLinkStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GetLinkStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GetLinkStatus(ctx, req.(*GetLinkStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ListMclass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ListMclass(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ListMclass_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ListMclass(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_GetMclassInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMclassInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GetMclassInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GetMclassInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GetMclassInfo(ctx, req.(*GetMclassInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ResetModules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ResetModules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ResetModules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ResetModules(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ListModules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ListModules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ListModules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ListModules(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_CreateModule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateModuleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).CreateModule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_CreateModule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).CreateModule(ctx, req.(*CreateModuleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_DestroyModule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DestroyModuleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).DestroyModule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_DestroyModule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).DestroyModule(ctx, req.(*DestroyModuleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_GetModuleInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModuleInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GetModuleInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GetModuleInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GetModuleInfo(ctx, req.(*GetModuleInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ConnectModules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConnectModulesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ConnectModules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ConnectModules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ConnectModules(ctx, req.(*ConnectModulesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_DisconnectModules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisconnectModulesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).DisconnectModules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_DisconnectModules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).DisconnectModules(ctx, req.(*DisconnectModulesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_DumpMempool_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DumpMempoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).DumpMempool(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_DumpMempool_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).DumpMempool(ctx, req.(*DumpMempoolRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ModuleCommand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CommandRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ModuleCommand(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ModuleCommand_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ModuleCommand(ctx, req.(*CommandRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ListGateHookClass_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ListGateHookClass(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ListGateHookClass_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ListGateHookClass(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_GetGateHookClassInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetGateHookClassInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GetGateHookClassInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GetGateHookClassInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GetGateHookClassInfo(ctx, req.(*GetGateHookClassInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ConfigureGateHook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigureGateHookRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ConfigureGateHook(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ConfigureGateHook_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ConfigureGateHook(ctx, req.(*ConfigureGateHookRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ListGateHooks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ListGateHooks(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ListGateHooks_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ListGateHooks(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_GateHookCommand_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GateHookCommandRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).GateHookCommand(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_GateHookCommand_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).GateHookCommand(ctx, req.(*GateHookCommandRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BESSControl_ConfigureResumeHook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigureResumeHookRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BESSControlServer).ConfigureResumeHook(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BESSControl_ConfigureResumeHook_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BESSControlServer).ConfigureResumeHook(ctx, req.(*ConfigureResumeHookRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// BESSControl_ServiceDesc is the grpc.ServiceDesc for BESSControl service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var BESSControl_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "bess.pb.BESSControl", + HandlerType: (*BESSControlServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetVersion", + Handler: _BESSControl_GetVersion_Handler, + }, + { + MethodName: "ResetAll", + Handler: _BESSControl_ResetAll_Handler, + }, + { + MethodName: "KillBess", + Handler: _BESSControl_KillBess_Handler, + }, + { + MethodName: "ImportPlugin", + Handler: _BESSControl_ImportPlugin_Handler, + }, + { + MethodName: "UnloadPlugin", + Handler: _BESSControl_UnloadPlugin_Handler, + }, + { + MethodName: "ListPlugins", + Handler: _BESSControl_ListPlugins_Handler, + }, + { + MethodName: "PauseAll", + Handler: _BESSControl_PauseAll_Handler, + }, + { + MethodName: "PauseWorker", + Handler: _BESSControl_PauseWorker_Handler, + }, + { + MethodName: "ResumeWorker", + Handler: _BESSControl_ResumeWorker_Handler, + }, + { + MethodName: "ResumeAll", + Handler: _BESSControl_ResumeAll_Handler, + }, + { + MethodName: "ResetWorkers", + Handler: _BESSControl_ResetWorkers_Handler, + }, + { + MethodName: "ListWorkers", + Handler: _BESSControl_ListWorkers_Handler, + }, + { + MethodName: "AddWorker", + Handler: _BESSControl_AddWorker_Handler, + }, + { + MethodName: "DestroyWorker", + Handler: _BESSControl_DestroyWorker_Handler, + }, + { + MethodName: "ResetTcs", + Handler: _BESSControl_ResetTcs_Handler, + }, + { + MethodName: "ListTcs", + Handler: _BESSControl_ListTcs_Handler, + }, + { + MethodName: "CheckSchedulingConstraints", + Handler: _BESSControl_CheckSchedulingConstraints_Handler, + }, + { + MethodName: "AddTc", + Handler: _BESSControl_AddTc_Handler, + }, + { + MethodName: "UpdateTcParams", + Handler: _BESSControl_UpdateTcParams_Handler, + }, + { + MethodName: "UpdateTcParent", + Handler: _BESSControl_UpdateTcParent_Handler, + }, + { + MethodName: "GetTcStats", + Handler: _BESSControl_GetTcStats_Handler, + }, + { + MethodName: "ListDrivers", + Handler: _BESSControl_ListDrivers_Handler, + }, + { + MethodName: "GetDriverInfo", + Handler: _BESSControl_GetDriverInfo_Handler, + }, + { + MethodName: "ResetPorts", + Handler: _BESSControl_ResetPorts_Handler, + }, + { + MethodName: "ListPorts", + Handler: _BESSControl_ListPorts_Handler, + }, + { + MethodName: "CreatePort", + Handler: _BESSControl_CreatePort_Handler, + }, + { + MethodName: "DestroyPort", + Handler: _BESSControl_DestroyPort_Handler, + }, + { + MethodName: "SetPortConf", + Handler: _BESSControl_SetPortConf_Handler, + }, + { + MethodName: "GetPortConf", + Handler: _BESSControl_GetPortConf_Handler, + }, + { + MethodName: "GetPortStats", + Handler: _BESSControl_GetPortStats_Handler, + }, + { + MethodName: "GetLinkStatus", + Handler: _BESSControl_GetLinkStatus_Handler, + }, + { + MethodName: "ListMclass", + Handler: _BESSControl_ListMclass_Handler, + }, + { + MethodName: "GetMclassInfo", + Handler: _BESSControl_GetMclassInfo_Handler, + }, + { + MethodName: "ResetModules", + Handler: _BESSControl_ResetModules_Handler, + }, + { + MethodName: "ListModules", + Handler: _BESSControl_ListModules_Handler, + }, + { + MethodName: "CreateModule", + Handler: _BESSControl_CreateModule_Handler, + }, + { + MethodName: "DestroyModule", + Handler: _BESSControl_DestroyModule_Handler, + }, + { + MethodName: "GetModuleInfo", + Handler: _BESSControl_GetModuleInfo_Handler, + }, + { + MethodName: "ConnectModules", + Handler: _BESSControl_ConnectModules_Handler, + }, + { + MethodName: "DisconnectModules", + Handler: _BESSControl_DisconnectModules_Handler, + }, + { + MethodName: "DumpMempool", + Handler: _BESSControl_DumpMempool_Handler, + }, + { + MethodName: "ModuleCommand", + Handler: _BESSControl_ModuleCommand_Handler, + }, + { + MethodName: "ListGateHookClass", + Handler: _BESSControl_ListGateHookClass_Handler, + }, + { + MethodName: "GetGateHookClassInfo", + Handler: _BESSControl_GetGateHookClassInfo_Handler, + }, + { + MethodName: "ConfigureGateHook", + Handler: _BESSControl_ConfigureGateHook_Handler, + }, + { + MethodName: "ListGateHooks", + Handler: _BESSControl_ListGateHooks_Handler, + }, + { + MethodName: "GateHookCommand", + Handler: _BESSControl_GateHookCommand_Handler, + }, + { + MethodName: "ConfigureResumeHook", + Handler: _BESSControl_ConfigureResumeHook_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "service.proto", +} diff --git a/pfcpiface/bess_pb/util_msg.pb.go b/pfcpiface/bess_pb/util_msg.pb.go index 023250463..45491d931 100644 --- a/pfcpiface/bess_pb/util_msg.pb.go +++ b/pfcpiface/bess_pb/util_msg.pb.go @@ -31,8 +31,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.6.1 +// protoc-gen-go v1.36.10 +// protoc v3.21.12 // source: util_msg.proto package bess_pb @@ -42,6 +42,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -51,27 +52,25 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -/// The Field message represents one field in a packet -- either stored in -/// metadata or in the packet body. +// / The Field message represents one field in a packet -- either stored in +// / metadata or in the packet body. type Field struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Position: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Position: + // // *Field_AttrName // *Field_Offset - Position isField_Position `protobuf_oneof:"position"` - NumBytes uint32 `protobuf:"varint,3,opt,name=num_bytes,json=numBytes,proto3" json:"num_bytes,omitempty"` /// The size of the data in bytes + Position isField_Position `protobuf_oneof:"position"` + NumBytes uint32 `protobuf:"varint,3,opt,name=num_bytes,json=numBytes,proto3" json:"num_bytes,omitempty"` /// The size of the data in bytes + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Field) Reset() { *x = Field{} - if protoimpl.UnsafeEnabled { - mi := &file_util_msg_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_util_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Field) String() string { @@ -82,7 +81,7 @@ func (*Field) ProtoMessage() {} func (x *Field) ProtoReflect() protoreflect.Message { mi := &file_util_msg_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -97,23 +96,27 @@ func (*Field) Descriptor() ([]byte, []int) { return file_util_msg_proto_rawDescGZIP(), []int{0} } -func (m *Field) GetPosition() isField_Position { - if m != nil { - return m.Position +func (x *Field) GetPosition() isField_Position { + if x != nil { + return x.Position } return nil } func (x *Field) GetAttrName() string { - if x, ok := x.GetPosition().(*Field_AttrName); ok { - return x.AttrName + if x != nil { + if x, ok := x.Position.(*Field_AttrName); ok { + return x.AttrName + } } return "" } func (x *Field) GetOffset() uint32 { - if x, ok := x.GetPosition().(*Field_Offset); ok { - return x.Offset + if x != nil { + if x, ok := x.Position.(*Field_Offset); ok { + return x.Offset + } } return 0 } @@ -141,26 +144,24 @@ func (*Field_AttrName) isField_Position() {} func (*Field_Offset) isField_Position() {} -/// The FieldData message encodes a value to insert into a packet; the value can -/// be supplied as either an int or a bytestring. +// / The FieldData message encodes a value to insert into a packet; the value can +// / be supplied as either an int or a bytestring. type FieldData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Encoding: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Encoding: + // // *FieldData_ValueBin // *FieldData_ValueInt - Encoding isFieldData_Encoding `protobuf_oneof:"encoding"` + Encoding isFieldData_Encoding `protobuf_oneof:"encoding"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FieldData) Reset() { *x = FieldData{} - if protoimpl.UnsafeEnabled { - mi := &file_util_msg_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_util_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FieldData) String() string { @@ -171,7 +172,7 @@ func (*FieldData) ProtoMessage() {} func (x *FieldData) ProtoReflect() protoreflect.Message { mi := &file_util_msg_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -186,23 +187,27 @@ func (*FieldData) Descriptor() ([]byte, []int) { return file_util_msg_proto_rawDescGZIP(), []int{1} } -func (m *FieldData) GetEncoding() isFieldData_Encoding { - if m != nil { - return m.Encoding +func (x *FieldData) GetEncoding() isFieldData_Encoding { + if x != nil { + return x.Encoding } return nil } func (x *FieldData) GetValueBin() []byte { - if x, ok := x.GetEncoding().(*FieldData_ValueBin); ok { - return x.ValueBin + if x != nil { + if x, ok := x.Encoding.(*FieldData_ValueBin); ok { + return x.ValueBin + } } return nil } func (x *FieldData) GetValueInt() uint64 { - if x, ok := x.GetEncoding().(*FieldData_ValueInt); ok { - return x.ValueInt + if x != nil { + if x, ok := x.Encoding.(*FieldData_ValueInt); ok { + return x.ValueInt + } } return 0 } @@ -225,41 +230,35 @@ func (*FieldData_ValueInt) isFieldData_Encoding() {} var File_util_msg_proto protoreflect.FileDescriptor -var file_util_msg_proto_rawDesc = []byte{ - 0x0a, 0x0e, 0x75, 0x74, 0x69, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x07, 0x62, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x62, 0x22, 0x69, 0x0a, 0x05, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x18, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6e, - 0x75, 0x6d, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x6e, 0x75, 0x6d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x09, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x1d, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x69, 0x6e, - 0x12, 0x1d, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x42, - 0x0a, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x33, 0x5a, 0x31, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x6d, 0x65, 0x63, 0x2d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x75, 0x70, 0x66, 0x2d, 0x65, 0x70, 0x63, 0x2f, 0x70, - 0x66, 0x63, 0x70, 0x69, 0x66, 0x61, 0x63, 0x65, 0x2f, 0x62, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x62, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_util_msg_proto_rawDesc = "" + + "\n" + + "\x0eutil_msg.proto\x12\abess.pb\"i\n" + + "\x05Field\x12\x1d\n" + + "\tattr_name\x18\x01 \x01(\tH\x00R\battrName\x12\x18\n" + + "\x06offset\x18\x02 \x01(\rH\x00R\x06offset\x12\x1b\n" + + "\tnum_bytes\x18\x03 \x01(\rR\bnumBytesB\n" + + "\n" + + "\bposition\"U\n" + + "\tFieldData\x12\x1d\n" + + "\tvalue_bin\x18\x01 \x01(\fH\x00R\bvalueBin\x12\x1d\n" + + "\tvalue_int\x18\x02 \x01(\x04H\x00R\bvalueIntB\n" + + "\n" + + "\bencodingB3Z1github.com/omec-project/upf-epc/pfcpiface/bess_pbb\x06proto3" var ( file_util_msg_proto_rawDescOnce sync.Once - file_util_msg_proto_rawDescData = file_util_msg_proto_rawDesc + file_util_msg_proto_rawDescData []byte ) func file_util_msg_proto_rawDescGZIP() []byte { file_util_msg_proto_rawDescOnce.Do(func() { - file_util_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_util_msg_proto_rawDescData) + file_util_msg_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_util_msg_proto_rawDesc), len(file_util_msg_proto_rawDesc))) }) return file_util_msg_proto_rawDescData } var file_util_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_util_msg_proto_goTypes = []interface{}{ +var file_util_msg_proto_goTypes = []any{ (*Field)(nil), // 0: bess.pb.Field (*FieldData)(nil), // 1: bess.pb.FieldData } @@ -276,37 +275,11 @@ func file_util_msg_proto_init() { if File_util_msg_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_util_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Field); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_util_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FieldData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_util_msg_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_util_msg_proto_msgTypes[0].OneofWrappers = []any{ (*Field_AttrName)(nil), (*Field_Offset)(nil), } - file_util_msg_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_util_msg_proto_msgTypes[1].OneofWrappers = []any{ (*FieldData_ValueBin)(nil), (*FieldData_ValueInt)(nil), } @@ -314,7 +287,7 @@ func file_util_msg_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_util_msg_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_util_msg_proto_rawDesc), len(file_util_msg_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, @@ -325,7 +298,6 @@ func file_util_msg_proto_init() { MessageInfos: file_util_msg_proto_msgTypes, }.Build() File_util_msg_proto = out.File - file_util_msg_proto_rawDesc = nil file_util_msg_proto_goTypes = nil file_util_msg_proto_depIdxs = nil } diff --git a/pfcpiface/datapath.go b/pfcpiface/datapath.go index 52ec3524f..7b26dc8d8 100644 --- a/pfcpiface/datapath.go +++ b/pfcpiface/datapath.go @@ -29,7 +29,7 @@ func (u upfMsgType) String() string { case upfMsgTypeClear: return "clear" default: - return "unknown" + return UnknownString } } diff --git a/pfcpiface/messages.go b/pfcpiface/messages.go index c526c9840..8e78fe47a 100644 --- a/pfcpiface/messages.go +++ b/pfcpiface/messages.go @@ -4,8 +4,18 @@ package pfcpiface import ( + "crypto/rand" + "encoding/base64" + "encoding/hex" "errors" + "fmt" + "os" + "path/filepath" + "sort" + "strconv" + "strings" "time" + "unicode" "github.com/wmnsk/go-pfcp/message" @@ -60,14 +70,31 @@ func (pConn *PFCPConn) HandlePFCPMsg(buf []byte) { reply message.Message err error ) + addr := UnknownString + if pConn != nil && pConn.RemoteAddr() != nil { + addr = pConn.RemoteAddr().String() + } msg, err := message.Parse(buf) if err != nil { - logger.PfcpLog.Errorf("ignoring undecodable message: %v, error: %v", buf, err) + logger.PfcpLog.Errorf("ignoring undecodable message from %s: len=%d, hex=%x, error=%v", addr, len(buf), buf, err) + + if dumpDir := os.Getenv("PFCP_DUMP_DIR"); dumpDir != "" { + if err2 := dumpRawPFCP(dumpDir, addr, buf); err2 != nil { + logger.PfcpLog.Errorf("failed to dump raw PFCP from %s: %v", addr, err2) + } else { + logger.PfcpLog.Debugf("dumped raw PFCP from %s to %s", addr, dumpDir) + } + } + + if os.Getenv("PFCP_DUMP_TO_LOG") == "1" { + b64 := base64.StdEncoding.EncodeToString(buf) + logger.PfcpLog.Infof("PFCP_RAW_DUMP addr=%s len=%d b64=%s", addr, len(buf), b64) + } + return } - addr := pConn.RemoteAddr().String() msgType := msg.MessageTypeName() m := metrics.NewMessage(msgType, "Incoming") @@ -174,3 +201,151 @@ func (pConn *PFCPConn) sendPFCPRequestMessage(r *Request) (message.Message, bool } } } + +// dumpRawPFCP writes the raw PFCP packet bytes to a file under dumpDir. +func dumpRawPFCP(dumpDir, addr string, buf []byte) error { + safe := filepath.Base(addr) + var b strings.Builder + for _, r := range safe { + if unicode.IsLetter(r) || unicode.IsDigit(r) || r == '.' || r == '-' || r == '_' { + b.WriteRune(r) + } else { + b.WriteRune('_') + } + } + safeAddr := b.String() + if safeAddr == "" || safeAddr == "." || safeAddr == ".." { + safeAddr = UnknownString + } + + // Allow per-instance dump directory when UPF_NAME is set. + outDir := dumpDir + if upfName := os.Getenv("UPF_NAME"); upfName != "" { + var sb strings.Builder + for _, r := range upfName { + if unicode.IsLetter(r) || unicode.IsDigit(r) || r == '.' || r == '-' || r == '_' { + sb.WriteRune(r) + } else { + sb.WriteRune('_') + } + } + safeUPF := sb.String() + if safeUPF == "" { + safeUPF = UnknownString + } + outDir = filepath.Join(dumpDir, safeUPF) + } + + if err := os.MkdirAll(outDir, 0o700); err != nil { + return err + } + + pid := os.Getpid() + + randb := make([]byte, 4) + if _, err := rand.Read(randb); err != nil { + // fallback to time-based low-entropy suffix if crypto/rand fails + randb = []byte(time.Now().Format("150405")) + } + suffix := hex.EncodeToString(randb) + + // Include UPF name in filename when available (use basename of outDir) + upfPart := filepath.Base(outDir) + + fname := filepath.Join(outDir, fmt.Sprintf("pfcp_%s_%s_pid%d_%s_%s.bin", upfPart, safeAddr, pid, time.Now().Format("20060102T150405.000000"), suffix)) + + // Use O_EXCL to avoid overwriting an existing file with the same name. + f, err := os.OpenFile(fname, os.O_CREATE|os.O_EXCL|os.O_WRONLY, 0o600) + if err != nil { + // fallback to WriteFile; if successful, kick off pruning asynchronously. + if err2 := os.WriteFile(fname, buf, 0o600); err2 == nil { + go pruneDumpDir(outDir) + return nil + } else { + return err2 + } + } + defer f.Close() + + _, err = f.Write(buf) + if err == nil { + go pruneDumpDir(outDir) + } + return err +} + +// pruneDumpDir enforces max total bytes and max file count for the given +// directory. It removes oldest files first until the directory is within +// limits. Defaults: maxBytes=100MB, maxFiles=1000. +func pruneDumpDir(dir string) { + const ( + defaultMaxBytes = int64(100 * 1024 * 1024) // 100 MB + defaultMaxFiles = 1000 + ) + + maxBytes := defaultMaxBytes + maxFiles := defaultMaxFiles + + if v := os.Getenv("PFCP_DUMP_MAX_BYTES"); v != "" { + if n, err := strconv.ParseInt(v, 10, 64); err == nil { + maxBytes = n + } + } + if v := os.Getenv("PFCP_DUMP_MAX_FILES"); v != "" { + if n, err := strconv.Atoi(v); err == nil { + maxFiles = n + } + } + + // If both limits are disabled, nothing to do. + if maxBytes == 0 && maxFiles == 0 { + return + } + + entries, err := os.ReadDir(dir) + if err != nil { + logger.PfcpLog.Errorf("pruneDumpDir: unable to read dir %s: %v", dir, err) + return + } + + type fileEntry struct { + name string + info os.FileInfo + size int64 + } + + var files []fileEntry + var total int64 + for _, e := range entries { + if e.IsDir() { + continue + } + fi, err := e.Info() + if err != nil { + continue + } + files = append(files, fileEntry{name: e.Name(), info: fi, size: fi.Size()}) + total += fi.Size() + } + + // Apply file count limit and byte limit. Sort files by ModTime ascending + sort.Slice(files, func(i, j int) bool { + return files[i].info.ModTime().Before(files[j].info.ModTime()) + }) + + for len(files) > 0 { + if (maxFiles == 0 || len(files) <= maxFiles) && (maxBytes == 0 || total <= maxBytes) { + break + } + + oldest := files[0] + p := filepath.Join(dir, oldest.name) + if err := os.Remove(p); err != nil { + logger.PfcpLog.Errorf("pruneDumpDir: failed to remove %s: %v", p, err) + break + } + logger.PfcpLog.Infof("pruneDumpDir: removed dump %s to enforce limits", p) + total -= oldest.size + files = files[1:] + } +} diff --git a/pfcpiface/messages_parse_test.go b/pfcpiface/messages_parse_test.go new file mode 100644 index 000000000..7d8ce0311 --- /dev/null +++ b/pfcpiface/messages_parse_test.go @@ -0,0 +1,76 @@ +// SPDX-License-Identifier: Apache-2.0 +// Copyright 2025 + +package pfcpiface + +import ( + "net" + "testing" + "time" + + "github.com/prometheus/client_golang/prometheus" + "github.com/wmnsk/go-pfcp/ie" + "github.com/wmnsk/go-pfcp/message" +) + +// fakeDP implements the datapath interface with no-op methods for testing. +type fakeDP struct{} + +func (f *fakeDP) Exit() {} +func (f *fakeDP) SetUpfInfo(u *upf, conf *Conf) {} +func (f *fakeDP) AddSliceInfo(sliceInfo *SliceInfo) error { return nil } +func (f *fakeDP) SendEndMarkers(endMarkerList *[][]byte) error { return nil } +func (f *fakeDP) SendMsgToUPF(method upfMsgType, all PacketForwardingRules, newRules PacketForwardingRules) uint8 { + return 1 +} +func (f *fakeDP) IsConnected(accessIP *net.IP) bool { return true } +func (f *fakeDP) SummaryLatencyJitter(uc *upfCollector, ch chan<- prometheus.Metric) {} +func (f *fakeDP) PortStats(uc *upfCollector, ch chan<- prometheus.Metric) {} +func (f *fakeDP) SummaryGtpuLatency(uc *upfCollector, ch chan<- prometheus.Metric) {} +func (f *fakeDP) SessionStats(pc *PfcpNodeCollector, ch chan<- prometheus.Metric) error { return nil } + +// Test that a truncated (simulated unexpected EOF) Association Setup Request +// is handled without causing a panic in the PFCP message handler. +func TestHandlePFCPMsg_TruncatedAssociationRequest_NoPanic(t *testing.T) { + // Build a valid Association Setup Request + seq := uint32(1) + asreq := message.NewAssociationSetupRequest(seq, + ie.NewNodeID("", "", "test-smf"), + ie.NewRecoveryTimeStamp(time.Now()), + ) + + out := make([]byte, asreq.MarshalLen()) + if err := asreq.MarshalTo(out); err != nil { + t.Fatalf("failed to marshal association request: %v", err) + } + + // Truncate the buffer to simulate unexpected EOF / truncated packet + if len(out) < 6 { + t.Fatalf("unexpected small PFCP message") + } + trunc := out[:len(out)-5] + + // Create a UDP socket to satisfy RemoteAddr usage + l, err := net.ListenUDP("udp", &net.UDPAddr{IP: net.IPv4(127, 0, 0, 1), Port: 0}) + if err != nil { + t.Fatalf("failed to create udp socket: %v", err) + } + defer l.Close() + + // Prepare PFCPConn with fake datapath that reports connected + p := &PFCPConn{ + Conn: l, + upf: &upf{ + datapath: &fakeDP{}, + }, + } + + // Call handler; should not panic + defer func() { + if r := recover(); r != nil { + t.Fatalf("handler panicked on truncated message: %v", r) + } + }() + + p.HandlePFCPMsg(trunc) +} diff --git a/pfcpiface/utils.go b/pfcpiface/utils.go index 34c438410..eed4119e9 100644 --- a/pfcpiface/utils.go +++ b/pfcpiface/utils.go @@ -19,6 +19,11 @@ type Bits uint8 // Set Bits. func Set(b, flag Bits) Bits { return b | flag } +// UnknownString is the canonical string used to represent unknown values in +// the pfcpiface package. Using a single constant avoids repeated string +// literals and satisfies goconst lint checks. +const UnknownString = "unknown" + // func Clear(b, flag Bits) Bits { return b &^ flag } // func Toggle(b, flag Bits) Bits { return b ^ flag } // func Has(b, flag Bits) bool { return b&flag != 0 }