diff --git a/dataplane/apigen/ccgen/ccgen.go b/dataplane/apigen/ccgen/ccgen.go index 1461838d..e94db72b 100644 --- a/dataplane/apigen/ccgen/ccgen.go +++ b/dataplane/apigen/ccgen/ccgen.go @@ -200,6 +200,18 @@ func createCCData(meta *saiast.FuncMetadata, apiName string, sai *saiast.SAIAPI, } smt.EnumValue = attr.EnumName } + case "remove_bulk": + convertFn = nil + opFn.EntryVar = strings.TrimPrefix(opFn.EntryVar, "*") // Usual entry is pointer, but for remove_bulk it's an array. + for _, attr := range info.Attrs[meta.TypeName].CreateFields { + name := sanitizeProtoName(attr.MemberName) + smt, err := protoFieldSetter(attr.SaiType, "", name, "attr_list[i].value", info) + if err != nil { + fmt.Println("skipping due to error: ", err) + continue + } + smt.EnumValue = attr.EnumName + } case "get_stats": convertFn = nil opFn.AttrEnumType = strcase.UpperCamelCase(meta.TypeName + " stat") @@ -487,7 +499,7 @@ var supportedOperation = map[string]bool{ "get_stats": true, "get_stats_ext": true, "create_bulk": true, - "remove_bulk": false, + "remove_bulk": true, "set_attribute_bulk": false, "get_attribute_bulk": false, } @@ -524,7 +536,7 @@ extern const {{ .APIType }} l_{{ .APIName }}; #endif // {{ .IncludeGuard }} `)) ccTmpl = template.Must(template.New("cc").Parse(` -{{ define "getattr" }} +{{- define "getattr" }} {{ $parent := . }} switch ({{ .Var }}) { {{ range .Attrs }} @@ -546,7 +558,7 @@ switch ({{ .Var }}) { {{- end }} } {{ end }} -{{ define "setattr" }} +{{- define "setattr" }} {{ $parent := . }} switch ({{ .Var }}) { {{ range .Attrs }} @@ -562,9 +574,7 @@ switch ({{ .Var }}) { break; {{- end }} } -{{ end }} - - +{{ end -}} // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -701,6 +711,27 @@ return msg; LOG(ERROR) << status.error_message(); return SAI_STATUS_FAILURE; } + {{ else if eq .Operation "remove_bulk" }} + lemming::dataplane::sai::{{ .ReqType }} req; + lemming::dataplane::sai::{{ .RespType }} resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + {{ if .OidVar -}} req.add_reqs()->set_oid(object_id[i]); {{ end }} + {{ if .EntryVar }} *req.add_reqs()->mutable_entry() = {{ .EntryConversionFunc }}({{ .EntryVar }}[i]); {{ end }} + } + + grpc::Status status = {{ .Client }}->{{ .RPCMethod }}(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } {{ else if eq .Operation "get_stats" }} lemming::dataplane::sai::{{ .ReqType }} req; lemming::dataplane::sai::{{ .RespType }} resp; diff --git a/dataplane/apigen/protogen/protogen.go b/dataplane/apigen/protogen/protogen.go index d2287cf6..2a5ace6f 100644 --- a/dataplane/apigen/protogen/protogen.go +++ b/dataplane/apigen/protogen/protogen.go @@ -274,6 +274,17 @@ func populateTmplDataFromFunc(apis map[string]*protoAPITmplData, docInfo *docpar ProtoType: repeatedType + strcase.UpperCamelCase("Create "+meta.TypeName+"Response"), Index: 1, }) + case "remove_bulk": + req.Fields = append(req.Fields, protoTmplField{ + Name: "reqs", + ProtoType: repeatedType + strcase.UpperCamelCase("Remove "+meta.TypeName+"Request"), + Index: 1, + }) + resp.Fields = append(resp.Fields, protoTmplField{ + Name: "resps", + ProtoType: repeatedType + strcase.UpperCamelCase("Remove "+meta.TypeName+"Response"), + Index: 1, + }) case "get_stats": req.Fields = append(req.Fields, idField, protoTmplField{ Name: "counter_ids", diff --git a/dataplane/proto/sai/fdb.pb.go b/dataplane/proto/sai/fdb.pb.go index 07fe312d..c3df0caf 100644 --- a/dataplane/proto/sai/fdb.pb.go +++ b/dataplane/proto/sai/fdb.pb.go @@ -670,6 +670,100 @@ func (x *CreateFdbEntriesResponse) GetResps() []*CreateFdbEntryResponse { return nil } +type RemoveFdbEntriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveFdbEntryRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveFdbEntriesRequest) Reset() { + *x = RemoveFdbEntriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_fdb_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveFdbEntriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveFdbEntriesRequest) ProtoMessage() {} + +func (x *RemoveFdbEntriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_fdb_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveFdbEntriesRequest.ProtoReflect.Descriptor instead. +func (*RemoveFdbEntriesRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_fdb_proto_rawDescGZIP(), []int{10} +} + +func (x *RemoveFdbEntriesRequest) GetReqs() []*RemoveFdbEntryRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveFdbEntriesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveFdbEntryResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveFdbEntriesResponse) Reset() { + *x = RemoveFdbEntriesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_fdb_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveFdbEntriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveFdbEntriesResponse) ProtoMessage() {} + +func (x *RemoveFdbEntriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_fdb_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveFdbEntriesResponse.ProtoReflect.Descriptor instead. +func (*RemoveFdbEntriesResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_fdb_proto_rawDescGZIP(), []int{11} +} + +func (x *RemoveFdbEntriesResponse) GetResps() []*RemoveFdbEntryResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_fdb_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_fdb_proto_rawDesc = []byte{ @@ -797,69 +891,88 @@ var file_dataplane_proto_sai_fdb_proto_rawDesc = []byte{ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xad, 0x02, 0x0a, 0x0c, - 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x1a, - 0x46, 0x44, 0x42, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, - 0x46, 0x44, 0x42, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x44, 0x42, 0x5f, 0x45, 0x4e, 0x54, - 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x44, 0x42, 0x5f, 0x45, - 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, - 0x52, 0x41, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x44, 0x42, 0x5f, - 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, - 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x46, - 0x44, 0x42, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, - 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x44, 0x42, - 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x44, 0x50, - 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x44, 0x42, - 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, - 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x07, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x44, 0x42, 0x5f, - 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, - 0x5f, 0x4d, 0x41, 0x43, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x32, 0xe6, 0x04, 0x0a, 0x03, - 0x46, 0x64, 0x62, 0x12, 0x6f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x62, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x64, - 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x5b, 0x0a, 0x17, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x46, 0x64, 0x62, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x32, - 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x64, - 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x64, - 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, - 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x6f, 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x5f, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xad, 0x02, 0x0a, 0x0c, 0x46, 0x64, + 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x44, + 0x42, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x44, + 0x42, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x44, 0x42, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x44, 0x42, 0x5f, 0x45, 0x4e, 0x54, + 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x52, 0x41, + 0x50, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x44, 0x42, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x44, 0x42, + 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x41, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x44, 0x42, 0x5f, 0x45, + 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, + 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x44, 0x42, 0x5f, 0x45, + 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, + 0x52, 0x5f, 0x49, 0x44, 0x10, 0x07, 0x12, 0x21, 0x0a, 0x1d, 0x46, 0x44, 0x42, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x4d, + 0x41, 0x43, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x32, 0xdd, 0x05, 0x0a, 0x03, 0x46, 0x64, + 0x62, 0x12, 0x6f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x46, 0x64, 0x62, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x64, 0x62, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, + 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x64, 0x62, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, + 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, + 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, + 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x64, 0x62, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -875,7 +988,7 @@ func file_dataplane_proto_sai_fdb_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_fdb_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_dataplane_proto_sai_fdb_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_dataplane_proto_sai_fdb_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_dataplane_proto_sai_fdb_proto_goTypes = []interface{}{ (FdbEntryAttr)(0), // 0: lemming.dataplane.sai.FdbEntryAttr (*CreateFdbEntryRequest)(nil), // 1: lemming.dataplane.sai.CreateFdbEntryRequest @@ -888,39 +1001,45 @@ var file_dataplane_proto_sai_fdb_proto_goTypes = []interface{}{ (*GetFdbEntryAttributeResponse)(nil), // 8: lemming.dataplane.sai.GetFdbEntryAttributeResponse (*CreateFdbEntriesRequest)(nil), // 9: lemming.dataplane.sai.CreateFdbEntriesRequest (*CreateFdbEntriesResponse)(nil), // 10: lemming.dataplane.sai.CreateFdbEntriesResponse - (*FdbEntry)(nil), // 11: lemming.dataplane.sai.FdbEntry - (FdbEntryType)(0), // 12: lemming.dataplane.sai.FdbEntryType - (PacketAction)(0), // 13: lemming.dataplane.sai.PacketAction - (*FdbEntryAttribute)(nil), // 14: lemming.dataplane.sai.FdbEntryAttribute + (*RemoveFdbEntriesRequest)(nil), // 11: lemming.dataplane.sai.RemoveFdbEntriesRequest + (*RemoveFdbEntriesResponse)(nil), // 12: lemming.dataplane.sai.RemoveFdbEntriesResponse + (*FdbEntry)(nil), // 13: lemming.dataplane.sai.FdbEntry + (FdbEntryType)(0), // 14: lemming.dataplane.sai.FdbEntryType + (PacketAction)(0), // 15: lemming.dataplane.sai.PacketAction + (*FdbEntryAttribute)(nil), // 16: lemming.dataplane.sai.FdbEntryAttribute } var file_dataplane_proto_sai_fdb_proto_depIdxs = []int32{ - 11, // 0: lemming.dataplane.sai.CreateFdbEntryRequest.entry:type_name -> lemming.dataplane.sai.FdbEntry - 12, // 1: lemming.dataplane.sai.CreateFdbEntryRequest.type:type_name -> lemming.dataplane.sai.FdbEntryType - 13, // 2: lemming.dataplane.sai.CreateFdbEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 11, // 3: lemming.dataplane.sai.RemoveFdbEntryRequest.entry:type_name -> lemming.dataplane.sai.FdbEntry - 11, // 4: lemming.dataplane.sai.SetFdbEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.FdbEntry - 12, // 5: lemming.dataplane.sai.SetFdbEntryAttributeRequest.type:type_name -> lemming.dataplane.sai.FdbEntryType - 13, // 6: lemming.dataplane.sai.SetFdbEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 11, // 7: lemming.dataplane.sai.GetFdbEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.FdbEntry + 13, // 0: lemming.dataplane.sai.CreateFdbEntryRequest.entry:type_name -> lemming.dataplane.sai.FdbEntry + 14, // 1: lemming.dataplane.sai.CreateFdbEntryRequest.type:type_name -> lemming.dataplane.sai.FdbEntryType + 15, // 2: lemming.dataplane.sai.CreateFdbEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 13, // 3: lemming.dataplane.sai.RemoveFdbEntryRequest.entry:type_name -> lemming.dataplane.sai.FdbEntry + 13, // 4: lemming.dataplane.sai.SetFdbEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.FdbEntry + 14, // 5: lemming.dataplane.sai.SetFdbEntryAttributeRequest.type:type_name -> lemming.dataplane.sai.FdbEntryType + 15, // 6: lemming.dataplane.sai.SetFdbEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 13, // 7: lemming.dataplane.sai.GetFdbEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.FdbEntry 0, // 8: lemming.dataplane.sai.GetFdbEntryAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.FdbEntryAttr - 14, // 9: lemming.dataplane.sai.GetFdbEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.FdbEntryAttribute + 16, // 9: lemming.dataplane.sai.GetFdbEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.FdbEntryAttribute 1, // 10: lemming.dataplane.sai.CreateFdbEntriesRequest.reqs:type_name -> lemming.dataplane.sai.CreateFdbEntryRequest 2, // 11: lemming.dataplane.sai.CreateFdbEntriesResponse.resps:type_name -> lemming.dataplane.sai.CreateFdbEntryResponse - 1, // 12: lemming.dataplane.sai.Fdb.CreateFdbEntry:input_type -> lemming.dataplane.sai.CreateFdbEntryRequest - 3, // 13: lemming.dataplane.sai.Fdb.RemoveFdbEntry:input_type -> lemming.dataplane.sai.RemoveFdbEntryRequest - 5, // 14: lemming.dataplane.sai.Fdb.SetFdbEntryAttribute:input_type -> lemming.dataplane.sai.SetFdbEntryAttributeRequest - 7, // 15: lemming.dataplane.sai.Fdb.GetFdbEntryAttribute:input_type -> lemming.dataplane.sai.GetFdbEntryAttributeRequest - 9, // 16: lemming.dataplane.sai.Fdb.CreateFdbEntries:input_type -> lemming.dataplane.sai.CreateFdbEntriesRequest - 2, // 17: lemming.dataplane.sai.Fdb.CreateFdbEntry:output_type -> lemming.dataplane.sai.CreateFdbEntryResponse - 4, // 18: lemming.dataplane.sai.Fdb.RemoveFdbEntry:output_type -> lemming.dataplane.sai.RemoveFdbEntryResponse - 6, // 19: lemming.dataplane.sai.Fdb.SetFdbEntryAttribute:output_type -> lemming.dataplane.sai.SetFdbEntryAttributeResponse - 8, // 20: lemming.dataplane.sai.Fdb.GetFdbEntryAttribute:output_type -> lemming.dataplane.sai.GetFdbEntryAttributeResponse - 10, // 21: lemming.dataplane.sai.Fdb.CreateFdbEntries:output_type -> lemming.dataplane.sai.CreateFdbEntriesResponse - 17, // [17:22] is the sub-list for method output_type - 12, // [12:17] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 3, // 12: lemming.dataplane.sai.RemoveFdbEntriesRequest.reqs:type_name -> lemming.dataplane.sai.RemoveFdbEntryRequest + 4, // 13: lemming.dataplane.sai.RemoveFdbEntriesResponse.resps:type_name -> lemming.dataplane.sai.RemoveFdbEntryResponse + 1, // 14: lemming.dataplane.sai.Fdb.CreateFdbEntry:input_type -> lemming.dataplane.sai.CreateFdbEntryRequest + 3, // 15: lemming.dataplane.sai.Fdb.RemoveFdbEntry:input_type -> lemming.dataplane.sai.RemoveFdbEntryRequest + 5, // 16: lemming.dataplane.sai.Fdb.SetFdbEntryAttribute:input_type -> lemming.dataplane.sai.SetFdbEntryAttributeRequest + 7, // 17: lemming.dataplane.sai.Fdb.GetFdbEntryAttribute:input_type -> lemming.dataplane.sai.GetFdbEntryAttributeRequest + 9, // 18: lemming.dataplane.sai.Fdb.CreateFdbEntries:input_type -> lemming.dataplane.sai.CreateFdbEntriesRequest + 11, // 19: lemming.dataplane.sai.Fdb.RemoveFdbEntries:input_type -> lemming.dataplane.sai.RemoveFdbEntriesRequest + 2, // 20: lemming.dataplane.sai.Fdb.CreateFdbEntry:output_type -> lemming.dataplane.sai.CreateFdbEntryResponse + 4, // 21: lemming.dataplane.sai.Fdb.RemoveFdbEntry:output_type -> lemming.dataplane.sai.RemoveFdbEntryResponse + 6, // 22: lemming.dataplane.sai.Fdb.SetFdbEntryAttribute:output_type -> lemming.dataplane.sai.SetFdbEntryAttributeResponse + 8, // 23: lemming.dataplane.sai.Fdb.GetFdbEntryAttribute:output_type -> lemming.dataplane.sai.GetFdbEntryAttributeResponse + 10, // 24: lemming.dataplane.sai.Fdb.CreateFdbEntries:output_type -> lemming.dataplane.sai.CreateFdbEntriesResponse + 12, // 25: lemming.dataplane.sai.Fdb.RemoveFdbEntries:output_type -> lemming.dataplane.sai.RemoveFdbEntriesResponse + 20, // [20:26] is the sub-list for method output_type + 14, // [14:20] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_fdb_proto_init() } @@ -1050,6 +1169,30 @@ func file_dataplane_proto_sai_fdb_proto_init() { return nil } } + file_dataplane_proto_sai_fdb_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveFdbEntriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_fdb_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveFdbEntriesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_fdb_proto_msgTypes[0].OneofWrappers = []interface{}{} file_dataplane_proto_sai_fdb_proto_msgTypes[4].OneofWrappers = []interface{}{} @@ -1059,7 +1202,7 @@ func file_dataplane_proto_sai_fdb_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_fdb_proto_rawDesc, NumEnums: 1, - NumMessages: 10, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, @@ -1091,6 +1234,7 @@ type FdbClient interface { SetFdbEntryAttribute(ctx context.Context, in *SetFdbEntryAttributeRequest, opts ...grpc.CallOption) (*SetFdbEntryAttributeResponse, error) GetFdbEntryAttribute(ctx context.Context, in *GetFdbEntryAttributeRequest, opts ...grpc.CallOption) (*GetFdbEntryAttributeResponse, error) CreateFdbEntries(ctx context.Context, in *CreateFdbEntriesRequest, opts ...grpc.CallOption) (*CreateFdbEntriesResponse, error) + RemoveFdbEntries(ctx context.Context, in *RemoveFdbEntriesRequest, opts ...grpc.CallOption) (*RemoveFdbEntriesResponse, error) } type fdbClient struct { @@ -1146,6 +1290,15 @@ func (c *fdbClient) CreateFdbEntries(ctx context.Context, in *CreateFdbEntriesRe return out, nil } +func (c *fdbClient) RemoveFdbEntries(ctx context.Context, in *RemoveFdbEntriesRequest, opts ...grpc.CallOption) (*RemoveFdbEntriesResponse, error) { + out := new(RemoveFdbEntriesResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Fdb/RemoveFdbEntries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // FdbServer is the server API for Fdb service. type FdbServer interface { CreateFdbEntry(context.Context, *CreateFdbEntryRequest) (*CreateFdbEntryResponse, error) @@ -1153,6 +1306,7 @@ type FdbServer interface { SetFdbEntryAttribute(context.Context, *SetFdbEntryAttributeRequest) (*SetFdbEntryAttributeResponse, error) GetFdbEntryAttribute(context.Context, *GetFdbEntryAttributeRequest) (*GetFdbEntryAttributeResponse, error) CreateFdbEntries(context.Context, *CreateFdbEntriesRequest) (*CreateFdbEntriesResponse, error) + RemoveFdbEntries(context.Context, *RemoveFdbEntriesRequest) (*RemoveFdbEntriesResponse, error) } // UnimplementedFdbServer can be embedded to have forward compatible implementations. @@ -1174,6 +1328,9 @@ func (*UnimplementedFdbServer) GetFdbEntryAttribute(context.Context, *GetFdbEntr func (*UnimplementedFdbServer) CreateFdbEntries(context.Context, *CreateFdbEntriesRequest) (*CreateFdbEntriesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateFdbEntries not implemented") } +func (*UnimplementedFdbServer) RemoveFdbEntries(context.Context, *RemoveFdbEntriesRequest) (*RemoveFdbEntriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveFdbEntries not implemented") +} func RegisterFdbServer(s *grpc.Server, srv FdbServer) { s.RegisterService(&_Fdb_serviceDesc, srv) @@ -1269,6 +1426,24 @@ func _Fdb_CreateFdbEntries_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Fdb_RemoveFdbEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveFdbEntriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FdbServer).RemoveFdbEntries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Fdb/RemoveFdbEntries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FdbServer).RemoveFdbEntries(ctx, req.(*RemoveFdbEntriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Fdb_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.Fdb", HandlerType: (*FdbServer)(nil), @@ -1293,6 +1468,10 @@ var _Fdb_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateFdbEntries", Handler: _Fdb_CreateFdbEntries_Handler, }, + { + MethodName: "RemoveFdbEntries", + Handler: _Fdb_RemoveFdbEntries_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/fdb.proto", diff --git a/dataplane/proto/sai/fdb.proto b/dataplane/proto/sai/fdb.proto index f0a8b635..1a26f89a 100644 --- a/dataplane/proto/sai/fdb.proto +++ b/dataplane/proto/sai/fdb.proto @@ -71,6 +71,14 @@ message CreateFdbEntriesResponse { repeated CreateFdbEntryResponse resps = 1; } +message RemoveFdbEntriesRequest { + repeated RemoveFdbEntryRequest reqs = 1; +} + +message RemoveFdbEntriesResponse { + repeated RemoveFdbEntryResponse resps = 1; +} + service Fdb { rpc CreateFdbEntry(CreateFdbEntryRequest) returns (CreateFdbEntryResponse) {} rpc RemoveFdbEntry(RemoveFdbEntryRequest) returns (RemoveFdbEntryResponse) {} @@ -80,4 +88,6 @@ service Fdb { returns (GetFdbEntryAttributeResponse) {} rpc CreateFdbEntries(CreateFdbEntriesRequest) returns (CreateFdbEntriesResponse) {} + rpc RemoveFdbEntries(RemoveFdbEntriesRequest) + returns (RemoveFdbEntriesResponse) {} } diff --git a/dataplane/proto/sai/lag.pb.go b/dataplane/proto/sai/lag.pb.go index 739345f9..4f7c0abe 100644 --- a/dataplane/proto/sai/lag.pb.go +++ b/dataplane/proto/sai/lag.pb.go @@ -1162,6 +1162,100 @@ func (x *CreateLagMembersResponse) GetResps() []*CreateLagMemberResponse { return nil } +type RemoveLagMembersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveLagMemberRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveLagMembersRequest) Reset() { + *x = RemoveLagMembersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_lag_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveLagMembersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveLagMembersRequest) ProtoMessage() {} + +func (x *RemoveLagMembersRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_lag_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveLagMembersRequest.ProtoReflect.Descriptor instead. +func (*RemoveLagMembersRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_lag_proto_rawDescGZIP(), []int{18} +} + +func (x *RemoveLagMembersRequest) GetReqs() []*RemoveLagMemberRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveLagMembersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveLagMemberResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveLagMembersResponse) Reset() { + *x = RemoveLagMembersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_lag_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveLagMembersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveLagMembersResponse) ProtoMessage() {} + +func (x *RemoveLagMembersResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_lag_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveLagMembersResponse.ProtoReflect.Descriptor instead. +func (*RemoveLagMembersResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_lag_proto_rawDescGZIP(), []int{19} +} + +func (x *RemoveLagMembersResponse) GetResps() []*RemoveLagMemberResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_lag_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_lag_proto_rawDesc = []byte{ @@ -1329,6 +1423,18 @@ var file_dataplane_proto_sai_lag_proto_rawDesc = []byte{ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x5c, 0x0a, 0x17, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x61, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x61, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x60, 0x0a, 0x18, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x61, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x61, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xb1, 0x02, 0x0a, 0x07, 0x4c, 0x61, 0x67, 0x41, 0x74, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x41, 0x47, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, @@ -1360,7 +1466,7 @@ var file_dataplane_proto_sai_lag_proto_rawDesc = []byte{ 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x4c, 0x41, 0x47, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x41, - 0x42, 0x4c, 0x45, 0x10, 0x04, 0x32, 0x9e, 0x08, 0x0a, 0x03, 0x4c, 0x61, 0x67, 0x12, 0x60, 0x0a, + 0x42, 0x4c, 0x45, 0x10, 0x04, 0x32, 0x95, 0x09, 0x0a, 0x03, 0x4c, 0x61, 0x67, 0x12, 0x60, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x67, 0x12, 0x27, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, @@ -1426,11 +1532,18 @@ var file_dataplane_proto_sai_lag_proto_rawDesc = []byte{ 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4c, 0x61, 0x67, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x61, 0x67, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4c, 0x61, 0x67, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 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, 0x70, 0x65, 0x6e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, + 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1446,7 +1559,7 @@ func file_dataplane_proto_sai_lag_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_lag_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_dataplane_proto_sai_lag_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_dataplane_proto_sai_lag_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_dataplane_proto_sai_lag_proto_goTypes = []interface{}{ (LagAttr)(0), // 0: lemming.dataplane.sai.LagAttr (LagMemberAttr)(0), // 1: lemming.dataplane.sai.LagMemberAttr @@ -1468,39 +1581,45 @@ var file_dataplane_proto_sai_lag_proto_goTypes = []interface{}{ (*GetLagMemberAttributeResponse)(nil), // 17: lemming.dataplane.sai.GetLagMemberAttributeResponse (*CreateLagMembersRequest)(nil), // 18: lemming.dataplane.sai.CreateLagMembersRequest (*CreateLagMembersResponse)(nil), // 19: lemming.dataplane.sai.CreateLagMembersResponse - (*LagAttribute)(nil), // 20: lemming.dataplane.sai.LagAttribute - (*LagMemberAttribute)(nil), // 21: lemming.dataplane.sai.LagMemberAttribute + (*RemoveLagMembersRequest)(nil), // 20: lemming.dataplane.sai.RemoveLagMembersRequest + (*RemoveLagMembersResponse)(nil), // 21: lemming.dataplane.sai.RemoveLagMembersResponse + (*LagAttribute)(nil), // 22: lemming.dataplane.sai.LagAttribute + (*LagMemberAttribute)(nil), // 23: lemming.dataplane.sai.LagMemberAttribute } var file_dataplane_proto_sai_lag_proto_depIdxs = []int32{ 0, // 0: lemming.dataplane.sai.GetLagAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.LagAttr - 20, // 1: lemming.dataplane.sai.GetLagAttributeResponse.attr:type_name -> lemming.dataplane.sai.LagAttribute + 22, // 1: lemming.dataplane.sai.GetLagAttributeResponse.attr:type_name -> lemming.dataplane.sai.LagAttribute 1, // 2: lemming.dataplane.sai.GetLagMemberAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.LagMemberAttr - 21, // 3: lemming.dataplane.sai.GetLagMemberAttributeResponse.attr:type_name -> lemming.dataplane.sai.LagMemberAttribute + 23, // 3: lemming.dataplane.sai.GetLagMemberAttributeResponse.attr:type_name -> lemming.dataplane.sai.LagMemberAttribute 10, // 4: lemming.dataplane.sai.CreateLagMembersRequest.reqs:type_name -> lemming.dataplane.sai.CreateLagMemberRequest 11, // 5: lemming.dataplane.sai.CreateLagMembersResponse.resps:type_name -> lemming.dataplane.sai.CreateLagMemberResponse - 2, // 6: lemming.dataplane.sai.Lag.CreateLag:input_type -> lemming.dataplane.sai.CreateLagRequest - 4, // 7: lemming.dataplane.sai.Lag.RemoveLag:input_type -> lemming.dataplane.sai.RemoveLagRequest - 6, // 8: lemming.dataplane.sai.Lag.SetLagAttribute:input_type -> lemming.dataplane.sai.SetLagAttributeRequest - 8, // 9: lemming.dataplane.sai.Lag.GetLagAttribute:input_type -> lemming.dataplane.sai.GetLagAttributeRequest - 10, // 10: lemming.dataplane.sai.Lag.CreateLagMember:input_type -> lemming.dataplane.sai.CreateLagMemberRequest - 12, // 11: lemming.dataplane.sai.Lag.RemoveLagMember:input_type -> lemming.dataplane.sai.RemoveLagMemberRequest - 14, // 12: lemming.dataplane.sai.Lag.SetLagMemberAttribute:input_type -> lemming.dataplane.sai.SetLagMemberAttributeRequest - 16, // 13: lemming.dataplane.sai.Lag.GetLagMemberAttribute:input_type -> lemming.dataplane.sai.GetLagMemberAttributeRequest - 18, // 14: lemming.dataplane.sai.Lag.CreateLagMembers:input_type -> lemming.dataplane.sai.CreateLagMembersRequest - 3, // 15: lemming.dataplane.sai.Lag.CreateLag:output_type -> lemming.dataplane.sai.CreateLagResponse - 5, // 16: lemming.dataplane.sai.Lag.RemoveLag:output_type -> lemming.dataplane.sai.RemoveLagResponse - 7, // 17: lemming.dataplane.sai.Lag.SetLagAttribute:output_type -> lemming.dataplane.sai.SetLagAttributeResponse - 9, // 18: lemming.dataplane.sai.Lag.GetLagAttribute:output_type -> lemming.dataplane.sai.GetLagAttributeResponse - 11, // 19: lemming.dataplane.sai.Lag.CreateLagMember:output_type -> lemming.dataplane.sai.CreateLagMemberResponse - 13, // 20: lemming.dataplane.sai.Lag.RemoveLagMember:output_type -> lemming.dataplane.sai.RemoveLagMemberResponse - 15, // 21: lemming.dataplane.sai.Lag.SetLagMemberAttribute:output_type -> lemming.dataplane.sai.SetLagMemberAttributeResponse - 17, // 22: lemming.dataplane.sai.Lag.GetLagMemberAttribute:output_type -> lemming.dataplane.sai.GetLagMemberAttributeResponse - 19, // 23: lemming.dataplane.sai.Lag.CreateLagMembers:output_type -> lemming.dataplane.sai.CreateLagMembersResponse - 15, // [15:24] is the sub-list for method output_type - 6, // [6:15] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 12, // 6: lemming.dataplane.sai.RemoveLagMembersRequest.reqs:type_name -> lemming.dataplane.sai.RemoveLagMemberRequest + 13, // 7: lemming.dataplane.sai.RemoveLagMembersResponse.resps:type_name -> lemming.dataplane.sai.RemoveLagMemberResponse + 2, // 8: lemming.dataplane.sai.Lag.CreateLag:input_type -> lemming.dataplane.sai.CreateLagRequest + 4, // 9: lemming.dataplane.sai.Lag.RemoveLag:input_type -> lemming.dataplane.sai.RemoveLagRequest + 6, // 10: lemming.dataplane.sai.Lag.SetLagAttribute:input_type -> lemming.dataplane.sai.SetLagAttributeRequest + 8, // 11: lemming.dataplane.sai.Lag.GetLagAttribute:input_type -> lemming.dataplane.sai.GetLagAttributeRequest + 10, // 12: lemming.dataplane.sai.Lag.CreateLagMember:input_type -> lemming.dataplane.sai.CreateLagMemberRequest + 12, // 13: lemming.dataplane.sai.Lag.RemoveLagMember:input_type -> lemming.dataplane.sai.RemoveLagMemberRequest + 14, // 14: lemming.dataplane.sai.Lag.SetLagMemberAttribute:input_type -> lemming.dataplane.sai.SetLagMemberAttributeRequest + 16, // 15: lemming.dataplane.sai.Lag.GetLagMemberAttribute:input_type -> lemming.dataplane.sai.GetLagMemberAttributeRequest + 18, // 16: lemming.dataplane.sai.Lag.CreateLagMembers:input_type -> lemming.dataplane.sai.CreateLagMembersRequest + 20, // 17: lemming.dataplane.sai.Lag.RemoveLagMembers:input_type -> lemming.dataplane.sai.RemoveLagMembersRequest + 3, // 18: lemming.dataplane.sai.Lag.CreateLag:output_type -> lemming.dataplane.sai.CreateLagResponse + 5, // 19: lemming.dataplane.sai.Lag.RemoveLag:output_type -> lemming.dataplane.sai.RemoveLagResponse + 7, // 20: lemming.dataplane.sai.Lag.SetLagAttribute:output_type -> lemming.dataplane.sai.SetLagAttributeResponse + 9, // 21: lemming.dataplane.sai.Lag.GetLagAttribute:output_type -> lemming.dataplane.sai.GetLagAttributeResponse + 11, // 22: lemming.dataplane.sai.Lag.CreateLagMember:output_type -> lemming.dataplane.sai.CreateLagMemberResponse + 13, // 23: lemming.dataplane.sai.Lag.RemoveLagMember:output_type -> lemming.dataplane.sai.RemoveLagMemberResponse + 15, // 24: lemming.dataplane.sai.Lag.SetLagMemberAttribute:output_type -> lemming.dataplane.sai.SetLagMemberAttributeResponse + 17, // 25: lemming.dataplane.sai.Lag.GetLagMemberAttribute:output_type -> lemming.dataplane.sai.GetLagMemberAttributeResponse + 19, // 26: lemming.dataplane.sai.Lag.CreateLagMembers:output_type -> lemming.dataplane.sai.CreateLagMembersResponse + 21, // 27: lemming.dataplane.sai.Lag.RemoveLagMembers:output_type -> lemming.dataplane.sai.RemoveLagMembersResponse + 18, // [18:28] is the sub-list for method output_type + 8, // [8:18] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_lag_proto_init() } @@ -1726,6 +1845,30 @@ func file_dataplane_proto_sai_lag_proto_init() { return nil } } + file_dataplane_proto_sai_lag_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveLagMembersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_lag_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveLagMembersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_lag_proto_msgTypes[0].OneofWrappers = []interface{}{} file_dataplane_proto_sai_lag_proto_msgTypes[4].OneofWrappers = []interface{}{} @@ -1737,7 +1880,7 @@ func file_dataplane_proto_sai_lag_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_lag_proto_rawDesc, NumEnums: 2, - NumMessages: 18, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, @@ -1773,6 +1916,7 @@ type LagClient interface { SetLagMemberAttribute(ctx context.Context, in *SetLagMemberAttributeRequest, opts ...grpc.CallOption) (*SetLagMemberAttributeResponse, error) GetLagMemberAttribute(ctx context.Context, in *GetLagMemberAttributeRequest, opts ...grpc.CallOption) (*GetLagMemberAttributeResponse, error) CreateLagMembers(ctx context.Context, in *CreateLagMembersRequest, opts ...grpc.CallOption) (*CreateLagMembersResponse, error) + RemoveLagMembers(ctx context.Context, in *RemoveLagMembersRequest, opts ...grpc.CallOption) (*RemoveLagMembersResponse, error) } type lagClient struct { @@ -1864,6 +2008,15 @@ func (c *lagClient) CreateLagMembers(ctx context.Context, in *CreateLagMembersRe return out, nil } +func (c *lagClient) RemoveLagMembers(ctx context.Context, in *RemoveLagMembersRequest, opts ...grpc.CallOption) (*RemoveLagMembersResponse, error) { + out := new(RemoveLagMembersResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Lag/RemoveLagMembers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // LagServer is the server API for Lag service. type LagServer interface { CreateLag(context.Context, *CreateLagRequest) (*CreateLagResponse, error) @@ -1875,6 +2028,7 @@ type LagServer interface { SetLagMemberAttribute(context.Context, *SetLagMemberAttributeRequest) (*SetLagMemberAttributeResponse, error) GetLagMemberAttribute(context.Context, *GetLagMemberAttributeRequest) (*GetLagMemberAttributeResponse, error) CreateLagMembers(context.Context, *CreateLagMembersRequest) (*CreateLagMembersResponse, error) + RemoveLagMembers(context.Context, *RemoveLagMembersRequest) (*RemoveLagMembersResponse, error) } // UnimplementedLagServer can be embedded to have forward compatible implementations. @@ -1908,6 +2062,9 @@ func (*UnimplementedLagServer) GetLagMemberAttribute(context.Context, *GetLagMem func (*UnimplementedLagServer) CreateLagMembers(context.Context, *CreateLagMembersRequest) (*CreateLagMembersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateLagMembers not implemented") } +func (*UnimplementedLagServer) RemoveLagMembers(context.Context, *RemoveLagMembersRequest) (*RemoveLagMembersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveLagMembers not implemented") +} func RegisterLagServer(s *grpc.Server, srv LagServer) { s.RegisterService(&_Lag_serviceDesc, srv) @@ -2075,6 +2232,24 @@ func _Lag_CreateLagMembers_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Lag_RemoveLagMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveLagMembersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LagServer).RemoveLagMembers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Lag/RemoveLagMembers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LagServer).RemoveLagMembers(ctx, req.(*RemoveLagMembersRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Lag_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.Lag", HandlerType: (*LagServer)(nil), @@ -2115,6 +2290,10 @@ var _Lag_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateLagMembers", Handler: _Lag_CreateLagMembers_Handler, }, + { + MethodName: "RemoveLagMembers", + Handler: _Lag_RemoveLagMembers_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/lag.proto", diff --git a/dataplane/proto/sai/lag.proto b/dataplane/proto/sai/lag.proto index 3924ee5c..683283d5 100644 --- a/dataplane/proto/sai/lag.proto +++ b/dataplane/proto/sai/lag.proto @@ -120,6 +120,14 @@ message CreateLagMembersResponse { repeated CreateLagMemberResponse resps = 1; } +message RemoveLagMembersRequest { + repeated RemoveLagMemberRequest reqs = 1; +} + +message RemoveLagMembersResponse { + repeated RemoveLagMemberResponse resps = 1; +} + service Lag { rpc CreateLag(CreateLagRequest) returns (CreateLagResponse) {} rpc RemoveLag(RemoveLagRequest) returns (RemoveLagResponse) {} @@ -137,4 +145,6 @@ service Lag { returns (GetLagMemberAttributeResponse) {} rpc CreateLagMembers(CreateLagMembersRequest) returns (CreateLagMembersResponse) {} + rpc RemoveLagMembers(RemoveLagMembersRequest) + returns (RemoveLagMembersResponse) {} } diff --git a/dataplane/proto/sai/mpls.pb.go b/dataplane/proto/sai/mpls.pb.go index 3ab7b06d..91604912 100644 --- a/dataplane/proto/sai/mpls.pb.go +++ b/dataplane/proto/sai/mpls.pb.go @@ -727,6 +727,100 @@ func (x *CreateInsegEntriesResponse) GetResps() []*CreateInsegEntryResponse { return nil } +type RemoveInsegEntriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveInsegEntryRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveInsegEntriesRequest) Reset() { + *x = RemoveInsegEntriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_mpls_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveInsegEntriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveInsegEntriesRequest) ProtoMessage() {} + +func (x *RemoveInsegEntriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_mpls_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveInsegEntriesRequest.ProtoReflect.Descriptor instead. +func (*RemoveInsegEntriesRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_mpls_proto_rawDescGZIP(), []int{10} +} + +func (x *RemoveInsegEntriesRequest) GetReqs() []*RemoveInsegEntryRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveInsegEntriesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveInsegEntryResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveInsegEntriesResponse) Reset() { + *x = RemoveInsegEntriesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_mpls_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveInsegEntriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveInsegEntriesResponse) ProtoMessage() {} + +func (x *RemoveInsegEntriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_mpls_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveInsegEntriesResponse.ProtoReflect.Descriptor instead. +func (*RemoveInsegEntriesResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_mpls_proto_rawDescGZIP(), []int{11} +} + +func (x *RemoveInsegEntriesResponse) GetResps() []*RemoveInsegEntryResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_mpls_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_mpls_proto_rawDesc = []byte{ @@ -896,79 +990,99 @@ var file_dataplane_proto_sai_mpls_proto_rawDesc = []byte{ 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xb5, 0x03, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x65, 0x67, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4e, 0x53, - 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x49, - 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x4e, 0x55, 0x4d, 0x5f, 0x4f, 0x46, 0x5f, 0x50, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, + 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x63, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xb5, 0x03, 0x0a, + 0x0e, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, + 0x20, 0x0a, 0x1c, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x4f, 0x46, 0x5f, 0x50, 0x4f, 0x50, + 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, + 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, + 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x50, 0x5f, + 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4e, + 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, + 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, - 0x12, 0x22, 0x0a, 0x1e, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x50, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, - 0x54, 0x59, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, - 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, - 0x50, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, - 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x53, 0x43, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, - 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, - 0x10, 0x06, 0x12, 0x27, 0x0a, 0x23, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, - 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, - 0x54, 0x4f, 0x5f, 0x54, 0x43, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x07, 0x12, 0x2a, 0x0a, 0x26, 0x49, + 0x5f, 0x50, 0x53, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, - 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, 0x53, 0x45, 0x47, - 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x50, 0x5f, - 0x54, 0x54, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x09, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, - 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, - 0x4f, 0x50, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0a, 0x12, 0x1f, 0x0a, - 0x1b, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x0b, 0x32, 0x85, - 0x05, 0x0a, 0x04, 0x4d, 0x70, 0x6c, 0x73, 0x12, 0x75, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, - 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, + 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x10, 0x06, 0x12, 0x27, 0x0a, 0x23, 0x49, 0x4e, 0x53, 0x45, + 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x50, 0x4c, + 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x43, 0x5f, 0x4d, 0x41, 0x50, 0x10, + 0x07, 0x12, 0x2a, 0x0a, 0x26, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x54, + 0x4f, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x08, 0x12, 0x21, 0x0a, + 0x1d, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x50, 0x4f, 0x50, 0x5f, 0x54, 0x54, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x09, + 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x50, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x10, 0x0a, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x4e, 0x54, + 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, + 0x49, 0x44, 0x10, 0x0b, 0x32, 0x82, 0x06, 0x0a, 0x04, 0x4d, 0x70, 0x6c, 0x73, 0x12, 0x75, 0x0a, + 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, + 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, + 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, + 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, - 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -984,7 +1098,7 @@ func file_dataplane_proto_sai_mpls_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_mpls_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_dataplane_proto_sai_mpls_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_dataplane_proto_sai_mpls_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_dataplane_proto_sai_mpls_proto_goTypes = []interface{}{ (InsegEntryAttr)(0), // 0: lemming.dataplane.sai.InsegEntryAttr (*CreateInsegEntryRequest)(nil), // 1: lemming.dataplane.sai.CreateInsegEntryRequest @@ -997,45 +1111,51 @@ var file_dataplane_proto_sai_mpls_proto_goTypes = []interface{}{ (*GetInsegEntryAttributeResponse)(nil), // 8: lemming.dataplane.sai.GetInsegEntryAttributeResponse (*CreateInsegEntriesRequest)(nil), // 9: lemming.dataplane.sai.CreateInsegEntriesRequest (*CreateInsegEntriesResponse)(nil), // 10: lemming.dataplane.sai.CreateInsegEntriesResponse - (*InsegEntry)(nil), // 11: lemming.dataplane.sai.InsegEntry - (PacketAction)(0), // 12: lemming.dataplane.sai.PacketAction - (InsegEntryPscType)(0), // 13: lemming.dataplane.sai.InsegEntryPscType - (InsegEntryPopTtlMode)(0), // 14: lemming.dataplane.sai.InsegEntryPopTtlMode - (InsegEntryPopQosMode)(0), // 15: lemming.dataplane.sai.InsegEntryPopQosMode - (*InsegEntryAttribute)(nil), // 16: lemming.dataplane.sai.InsegEntryAttribute + (*RemoveInsegEntriesRequest)(nil), // 11: lemming.dataplane.sai.RemoveInsegEntriesRequest + (*RemoveInsegEntriesResponse)(nil), // 12: lemming.dataplane.sai.RemoveInsegEntriesResponse + (*InsegEntry)(nil), // 13: lemming.dataplane.sai.InsegEntry + (PacketAction)(0), // 14: lemming.dataplane.sai.PacketAction + (InsegEntryPscType)(0), // 15: lemming.dataplane.sai.InsegEntryPscType + (InsegEntryPopTtlMode)(0), // 16: lemming.dataplane.sai.InsegEntryPopTtlMode + (InsegEntryPopQosMode)(0), // 17: lemming.dataplane.sai.InsegEntryPopQosMode + (*InsegEntryAttribute)(nil), // 18: lemming.dataplane.sai.InsegEntryAttribute } var file_dataplane_proto_sai_mpls_proto_depIdxs = []int32{ - 11, // 0: lemming.dataplane.sai.CreateInsegEntryRequest.entry:type_name -> lemming.dataplane.sai.InsegEntry - 12, // 1: lemming.dataplane.sai.CreateInsegEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 13, // 2: lemming.dataplane.sai.CreateInsegEntryRequest.psc_type:type_name -> lemming.dataplane.sai.InsegEntryPscType - 14, // 3: lemming.dataplane.sai.CreateInsegEntryRequest.pop_ttl_mode:type_name -> lemming.dataplane.sai.InsegEntryPopTtlMode - 15, // 4: lemming.dataplane.sai.CreateInsegEntryRequest.pop_qos_mode:type_name -> lemming.dataplane.sai.InsegEntryPopQosMode - 11, // 5: lemming.dataplane.sai.RemoveInsegEntryRequest.entry:type_name -> lemming.dataplane.sai.InsegEntry - 11, // 6: lemming.dataplane.sai.SetInsegEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.InsegEntry - 12, // 7: lemming.dataplane.sai.SetInsegEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 13, // 8: lemming.dataplane.sai.SetInsegEntryAttributeRequest.psc_type:type_name -> lemming.dataplane.sai.InsegEntryPscType - 14, // 9: lemming.dataplane.sai.SetInsegEntryAttributeRequest.pop_ttl_mode:type_name -> lemming.dataplane.sai.InsegEntryPopTtlMode - 15, // 10: lemming.dataplane.sai.SetInsegEntryAttributeRequest.pop_qos_mode:type_name -> lemming.dataplane.sai.InsegEntryPopQosMode - 11, // 11: lemming.dataplane.sai.GetInsegEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.InsegEntry + 13, // 0: lemming.dataplane.sai.CreateInsegEntryRequest.entry:type_name -> lemming.dataplane.sai.InsegEntry + 14, // 1: lemming.dataplane.sai.CreateInsegEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 15, // 2: lemming.dataplane.sai.CreateInsegEntryRequest.psc_type:type_name -> lemming.dataplane.sai.InsegEntryPscType + 16, // 3: lemming.dataplane.sai.CreateInsegEntryRequest.pop_ttl_mode:type_name -> lemming.dataplane.sai.InsegEntryPopTtlMode + 17, // 4: lemming.dataplane.sai.CreateInsegEntryRequest.pop_qos_mode:type_name -> lemming.dataplane.sai.InsegEntryPopQosMode + 13, // 5: lemming.dataplane.sai.RemoveInsegEntryRequest.entry:type_name -> lemming.dataplane.sai.InsegEntry + 13, // 6: lemming.dataplane.sai.SetInsegEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.InsegEntry + 14, // 7: lemming.dataplane.sai.SetInsegEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 15, // 8: lemming.dataplane.sai.SetInsegEntryAttributeRequest.psc_type:type_name -> lemming.dataplane.sai.InsegEntryPscType + 16, // 9: lemming.dataplane.sai.SetInsegEntryAttributeRequest.pop_ttl_mode:type_name -> lemming.dataplane.sai.InsegEntryPopTtlMode + 17, // 10: lemming.dataplane.sai.SetInsegEntryAttributeRequest.pop_qos_mode:type_name -> lemming.dataplane.sai.InsegEntryPopQosMode + 13, // 11: lemming.dataplane.sai.GetInsegEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.InsegEntry 0, // 12: lemming.dataplane.sai.GetInsegEntryAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.InsegEntryAttr - 16, // 13: lemming.dataplane.sai.GetInsegEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.InsegEntryAttribute + 18, // 13: lemming.dataplane.sai.GetInsegEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.InsegEntryAttribute 1, // 14: lemming.dataplane.sai.CreateInsegEntriesRequest.reqs:type_name -> lemming.dataplane.sai.CreateInsegEntryRequest 2, // 15: lemming.dataplane.sai.CreateInsegEntriesResponse.resps:type_name -> lemming.dataplane.sai.CreateInsegEntryResponse - 1, // 16: lemming.dataplane.sai.Mpls.CreateInsegEntry:input_type -> lemming.dataplane.sai.CreateInsegEntryRequest - 3, // 17: lemming.dataplane.sai.Mpls.RemoveInsegEntry:input_type -> lemming.dataplane.sai.RemoveInsegEntryRequest - 5, // 18: lemming.dataplane.sai.Mpls.SetInsegEntryAttribute:input_type -> lemming.dataplane.sai.SetInsegEntryAttributeRequest - 7, // 19: lemming.dataplane.sai.Mpls.GetInsegEntryAttribute:input_type -> lemming.dataplane.sai.GetInsegEntryAttributeRequest - 9, // 20: lemming.dataplane.sai.Mpls.CreateInsegEntries:input_type -> lemming.dataplane.sai.CreateInsegEntriesRequest - 2, // 21: lemming.dataplane.sai.Mpls.CreateInsegEntry:output_type -> lemming.dataplane.sai.CreateInsegEntryResponse - 4, // 22: lemming.dataplane.sai.Mpls.RemoveInsegEntry:output_type -> lemming.dataplane.sai.RemoveInsegEntryResponse - 6, // 23: lemming.dataplane.sai.Mpls.SetInsegEntryAttribute:output_type -> lemming.dataplane.sai.SetInsegEntryAttributeResponse - 8, // 24: lemming.dataplane.sai.Mpls.GetInsegEntryAttribute:output_type -> lemming.dataplane.sai.GetInsegEntryAttributeResponse - 10, // 25: lemming.dataplane.sai.Mpls.CreateInsegEntries:output_type -> lemming.dataplane.sai.CreateInsegEntriesResponse - 21, // [21:26] is the sub-list for method output_type - 16, // [16:21] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 3, // 16: lemming.dataplane.sai.RemoveInsegEntriesRequest.reqs:type_name -> lemming.dataplane.sai.RemoveInsegEntryRequest + 4, // 17: lemming.dataplane.sai.RemoveInsegEntriesResponse.resps:type_name -> lemming.dataplane.sai.RemoveInsegEntryResponse + 1, // 18: lemming.dataplane.sai.Mpls.CreateInsegEntry:input_type -> lemming.dataplane.sai.CreateInsegEntryRequest + 3, // 19: lemming.dataplane.sai.Mpls.RemoveInsegEntry:input_type -> lemming.dataplane.sai.RemoveInsegEntryRequest + 5, // 20: lemming.dataplane.sai.Mpls.SetInsegEntryAttribute:input_type -> lemming.dataplane.sai.SetInsegEntryAttributeRequest + 7, // 21: lemming.dataplane.sai.Mpls.GetInsegEntryAttribute:input_type -> lemming.dataplane.sai.GetInsegEntryAttributeRequest + 9, // 22: lemming.dataplane.sai.Mpls.CreateInsegEntries:input_type -> lemming.dataplane.sai.CreateInsegEntriesRequest + 11, // 23: lemming.dataplane.sai.Mpls.RemoveInsegEntries:input_type -> lemming.dataplane.sai.RemoveInsegEntriesRequest + 2, // 24: lemming.dataplane.sai.Mpls.CreateInsegEntry:output_type -> lemming.dataplane.sai.CreateInsegEntryResponse + 4, // 25: lemming.dataplane.sai.Mpls.RemoveInsegEntry:output_type -> lemming.dataplane.sai.RemoveInsegEntryResponse + 6, // 26: lemming.dataplane.sai.Mpls.SetInsegEntryAttribute:output_type -> lemming.dataplane.sai.SetInsegEntryAttributeResponse + 8, // 27: lemming.dataplane.sai.Mpls.GetInsegEntryAttribute:output_type -> lemming.dataplane.sai.GetInsegEntryAttributeResponse + 10, // 28: lemming.dataplane.sai.Mpls.CreateInsegEntries:output_type -> lemming.dataplane.sai.CreateInsegEntriesResponse + 12, // 29: lemming.dataplane.sai.Mpls.RemoveInsegEntries:output_type -> lemming.dataplane.sai.RemoveInsegEntriesResponse + 24, // [24:30] is the sub-list for method output_type + 18, // [18:24] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_mpls_proto_init() } @@ -1165,6 +1285,30 @@ func file_dataplane_proto_sai_mpls_proto_init() { return nil } } + file_dataplane_proto_sai_mpls_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveInsegEntriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_mpls_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveInsegEntriesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_mpls_proto_msgTypes[0].OneofWrappers = []interface{}{} file_dataplane_proto_sai_mpls_proto_msgTypes[4].OneofWrappers = []interface{}{} @@ -1174,7 +1318,7 @@ func file_dataplane_proto_sai_mpls_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_mpls_proto_rawDesc, NumEnums: 1, - NumMessages: 10, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, @@ -1206,6 +1350,7 @@ type MplsClient interface { SetInsegEntryAttribute(ctx context.Context, in *SetInsegEntryAttributeRequest, opts ...grpc.CallOption) (*SetInsegEntryAttributeResponse, error) GetInsegEntryAttribute(ctx context.Context, in *GetInsegEntryAttributeRequest, opts ...grpc.CallOption) (*GetInsegEntryAttributeResponse, error) CreateInsegEntries(ctx context.Context, in *CreateInsegEntriesRequest, opts ...grpc.CallOption) (*CreateInsegEntriesResponse, error) + RemoveInsegEntries(ctx context.Context, in *RemoveInsegEntriesRequest, opts ...grpc.CallOption) (*RemoveInsegEntriesResponse, error) } type mplsClient struct { @@ -1261,6 +1406,15 @@ func (c *mplsClient) CreateInsegEntries(ctx context.Context, in *CreateInsegEntr return out, nil } +func (c *mplsClient) RemoveInsegEntries(ctx context.Context, in *RemoveInsegEntriesRequest, opts ...grpc.CallOption) (*RemoveInsegEntriesResponse, error) { + out := new(RemoveInsegEntriesResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Mpls/RemoveInsegEntries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MplsServer is the server API for Mpls service. type MplsServer interface { CreateInsegEntry(context.Context, *CreateInsegEntryRequest) (*CreateInsegEntryResponse, error) @@ -1268,6 +1422,7 @@ type MplsServer interface { SetInsegEntryAttribute(context.Context, *SetInsegEntryAttributeRequest) (*SetInsegEntryAttributeResponse, error) GetInsegEntryAttribute(context.Context, *GetInsegEntryAttributeRequest) (*GetInsegEntryAttributeResponse, error) CreateInsegEntries(context.Context, *CreateInsegEntriesRequest) (*CreateInsegEntriesResponse, error) + RemoveInsegEntries(context.Context, *RemoveInsegEntriesRequest) (*RemoveInsegEntriesResponse, error) } // UnimplementedMplsServer can be embedded to have forward compatible implementations. @@ -1289,6 +1444,9 @@ func (*UnimplementedMplsServer) GetInsegEntryAttribute(context.Context, *GetInse func (*UnimplementedMplsServer) CreateInsegEntries(context.Context, *CreateInsegEntriesRequest) (*CreateInsegEntriesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateInsegEntries not implemented") } +func (*UnimplementedMplsServer) RemoveInsegEntries(context.Context, *RemoveInsegEntriesRequest) (*RemoveInsegEntriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveInsegEntries not implemented") +} func RegisterMplsServer(s *grpc.Server, srv MplsServer) { s.RegisterService(&_Mpls_serviceDesc, srv) @@ -1384,6 +1542,24 @@ func _Mpls_CreateInsegEntries_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Mpls_RemoveInsegEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveInsegEntriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MplsServer).RemoveInsegEntries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Mpls/RemoveInsegEntries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MplsServer).RemoveInsegEntries(ctx, req.(*RemoveInsegEntriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Mpls_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.Mpls", HandlerType: (*MplsServer)(nil), @@ -1408,6 +1584,10 @@ var _Mpls_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateInsegEntries", Handler: _Mpls_CreateInsegEntries_Handler, }, + { + MethodName: "RemoveInsegEntries", + Handler: _Mpls_RemoveInsegEntries_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/mpls.proto", diff --git a/dataplane/proto/sai/mpls.proto b/dataplane/proto/sai/mpls.proto index df709f2e..3bc42d95 100644 --- a/dataplane/proto/sai/mpls.proto +++ b/dataplane/proto/sai/mpls.proto @@ -80,6 +80,14 @@ message CreateInsegEntriesResponse { repeated CreateInsegEntryResponse resps = 1; } +message RemoveInsegEntriesRequest { + repeated RemoveInsegEntryRequest reqs = 1; +} + +message RemoveInsegEntriesResponse { + repeated RemoveInsegEntryResponse resps = 1; +} + service Mpls { rpc CreateInsegEntry(CreateInsegEntryRequest) returns (CreateInsegEntryResponse) {} @@ -91,4 +99,6 @@ service Mpls { returns (GetInsegEntryAttributeResponse) {} rpc CreateInsegEntries(CreateInsegEntriesRequest) returns (CreateInsegEntriesResponse) {} + rpc RemoveInsegEntries(RemoveInsegEntriesRequest) + returns (RemoveInsegEntriesResponse) {} } diff --git a/dataplane/proto/sai/nat.pb.go b/dataplane/proto/sai/nat.pb.go index 6d8dd961..d9716781 100644 --- a/dataplane/proto/sai/nat.pb.go +++ b/dataplane/proto/sai/nat.pb.go @@ -870,6 +870,100 @@ func (x *CreateNatEntriesResponse) GetResps() []*CreateNatEntryResponse { return nil } +type RemoveNatEntriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveNatEntryRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveNatEntriesRequest) Reset() { + *x = RemoveNatEntriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveNatEntriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveNatEntriesRequest) ProtoMessage() {} + +func (x *RemoveNatEntriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveNatEntriesRequest.ProtoReflect.Descriptor instead. +func (*RemoveNatEntriesRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{10} +} + +func (x *RemoveNatEntriesRequest) GetReqs() []*RemoveNatEntryRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveNatEntriesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveNatEntryResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveNatEntriesResponse) Reset() { + *x = RemoveNatEntriesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveNatEntriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveNatEntriesResponse) ProtoMessage() {} + +func (x *RemoveNatEntriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveNatEntriesResponse.ProtoReflect.Descriptor instead. +func (*RemoveNatEntriesResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{11} +} + +func (x *RemoveNatEntriesResponse) GetResps() []*RemoveNatEntryResponse { + if x != nil { + return x.Resps + } + return nil +} + type CreateNatZoneCounterRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -889,7 +983,7 @@ type CreateNatZoneCounterRequest struct { func (x *CreateNatZoneCounterRequest) Reset() { *x = CreateNatZoneCounterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[10] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -902,7 +996,7 @@ func (x *CreateNatZoneCounterRequest) String() string { func (*CreateNatZoneCounterRequest) ProtoMessage() {} func (x *CreateNatZoneCounterRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[10] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -915,7 +1009,7 @@ func (x *CreateNatZoneCounterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNatZoneCounterRequest.ProtoReflect.Descriptor instead. func (*CreateNatZoneCounterRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{10} + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{12} } func (x *CreateNatZoneCounterRequest) GetSwitch() uint64 { @@ -992,7 +1086,7 @@ type CreateNatZoneCounterResponse struct { func (x *CreateNatZoneCounterResponse) Reset() { *x = CreateNatZoneCounterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[11] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1005,7 +1099,7 @@ func (x *CreateNatZoneCounterResponse) String() string { func (*CreateNatZoneCounterResponse) ProtoMessage() {} func (x *CreateNatZoneCounterResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[11] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1018,7 +1112,7 @@ func (x *CreateNatZoneCounterResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNatZoneCounterResponse.ProtoReflect.Descriptor instead. func (*CreateNatZoneCounterResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{11} + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{13} } func (x *CreateNatZoneCounterResponse) GetOid() uint64 { @@ -1039,7 +1133,7 @@ type RemoveNatZoneCounterRequest struct { func (x *RemoveNatZoneCounterRequest) Reset() { *x = RemoveNatZoneCounterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[12] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1052,7 +1146,7 @@ func (x *RemoveNatZoneCounterRequest) String() string { func (*RemoveNatZoneCounterRequest) ProtoMessage() {} func (x *RemoveNatZoneCounterRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[12] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1065,7 +1159,7 @@ func (x *RemoveNatZoneCounterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveNatZoneCounterRequest.ProtoReflect.Descriptor instead. func (*RemoveNatZoneCounterRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{12} + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{14} } func (x *RemoveNatZoneCounterRequest) GetOid() uint64 { @@ -1084,7 +1178,7 @@ type RemoveNatZoneCounterResponse struct { func (x *RemoveNatZoneCounterResponse) Reset() { *x = RemoveNatZoneCounterResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[13] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1097,7 +1191,7 @@ func (x *RemoveNatZoneCounterResponse) String() string { func (*RemoveNatZoneCounterResponse) ProtoMessage() {} func (x *RemoveNatZoneCounterResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[13] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1110,7 +1204,7 @@ func (x *RemoveNatZoneCounterResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveNatZoneCounterResponse.ProtoReflect.Descriptor instead. func (*RemoveNatZoneCounterResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{13} + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{15} } type SetNatZoneCounterAttributeRequest struct { @@ -1129,7 +1223,7 @@ type SetNatZoneCounterAttributeRequest struct { func (x *SetNatZoneCounterAttributeRequest) Reset() { *x = SetNatZoneCounterAttributeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[14] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1142,7 +1236,7 @@ func (x *SetNatZoneCounterAttributeRequest) String() string { func (*SetNatZoneCounterAttributeRequest) ProtoMessage() {} func (x *SetNatZoneCounterAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[14] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1155,7 +1249,7 @@ func (x *SetNatZoneCounterAttributeRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetNatZoneCounterAttributeRequest.ProtoReflect.Descriptor instead. func (*SetNatZoneCounterAttributeRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{14} + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{16} } func (x *SetNatZoneCounterAttributeRequest) GetOid() uint64 { @@ -1209,7 +1303,7 @@ type SetNatZoneCounterAttributeResponse struct { func (x *SetNatZoneCounterAttributeResponse) Reset() { *x = SetNatZoneCounterAttributeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[15] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1222,7 +1316,7 @@ func (x *SetNatZoneCounterAttributeResponse) String() string { func (*SetNatZoneCounterAttributeResponse) ProtoMessage() {} func (x *SetNatZoneCounterAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[15] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1235,7 +1329,7 @@ func (x *SetNatZoneCounterAttributeResponse) ProtoReflect() protoreflect.Message // Deprecated: Use SetNatZoneCounterAttributeResponse.ProtoReflect.Descriptor instead. func (*SetNatZoneCounterAttributeResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{15} + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{17} } type GetNatZoneCounterAttributeRequest struct { @@ -1250,7 +1344,7 @@ type GetNatZoneCounterAttributeRequest struct { func (x *GetNatZoneCounterAttributeRequest) Reset() { *x = GetNatZoneCounterAttributeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[16] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1263,7 +1357,7 @@ func (x *GetNatZoneCounterAttributeRequest) String() string { func (*GetNatZoneCounterAttributeRequest) ProtoMessage() {} func (x *GetNatZoneCounterAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[16] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1276,7 +1370,7 @@ func (x *GetNatZoneCounterAttributeRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetNatZoneCounterAttributeRequest.ProtoReflect.Descriptor instead. func (*GetNatZoneCounterAttributeRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{16} + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{18} } func (x *GetNatZoneCounterAttributeRequest) GetOid() uint64 { @@ -1304,7 +1398,7 @@ type GetNatZoneCounterAttributeResponse struct { func (x *GetNatZoneCounterAttributeResponse) Reset() { *x = GetNatZoneCounterAttributeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[17] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1317,7 +1411,7 @@ func (x *GetNatZoneCounterAttributeResponse) String() string { func (*GetNatZoneCounterAttributeResponse) ProtoMessage() {} func (x *GetNatZoneCounterAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_nat_proto_msgTypes[17] + mi := &file_dataplane_proto_sai_nat_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1330,7 +1424,7 @@ func (x *GetNatZoneCounterAttributeResponse) ProtoReflect() protoreflect.Message // Deprecated: Use GetNatZoneCounterAttributeResponse.ProtoReflect.Descriptor instead. func (*GetNatZoneCounterAttributeResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{17} + return file_dataplane_proto_sai_nat_proto_rawDescGZIP(), []int{19} } func (x *GetNatZoneCounterAttributeResponse) GetAttr() *NatZoneCounterAttribute { @@ -1512,249 +1606,268 @@ var file_dataplane_proto_sai_nat_proto_rawDesc = []byte{ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0xff, 0x05, 0x0a, 0x1b, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x77, 0x69, - 0x74, 0x63, 0x68, 0x12, 0x46, 0x0a, 0x08, 0x6e, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4e, 0x61, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x01, 0x48, 0x00, 0x52, - 0x07, 0x6e, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x07, 0x7a, - 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x06, 0xf0, 0xdc, - 0x93, 0xad, 0x0f, 0x02, 0x48, 0x01, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x32, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, - 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, - 0x03, 0x48, 0x02, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x04, 0x48, 0x03, 0x52, 0x12, 0x64, - 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x5b, 0x0a, 0x17, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x5f, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0xff, 0x05, 0x0a, 0x1b, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x77, 0x69, + 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x12, 0x46, 0x0a, 0x08, 0x6e, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4e, 0x61, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x01, 0x48, 0x00, 0x52, 0x07, 0x6e, + 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, + 0x0f, 0x02, 0x48, 0x01, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x32, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x03, 0x48, + 0x02, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x04, 0x48, 0x03, 0x52, 0x12, 0x64, 0x69, 0x73, + 0x63, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x47, 0x0a, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x05, 0x48, 0x04, 0x52, + 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x1f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x05, 0x48, - 0x04, 0x52, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, - 0x1f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, - 0x64, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x06, 0x48, 0x05, - 0x52, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, - 0x64, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x3c, 0x0a, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x06, - 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x07, 0x48, 0x06, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x47, 0x0a, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x08, 0x48, 0x07, 0x52, 0x17, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x3a, 0x06, 0xa0, 0xa9, 0x90, 0xad, 0x0f, 0x52, + 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x06, 0x48, 0x05, 0x52, 0x1c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x3c, 0x0a, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x06, 0xf0, 0xdc, + 0x93, 0xad, 0x0f, 0x07, 0x48, 0x06, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, + 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, + 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x08, 0x48, 0x07, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x3a, 0x06, 0xa0, 0xa9, 0x90, 0xad, 0x0f, 0x52, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, + 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x1c, 0x0a, + 0x1a, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x30, 0x0a, 0x1c, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0x2f, 0x0a, + 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0x1e, + 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf3, + 0x03, 0x0a, 0x21, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x08, 0x6e, 0x61, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x4e, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x01, + 0x48, 0x00, 0x52, 0x07, 0x6e, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x02, 0x48, 0x01, 0x52, 0x06, 0x7a, 0x6f, 0x6e, 0x65, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x04, 0x48, 0x02, 0x52, 0x12, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x1f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, + 0x93, 0xad, 0x0f, 0x06, 0x48, 0x03, 0x52, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x19, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, + 0x0f, 0x08, 0x48, 0x04, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x42, 0x17, 0x0a, 0x15, - 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, - 0x64, 0x65, 0x64, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, - 0x1c, 0x0a, 0x1a, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x30, 0x0a, - 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, - 0x2f, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, - 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, - 0x22, 0x1e, 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xf3, 0x03, 0x0a, 0x21, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x08, 0x6e, 0x61, 0x74, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x4e, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, - 0x0f, 0x01, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x07, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x02, 0x48, 0x01, 0x52, 0x06, 0x7a, 0x6f, 0x6e, - 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x04, 0x48, 0x02, 0x52, 0x12, - 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x1f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, - 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x06, 0x48, 0x03, 0x52, 0x1c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x19, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, - 0x93, 0xad, 0x0f, 0x08, 0x48, 0x04, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x17, 0x0a, 0x15, 0x5f, - 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x24, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, - 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x21, - 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, - 0x6f, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4e, + 0x08, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x24, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, + 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x21, 0x47, 0x65, + 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, + 0x64, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4e, 0x61, 0x74, + 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x52, + 0x08, 0x61, 0x74, 0x74, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x68, 0x0a, 0x22, 0x47, 0x65, 0x74, + 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x42, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x04, 0x61, + 0x74, 0x74, 0x72, 0x2a, 0x84, 0x04, 0x0a, 0x0c, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, + 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, + 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, + 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x49, 0x50, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, + 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, + 0x52, 0x43, 0x5f, 0x49, 0x50, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, + 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, + 0x52, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x49, 0x50, 0x10, + 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, + 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x34, 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, + 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x34, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, + 0x08, 0x12, 0x26, 0x0a, 0x22, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x09, 0x12, 0x1f, 0x0a, 0x1b, 0x4e, 0x41, 0x54, + 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x0a, 0x12, 0x24, 0x0a, 0x20, 0x4e, 0x41, + 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x0b, + 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x0c, 0x12, + 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x10, 0x0d, 0x12, + 0x1a, 0x0a, 0x16, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x42, 0x49, 0x54, 0x10, 0x0e, 0x12, 0x1d, 0x0a, 0x19, 0x4e, + 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x47, + 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0f, 0x2a, 0xb0, 0x03, 0x0a, 0x12, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x68, 0x0a, 0x22, 0x47, - 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x42, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x04, 0x61, 0x74, 0x74, 0x72, 0x2a, 0x84, 0x04, 0x0a, 0x0c, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, - 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, - 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x49, 0x50, 0x10, 0x02, 0x12, 0x1e, - 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x49, 0x50, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x03, 0x12, 0x18, - 0x0a, 0x14, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x56, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x41, 0x54, 0x5f, - 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x49, - 0x50, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x4d, 0x41, 0x53, - 0x4b, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x34, 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x50, 0x4f, 0x52, - 0x54, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x34, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x50, 0x4f, 0x52, - 0x54, 0x10, 0x08, 0x12, 0x26, 0x0a, 0x22, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x09, 0x12, 0x1f, 0x0a, 0x1b, 0x4e, - 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x0a, 0x12, 0x24, 0x0a, 0x20, - 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, - 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x10, 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, - 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x10, - 0x0d, 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x42, 0x49, 0x54, 0x10, 0x0e, 0x12, 0x1d, 0x0a, - 0x19, 0x4e, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x41, 0x47, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0f, 0x2a, 0xb0, 0x03, 0x0a, - 0x12, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, - 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x41, - 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x21, - 0x0a, 0x1d, 0x4e, 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x49, 0x44, 0x10, - 0x02, 0x12, 0x28, 0x0a, 0x24, 0x4e, 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, - 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, - 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x03, 0x12, 0x2e, 0x0a, 0x2a, 0x4e, - 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x33, 0x0a, 0x2f, 0x4e, - 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x05, - 0x12, 0x39, 0x0a, 0x35, 0x4e, 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x06, 0x12, 0x2d, 0x0a, 0x29, 0x4e, - 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x12, 0x33, 0x0a, 0x2f, 0x4e, 0x41, - 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, - 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x08, 0x32, - 0x9a, 0x09, 0x0a, 0x03, 0x4e, 0x61, 0x74, 0x12, 0x6f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, - 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x72, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x41, 0x54, 0x5f, + 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x4e, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, + 0x4e, 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, + 0x28, 0x0a, 0x24, 0x4e, 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, + 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x03, 0x12, 0x2e, 0x0a, 0x2a, 0x4e, 0x41, 0x54, + 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x33, 0x0a, 0x2f, 0x4e, 0x41, 0x54, + 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x05, 0x12, 0x39, + 0x0a, 0x35, 0x4e, 0x41, 0x54, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, + 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x06, 0x12, 0x2d, 0x0a, 0x29, 0x4e, 0x41, 0x54, + 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x12, 0x33, 0x0a, 0x2f, 0x4e, 0x41, 0x54, 0x5f, + 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x08, 0x32, 0x91, 0x0a, + 0x0a, 0x03, 0x4e, 0x61, 0x74, 0x12, 0x6f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x53, 0x65, - 0x74, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x61, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, - 0x65, 0x74, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, - 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x4e, + 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, + 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x75, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, + 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x5a, + 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, + 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, + 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, + 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x93, 0x01, 0x0a, 0x1a, + 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, + 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x75, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, - 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, - 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, - 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, - 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, - 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4e, 0x61, - 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x39, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x5a, 0x6f, - 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 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, 0x70, 0x65, 0x6e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, - 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x00, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1770,7 +1883,7 @@ func file_dataplane_proto_sai_nat_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_nat_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_dataplane_proto_sai_nat_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_dataplane_proto_sai_nat_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_dataplane_proto_sai_nat_proto_goTypes = []interface{}{ (NatEntryAttr)(0), // 0: lemming.dataplane.sai.NatEntryAttr (NatZoneCounterAttr)(0), // 1: lemming.dataplane.sai.NatZoneCounterAttr @@ -1784,57 +1897,63 @@ var file_dataplane_proto_sai_nat_proto_goTypes = []interface{}{ (*GetNatEntryAttributeResponse)(nil), // 9: lemming.dataplane.sai.GetNatEntryAttributeResponse (*CreateNatEntriesRequest)(nil), // 10: lemming.dataplane.sai.CreateNatEntriesRequest (*CreateNatEntriesResponse)(nil), // 11: lemming.dataplane.sai.CreateNatEntriesResponse - (*CreateNatZoneCounterRequest)(nil), // 12: lemming.dataplane.sai.CreateNatZoneCounterRequest - (*CreateNatZoneCounterResponse)(nil), // 13: lemming.dataplane.sai.CreateNatZoneCounterResponse - (*RemoveNatZoneCounterRequest)(nil), // 14: lemming.dataplane.sai.RemoveNatZoneCounterRequest - (*RemoveNatZoneCounterResponse)(nil), // 15: lemming.dataplane.sai.RemoveNatZoneCounterResponse - (*SetNatZoneCounterAttributeRequest)(nil), // 16: lemming.dataplane.sai.SetNatZoneCounterAttributeRequest - (*SetNatZoneCounterAttributeResponse)(nil), // 17: lemming.dataplane.sai.SetNatZoneCounterAttributeResponse - (*GetNatZoneCounterAttributeRequest)(nil), // 18: lemming.dataplane.sai.GetNatZoneCounterAttributeRequest - (*GetNatZoneCounterAttributeResponse)(nil), // 19: lemming.dataplane.sai.GetNatZoneCounterAttributeResponse - (*NatEntry)(nil), // 20: lemming.dataplane.sai.NatEntry - (NatType)(0), // 21: lemming.dataplane.sai.NatType - (*NatEntryAttribute)(nil), // 22: lemming.dataplane.sai.NatEntryAttribute - (*NatZoneCounterAttribute)(nil), // 23: lemming.dataplane.sai.NatZoneCounterAttribute + (*RemoveNatEntriesRequest)(nil), // 12: lemming.dataplane.sai.RemoveNatEntriesRequest + (*RemoveNatEntriesResponse)(nil), // 13: lemming.dataplane.sai.RemoveNatEntriesResponse + (*CreateNatZoneCounterRequest)(nil), // 14: lemming.dataplane.sai.CreateNatZoneCounterRequest + (*CreateNatZoneCounterResponse)(nil), // 15: lemming.dataplane.sai.CreateNatZoneCounterResponse + (*RemoveNatZoneCounterRequest)(nil), // 16: lemming.dataplane.sai.RemoveNatZoneCounterRequest + (*RemoveNatZoneCounterResponse)(nil), // 17: lemming.dataplane.sai.RemoveNatZoneCounterResponse + (*SetNatZoneCounterAttributeRequest)(nil), // 18: lemming.dataplane.sai.SetNatZoneCounterAttributeRequest + (*SetNatZoneCounterAttributeResponse)(nil), // 19: lemming.dataplane.sai.SetNatZoneCounterAttributeResponse + (*GetNatZoneCounterAttributeRequest)(nil), // 20: lemming.dataplane.sai.GetNatZoneCounterAttributeRequest + (*GetNatZoneCounterAttributeResponse)(nil), // 21: lemming.dataplane.sai.GetNatZoneCounterAttributeResponse + (*NatEntry)(nil), // 22: lemming.dataplane.sai.NatEntry + (NatType)(0), // 23: lemming.dataplane.sai.NatType + (*NatEntryAttribute)(nil), // 24: lemming.dataplane.sai.NatEntryAttribute + (*NatZoneCounterAttribute)(nil), // 25: lemming.dataplane.sai.NatZoneCounterAttribute } var file_dataplane_proto_sai_nat_proto_depIdxs = []int32{ - 20, // 0: lemming.dataplane.sai.CreateNatEntryRequest.entry:type_name -> lemming.dataplane.sai.NatEntry - 21, // 1: lemming.dataplane.sai.CreateNatEntryRequest.nat_type:type_name -> lemming.dataplane.sai.NatType - 20, // 2: lemming.dataplane.sai.RemoveNatEntryRequest.entry:type_name -> lemming.dataplane.sai.NatEntry - 20, // 3: lemming.dataplane.sai.SetNatEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.NatEntry - 21, // 4: lemming.dataplane.sai.SetNatEntryAttributeRequest.nat_type:type_name -> lemming.dataplane.sai.NatType - 20, // 5: lemming.dataplane.sai.GetNatEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.NatEntry + 22, // 0: lemming.dataplane.sai.CreateNatEntryRequest.entry:type_name -> lemming.dataplane.sai.NatEntry + 23, // 1: lemming.dataplane.sai.CreateNatEntryRequest.nat_type:type_name -> lemming.dataplane.sai.NatType + 22, // 2: lemming.dataplane.sai.RemoveNatEntryRequest.entry:type_name -> lemming.dataplane.sai.NatEntry + 22, // 3: lemming.dataplane.sai.SetNatEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.NatEntry + 23, // 4: lemming.dataplane.sai.SetNatEntryAttributeRequest.nat_type:type_name -> lemming.dataplane.sai.NatType + 22, // 5: lemming.dataplane.sai.GetNatEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.NatEntry 0, // 6: lemming.dataplane.sai.GetNatEntryAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.NatEntryAttr - 22, // 7: lemming.dataplane.sai.GetNatEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.NatEntryAttribute + 24, // 7: lemming.dataplane.sai.GetNatEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.NatEntryAttribute 2, // 8: lemming.dataplane.sai.CreateNatEntriesRequest.reqs:type_name -> lemming.dataplane.sai.CreateNatEntryRequest 3, // 9: lemming.dataplane.sai.CreateNatEntriesResponse.resps:type_name -> lemming.dataplane.sai.CreateNatEntryResponse - 21, // 10: lemming.dataplane.sai.CreateNatZoneCounterRequest.nat_type:type_name -> lemming.dataplane.sai.NatType - 21, // 11: lemming.dataplane.sai.SetNatZoneCounterAttributeRequest.nat_type:type_name -> lemming.dataplane.sai.NatType - 1, // 12: lemming.dataplane.sai.GetNatZoneCounterAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.NatZoneCounterAttr - 23, // 13: lemming.dataplane.sai.GetNatZoneCounterAttributeResponse.attr:type_name -> lemming.dataplane.sai.NatZoneCounterAttribute - 2, // 14: lemming.dataplane.sai.Nat.CreateNatEntry:input_type -> lemming.dataplane.sai.CreateNatEntryRequest - 4, // 15: lemming.dataplane.sai.Nat.RemoveNatEntry:input_type -> lemming.dataplane.sai.RemoveNatEntryRequest - 6, // 16: lemming.dataplane.sai.Nat.SetNatEntryAttribute:input_type -> lemming.dataplane.sai.SetNatEntryAttributeRequest - 8, // 17: lemming.dataplane.sai.Nat.GetNatEntryAttribute:input_type -> lemming.dataplane.sai.GetNatEntryAttributeRequest - 10, // 18: lemming.dataplane.sai.Nat.CreateNatEntries:input_type -> lemming.dataplane.sai.CreateNatEntriesRequest - 12, // 19: lemming.dataplane.sai.Nat.CreateNatZoneCounter:input_type -> lemming.dataplane.sai.CreateNatZoneCounterRequest - 14, // 20: lemming.dataplane.sai.Nat.RemoveNatZoneCounter:input_type -> lemming.dataplane.sai.RemoveNatZoneCounterRequest - 16, // 21: lemming.dataplane.sai.Nat.SetNatZoneCounterAttribute:input_type -> lemming.dataplane.sai.SetNatZoneCounterAttributeRequest - 18, // 22: lemming.dataplane.sai.Nat.GetNatZoneCounterAttribute:input_type -> lemming.dataplane.sai.GetNatZoneCounterAttributeRequest - 3, // 23: lemming.dataplane.sai.Nat.CreateNatEntry:output_type -> lemming.dataplane.sai.CreateNatEntryResponse - 5, // 24: lemming.dataplane.sai.Nat.RemoveNatEntry:output_type -> lemming.dataplane.sai.RemoveNatEntryResponse - 7, // 25: lemming.dataplane.sai.Nat.SetNatEntryAttribute:output_type -> lemming.dataplane.sai.SetNatEntryAttributeResponse - 9, // 26: lemming.dataplane.sai.Nat.GetNatEntryAttribute:output_type -> lemming.dataplane.sai.GetNatEntryAttributeResponse - 11, // 27: lemming.dataplane.sai.Nat.CreateNatEntries:output_type -> lemming.dataplane.sai.CreateNatEntriesResponse - 13, // 28: lemming.dataplane.sai.Nat.CreateNatZoneCounter:output_type -> lemming.dataplane.sai.CreateNatZoneCounterResponse - 15, // 29: lemming.dataplane.sai.Nat.RemoveNatZoneCounter:output_type -> lemming.dataplane.sai.RemoveNatZoneCounterResponse - 17, // 30: lemming.dataplane.sai.Nat.SetNatZoneCounterAttribute:output_type -> lemming.dataplane.sai.SetNatZoneCounterAttributeResponse - 19, // 31: lemming.dataplane.sai.Nat.GetNatZoneCounterAttribute:output_type -> lemming.dataplane.sai.GetNatZoneCounterAttributeResponse - 23, // [23:32] is the sub-list for method output_type - 14, // [14:23] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 4, // 10: lemming.dataplane.sai.RemoveNatEntriesRequest.reqs:type_name -> lemming.dataplane.sai.RemoveNatEntryRequest + 5, // 11: lemming.dataplane.sai.RemoveNatEntriesResponse.resps:type_name -> lemming.dataplane.sai.RemoveNatEntryResponse + 23, // 12: lemming.dataplane.sai.CreateNatZoneCounterRequest.nat_type:type_name -> lemming.dataplane.sai.NatType + 23, // 13: lemming.dataplane.sai.SetNatZoneCounterAttributeRequest.nat_type:type_name -> lemming.dataplane.sai.NatType + 1, // 14: lemming.dataplane.sai.GetNatZoneCounterAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.NatZoneCounterAttr + 25, // 15: lemming.dataplane.sai.GetNatZoneCounterAttributeResponse.attr:type_name -> lemming.dataplane.sai.NatZoneCounterAttribute + 2, // 16: lemming.dataplane.sai.Nat.CreateNatEntry:input_type -> lemming.dataplane.sai.CreateNatEntryRequest + 4, // 17: lemming.dataplane.sai.Nat.RemoveNatEntry:input_type -> lemming.dataplane.sai.RemoveNatEntryRequest + 6, // 18: lemming.dataplane.sai.Nat.SetNatEntryAttribute:input_type -> lemming.dataplane.sai.SetNatEntryAttributeRequest + 8, // 19: lemming.dataplane.sai.Nat.GetNatEntryAttribute:input_type -> lemming.dataplane.sai.GetNatEntryAttributeRequest + 10, // 20: lemming.dataplane.sai.Nat.CreateNatEntries:input_type -> lemming.dataplane.sai.CreateNatEntriesRequest + 12, // 21: lemming.dataplane.sai.Nat.RemoveNatEntries:input_type -> lemming.dataplane.sai.RemoveNatEntriesRequest + 14, // 22: lemming.dataplane.sai.Nat.CreateNatZoneCounter:input_type -> lemming.dataplane.sai.CreateNatZoneCounterRequest + 16, // 23: lemming.dataplane.sai.Nat.RemoveNatZoneCounter:input_type -> lemming.dataplane.sai.RemoveNatZoneCounterRequest + 18, // 24: lemming.dataplane.sai.Nat.SetNatZoneCounterAttribute:input_type -> lemming.dataplane.sai.SetNatZoneCounterAttributeRequest + 20, // 25: lemming.dataplane.sai.Nat.GetNatZoneCounterAttribute:input_type -> lemming.dataplane.sai.GetNatZoneCounterAttributeRequest + 3, // 26: lemming.dataplane.sai.Nat.CreateNatEntry:output_type -> lemming.dataplane.sai.CreateNatEntryResponse + 5, // 27: lemming.dataplane.sai.Nat.RemoveNatEntry:output_type -> lemming.dataplane.sai.RemoveNatEntryResponse + 7, // 28: lemming.dataplane.sai.Nat.SetNatEntryAttribute:output_type -> lemming.dataplane.sai.SetNatEntryAttributeResponse + 9, // 29: lemming.dataplane.sai.Nat.GetNatEntryAttribute:output_type -> lemming.dataplane.sai.GetNatEntryAttributeResponse + 11, // 30: lemming.dataplane.sai.Nat.CreateNatEntries:output_type -> lemming.dataplane.sai.CreateNatEntriesResponse + 13, // 31: lemming.dataplane.sai.Nat.RemoveNatEntries:output_type -> lemming.dataplane.sai.RemoveNatEntriesResponse + 15, // 32: lemming.dataplane.sai.Nat.CreateNatZoneCounter:output_type -> lemming.dataplane.sai.CreateNatZoneCounterResponse + 17, // 33: lemming.dataplane.sai.Nat.RemoveNatZoneCounter:output_type -> lemming.dataplane.sai.RemoveNatZoneCounterResponse + 19, // 34: lemming.dataplane.sai.Nat.SetNatZoneCounterAttribute:output_type -> lemming.dataplane.sai.SetNatZoneCounterAttributeResponse + 21, // 35: lemming.dataplane.sai.Nat.GetNatZoneCounterAttribute:output_type -> lemming.dataplane.sai.GetNatZoneCounterAttributeResponse + 26, // [26:36] is the sub-list for method output_type + 16, // [16:26] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_nat_proto_init() } @@ -1965,7 +2084,7 @@ func file_dataplane_proto_sai_nat_proto_init() { } } file_dataplane_proto_sai_nat_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNatZoneCounterRequest); i { + switch v := v.(*RemoveNatEntriesRequest); i { case 0: return &v.state case 1: @@ -1977,7 +2096,7 @@ func file_dataplane_proto_sai_nat_proto_init() { } } file_dataplane_proto_sai_nat_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNatZoneCounterResponse); i { + switch v := v.(*RemoveNatEntriesResponse); i { case 0: return &v.state case 1: @@ -1989,7 +2108,7 @@ func file_dataplane_proto_sai_nat_proto_init() { } } file_dataplane_proto_sai_nat_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveNatZoneCounterRequest); i { + switch v := v.(*CreateNatZoneCounterRequest); i { case 0: return &v.state case 1: @@ -2001,7 +2120,7 @@ func file_dataplane_proto_sai_nat_proto_init() { } } file_dataplane_proto_sai_nat_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveNatZoneCounterResponse); i { + switch v := v.(*CreateNatZoneCounterResponse); i { case 0: return &v.state case 1: @@ -2013,7 +2132,7 @@ func file_dataplane_proto_sai_nat_proto_init() { } } file_dataplane_proto_sai_nat_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetNatZoneCounterAttributeRequest); i { + switch v := v.(*RemoveNatZoneCounterRequest); i { case 0: return &v.state case 1: @@ -2025,7 +2144,7 @@ func file_dataplane_proto_sai_nat_proto_init() { } } file_dataplane_proto_sai_nat_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetNatZoneCounterAttributeResponse); i { + switch v := v.(*RemoveNatZoneCounterResponse); i { case 0: return &v.state case 1: @@ -2037,7 +2156,7 @@ func file_dataplane_proto_sai_nat_proto_init() { } } file_dataplane_proto_sai_nat_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNatZoneCounterAttributeRequest); i { + switch v := v.(*SetNatZoneCounterAttributeRequest); i { case 0: return &v.state case 1: @@ -2049,6 +2168,30 @@ func file_dataplane_proto_sai_nat_proto_init() { } } file_dataplane_proto_sai_nat_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetNatZoneCounterAttributeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_nat_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNatZoneCounterAttributeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_nat_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNatZoneCounterAttributeResponse); i { case 0: return &v.state @@ -2063,15 +2206,15 @@ func file_dataplane_proto_sai_nat_proto_init() { } file_dataplane_proto_sai_nat_proto_msgTypes[0].OneofWrappers = []interface{}{} file_dataplane_proto_sai_nat_proto_msgTypes[4].OneofWrappers = []interface{}{} - file_dataplane_proto_sai_nat_proto_msgTypes[10].OneofWrappers = []interface{}{} - file_dataplane_proto_sai_nat_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_dataplane_proto_sai_nat_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_dataplane_proto_sai_nat_proto_msgTypes[16].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_nat_proto_rawDesc, NumEnums: 2, - NumMessages: 18, + NumMessages: 20, NumExtensions: 0, NumServices: 1, }, @@ -2103,6 +2246,7 @@ type NatClient interface { SetNatEntryAttribute(ctx context.Context, in *SetNatEntryAttributeRequest, opts ...grpc.CallOption) (*SetNatEntryAttributeResponse, error) GetNatEntryAttribute(ctx context.Context, in *GetNatEntryAttributeRequest, opts ...grpc.CallOption) (*GetNatEntryAttributeResponse, error) CreateNatEntries(ctx context.Context, in *CreateNatEntriesRequest, opts ...grpc.CallOption) (*CreateNatEntriesResponse, error) + RemoveNatEntries(ctx context.Context, in *RemoveNatEntriesRequest, opts ...grpc.CallOption) (*RemoveNatEntriesResponse, error) CreateNatZoneCounter(ctx context.Context, in *CreateNatZoneCounterRequest, opts ...grpc.CallOption) (*CreateNatZoneCounterResponse, error) RemoveNatZoneCounter(ctx context.Context, in *RemoveNatZoneCounterRequest, opts ...grpc.CallOption) (*RemoveNatZoneCounterResponse, error) SetNatZoneCounterAttribute(ctx context.Context, in *SetNatZoneCounterAttributeRequest, opts ...grpc.CallOption) (*SetNatZoneCounterAttributeResponse, error) @@ -2162,6 +2306,15 @@ func (c *natClient) CreateNatEntries(ctx context.Context, in *CreateNatEntriesRe return out, nil } +func (c *natClient) RemoveNatEntries(ctx context.Context, in *RemoveNatEntriesRequest, opts ...grpc.CallOption) (*RemoveNatEntriesResponse, error) { + out := new(RemoveNatEntriesResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Nat/RemoveNatEntries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *natClient) CreateNatZoneCounter(ctx context.Context, in *CreateNatZoneCounterRequest, opts ...grpc.CallOption) (*CreateNatZoneCounterResponse, error) { out := new(CreateNatZoneCounterResponse) err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Nat/CreateNatZoneCounter", in, out, opts...) @@ -2205,6 +2358,7 @@ type NatServer interface { SetNatEntryAttribute(context.Context, *SetNatEntryAttributeRequest) (*SetNatEntryAttributeResponse, error) GetNatEntryAttribute(context.Context, *GetNatEntryAttributeRequest) (*GetNatEntryAttributeResponse, error) CreateNatEntries(context.Context, *CreateNatEntriesRequest) (*CreateNatEntriesResponse, error) + RemoveNatEntries(context.Context, *RemoveNatEntriesRequest) (*RemoveNatEntriesResponse, error) CreateNatZoneCounter(context.Context, *CreateNatZoneCounterRequest) (*CreateNatZoneCounterResponse, error) RemoveNatZoneCounter(context.Context, *RemoveNatZoneCounterRequest) (*RemoveNatZoneCounterResponse, error) SetNatZoneCounterAttribute(context.Context, *SetNatZoneCounterAttributeRequest) (*SetNatZoneCounterAttributeResponse, error) @@ -2230,6 +2384,9 @@ func (*UnimplementedNatServer) GetNatEntryAttribute(context.Context, *GetNatEntr func (*UnimplementedNatServer) CreateNatEntries(context.Context, *CreateNatEntriesRequest) (*CreateNatEntriesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateNatEntries not implemented") } +func (*UnimplementedNatServer) RemoveNatEntries(context.Context, *RemoveNatEntriesRequest) (*RemoveNatEntriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveNatEntries not implemented") +} func (*UnimplementedNatServer) CreateNatZoneCounter(context.Context, *CreateNatZoneCounterRequest) (*CreateNatZoneCounterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateNatZoneCounter not implemented") } @@ -2337,6 +2494,24 @@ func _Nat_CreateNatEntries_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Nat_RemoveNatEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveNatEntriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NatServer).RemoveNatEntries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Nat/RemoveNatEntries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NatServer).RemoveNatEntries(ctx, req.(*RemoveNatEntriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Nat_CreateNatZoneCounter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateNatZoneCounterRequest) if err := dec(in); err != nil { @@ -2433,6 +2608,10 @@ var _Nat_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateNatEntries", Handler: _Nat_CreateNatEntries_Handler, }, + { + MethodName: "RemoveNatEntries", + Handler: _Nat_RemoveNatEntries_Handler, + }, { MethodName: "CreateNatZoneCounter", Handler: _Nat_CreateNatZoneCounter_Handler, diff --git a/dataplane/proto/sai/nat.proto b/dataplane/proto/sai/nat.proto index cca3509f..4e078b74 100644 --- a/dataplane/proto/sai/nat.proto +++ b/dataplane/proto/sai/nat.proto @@ -104,6 +104,14 @@ message CreateNatEntriesResponse { repeated CreateNatEntryResponse resps = 1; } +message RemoveNatEntriesRequest { + repeated RemoveNatEntryRequest reqs = 1; +} + +message RemoveNatEntriesResponse { + repeated RemoveNatEntryResponse resps = 1; +} + message CreateNatZoneCounterRequest { option (sai_type) = OBJECT_TYPE_NAT_ZONE_COUNTER; uint64 switch = 1; @@ -156,6 +164,8 @@ service Nat { returns (GetNatEntryAttributeResponse) {} rpc CreateNatEntries(CreateNatEntriesRequest) returns (CreateNatEntriesResponse) {} + rpc RemoveNatEntries(RemoveNatEntriesRequest) + returns (RemoveNatEntriesResponse) {} rpc CreateNatZoneCounter(CreateNatZoneCounterRequest) returns (CreateNatZoneCounterResponse) {} rpc RemoveNatZoneCounter(RemoveNatZoneCounterRequest) diff --git a/dataplane/proto/sai/neighbor.pb.go b/dataplane/proto/sai/neighbor.pb.go index 4ad459ca..1cdf9aa9 100644 --- a/dataplane/proto/sai/neighbor.pb.go +++ b/dataplane/proto/sai/neighbor.pb.go @@ -692,6 +692,100 @@ func (x *CreateNeighborEntriesResponse) GetResps() []*CreateNeighborEntryRespons return nil } +type RemoveNeighborEntriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveNeighborEntryRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveNeighborEntriesRequest) Reset() { + *x = RemoveNeighborEntriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_neighbor_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveNeighborEntriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveNeighborEntriesRequest) ProtoMessage() {} + +func (x *RemoveNeighborEntriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_neighbor_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveNeighborEntriesRequest.ProtoReflect.Descriptor instead. +func (*RemoveNeighborEntriesRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_neighbor_proto_rawDescGZIP(), []int{10} +} + +func (x *RemoveNeighborEntriesRequest) GetReqs() []*RemoveNeighborEntryRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveNeighborEntriesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveNeighborEntryResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveNeighborEntriesResponse) Reset() { + *x = RemoveNeighborEntriesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_neighbor_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveNeighborEntriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveNeighborEntriesResponse) ProtoMessage() {} + +func (x *RemoveNeighborEntriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_neighbor_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveNeighborEntriesResponse.ProtoReflect.Descriptor instead. +func (*RemoveNeighborEntriesResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_neighbor_proto_rawDescGZIP(), []int{11} +} + +func (x *RemoveNeighborEntriesResponse) GetResps() []*RemoveNeighborEntryResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_neighbor_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_neighbor_proto_rawDesc = []byte{ @@ -832,82 +926,104 @@ var file_dataplane_proto_sai_neighbor_proto_rawDesc = []byte{ 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xb7, 0x03, 0x0a, 0x11, 0x4e, - 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, - 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, - 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, - 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x53, 0x54, - 0x5f, 0x4d, 0x41, 0x43, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x25, - 0x0a, 0x21, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, - 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x53, 0x45, - 0x52, 0x5f, 0x54, 0x52, 0x41, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x4e, - 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, - 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, - 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, - 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x06, 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x45, 0x49, - 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x07, 0x12, 0x2a, - 0x0a, 0x26, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x49, 0x4d, 0x50, 0x4f, - 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, - 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x49, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x09, 0x12, 0x26, 0x0a, 0x22, - 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x46, 0x41, 0x4d, 0x49, - 0x4c, 0x59, 0x10, 0x0a, 0x32, 0xb7, 0x05, 0x0a, 0x08, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, - 0x72, 0x12, 0x7e, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, - 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, - 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, - 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x65, 0x0a, 0x1c, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x72, 0x65, + 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, - 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, - 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, - 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, + 0x73, 0x22, 0x69, 0x0a, 0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xb7, 0x03, 0x0a, + 0x11, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, + 0x74, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, + 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x4e, 0x45, 0x49, 0x47, 0x48, + 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, + 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x43, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, + 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, + 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x4e, 0x45, 0x49, 0x47, 0x48, + 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, + 0x53, 0x45, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x25, 0x0a, + 0x21, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, + 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x41, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x45, 0x49, 0x47, 0x48, + 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, + 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x06, 0x12, 0x23, 0x0a, 0x1f, 0x4e, + 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x07, + 0x12, 0x2a, 0x0a, 0x26, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, + 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x49, 0x4d, + 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c, + 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x49, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x09, 0x12, 0x26, + 0x0a, 0x22, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x46, 0x41, + 0x4d, 0x49, 0x4c, 0x59, 0x10, 0x0a, 0x32, 0xbe, 0x06, 0x0a, 0x08, 0x4e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x12, 0x7e, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, 0x67, + 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x69, 0x67, - 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, + 0x65, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x69, + 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, + 0x62, 0x75, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, + 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x12, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x12, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, - 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x84, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, + 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x33, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, + 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -923,7 +1039,7 @@ func file_dataplane_proto_sai_neighbor_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_neighbor_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_dataplane_proto_sai_neighbor_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_dataplane_proto_sai_neighbor_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_dataplane_proto_sai_neighbor_proto_goTypes = []interface{}{ (NeighborEntryAttr)(0), // 0: lemming.dataplane.sai.NeighborEntryAttr (*CreateNeighborEntryRequest)(nil), // 1: lemming.dataplane.sai.CreateNeighborEntryRequest @@ -936,36 +1052,42 @@ var file_dataplane_proto_sai_neighbor_proto_goTypes = []interface{}{ (*GetNeighborEntryAttributeResponse)(nil), // 8: lemming.dataplane.sai.GetNeighborEntryAttributeResponse (*CreateNeighborEntriesRequest)(nil), // 9: lemming.dataplane.sai.CreateNeighborEntriesRequest (*CreateNeighborEntriesResponse)(nil), // 10: lemming.dataplane.sai.CreateNeighborEntriesResponse - (*NeighborEntry)(nil), // 11: lemming.dataplane.sai.NeighborEntry - (PacketAction)(0), // 12: lemming.dataplane.sai.PacketAction - (*NeighborEntryAttribute)(nil), // 13: lemming.dataplane.sai.NeighborEntryAttribute + (*RemoveNeighborEntriesRequest)(nil), // 11: lemming.dataplane.sai.RemoveNeighborEntriesRequest + (*RemoveNeighborEntriesResponse)(nil), // 12: lemming.dataplane.sai.RemoveNeighborEntriesResponse + (*NeighborEntry)(nil), // 13: lemming.dataplane.sai.NeighborEntry + (PacketAction)(0), // 14: lemming.dataplane.sai.PacketAction + (*NeighborEntryAttribute)(nil), // 15: lemming.dataplane.sai.NeighborEntryAttribute } var file_dataplane_proto_sai_neighbor_proto_depIdxs = []int32{ - 11, // 0: lemming.dataplane.sai.CreateNeighborEntryRequest.entry:type_name -> lemming.dataplane.sai.NeighborEntry - 12, // 1: lemming.dataplane.sai.CreateNeighborEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 11, // 2: lemming.dataplane.sai.RemoveNeighborEntryRequest.entry:type_name -> lemming.dataplane.sai.NeighborEntry - 11, // 3: lemming.dataplane.sai.SetNeighborEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.NeighborEntry - 12, // 4: lemming.dataplane.sai.SetNeighborEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 11, // 5: lemming.dataplane.sai.GetNeighborEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.NeighborEntry + 13, // 0: lemming.dataplane.sai.CreateNeighborEntryRequest.entry:type_name -> lemming.dataplane.sai.NeighborEntry + 14, // 1: lemming.dataplane.sai.CreateNeighborEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 13, // 2: lemming.dataplane.sai.RemoveNeighborEntryRequest.entry:type_name -> lemming.dataplane.sai.NeighborEntry + 13, // 3: lemming.dataplane.sai.SetNeighborEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.NeighborEntry + 14, // 4: lemming.dataplane.sai.SetNeighborEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 13, // 5: lemming.dataplane.sai.GetNeighborEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.NeighborEntry 0, // 6: lemming.dataplane.sai.GetNeighborEntryAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.NeighborEntryAttr - 13, // 7: lemming.dataplane.sai.GetNeighborEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.NeighborEntryAttribute + 15, // 7: lemming.dataplane.sai.GetNeighborEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.NeighborEntryAttribute 1, // 8: lemming.dataplane.sai.CreateNeighborEntriesRequest.reqs:type_name -> lemming.dataplane.sai.CreateNeighborEntryRequest 2, // 9: lemming.dataplane.sai.CreateNeighborEntriesResponse.resps:type_name -> lemming.dataplane.sai.CreateNeighborEntryResponse - 1, // 10: lemming.dataplane.sai.Neighbor.CreateNeighborEntry:input_type -> lemming.dataplane.sai.CreateNeighborEntryRequest - 3, // 11: lemming.dataplane.sai.Neighbor.RemoveNeighborEntry:input_type -> lemming.dataplane.sai.RemoveNeighborEntryRequest - 5, // 12: lemming.dataplane.sai.Neighbor.SetNeighborEntryAttribute:input_type -> lemming.dataplane.sai.SetNeighborEntryAttributeRequest - 7, // 13: lemming.dataplane.sai.Neighbor.GetNeighborEntryAttribute:input_type -> lemming.dataplane.sai.GetNeighborEntryAttributeRequest - 9, // 14: lemming.dataplane.sai.Neighbor.CreateNeighborEntries:input_type -> lemming.dataplane.sai.CreateNeighborEntriesRequest - 2, // 15: lemming.dataplane.sai.Neighbor.CreateNeighborEntry:output_type -> lemming.dataplane.sai.CreateNeighborEntryResponse - 4, // 16: lemming.dataplane.sai.Neighbor.RemoveNeighborEntry:output_type -> lemming.dataplane.sai.RemoveNeighborEntryResponse - 6, // 17: lemming.dataplane.sai.Neighbor.SetNeighborEntryAttribute:output_type -> lemming.dataplane.sai.SetNeighborEntryAttributeResponse - 8, // 18: lemming.dataplane.sai.Neighbor.GetNeighborEntryAttribute:output_type -> lemming.dataplane.sai.GetNeighborEntryAttributeResponse - 10, // 19: lemming.dataplane.sai.Neighbor.CreateNeighborEntries:output_type -> lemming.dataplane.sai.CreateNeighborEntriesResponse - 15, // [15:20] is the sub-list for method output_type - 10, // [10:15] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 3, // 10: lemming.dataplane.sai.RemoveNeighborEntriesRequest.reqs:type_name -> lemming.dataplane.sai.RemoveNeighborEntryRequest + 4, // 11: lemming.dataplane.sai.RemoveNeighborEntriesResponse.resps:type_name -> lemming.dataplane.sai.RemoveNeighborEntryResponse + 1, // 12: lemming.dataplane.sai.Neighbor.CreateNeighborEntry:input_type -> lemming.dataplane.sai.CreateNeighborEntryRequest + 3, // 13: lemming.dataplane.sai.Neighbor.RemoveNeighborEntry:input_type -> lemming.dataplane.sai.RemoveNeighborEntryRequest + 5, // 14: lemming.dataplane.sai.Neighbor.SetNeighborEntryAttribute:input_type -> lemming.dataplane.sai.SetNeighborEntryAttributeRequest + 7, // 15: lemming.dataplane.sai.Neighbor.GetNeighborEntryAttribute:input_type -> lemming.dataplane.sai.GetNeighborEntryAttributeRequest + 9, // 16: lemming.dataplane.sai.Neighbor.CreateNeighborEntries:input_type -> lemming.dataplane.sai.CreateNeighborEntriesRequest + 11, // 17: lemming.dataplane.sai.Neighbor.RemoveNeighborEntries:input_type -> lemming.dataplane.sai.RemoveNeighborEntriesRequest + 2, // 18: lemming.dataplane.sai.Neighbor.CreateNeighborEntry:output_type -> lemming.dataplane.sai.CreateNeighborEntryResponse + 4, // 19: lemming.dataplane.sai.Neighbor.RemoveNeighborEntry:output_type -> lemming.dataplane.sai.RemoveNeighborEntryResponse + 6, // 20: lemming.dataplane.sai.Neighbor.SetNeighborEntryAttribute:output_type -> lemming.dataplane.sai.SetNeighborEntryAttributeResponse + 8, // 21: lemming.dataplane.sai.Neighbor.GetNeighborEntryAttribute:output_type -> lemming.dataplane.sai.GetNeighborEntryAttributeResponse + 10, // 22: lemming.dataplane.sai.Neighbor.CreateNeighborEntries:output_type -> lemming.dataplane.sai.CreateNeighborEntriesResponse + 12, // 23: lemming.dataplane.sai.Neighbor.RemoveNeighborEntries:output_type -> lemming.dataplane.sai.RemoveNeighborEntriesResponse + 18, // [18:24] is the sub-list for method output_type + 12, // [12:18] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_neighbor_proto_init() } @@ -1095,6 +1217,30 @@ func file_dataplane_proto_sai_neighbor_proto_init() { return nil } } + file_dataplane_proto_sai_neighbor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveNeighborEntriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_neighbor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveNeighborEntriesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_neighbor_proto_msgTypes[0].OneofWrappers = []interface{}{} file_dataplane_proto_sai_neighbor_proto_msgTypes[4].OneofWrappers = []interface{}{} @@ -1104,7 +1250,7 @@ func file_dataplane_proto_sai_neighbor_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_neighbor_proto_rawDesc, NumEnums: 1, - NumMessages: 10, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, @@ -1136,6 +1282,7 @@ type NeighborClient interface { SetNeighborEntryAttribute(ctx context.Context, in *SetNeighborEntryAttributeRequest, opts ...grpc.CallOption) (*SetNeighborEntryAttributeResponse, error) GetNeighborEntryAttribute(ctx context.Context, in *GetNeighborEntryAttributeRequest, opts ...grpc.CallOption) (*GetNeighborEntryAttributeResponse, error) CreateNeighborEntries(ctx context.Context, in *CreateNeighborEntriesRequest, opts ...grpc.CallOption) (*CreateNeighborEntriesResponse, error) + RemoveNeighborEntries(ctx context.Context, in *RemoveNeighborEntriesRequest, opts ...grpc.CallOption) (*RemoveNeighborEntriesResponse, error) } type neighborClient struct { @@ -1191,6 +1338,15 @@ func (c *neighborClient) CreateNeighborEntries(ctx context.Context, in *CreateNe return out, nil } +func (c *neighborClient) RemoveNeighborEntries(ctx context.Context, in *RemoveNeighborEntriesRequest, opts ...grpc.CallOption) (*RemoveNeighborEntriesResponse, error) { + out := new(RemoveNeighborEntriesResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Neighbor/RemoveNeighborEntries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // NeighborServer is the server API for Neighbor service. type NeighborServer interface { CreateNeighborEntry(context.Context, *CreateNeighborEntryRequest) (*CreateNeighborEntryResponse, error) @@ -1198,6 +1354,7 @@ type NeighborServer interface { SetNeighborEntryAttribute(context.Context, *SetNeighborEntryAttributeRequest) (*SetNeighborEntryAttributeResponse, error) GetNeighborEntryAttribute(context.Context, *GetNeighborEntryAttributeRequest) (*GetNeighborEntryAttributeResponse, error) CreateNeighborEntries(context.Context, *CreateNeighborEntriesRequest) (*CreateNeighborEntriesResponse, error) + RemoveNeighborEntries(context.Context, *RemoveNeighborEntriesRequest) (*RemoveNeighborEntriesResponse, error) } // UnimplementedNeighborServer can be embedded to have forward compatible implementations. @@ -1219,6 +1376,9 @@ func (*UnimplementedNeighborServer) GetNeighborEntryAttribute(context.Context, * func (*UnimplementedNeighborServer) CreateNeighborEntries(context.Context, *CreateNeighborEntriesRequest) (*CreateNeighborEntriesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateNeighborEntries not implemented") } +func (*UnimplementedNeighborServer) RemoveNeighborEntries(context.Context, *RemoveNeighborEntriesRequest) (*RemoveNeighborEntriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveNeighborEntries not implemented") +} func RegisterNeighborServer(s *grpc.Server, srv NeighborServer) { s.RegisterService(&_Neighbor_serviceDesc, srv) @@ -1314,6 +1474,24 @@ func _Neighbor_CreateNeighborEntries_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _Neighbor_RemoveNeighborEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveNeighborEntriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NeighborServer).RemoveNeighborEntries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Neighbor/RemoveNeighborEntries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NeighborServer).RemoveNeighborEntries(ctx, req.(*RemoveNeighborEntriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Neighbor_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.Neighbor", HandlerType: (*NeighborServer)(nil), @@ -1338,6 +1516,10 @@ var _Neighbor_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateNeighborEntries", Handler: _Neighbor_CreateNeighborEntries_Handler, }, + { + MethodName: "RemoveNeighborEntries", + Handler: _Neighbor_RemoveNeighborEntries_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/neighbor.proto", diff --git a/dataplane/proto/sai/neighbor.proto b/dataplane/proto/sai/neighbor.proto index 1d5443f1..15236927 100644 --- a/dataplane/proto/sai/neighbor.proto +++ b/dataplane/proto/sai/neighbor.proto @@ -75,6 +75,14 @@ message CreateNeighborEntriesResponse { repeated CreateNeighborEntryResponse resps = 1; } +message RemoveNeighborEntriesRequest { + repeated RemoveNeighborEntryRequest reqs = 1; +} + +message RemoveNeighborEntriesResponse { + repeated RemoveNeighborEntryResponse resps = 1; +} + service Neighbor { rpc CreateNeighborEntry(CreateNeighborEntryRequest) returns (CreateNeighborEntryResponse) {} @@ -86,4 +94,6 @@ service Neighbor { returns (GetNeighborEntryAttributeResponse) {} rpc CreateNeighborEntries(CreateNeighborEntriesRequest) returns (CreateNeighborEntriesResponse) {} + rpc RemoveNeighborEntries(RemoveNeighborEntriesRequest) + returns (RemoveNeighborEntriesResponse) {} } diff --git a/dataplane/proto/sai/next_hop.pb.go b/dataplane/proto/sai/next_hop.pb.go index d4dc799f..b6c74ed4 100644 --- a/dataplane/proto/sai/next_hop.pb.go +++ b/dataplane/proto/sai/next_hop.pb.go @@ -783,6 +783,100 @@ func (x *CreateNextHopsResponse) GetResps() []*CreateNextHopResponse { return nil } +type RemoveNextHopsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveNextHopRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveNextHopsRequest) Reset() { + *x = RemoveNextHopsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_next_hop_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveNextHopsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveNextHopsRequest) ProtoMessage() {} + +func (x *RemoveNextHopsRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_next_hop_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveNextHopsRequest.ProtoReflect.Descriptor instead. +func (*RemoveNextHopsRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_next_hop_proto_rawDescGZIP(), []int{10} +} + +func (x *RemoveNextHopsRequest) GetReqs() []*RemoveNextHopRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveNextHopsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveNextHopResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveNextHopsResponse) Reset() { + *x = RemoveNextHopsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_next_hop_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveNextHopsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveNextHopsResponse) ProtoMessage() {} + +func (x *RemoveNextHopsResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_next_hop_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveNextHopsResponse.ProtoReflect.Descriptor instead. +func (*RemoveNextHopsResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_next_hop_proto_rawDescGZIP(), []int{11} +} + +func (x *RemoveNextHopsResponse) GetResps() []*RemoveNextHopResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_next_hop_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_next_hop_proto_rawDesc = []byte{ @@ -961,85 +1055,104 @@ var file_dataplane_proto_sai_next_hop_proto_rawDesc = []byte{ 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xc3, 0x04, - 0x0a, 0x0b, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1d, 0x0a, - 0x19, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, - 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x45, - 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x4f, 0x55, 0x54, - 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, - 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x1c, - 0x0a, 0x18, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x56, 0x4e, 0x49, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, - 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, - 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x43, 0x10, 0x06, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, - 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x52, 0x56, 0x36, - 0x5f, 0x53, 0x49, 0x44, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x07, 0x12, 0x1c, 0x0a, - 0x18, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, - 0x41, 0x42, 0x45, 0x4c, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x4e, - 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, - 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x09, 0x12, 0x27, 0x0a, 0x23, 0x4e, 0x45, 0x58, - 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, - 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x54, 0x4c, - 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, - 0x0b, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x54, 0x4c, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x54, 0x4c, - 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, - 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x53, 0x45, 0x47, - 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0e, 0x12, 0x22, 0x0a, 0x1e, 0x4e, - 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x55, 0x54, - 0x53, 0x45, 0x47, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x0f, 0x12, - 0x32, 0x0a, 0x2e, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, - 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x4d, 0x41, - 0x50, 0x10, 0x10, 0x32, 0xd6, 0x04, 0x0a, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x12, - 0x6c, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x12, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x58, 0x0a, + 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x5c, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x42, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, + 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xc3, 0x04, 0x0a, 0x0b, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, + 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, + 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, + 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, + 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x46, 0x41, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x45, 0x58, + 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, + 0x4c, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, + 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x56, + 0x4e, 0x49, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x43, + 0x10, 0x06, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x53, 0x49, 0x44, 0x4c, 0x49, 0x53, 0x54, + 0x5f, 0x49, 0x44, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, + 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x54, 0x41, 0x43, + 0x4b, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, + 0x09, 0x12, 0x27, 0x0a, 0x23, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x45, + 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x54, 0x4c, 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x4e, 0x45, + 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x53, + 0x45, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x0b, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x58, + 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x53, 0x45, + 0x47, 0x5f, 0x54, 0x54, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, + 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x55, + 0x54, 0x53, 0x45, 0x47, 0x5f, 0x54, 0x54, 0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x0d, + 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x10, 0x0e, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x55, 0x54, 0x53, 0x45, 0x47, 0x5f, 0x45, 0x58, 0x50, 0x5f, + 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x0f, 0x12, 0x32, 0x0a, 0x2e, 0x4e, 0x45, 0x58, 0x54, 0x5f, + 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, + 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x4d, 0x50, 0x4c, + 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x10, 0x32, 0xc7, 0x05, 0x0a, 0x07, + 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x6c, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, + 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, - 0x48, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, - 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x2b, - 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, - 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x53, - 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, - 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, - 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, - 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x2c, 0x2e, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, + 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, - 0x48, 0x6f, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, - 0x70, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, - 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, + 0x74, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, + 0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -1055,7 +1168,7 @@ func file_dataplane_proto_sai_next_hop_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_next_hop_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_dataplane_proto_sai_next_hop_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_dataplane_proto_sai_next_hop_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_dataplane_proto_sai_next_hop_proto_goTypes = []interface{}{ (NextHopAttr)(0), // 0: lemming.dataplane.sai.NextHopAttr (*CreateNextHopRequest)(nil), // 1: lemming.dataplane.sai.CreateNextHopRequest @@ -1068,39 +1181,45 @@ var file_dataplane_proto_sai_next_hop_proto_goTypes = []interface{}{ (*GetNextHopAttributeResponse)(nil), // 8: lemming.dataplane.sai.GetNextHopAttributeResponse (*CreateNextHopsRequest)(nil), // 9: lemming.dataplane.sai.CreateNextHopsRequest (*CreateNextHopsResponse)(nil), // 10: lemming.dataplane.sai.CreateNextHopsResponse - (NextHopType)(0), // 11: lemming.dataplane.sai.NextHopType - (OutsegType)(0), // 12: lemming.dataplane.sai.OutsegType - (OutsegTtlMode)(0), // 13: lemming.dataplane.sai.OutsegTtlMode - (OutsegExpMode)(0), // 14: lemming.dataplane.sai.OutsegExpMode - (*NextHopAttribute)(nil), // 15: lemming.dataplane.sai.NextHopAttribute + (*RemoveNextHopsRequest)(nil), // 11: lemming.dataplane.sai.RemoveNextHopsRequest + (*RemoveNextHopsResponse)(nil), // 12: lemming.dataplane.sai.RemoveNextHopsResponse + (NextHopType)(0), // 13: lemming.dataplane.sai.NextHopType + (OutsegType)(0), // 14: lemming.dataplane.sai.OutsegType + (OutsegTtlMode)(0), // 15: lemming.dataplane.sai.OutsegTtlMode + (OutsegExpMode)(0), // 16: lemming.dataplane.sai.OutsegExpMode + (*NextHopAttribute)(nil), // 17: lemming.dataplane.sai.NextHopAttribute } var file_dataplane_proto_sai_next_hop_proto_depIdxs = []int32{ - 11, // 0: lemming.dataplane.sai.CreateNextHopRequest.type:type_name -> lemming.dataplane.sai.NextHopType - 12, // 1: lemming.dataplane.sai.CreateNextHopRequest.outseg_type:type_name -> lemming.dataplane.sai.OutsegType - 13, // 2: lemming.dataplane.sai.CreateNextHopRequest.outseg_ttl_mode:type_name -> lemming.dataplane.sai.OutsegTtlMode - 14, // 3: lemming.dataplane.sai.CreateNextHopRequest.outseg_exp_mode:type_name -> lemming.dataplane.sai.OutsegExpMode - 12, // 4: lemming.dataplane.sai.SetNextHopAttributeRequest.outseg_type:type_name -> lemming.dataplane.sai.OutsegType - 13, // 5: lemming.dataplane.sai.SetNextHopAttributeRequest.outseg_ttl_mode:type_name -> lemming.dataplane.sai.OutsegTtlMode - 14, // 6: lemming.dataplane.sai.SetNextHopAttributeRequest.outseg_exp_mode:type_name -> lemming.dataplane.sai.OutsegExpMode + 13, // 0: lemming.dataplane.sai.CreateNextHopRequest.type:type_name -> lemming.dataplane.sai.NextHopType + 14, // 1: lemming.dataplane.sai.CreateNextHopRequest.outseg_type:type_name -> lemming.dataplane.sai.OutsegType + 15, // 2: lemming.dataplane.sai.CreateNextHopRequest.outseg_ttl_mode:type_name -> lemming.dataplane.sai.OutsegTtlMode + 16, // 3: lemming.dataplane.sai.CreateNextHopRequest.outseg_exp_mode:type_name -> lemming.dataplane.sai.OutsegExpMode + 14, // 4: lemming.dataplane.sai.SetNextHopAttributeRequest.outseg_type:type_name -> lemming.dataplane.sai.OutsegType + 15, // 5: lemming.dataplane.sai.SetNextHopAttributeRequest.outseg_ttl_mode:type_name -> lemming.dataplane.sai.OutsegTtlMode + 16, // 6: lemming.dataplane.sai.SetNextHopAttributeRequest.outseg_exp_mode:type_name -> lemming.dataplane.sai.OutsegExpMode 0, // 7: lemming.dataplane.sai.GetNextHopAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.NextHopAttr - 15, // 8: lemming.dataplane.sai.GetNextHopAttributeResponse.attr:type_name -> lemming.dataplane.sai.NextHopAttribute + 17, // 8: lemming.dataplane.sai.GetNextHopAttributeResponse.attr:type_name -> lemming.dataplane.sai.NextHopAttribute 1, // 9: lemming.dataplane.sai.CreateNextHopsRequest.reqs:type_name -> lemming.dataplane.sai.CreateNextHopRequest 2, // 10: lemming.dataplane.sai.CreateNextHopsResponse.resps:type_name -> lemming.dataplane.sai.CreateNextHopResponse - 1, // 11: lemming.dataplane.sai.NextHop.CreateNextHop:input_type -> lemming.dataplane.sai.CreateNextHopRequest - 3, // 12: lemming.dataplane.sai.NextHop.RemoveNextHop:input_type -> lemming.dataplane.sai.RemoveNextHopRequest - 5, // 13: lemming.dataplane.sai.NextHop.SetNextHopAttribute:input_type -> lemming.dataplane.sai.SetNextHopAttributeRequest - 7, // 14: lemming.dataplane.sai.NextHop.GetNextHopAttribute:input_type -> lemming.dataplane.sai.GetNextHopAttributeRequest - 9, // 15: lemming.dataplane.sai.NextHop.CreateNextHops:input_type -> lemming.dataplane.sai.CreateNextHopsRequest - 2, // 16: lemming.dataplane.sai.NextHop.CreateNextHop:output_type -> lemming.dataplane.sai.CreateNextHopResponse - 4, // 17: lemming.dataplane.sai.NextHop.RemoveNextHop:output_type -> lemming.dataplane.sai.RemoveNextHopResponse - 6, // 18: lemming.dataplane.sai.NextHop.SetNextHopAttribute:output_type -> lemming.dataplane.sai.SetNextHopAttributeResponse - 8, // 19: lemming.dataplane.sai.NextHop.GetNextHopAttribute:output_type -> lemming.dataplane.sai.GetNextHopAttributeResponse - 10, // 20: lemming.dataplane.sai.NextHop.CreateNextHops:output_type -> lemming.dataplane.sai.CreateNextHopsResponse - 16, // [16:21] is the sub-list for method output_type - 11, // [11:16] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 3, // 11: lemming.dataplane.sai.RemoveNextHopsRequest.reqs:type_name -> lemming.dataplane.sai.RemoveNextHopRequest + 4, // 12: lemming.dataplane.sai.RemoveNextHopsResponse.resps:type_name -> lemming.dataplane.sai.RemoveNextHopResponse + 1, // 13: lemming.dataplane.sai.NextHop.CreateNextHop:input_type -> lemming.dataplane.sai.CreateNextHopRequest + 3, // 14: lemming.dataplane.sai.NextHop.RemoveNextHop:input_type -> lemming.dataplane.sai.RemoveNextHopRequest + 5, // 15: lemming.dataplane.sai.NextHop.SetNextHopAttribute:input_type -> lemming.dataplane.sai.SetNextHopAttributeRequest + 7, // 16: lemming.dataplane.sai.NextHop.GetNextHopAttribute:input_type -> lemming.dataplane.sai.GetNextHopAttributeRequest + 9, // 17: lemming.dataplane.sai.NextHop.CreateNextHops:input_type -> lemming.dataplane.sai.CreateNextHopsRequest + 11, // 18: lemming.dataplane.sai.NextHop.RemoveNextHops:input_type -> lemming.dataplane.sai.RemoveNextHopsRequest + 2, // 19: lemming.dataplane.sai.NextHop.CreateNextHop:output_type -> lemming.dataplane.sai.CreateNextHopResponse + 4, // 20: lemming.dataplane.sai.NextHop.RemoveNextHop:output_type -> lemming.dataplane.sai.RemoveNextHopResponse + 6, // 21: lemming.dataplane.sai.NextHop.SetNextHopAttribute:output_type -> lemming.dataplane.sai.SetNextHopAttributeResponse + 8, // 22: lemming.dataplane.sai.NextHop.GetNextHopAttribute:output_type -> lemming.dataplane.sai.GetNextHopAttributeResponse + 10, // 23: lemming.dataplane.sai.NextHop.CreateNextHops:output_type -> lemming.dataplane.sai.CreateNextHopsResponse + 12, // 24: lemming.dataplane.sai.NextHop.RemoveNextHops:output_type -> lemming.dataplane.sai.RemoveNextHopsResponse + 19, // [19:25] is the sub-list for method output_type + 13, // [13:19] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_next_hop_proto_init() } @@ -1230,6 +1349,30 @@ func file_dataplane_proto_sai_next_hop_proto_init() { return nil } } + file_dataplane_proto_sai_next_hop_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveNextHopsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_next_hop_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveNextHopsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_next_hop_proto_msgTypes[0].OneofWrappers = []interface{}{} file_dataplane_proto_sai_next_hop_proto_msgTypes[4].OneofWrappers = []interface{}{} @@ -1239,7 +1382,7 @@ func file_dataplane_proto_sai_next_hop_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_next_hop_proto_rawDesc, NumEnums: 1, - NumMessages: 10, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, @@ -1271,6 +1414,7 @@ type NextHopClient interface { SetNextHopAttribute(ctx context.Context, in *SetNextHopAttributeRequest, opts ...grpc.CallOption) (*SetNextHopAttributeResponse, error) GetNextHopAttribute(ctx context.Context, in *GetNextHopAttributeRequest, opts ...grpc.CallOption) (*GetNextHopAttributeResponse, error) CreateNextHops(ctx context.Context, in *CreateNextHopsRequest, opts ...grpc.CallOption) (*CreateNextHopsResponse, error) + RemoveNextHops(ctx context.Context, in *RemoveNextHopsRequest, opts ...grpc.CallOption) (*RemoveNextHopsResponse, error) } type nextHopClient struct { @@ -1326,6 +1470,15 @@ func (c *nextHopClient) CreateNextHops(ctx context.Context, in *CreateNextHopsRe return out, nil } +func (c *nextHopClient) RemoveNextHops(ctx context.Context, in *RemoveNextHopsRequest, opts ...grpc.CallOption) (*RemoveNextHopsResponse, error) { + out := new(RemoveNextHopsResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.NextHop/RemoveNextHops", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // NextHopServer is the server API for NextHop service. type NextHopServer interface { CreateNextHop(context.Context, *CreateNextHopRequest) (*CreateNextHopResponse, error) @@ -1333,6 +1486,7 @@ type NextHopServer interface { SetNextHopAttribute(context.Context, *SetNextHopAttributeRequest) (*SetNextHopAttributeResponse, error) GetNextHopAttribute(context.Context, *GetNextHopAttributeRequest) (*GetNextHopAttributeResponse, error) CreateNextHops(context.Context, *CreateNextHopsRequest) (*CreateNextHopsResponse, error) + RemoveNextHops(context.Context, *RemoveNextHopsRequest) (*RemoveNextHopsResponse, error) } // UnimplementedNextHopServer can be embedded to have forward compatible implementations. @@ -1354,6 +1508,9 @@ func (*UnimplementedNextHopServer) GetNextHopAttribute(context.Context, *GetNext func (*UnimplementedNextHopServer) CreateNextHops(context.Context, *CreateNextHopsRequest) (*CreateNextHopsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateNextHops not implemented") } +func (*UnimplementedNextHopServer) RemoveNextHops(context.Context, *RemoveNextHopsRequest) (*RemoveNextHopsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveNextHops not implemented") +} func RegisterNextHopServer(s *grpc.Server, srv NextHopServer) { s.RegisterService(&_NextHop_serviceDesc, srv) @@ -1449,6 +1606,24 @@ func _NextHop_CreateNextHops_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _NextHop_RemoveNextHops_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveNextHopsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NextHopServer).RemoveNextHops(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.NextHop/RemoveNextHops", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NextHopServer).RemoveNextHops(ctx, req.(*RemoveNextHopsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _NextHop_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.NextHop", HandlerType: (*NextHopServer)(nil), @@ -1473,6 +1648,10 @@ var _NextHop_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateNextHops", Handler: _NextHop_CreateNextHops_Handler, }, + { + MethodName: "RemoveNextHops", + Handler: _NextHop_RemoveNextHops_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/next_hop.proto", diff --git a/dataplane/proto/sai/next_hop.proto b/dataplane/proto/sai/next_hop.proto index a9fd307d..ae377f6f 100644 --- a/dataplane/proto/sai/next_hop.proto +++ b/dataplane/proto/sai/next_hop.proto @@ -93,6 +93,14 @@ message CreateNextHopsResponse { repeated CreateNextHopResponse resps = 1; } +message RemoveNextHopsRequest { + repeated RemoveNextHopRequest reqs = 1; +} + +message RemoveNextHopsResponse { + repeated RemoveNextHopResponse resps = 1; +} + service NextHop { rpc CreateNextHop(CreateNextHopRequest) returns (CreateNextHopResponse) {} rpc RemoveNextHop(RemoveNextHopRequest) returns (RemoveNextHopResponse) {} @@ -101,4 +109,5 @@ service NextHop { rpc GetNextHopAttribute(GetNextHopAttributeRequest) returns (GetNextHopAttributeResponse) {} rpc CreateNextHops(CreateNextHopsRequest) returns (CreateNextHopsResponse) {} + rpc RemoveNextHops(RemoveNextHopsRequest) returns (RemoveNextHopsResponse) {} } diff --git a/dataplane/proto/sai/next_hop_group.pb.go b/dataplane/proto/sai/next_hop_group.pb.go index 6366b909..0d895289 100644 --- a/dataplane/proto/sai/next_hop_group.pb.go +++ b/dataplane/proto/sai/next_hop_group.pb.go @@ -1204,6 +1204,100 @@ func (x *CreateNextHopGroupMembersResponse) GetResps() []*CreateNextHopGroupMemb return nil } +type RemoveNextHopGroupMembersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveNextHopGroupMemberRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveNextHopGroupMembersRequest) Reset() { + *x = RemoveNextHopGroupMembersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveNextHopGroupMembersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveNextHopGroupMembersRequest) ProtoMessage() {} + +func (x *RemoveNextHopGroupMembersRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveNextHopGroupMembersRequest.ProtoReflect.Descriptor instead. +func (*RemoveNextHopGroupMembersRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{18} +} + +func (x *RemoveNextHopGroupMembersRequest) GetReqs() []*RemoveNextHopGroupMemberRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveNextHopGroupMembersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveNextHopGroupMemberResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveNextHopGroupMembersResponse) Reset() { + *x = RemoveNextHopGroupMembersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveNextHopGroupMembersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveNextHopGroupMembersResponse) ProtoMessage() {} + +func (x *RemoveNextHopGroupMembersResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveNextHopGroupMembersResponse.ProtoReflect.Descriptor instead. +func (*RemoveNextHopGroupMembersResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{19} +} + +func (x *RemoveNextHopGroupMembersResponse) GetResps() []*RemoveNextHopGroupMemberResponse { + if x != nil { + return x.Resps + } + return nil +} + type CreateNextHopGroupMapRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1217,7 +1311,7 @@ type CreateNextHopGroupMapRequest struct { func (x *CreateNextHopGroupMapRequest) Reset() { *x = CreateNextHopGroupMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[18] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1230,7 +1324,7 @@ func (x *CreateNextHopGroupMapRequest) String() string { func (*CreateNextHopGroupMapRequest) ProtoMessage() {} func (x *CreateNextHopGroupMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[18] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1243,7 +1337,7 @@ func (x *CreateNextHopGroupMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNextHopGroupMapRequest.ProtoReflect.Descriptor instead. func (*CreateNextHopGroupMapRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{18} + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{20} } func (x *CreateNextHopGroupMapRequest) GetSwitch() uint64 { @@ -1278,7 +1372,7 @@ type CreateNextHopGroupMapResponse struct { func (x *CreateNextHopGroupMapResponse) Reset() { *x = CreateNextHopGroupMapResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[19] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1291,7 +1385,7 @@ func (x *CreateNextHopGroupMapResponse) String() string { func (*CreateNextHopGroupMapResponse) ProtoMessage() {} func (x *CreateNextHopGroupMapResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[19] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1304,7 +1398,7 @@ func (x *CreateNextHopGroupMapResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNextHopGroupMapResponse.ProtoReflect.Descriptor instead. func (*CreateNextHopGroupMapResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{19} + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{21} } func (x *CreateNextHopGroupMapResponse) GetOid() uint64 { @@ -1325,7 +1419,7 @@ type RemoveNextHopGroupMapRequest struct { func (x *RemoveNextHopGroupMapRequest) Reset() { *x = RemoveNextHopGroupMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[20] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1338,7 +1432,7 @@ func (x *RemoveNextHopGroupMapRequest) String() string { func (*RemoveNextHopGroupMapRequest) ProtoMessage() {} func (x *RemoveNextHopGroupMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[20] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1351,7 +1445,7 @@ func (x *RemoveNextHopGroupMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveNextHopGroupMapRequest.ProtoReflect.Descriptor instead. func (*RemoveNextHopGroupMapRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{20} + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{22} } func (x *RemoveNextHopGroupMapRequest) GetOid() uint64 { @@ -1370,7 +1464,7 @@ type RemoveNextHopGroupMapResponse struct { func (x *RemoveNextHopGroupMapResponse) Reset() { *x = RemoveNextHopGroupMapResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[21] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1383,7 +1477,7 @@ func (x *RemoveNextHopGroupMapResponse) String() string { func (*RemoveNextHopGroupMapResponse) ProtoMessage() {} func (x *RemoveNextHopGroupMapResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[21] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1396,7 +1490,7 @@ func (x *RemoveNextHopGroupMapResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveNextHopGroupMapResponse.ProtoReflect.Descriptor instead. func (*RemoveNextHopGroupMapResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{21} + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{23} } type SetNextHopGroupMapAttributeRequest struct { @@ -1411,7 +1505,7 @@ type SetNextHopGroupMapAttributeRequest struct { func (x *SetNextHopGroupMapAttributeRequest) Reset() { *x = SetNextHopGroupMapAttributeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[22] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1424,7 +1518,7 @@ func (x *SetNextHopGroupMapAttributeRequest) String() string { func (*SetNextHopGroupMapAttributeRequest) ProtoMessage() {} func (x *SetNextHopGroupMapAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[22] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1437,7 +1531,7 @@ func (x *SetNextHopGroupMapAttributeRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetNextHopGroupMapAttributeRequest.ProtoReflect.Descriptor instead. func (*SetNextHopGroupMapAttributeRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{22} + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{24} } func (x *SetNextHopGroupMapAttributeRequest) GetOid() uint64 { @@ -1463,7 +1557,7 @@ type SetNextHopGroupMapAttributeResponse struct { func (x *SetNextHopGroupMapAttributeResponse) Reset() { *x = SetNextHopGroupMapAttributeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[23] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1476,7 +1570,7 @@ func (x *SetNextHopGroupMapAttributeResponse) String() string { func (*SetNextHopGroupMapAttributeResponse) ProtoMessage() {} func (x *SetNextHopGroupMapAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[23] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1489,7 +1583,7 @@ func (x *SetNextHopGroupMapAttributeResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use SetNextHopGroupMapAttributeResponse.ProtoReflect.Descriptor instead. func (*SetNextHopGroupMapAttributeResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{23} + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{25} } type GetNextHopGroupMapAttributeRequest struct { @@ -1504,7 +1598,7 @@ type GetNextHopGroupMapAttributeRequest struct { func (x *GetNextHopGroupMapAttributeRequest) Reset() { *x = GetNextHopGroupMapAttributeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[24] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1517,7 +1611,7 @@ func (x *GetNextHopGroupMapAttributeRequest) String() string { func (*GetNextHopGroupMapAttributeRequest) ProtoMessage() {} func (x *GetNextHopGroupMapAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[24] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1530,7 +1624,7 @@ func (x *GetNextHopGroupMapAttributeRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetNextHopGroupMapAttributeRequest.ProtoReflect.Descriptor instead. func (*GetNextHopGroupMapAttributeRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{24} + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{26} } func (x *GetNextHopGroupMapAttributeRequest) GetOid() uint64 { @@ -1558,7 +1652,7 @@ type GetNextHopGroupMapAttributeResponse struct { func (x *GetNextHopGroupMapAttributeResponse) Reset() { *x = GetNextHopGroupMapAttributeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[25] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1571,7 +1665,7 @@ func (x *GetNextHopGroupMapAttributeResponse) String() string { func (*GetNextHopGroupMapAttributeResponse) ProtoMessage() {} func (x *GetNextHopGroupMapAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[25] + mi := &file_dataplane_proto_sai_next_hop_group_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1584,7 +1678,7 @@ func (x *GetNextHopGroupMapAttributeResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use GetNextHopGroupMapAttributeResponse.ProtoReflect.Descriptor instead. func (*GetNextHopGroupMapAttributeResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{25} + return file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP(), []int{27} } func (x *GetNextHopGroupMapAttributeResponse) GetAttr() *NextHopGroupMapAttribute { @@ -1772,240 +1866,263 @@ var file_dataplane_proto_sai_next_hop_group_proto_rawDesc = []byte{ 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0xe7, 0x01, - 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x4b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4e, 0x65, 0x78, - 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x01, 0x48, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x42, 0x06, - 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x54, 0x6f, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x3a, 0x06, 0xa0, 0xa9, 0x90, 0xad, 0x0f, 0x63, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x31, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x1c, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0x1f, 0x0a, 0x1d, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, - 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x74, 0x6f, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x4d, 0x61, - 0x70, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x54, 0x6f, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x25, 0x0a, 0x23, 0x53, 0x65, 0x74, - 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x7f, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x22, 0x6a, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4e, - 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x2a, 0xea, 0x02, - 0x0a, 0x10, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, - 0x74, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x4e, 0x45, 0x58, 0x54, 0x5f, - 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, - 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x01, 0x12, - 0x2c, 0x0a, 0x28, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, - 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x1c, 0x0a, - 0x18, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x4e, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x6e, 0x0a, + 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, + 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x72, 0x0a, + 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, + 0x73, 0x22, 0xe7, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, + 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x4b, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, + 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x01, 0x48, 0x00, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x74, + 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x4d, + 0x61, 0x70, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x54, + 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x3a, 0x06, 0xa0, 0xa9, 0x90, 0xad, + 0x0f, 0x63, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x31, 0x0a, 0x1d, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x22, 0x30, + 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, + 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, + 0x22, 0x1f, 0x0a, 0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, + 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x89, 0x01, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x51, 0x0a, 0x11, 0x6d, 0x61, + 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x55, 0x69, + 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x02, 0x52, 0x0e, 0x6d, + 0x61, 0x70, 0x54, 0x6f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x25, 0x0a, + 0x23, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x09, + 0x61, 0x74, 0x74, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, + 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x52, 0x08, 0x61, 0x74, 0x74, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x6a, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, + 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x04, + 0x61, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x04, 0x61, 0x74, 0x74, + 0x72, 0x2a, 0xea, 0x02, 0x0a, 0x10, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, + 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x4f, 0x56, 0x45, - 0x52, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, - 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x05, 0x12, 0x27, 0x0a, 0x23, 0x4e, 0x45, 0x58, 0x54, 0x5f, + 0x54, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, + 0x48, 0x4f, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, + 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x03, 0x12, + 0x26, 0x0a, 0x22, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, + 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, + 0x48, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x06, - 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, - 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a, - 0x45, 0x10, 0x07, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x08, 0x2a, 0xd5, 0x03, 0x0a, 0x16, 0x4e, - 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x12, 0x2a, 0x0a, 0x26, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, + 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x05, 0x12, 0x27, 0x0a, 0x23, 0x4e, + 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x5f, 0x53, 0x49, + 0x5a, 0x45, 0x10, 0x06, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, + 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x41, 0x4c, + 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x07, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x45, 0x58, 0x54, 0x5f, + 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, + 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x08, 0x2a, 0xd5, + 0x03, 0x0a, 0x16, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x12, 0x2a, 0x0a, 0x26, 0x4e, 0x45, 0x58, + 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, + 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x30, 0x0a, 0x2c, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x30, 0x0a, 0x2c, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, - 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, - 0x44, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, + 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x4e, 0x45, 0x58, 0x54, 0x5f, + 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, + 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, - 0x25, 0x0a, 0x21, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x57, 0x45, - 0x49, 0x47, 0x48, 0x54, 0x10, 0x03, 0x12, 0x2e, 0x0a, 0x2a, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, - 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x5f, - 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x2c, 0x0a, 0x28, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, - 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x52, 0x4f, - 0x4c, 0x45, 0x10, 0x05, 0x12, 0x2f, 0x0a, 0x2b, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, - 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x4f, 0x42, 0x4a, - 0x45, 0x43, 0x54, 0x10, 0x06, 0x12, 0x24, 0x0a, 0x20, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, - 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x07, 0x12, 0x2a, 0x0a, 0x26, 0x4e, + 0x52, 0x5f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, 0x03, 0x12, 0x2e, 0x0a, 0x2a, 0x4e, 0x45, + 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, + 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, + 0x52, 0x45, 0x44, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x2c, 0x0a, 0x28, 0x4e, 0x45, + 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, + 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x42, 0x53, 0x45, 0x52, 0x56, 0x45, + 0x44, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x2f, 0x0a, 0x2b, 0x4e, 0x45, 0x58, 0x54, + 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, + 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 0x54, 0x4f, 0x52, 0x45, 0x44, + 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x06, 0x12, 0x24, 0x0a, 0x20, 0x4e, 0x45, 0x58, + 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, + 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x07, 0x12, + 0x2a, 0x0a, 0x26, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, + 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, + 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x08, 0x12, 0x29, 0x0a, 0x25, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, - 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, - 0x43, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x08, 0x12, 0x29, 0x0a, 0x25, 0x4e, 0x45, 0x58, 0x54, 0x5f, - 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, - 0x10, 0x09, 0x2a, 0x8f, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x27, 0x0a, 0x23, 0x4e, 0x45, - 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x50, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, - 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x49, - 0x53, 0x54, 0x10, 0x02, 0x32, 0xdf, 0x0e, 0x0a, 0x0c, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x30, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, - 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, - 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, - 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x8d, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x6c, - 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, - 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x8d, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x6c, - 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x8d, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, - 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x36, 0x2e, 0x6c, - 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, - 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x8d, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, - 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x36, 0x2e, 0x6c, + 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, + 0x52, 0x5f, 0x49, 0x44, 0x10, 0x09, 0x2a, 0x8f, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x27, + 0x0a, 0x23, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, + 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, 0x58, 0x54, 0x5f, + 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x4e, 0x45, 0x58, + 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x56, 0x41, 0x4c, 0x55, + 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x32, 0xf2, 0x0f, 0x0a, 0x0c, 0x4e, 0x65, 0x78, + 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, + 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, - 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x9f, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, - 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, + 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8d, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x12, 0x36, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, - 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x9f, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, - 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8d, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x12, 0x36, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, + 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, + 0x65, 0x22, 0x00, 0x12, 0x8d, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, - 0x12, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x12, 0x36, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8d, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, + 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x36, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x9f, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, + 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, + 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9f, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, + 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, - 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, + 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, + 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x33, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x65, 0x78, + 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x1b, + 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x39, 0x2e, 0x6c, 0x65, + 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, + 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x39, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, - 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x39, 0x2e, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x75, 0x74, 0x65, 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, 0x70, 0x65, 0x6e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, + 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2021,7 +2138,7 @@ func file_dataplane_proto_sai_next_hop_group_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_next_hop_group_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_dataplane_proto_sai_next_hop_group_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_dataplane_proto_sai_next_hop_group_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_dataplane_proto_sai_next_hop_group_proto_goTypes = []interface{}{ (NextHopGroupAttr)(0), // 0: lemming.dataplane.sai.NextHopGroupAttr (NextHopGroupMemberAttr)(0), // 1: lemming.dataplane.sai.NextHopGroupMemberAttr @@ -2044,67 +2161,73 @@ var file_dataplane_proto_sai_next_hop_group_proto_goTypes = []interface{}{ (*GetNextHopGroupMemberAttributeResponse)(nil), // 18: lemming.dataplane.sai.GetNextHopGroupMemberAttributeResponse (*CreateNextHopGroupMembersRequest)(nil), // 19: lemming.dataplane.sai.CreateNextHopGroupMembersRequest (*CreateNextHopGroupMembersResponse)(nil), // 20: lemming.dataplane.sai.CreateNextHopGroupMembersResponse - (*CreateNextHopGroupMapRequest)(nil), // 21: lemming.dataplane.sai.CreateNextHopGroupMapRequest - (*CreateNextHopGroupMapResponse)(nil), // 22: lemming.dataplane.sai.CreateNextHopGroupMapResponse - (*RemoveNextHopGroupMapRequest)(nil), // 23: lemming.dataplane.sai.RemoveNextHopGroupMapRequest - (*RemoveNextHopGroupMapResponse)(nil), // 24: lemming.dataplane.sai.RemoveNextHopGroupMapResponse - (*SetNextHopGroupMapAttributeRequest)(nil), // 25: lemming.dataplane.sai.SetNextHopGroupMapAttributeRequest - (*SetNextHopGroupMapAttributeResponse)(nil), // 26: lemming.dataplane.sai.SetNextHopGroupMapAttributeResponse - (*GetNextHopGroupMapAttributeRequest)(nil), // 27: lemming.dataplane.sai.GetNextHopGroupMapAttributeRequest - (*GetNextHopGroupMapAttributeResponse)(nil), // 28: lemming.dataplane.sai.GetNextHopGroupMapAttributeResponse - (NextHopGroupType)(0), // 29: lemming.dataplane.sai.NextHopGroupType - (*NextHopGroupAttribute)(nil), // 30: lemming.dataplane.sai.NextHopGroupAttribute - (NextHopGroupMemberConfiguredRole)(0), // 31: lemming.dataplane.sai.NextHopGroupMemberConfiguredRole - (*NextHopGroupMemberAttribute)(nil), // 32: lemming.dataplane.sai.NextHopGroupMemberAttribute - (NextHopGroupMapType)(0), // 33: lemming.dataplane.sai.NextHopGroupMapType - (*UintMap)(nil), // 34: lemming.dataplane.sai.UintMap - (*NextHopGroupMapAttribute)(nil), // 35: lemming.dataplane.sai.NextHopGroupMapAttribute + (*RemoveNextHopGroupMembersRequest)(nil), // 21: lemming.dataplane.sai.RemoveNextHopGroupMembersRequest + (*RemoveNextHopGroupMembersResponse)(nil), // 22: lemming.dataplane.sai.RemoveNextHopGroupMembersResponse + (*CreateNextHopGroupMapRequest)(nil), // 23: lemming.dataplane.sai.CreateNextHopGroupMapRequest + (*CreateNextHopGroupMapResponse)(nil), // 24: lemming.dataplane.sai.CreateNextHopGroupMapResponse + (*RemoveNextHopGroupMapRequest)(nil), // 25: lemming.dataplane.sai.RemoveNextHopGroupMapRequest + (*RemoveNextHopGroupMapResponse)(nil), // 26: lemming.dataplane.sai.RemoveNextHopGroupMapResponse + (*SetNextHopGroupMapAttributeRequest)(nil), // 27: lemming.dataplane.sai.SetNextHopGroupMapAttributeRequest + (*SetNextHopGroupMapAttributeResponse)(nil), // 28: lemming.dataplane.sai.SetNextHopGroupMapAttributeResponse + (*GetNextHopGroupMapAttributeRequest)(nil), // 29: lemming.dataplane.sai.GetNextHopGroupMapAttributeRequest + (*GetNextHopGroupMapAttributeResponse)(nil), // 30: lemming.dataplane.sai.GetNextHopGroupMapAttributeResponse + (NextHopGroupType)(0), // 31: lemming.dataplane.sai.NextHopGroupType + (*NextHopGroupAttribute)(nil), // 32: lemming.dataplane.sai.NextHopGroupAttribute + (NextHopGroupMemberConfiguredRole)(0), // 33: lemming.dataplane.sai.NextHopGroupMemberConfiguredRole + (*NextHopGroupMemberAttribute)(nil), // 34: lemming.dataplane.sai.NextHopGroupMemberAttribute + (NextHopGroupMapType)(0), // 35: lemming.dataplane.sai.NextHopGroupMapType + (*UintMap)(nil), // 36: lemming.dataplane.sai.UintMap + (*NextHopGroupMapAttribute)(nil), // 37: lemming.dataplane.sai.NextHopGroupMapAttribute } var file_dataplane_proto_sai_next_hop_group_proto_depIdxs = []int32{ - 29, // 0: lemming.dataplane.sai.CreateNextHopGroupRequest.type:type_name -> lemming.dataplane.sai.NextHopGroupType + 31, // 0: lemming.dataplane.sai.CreateNextHopGroupRequest.type:type_name -> lemming.dataplane.sai.NextHopGroupType 0, // 1: lemming.dataplane.sai.GetNextHopGroupAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.NextHopGroupAttr - 30, // 2: lemming.dataplane.sai.GetNextHopGroupAttributeResponse.attr:type_name -> lemming.dataplane.sai.NextHopGroupAttribute - 31, // 3: lemming.dataplane.sai.CreateNextHopGroupMemberRequest.configured_role:type_name -> lemming.dataplane.sai.NextHopGroupMemberConfiguredRole + 32, // 2: lemming.dataplane.sai.GetNextHopGroupAttributeResponse.attr:type_name -> lemming.dataplane.sai.NextHopGroupAttribute + 33, // 3: lemming.dataplane.sai.CreateNextHopGroupMemberRequest.configured_role:type_name -> lemming.dataplane.sai.NextHopGroupMemberConfiguredRole 1, // 4: lemming.dataplane.sai.GetNextHopGroupMemberAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.NextHopGroupMemberAttr - 32, // 5: lemming.dataplane.sai.GetNextHopGroupMemberAttributeResponse.attr:type_name -> lemming.dataplane.sai.NextHopGroupMemberAttribute + 34, // 5: lemming.dataplane.sai.GetNextHopGroupMemberAttributeResponse.attr:type_name -> lemming.dataplane.sai.NextHopGroupMemberAttribute 11, // 6: lemming.dataplane.sai.CreateNextHopGroupMembersRequest.reqs:type_name -> lemming.dataplane.sai.CreateNextHopGroupMemberRequest 12, // 7: lemming.dataplane.sai.CreateNextHopGroupMembersResponse.resps:type_name -> lemming.dataplane.sai.CreateNextHopGroupMemberResponse - 33, // 8: lemming.dataplane.sai.CreateNextHopGroupMapRequest.type:type_name -> lemming.dataplane.sai.NextHopGroupMapType - 34, // 9: lemming.dataplane.sai.CreateNextHopGroupMapRequest.map_to_value_list:type_name -> lemming.dataplane.sai.UintMap - 34, // 10: lemming.dataplane.sai.SetNextHopGroupMapAttributeRequest.map_to_value_list:type_name -> lemming.dataplane.sai.UintMap - 2, // 11: lemming.dataplane.sai.GetNextHopGroupMapAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.NextHopGroupMapAttr - 35, // 12: lemming.dataplane.sai.GetNextHopGroupMapAttributeResponse.attr:type_name -> lemming.dataplane.sai.NextHopGroupMapAttribute - 3, // 13: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroup:input_type -> lemming.dataplane.sai.CreateNextHopGroupRequest - 5, // 14: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroup:input_type -> lemming.dataplane.sai.RemoveNextHopGroupRequest - 7, // 15: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupAttribute:input_type -> lemming.dataplane.sai.SetNextHopGroupAttributeRequest - 9, // 16: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupAttribute:input_type -> lemming.dataplane.sai.GetNextHopGroupAttributeRequest - 11, // 17: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMember:input_type -> lemming.dataplane.sai.CreateNextHopGroupMemberRequest - 13, // 18: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMember:input_type -> lemming.dataplane.sai.RemoveNextHopGroupMemberRequest - 15, // 19: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupMemberAttribute:input_type -> lemming.dataplane.sai.SetNextHopGroupMemberAttributeRequest - 17, // 20: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupMemberAttribute:input_type -> lemming.dataplane.sai.GetNextHopGroupMemberAttributeRequest - 19, // 21: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMembers:input_type -> lemming.dataplane.sai.CreateNextHopGroupMembersRequest - 21, // 22: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMap:input_type -> lemming.dataplane.sai.CreateNextHopGroupMapRequest - 23, // 23: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMap:input_type -> lemming.dataplane.sai.RemoveNextHopGroupMapRequest - 25, // 24: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupMapAttribute:input_type -> lemming.dataplane.sai.SetNextHopGroupMapAttributeRequest - 27, // 25: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupMapAttribute:input_type -> lemming.dataplane.sai.GetNextHopGroupMapAttributeRequest - 4, // 26: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroup:output_type -> lemming.dataplane.sai.CreateNextHopGroupResponse - 6, // 27: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroup:output_type -> lemming.dataplane.sai.RemoveNextHopGroupResponse - 8, // 28: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupAttribute:output_type -> lemming.dataplane.sai.SetNextHopGroupAttributeResponse - 10, // 29: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupAttribute:output_type -> lemming.dataplane.sai.GetNextHopGroupAttributeResponse - 12, // 30: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMember:output_type -> lemming.dataplane.sai.CreateNextHopGroupMemberResponse - 14, // 31: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMember:output_type -> lemming.dataplane.sai.RemoveNextHopGroupMemberResponse - 16, // 32: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupMemberAttribute:output_type -> lemming.dataplane.sai.SetNextHopGroupMemberAttributeResponse - 18, // 33: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupMemberAttribute:output_type -> lemming.dataplane.sai.GetNextHopGroupMemberAttributeResponse - 20, // 34: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMembers:output_type -> lemming.dataplane.sai.CreateNextHopGroupMembersResponse - 22, // 35: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMap:output_type -> lemming.dataplane.sai.CreateNextHopGroupMapResponse - 24, // 36: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMap:output_type -> lemming.dataplane.sai.RemoveNextHopGroupMapResponse - 26, // 37: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupMapAttribute:output_type -> lemming.dataplane.sai.SetNextHopGroupMapAttributeResponse - 28, // 38: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupMapAttribute:output_type -> lemming.dataplane.sai.GetNextHopGroupMapAttributeResponse - 26, // [26:39] is the sub-list for method output_type - 13, // [13:26] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 13, // 8: lemming.dataplane.sai.RemoveNextHopGroupMembersRequest.reqs:type_name -> lemming.dataplane.sai.RemoveNextHopGroupMemberRequest + 14, // 9: lemming.dataplane.sai.RemoveNextHopGroupMembersResponse.resps:type_name -> lemming.dataplane.sai.RemoveNextHopGroupMemberResponse + 35, // 10: lemming.dataplane.sai.CreateNextHopGroupMapRequest.type:type_name -> lemming.dataplane.sai.NextHopGroupMapType + 36, // 11: lemming.dataplane.sai.CreateNextHopGroupMapRequest.map_to_value_list:type_name -> lemming.dataplane.sai.UintMap + 36, // 12: lemming.dataplane.sai.SetNextHopGroupMapAttributeRequest.map_to_value_list:type_name -> lemming.dataplane.sai.UintMap + 2, // 13: lemming.dataplane.sai.GetNextHopGroupMapAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.NextHopGroupMapAttr + 37, // 14: lemming.dataplane.sai.GetNextHopGroupMapAttributeResponse.attr:type_name -> lemming.dataplane.sai.NextHopGroupMapAttribute + 3, // 15: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroup:input_type -> lemming.dataplane.sai.CreateNextHopGroupRequest + 5, // 16: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroup:input_type -> lemming.dataplane.sai.RemoveNextHopGroupRequest + 7, // 17: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupAttribute:input_type -> lemming.dataplane.sai.SetNextHopGroupAttributeRequest + 9, // 18: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupAttribute:input_type -> lemming.dataplane.sai.GetNextHopGroupAttributeRequest + 11, // 19: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMember:input_type -> lemming.dataplane.sai.CreateNextHopGroupMemberRequest + 13, // 20: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMember:input_type -> lemming.dataplane.sai.RemoveNextHopGroupMemberRequest + 15, // 21: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupMemberAttribute:input_type -> lemming.dataplane.sai.SetNextHopGroupMemberAttributeRequest + 17, // 22: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupMemberAttribute:input_type -> lemming.dataplane.sai.GetNextHopGroupMemberAttributeRequest + 19, // 23: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMembers:input_type -> lemming.dataplane.sai.CreateNextHopGroupMembersRequest + 21, // 24: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMembers:input_type -> lemming.dataplane.sai.RemoveNextHopGroupMembersRequest + 23, // 25: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMap:input_type -> lemming.dataplane.sai.CreateNextHopGroupMapRequest + 25, // 26: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMap:input_type -> lemming.dataplane.sai.RemoveNextHopGroupMapRequest + 27, // 27: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupMapAttribute:input_type -> lemming.dataplane.sai.SetNextHopGroupMapAttributeRequest + 29, // 28: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupMapAttribute:input_type -> lemming.dataplane.sai.GetNextHopGroupMapAttributeRequest + 4, // 29: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroup:output_type -> lemming.dataplane.sai.CreateNextHopGroupResponse + 6, // 30: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroup:output_type -> lemming.dataplane.sai.RemoveNextHopGroupResponse + 8, // 31: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupAttribute:output_type -> lemming.dataplane.sai.SetNextHopGroupAttributeResponse + 10, // 32: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupAttribute:output_type -> lemming.dataplane.sai.GetNextHopGroupAttributeResponse + 12, // 33: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMember:output_type -> lemming.dataplane.sai.CreateNextHopGroupMemberResponse + 14, // 34: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMember:output_type -> lemming.dataplane.sai.RemoveNextHopGroupMemberResponse + 16, // 35: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupMemberAttribute:output_type -> lemming.dataplane.sai.SetNextHopGroupMemberAttributeResponse + 18, // 36: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupMemberAttribute:output_type -> lemming.dataplane.sai.GetNextHopGroupMemberAttributeResponse + 20, // 37: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMembers:output_type -> lemming.dataplane.sai.CreateNextHopGroupMembersResponse + 22, // 38: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMembers:output_type -> lemming.dataplane.sai.RemoveNextHopGroupMembersResponse + 24, // 39: lemming.dataplane.sai.NextHopGroup.CreateNextHopGroupMap:output_type -> lemming.dataplane.sai.CreateNextHopGroupMapResponse + 26, // 40: lemming.dataplane.sai.NextHopGroup.RemoveNextHopGroupMap:output_type -> lemming.dataplane.sai.RemoveNextHopGroupMapResponse + 28, // 41: lemming.dataplane.sai.NextHopGroup.SetNextHopGroupMapAttribute:output_type -> lemming.dataplane.sai.SetNextHopGroupMapAttributeResponse + 30, // 42: lemming.dataplane.sai.NextHopGroup.GetNextHopGroupMapAttribute:output_type -> lemming.dataplane.sai.GetNextHopGroupMapAttributeResponse + 29, // [29:43] is the sub-list for method output_type + 15, // [15:29] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_next_hop_group_proto_init() } @@ -2331,7 +2454,7 @@ func file_dataplane_proto_sai_next_hop_group_proto_init() { } } file_dataplane_proto_sai_next_hop_group_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNextHopGroupMapRequest); i { + switch v := v.(*RemoveNextHopGroupMembersRequest); i { case 0: return &v.state case 1: @@ -2343,7 +2466,7 @@ func file_dataplane_proto_sai_next_hop_group_proto_init() { } } file_dataplane_proto_sai_next_hop_group_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNextHopGroupMapResponse); i { + switch v := v.(*RemoveNextHopGroupMembersResponse); i { case 0: return &v.state case 1: @@ -2355,7 +2478,7 @@ func file_dataplane_proto_sai_next_hop_group_proto_init() { } } file_dataplane_proto_sai_next_hop_group_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveNextHopGroupMapRequest); i { + switch v := v.(*CreateNextHopGroupMapRequest); i { case 0: return &v.state case 1: @@ -2367,7 +2490,7 @@ func file_dataplane_proto_sai_next_hop_group_proto_init() { } } file_dataplane_proto_sai_next_hop_group_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveNextHopGroupMapResponse); i { + switch v := v.(*CreateNextHopGroupMapResponse); i { case 0: return &v.state case 1: @@ -2379,7 +2502,7 @@ func file_dataplane_proto_sai_next_hop_group_proto_init() { } } file_dataplane_proto_sai_next_hop_group_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetNextHopGroupMapAttributeRequest); i { + switch v := v.(*RemoveNextHopGroupMapRequest); i { case 0: return &v.state case 1: @@ -2391,7 +2514,7 @@ func file_dataplane_proto_sai_next_hop_group_proto_init() { } } file_dataplane_proto_sai_next_hop_group_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetNextHopGroupMapAttributeResponse); i { + switch v := v.(*RemoveNextHopGroupMapResponse); i { case 0: return &v.state case 1: @@ -2403,7 +2526,7 @@ func file_dataplane_proto_sai_next_hop_group_proto_init() { } } file_dataplane_proto_sai_next_hop_group_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNextHopGroupMapAttributeRequest); i { + switch v := v.(*SetNextHopGroupMapAttributeRequest); i { case 0: return &v.state case 1: @@ -2415,6 +2538,30 @@ func file_dataplane_proto_sai_next_hop_group_proto_init() { } } file_dataplane_proto_sai_next_hop_group_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetNextHopGroupMapAttributeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_next_hop_group_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNextHopGroupMapAttributeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_next_hop_group_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNextHopGroupMapAttributeResponse); i { case 0: return &v.state @@ -2431,14 +2578,14 @@ func file_dataplane_proto_sai_next_hop_group_proto_init() { file_dataplane_proto_sai_next_hop_group_proto_msgTypes[4].OneofWrappers = []interface{}{} file_dataplane_proto_sai_next_hop_group_proto_msgTypes[8].OneofWrappers = []interface{}{} file_dataplane_proto_sai_next_hop_group_proto_msgTypes[12].OneofWrappers = []interface{}{} - file_dataplane_proto_sai_next_hop_group_proto_msgTypes[18].OneofWrappers = []interface{}{} + file_dataplane_proto_sai_next_hop_group_proto_msgTypes[20].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_next_hop_group_proto_rawDesc, NumEnums: 3, - NumMessages: 26, + NumMessages: 28, NumExtensions: 0, NumServices: 1, }, @@ -2474,6 +2621,7 @@ type NextHopGroupClient interface { SetNextHopGroupMemberAttribute(ctx context.Context, in *SetNextHopGroupMemberAttributeRequest, opts ...grpc.CallOption) (*SetNextHopGroupMemberAttributeResponse, error) GetNextHopGroupMemberAttribute(ctx context.Context, in *GetNextHopGroupMemberAttributeRequest, opts ...grpc.CallOption) (*GetNextHopGroupMemberAttributeResponse, error) CreateNextHopGroupMembers(ctx context.Context, in *CreateNextHopGroupMembersRequest, opts ...grpc.CallOption) (*CreateNextHopGroupMembersResponse, error) + RemoveNextHopGroupMembers(ctx context.Context, in *RemoveNextHopGroupMembersRequest, opts ...grpc.CallOption) (*RemoveNextHopGroupMembersResponse, error) CreateNextHopGroupMap(ctx context.Context, in *CreateNextHopGroupMapRequest, opts ...grpc.CallOption) (*CreateNextHopGroupMapResponse, error) RemoveNextHopGroupMap(ctx context.Context, in *RemoveNextHopGroupMapRequest, opts ...grpc.CallOption) (*RemoveNextHopGroupMapResponse, error) SetNextHopGroupMapAttribute(ctx context.Context, in *SetNextHopGroupMapAttributeRequest, opts ...grpc.CallOption) (*SetNextHopGroupMapAttributeResponse, error) @@ -2569,6 +2717,15 @@ func (c *nextHopGroupClient) CreateNextHopGroupMembers(ctx context.Context, in * return out, nil } +func (c *nextHopGroupClient) RemoveNextHopGroupMembers(ctx context.Context, in *RemoveNextHopGroupMembersRequest, opts ...grpc.CallOption) (*RemoveNextHopGroupMembersResponse, error) { + out := new(RemoveNextHopGroupMembersResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.NextHopGroup/RemoveNextHopGroupMembers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nextHopGroupClient) CreateNextHopGroupMap(ctx context.Context, in *CreateNextHopGroupMapRequest, opts ...grpc.CallOption) (*CreateNextHopGroupMapResponse, error) { out := new(CreateNextHopGroupMapResponse) err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.NextHopGroup/CreateNextHopGroupMap", in, out, opts...) @@ -2616,6 +2773,7 @@ type NextHopGroupServer interface { SetNextHopGroupMemberAttribute(context.Context, *SetNextHopGroupMemberAttributeRequest) (*SetNextHopGroupMemberAttributeResponse, error) GetNextHopGroupMemberAttribute(context.Context, *GetNextHopGroupMemberAttributeRequest) (*GetNextHopGroupMemberAttributeResponse, error) CreateNextHopGroupMembers(context.Context, *CreateNextHopGroupMembersRequest) (*CreateNextHopGroupMembersResponse, error) + RemoveNextHopGroupMembers(context.Context, *RemoveNextHopGroupMembersRequest) (*RemoveNextHopGroupMembersResponse, error) CreateNextHopGroupMap(context.Context, *CreateNextHopGroupMapRequest) (*CreateNextHopGroupMapResponse, error) RemoveNextHopGroupMap(context.Context, *RemoveNextHopGroupMapRequest) (*RemoveNextHopGroupMapResponse, error) SetNextHopGroupMapAttribute(context.Context, *SetNextHopGroupMapAttributeRequest) (*SetNextHopGroupMapAttributeResponse, error) @@ -2653,6 +2811,9 @@ func (*UnimplementedNextHopGroupServer) GetNextHopGroupMemberAttribute(context.C func (*UnimplementedNextHopGroupServer) CreateNextHopGroupMembers(context.Context, *CreateNextHopGroupMembersRequest) (*CreateNextHopGroupMembersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateNextHopGroupMembers not implemented") } +func (*UnimplementedNextHopGroupServer) RemoveNextHopGroupMembers(context.Context, *RemoveNextHopGroupMembersRequest) (*RemoveNextHopGroupMembersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveNextHopGroupMembers not implemented") +} func (*UnimplementedNextHopGroupServer) CreateNextHopGroupMap(context.Context, *CreateNextHopGroupMapRequest) (*CreateNextHopGroupMapResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateNextHopGroupMap not implemented") } @@ -2832,6 +2993,24 @@ func _NextHopGroup_CreateNextHopGroupMembers_Handler(srv interface{}, ctx contex return interceptor(ctx, in, info, handler) } +func _NextHopGroup_RemoveNextHopGroupMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveNextHopGroupMembersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NextHopGroupServer).RemoveNextHopGroupMembers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.NextHopGroup/RemoveNextHopGroupMembers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NextHopGroupServer).RemoveNextHopGroupMembers(ctx, req.(*RemoveNextHopGroupMembersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _NextHopGroup_CreateNextHopGroupMap_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateNextHopGroupMapRequest) if err := dec(in); err != nil { @@ -2944,6 +3123,10 @@ var _NextHopGroup_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateNextHopGroupMembers", Handler: _NextHopGroup_CreateNextHopGroupMembers_Handler, }, + { + MethodName: "RemoveNextHopGroupMembers", + Handler: _NextHopGroup_RemoveNextHopGroupMembers_Handler, + }, { MethodName: "CreateNextHopGroupMap", Handler: _NextHopGroup_CreateNextHopGroupMap_Handler, diff --git a/dataplane/proto/sai/next_hop_group.proto b/dataplane/proto/sai/next_hop_group.proto index 0f769704..15c20fbc 100644 --- a/dataplane/proto/sai/next_hop_group.proto +++ b/dataplane/proto/sai/next_hop_group.proto @@ -128,6 +128,14 @@ message CreateNextHopGroupMembersResponse { repeated CreateNextHopGroupMemberResponse resps = 1; } +message RemoveNextHopGroupMembersRequest { + repeated RemoveNextHopGroupMemberRequest reqs = 1; +} + +message RemoveNextHopGroupMembersResponse { + repeated RemoveNextHopGroupMemberResponse resps = 1; +} + message CreateNextHopGroupMapRequest { option (sai_type) = OBJECT_TYPE_NEXT_HOP_GROUP_MAP; uint64 switch = 1; @@ -180,6 +188,8 @@ service NextHopGroup { returns (GetNextHopGroupMemberAttributeResponse) {} rpc CreateNextHopGroupMembers(CreateNextHopGroupMembersRequest) returns (CreateNextHopGroupMembersResponse) {} + rpc RemoveNextHopGroupMembers(RemoveNextHopGroupMembersRequest) + returns (RemoveNextHopGroupMembersResponse) {} rpc CreateNextHopGroupMap(CreateNextHopGroupMapRequest) returns (CreateNextHopGroupMapResponse) {} rpc RemoveNextHopGroupMap(RemoveNextHopGroupMapRequest) diff --git a/dataplane/proto/sai/port.pb.go b/dataplane/proto/sai/port.pb.go index 05aafb22..6fc2a4ed 100644 --- a/dataplane/proto/sai/port.pb.go +++ b/dataplane/proto/sai/port.pb.go @@ -4102,6 +4102,100 @@ func (x *CreatePortsResponse) GetResps() []*CreatePortResponse { return nil } +type RemovePortsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemovePortRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemovePortsRequest) Reset() { + *x = RemovePortsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_port_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemovePortsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemovePortsRequest) ProtoMessage() {} + +func (x *RemovePortsRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_port_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemovePortsRequest.ProtoReflect.Descriptor instead. +func (*RemovePortsRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_port_proto_rawDescGZIP(), []int{36} +} + +func (x *RemovePortsRequest) GetReqs() []*RemovePortRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemovePortsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemovePortResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemovePortsResponse) Reset() { + *x = RemovePortsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_port_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemovePortsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemovePortsResponse) ProtoMessage() {} + +func (x *RemovePortsResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_port_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemovePortsResponse.ProtoReflect.Descriptor instead. +func (*RemovePortsResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_port_proto_rawDescGZIP(), []int{37} +} + +func (x *RemovePortsResponse) GetResps() []*RemovePortResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_port_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_port_proto_rawDesc = []byte{ @@ -5403,560 +5497,577 @@ var file_dataplane_proto_sai_port_proto_rawDesc = []byte{ 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, - 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0xc1, 0x2c, 0x0a, 0x08, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, - 0x74, 0x72, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, - 0x0e, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, - 0x01, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, - 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, - 0x54, 0x45, 0x44, 0x5f, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x4f, 0x55, 0x54, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x52, - 0x45, 0x41, 0x4b, 0x4f, 0x55, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x51, 0x4f, 0x53, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x5f, 0x51, 0x55, - 0x45, 0x55, 0x45, 0x53, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x4c, 0x49, - 0x53, 0x54, 0x10, 0x06, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x5f, - 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, - 0x10, 0x07, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x51, 0x4f, 0x53, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x47, 0x52, - 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x08, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4d, 0x41, 0x58, 0x49, - 0x4d, 0x55, 0x4d, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x53, 0x49, 0x5a, - 0x45, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, - 0x10, 0x0a, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x10, 0x0b, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x0c, 0x12, - 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, - 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x48, 0x41, 0x4c, 0x46, 0x5f, 0x44, 0x55, 0x50, 0x4c, - 0x45, 0x58, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, - 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, - 0x0e, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, - 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, - 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0f, 0x12, 0x2d, 0x0a, 0x29, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, - 0x54, 0x45, 0x44, 0x5f, 0x41, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x50, - 0x41, 0x55, 0x53, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x50, + 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x52, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x72, + 0x65, 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, + 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x56, 0x0a, 0x13, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3f, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, + 0x73, 0x2a, 0xc1, 0x2c, 0x0a, 0x08, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, 0x19, + 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, + 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, + 0x42, 0x52, 0x45, 0x41, 0x4b, 0x4f, 0x55, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x4f, + 0x55, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x04, 0x12, 0x22, + 0x0a, 0x1e, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, + 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x53, + 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x51, 0x4f, 0x53, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, + 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, + 0x53, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x43, 0x48, 0x45, + 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0x07, 0x12, 0x26, + 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, + 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, + 0x4c, 0x49, 0x53, 0x54, 0x10, 0x08, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4d, 0x41, 0x58, 0x49, 0x4d, 0x55, 0x4d, 0x5f, + 0x48, 0x45, 0x41, 0x44, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x09, 0x12, + 0x1d, 0x0a, 0x19, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, + 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x20, + 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, + 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0b, + 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, + 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, - 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x11, 0x12, - 0x25, 0x0a, 0x21, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, - 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x53, - 0x50, 0x45, 0x45, 0x44, 0x10, 0x12, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, - 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x13, - 0x12, 0x31, 0x0a, 0x2d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, - 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, - 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x14, 0x12, 0x31, 0x0a, 0x2d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x48, 0x41, 0x4c, 0x46, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x53, - 0x50, 0x45, 0x45, 0x44, 0x10, 0x15, 0x12, 0x2d, 0x0a, 0x29, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, - 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x10, 0x16, 0x12, 0x31, 0x0a, 0x2d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, - 0x49, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, - 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x17, 0x12, 0x35, 0x0a, 0x31, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, - 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x41, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, - 0x49, 0x43, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x18, 0x12, - 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, - 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x4d, - 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x19, 0x12, 0x28, 0x0a, 0x24, 0x50, + 0x50, 0x45, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x55, + 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0e, 0x12, 0x29, 0x0a, + 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, + 0x52, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, + 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0f, 0x12, 0x2d, 0x0a, 0x29, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, + 0x41, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4d, + 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x11, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, - 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x4f, 0x55, 0x49, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x10, 0x1a, 0x12, 0x2f, 0x0a, 0x2b, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x5f, 0x49, 0x4e, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, - 0x4f, 0x55, 0x50, 0x53, 0x10, 0x1b, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x49, 0x4f, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, - 0x1c, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, - 0x59, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x10, 0x1d, 0x12, 0x18, 0x0a, 0x14, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x50, - 0x45, 0x45, 0x44, 0x10, 0x1e, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x48, 0x57, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, - 0x1f, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, - 0x50, 0x45, 0x45, 0x44, 0x10, 0x20, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x45, 0x58, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x21, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x10, 0x22, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x23, 0x12, 0x18, - 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x44, 0x49, - 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x24, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, - 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x25, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, - 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x26, 0x12, 0x2a, 0x0a, 0x26, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, - 0x53, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x54, - 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x27, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, - 0x48, 0x41, 0x4c, 0x46, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x53, 0x50, 0x45, 0x45, - 0x44, 0x10, 0x28, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, - 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x29, 0x12, 0x2a, 0x0a, 0x26, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, - 0x53, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x2a, 0x12, 0x2e, 0x0a, 0x2a, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, + 0x10, 0x12, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, + 0x44, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x13, 0x12, 0x31, 0x0a, 0x2d, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, + 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x14, 0x12, + 0x31, 0x0a, 0x2d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, + 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x48, + 0x41, 0x4c, 0x46, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, + 0x10, 0x15, 0x12, 0x2d, 0x0a, 0x29, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, + 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, + 0x16, 0x12, 0x31, 0x0a, 0x2d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, + 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, + 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x10, 0x17, 0x12, 0x35, 0x0a, 0x31, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, + 0x53, 0x45, 0x44, 0x5f, 0x41, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x50, + 0x41, 0x55, 0x53, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x18, 0x12, 0x2a, 0x0a, 0x26, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, + 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x19, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x56, 0x45, + 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x4f, 0x55, 0x49, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, + 0x1a, 0x12, 0x2f, 0x0a, 0x2b, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, + 0x55, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, + 0x10, 0x1b, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x1c, 0x12, 0x18, 0x0a, + 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x56, + 0x41, 0x4c, 0x55, 0x45, 0x53, 0x10, 0x1d, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, + 0x1e, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x48, + 0x57, 0x5f, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x1f, 0x12, 0x13, 0x0a, + 0x0f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, + 0x10, 0x20, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x10, 0x21, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x22, 0x12, + 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x4d, + 0x49, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x23, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0x24, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x53, 0x50, 0x45, + 0x45, 0x44, 0x10, 0x25, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x26, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, - 0x41, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x2b, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x45, + 0x44, 0x10, 0x27, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x48, 0x41, 0x4c, 0x46, + 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x28, 0x12, + 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, + 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x29, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, - 0x4d, 0x45, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x2c, 0x12, 0x21, 0x0a, 0x1d, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, - 0x49, 0x53, 0x45, 0x44, 0x5f, 0x4f, 0x55, 0x49, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x2d, 0x12, - 0x1a, 0x0a, 0x16, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x49, 0x44, 0x10, 0x2e, 0x12, 0x23, 0x0a, 0x1f, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, - 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x2f, - 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x52, - 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x54, 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x30, 0x12, 0x19, 0x0a, - 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, - 0x54, 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x31, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, - 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x32, 0x12, 0x1e, - 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x5f, - 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, 0x10, 0x33, 0x12, 0x16, - 0x0a, 0x12, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x45, 0x43, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x34, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x54, - 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x35, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x53, 0x43, 0x50, - 0x10, 0x36, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x4d, 0x54, 0x55, 0x10, 0x37, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x4d, 0x5f, 0x43, + 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x10, 0x2a, 0x12, 0x2e, 0x0a, 0x2a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x41, 0x53, 0x59, 0x4d, + 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x10, 0x2b, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x44, 0x49, + 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x2c, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, + 0x5f, 0x4f, 0x55, 0x49, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x2d, 0x12, 0x1a, 0x0a, 0x16, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x56, 0x4c, + 0x41, 0x4e, 0x5f, 0x49, 0x44, 0x10, 0x2e, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x4c, 0x41, + 0x4e, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x2f, 0x12, 0x1b, 0x0a, 0x17, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x55, + 0x4e, 0x54, 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x30, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x54, 0x41, 0x47, 0x47, + 0x45, 0x44, 0x10, 0x31, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, + 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x32, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, + 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x43, 0x10, 0x33, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x10, 0x34, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x45, + 0x44, 0x10, 0x35, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x10, 0x36, 0x12, 0x11, + 0x0a, 0x0d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x54, 0x55, 0x10, + 0x37, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, + 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x4d, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, + 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x38, 0x12, + 0x30, 0x0a, 0x2c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x4f, + 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x4d, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, + 0x39, 0x12, 0x30, 0x0a, 0x2c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, + 0x55, 0x4c, 0x54, 0x49, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x4d, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x45, 0x52, 0x5f, 0x49, - 0x44, 0x10, 0x38, 0x12, 0x30, 0x0a, 0x2c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x4d, - 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x45, 0x52, - 0x5f, 0x49, 0x44, 0x10, 0x39, 0x12, 0x30, 0x0a, 0x2c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x4f, - 0x52, 0x4d, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, - 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x3a, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x46, 0x4c, 0x4f, 0x57, - 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x3b, 0x12, - 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x3c, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x41, - 0x43, 0x4c, 0x10, 0x3d, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x43, 0x53, 0x45, 0x43, - 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x3e, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x43, 0x53, 0x45, - 0x43, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x3f, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x41, 0x43, 0x53, 0x45, 0x43, 0x5f, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x40, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x49, 0x52, - 0x52, 0x4f, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x41, 0x12, 0x23, 0x0a, - 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, - 0x53, 0x5f, 0x4d, 0x49, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, - 0x10, 0x42, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x43, 0x12, 0x28, 0x0a, - 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, - 0x53, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x45, - 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x44, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x41, 0x4d, - 0x50, 0x4c, 0x45, 0x5f, 0x4d, 0x49, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x10, 0x45, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, - 0x4d, 0x49, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x46, - 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, - 0x4c, 0x49, 0x43, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x47, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x43, 0x10, 0x48, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x4f, 0x54, 0x31, 0x50, 0x5f, - 0x54, 0x4f, 0x5f, 0x54, 0x43, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x49, 0x12, 0x24, 0x0a, 0x20, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x4f, 0x54, - 0x31, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, - 0x4a, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, - 0x4f, 0x53, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x43, 0x5f, 0x4d, 0x41, - 0x50, 0x10, 0x4b, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4f, 0x4c, - 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x4c, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x54, 0x4f, 0x5f, - 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x4d, 0x12, 0x2b, 0x0a, 0x27, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, - 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x4f, 0x54, - 0x31, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x4e, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x41, 0x4e, 0x44, - 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x4d, - 0x41, 0x50, 0x10, 0x4f, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x52, 0x49, 0x4f, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x50, - 0x12, 0x34, 0x0a, 0x30, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, - 0x53, 0x5f, 0x50, 0x46, 0x43, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, - 0x4f, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x51, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x50, 0x46, 0x43, 0x5f, 0x50, 0x52, 0x49, 0x4f, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x4f, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x4d, 0x41, - 0x50, 0x10, 0x52, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x50, - 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x53, 0x12, 0x2d, 0x0a, 0x29, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x49, 0x4e, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x46, - 0x49, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x54, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x45, 0x47, 0x52, 0x45, - 0x53, 0x53, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, - 0x45, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x55, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, - 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x10, 0x56, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, - 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x10, 0x57, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x4c, - 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x52, 0x58, 0x10, 0x58, 0x12, - 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x49, - 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, - 0x4f, 0x4c, 0x5f, 0x54, 0x58, 0x10, 0x59, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x5a, - 0x12, 0x24, 0x0a, 0x20, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x4c, 0x49, 0x53, 0x54, 0x10, 0x5b, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x48, 0x57, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x49, - 0x44, 0x10, 0x5c, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x45, 0x45, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x5d, 0x12, 0x1b, 0x0a, - 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x45, 0x45, 0x5f, 0x49, - 0x44, 0x4c, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x5e, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x45, 0x45, 0x5f, 0x57, 0x41, 0x4b, 0x45, - 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x5f, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, - 0x49, 0x53, 0x54, 0x10, 0x60, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x49, 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x52, 0x4f, - 0x55, 0x50, 0x10, 0x61, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x50, 0x4b, 0x54, 0x5f, 0x54, 0x58, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0x62, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, - 0x41, 0x4d, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x63, 0x12, 0x20, 0x0a, 0x1c, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, - 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x48, 0x41, 0x53, 0x49, 0x53, 0x10, 0x64, 0x12, 0x1c, 0x0a, - 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, - 0x53, 0x5f, 0x49, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x10, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, - 0x49, 0x50, 0x52, 0x45, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x10, 0x66, 0x12, 0x22, 0x0a, 0x1e, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, - 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x67, - 0x12, 0x16, 0x0a, 0x12, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x54, - 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x68, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x69, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x6a, 0x12, - 0x1d, 0x0a, 0x19, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x46, - 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x6b, 0x12, 0x1d, - 0x0a, 0x19, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, - 0x5f, 0x50, 0x4f, 0x4c, 0x59, 0x4e, 0x4f, 0x4d, 0x49, 0x41, 0x4c, 0x10, 0x6c, 0x12, 0x1c, 0x0a, - 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x49, 0x44, 0x10, 0x6d, 0x12, 0x2a, 0x0a, 0x26, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x52, - 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x6e, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x44, 0x10, 0x3a, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x3b, 0x12, 0x19, 0x0a, 0x15, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x3c, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x3d, + 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, + 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x43, 0x53, 0x45, 0x43, 0x5f, 0x41, 0x43, 0x4c, + 0x10, 0x3e, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x43, 0x53, 0x45, 0x43, 0x5f, 0x41, 0x43, + 0x4c, 0x10, 0x3f, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x4d, 0x41, 0x43, 0x53, 0x45, 0x43, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4c, 0x49, 0x53, + 0x54, 0x10, 0x40, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x49, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x41, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x49, + 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x42, 0x12, 0x29, + 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x47, 0x52, + 0x45, 0x53, 0x53, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x43, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x41, + 0x4d, 0x50, 0x4c, 0x45, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, + 0x45, 0x10, 0x44, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, + 0x4d, 0x49, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x45, + 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, + 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x4d, 0x49, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x46, 0x12, 0x18, 0x0a, 0x14, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x45, + 0x52, 0x5f, 0x49, 0x44, 0x10, 0x47, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, + 0x54, 0x43, 0x10, 0x48, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x4f, 0x54, 0x31, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x54, + 0x43, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x49, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x4f, 0x54, 0x31, 0x50, 0x5f, 0x54, + 0x4f, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x4a, 0x12, 0x20, 0x0a, + 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, + 0x53, 0x43, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x43, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x4b, 0x12, + 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, + 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, + 0x41, 0x50, 0x10, 0x4c, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x54, 0x4f, 0x5f, 0x51, 0x55, 0x45, 0x55, + 0x45, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x4d, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x41, 0x4e, 0x44, 0x5f, + 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x4f, 0x54, 0x31, 0x50, 0x5f, 0x4d, + 0x41, 0x50, 0x10, 0x4e, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4c, + 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x4f, + 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, + 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x50, 0x12, 0x34, 0x0a, 0x30, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x50, 0x46, + 0x43, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x52, + 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x50, + 0x10, 0x51, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x51, 0x4f, 0x53, 0x5f, 0x50, 0x46, 0x43, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x54, 0x4f, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x52, 0x12, + 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, + 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, + 0x4c, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x53, 0x12, 0x2d, 0x0a, 0x29, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, + 0x4c, 0x49, 0x53, 0x54, 0x10, 0x54, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x42, + 0x55, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4c, 0x49, + 0x53, 0x54, 0x10, 0x55, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, + 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x56, 0x12, 0x23, + 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4f, + 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, + 0x4c, 0x10, 0x57, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, + 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x52, 0x58, 0x10, 0x58, 0x12, 0x26, 0x0a, 0x22, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, + 0x59, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x54, + 0x58, 0x10, 0x59, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x5a, 0x12, 0x24, 0x0a, 0x20, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, + 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4c, 0x49, 0x53, 0x54, + 0x10, 0x5b, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x48, 0x57, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x5c, 0x12, + 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x45, 0x45, + 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x5d, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x45, 0x45, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x5f, + 0x54, 0x49, 0x4d, 0x45, 0x10, 0x5e, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x45, 0x45, 0x45, 0x5f, 0x57, 0x41, 0x4b, 0x45, 0x5f, 0x54, 0x49, 0x4d, + 0x45, 0x10, 0x5f, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, + 0x60, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, + 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x61, + 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4b, + 0x54, 0x5f, 0x54, 0x58, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x62, 0x12, 0x18, 0x0a, + 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x41, 0x4d, 0x5f, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x63, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x45, + 0x4d, 0x50, 0x48, 0x41, 0x53, 0x49, 0x53, 0x10, 0x64, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x49, 0x44, + 0x52, 0x49, 0x56, 0x45, 0x52, 0x10, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x49, 0x50, 0x52, 0x45, + 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x10, 0x66, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4e, + 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x67, 0x12, 0x16, 0x0a, 0x12, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x54, 0x50, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x10, 0x68, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x10, 0x69, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x46, 0x41, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x6a, 0x12, 0x1d, 0x0a, 0x19, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, + 0x43, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x6b, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, 0x5f, 0x50, 0x4f, 0x4c, + 0x59, 0x4e, 0x4f, 0x4d, 0x49, 0x41, 0x4c, 0x10, 0x6c, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, + 0x45, 0x53, 0x5f, 0x49, 0x44, 0x10, 0x6d, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x49, - 0x4e, 0x47, 0x5f, 0x52, 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x6f, 0x12, 0x19, - 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, - 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x70, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x71, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, - 0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x72, 0x12, 0x1c, - 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, - 0x5f, 0x52, 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x73, 0x12, 0x1b, 0x0a, 0x17, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, 0x5f, 0x52, - 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x74, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x75, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x44, 0x45, - 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x54, 0x4c, 0x10, 0x76, 0x12, 0x24, 0x0a, - 0x20, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4d, - 0x50, 0x4c, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x43, 0x5f, 0x4d, 0x41, - 0x50, 0x10, 0x77, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x54, 0x4f, - 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x78, 0x12, 0x2e, 0x0a, 0x2a, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, - 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x4d, 0x50, - 0x4c, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x79, 0x12, 0x12, 0x0a, 0x0e, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x50, 0x49, 0x44, 0x10, 0x7a, - 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x52, - 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x7b, 0x12, - 0x1d, 0x0a, 0x19, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, - 0x52, 0x49, 0x43, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x7c, 0x12, 0x29, - 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, - 0x49, 0x43, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x57, 0x49, 0x54, - 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x7d, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x5f, 0x41, 0x54, - 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x44, - 0x10, 0x7e, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, 0x5f, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x7f, 0x12, 0x22, 0x0a, 0x1d, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, - 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x80, 0x01, - 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x59, - 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x81, 0x01, 0x12, 0x29, 0x0a, 0x24, + 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x10, 0x6e, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x52, + 0x58, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x6f, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, 0x5f, 0x43, 0x4f, 0x4e, + 0x46, 0x49, 0x47, 0x10, 0x70, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x10, 0x71, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4c, 0x4f, 0x53, + 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, 0x5f, 0x52, 0x58, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x42, 0x53, 0x5f, 0x52, 0x58, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x10, 0x74, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x10, 0x75, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x45, 0x4d, + 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x54, 0x4c, 0x10, 0x76, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, + 0x45, 0x58, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x43, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x77, 0x12, + 0x27, 0x0a, 0x23, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, + 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4f, 0x4c, + 0x4f, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x78, 0x12, 0x2e, 0x0a, 0x2a, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x41, 0x4e, 0x44, + 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x45, + 0x58, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x79, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x50, 0x49, 0x44, 0x10, 0x7a, 0x12, 0x1d, 0x0a, 0x19, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x7b, 0x12, 0x1d, 0x0a, 0x19, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x5f, + 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x7c, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x5f, 0x41, + 0x54, 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x10, 0x7d, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, + 0x45, 0x44, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x44, 0x10, 0x7e, 0x12, 0x28, + 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, + 0x49, 0x43, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x7f, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x41, + 0x43, 0x48, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x80, 0x01, 0x12, 0x1a, 0x0a, 0x15, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, + 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x81, 0x01, 0x12, 0x29, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x46, + 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, + 0x10, 0x82, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x83, + 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, + 0x44, 0x49, 0x58, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, + 0x84, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x4d, 0x44, 0x49, 0x58, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, + 0x10, 0x85, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x86, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x31, 0x30, 0x30, 0x30, 0x58, 0x5f, 0x53, 0x47, 0x4d, 0x49, + 0x49, 0x5f, 0x53, 0x4c, 0x41, 0x56, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x44, 0x45, 0x54, 0x45, + 0x43, 0x54, 0x10, 0x87, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x88, + 0x01, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, + 0x55, 0x41, 0x4c, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x10, 0x89, 0x01, 0x12, 0x29, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, - 0x45, 0x47, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, - 0x52, 0x49, 0x44, 0x45, 0x10, 0x82, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x10, 0x83, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x4d, 0x44, 0x49, 0x58, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x10, 0x84, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x44, 0x49, 0x58, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, - 0x4e, 0x46, 0x49, 0x47, 0x10, 0x85, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x43, 0x4f, - 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x86, 0x01, 0x12, 0x2b, 0x0a, 0x26, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x31, 0x30, 0x30, 0x30, 0x58, 0x5f, - 0x53, 0x47, 0x4d, 0x49, 0x49, 0x5f, 0x53, 0x4c, 0x41, 0x56, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, - 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x10, 0x87, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x10, 0x88, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x44, 0x55, 0x41, 0x4c, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x10, 0x89, 0x01, - 0x12, 0x29, 0x0a, 0x24, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x55, - 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x47, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x45, 0x58, 0x54, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x8a, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x47, 0x10, 0x8b, 0x01, 0x12, - 0x2a, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x47, 0x4c, 0x4f, - 0x42, 0x41, 0x4c, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, - 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x8c, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, - 0x59, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x46, - 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x8d, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, - 0x54, 0x4f, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4c, - 0x41, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x8e, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4d, 0x50, 0x4c, 0x53, - 0x5f, 0x45, 0x58, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, - 0x4e, 0x47, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x8f, 0x01, 0x12, - 0x19, 0x0a, 0x14, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x53, - 0x45, 0x43, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x90, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x46, 0x43, 0x5f, 0x54, 0x43, 0x5f, 0x44, - 0x4c, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x41, 0x4e, 0x47, - 0x45, 0x10, 0x91, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x50, 0x46, 0x43, 0x5f, 0x54, 0x43, 0x5f, 0x44, 0x4c, 0x44, 0x5f, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, 0x92, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x46, 0x43, 0x5f, 0x54, 0x43, 0x5f, 0x44, 0x4c, 0x52, - 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, - 0x93, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x50, 0x46, 0x43, 0x5f, 0x54, 0x43, 0x5f, 0x44, 0x4c, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x56, 0x41, 0x4c, 0x10, 0x94, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x10, 0x95, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x52, 0x58, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, - 0x54, 0x10, 0x96, 0x01, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x52, 0x58, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x10, 0x97, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x50, 0x43, 0x53, 0x5f, 0x52, 0x58, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x10, 0x98, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, - 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x99, 0x01, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x5f, 0x49, 0x53, - 0x4f, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x9a, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x53, 0x59, - 0x4d, 0x42, 0x4f, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x53, 0x5f, 0x44, 0x45, 0x54, 0x45, - 0x43, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x9b, 0x01, 0x2a, 0x95, 0x01, 0x0a, 0x0c, 0x50, 0x6f, - 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, - 0x4f, 0x4f, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x5f, - 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, - 0x57, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x49, 0x44, 0x10, - 0x03, 0x2a, 0xa1, 0x02, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x49, 0x44, 0x10, 0x02, 0x12, 0x34, 0x0a, 0x30, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x59, 0x53, 0x54, - 0x45, 0x4d, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x4f, 0x56, 0x45, 0x52, - 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x50, 0x4f, + 0x45, 0x47, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, + 0x4e, 0x44, 0x45, 0x44, 0x10, 0x8a, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x47, 0x10, 0x8b, 0x01, 0x12, 0x2a, 0x0a, 0x25, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, + 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x46, 0x4f, 0x52, + 0x57, 0x41, 0x52, 0x44, 0x10, 0x8c, 0x01, 0x12, 0x2c, 0x0a, 0x27, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x4c, + 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, + 0x52, 0x44, 0x10, 0x8d, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x46, + 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, + 0x4d, 0x41, 0x50, 0x10, 0x8e, 0x01, 0x12, 0x33, 0x0a, 0x2e, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x45, 0x58, 0x50, + 0x5f, 0x54, 0x4f, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x43, + 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x8f, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x53, 0x45, 0x43, 0x5f, 0x50, + 0x4f, 0x52, 0x54, 0x10, 0x90, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x50, 0x46, 0x43, 0x5f, 0x54, 0x43, 0x5f, 0x44, 0x4c, 0x44, 0x5f, 0x49, + 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x91, 0x01, + 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x46, + 0x43, 0x5f, 0x54, 0x43, 0x5f, 0x44, 0x4c, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, + 0x4c, 0x10, 0x92, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x50, 0x46, 0x43, 0x5f, 0x54, 0x43, 0x5f, 0x44, 0x4c, 0x52, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x93, 0x01, 0x12, 0x22, + 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x46, 0x43, 0x5f, + 0x54, 0x43, 0x5f, 0x44, 0x4c, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, + 0x94, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, + 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x95, 0x01, 0x12, + 0x1f, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x58, 0x5f, + 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x10, 0x96, 0x01, + 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x52, 0x58, + 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x97, 0x01, 0x12, + 0x21, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x43, 0x53, + 0x5f, 0x52, 0x58, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, + 0x98, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x46, 0x45, 0x43, 0x5f, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, + 0x43, 0x4b, 0x10, 0x99, 0x01, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x46, 0x41, 0x42, 0x52, 0x49, 0x43, 0x5f, 0x49, 0x53, 0x4f, 0x4c, 0x41, 0x54, + 0x45, 0x10, 0x9a, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x46, 0x45, 0x43, 0x5f, 0x53, 0x59, 0x4d, 0x42, 0x4f, 0x4c, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x53, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x9b, 0x01, 0x2a, 0x95, 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, + 0x4f, 0x4f, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, + 0x4f, 0x4f, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, + 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, + 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x4f, + 0x4f, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x57, 0x52, 0x45, 0x44, + 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x2a, 0xa1, 0x02, + 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, + 0x74, 0x74, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, + 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x49, 0x4e, + 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x02, + 0x12, 0x34, 0x0a, 0x30, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x53, + 0x49, 0x44, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x32, 0x0a, 0x2e, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x49, + 0x4e, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x4f, 0x56, 0x45, 0x52, + 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x04, 0x12, 0x25, - 0x0a, 0x21, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x4f, 0x52, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x10, 0x05, 0x2a, 0xc4, 0x03, 0x0a, 0x0e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, - 0x72, 0x64, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x45, - 0x45, 0x4d, 0x50, 0x48, 0x41, 0x53, 0x49, 0x53, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, - 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x52, - 0x45, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, + 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, + 0x05, 0x2a, 0xc4, 0x03, 0x0a, 0x0e, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, + 0x41, 0x74, 0x74, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, + 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, + 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x49, 0x44, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, + 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x48, + 0x41, 0x53, 0x49, 0x53, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, + 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x44, 0x52, 0x49, 0x56, + 0x45, 0x52, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, + 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x52, 0x45, 0x44, 0x52, 0x49, + 0x56, 0x45, 0x52, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, + 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, + 0x5f, 0x50, 0x52, 0x45, 0x31, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, + 0x49, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x32, 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, - 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x31, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x50, + 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x33, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x32, 0x10, 0x06, 0x12, 0x20, 0x0a, - 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x33, 0x10, 0x07, 0x12, - 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x10, - 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x50, 0x4f, 0x53, - 0x54, 0x31, 0x10, 0x09, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, - 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, - 0x50, 0x4f, 0x53, 0x54, 0x32, 0x10, 0x0a, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, - 0x49, 0x52, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x33, 0x10, 0x0b, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, - 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x4e, 0x10, 0x0c, 0x32, 0x90, 0x11, 0x0a, - 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x63, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, - 0x6f, 0x72, 0x74, 0x12, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0a, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x75, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, - 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, - 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, - 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, - 0x0c, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x2e, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x08, 0x12, 0x21, 0x0a, + 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x31, 0x10, 0x09, + 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x50, 0x4f, 0x53, 0x54, + 0x32, 0x10, 0x0a, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x44, + 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, 0x49, 0x52, 0x5f, 0x50, + 0x4f, 0x53, 0x54, 0x33, 0x10, 0x0b, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, + 0x45, 0x52, 0x44, 0x45, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x58, 0x5f, 0x46, 0x49, + 0x52, 0x5f, 0x41, 0x54, 0x54, 0x4e, 0x10, 0x0c, 0x32, 0xf8, 0x11, 0x0a, 0x04, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x63, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, + 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2c, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, - 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x50, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x53, + 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x53, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x50, 0x6f, + 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, + 0x6f, 0x6f, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, + 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, - 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, - 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, - 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, + 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, + 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, + 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x31, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, + 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, + 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x12, + 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, - 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, - 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x19, 0x53, 0x65, - 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, - 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, - 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, - 0x19, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, - 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x75, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, - 0x64, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, - 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, + 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, + 0x74, 0x73, 0x12, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x0b, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, - 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x64, 0x65, 0x73, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, - 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, - 0x72, 0x64, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x6f, 0x72, 0x74, 0x73, 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, 0x70, - 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5972,7 +6083,7 @@ func file_dataplane_proto_sai_port_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_port_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_dataplane_proto_sai_port_proto_msgTypes = make([]protoimpl.MessageInfo, 36) +var file_dataplane_proto_sai_port_proto_msgTypes = make([]protoimpl.MessageInfo, 38) var file_dataplane_proto_sai_port_proto_goTypes = []interface{}{ (PortAttr)(0), // 0: lemming.dataplane.sai.PortAttr (PortPoolAttr)(0), // 1: lemming.dataplane.sai.PortPoolAttr @@ -6014,127 +6125,133 @@ var file_dataplane_proto_sai_port_proto_goTypes = []interface{}{ (*GetPortSerdesAttributeResponse)(nil), // 37: lemming.dataplane.sai.GetPortSerdesAttributeResponse (*CreatePortsRequest)(nil), // 38: lemming.dataplane.sai.CreatePortsRequest (*CreatePortsResponse)(nil), // 39: lemming.dataplane.sai.CreatePortsResponse - (PortMediaType)(0), // 40: lemming.dataplane.sai.PortMediaType - (PortFecMode)(0), // 41: lemming.dataplane.sai.PortFecMode - (PortFecModeExtended)(0), // 42: lemming.dataplane.sai.PortFecModeExtended - (PortFlowControlMode)(0), // 43: lemming.dataplane.sai.PortFlowControlMode - (PortInternalLoopbackMode)(0), // 44: lemming.dataplane.sai.PortInternalLoopbackMode - (PortPriorityFlowControlMode)(0), // 45: lemming.dataplane.sai.PortPriorityFlowControlMode - (PortPtpMode)(0), // 46: lemming.dataplane.sai.PortPtpMode - (PortInterfaceType)(0), // 47: lemming.dataplane.sai.PortInterfaceType - (PortPrbsConfig)(0), // 48: lemming.dataplane.sai.PortPrbsConfig - (PortLoopbackMode)(0), // 49: lemming.dataplane.sai.PortLoopbackMode - (PortMdixModeConfig)(0), // 50: lemming.dataplane.sai.PortMdixModeConfig - (PortAutoNegConfigMode)(0), // 51: lemming.dataplane.sai.PortAutoNegConfigMode - (PortModuleType)(0), // 52: lemming.dataplane.sai.PortModuleType - (PortDualMedia)(0), // 53: lemming.dataplane.sai.PortDualMedia - (*UintMap)(nil), // 54: lemming.dataplane.sai.UintMap - (*PortAttribute)(nil), // 55: lemming.dataplane.sai.PortAttribute - (PortStat)(0), // 56: lemming.dataplane.sai.PortStat - (*PortPoolAttribute)(nil), // 57: lemming.dataplane.sai.PortPoolAttribute - (PortPoolStat)(0), // 58: lemming.dataplane.sai.PortPoolStat - (PortConnectorFailoverMode)(0), // 59: lemming.dataplane.sai.PortConnectorFailoverMode - (*PortConnectorAttribute)(nil), // 60: lemming.dataplane.sai.PortConnectorAttribute - (*PortSerdesAttribute)(nil), // 61: lemming.dataplane.sai.PortSerdesAttribute + (*RemovePortsRequest)(nil), // 40: lemming.dataplane.sai.RemovePortsRequest + (*RemovePortsResponse)(nil), // 41: lemming.dataplane.sai.RemovePortsResponse + (PortMediaType)(0), // 42: lemming.dataplane.sai.PortMediaType + (PortFecMode)(0), // 43: lemming.dataplane.sai.PortFecMode + (PortFecModeExtended)(0), // 44: lemming.dataplane.sai.PortFecModeExtended + (PortFlowControlMode)(0), // 45: lemming.dataplane.sai.PortFlowControlMode + (PortInternalLoopbackMode)(0), // 46: lemming.dataplane.sai.PortInternalLoopbackMode + (PortPriorityFlowControlMode)(0), // 47: lemming.dataplane.sai.PortPriorityFlowControlMode + (PortPtpMode)(0), // 48: lemming.dataplane.sai.PortPtpMode + (PortInterfaceType)(0), // 49: lemming.dataplane.sai.PortInterfaceType + (PortPrbsConfig)(0), // 50: lemming.dataplane.sai.PortPrbsConfig + (PortLoopbackMode)(0), // 51: lemming.dataplane.sai.PortLoopbackMode + (PortMdixModeConfig)(0), // 52: lemming.dataplane.sai.PortMdixModeConfig + (PortAutoNegConfigMode)(0), // 53: lemming.dataplane.sai.PortAutoNegConfigMode + (PortModuleType)(0), // 54: lemming.dataplane.sai.PortModuleType + (PortDualMedia)(0), // 55: lemming.dataplane.sai.PortDualMedia + (*UintMap)(nil), // 56: lemming.dataplane.sai.UintMap + (*PortAttribute)(nil), // 57: lemming.dataplane.sai.PortAttribute + (PortStat)(0), // 58: lemming.dataplane.sai.PortStat + (*PortPoolAttribute)(nil), // 59: lemming.dataplane.sai.PortPoolAttribute + (PortPoolStat)(0), // 60: lemming.dataplane.sai.PortPoolStat + (PortConnectorFailoverMode)(0), // 61: lemming.dataplane.sai.PortConnectorFailoverMode + (*PortConnectorAttribute)(nil), // 62: lemming.dataplane.sai.PortConnectorAttribute + (*PortSerdesAttribute)(nil), // 63: lemming.dataplane.sai.PortSerdesAttribute } var file_dataplane_proto_sai_port_proto_depIdxs = []int32{ - 40, // 0: lemming.dataplane.sai.CreatePortRequest.media_type:type_name -> lemming.dataplane.sai.PortMediaType - 41, // 1: lemming.dataplane.sai.CreatePortRequest.advertised_fec_mode:type_name -> lemming.dataplane.sai.PortFecMode - 42, // 2: lemming.dataplane.sai.CreatePortRequest.advertised_fec_mode_extended:type_name -> lemming.dataplane.sai.PortFecModeExtended - 43, // 3: lemming.dataplane.sai.CreatePortRequest.advertised_flow_control_mode:type_name -> lemming.dataplane.sai.PortFlowControlMode - 40, // 4: lemming.dataplane.sai.CreatePortRequest.advertised_media_type:type_name -> lemming.dataplane.sai.PortMediaType - 44, // 5: lemming.dataplane.sai.CreatePortRequest.internal_loopback_mode:type_name -> lemming.dataplane.sai.PortInternalLoopbackMode - 41, // 6: lemming.dataplane.sai.CreatePortRequest.fec_mode:type_name -> lemming.dataplane.sai.PortFecMode - 42, // 7: lemming.dataplane.sai.CreatePortRequest.fec_mode_extended:type_name -> lemming.dataplane.sai.PortFecModeExtended - 43, // 8: lemming.dataplane.sai.CreatePortRequest.global_flow_control_mode:type_name -> lemming.dataplane.sai.PortFlowControlMode - 45, // 9: lemming.dataplane.sai.CreatePortRequest.priority_flow_control_mode:type_name -> lemming.dataplane.sai.PortPriorityFlowControlMode - 46, // 10: lemming.dataplane.sai.CreatePortRequest.ptp_mode:type_name -> lemming.dataplane.sai.PortPtpMode - 47, // 11: lemming.dataplane.sai.CreatePortRequest.interface_type:type_name -> lemming.dataplane.sai.PortInterfaceType - 47, // 12: lemming.dataplane.sai.CreatePortRequest.advertised_interface_type:type_name -> lemming.dataplane.sai.PortInterfaceType - 48, // 13: lemming.dataplane.sai.CreatePortRequest.prbs_config:type_name -> lemming.dataplane.sai.PortPrbsConfig - 49, // 14: lemming.dataplane.sai.CreatePortRequest.loopback_mode:type_name -> lemming.dataplane.sai.PortLoopbackMode - 50, // 15: lemming.dataplane.sai.CreatePortRequest.mdix_mode_config:type_name -> lemming.dataplane.sai.PortMdixModeConfig - 51, // 16: lemming.dataplane.sai.CreatePortRequest.auto_neg_config_mode:type_name -> lemming.dataplane.sai.PortAutoNegConfigMode - 52, // 17: lemming.dataplane.sai.CreatePortRequest.module_type:type_name -> lemming.dataplane.sai.PortModuleType - 53, // 18: lemming.dataplane.sai.CreatePortRequest.dual_media:type_name -> lemming.dataplane.sai.PortDualMedia - 54, // 19: lemming.dataplane.sai.CreatePortRequest.pfc_tc_dld_interval:type_name -> lemming.dataplane.sai.UintMap - 54, // 20: lemming.dataplane.sai.CreatePortRequest.pfc_tc_dlr_interval:type_name -> lemming.dataplane.sai.UintMap - 40, // 21: lemming.dataplane.sai.SetPortAttributeRequest.media_type:type_name -> lemming.dataplane.sai.PortMediaType - 41, // 22: lemming.dataplane.sai.SetPortAttributeRequest.advertised_fec_mode:type_name -> lemming.dataplane.sai.PortFecMode - 42, // 23: lemming.dataplane.sai.SetPortAttributeRequest.advertised_fec_mode_extended:type_name -> lemming.dataplane.sai.PortFecModeExtended - 43, // 24: lemming.dataplane.sai.SetPortAttributeRequest.advertised_flow_control_mode:type_name -> lemming.dataplane.sai.PortFlowControlMode - 40, // 25: lemming.dataplane.sai.SetPortAttributeRequest.advertised_media_type:type_name -> lemming.dataplane.sai.PortMediaType - 44, // 26: lemming.dataplane.sai.SetPortAttributeRequest.internal_loopback_mode:type_name -> lemming.dataplane.sai.PortInternalLoopbackMode - 41, // 27: lemming.dataplane.sai.SetPortAttributeRequest.fec_mode:type_name -> lemming.dataplane.sai.PortFecMode - 42, // 28: lemming.dataplane.sai.SetPortAttributeRequest.fec_mode_extended:type_name -> lemming.dataplane.sai.PortFecModeExtended - 43, // 29: lemming.dataplane.sai.SetPortAttributeRequest.global_flow_control_mode:type_name -> lemming.dataplane.sai.PortFlowControlMode - 45, // 30: lemming.dataplane.sai.SetPortAttributeRequest.priority_flow_control_mode:type_name -> lemming.dataplane.sai.PortPriorityFlowControlMode - 46, // 31: lemming.dataplane.sai.SetPortAttributeRequest.ptp_mode:type_name -> lemming.dataplane.sai.PortPtpMode - 47, // 32: lemming.dataplane.sai.SetPortAttributeRequest.interface_type:type_name -> lemming.dataplane.sai.PortInterfaceType - 47, // 33: lemming.dataplane.sai.SetPortAttributeRequest.advertised_interface_type:type_name -> lemming.dataplane.sai.PortInterfaceType - 48, // 34: lemming.dataplane.sai.SetPortAttributeRequest.prbs_config:type_name -> lemming.dataplane.sai.PortPrbsConfig - 49, // 35: lemming.dataplane.sai.SetPortAttributeRequest.loopback_mode:type_name -> lemming.dataplane.sai.PortLoopbackMode - 50, // 36: lemming.dataplane.sai.SetPortAttributeRequest.mdix_mode_config:type_name -> lemming.dataplane.sai.PortMdixModeConfig - 51, // 37: lemming.dataplane.sai.SetPortAttributeRequest.auto_neg_config_mode:type_name -> lemming.dataplane.sai.PortAutoNegConfigMode - 52, // 38: lemming.dataplane.sai.SetPortAttributeRequest.module_type:type_name -> lemming.dataplane.sai.PortModuleType - 53, // 39: lemming.dataplane.sai.SetPortAttributeRequest.dual_media:type_name -> lemming.dataplane.sai.PortDualMedia - 54, // 40: lemming.dataplane.sai.SetPortAttributeRequest.pfc_tc_dld_interval:type_name -> lemming.dataplane.sai.UintMap - 54, // 41: lemming.dataplane.sai.SetPortAttributeRequest.pfc_tc_dlr_interval:type_name -> lemming.dataplane.sai.UintMap + 42, // 0: lemming.dataplane.sai.CreatePortRequest.media_type:type_name -> lemming.dataplane.sai.PortMediaType + 43, // 1: lemming.dataplane.sai.CreatePortRequest.advertised_fec_mode:type_name -> lemming.dataplane.sai.PortFecMode + 44, // 2: lemming.dataplane.sai.CreatePortRequest.advertised_fec_mode_extended:type_name -> lemming.dataplane.sai.PortFecModeExtended + 45, // 3: lemming.dataplane.sai.CreatePortRequest.advertised_flow_control_mode:type_name -> lemming.dataplane.sai.PortFlowControlMode + 42, // 4: lemming.dataplane.sai.CreatePortRequest.advertised_media_type:type_name -> lemming.dataplane.sai.PortMediaType + 46, // 5: lemming.dataplane.sai.CreatePortRequest.internal_loopback_mode:type_name -> lemming.dataplane.sai.PortInternalLoopbackMode + 43, // 6: lemming.dataplane.sai.CreatePortRequest.fec_mode:type_name -> lemming.dataplane.sai.PortFecMode + 44, // 7: lemming.dataplane.sai.CreatePortRequest.fec_mode_extended:type_name -> lemming.dataplane.sai.PortFecModeExtended + 45, // 8: lemming.dataplane.sai.CreatePortRequest.global_flow_control_mode:type_name -> lemming.dataplane.sai.PortFlowControlMode + 47, // 9: lemming.dataplane.sai.CreatePortRequest.priority_flow_control_mode:type_name -> lemming.dataplane.sai.PortPriorityFlowControlMode + 48, // 10: lemming.dataplane.sai.CreatePortRequest.ptp_mode:type_name -> lemming.dataplane.sai.PortPtpMode + 49, // 11: lemming.dataplane.sai.CreatePortRequest.interface_type:type_name -> lemming.dataplane.sai.PortInterfaceType + 49, // 12: lemming.dataplane.sai.CreatePortRequest.advertised_interface_type:type_name -> lemming.dataplane.sai.PortInterfaceType + 50, // 13: lemming.dataplane.sai.CreatePortRequest.prbs_config:type_name -> lemming.dataplane.sai.PortPrbsConfig + 51, // 14: lemming.dataplane.sai.CreatePortRequest.loopback_mode:type_name -> lemming.dataplane.sai.PortLoopbackMode + 52, // 15: lemming.dataplane.sai.CreatePortRequest.mdix_mode_config:type_name -> lemming.dataplane.sai.PortMdixModeConfig + 53, // 16: lemming.dataplane.sai.CreatePortRequest.auto_neg_config_mode:type_name -> lemming.dataplane.sai.PortAutoNegConfigMode + 54, // 17: lemming.dataplane.sai.CreatePortRequest.module_type:type_name -> lemming.dataplane.sai.PortModuleType + 55, // 18: lemming.dataplane.sai.CreatePortRequest.dual_media:type_name -> lemming.dataplane.sai.PortDualMedia + 56, // 19: lemming.dataplane.sai.CreatePortRequest.pfc_tc_dld_interval:type_name -> lemming.dataplane.sai.UintMap + 56, // 20: lemming.dataplane.sai.CreatePortRequest.pfc_tc_dlr_interval:type_name -> lemming.dataplane.sai.UintMap + 42, // 21: lemming.dataplane.sai.SetPortAttributeRequest.media_type:type_name -> lemming.dataplane.sai.PortMediaType + 43, // 22: lemming.dataplane.sai.SetPortAttributeRequest.advertised_fec_mode:type_name -> lemming.dataplane.sai.PortFecMode + 44, // 23: lemming.dataplane.sai.SetPortAttributeRequest.advertised_fec_mode_extended:type_name -> lemming.dataplane.sai.PortFecModeExtended + 45, // 24: lemming.dataplane.sai.SetPortAttributeRequest.advertised_flow_control_mode:type_name -> lemming.dataplane.sai.PortFlowControlMode + 42, // 25: lemming.dataplane.sai.SetPortAttributeRequest.advertised_media_type:type_name -> lemming.dataplane.sai.PortMediaType + 46, // 26: lemming.dataplane.sai.SetPortAttributeRequest.internal_loopback_mode:type_name -> lemming.dataplane.sai.PortInternalLoopbackMode + 43, // 27: lemming.dataplane.sai.SetPortAttributeRequest.fec_mode:type_name -> lemming.dataplane.sai.PortFecMode + 44, // 28: lemming.dataplane.sai.SetPortAttributeRequest.fec_mode_extended:type_name -> lemming.dataplane.sai.PortFecModeExtended + 45, // 29: lemming.dataplane.sai.SetPortAttributeRequest.global_flow_control_mode:type_name -> lemming.dataplane.sai.PortFlowControlMode + 47, // 30: lemming.dataplane.sai.SetPortAttributeRequest.priority_flow_control_mode:type_name -> lemming.dataplane.sai.PortPriorityFlowControlMode + 48, // 31: lemming.dataplane.sai.SetPortAttributeRequest.ptp_mode:type_name -> lemming.dataplane.sai.PortPtpMode + 49, // 32: lemming.dataplane.sai.SetPortAttributeRequest.interface_type:type_name -> lemming.dataplane.sai.PortInterfaceType + 49, // 33: lemming.dataplane.sai.SetPortAttributeRequest.advertised_interface_type:type_name -> lemming.dataplane.sai.PortInterfaceType + 50, // 34: lemming.dataplane.sai.SetPortAttributeRequest.prbs_config:type_name -> lemming.dataplane.sai.PortPrbsConfig + 51, // 35: lemming.dataplane.sai.SetPortAttributeRequest.loopback_mode:type_name -> lemming.dataplane.sai.PortLoopbackMode + 52, // 36: lemming.dataplane.sai.SetPortAttributeRequest.mdix_mode_config:type_name -> lemming.dataplane.sai.PortMdixModeConfig + 53, // 37: lemming.dataplane.sai.SetPortAttributeRequest.auto_neg_config_mode:type_name -> lemming.dataplane.sai.PortAutoNegConfigMode + 54, // 38: lemming.dataplane.sai.SetPortAttributeRequest.module_type:type_name -> lemming.dataplane.sai.PortModuleType + 55, // 39: lemming.dataplane.sai.SetPortAttributeRequest.dual_media:type_name -> lemming.dataplane.sai.PortDualMedia + 56, // 40: lemming.dataplane.sai.SetPortAttributeRequest.pfc_tc_dld_interval:type_name -> lemming.dataplane.sai.UintMap + 56, // 41: lemming.dataplane.sai.SetPortAttributeRequest.pfc_tc_dlr_interval:type_name -> lemming.dataplane.sai.UintMap 0, // 42: lemming.dataplane.sai.GetPortAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.PortAttr - 55, // 43: lemming.dataplane.sai.GetPortAttributeResponse.attr:type_name -> lemming.dataplane.sai.PortAttribute - 56, // 44: lemming.dataplane.sai.GetPortStatsRequest.counter_ids:type_name -> lemming.dataplane.sai.PortStat + 57, // 43: lemming.dataplane.sai.GetPortAttributeResponse.attr:type_name -> lemming.dataplane.sai.PortAttribute + 58, // 44: lemming.dataplane.sai.GetPortStatsRequest.counter_ids:type_name -> lemming.dataplane.sai.PortStat 1, // 45: lemming.dataplane.sai.GetPortPoolAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.PortPoolAttr - 57, // 46: lemming.dataplane.sai.GetPortPoolAttributeResponse.attr:type_name -> lemming.dataplane.sai.PortPoolAttribute - 58, // 47: lemming.dataplane.sai.GetPortPoolStatsRequest.counter_ids:type_name -> lemming.dataplane.sai.PortPoolStat - 59, // 48: lemming.dataplane.sai.CreatePortConnectorRequest.failover_mode:type_name -> lemming.dataplane.sai.PortConnectorFailoverMode - 59, // 49: lemming.dataplane.sai.SetPortConnectorAttributeRequest.failover_mode:type_name -> lemming.dataplane.sai.PortConnectorFailoverMode + 59, // 46: lemming.dataplane.sai.GetPortPoolAttributeResponse.attr:type_name -> lemming.dataplane.sai.PortPoolAttribute + 60, // 47: lemming.dataplane.sai.GetPortPoolStatsRequest.counter_ids:type_name -> lemming.dataplane.sai.PortPoolStat + 61, // 48: lemming.dataplane.sai.CreatePortConnectorRequest.failover_mode:type_name -> lemming.dataplane.sai.PortConnectorFailoverMode + 61, // 49: lemming.dataplane.sai.SetPortConnectorAttributeRequest.failover_mode:type_name -> lemming.dataplane.sai.PortConnectorFailoverMode 2, // 50: lemming.dataplane.sai.GetPortConnectorAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.PortConnectorAttr - 60, // 51: lemming.dataplane.sai.GetPortConnectorAttributeResponse.attr:type_name -> lemming.dataplane.sai.PortConnectorAttribute + 62, // 51: lemming.dataplane.sai.GetPortConnectorAttributeResponse.attr:type_name -> lemming.dataplane.sai.PortConnectorAttribute 3, // 52: lemming.dataplane.sai.GetPortSerdesAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.PortSerdesAttr - 61, // 53: lemming.dataplane.sai.GetPortSerdesAttributeResponse.attr:type_name -> lemming.dataplane.sai.PortSerdesAttribute + 63, // 53: lemming.dataplane.sai.GetPortSerdesAttributeResponse.attr:type_name -> lemming.dataplane.sai.PortSerdesAttribute 4, // 54: lemming.dataplane.sai.CreatePortsRequest.reqs:type_name -> lemming.dataplane.sai.CreatePortRequest 5, // 55: lemming.dataplane.sai.CreatePortsResponse.resps:type_name -> lemming.dataplane.sai.CreatePortResponse - 4, // 56: lemming.dataplane.sai.Port.CreatePort:input_type -> lemming.dataplane.sai.CreatePortRequest - 6, // 57: lemming.dataplane.sai.Port.RemovePort:input_type -> lemming.dataplane.sai.RemovePortRequest - 8, // 58: lemming.dataplane.sai.Port.SetPortAttribute:input_type -> lemming.dataplane.sai.SetPortAttributeRequest - 10, // 59: lemming.dataplane.sai.Port.GetPortAttribute:input_type -> lemming.dataplane.sai.GetPortAttributeRequest - 12, // 60: lemming.dataplane.sai.Port.GetPortStats:input_type -> lemming.dataplane.sai.GetPortStatsRequest - 14, // 61: lemming.dataplane.sai.Port.CreatePortPool:input_type -> lemming.dataplane.sai.CreatePortPoolRequest - 16, // 62: lemming.dataplane.sai.Port.RemovePortPool:input_type -> lemming.dataplane.sai.RemovePortPoolRequest - 18, // 63: lemming.dataplane.sai.Port.SetPortPoolAttribute:input_type -> lemming.dataplane.sai.SetPortPoolAttributeRequest - 20, // 64: lemming.dataplane.sai.Port.GetPortPoolAttribute:input_type -> lemming.dataplane.sai.GetPortPoolAttributeRequest - 22, // 65: lemming.dataplane.sai.Port.GetPortPoolStats:input_type -> lemming.dataplane.sai.GetPortPoolStatsRequest - 24, // 66: lemming.dataplane.sai.Port.CreatePortConnector:input_type -> lemming.dataplane.sai.CreatePortConnectorRequest - 26, // 67: lemming.dataplane.sai.Port.RemovePortConnector:input_type -> lemming.dataplane.sai.RemovePortConnectorRequest - 28, // 68: lemming.dataplane.sai.Port.SetPortConnectorAttribute:input_type -> lemming.dataplane.sai.SetPortConnectorAttributeRequest - 30, // 69: lemming.dataplane.sai.Port.GetPortConnectorAttribute:input_type -> lemming.dataplane.sai.GetPortConnectorAttributeRequest - 32, // 70: lemming.dataplane.sai.Port.CreatePortSerdes:input_type -> lemming.dataplane.sai.CreatePortSerdesRequest - 34, // 71: lemming.dataplane.sai.Port.RemovePortSerdes:input_type -> lemming.dataplane.sai.RemovePortSerdesRequest - 36, // 72: lemming.dataplane.sai.Port.GetPortSerdesAttribute:input_type -> lemming.dataplane.sai.GetPortSerdesAttributeRequest - 38, // 73: lemming.dataplane.sai.Port.CreatePorts:input_type -> lemming.dataplane.sai.CreatePortsRequest - 5, // 74: lemming.dataplane.sai.Port.CreatePort:output_type -> lemming.dataplane.sai.CreatePortResponse - 7, // 75: lemming.dataplane.sai.Port.RemovePort:output_type -> lemming.dataplane.sai.RemovePortResponse - 9, // 76: lemming.dataplane.sai.Port.SetPortAttribute:output_type -> lemming.dataplane.sai.SetPortAttributeResponse - 11, // 77: lemming.dataplane.sai.Port.GetPortAttribute:output_type -> lemming.dataplane.sai.GetPortAttributeResponse - 13, // 78: lemming.dataplane.sai.Port.GetPortStats:output_type -> lemming.dataplane.sai.GetPortStatsResponse - 15, // 79: lemming.dataplane.sai.Port.CreatePortPool:output_type -> lemming.dataplane.sai.CreatePortPoolResponse - 17, // 80: lemming.dataplane.sai.Port.RemovePortPool:output_type -> lemming.dataplane.sai.RemovePortPoolResponse - 19, // 81: lemming.dataplane.sai.Port.SetPortPoolAttribute:output_type -> lemming.dataplane.sai.SetPortPoolAttributeResponse - 21, // 82: lemming.dataplane.sai.Port.GetPortPoolAttribute:output_type -> lemming.dataplane.sai.GetPortPoolAttributeResponse - 23, // 83: lemming.dataplane.sai.Port.GetPortPoolStats:output_type -> lemming.dataplane.sai.GetPortPoolStatsResponse - 25, // 84: lemming.dataplane.sai.Port.CreatePortConnector:output_type -> lemming.dataplane.sai.CreatePortConnectorResponse - 27, // 85: lemming.dataplane.sai.Port.RemovePortConnector:output_type -> lemming.dataplane.sai.RemovePortConnectorResponse - 29, // 86: lemming.dataplane.sai.Port.SetPortConnectorAttribute:output_type -> lemming.dataplane.sai.SetPortConnectorAttributeResponse - 31, // 87: lemming.dataplane.sai.Port.GetPortConnectorAttribute:output_type -> lemming.dataplane.sai.GetPortConnectorAttributeResponse - 33, // 88: lemming.dataplane.sai.Port.CreatePortSerdes:output_type -> lemming.dataplane.sai.CreatePortSerdesResponse - 35, // 89: lemming.dataplane.sai.Port.RemovePortSerdes:output_type -> lemming.dataplane.sai.RemovePortSerdesResponse - 37, // 90: lemming.dataplane.sai.Port.GetPortSerdesAttribute:output_type -> lemming.dataplane.sai.GetPortSerdesAttributeResponse - 39, // 91: lemming.dataplane.sai.Port.CreatePorts:output_type -> lemming.dataplane.sai.CreatePortsResponse - 74, // [74:92] is the sub-list for method output_type - 56, // [56:74] is the sub-list for method input_type - 56, // [56:56] is the sub-list for extension type_name - 56, // [56:56] is the sub-list for extension extendee - 0, // [0:56] is the sub-list for field type_name + 6, // 56: lemming.dataplane.sai.RemovePortsRequest.reqs:type_name -> lemming.dataplane.sai.RemovePortRequest + 7, // 57: lemming.dataplane.sai.RemovePortsResponse.resps:type_name -> lemming.dataplane.sai.RemovePortResponse + 4, // 58: lemming.dataplane.sai.Port.CreatePort:input_type -> lemming.dataplane.sai.CreatePortRequest + 6, // 59: lemming.dataplane.sai.Port.RemovePort:input_type -> lemming.dataplane.sai.RemovePortRequest + 8, // 60: lemming.dataplane.sai.Port.SetPortAttribute:input_type -> lemming.dataplane.sai.SetPortAttributeRequest + 10, // 61: lemming.dataplane.sai.Port.GetPortAttribute:input_type -> lemming.dataplane.sai.GetPortAttributeRequest + 12, // 62: lemming.dataplane.sai.Port.GetPortStats:input_type -> lemming.dataplane.sai.GetPortStatsRequest + 14, // 63: lemming.dataplane.sai.Port.CreatePortPool:input_type -> lemming.dataplane.sai.CreatePortPoolRequest + 16, // 64: lemming.dataplane.sai.Port.RemovePortPool:input_type -> lemming.dataplane.sai.RemovePortPoolRequest + 18, // 65: lemming.dataplane.sai.Port.SetPortPoolAttribute:input_type -> lemming.dataplane.sai.SetPortPoolAttributeRequest + 20, // 66: lemming.dataplane.sai.Port.GetPortPoolAttribute:input_type -> lemming.dataplane.sai.GetPortPoolAttributeRequest + 22, // 67: lemming.dataplane.sai.Port.GetPortPoolStats:input_type -> lemming.dataplane.sai.GetPortPoolStatsRequest + 24, // 68: lemming.dataplane.sai.Port.CreatePortConnector:input_type -> lemming.dataplane.sai.CreatePortConnectorRequest + 26, // 69: lemming.dataplane.sai.Port.RemovePortConnector:input_type -> lemming.dataplane.sai.RemovePortConnectorRequest + 28, // 70: lemming.dataplane.sai.Port.SetPortConnectorAttribute:input_type -> lemming.dataplane.sai.SetPortConnectorAttributeRequest + 30, // 71: lemming.dataplane.sai.Port.GetPortConnectorAttribute:input_type -> lemming.dataplane.sai.GetPortConnectorAttributeRequest + 32, // 72: lemming.dataplane.sai.Port.CreatePortSerdes:input_type -> lemming.dataplane.sai.CreatePortSerdesRequest + 34, // 73: lemming.dataplane.sai.Port.RemovePortSerdes:input_type -> lemming.dataplane.sai.RemovePortSerdesRequest + 36, // 74: lemming.dataplane.sai.Port.GetPortSerdesAttribute:input_type -> lemming.dataplane.sai.GetPortSerdesAttributeRequest + 38, // 75: lemming.dataplane.sai.Port.CreatePorts:input_type -> lemming.dataplane.sai.CreatePortsRequest + 40, // 76: lemming.dataplane.sai.Port.RemovePorts:input_type -> lemming.dataplane.sai.RemovePortsRequest + 5, // 77: lemming.dataplane.sai.Port.CreatePort:output_type -> lemming.dataplane.sai.CreatePortResponse + 7, // 78: lemming.dataplane.sai.Port.RemovePort:output_type -> lemming.dataplane.sai.RemovePortResponse + 9, // 79: lemming.dataplane.sai.Port.SetPortAttribute:output_type -> lemming.dataplane.sai.SetPortAttributeResponse + 11, // 80: lemming.dataplane.sai.Port.GetPortAttribute:output_type -> lemming.dataplane.sai.GetPortAttributeResponse + 13, // 81: lemming.dataplane.sai.Port.GetPortStats:output_type -> lemming.dataplane.sai.GetPortStatsResponse + 15, // 82: lemming.dataplane.sai.Port.CreatePortPool:output_type -> lemming.dataplane.sai.CreatePortPoolResponse + 17, // 83: lemming.dataplane.sai.Port.RemovePortPool:output_type -> lemming.dataplane.sai.RemovePortPoolResponse + 19, // 84: lemming.dataplane.sai.Port.SetPortPoolAttribute:output_type -> lemming.dataplane.sai.SetPortPoolAttributeResponse + 21, // 85: lemming.dataplane.sai.Port.GetPortPoolAttribute:output_type -> lemming.dataplane.sai.GetPortPoolAttributeResponse + 23, // 86: lemming.dataplane.sai.Port.GetPortPoolStats:output_type -> lemming.dataplane.sai.GetPortPoolStatsResponse + 25, // 87: lemming.dataplane.sai.Port.CreatePortConnector:output_type -> lemming.dataplane.sai.CreatePortConnectorResponse + 27, // 88: lemming.dataplane.sai.Port.RemovePortConnector:output_type -> lemming.dataplane.sai.RemovePortConnectorResponse + 29, // 89: lemming.dataplane.sai.Port.SetPortConnectorAttribute:output_type -> lemming.dataplane.sai.SetPortConnectorAttributeResponse + 31, // 90: lemming.dataplane.sai.Port.GetPortConnectorAttribute:output_type -> lemming.dataplane.sai.GetPortConnectorAttributeResponse + 33, // 91: lemming.dataplane.sai.Port.CreatePortSerdes:output_type -> lemming.dataplane.sai.CreatePortSerdesResponse + 35, // 92: lemming.dataplane.sai.Port.RemovePortSerdes:output_type -> lemming.dataplane.sai.RemovePortSerdesResponse + 37, // 93: lemming.dataplane.sai.Port.GetPortSerdesAttribute:output_type -> lemming.dataplane.sai.GetPortSerdesAttributeResponse + 39, // 94: lemming.dataplane.sai.Port.CreatePorts:output_type -> lemming.dataplane.sai.CreatePortsResponse + 41, // 95: lemming.dataplane.sai.Port.RemovePorts:output_type -> lemming.dataplane.sai.RemovePortsResponse + 77, // [77:96] is the sub-list for method output_type + 58, // [58:77] is the sub-list for method input_type + 58, // [58:58] is the sub-list for extension type_name + 58, // [58:58] is the sub-list for extension extendee + 0, // [0:58] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_port_proto_init() } @@ -6576,6 +6693,30 @@ func file_dataplane_proto_sai_port_proto_init() { return nil } } + file_dataplane_proto_sai_port_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemovePortsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_port_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemovePortsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_port_proto_msgTypes[0].OneofWrappers = []interface{}{} file_dataplane_proto_sai_port_proto_msgTypes[4].OneofWrappers = []interface{}{} @@ -6590,7 +6731,7 @@ func file_dataplane_proto_sai_port_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_port_proto_rawDesc, NumEnums: 4, - NumMessages: 36, + NumMessages: 38, NumExtensions: 0, NumServices: 1, }, @@ -6635,6 +6776,7 @@ type PortClient interface { RemovePortSerdes(ctx context.Context, in *RemovePortSerdesRequest, opts ...grpc.CallOption) (*RemovePortSerdesResponse, error) GetPortSerdesAttribute(ctx context.Context, in *GetPortSerdesAttributeRequest, opts ...grpc.CallOption) (*GetPortSerdesAttributeResponse, error) CreatePorts(ctx context.Context, in *CreatePortsRequest, opts ...grpc.CallOption) (*CreatePortsResponse, error) + RemovePorts(ctx context.Context, in *RemovePortsRequest, opts ...grpc.CallOption) (*RemovePortsResponse, error) } type portClient struct { @@ -6807,6 +6949,15 @@ func (c *portClient) CreatePorts(ctx context.Context, in *CreatePortsRequest, op return out, nil } +func (c *portClient) RemovePorts(ctx context.Context, in *RemovePortsRequest, opts ...grpc.CallOption) (*RemovePortsResponse, error) { + out := new(RemovePortsResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Port/RemovePorts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // PortServer is the server API for Port service. type PortServer interface { CreatePort(context.Context, *CreatePortRequest) (*CreatePortResponse, error) @@ -6827,6 +6978,7 @@ type PortServer interface { RemovePortSerdes(context.Context, *RemovePortSerdesRequest) (*RemovePortSerdesResponse, error) GetPortSerdesAttribute(context.Context, *GetPortSerdesAttributeRequest) (*GetPortSerdesAttributeResponse, error) CreatePorts(context.Context, *CreatePortsRequest) (*CreatePortsResponse, error) + RemovePorts(context.Context, *RemovePortsRequest) (*RemovePortsResponse, error) } // UnimplementedPortServer can be embedded to have forward compatible implementations. @@ -6887,6 +7039,9 @@ func (*UnimplementedPortServer) GetPortSerdesAttribute(context.Context, *GetPort func (*UnimplementedPortServer) CreatePorts(context.Context, *CreatePortsRequest) (*CreatePortsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePorts not implemented") } +func (*UnimplementedPortServer) RemovePorts(context.Context, *RemovePortsRequest) (*RemovePortsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemovePorts not implemented") +} func RegisterPortServer(s *grpc.Server, srv PortServer) { s.RegisterService(&_Port_serviceDesc, srv) @@ -7216,6 +7371,24 @@ func _Port_CreatePorts_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Port_RemovePorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemovePortsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PortServer).RemovePorts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Port/RemovePorts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PortServer).RemovePorts(ctx, req.(*RemovePortsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Port_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.Port", HandlerType: (*PortServer)(nil), @@ -7292,6 +7465,10 @@ var _Port_serviceDesc = grpc.ServiceDesc{ MethodName: "CreatePorts", Handler: _Port_CreatePorts_Handler, }, + { + MethodName: "RemovePorts", + Handler: _Port_RemovePorts_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/port.proto", diff --git a/dataplane/proto/sai/port.proto b/dataplane/proto/sai/port.proto index dc9077f7..6aebff96 100644 --- a/dataplane/proto/sai/port.proto +++ b/dataplane/proto/sai/port.proto @@ -577,6 +577,14 @@ message CreatePortsResponse { repeated CreatePortResponse resps = 1; } +message RemovePortsRequest { + repeated RemovePortRequest reqs = 1; +} + +message RemovePortsResponse { + repeated RemovePortResponse resps = 1; +} + service Port { rpc CreatePort(CreatePortRequest) returns (CreatePortResponse) {} rpc RemovePort(RemovePortRequest) returns (RemovePortResponse) {} @@ -608,4 +616,5 @@ service Port { rpc GetPortSerdesAttribute(GetPortSerdesAttributeRequest) returns (GetPortSerdesAttributeResponse) {} rpc CreatePorts(CreatePortsRequest) returns (CreatePortsResponse) {} + rpc RemovePorts(RemovePortsRequest) returns (RemovePortsResponse) {} } diff --git a/dataplane/proto/sai/route.pb.go b/dataplane/proto/sai/route.pb.go index cba72967..aa98d233 100644 --- a/dataplane/proto/sai/route.pb.go +++ b/dataplane/proto/sai/route.pb.go @@ -616,6 +616,100 @@ func (x *CreateRouteEntriesResponse) GetResps() []*CreateRouteEntryResponse { return nil } +type RemoveRouteEntriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveRouteEntryRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveRouteEntriesRequest) Reset() { + *x = RemoveRouteEntriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_route_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveRouteEntriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveRouteEntriesRequest) ProtoMessage() {} + +func (x *RemoveRouteEntriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_route_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveRouteEntriesRequest.ProtoReflect.Descriptor instead. +func (*RemoveRouteEntriesRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_route_proto_rawDescGZIP(), []int{10} +} + +func (x *RemoveRouteEntriesRequest) GetReqs() []*RemoveRouteEntryRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveRouteEntriesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveRouteEntryResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveRouteEntriesResponse) Reset() { + *x = RemoveRouteEntriesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_route_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveRouteEntriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveRouteEntriesResponse) ProtoMessage() {} + +func (x *RemoveRouteEntriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_route_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveRouteEntriesResponse.ProtoReflect.Descriptor instead. +func (*RemoveRouteEntriesResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_route_proto_rawDescGZIP(), []int{11} +} + +func (x *RemoveRouteEntriesResponse) GetResps() []*RemoveRouteEntryResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_route_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_route_proto_rawDesc = []byte{ @@ -718,68 +812,88 @@ var file_dataplane_proto_sai_route_proto_rawDesc = []byte{ 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0x81, 0x02, 0x0a, 0x0e, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x20, 0x0a, 0x1c, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, - 0x0a, 0x1e, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, - 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x50, - 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, - 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, - 0x4f, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x4f, 0x55, 0x54, 0x45, - 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x41, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x4f, 0x55, 0x54, 0x45, - 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x5f, 0x41, - 0x44, 0x44, 0x52, 0x5f, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x06, 0x32, 0x86, 0x05, - 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x75, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, - 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x75, + 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x19, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x63, 0x0a, 0x1a, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, + 0x81, 0x02, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, + 0x74, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, + 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x4f, 0x55, 0x54, + 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x53, 0x45, + 0x52, 0x5f, 0x54, 0x52, 0x41, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x52, + 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x03, 0x12, 0x1e, 0x0a, + 0x1a, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x04, 0x12, 0x23, 0x0a, + 0x1f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, + 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, + 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, + 0x44, 0x10, 0x06, 0x32, 0x83, 0x06, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x75, 0x0a, + 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, + 0x53, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, + 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -795,7 +909,7 @@ func file_dataplane_proto_sai_route_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_route_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_dataplane_proto_sai_route_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_dataplane_proto_sai_route_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_dataplane_proto_sai_route_proto_goTypes = []interface{}{ (RouteEntryAttr)(0), // 0: lemming.dataplane.sai.RouteEntryAttr (*CreateRouteEntryRequest)(nil), // 1: lemming.dataplane.sai.CreateRouteEntryRequest @@ -808,36 +922,42 @@ var file_dataplane_proto_sai_route_proto_goTypes = []interface{}{ (*GetRouteEntryAttributeResponse)(nil), // 8: lemming.dataplane.sai.GetRouteEntryAttributeResponse (*CreateRouteEntriesRequest)(nil), // 9: lemming.dataplane.sai.CreateRouteEntriesRequest (*CreateRouteEntriesResponse)(nil), // 10: lemming.dataplane.sai.CreateRouteEntriesResponse - (*RouteEntry)(nil), // 11: lemming.dataplane.sai.RouteEntry - (PacketAction)(0), // 12: lemming.dataplane.sai.PacketAction - (*RouteEntryAttribute)(nil), // 13: lemming.dataplane.sai.RouteEntryAttribute + (*RemoveRouteEntriesRequest)(nil), // 11: lemming.dataplane.sai.RemoveRouteEntriesRequest + (*RemoveRouteEntriesResponse)(nil), // 12: lemming.dataplane.sai.RemoveRouteEntriesResponse + (*RouteEntry)(nil), // 13: lemming.dataplane.sai.RouteEntry + (PacketAction)(0), // 14: lemming.dataplane.sai.PacketAction + (*RouteEntryAttribute)(nil), // 15: lemming.dataplane.sai.RouteEntryAttribute } var file_dataplane_proto_sai_route_proto_depIdxs = []int32{ - 11, // 0: lemming.dataplane.sai.CreateRouteEntryRequest.entry:type_name -> lemming.dataplane.sai.RouteEntry - 12, // 1: lemming.dataplane.sai.CreateRouteEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 11, // 2: lemming.dataplane.sai.RemoveRouteEntryRequest.entry:type_name -> lemming.dataplane.sai.RouteEntry - 11, // 3: lemming.dataplane.sai.SetRouteEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.RouteEntry - 12, // 4: lemming.dataplane.sai.SetRouteEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 11, // 5: lemming.dataplane.sai.GetRouteEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.RouteEntry + 13, // 0: lemming.dataplane.sai.CreateRouteEntryRequest.entry:type_name -> lemming.dataplane.sai.RouteEntry + 14, // 1: lemming.dataplane.sai.CreateRouteEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 13, // 2: lemming.dataplane.sai.RemoveRouteEntryRequest.entry:type_name -> lemming.dataplane.sai.RouteEntry + 13, // 3: lemming.dataplane.sai.SetRouteEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.RouteEntry + 14, // 4: lemming.dataplane.sai.SetRouteEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 13, // 5: lemming.dataplane.sai.GetRouteEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.RouteEntry 0, // 6: lemming.dataplane.sai.GetRouteEntryAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.RouteEntryAttr - 13, // 7: lemming.dataplane.sai.GetRouteEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.RouteEntryAttribute + 15, // 7: lemming.dataplane.sai.GetRouteEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.RouteEntryAttribute 1, // 8: lemming.dataplane.sai.CreateRouteEntriesRequest.reqs:type_name -> lemming.dataplane.sai.CreateRouteEntryRequest 2, // 9: lemming.dataplane.sai.CreateRouteEntriesResponse.resps:type_name -> lemming.dataplane.sai.CreateRouteEntryResponse - 1, // 10: lemming.dataplane.sai.Route.CreateRouteEntry:input_type -> lemming.dataplane.sai.CreateRouteEntryRequest - 3, // 11: lemming.dataplane.sai.Route.RemoveRouteEntry:input_type -> lemming.dataplane.sai.RemoveRouteEntryRequest - 5, // 12: lemming.dataplane.sai.Route.SetRouteEntryAttribute:input_type -> lemming.dataplane.sai.SetRouteEntryAttributeRequest - 7, // 13: lemming.dataplane.sai.Route.GetRouteEntryAttribute:input_type -> lemming.dataplane.sai.GetRouteEntryAttributeRequest - 9, // 14: lemming.dataplane.sai.Route.CreateRouteEntries:input_type -> lemming.dataplane.sai.CreateRouteEntriesRequest - 2, // 15: lemming.dataplane.sai.Route.CreateRouteEntry:output_type -> lemming.dataplane.sai.CreateRouteEntryResponse - 4, // 16: lemming.dataplane.sai.Route.RemoveRouteEntry:output_type -> lemming.dataplane.sai.RemoveRouteEntryResponse - 6, // 17: lemming.dataplane.sai.Route.SetRouteEntryAttribute:output_type -> lemming.dataplane.sai.SetRouteEntryAttributeResponse - 8, // 18: lemming.dataplane.sai.Route.GetRouteEntryAttribute:output_type -> lemming.dataplane.sai.GetRouteEntryAttributeResponse - 10, // 19: lemming.dataplane.sai.Route.CreateRouteEntries:output_type -> lemming.dataplane.sai.CreateRouteEntriesResponse - 15, // [15:20] is the sub-list for method output_type - 10, // [10:15] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 3, // 10: lemming.dataplane.sai.RemoveRouteEntriesRequest.reqs:type_name -> lemming.dataplane.sai.RemoveRouteEntryRequest + 4, // 11: lemming.dataplane.sai.RemoveRouteEntriesResponse.resps:type_name -> lemming.dataplane.sai.RemoveRouteEntryResponse + 1, // 12: lemming.dataplane.sai.Route.CreateRouteEntry:input_type -> lemming.dataplane.sai.CreateRouteEntryRequest + 3, // 13: lemming.dataplane.sai.Route.RemoveRouteEntry:input_type -> lemming.dataplane.sai.RemoveRouteEntryRequest + 5, // 14: lemming.dataplane.sai.Route.SetRouteEntryAttribute:input_type -> lemming.dataplane.sai.SetRouteEntryAttributeRequest + 7, // 15: lemming.dataplane.sai.Route.GetRouteEntryAttribute:input_type -> lemming.dataplane.sai.GetRouteEntryAttributeRequest + 9, // 16: lemming.dataplane.sai.Route.CreateRouteEntries:input_type -> lemming.dataplane.sai.CreateRouteEntriesRequest + 11, // 17: lemming.dataplane.sai.Route.RemoveRouteEntries:input_type -> lemming.dataplane.sai.RemoveRouteEntriesRequest + 2, // 18: lemming.dataplane.sai.Route.CreateRouteEntry:output_type -> lemming.dataplane.sai.CreateRouteEntryResponse + 4, // 19: lemming.dataplane.sai.Route.RemoveRouteEntry:output_type -> lemming.dataplane.sai.RemoveRouteEntryResponse + 6, // 20: lemming.dataplane.sai.Route.SetRouteEntryAttribute:output_type -> lemming.dataplane.sai.SetRouteEntryAttributeResponse + 8, // 21: lemming.dataplane.sai.Route.GetRouteEntryAttribute:output_type -> lemming.dataplane.sai.GetRouteEntryAttributeResponse + 10, // 22: lemming.dataplane.sai.Route.CreateRouteEntries:output_type -> lemming.dataplane.sai.CreateRouteEntriesResponse + 12, // 23: lemming.dataplane.sai.Route.RemoveRouteEntries:output_type -> lemming.dataplane.sai.RemoveRouteEntriesResponse + 18, // [18:24] is the sub-list for method output_type + 12, // [12:18] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_route_proto_init() } @@ -967,6 +1087,30 @@ func file_dataplane_proto_sai_route_proto_init() { return nil } } + file_dataplane_proto_sai_route_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveRouteEntriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_route_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveRouteEntriesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_route_proto_msgTypes[0].OneofWrappers = []interface{}{} file_dataplane_proto_sai_route_proto_msgTypes[4].OneofWrappers = []interface{}{} @@ -976,7 +1120,7 @@ func file_dataplane_proto_sai_route_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_route_proto_rawDesc, NumEnums: 1, - NumMessages: 10, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, @@ -1008,6 +1152,7 @@ type RouteClient interface { SetRouteEntryAttribute(ctx context.Context, in *SetRouteEntryAttributeRequest, opts ...grpc.CallOption) (*SetRouteEntryAttributeResponse, error) GetRouteEntryAttribute(ctx context.Context, in *GetRouteEntryAttributeRequest, opts ...grpc.CallOption) (*GetRouteEntryAttributeResponse, error) CreateRouteEntries(ctx context.Context, in *CreateRouteEntriesRequest, opts ...grpc.CallOption) (*CreateRouteEntriesResponse, error) + RemoveRouteEntries(ctx context.Context, in *RemoveRouteEntriesRequest, opts ...grpc.CallOption) (*RemoveRouteEntriesResponse, error) } type routeClient struct { @@ -1063,6 +1208,15 @@ func (c *routeClient) CreateRouteEntries(ctx context.Context, in *CreateRouteEnt return out, nil } +func (c *routeClient) RemoveRouteEntries(ctx context.Context, in *RemoveRouteEntriesRequest, opts ...grpc.CallOption) (*RemoveRouteEntriesResponse, error) { + out := new(RemoveRouteEntriesResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Route/RemoveRouteEntries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // RouteServer is the server API for Route service. type RouteServer interface { CreateRouteEntry(context.Context, *CreateRouteEntryRequest) (*CreateRouteEntryResponse, error) @@ -1070,6 +1224,7 @@ type RouteServer interface { SetRouteEntryAttribute(context.Context, *SetRouteEntryAttributeRequest) (*SetRouteEntryAttributeResponse, error) GetRouteEntryAttribute(context.Context, *GetRouteEntryAttributeRequest) (*GetRouteEntryAttributeResponse, error) CreateRouteEntries(context.Context, *CreateRouteEntriesRequest) (*CreateRouteEntriesResponse, error) + RemoveRouteEntries(context.Context, *RemoveRouteEntriesRequest) (*RemoveRouteEntriesResponse, error) } // UnimplementedRouteServer can be embedded to have forward compatible implementations. @@ -1091,6 +1246,9 @@ func (*UnimplementedRouteServer) GetRouteEntryAttribute(context.Context, *GetRou func (*UnimplementedRouteServer) CreateRouteEntries(context.Context, *CreateRouteEntriesRequest) (*CreateRouteEntriesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateRouteEntries not implemented") } +func (*UnimplementedRouteServer) RemoveRouteEntries(context.Context, *RemoveRouteEntriesRequest) (*RemoveRouteEntriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveRouteEntries not implemented") +} func RegisterRouteServer(s *grpc.Server, srv RouteServer) { s.RegisterService(&_Route_serviceDesc, srv) @@ -1186,6 +1344,24 @@ func _Route_CreateRouteEntries_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Route_RemoveRouteEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveRouteEntriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RouteServer).RemoveRouteEntries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Route/RemoveRouteEntries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RouteServer).RemoveRouteEntries(ctx, req.(*RemoveRouteEntriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Route_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.Route", HandlerType: (*RouteServer)(nil), @@ -1210,6 +1386,10 @@ var _Route_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateRouteEntries", Handler: _Route_CreateRouteEntries_Handler, }, + { + MethodName: "RemoveRouteEntries", + Handler: _Route_RemoveRouteEntries_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/route.proto", diff --git a/dataplane/proto/sai/route.proto b/dataplane/proto/sai/route.proto index 7230687c..505b4b84 100644 --- a/dataplane/proto/sai/route.proto +++ b/dataplane/proto/sai/route.proto @@ -63,6 +63,14 @@ message CreateRouteEntriesResponse { repeated CreateRouteEntryResponse resps = 1; } +message RemoveRouteEntriesRequest { + repeated RemoveRouteEntryRequest reqs = 1; +} + +message RemoveRouteEntriesResponse { + repeated RemoveRouteEntryResponse resps = 1; +} + service Route { rpc CreateRouteEntry(CreateRouteEntryRequest) returns (CreateRouteEntryResponse) {} @@ -74,4 +82,6 @@ service Route { returns (GetRouteEntryAttributeResponse) {} rpc CreateRouteEntries(CreateRouteEntriesRequest) returns (CreateRouteEntriesResponse) {} + rpc RemoveRouteEntries(RemoveRouteEntriesRequest) + returns (RemoveRouteEntriesResponse) {} } diff --git a/dataplane/proto/sai/srv6.pb.go b/dataplane/proto/sai/srv6.pb.go index e3bab051..d78ee9c8 100644 --- a/dataplane/proto/sai/srv6.pb.go +++ b/dataplane/proto/sai/srv6.pb.go @@ -643,6 +643,100 @@ func (x *CreateSrv6SidlistsResponse) GetResps() []*CreateSrv6SidlistResponse { return nil } +type RemoveSrv6SidlistsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveSrv6SidlistRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveSrv6SidlistsRequest) Reset() { + *x = RemoveSrv6SidlistsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveSrv6SidlistsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveSrv6SidlistsRequest) ProtoMessage() {} + +func (x *RemoveSrv6SidlistsRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveSrv6SidlistsRequest.ProtoReflect.Descriptor instead. +func (*RemoveSrv6SidlistsRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{10} +} + +func (x *RemoveSrv6SidlistsRequest) GetReqs() []*RemoveSrv6SidlistRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveSrv6SidlistsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveSrv6SidlistResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveSrv6SidlistsResponse) Reset() { + *x = RemoveSrv6SidlistsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveSrv6SidlistsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveSrv6SidlistsResponse) ProtoMessage() {} + +func (x *RemoveSrv6SidlistsResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveSrv6SidlistsResponse.ProtoReflect.Descriptor instead. +func (*RemoveSrv6SidlistsResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{11} +} + +func (x *RemoveSrv6SidlistsResponse) GetResps() []*RemoveSrv6SidlistResponse { + if x != nil { + return x.Resps + } + return nil +} + type CreateMySidEntryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -662,7 +756,7 @@ type CreateMySidEntryRequest struct { func (x *CreateMySidEntryRequest) Reset() { *x = CreateMySidEntryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[10] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -675,7 +769,7 @@ func (x *CreateMySidEntryRequest) String() string { func (*CreateMySidEntryRequest) ProtoMessage() {} func (x *CreateMySidEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[10] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -688,7 +782,7 @@ func (x *CreateMySidEntryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateMySidEntryRequest.ProtoReflect.Descriptor instead. func (*CreateMySidEntryRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{10} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{12} } func (x *CreateMySidEntryRequest) GetEntry() *MySidEntry { @@ -763,7 +857,7 @@ type CreateMySidEntryResponse struct { func (x *CreateMySidEntryResponse) Reset() { *x = CreateMySidEntryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[11] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -776,7 +870,7 @@ func (x *CreateMySidEntryResponse) String() string { func (*CreateMySidEntryResponse) ProtoMessage() {} func (x *CreateMySidEntryResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[11] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -789,7 +883,7 @@ func (x *CreateMySidEntryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateMySidEntryResponse.ProtoReflect.Descriptor instead. func (*CreateMySidEntryResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{11} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{13} } type RemoveMySidEntryRequest struct { @@ -803,7 +897,7 @@ type RemoveMySidEntryRequest struct { func (x *RemoveMySidEntryRequest) Reset() { *x = RemoveMySidEntryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[12] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -816,7 +910,7 @@ func (x *RemoveMySidEntryRequest) String() string { func (*RemoveMySidEntryRequest) ProtoMessage() {} func (x *RemoveMySidEntryRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[12] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -829,7 +923,7 @@ func (x *RemoveMySidEntryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveMySidEntryRequest.ProtoReflect.Descriptor instead. func (*RemoveMySidEntryRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{12} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{14} } func (x *RemoveMySidEntryRequest) GetEntry() *MySidEntry { @@ -848,7 +942,7 @@ type RemoveMySidEntryResponse struct { func (x *RemoveMySidEntryResponse) Reset() { *x = RemoveMySidEntryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[13] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -861,7 +955,7 @@ func (x *RemoveMySidEntryResponse) String() string { func (*RemoveMySidEntryResponse) ProtoMessage() {} func (x *RemoveMySidEntryResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[13] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -874,7 +968,7 @@ func (x *RemoveMySidEntryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveMySidEntryResponse.ProtoReflect.Descriptor instead. func (*RemoveMySidEntryResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{13} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{15} } type SetMySidEntryAttributeRequest struct { @@ -896,7 +990,7 @@ type SetMySidEntryAttributeRequest struct { func (x *SetMySidEntryAttributeRequest) Reset() { *x = SetMySidEntryAttributeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[14] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -909,7 +1003,7 @@ func (x *SetMySidEntryAttributeRequest) String() string { func (*SetMySidEntryAttributeRequest) ProtoMessage() {} func (x *SetMySidEntryAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[14] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -922,7 +1016,7 @@ func (x *SetMySidEntryAttributeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMySidEntryAttributeRequest.ProtoReflect.Descriptor instead. func (*SetMySidEntryAttributeRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{14} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{16} } func (x *SetMySidEntryAttributeRequest) GetEntry() *MySidEntry { @@ -997,7 +1091,7 @@ type SetMySidEntryAttributeResponse struct { func (x *SetMySidEntryAttributeResponse) Reset() { *x = SetMySidEntryAttributeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[15] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1010,7 +1104,7 @@ func (x *SetMySidEntryAttributeResponse) String() string { func (*SetMySidEntryAttributeResponse) ProtoMessage() {} func (x *SetMySidEntryAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[15] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1023,7 +1117,7 @@ func (x *SetMySidEntryAttributeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMySidEntryAttributeResponse.ProtoReflect.Descriptor instead. func (*SetMySidEntryAttributeResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{15} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{17} } type GetMySidEntryAttributeRequest struct { @@ -1038,7 +1132,7 @@ type GetMySidEntryAttributeRequest struct { func (x *GetMySidEntryAttributeRequest) Reset() { *x = GetMySidEntryAttributeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[16] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1051,7 +1145,7 @@ func (x *GetMySidEntryAttributeRequest) String() string { func (*GetMySidEntryAttributeRequest) ProtoMessage() {} func (x *GetMySidEntryAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[16] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1064,7 +1158,7 @@ func (x *GetMySidEntryAttributeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMySidEntryAttributeRequest.ProtoReflect.Descriptor instead. func (*GetMySidEntryAttributeRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{16} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{18} } func (x *GetMySidEntryAttributeRequest) GetEntry() *MySidEntry { @@ -1092,7 +1186,7 @@ type GetMySidEntryAttributeResponse struct { func (x *GetMySidEntryAttributeResponse) Reset() { *x = GetMySidEntryAttributeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[17] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1105,7 +1199,7 @@ func (x *GetMySidEntryAttributeResponse) String() string { func (*GetMySidEntryAttributeResponse) ProtoMessage() {} func (x *GetMySidEntryAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[17] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1118,7 +1212,7 @@ func (x *GetMySidEntryAttributeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMySidEntryAttributeResponse.ProtoReflect.Descriptor instead. func (*GetMySidEntryAttributeResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{17} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{19} } func (x *GetMySidEntryAttributeResponse) GetAttr() *MySidEntryAttribute { @@ -1139,7 +1233,7 @@ type CreateMySidEntriesRequest struct { func (x *CreateMySidEntriesRequest) Reset() { *x = CreateMySidEntriesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[18] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1152,7 +1246,7 @@ func (x *CreateMySidEntriesRequest) String() string { func (*CreateMySidEntriesRequest) ProtoMessage() {} func (x *CreateMySidEntriesRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[18] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1165,7 +1259,7 @@ func (x *CreateMySidEntriesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateMySidEntriesRequest.ProtoReflect.Descriptor instead. func (*CreateMySidEntriesRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{18} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{20} } func (x *CreateMySidEntriesRequest) GetReqs() []*CreateMySidEntryRequest { @@ -1186,7 +1280,7 @@ type CreateMySidEntriesResponse struct { func (x *CreateMySidEntriesResponse) Reset() { *x = CreateMySidEntriesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[19] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1199,7 +1293,7 @@ func (x *CreateMySidEntriesResponse) String() string { func (*CreateMySidEntriesResponse) ProtoMessage() {} func (x *CreateMySidEntriesResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[19] + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1212,7 +1306,7 @@ func (x *CreateMySidEntriesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateMySidEntriesResponse.ProtoReflect.Descriptor instead. func (*CreateMySidEntriesResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{19} + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{21} } func (x *CreateMySidEntriesResponse) GetResps() []*CreateMySidEntryResponse { @@ -1222,6 +1316,100 @@ func (x *CreateMySidEntriesResponse) GetResps() []*CreateMySidEntryResponse { return nil } +type RemoveMySidEntriesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveMySidEntryRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveMySidEntriesRequest) Reset() { + *x = RemoveMySidEntriesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveMySidEntriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveMySidEntriesRequest) ProtoMessage() {} + +func (x *RemoveMySidEntriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveMySidEntriesRequest.ProtoReflect.Descriptor instead. +func (*RemoveMySidEntriesRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{22} +} + +func (x *RemoveMySidEntriesRequest) GetReqs() []*RemoveMySidEntryRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveMySidEntriesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveMySidEntryResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveMySidEntriesResponse) Reset() { + *x = RemoveMySidEntriesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveMySidEntriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveMySidEntriesResponse) ProtoMessage() {} + +func (x *RemoveMySidEntriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_srv6_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveMySidEntriesResponse.ProtoReflect.Descriptor instead. +func (*RemoveMySidEntriesResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_srv6_proto_rawDescGZIP(), []int{23} +} + +func (x *RemoveMySidEntriesResponse) GetResps() []*RemoveMySidEntryResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_srv6_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_srv6_proto_rawDesc = []byte{ @@ -1292,259 +1480,299 @@ var file_dataplane_proto_sai_srv6_proto_rawDesc = []byte{ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0xfe, 0x05, - 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x60, 0x0a, + 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x72, 0x65, + 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x6b, 0x0a, 0x11, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x01, 0x48, 0x00, 0x52, 0x10, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x7e, 0x0a, 0x18, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, - 0x0f, 0x02, 0x48, 0x01, 0x52, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x55, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0xf0, 0xdc, 0x93, - 0xad, 0x0f, 0x03, 0x48, 0x02, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x70, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x06, 0xf0, - 0xdc, 0x93, 0xad, 0x0f, 0x04, 0x48, 0x03, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x70, 0x50, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, - 0xdc, 0x93, 0xad, 0x0f, 0x05, 0x48, 0x04, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x09, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x06, - 0x48, 0x05, 0x52, 0x08, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x1d, 0x0a, 0x03, 0x76, 0x72, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, - 0x93, 0xad, 0x0f, 0x07, 0x48, 0x06, 0x52, 0x03, 0x76, 0x72, 0x66, 0x88, 0x01, 0x01, 0x12, 0x2a, - 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x08, 0x48, 0x07, 0x52, 0x09, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x3a, 0x06, 0xa0, 0xa9, 0x90, 0xad, - 0x0f, 0x61, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, - 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x66, - 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x74, 0x72, 0x61, 0x70, - 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x76, 0x72, 0x66, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x1a, - 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x0a, 0x17, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, - 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x1a, - 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x05, 0x0a, 0x1d, 0x53, - 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x6b, 0x0a, 0x11, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, + 0x64, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, + 0x6c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, + 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, + 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, + 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0xfe, 0x05, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x37, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x01, 0x48, 0x00, 0x52, 0x10, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x7e, 0x0a, 0x18, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, - 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x42, 0x06, 0xf0, - 0xdc, 0x93, 0xad, 0x0f, 0x02, 0x48, 0x01, 0x52, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x6b, 0x0a, 0x11, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, + 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x01, + 0x48, 0x00, 0x52, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x7e, 0x0a, 0x18, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x66, 0x6c, 0x61, + 0x76, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, - 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x03, 0x48, 0x02, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0d, 0x74, 0x72, 0x61, - 0x70, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x04, 0x48, 0x03, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x70, - 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0b, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x05, 0x48, 0x04, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, - 0x48, 0x6f, 0x70, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x09, 0x74, 0x75, 0x6e, 0x6e, - 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, - 0xad, 0x0f, 0x06, 0x48, 0x05, 0x52, 0x08, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x72, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x07, 0x48, 0x06, 0x52, 0x03, 0x76, 0x72, 0x66, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x08, 0x48, 0x07, 0x52, - 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, - 0x12, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, - 0x70, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x69, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x76, 0x72, 0x66, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x65, 0x74, - 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x1d, - 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, + 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x46, 0x6c, 0x61, 0x76, + 0x6f, 0x72, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x02, 0x48, 0x01, 0x52, 0x16, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x46, 0x6c, + 0x61, 0x76, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x03, 0x48, 0x02, 0x52, 0x0c, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, + 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x04, 0x48, 0x03, 0x52, + 0x0c, 0x74, 0x72, 0x61, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x2b, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x05, 0x48, 0x04, 0x52, + 0x09, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, + 0x09, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, + 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x06, 0x48, 0x05, 0x52, 0x08, 0x74, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x72, 0x66, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x07, 0x48, 0x06, 0x52, 0x03, + 0x76, 0x72, 0x66, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, + 0x0f, 0x08, 0x48, 0x07, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x3a, 0x06, 0xa0, 0xa9, 0x90, 0xad, 0x0f, 0x61, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, + 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, + 0x06, 0x0a, 0x04, 0x5f, 0x76, 0x72, 0x66, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x52, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x42, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xfc, 0x05, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x6b, 0x0a, + 0x11, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x06, 0xf0, 0xdc, 0x93, + 0xad, 0x0f, 0x01, 0x48, 0x00, 0x52, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x7e, 0x0a, 0x18, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, + 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x46, + 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x02, 0x48, 0x01, 0x52, + 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x23, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x03, 0x48, 0x02, + 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x30, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x04, + 0x48, 0x03, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x70, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, + 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x05, + 0x48, 0x04, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x28, 0x0a, 0x09, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x06, 0x48, 0x05, 0x52, 0x08, 0x74, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x72, + 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, 0xdc, 0x93, 0xad, 0x0f, 0x07, 0x48, + 0x06, 0x52, 0x03, 0x76, 0x72, 0x66, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0a, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xf0, + 0xdc, 0x93, 0xad, 0x0f, 0x08, 0x48, 0x07, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x1b, 0x0a, 0x19, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x5f, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x74, + 0x72, 0x61, 0x70, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x76, + 0x72, 0x66, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, + 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x42, + 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x25, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x60, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x61, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x04, + 0x61, 0x74, 0x74, 0x72, 0x22, 0x5f, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, + 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x42, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, + 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x63, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, + 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x5f, 0x0a, 0x19, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x63, 0x0a, 0x1a, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x72, 0x65, 0x73, + 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, + 0x2a, 0x94, 0x01, 0x0a, 0x0f, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, + 0x41, 0x74, 0x74, 0x72, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x53, 0x49, 0x44, + 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x52, 0x56, 0x36, 0x5f, + 0x53, 0x49, 0x44, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x53, 0x49, 0x44, 0x4c, + 0x49, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x4c, 0x56, 0x5f, 0x4c, 0x49, 0x53, + 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x53, 0x49, 0x44, 0x4c, + 0x49, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, + 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x03, 0x2a, 0xd7, 0x02, 0x0a, 0x0e, 0x4d, 0x79, 0x53, 0x69, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x59, + 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x27, 0x0a, + 0x23, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x45, 0x48, 0x41, + 0x56, 0x49, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, + 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x44, 0x50, + 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x46, 0x4c, + 0x41, 0x56, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, + 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, 0x43, 0x4b, + 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x4d, + 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x54, 0x52, 0x41, 0x50, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0x04, + 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, + 0x44, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, + 0x49, 0x44, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, + 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x52, 0x46, 0x10, 0x07, 0x12, + 0x20, 0x0a, 0x1c, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x10, + 0x08, 0x32, 0x8a, 0x0c, 0x0a, 0x04, 0x53, 0x72, 0x76, 0x36, 0x12, 0x78, 0x0a, 0x11, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x12, + 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x72, + 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, + 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, - 0x52, 0x08, 0x61, 0x74, 0x74, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x60, 0x0a, 0x1e, 0x47, 0x65, - 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x04, - 0x61, 0x74, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, + 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x04, 0x61, 0x74, 0x74, 0x72, 0x22, 0x5f, 0x0a, 0x19, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x72, 0x65, 0x71, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, - 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x63, 0x0a, - 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x05, 0x72, - 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, + 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, + 0x01, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, + 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, - 0x70, 0x73, 0x2a, 0x94, 0x01, 0x0a, 0x0f, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, - 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x53, - 0x49, 0x44, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x52, 0x56, - 0x36, 0x5f, 0x53, 0x49, 0x44, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x53, 0x49, - 0x44, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x4c, 0x56, 0x5f, 0x4c, - 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x52, 0x56, 0x36, 0x5f, 0x53, 0x49, - 0x44, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x45, 0x47, 0x4d, 0x45, - 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x03, 0x2a, 0xd7, 0x02, 0x0a, 0x0e, 0x4d, 0x79, - 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x21, 0x0a, 0x1d, - 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x27, 0x0a, 0x23, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x45, - 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x4d, 0x59, 0x5f, 0x53, - 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, - 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, - 0x46, 0x4c, 0x41, 0x56, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x4d, 0x59, 0x5f, 0x53, - 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x23, 0x0a, - 0x1f, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x50, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, - 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, - 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, - 0x5f, 0x49, 0x44, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, - 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, - 0x4c, 0x5f, 0x49, 0x44, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, - 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x52, 0x46, 0x10, - 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x59, 0x5f, 0x53, 0x49, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x52, - 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x49, - 0x44, 0x10, 0x08, 0x32, 0x90, 0x0a, 0x0a, 0x04, 0x53, 0x72, 0x76, 0x36, 0x12, 0x78, 0x0a, 0x11, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, - 0x74, 0x12, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, - 0x64, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6c, - 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, - 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x8a, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, - 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x6c, - 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, - 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x53, - 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, - 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, - 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x36, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, - 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x73, - 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, + 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x36, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x72, 0x76, + 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, + 0x64, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x30, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x72, 0x76, + 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, - 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, + 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, + 0x72, 0x76, 0x36, 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, + 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, 0x53, 0x69, + 0x64, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, + 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x72, 0x76, 0x36, + 0x53, 0x69, 0x64, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x2e, + 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, - 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x53, + 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, - 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, + 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, + 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x69, - 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, - 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, + 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x79, 0x53, 0x69, 0x64, 0x45, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 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, 0x70, 0x65, + 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1560,7 +1788,7 @@ func file_dataplane_proto_sai_srv6_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_srv6_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_dataplane_proto_sai_srv6_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_dataplane_proto_sai_srv6_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_dataplane_proto_sai_srv6_proto_goTypes = []interface{}{ (Srv6SidlistAttr)(0), // 0: lemming.dataplane.sai.Srv6SidlistAttr (MySidEntryAttr)(0), // 1: lemming.dataplane.sai.MySidEntryAttr @@ -1574,72 +1802,84 @@ var file_dataplane_proto_sai_srv6_proto_goTypes = []interface{}{ (*GetSrv6SidlistAttributeResponse)(nil), // 9: lemming.dataplane.sai.GetSrv6SidlistAttributeResponse (*CreateSrv6SidlistsRequest)(nil), // 10: lemming.dataplane.sai.CreateSrv6SidlistsRequest (*CreateSrv6SidlistsResponse)(nil), // 11: lemming.dataplane.sai.CreateSrv6SidlistsResponse - (*CreateMySidEntryRequest)(nil), // 12: lemming.dataplane.sai.CreateMySidEntryRequest - (*CreateMySidEntryResponse)(nil), // 13: lemming.dataplane.sai.CreateMySidEntryResponse - (*RemoveMySidEntryRequest)(nil), // 14: lemming.dataplane.sai.RemoveMySidEntryRequest - (*RemoveMySidEntryResponse)(nil), // 15: lemming.dataplane.sai.RemoveMySidEntryResponse - (*SetMySidEntryAttributeRequest)(nil), // 16: lemming.dataplane.sai.SetMySidEntryAttributeRequest - (*SetMySidEntryAttributeResponse)(nil), // 17: lemming.dataplane.sai.SetMySidEntryAttributeResponse - (*GetMySidEntryAttributeRequest)(nil), // 18: lemming.dataplane.sai.GetMySidEntryAttributeRequest - (*GetMySidEntryAttributeResponse)(nil), // 19: lemming.dataplane.sai.GetMySidEntryAttributeResponse - (*CreateMySidEntriesRequest)(nil), // 20: lemming.dataplane.sai.CreateMySidEntriesRequest - (*CreateMySidEntriesResponse)(nil), // 21: lemming.dataplane.sai.CreateMySidEntriesResponse - (Srv6SidlistType)(0), // 22: lemming.dataplane.sai.Srv6SidlistType - (*TLVEntry)(nil), // 23: lemming.dataplane.sai.TLVEntry - (*Srv6SidlistAttribute)(nil), // 24: lemming.dataplane.sai.Srv6SidlistAttribute - (*MySidEntry)(nil), // 25: lemming.dataplane.sai.MySidEntry - (MySidEntryEndpointBehavior)(0), // 26: lemming.dataplane.sai.MySidEntryEndpointBehavior - (MySidEntryEndpointBehaviorFlavor)(0), // 27: lemming.dataplane.sai.MySidEntryEndpointBehaviorFlavor - (PacketAction)(0), // 28: lemming.dataplane.sai.PacketAction - (*MySidEntryAttribute)(nil), // 29: lemming.dataplane.sai.MySidEntryAttribute + (*RemoveSrv6SidlistsRequest)(nil), // 12: lemming.dataplane.sai.RemoveSrv6SidlistsRequest + (*RemoveSrv6SidlistsResponse)(nil), // 13: lemming.dataplane.sai.RemoveSrv6SidlistsResponse + (*CreateMySidEntryRequest)(nil), // 14: lemming.dataplane.sai.CreateMySidEntryRequest + (*CreateMySidEntryResponse)(nil), // 15: lemming.dataplane.sai.CreateMySidEntryResponse + (*RemoveMySidEntryRequest)(nil), // 16: lemming.dataplane.sai.RemoveMySidEntryRequest + (*RemoveMySidEntryResponse)(nil), // 17: lemming.dataplane.sai.RemoveMySidEntryResponse + (*SetMySidEntryAttributeRequest)(nil), // 18: lemming.dataplane.sai.SetMySidEntryAttributeRequest + (*SetMySidEntryAttributeResponse)(nil), // 19: lemming.dataplane.sai.SetMySidEntryAttributeResponse + (*GetMySidEntryAttributeRequest)(nil), // 20: lemming.dataplane.sai.GetMySidEntryAttributeRequest + (*GetMySidEntryAttributeResponse)(nil), // 21: lemming.dataplane.sai.GetMySidEntryAttributeResponse + (*CreateMySidEntriesRequest)(nil), // 22: lemming.dataplane.sai.CreateMySidEntriesRequest + (*CreateMySidEntriesResponse)(nil), // 23: lemming.dataplane.sai.CreateMySidEntriesResponse + (*RemoveMySidEntriesRequest)(nil), // 24: lemming.dataplane.sai.RemoveMySidEntriesRequest + (*RemoveMySidEntriesResponse)(nil), // 25: lemming.dataplane.sai.RemoveMySidEntriesResponse + (Srv6SidlistType)(0), // 26: lemming.dataplane.sai.Srv6SidlistType + (*TLVEntry)(nil), // 27: lemming.dataplane.sai.TLVEntry + (*Srv6SidlistAttribute)(nil), // 28: lemming.dataplane.sai.Srv6SidlistAttribute + (*MySidEntry)(nil), // 29: lemming.dataplane.sai.MySidEntry + (MySidEntryEndpointBehavior)(0), // 30: lemming.dataplane.sai.MySidEntryEndpointBehavior + (MySidEntryEndpointBehaviorFlavor)(0), // 31: lemming.dataplane.sai.MySidEntryEndpointBehaviorFlavor + (PacketAction)(0), // 32: lemming.dataplane.sai.PacketAction + (*MySidEntryAttribute)(nil), // 33: lemming.dataplane.sai.MySidEntryAttribute } var file_dataplane_proto_sai_srv6_proto_depIdxs = []int32{ - 22, // 0: lemming.dataplane.sai.CreateSrv6SidlistRequest.type:type_name -> lemming.dataplane.sai.Srv6SidlistType - 23, // 1: lemming.dataplane.sai.CreateSrv6SidlistRequest.tlv_list:type_name -> lemming.dataplane.sai.TLVEntry - 23, // 2: lemming.dataplane.sai.SetSrv6SidlistAttributeRequest.tlv_list:type_name -> lemming.dataplane.sai.TLVEntry + 26, // 0: lemming.dataplane.sai.CreateSrv6SidlistRequest.type:type_name -> lemming.dataplane.sai.Srv6SidlistType + 27, // 1: lemming.dataplane.sai.CreateSrv6SidlistRequest.tlv_list:type_name -> lemming.dataplane.sai.TLVEntry + 27, // 2: lemming.dataplane.sai.SetSrv6SidlistAttributeRequest.tlv_list:type_name -> lemming.dataplane.sai.TLVEntry 0, // 3: lemming.dataplane.sai.GetSrv6SidlistAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.Srv6SidlistAttr - 24, // 4: lemming.dataplane.sai.GetSrv6SidlistAttributeResponse.attr:type_name -> lemming.dataplane.sai.Srv6SidlistAttribute + 28, // 4: lemming.dataplane.sai.GetSrv6SidlistAttributeResponse.attr:type_name -> lemming.dataplane.sai.Srv6SidlistAttribute 2, // 5: lemming.dataplane.sai.CreateSrv6SidlistsRequest.reqs:type_name -> lemming.dataplane.sai.CreateSrv6SidlistRequest 3, // 6: lemming.dataplane.sai.CreateSrv6SidlistsResponse.resps:type_name -> lemming.dataplane.sai.CreateSrv6SidlistResponse - 25, // 7: lemming.dataplane.sai.CreateMySidEntryRequest.entry:type_name -> lemming.dataplane.sai.MySidEntry - 26, // 8: lemming.dataplane.sai.CreateMySidEntryRequest.endpoint_behavior:type_name -> lemming.dataplane.sai.MySidEntryEndpointBehavior - 27, // 9: lemming.dataplane.sai.CreateMySidEntryRequest.endpoint_behavior_flavor:type_name -> lemming.dataplane.sai.MySidEntryEndpointBehaviorFlavor - 28, // 10: lemming.dataplane.sai.CreateMySidEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 25, // 11: lemming.dataplane.sai.RemoveMySidEntryRequest.entry:type_name -> lemming.dataplane.sai.MySidEntry - 25, // 12: lemming.dataplane.sai.SetMySidEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.MySidEntry - 26, // 13: lemming.dataplane.sai.SetMySidEntryAttributeRequest.endpoint_behavior:type_name -> lemming.dataplane.sai.MySidEntryEndpointBehavior - 27, // 14: lemming.dataplane.sai.SetMySidEntryAttributeRequest.endpoint_behavior_flavor:type_name -> lemming.dataplane.sai.MySidEntryEndpointBehaviorFlavor - 28, // 15: lemming.dataplane.sai.SetMySidEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction - 25, // 16: lemming.dataplane.sai.GetMySidEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.MySidEntry - 1, // 17: lemming.dataplane.sai.GetMySidEntryAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.MySidEntryAttr - 29, // 18: lemming.dataplane.sai.GetMySidEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.MySidEntryAttribute - 12, // 19: lemming.dataplane.sai.CreateMySidEntriesRequest.reqs:type_name -> lemming.dataplane.sai.CreateMySidEntryRequest - 13, // 20: lemming.dataplane.sai.CreateMySidEntriesResponse.resps:type_name -> lemming.dataplane.sai.CreateMySidEntryResponse - 2, // 21: lemming.dataplane.sai.Srv6.CreateSrv6Sidlist:input_type -> lemming.dataplane.sai.CreateSrv6SidlistRequest - 4, // 22: lemming.dataplane.sai.Srv6.RemoveSrv6Sidlist:input_type -> lemming.dataplane.sai.RemoveSrv6SidlistRequest - 6, // 23: lemming.dataplane.sai.Srv6.SetSrv6SidlistAttribute:input_type -> lemming.dataplane.sai.SetSrv6SidlistAttributeRequest - 8, // 24: lemming.dataplane.sai.Srv6.GetSrv6SidlistAttribute:input_type -> lemming.dataplane.sai.GetSrv6SidlistAttributeRequest - 10, // 25: lemming.dataplane.sai.Srv6.CreateSrv6Sidlists:input_type -> lemming.dataplane.sai.CreateSrv6SidlistsRequest - 12, // 26: lemming.dataplane.sai.Srv6.CreateMySidEntry:input_type -> lemming.dataplane.sai.CreateMySidEntryRequest - 14, // 27: lemming.dataplane.sai.Srv6.RemoveMySidEntry:input_type -> lemming.dataplane.sai.RemoveMySidEntryRequest - 16, // 28: lemming.dataplane.sai.Srv6.SetMySidEntryAttribute:input_type -> lemming.dataplane.sai.SetMySidEntryAttributeRequest - 18, // 29: lemming.dataplane.sai.Srv6.GetMySidEntryAttribute:input_type -> lemming.dataplane.sai.GetMySidEntryAttributeRequest - 20, // 30: lemming.dataplane.sai.Srv6.CreateMySidEntries:input_type -> lemming.dataplane.sai.CreateMySidEntriesRequest - 3, // 31: lemming.dataplane.sai.Srv6.CreateSrv6Sidlist:output_type -> lemming.dataplane.sai.CreateSrv6SidlistResponse - 5, // 32: lemming.dataplane.sai.Srv6.RemoveSrv6Sidlist:output_type -> lemming.dataplane.sai.RemoveSrv6SidlistResponse - 7, // 33: lemming.dataplane.sai.Srv6.SetSrv6SidlistAttribute:output_type -> lemming.dataplane.sai.SetSrv6SidlistAttributeResponse - 9, // 34: lemming.dataplane.sai.Srv6.GetSrv6SidlistAttribute:output_type -> lemming.dataplane.sai.GetSrv6SidlistAttributeResponse - 11, // 35: lemming.dataplane.sai.Srv6.CreateSrv6Sidlists:output_type -> lemming.dataplane.sai.CreateSrv6SidlistsResponse - 13, // 36: lemming.dataplane.sai.Srv6.CreateMySidEntry:output_type -> lemming.dataplane.sai.CreateMySidEntryResponse - 15, // 37: lemming.dataplane.sai.Srv6.RemoveMySidEntry:output_type -> lemming.dataplane.sai.RemoveMySidEntryResponse - 17, // 38: lemming.dataplane.sai.Srv6.SetMySidEntryAttribute:output_type -> lemming.dataplane.sai.SetMySidEntryAttributeResponse - 19, // 39: lemming.dataplane.sai.Srv6.GetMySidEntryAttribute:output_type -> lemming.dataplane.sai.GetMySidEntryAttributeResponse - 21, // 40: lemming.dataplane.sai.Srv6.CreateMySidEntries:output_type -> lemming.dataplane.sai.CreateMySidEntriesResponse - 31, // [31:41] is the sub-list for method output_type - 21, // [21:31] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name + 4, // 7: lemming.dataplane.sai.RemoveSrv6SidlistsRequest.reqs:type_name -> lemming.dataplane.sai.RemoveSrv6SidlistRequest + 5, // 8: lemming.dataplane.sai.RemoveSrv6SidlistsResponse.resps:type_name -> lemming.dataplane.sai.RemoveSrv6SidlistResponse + 29, // 9: lemming.dataplane.sai.CreateMySidEntryRequest.entry:type_name -> lemming.dataplane.sai.MySidEntry + 30, // 10: lemming.dataplane.sai.CreateMySidEntryRequest.endpoint_behavior:type_name -> lemming.dataplane.sai.MySidEntryEndpointBehavior + 31, // 11: lemming.dataplane.sai.CreateMySidEntryRequest.endpoint_behavior_flavor:type_name -> lemming.dataplane.sai.MySidEntryEndpointBehaviorFlavor + 32, // 12: lemming.dataplane.sai.CreateMySidEntryRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 29, // 13: lemming.dataplane.sai.RemoveMySidEntryRequest.entry:type_name -> lemming.dataplane.sai.MySidEntry + 29, // 14: lemming.dataplane.sai.SetMySidEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.MySidEntry + 30, // 15: lemming.dataplane.sai.SetMySidEntryAttributeRequest.endpoint_behavior:type_name -> lemming.dataplane.sai.MySidEntryEndpointBehavior + 31, // 16: lemming.dataplane.sai.SetMySidEntryAttributeRequest.endpoint_behavior_flavor:type_name -> lemming.dataplane.sai.MySidEntryEndpointBehaviorFlavor + 32, // 17: lemming.dataplane.sai.SetMySidEntryAttributeRequest.packet_action:type_name -> lemming.dataplane.sai.PacketAction + 29, // 18: lemming.dataplane.sai.GetMySidEntryAttributeRequest.entry:type_name -> lemming.dataplane.sai.MySidEntry + 1, // 19: lemming.dataplane.sai.GetMySidEntryAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.MySidEntryAttr + 33, // 20: lemming.dataplane.sai.GetMySidEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.MySidEntryAttribute + 14, // 21: lemming.dataplane.sai.CreateMySidEntriesRequest.reqs:type_name -> lemming.dataplane.sai.CreateMySidEntryRequest + 15, // 22: lemming.dataplane.sai.CreateMySidEntriesResponse.resps:type_name -> lemming.dataplane.sai.CreateMySidEntryResponse + 16, // 23: lemming.dataplane.sai.RemoveMySidEntriesRequest.reqs:type_name -> lemming.dataplane.sai.RemoveMySidEntryRequest + 17, // 24: lemming.dataplane.sai.RemoveMySidEntriesResponse.resps:type_name -> lemming.dataplane.sai.RemoveMySidEntryResponse + 2, // 25: lemming.dataplane.sai.Srv6.CreateSrv6Sidlist:input_type -> lemming.dataplane.sai.CreateSrv6SidlistRequest + 4, // 26: lemming.dataplane.sai.Srv6.RemoveSrv6Sidlist:input_type -> lemming.dataplane.sai.RemoveSrv6SidlistRequest + 6, // 27: lemming.dataplane.sai.Srv6.SetSrv6SidlistAttribute:input_type -> lemming.dataplane.sai.SetSrv6SidlistAttributeRequest + 8, // 28: lemming.dataplane.sai.Srv6.GetSrv6SidlistAttribute:input_type -> lemming.dataplane.sai.GetSrv6SidlistAttributeRequest + 10, // 29: lemming.dataplane.sai.Srv6.CreateSrv6Sidlists:input_type -> lemming.dataplane.sai.CreateSrv6SidlistsRequest + 12, // 30: lemming.dataplane.sai.Srv6.RemoveSrv6Sidlists:input_type -> lemming.dataplane.sai.RemoveSrv6SidlistsRequest + 14, // 31: lemming.dataplane.sai.Srv6.CreateMySidEntry:input_type -> lemming.dataplane.sai.CreateMySidEntryRequest + 16, // 32: lemming.dataplane.sai.Srv6.RemoveMySidEntry:input_type -> lemming.dataplane.sai.RemoveMySidEntryRequest + 18, // 33: lemming.dataplane.sai.Srv6.SetMySidEntryAttribute:input_type -> lemming.dataplane.sai.SetMySidEntryAttributeRequest + 20, // 34: lemming.dataplane.sai.Srv6.GetMySidEntryAttribute:input_type -> lemming.dataplane.sai.GetMySidEntryAttributeRequest + 22, // 35: lemming.dataplane.sai.Srv6.CreateMySidEntries:input_type -> lemming.dataplane.sai.CreateMySidEntriesRequest + 24, // 36: lemming.dataplane.sai.Srv6.RemoveMySidEntries:input_type -> lemming.dataplane.sai.RemoveMySidEntriesRequest + 3, // 37: lemming.dataplane.sai.Srv6.CreateSrv6Sidlist:output_type -> lemming.dataplane.sai.CreateSrv6SidlistResponse + 5, // 38: lemming.dataplane.sai.Srv6.RemoveSrv6Sidlist:output_type -> lemming.dataplane.sai.RemoveSrv6SidlistResponse + 7, // 39: lemming.dataplane.sai.Srv6.SetSrv6SidlistAttribute:output_type -> lemming.dataplane.sai.SetSrv6SidlistAttributeResponse + 9, // 40: lemming.dataplane.sai.Srv6.GetSrv6SidlistAttribute:output_type -> lemming.dataplane.sai.GetSrv6SidlistAttributeResponse + 11, // 41: lemming.dataplane.sai.Srv6.CreateSrv6Sidlists:output_type -> lemming.dataplane.sai.CreateSrv6SidlistsResponse + 13, // 42: lemming.dataplane.sai.Srv6.RemoveSrv6Sidlists:output_type -> lemming.dataplane.sai.RemoveSrv6SidlistsResponse + 15, // 43: lemming.dataplane.sai.Srv6.CreateMySidEntry:output_type -> lemming.dataplane.sai.CreateMySidEntryResponse + 17, // 44: lemming.dataplane.sai.Srv6.RemoveMySidEntry:output_type -> lemming.dataplane.sai.RemoveMySidEntryResponse + 19, // 45: lemming.dataplane.sai.Srv6.SetMySidEntryAttribute:output_type -> lemming.dataplane.sai.SetMySidEntryAttributeResponse + 21, // 46: lemming.dataplane.sai.Srv6.GetMySidEntryAttribute:output_type -> lemming.dataplane.sai.GetMySidEntryAttributeResponse + 23, // 47: lemming.dataplane.sai.Srv6.CreateMySidEntries:output_type -> lemming.dataplane.sai.CreateMySidEntriesResponse + 25, // 48: lemming.dataplane.sai.Srv6.RemoveMySidEntries:output_type -> lemming.dataplane.sai.RemoveMySidEntriesResponse + 37, // [37:49] is the sub-list for method output_type + 25, // [25:37] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_srv6_proto_init() } @@ -1770,7 +2010,7 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateMySidEntryRequest); i { + switch v := v.(*RemoveSrv6SidlistsRequest); i { case 0: return &v.state case 1: @@ -1782,7 +2022,7 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateMySidEntryResponse); i { + switch v := v.(*RemoveSrv6SidlistsResponse); i { case 0: return &v.state case 1: @@ -1794,7 +2034,7 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveMySidEntryRequest); i { + switch v := v.(*CreateMySidEntryRequest); i { case 0: return &v.state case 1: @@ -1806,7 +2046,7 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveMySidEntryResponse); i { + switch v := v.(*CreateMySidEntryResponse); i { case 0: return &v.state case 1: @@ -1818,7 +2058,7 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMySidEntryAttributeRequest); i { + switch v := v.(*RemoveMySidEntryRequest); i { case 0: return &v.state case 1: @@ -1830,7 +2070,7 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetMySidEntryAttributeResponse); i { + switch v := v.(*RemoveMySidEntryResponse); i { case 0: return &v.state case 1: @@ -1842,7 +2082,7 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMySidEntryAttributeRequest); i { + switch v := v.(*SetMySidEntryAttributeRequest); i { case 0: return &v.state case 1: @@ -1854,7 +2094,7 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMySidEntryAttributeResponse); i { + switch v := v.(*SetMySidEntryAttributeResponse); i { case 0: return &v.state case 1: @@ -1866,7 +2106,7 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateMySidEntriesRequest); i { + switch v := v.(*GetMySidEntryAttributeRequest); i { case 0: return &v.state case 1: @@ -1878,6 +2118,30 @@ func file_dataplane_proto_sai_srv6_proto_init() { } } file_dataplane_proto_sai_srv6_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMySidEntryAttributeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_srv6_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMySidEntriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_srv6_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateMySidEntriesResponse); i { case 0: return &v.state @@ -1889,17 +2153,41 @@ func file_dataplane_proto_sai_srv6_proto_init() { return nil } } + file_dataplane_proto_sai_srv6_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveMySidEntriesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_srv6_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveMySidEntriesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_srv6_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_dataplane_proto_sai_srv6_proto_msgTypes[10].OneofWrappers = []interface{}{} - file_dataplane_proto_sai_srv6_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_dataplane_proto_sai_srv6_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_dataplane_proto_sai_srv6_proto_msgTypes[16].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_srv6_proto_rawDesc, NumEnums: 2, - NumMessages: 20, + NumMessages: 24, NumExtensions: 0, NumServices: 1, }, @@ -1931,11 +2219,13 @@ type Srv6Client interface { SetSrv6SidlistAttribute(ctx context.Context, in *SetSrv6SidlistAttributeRequest, opts ...grpc.CallOption) (*SetSrv6SidlistAttributeResponse, error) GetSrv6SidlistAttribute(ctx context.Context, in *GetSrv6SidlistAttributeRequest, opts ...grpc.CallOption) (*GetSrv6SidlistAttributeResponse, error) CreateSrv6Sidlists(ctx context.Context, in *CreateSrv6SidlistsRequest, opts ...grpc.CallOption) (*CreateSrv6SidlistsResponse, error) + RemoveSrv6Sidlists(ctx context.Context, in *RemoveSrv6SidlistsRequest, opts ...grpc.CallOption) (*RemoveSrv6SidlistsResponse, error) CreateMySidEntry(ctx context.Context, in *CreateMySidEntryRequest, opts ...grpc.CallOption) (*CreateMySidEntryResponse, error) RemoveMySidEntry(ctx context.Context, in *RemoveMySidEntryRequest, opts ...grpc.CallOption) (*RemoveMySidEntryResponse, error) SetMySidEntryAttribute(ctx context.Context, in *SetMySidEntryAttributeRequest, opts ...grpc.CallOption) (*SetMySidEntryAttributeResponse, error) GetMySidEntryAttribute(ctx context.Context, in *GetMySidEntryAttributeRequest, opts ...grpc.CallOption) (*GetMySidEntryAttributeResponse, error) CreateMySidEntries(ctx context.Context, in *CreateMySidEntriesRequest, opts ...grpc.CallOption) (*CreateMySidEntriesResponse, error) + RemoveMySidEntries(ctx context.Context, in *RemoveMySidEntriesRequest, opts ...grpc.CallOption) (*RemoveMySidEntriesResponse, error) } type srv6Client struct { @@ -1991,6 +2281,15 @@ func (c *srv6Client) CreateSrv6Sidlists(ctx context.Context, in *CreateSrv6Sidli return out, nil } +func (c *srv6Client) RemoveSrv6Sidlists(ctx context.Context, in *RemoveSrv6SidlistsRequest, opts ...grpc.CallOption) (*RemoveSrv6SidlistsResponse, error) { + out := new(RemoveSrv6SidlistsResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Srv6/RemoveSrv6Sidlists", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *srv6Client) CreateMySidEntry(ctx context.Context, in *CreateMySidEntryRequest, opts ...grpc.CallOption) (*CreateMySidEntryResponse, error) { out := new(CreateMySidEntryResponse) err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Srv6/CreateMySidEntry", in, out, opts...) @@ -2036,6 +2335,15 @@ func (c *srv6Client) CreateMySidEntries(ctx context.Context, in *CreateMySidEntr return out, nil } +func (c *srv6Client) RemoveMySidEntries(ctx context.Context, in *RemoveMySidEntriesRequest, opts ...grpc.CallOption) (*RemoveMySidEntriesResponse, error) { + out := new(RemoveMySidEntriesResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Srv6/RemoveMySidEntries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Srv6Server is the server API for Srv6 service. type Srv6Server interface { CreateSrv6Sidlist(context.Context, *CreateSrv6SidlistRequest) (*CreateSrv6SidlistResponse, error) @@ -2043,11 +2351,13 @@ type Srv6Server interface { SetSrv6SidlistAttribute(context.Context, *SetSrv6SidlistAttributeRequest) (*SetSrv6SidlistAttributeResponse, error) GetSrv6SidlistAttribute(context.Context, *GetSrv6SidlistAttributeRequest) (*GetSrv6SidlistAttributeResponse, error) CreateSrv6Sidlists(context.Context, *CreateSrv6SidlistsRequest) (*CreateSrv6SidlistsResponse, error) + RemoveSrv6Sidlists(context.Context, *RemoveSrv6SidlistsRequest) (*RemoveSrv6SidlistsResponse, error) CreateMySidEntry(context.Context, *CreateMySidEntryRequest) (*CreateMySidEntryResponse, error) RemoveMySidEntry(context.Context, *RemoveMySidEntryRequest) (*RemoveMySidEntryResponse, error) SetMySidEntryAttribute(context.Context, *SetMySidEntryAttributeRequest) (*SetMySidEntryAttributeResponse, error) GetMySidEntryAttribute(context.Context, *GetMySidEntryAttributeRequest) (*GetMySidEntryAttributeResponse, error) CreateMySidEntries(context.Context, *CreateMySidEntriesRequest) (*CreateMySidEntriesResponse, error) + RemoveMySidEntries(context.Context, *RemoveMySidEntriesRequest) (*RemoveMySidEntriesResponse, error) } // UnimplementedSrv6Server can be embedded to have forward compatible implementations. @@ -2069,6 +2379,9 @@ func (*UnimplementedSrv6Server) GetSrv6SidlistAttribute(context.Context, *GetSrv func (*UnimplementedSrv6Server) CreateSrv6Sidlists(context.Context, *CreateSrv6SidlistsRequest) (*CreateSrv6SidlistsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateSrv6Sidlists not implemented") } +func (*UnimplementedSrv6Server) RemoveSrv6Sidlists(context.Context, *RemoveSrv6SidlistsRequest) (*RemoveSrv6SidlistsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveSrv6Sidlists not implemented") +} func (*UnimplementedSrv6Server) CreateMySidEntry(context.Context, *CreateMySidEntryRequest) (*CreateMySidEntryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateMySidEntry not implemented") } @@ -2084,6 +2397,9 @@ func (*UnimplementedSrv6Server) GetMySidEntryAttribute(context.Context, *GetMySi func (*UnimplementedSrv6Server) CreateMySidEntries(context.Context, *CreateMySidEntriesRequest) (*CreateMySidEntriesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateMySidEntries not implemented") } +func (*UnimplementedSrv6Server) RemoveMySidEntries(context.Context, *RemoveMySidEntriesRequest) (*RemoveMySidEntriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveMySidEntries not implemented") +} func RegisterSrv6Server(s *grpc.Server, srv Srv6Server) { s.RegisterService(&_Srv6_serviceDesc, srv) @@ -2179,6 +2495,24 @@ func _Srv6_CreateSrv6Sidlists_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Srv6_RemoveSrv6Sidlists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveSrv6SidlistsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(Srv6Server).RemoveSrv6Sidlists(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Srv6/RemoveSrv6Sidlists", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(Srv6Server).RemoveSrv6Sidlists(ctx, req.(*RemoveSrv6SidlistsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Srv6_CreateMySidEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreateMySidEntryRequest) if err := dec(in); err != nil { @@ -2269,6 +2603,24 @@ func _Srv6_CreateMySidEntries_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Srv6_RemoveMySidEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveMySidEntriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(Srv6Server).RemoveMySidEntries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Srv6/RemoveMySidEntries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(Srv6Server).RemoveMySidEntries(ctx, req.(*RemoveMySidEntriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Srv6_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.Srv6", HandlerType: (*Srv6Server)(nil), @@ -2293,6 +2645,10 @@ var _Srv6_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateSrv6Sidlists", Handler: _Srv6_CreateSrv6Sidlists_Handler, }, + { + MethodName: "RemoveSrv6Sidlists", + Handler: _Srv6_RemoveSrv6Sidlists_Handler, + }, { MethodName: "CreateMySidEntry", Handler: _Srv6_CreateMySidEntry_Handler, @@ -2313,6 +2669,10 @@ var _Srv6_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateMySidEntries", Handler: _Srv6_CreateMySidEntries_Handler, }, + { + MethodName: "RemoveMySidEntries", + Handler: _Srv6_RemoveMySidEntries_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/srv6.proto", diff --git a/dataplane/proto/sai/srv6.proto b/dataplane/proto/sai/srv6.proto index b45aeb38..b3c5494d 100644 --- a/dataplane/proto/sai/srv6.proto +++ b/dataplane/proto/sai/srv6.proto @@ -69,6 +69,14 @@ message CreateSrv6SidlistsResponse { repeated CreateSrv6SidlistResponse resps = 1; } +message RemoveSrv6SidlistsRequest { + repeated RemoveSrv6SidlistRequest reqs = 1; +} + +message RemoveSrv6SidlistsResponse { + repeated RemoveSrv6SidlistResponse resps = 1; +} + message CreateMySidEntryRequest { option (sai_type) = OBJECT_TYPE_MY_SID_ENTRY; MySidEntry entry = 1; @@ -125,6 +133,14 @@ message CreateMySidEntriesResponse { repeated CreateMySidEntryResponse resps = 1; } +message RemoveMySidEntriesRequest { + repeated RemoveMySidEntryRequest reqs = 1; +} + +message RemoveMySidEntriesResponse { + repeated RemoveMySidEntryResponse resps = 1; +} + service Srv6 { rpc CreateSrv6Sidlist(CreateSrv6SidlistRequest) returns (CreateSrv6SidlistResponse) {} @@ -136,6 +152,8 @@ service Srv6 { returns (GetSrv6SidlistAttributeResponse) {} rpc CreateSrv6Sidlists(CreateSrv6SidlistsRequest) returns (CreateSrv6SidlistsResponse) {} + rpc RemoveSrv6Sidlists(RemoveSrv6SidlistsRequest) + returns (RemoveSrv6SidlistsResponse) {} rpc CreateMySidEntry(CreateMySidEntryRequest) returns (CreateMySidEntryResponse) {} rpc RemoveMySidEntry(RemoveMySidEntryRequest) @@ -146,4 +164,6 @@ service Srv6 { returns (GetMySidEntryAttributeResponse) {} rpc CreateMySidEntries(CreateMySidEntriesRequest) returns (CreateMySidEntriesResponse) {} + rpc RemoveMySidEntries(RemoveMySidEntriesRequest) + returns (RemoveMySidEntriesResponse) {} } diff --git a/dataplane/proto/sai/stp.pb.go b/dataplane/proto/sai/stp.pb.go index 366d4a83..e08df6ba 100644 --- a/dataplane/proto/sai/stp.pb.go +++ b/dataplane/proto/sai/stp.pb.go @@ -901,6 +901,100 @@ func (x *CreateStpPortsResponse) GetResps() []*CreateStpPortResponse { return nil } +type RemoveStpPortsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveStpPortRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveStpPortsRequest) Reset() { + *x = RemoveStpPortsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_stp_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveStpPortsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveStpPortsRequest) ProtoMessage() {} + +func (x *RemoveStpPortsRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_stp_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveStpPortsRequest.ProtoReflect.Descriptor instead. +func (*RemoveStpPortsRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_stp_proto_rawDescGZIP(), []int{16} +} + +func (x *RemoveStpPortsRequest) GetReqs() []*RemoveStpPortRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveStpPortsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveStpPortResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveStpPortsResponse) Reset() { + *x = RemoveStpPortsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_stp_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveStpPortsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveStpPortsResponse) ProtoMessage() {} + +func (x *RemoveStpPortsResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_stp_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveStpPortsResponse.ProtoReflect.Descriptor instead. +func (*RemoveStpPortsResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_stp_proto_rawDescGZIP(), []int{17} +} + +func (x *RemoveStpPortsResponse) GetResps() []*RemoveStpPortResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_stp_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_stp_proto_rawDesc = []byte{ @@ -987,82 +1081,100 @@ var file_dataplane_proto_sai_stp_proto_rawDesc = []byte{ 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, - 0x2a, 0x6b, 0x0a, 0x07, 0x53, 0x74, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x53, - 0x54, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x50, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, - 0x12, 0x53, 0x54, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, - 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x50, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x03, 0x2a, 0x7b, 0x0a, - 0x0b, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1d, 0x0a, 0x19, - 0x53, 0x54, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, - 0x54, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x54, 0x50, - 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, - 0x02, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x03, 0x32, 0x8a, 0x07, 0x0a, 0x03, 0x53, - 0x74, 0x70, 0x12, 0x60, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x12, - 0x27, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x09, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, - 0x70, 0x12, 0x27, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x53, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, - 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x0d, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2b, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x22, 0x58, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x72, 0x65, 0x71, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, 0x5c, 0x0a, 0x16, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0x6b, 0x0a, 0x07, 0x53, 0x74, 0x70, 0x41, + 0x74, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, + 0x12, 0x53, 0x54, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x4c, + 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x50, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x16, 0x0a, + 0x12, 0x53, 0x54, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4c, + 0x49, 0x53, 0x54, 0x10, 0x03, 0x2a, 0x7b, 0x0a, 0x0b, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, + 0x41, 0x74, 0x74, 0x72, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x54, 0x50, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x54, + 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, + 0x47, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x50, + 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x10, 0x03, 0x32, 0xfb, 0x07, 0x0a, 0x03, 0x53, 0x74, 0x70, 0x12, 0x60, 0x0a, 0x09, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x12, 0x27, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x09, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x12, 0x27, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, - 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x53, 0x74, 0x70, - 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x31, 0x2e, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x70, 0x50, - 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, - 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x31, 0x2e, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, + 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x53, 0x74, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x12, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, 0x50, - 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x1a, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x50, + 0x6f, 0x72, 0x74, 0x12, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x6c, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, + 0x0a, 0x13, 0x53, 0x65, 0x74, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, + 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, + 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x70, + 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x6f, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, + 0x73, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x53, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, + 0x70, 0x50, 0x6f, 0x72, 0x74, 0x73, 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, + 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1078,7 +1190,7 @@ func file_dataplane_proto_sai_stp_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_stp_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_dataplane_proto_sai_stp_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_dataplane_proto_sai_stp_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_dataplane_proto_sai_stp_proto_goTypes = []interface{}{ (StpAttr)(0), // 0: lemming.dataplane.sai.StpAttr (StpPortAttr)(0), // 1: lemming.dataplane.sai.StpPortAttr @@ -1098,40 +1210,46 @@ var file_dataplane_proto_sai_stp_proto_goTypes = []interface{}{ (*GetStpPortAttributeResponse)(nil), // 15: lemming.dataplane.sai.GetStpPortAttributeResponse (*CreateStpPortsRequest)(nil), // 16: lemming.dataplane.sai.CreateStpPortsRequest (*CreateStpPortsResponse)(nil), // 17: lemming.dataplane.sai.CreateStpPortsResponse - (*StpAttribute)(nil), // 18: lemming.dataplane.sai.StpAttribute - (StpPortState)(0), // 19: lemming.dataplane.sai.StpPortState - (*StpPortAttribute)(nil), // 20: lemming.dataplane.sai.StpPortAttribute + (*RemoveStpPortsRequest)(nil), // 18: lemming.dataplane.sai.RemoveStpPortsRequest + (*RemoveStpPortsResponse)(nil), // 19: lemming.dataplane.sai.RemoveStpPortsResponse + (*StpAttribute)(nil), // 20: lemming.dataplane.sai.StpAttribute + (StpPortState)(0), // 21: lemming.dataplane.sai.StpPortState + (*StpPortAttribute)(nil), // 22: lemming.dataplane.sai.StpPortAttribute } var file_dataplane_proto_sai_stp_proto_depIdxs = []int32{ 0, // 0: lemming.dataplane.sai.GetStpAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.StpAttr - 18, // 1: lemming.dataplane.sai.GetStpAttributeResponse.attr:type_name -> lemming.dataplane.sai.StpAttribute - 19, // 2: lemming.dataplane.sai.CreateStpPortRequest.state:type_name -> lemming.dataplane.sai.StpPortState - 19, // 3: lemming.dataplane.sai.SetStpPortAttributeRequest.state:type_name -> lemming.dataplane.sai.StpPortState + 20, // 1: lemming.dataplane.sai.GetStpAttributeResponse.attr:type_name -> lemming.dataplane.sai.StpAttribute + 21, // 2: lemming.dataplane.sai.CreateStpPortRequest.state:type_name -> lemming.dataplane.sai.StpPortState + 21, // 3: lemming.dataplane.sai.SetStpPortAttributeRequest.state:type_name -> lemming.dataplane.sai.StpPortState 1, // 4: lemming.dataplane.sai.GetStpPortAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.StpPortAttr - 20, // 5: lemming.dataplane.sai.GetStpPortAttributeResponse.attr:type_name -> lemming.dataplane.sai.StpPortAttribute + 22, // 5: lemming.dataplane.sai.GetStpPortAttributeResponse.attr:type_name -> lemming.dataplane.sai.StpPortAttribute 8, // 6: lemming.dataplane.sai.CreateStpPortsRequest.reqs:type_name -> lemming.dataplane.sai.CreateStpPortRequest 9, // 7: lemming.dataplane.sai.CreateStpPortsResponse.resps:type_name -> lemming.dataplane.sai.CreateStpPortResponse - 2, // 8: lemming.dataplane.sai.Stp.CreateStp:input_type -> lemming.dataplane.sai.CreateStpRequest - 4, // 9: lemming.dataplane.sai.Stp.RemoveStp:input_type -> lemming.dataplane.sai.RemoveStpRequest - 6, // 10: lemming.dataplane.sai.Stp.GetStpAttribute:input_type -> lemming.dataplane.sai.GetStpAttributeRequest - 8, // 11: lemming.dataplane.sai.Stp.CreateStpPort:input_type -> lemming.dataplane.sai.CreateStpPortRequest - 10, // 12: lemming.dataplane.sai.Stp.RemoveStpPort:input_type -> lemming.dataplane.sai.RemoveStpPortRequest - 12, // 13: lemming.dataplane.sai.Stp.SetStpPortAttribute:input_type -> lemming.dataplane.sai.SetStpPortAttributeRequest - 14, // 14: lemming.dataplane.sai.Stp.GetStpPortAttribute:input_type -> lemming.dataplane.sai.GetStpPortAttributeRequest - 16, // 15: lemming.dataplane.sai.Stp.CreateStpPorts:input_type -> lemming.dataplane.sai.CreateStpPortsRequest - 3, // 16: lemming.dataplane.sai.Stp.CreateStp:output_type -> lemming.dataplane.sai.CreateStpResponse - 5, // 17: lemming.dataplane.sai.Stp.RemoveStp:output_type -> lemming.dataplane.sai.RemoveStpResponse - 7, // 18: lemming.dataplane.sai.Stp.GetStpAttribute:output_type -> lemming.dataplane.sai.GetStpAttributeResponse - 9, // 19: lemming.dataplane.sai.Stp.CreateStpPort:output_type -> lemming.dataplane.sai.CreateStpPortResponse - 11, // 20: lemming.dataplane.sai.Stp.RemoveStpPort:output_type -> lemming.dataplane.sai.RemoveStpPortResponse - 13, // 21: lemming.dataplane.sai.Stp.SetStpPortAttribute:output_type -> lemming.dataplane.sai.SetStpPortAttributeResponse - 15, // 22: lemming.dataplane.sai.Stp.GetStpPortAttribute:output_type -> lemming.dataplane.sai.GetStpPortAttributeResponse - 17, // 23: lemming.dataplane.sai.Stp.CreateStpPorts:output_type -> lemming.dataplane.sai.CreateStpPortsResponse - 16, // [16:24] is the sub-list for method output_type - 8, // [8:16] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 10, // 8: lemming.dataplane.sai.RemoveStpPortsRequest.reqs:type_name -> lemming.dataplane.sai.RemoveStpPortRequest + 11, // 9: lemming.dataplane.sai.RemoveStpPortsResponse.resps:type_name -> lemming.dataplane.sai.RemoveStpPortResponse + 2, // 10: lemming.dataplane.sai.Stp.CreateStp:input_type -> lemming.dataplane.sai.CreateStpRequest + 4, // 11: lemming.dataplane.sai.Stp.RemoveStp:input_type -> lemming.dataplane.sai.RemoveStpRequest + 6, // 12: lemming.dataplane.sai.Stp.GetStpAttribute:input_type -> lemming.dataplane.sai.GetStpAttributeRequest + 8, // 13: lemming.dataplane.sai.Stp.CreateStpPort:input_type -> lemming.dataplane.sai.CreateStpPortRequest + 10, // 14: lemming.dataplane.sai.Stp.RemoveStpPort:input_type -> lemming.dataplane.sai.RemoveStpPortRequest + 12, // 15: lemming.dataplane.sai.Stp.SetStpPortAttribute:input_type -> lemming.dataplane.sai.SetStpPortAttributeRequest + 14, // 16: lemming.dataplane.sai.Stp.GetStpPortAttribute:input_type -> lemming.dataplane.sai.GetStpPortAttributeRequest + 16, // 17: lemming.dataplane.sai.Stp.CreateStpPorts:input_type -> lemming.dataplane.sai.CreateStpPortsRequest + 18, // 18: lemming.dataplane.sai.Stp.RemoveStpPorts:input_type -> lemming.dataplane.sai.RemoveStpPortsRequest + 3, // 19: lemming.dataplane.sai.Stp.CreateStp:output_type -> lemming.dataplane.sai.CreateStpResponse + 5, // 20: lemming.dataplane.sai.Stp.RemoveStp:output_type -> lemming.dataplane.sai.RemoveStpResponse + 7, // 21: lemming.dataplane.sai.Stp.GetStpAttribute:output_type -> lemming.dataplane.sai.GetStpAttributeResponse + 9, // 22: lemming.dataplane.sai.Stp.CreateStpPort:output_type -> lemming.dataplane.sai.CreateStpPortResponse + 11, // 23: lemming.dataplane.sai.Stp.RemoveStpPort:output_type -> lemming.dataplane.sai.RemoveStpPortResponse + 13, // 24: lemming.dataplane.sai.Stp.SetStpPortAttribute:output_type -> lemming.dataplane.sai.SetStpPortAttributeResponse + 15, // 25: lemming.dataplane.sai.Stp.GetStpPortAttribute:output_type -> lemming.dataplane.sai.GetStpPortAttributeResponse + 17, // 26: lemming.dataplane.sai.Stp.CreateStpPorts:output_type -> lemming.dataplane.sai.CreateStpPortsResponse + 19, // 27: lemming.dataplane.sai.Stp.RemoveStpPorts:output_type -> lemming.dataplane.sai.RemoveStpPortsResponse + 19, // [19:28] is the sub-list for method output_type + 10, // [10:19] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_stp_proto_init() } @@ -1333,6 +1451,30 @@ func file_dataplane_proto_sai_stp_proto_init() { return nil } } + file_dataplane_proto_sai_stp_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveStpPortsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_stp_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveStpPortsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_stp_proto_msgTypes[6].OneofWrappers = []interface{}{} file_dataplane_proto_sai_stp_proto_msgTypes[10].OneofWrappers = []interface{}{} @@ -1342,7 +1484,7 @@ func file_dataplane_proto_sai_stp_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_stp_proto_rawDesc, NumEnums: 2, - NumMessages: 16, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, @@ -1377,6 +1519,7 @@ type StpClient interface { SetStpPortAttribute(ctx context.Context, in *SetStpPortAttributeRequest, opts ...grpc.CallOption) (*SetStpPortAttributeResponse, error) GetStpPortAttribute(ctx context.Context, in *GetStpPortAttributeRequest, opts ...grpc.CallOption) (*GetStpPortAttributeResponse, error) CreateStpPorts(ctx context.Context, in *CreateStpPortsRequest, opts ...grpc.CallOption) (*CreateStpPortsResponse, error) + RemoveStpPorts(ctx context.Context, in *RemoveStpPortsRequest, opts ...grpc.CallOption) (*RemoveStpPortsResponse, error) } type stpClient struct { @@ -1459,6 +1602,15 @@ func (c *stpClient) CreateStpPorts(ctx context.Context, in *CreateStpPortsReques return out, nil } +func (c *stpClient) RemoveStpPorts(ctx context.Context, in *RemoveStpPortsRequest, opts ...grpc.CallOption) (*RemoveStpPortsResponse, error) { + out := new(RemoveStpPortsResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Stp/RemoveStpPorts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // StpServer is the server API for Stp service. type StpServer interface { CreateStp(context.Context, *CreateStpRequest) (*CreateStpResponse, error) @@ -1469,6 +1621,7 @@ type StpServer interface { SetStpPortAttribute(context.Context, *SetStpPortAttributeRequest) (*SetStpPortAttributeResponse, error) GetStpPortAttribute(context.Context, *GetStpPortAttributeRequest) (*GetStpPortAttributeResponse, error) CreateStpPorts(context.Context, *CreateStpPortsRequest) (*CreateStpPortsResponse, error) + RemoveStpPorts(context.Context, *RemoveStpPortsRequest) (*RemoveStpPortsResponse, error) } // UnimplementedStpServer can be embedded to have forward compatible implementations. @@ -1499,6 +1652,9 @@ func (*UnimplementedStpServer) GetStpPortAttribute(context.Context, *GetStpPortA func (*UnimplementedStpServer) CreateStpPorts(context.Context, *CreateStpPortsRequest) (*CreateStpPortsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateStpPorts not implemented") } +func (*UnimplementedStpServer) RemoveStpPorts(context.Context, *RemoveStpPortsRequest) (*RemoveStpPortsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveStpPorts not implemented") +} func RegisterStpServer(s *grpc.Server, srv StpServer) { s.RegisterService(&_Stp_serviceDesc, srv) @@ -1648,6 +1804,24 @@ func _Stp_CreateStpPorts_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Stp_RemoveStpPorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveStpPortsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(StpServer).RemoveStpPorts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Stp/RemoveStpPorts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(StpServer).RemoveStpPorts(ctx, req.(*RemoveStpPortsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Stp_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.Stp", HandlerType: (*StpServer)(nil), @@ -1684,6 +1858,10 @@ var _Stp_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateStpPorts", Handler: _Stp_CreateStpPorts_Handler, }, + { + MethodName: "RemoveStpPorts", + Handler: _Stp_RemoveStpPorts_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/stp.proto", diff --git a/dataplane/proto/sai/stp.proto b/dataplane/proto/sai/stp.proto index 916c489d..3dade73f 100644 --- a/dataplane/proto/sai/stp.proto +++ b/dataplane/proto/sai/stp.proto @@ -87,6 +87,14 @@ message CreateStpPortsResponse { repeated CreateStpPortResponse resps = 1; } +message RemoveStpPortsRequest { + repeated RemoveStpPortRequest reqs = 1; +} + +message RemoveStpPortsResponse { + repeated RemoveStpPortResponse resps = 1; +} + service Stp { rpc CreateStp(CreateStpRequest) returns (CreateStpResponse) {} rpc RemoveStp(RemoveStpRequest) returns (RemoveStpResponse) {} @@ -99,4 +107,5 @@ service Stp { rpc GetStpPortAttribute(GetStpPortAttributeRequest) returns (GetStpPortAttributeResponse) {} rpc CreateStpPorts(CreateStpPortsRequest) returns (CreateStpPortsResponse) {} + rpc RemoveStpPorts(RemoveStpPortsRequest) returns (RemoveStpPortsResponse) {} } diff --git a/dataplane/proto/sai/tunnel.pb.go b/dataplane/proto/sai/tunnel.pb.go index 18c73bc0..cb18dcfc 100644 --- a/dataplane/proto/sai/tunnel.pb.go +++ b/dataplane/proto/sai/tunnel.pb.go @@ -2452,6 +2452,100 @@ func (x *CreateTunnelsResponse) GetResps() []*CreateTunnelResponse { return nil } +type RemoveTunnelsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveTunnelRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveTunnelsRequest) Reset() { + *x = RemoveTunnelsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_tunnel_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveTunnelsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveTunnelsRequest) ProtoMessage() {} + +func (x *RemoveTunnelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_tunnel_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveTunnelsRequest.ProtoReflect.Descriptor instead. +func (*RemoveTunnelsRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_tunnel_proto_rawDescGZIP(), []int{32} +} + +func (x *RemoveTunnelsRequest) GetReqs() []*RemoveTunnelRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveTunnelsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveTunnelResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveTunnelsResponse) Reset() { + *x = RemoveTunnelsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_tunnel_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveTunnelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveTunnelsResponse) ProtoMessage() {} + +func (x *RemoveTunnelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_tunnel_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveTunnelsResponse.ProtoReflect.Descriptor instead. +func (*RemoveTunnelsResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_tunnel_proto_rawDescGZIP(), []int{33} +} + +func (x *RemoveTunnelsResponse) GetResps() []*RemoveTunnelResponse { + if x != nil { + return x.Resps + } + return nil +} + var File_dataplane_proto_sai_tunnel_proto protoreflect.FileDescriptor var file_dataplane_proto_sai_tunnel_proto_rawDesc = []byte{ @@ -2981,295 +3075,313 @@ var file_dataplane_proto_sai_tunnel_proto_rawDesc = []byte{ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0x6a, 0x0a, 0x0d, 0x54, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1f, 0x0a, 0x1b, 0x54, - 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, - 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, - 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, - 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x2a, 0xc1, 0x08, 0x0a, 0x0a, 0x54, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x55, 0x4e, 0x4e, - 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x52, 0x4c, 0x41, 0x59, - 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, - 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x56, 0x45, 0x52, - 0x4c, 0x41, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x03, 0x12, - 0x19, 0x0a, 0x15, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x50, - 0x45, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x54, 0x55, + 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, 0x56, 0x0a, 0x14, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x72, 0x65, 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, + 0x71, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x72, + 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x2a, 0x6a, + 0x0a, 0x0d, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x12, + 0x1f, 0x0a, 0x1b, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x18, 0x0a, 0x14, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, + 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x2a, 0xc1, 0x08, 0x0a, 0x0a, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x55, 0x4e, + 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, + 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x52, 0x4c, 0x41, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x02, + 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x41, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, + 0x45, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x04, 0x12, 0x1c, + 0x0a, 0x18, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, + 0x43, 0x41, 0x50, 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x49, 0x50, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, + 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, + 0x50, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x49, 0x50, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, - 0x53, 0x52, 0x43, 0x5f, 0x49, 0x50, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x54, 0x55, 0x4e, 0x4e, - 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x44, 0x53, - 0x54, 0x5f, 0x49, 0x50, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x54, 0x54, 0x4c, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x54, 0x54, 0x4c, 0x5f, - 0x56, 0x41, 0x4c, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x09, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x44, 0x53, 0x43, 0x50, - 0x5f, 0x56, 0x41, 0x4c, 0x10, 0x0a, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x47, 0x52, 0x45, 0x5f, - 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x54, - 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, - 0x5f, 0x47, 0x52, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, + 0x54, 0x54, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, - 0x45, 0x43, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0d, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x55, + 0x54, 0x54, 0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x55, 0x4e, + 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x44, + 0x53, 0x43, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x09, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, - 0x4d, 0x41, 0x50, 0x50, 0x45, 0x52, 0x53, 0x10, 0x0e, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, 0x4e, - 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x41, 0x50, 0x5f, 0x45, - 0x43, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0f, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x55, 0x4e, - 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x41, 0x50, 0x5f, 0x4d, - 0x41, 0x50, 0x50, 0x45, 0x52, 0x53, 0x10, 0x10, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, 0x4e, 0x4e, - 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x41, 0x50, 0x5f, 0x54, 0x54, - 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x11, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x55, 0x4e, 0x4e, - 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x41, 0x50, 0x5f, 0x44, 0x53, - 0x43, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x12, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x55, 0x4e, - 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x13, - 0x12, 0x26, 0x0a, 0x22, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x14, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x55, 0x4e, 0x4e, - 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x58, 0x4c, 0x41, 0x4e, 0x5f, 0x55, 0x44, - 0x50, 0x5f, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x15, 0x12, 0x1f, - 0x0a, 0x1b, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x58, - 0x4c, 0x41, 0x4e, 0x5f, 0x55, 0x44, 0x50, 0x5f, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x16, 0x12, - 0x24, 0x0a, 0x20, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, - 0x58, 0x4c, 0x41, 0x4e, 0x5f, 0x55, 0x44, 0x50, 0x5f, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, - 0x41, 0x53, 0x4b, 0x10, 0x17, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x41, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x18, 0x12, - 0x22, 0x0a, 0x1e, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, - 0x50, 0x53, 0x45, 0x43, 0x5f, 0x53, 0x41, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4c, 0x49, 0x53, - 0x54, 0x10, 0x19, 0x12, 0x32, 0x0a, 0x2e, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, - 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x53, 0x43, - 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x1a, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x55, 0x4e, 0x4e, 0x45, - 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x51, 0x4f, 0x53, - 0x5f, 0x54, 0x43, 0x5f, 0x54, 0x4f, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x4d, 0x41, 0x50, - 0x10, 0x1b, 0x12, 0x28, 0x0a, 0x24, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x44, 0x45, 0x43, 0x41, 0x50, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x44, 0x53, 0x43, 0x50, - 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x43, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x1c, 0x12, 0x32, 0x0a, 0x2e, + 0x44, 0x53, 0x43, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x10, 0x0a, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x55, + 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, + 0x47, 0x52, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x0b, 0x12, + 0x1d, 0x0a, 0x19, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, + 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x47, 0x52, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x0c, 0x12, 0x1e, + 0x0a, 0x1a, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, + 0x43, 0x41, 0x50, 0x5f, 0x45, 0x43, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0d, 0x12, 0x1d, + 0x0a, 0x19, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, + 0x43, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x45, 0x52, 0x53, 0x10, 0x0e, 0x12, 0x1e, 0x0a, + 0x1a, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x43, + 0x41, 0x50, 0x5f, 0x45, 0x43, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x0f, 0x12, 0x1d, 0x0a, + 0x19, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x43, + 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x45, 0x52, 0x53, 0x10, 0x10, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x41, - 0x50, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x52, 0x49, 0x4f, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x1d, - 0x12, 0x28, 0x0a, 0x24, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x56, 0x58, 0x4c, 0x41, 0x4e, 0x5f, 0x55, 0x44, 0x50, 0x5f, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x10, 0x1e, 0x2a, 0x88, 0x04, 0x0a, 0x18, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x55, 0x4e, 0x4e, 0x45, - 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, - 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, - 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x52, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x25, 0x0a, - 0x21, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, - 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x49, 0x50, 0x10, 0x03, 0x12, 0x2c, 0x0a, - 0x28, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x53, - 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x04, 0x12, 0x27, 0x0a, 0x23, 0x54, + 0x50, 0x5f, 0x54, 0x54, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x11, 0x12, 0x1f, 0x0a, 0x1b, + 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x41, + 0x50, 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x12, 0x12, 0x25, 0x0a, + 0x21, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x45, 0x52, + 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x4c, 0x49, + 0x53, 0x54, 0x10, 0x13, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x14, 0x12, 0x24, 0x0a, 0x20, + 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x58, 0x4c, 0x41, + 0x4e, 0x5f, 0x55, 0x44, 0x50, 0x5f, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x10, 0x15, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x56, 0x58, 0x4c, 0x41, 0x4e, 0x5f, 0x55, 0x44, 0x50, 0x5f, 0x53, 0x50, 0x4f, 0x52, + 0x54, 0x10, 0x16, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x56, 0x58, 0x4c, 0x41, 0x4e, 0x5f, 0x55, 0x44, 0x50, 0x5f, 0x53, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x17, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x55, 0x4e, + 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x41, 0x5f, 0x49, 0x4e, 0x44, 0x45, + 0x58, 0x10, 0x18, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x49, 0x50, 0x53, 0x45, 0x43, 0x5f, 0x53, 0x41, 0x5f, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x19, 0x12, 0x32, 0x0a, 0x2e, 0x54, 0x55, 0x4e, 0x4e, 0x45, + 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x5f, 0x51, 0x4f, 0x53, + 0x5f, 0x54, 0x43, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x54, 0x4f, + 0x5f, 0x44, 0x53, 0x43, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x1a, 0x12, 0x29, 0x0a, 0x25, 0x54, + 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, + 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x54, 0x4f, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, + 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x1b, 0x12, 0x28, 0x0a, 0x24, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x41, 0x50, 0x5f, 0x51, 0x4f, 0x53, 0x5f, + 0x44, 0x53, 0x43, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x43, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x1c, + 0x12, 0x32, 0x0a, 0x2e, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x44, 0x45, 0x43, 0x41, 0x50, 0x5f, 0x51, 0x4f, 0x53, 0x5f, 0x54, 0x43, 0x5f, 0x54, 0x4f, 0x5f, + 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, + 0x41, 0x50, 0x10, 0x1d, 0x12, 0x28, 0x0a, 0x24, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x56, 0x58, 0x4c, 0x41, 0x4e, 0x5f, 0x55, 0x44, 0x50, 0x5f, 0x53, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x10, 0x1e, 0x2a, 0x88, + 0x04, 0x0a, 0x18, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, - 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x52, 0x43, 0x5f, - 0x49, 0x50, 0x10, 0x05, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, + 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x55, 0x4e, + 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, + 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x52, 0x5f, 0x49, 0x44, 0x10, + 0x01, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, + 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x55, 0x4e, 0x4e, + 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x49, 0x50, 0x10, + 0x03, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, + 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x44, 0x53, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x04, 0x12, + 0x27, 0x0a, 0x23, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x53, 0x52, 0x43, 0x5f, 0x49, 0x50, 0x10, 0x05, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x55, 0x4e, 0x4e, + 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x49, 0x50, 0x5f, + 0x4d, 0x41, 0x53, 0x4b, 0x10, 0x06, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, + 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, + 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0x07, 0x12, 0x31, 0x0a, 0x2d, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x52, 0x43, 0x5f, 0x49, 0x50, 0x5f, 0x4d, 0x41, 0x53, 0x4b, - 0x10, 0x06, 0x12, 0x2c, 0x0a, 0x28, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, - 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x07, - 0x12, 0x31, 0x0a, 0x2d, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, - 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x49, - 0x44, 0x10, 0x08, 0x12, 0x2f, 0x0a, 0x2b, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, 0x45, - 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x46, 0x41, 0x4d, 0x49, - 0x4c, 0x59, 0x10, 0x09, 0x12, 0x2f, 0x0a, 0x2b, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x54, - 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x53, 0x45, 0x43, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x0a, 0x2a, 0xc6, 0x05, 0x0a, 0x12, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, - 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x25, 0x0a, 0x21, - 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, - 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, - 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x01, 0x12, 0x24, - 0x0a, 0x20, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, - 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, - 0x41, 0x50, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, - 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x45, - 0x43, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x55, 0x4e, 0x4e, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x55, 0x4e, 0x4e, + 0x45, 0x4c, 0x5f, 0x49, 0x44, 0x10, 0x08, 0x12, 0x2f, 0x0a, 0x2b, 0x54, 0x55, 0x4e, 0x4e, 0x45, + 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, 0x54, + 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, + 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x10, 0x09, 0x12, 0x2f, 0x0a, 0x2b, 0x54, 0x55, 0x4e, 0x4e, + 0x45, 0x4c, 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x53, 0x45, 0x43, 0x5f, 0x56, + 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x0a, 0x2a, 0xc6, 0x05, 0x0a, 0x12, 0x54, 0x75, + 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, + 0x12, 0x25, 0x0a, 0x21, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, + 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x55, 0x4e, 0x4e, 0x45, + 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, + 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x55, 0x4e, 0x4e, + 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x4f, 0x45, 0x43, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x04, 0x12, 0x22, - 0x0a, 0x1e, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, - 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x45, 0x43, 0x4e, 0x5f, 0x4b, 0x45, 0x59, - 0x10, 0x05, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, + 0x52, 0x5f, 0x4f, 0x45, 0x43, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, + 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4f, 0x45, 0x43, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, + 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x45, 0x43, 0x4e, - 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x06, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x55, 0x4e, 0x4e, - 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x07, 0x12, - 0x27, 0x0a, 0x23, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, - 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x49, 0x44, - 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x08, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x55, 0x4e, 0x4e, - 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x56, 0x4e, 0x49, 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x09, 0x12, 0x26, - 0x0a, 0x22, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, - 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4e, 0x49, 0x5f, 0x49, 0x44, 0x5f, 0x56, - 0x41, 0x4c, 0x55, 0x45, 0x10, 0x0a, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, + 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x05, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x0b, 0x12, - 0x29, 0x0a, 0x25, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, - 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, - 0x49, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x0c, 0x12, 0x2f, 0x0a, 0x2b, 0x54, 0x55, + 0x55, 0x45, 0x43, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x06, 0x12, 0x25, 0x0a, 0x21, + 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x45, + 0x59, 0x10, 0x07, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, + 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4c, 0x41, + 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x08, 0x12, 0x24, 0x0a, 0x20, + 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4e, 0x49, 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, + 0x10, 0x09, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, + 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4e, 0x49, 0x5f, + 0x49, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x0a, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x54, - 0x45, 0x52, 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x0d, 0x12, 0x31, 0x0a, 0x2d, 0x54, - 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x0e, 0x12, 0x25, - 0x0a, 0x21, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, - 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x53, 0x49, 0x44, 0x5f, 0x49, 0x44, 0x5f, - 0x4b, 0x45, 0x59, 0x10, 0x0f, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, - 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, - 0x53, 0x49, 0x44, 0x5f, 0x49, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x10, 0x32, 0xc0, - 0x10, 0x0a, 0x06, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x72, 0x0a, 0x0f, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x2d, 0x2e, 0x6c, - 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, - 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, + 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x45, + 0x59, 0x10, 0x0b, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, + 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x49, + 0x44, 0x47, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x0c, 0x12, 0x2f, + 0x0a, 0x2b, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, + 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, + 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x0d, 0x12, + 0x31, 0x0a, 0x2d, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, + 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, + 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, + 0x10, 0x0e, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, + 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x53, 0x49, 0x44, + 0x5f, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x0f, 0x12, 0x27, 0x0a, 0x23, 0x54, 0x55, 0x4e, + 0x4e, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x56, 0x53, 0x49, 0x44, 0x5f, 0x49, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, + 0x10, 0x10, 0x32, 0xae, 0x11, 0x0a, 0x06, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x72, 0x0a, + 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, - 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, - 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x12, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x00, 0x12, 0x72, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, - 0x0a, 0x12, 0x53, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, - 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, - 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0c, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2a, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, - 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x93, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, - 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, - 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, - 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa5, 0x01, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3e, 0x2e, 0x6c, 0x65, 0x6d, + 0x2e, 0x53, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x6c, 0x65, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa5, 0x01, - 0x0a, 0x20, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x3e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, + 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x7b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2c, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x93, 0x01, + 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, + 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x38, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x32, + 0x72, 0x79, 0x12, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa5, 0x01, 0x0a, 0x20, 0x53, 0x65, + 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, + 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0xa5, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x65, 0x72, 0x6d, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, + 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, + 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x32, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x93, 0x01, - 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x6c, - 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, - 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, + 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x93, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, + 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x12, 0x38, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, + 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 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, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, + 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3285,7 +3397,7 @@ func file_dataplane_proto_sai_tunnel_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_tunnel_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_dataplane_proto_sai_tunnel_proto_msgTypes = make([]protoimpl.MessageInfo, 32) +var file_dataplane_proto_sai_tunnel_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_dataplane_proto_sai_tunnel_proto_goTypes = []interface{}{ (TunnelMapAttr)(0), // 0: lemming.dataplane.sai.TunnelMapAttr (TunnelAttr)(0), // 1: lemming.dataplane.sai.TunnelAttr @@ -3323,91 +3435,97 @@ var file_dataplane_proto_sai_tunnel_proto_goTypes = []interface{}{ (*GetTunnelMapEntryAttributeResponse)(nil), // 33: lemming.dataplane.sai.GetTunnelMapEntryAttributeResponse (*CreateTunnelsRequest)(nil), // 34: lemming.dataplane.sai.CreateTunnelsRequest (*CreateTunnelsResponse)(nil), // 35: lemming.dataplane.sai.CreateTunnelsResponse - (TunnelMapType)(0), // 36: lemming.dataplane.sai.TunnelMapType - (*TunnelMapAttribute)(nil), // 37: lemming.dataplane.sai.TunnelMapAttribute - (TunnelType)(0), // 38: lemming.dataplane.sai.TunnelType - (TunnelPeerMode)(0), // 39: lemming.dataplane.sai.TunnelPeerMode - (TunnelTtlMode)(0), // 40: lemming.dataplane.sai.TunnelTtlMode - (TunnelDscpMode)(0), // 41: lemming.dataplane.sai.TunnelDscpMode - (TunnelEncapEcnMode)(0), // 42: lemming.dataplane.sai.TunnelEncapEcnMode - (TunnelDecapEcnMode)(0), // 43: lemming.dataplane.sai.TunnelDecapEcnMode - (PacketAction)(0), // 44: lemming.dataplane.sai.PacketAction - (TunnelVxlanUdpSportMode)(0), // 45: lemming.dataplane.sai.TunnelVxlanUdpSportMode - (*TunnelAttribute)(nil), // 46: lemming.dataplane.sai.TunnelAttribute - (TunnelStat)(0), // 47: lemming.dataplane.sai.TunnelStat - (TunnelTermTableEntryType)(0), // 48: lemming.dataplane.sai.TunnelTermTableEntryType - (*TunnelTermTableEntryAttribute)(nil), // 49: lemming.dataplane.sai.TunnelTermTableEntryAttribute - (*TunnelMapEntryAttribute)(nil), // 50: lemming.dataplane.sai.TunnelMapEntryAttribute + (*RemoveTunnelsRequest)(nil), // 36: lemming.dataplane.sai.RemoveTunnelsRequest + (*RemoveTunnelsResponse)(nil), // 37: lemming.dataplane.sai.RemoveTunnelsResponse + (TunnelMapType)(0), // 38: lemming.dataplane.sai.TunnelMapType + (*TunnelMapAttribute)(nil), // 39: lemming.dataplane.sai.TunnelMapAttribute + (TunnelType)(0), // 40: lemming.dataplane.sai.TunnelType + (TunnelPeerMode)(0), // 41: lemming.dataplane.sai.TunnelPeerMode + (TunnelTtlMode)(0), // 42: lemming.dataplane.sai.TunnelTtlMode + (TunnelDscpMode)(0), // 43: lemming.dataplane.sai.TunnelDscpMode + (TunnelEncapEcnMode)(0), // 44: lemming.dataplane.sai.TunnelEncapEcnMode + (TunnelDecapEcnMode)(0), // 45: lemming.dataplane.sai.TunnelDecapEcnMode + (PacketAction)(0), // 46: lemming.dataplane.sai.PacketAction + (TunnelVxlanUdpSportMode)(0), // 47: lemming.dataplane.sai.TunnelVxlanUdpSportMode + (*TunnelAttribute)(nil), // 48: lemming.dataplane.sai.TunnelAttribute + (TunnelStat)(0), // 49: lemming.dataplane.sai.TunnelStat + (TunnelTermTableEntryType)(0), // 50: lemming.dataplane.sai.TunnelTermTableEntryType + (*TunnelTermTableEntryAttribute)(nil), // 51: lemming.dataplane.sai.TunnelTermTableEntryAttribute + (*TunnelMapEntryAttribute)(nil), // 52: lemming.dataplane.sai.TunnelMapEntryAttribute } var file_dataplane_proto_sai_tunnel_proto_depIdxs = []int32{ - 36, // 0: lemming.dataplane.sai.CreateTunnelMapRequest.type:type_name -> lemming.dataplane.sai.TunnelMapType + 38, // 0: lemming.dataplane.sai.CreateTunnelMapRequest.type:type_name -> lemming.dataplane.sai.TunnelMapType 0, // 1: lemming.dataplane.sai.GetTunnelMapAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.TunnelMapAttr - 37, // 2: lemming.dataplane.sai.GetTunnelMapAttributeResponse.attr:type_name -> lemming.dataplane.sai.TunnelMapAttribute - 38, // 3: lemming.dataplane.sai.CreateTunnelRequest.type:type_name -> lemming.dataplane.sai.TunnelType - 39, // 4: lemming.dataplane.sai.CreateTunnelRequest.peer_mode:type_name -> lemming.dataplane.sai.TunnelPeerMode - 40, // 5: lemming.dataplane.sai.CreateTunnelRequest.encap_ttl_mode:type_name -> lemming.dataplane.sai.TunnelTtlMode - 41, // 6: lemming.dataplane.sai.CreateTunnelRequest.encap_dscp_mode:type_name -> lemming.dataplane.sai.TunnelDscpMode - 42, // 7: lemming.dataplane.sai.CreateTunnelRequest.encap_ecn_mode:type_name -> lemming.dataplane.sai.TunnelEncapEcnMode - 43, // 8: lemming.dataplane.sai.CreateTunnelRequest.decap_ecn_mode:type_name -> lemming.dataplane.sai.TunnelDecapEcnMode - 40, // 9: lemming.dataplane.sai.CreateTunnelRequest.decap_ttl_mode:type_name -> lemming.dataplane.sai.TunnelTtlMode - 41, // 10: lemming.dataplane.sai.CreateTunnelRequest.decap_dscp_mode:type_name -> lemming.dataplane.sai.TunnelDscpMode - 44, // 11: lemming.dataplane.sai.CreateTunnelRequest.loopback_packet_action:type_name -> lemming.dataplane.sai.PacketAction - 45, // 12: lemming.dataplane.sai.CreateTunnelRequest.vxlan_udp_sport_mode:type_name -> lemming.dataplane.sai.TunnelVxlanUdpSportMode - 40, // 13: lemming.dataplane.sai.SetTunnelAttributeRequest.encap_ttl_mode:type_name -> lemming.dataplane.sai.TunnelTtlMode - 41, // 14: lemming.dataplane.sai.SetTunnelAttributeRequest.encap_dscp_mode:type_name -> lemming.dataplane.sai.TunnelDscpMode - 40, // 15: lemming.dataplane.sai.SetTunnelAttributeRequest.decap_ttl_mode:type_name -> lemming.dataplane.sai.TunnelTtlMode - 41, // 16: lemming.dataplane.sai.SetTunnelAttributeRequest.decap_dscp_mode:type_name -> lemming.dataplane.sai.TunnelDscpMode - 44, // 17: lemming.dataplane.sai.SetTunnelAttributeRequest.loopback_packet_action:type_name -> lemming.dataplane.sai.PacketAction - 45, // 18: lemming.dataplane.sai.SetTunnelAttributeRequest.vxlan_udp_sport_mode:type_name -> lemming.dataplane.sai.TunnelVxlanUdpSportMode + 39, // 2: lemming.dataplane.sai.GetTunnelMapAttributeResponse.attr:type_name -> lemming.dataplane.sai.TunnelMapAttribute + 40, // 3: lemming.dataplane.sai.CreateTunnelRequest.type:type_name -> lemming.dataplane.sai.TunnelType + 41, // 4: lemming.dataplane.sai.CreateTunnelRequest.peer_mode:type_name -> lemming.dataplane.sai.TunnelPeerMode + 42, // 5: lemming.dataplane.sai.CreateTunnelRequest.encap_ttl_mode:type_name -> lemming.dataplane.sai.TunnelTtlMode + 43, // 6: lemming.dataplane.sai.CreateTunnelRequest.encap_dscp_mode:type_name -> lemming.dataplane.sai.TunnelDscpMode + 44, // 7: lemming.dataplane.sai.CreateTunnelRequest.encap_ecn_mode:type_name -> lemming.dataplane.sai.TunnelEncapEcnMode + 45, // 8: lemming.dataplane.sai.CreateTunnelRequest.decap_ecn_mode:type_name -> lemming.dataplane.sai.TunnelDecapEcnMode + 42, // 9: lemming.dataplane.sai.CreateTunnelRequest.decap_ttl_mode:type_name -> lemming.dataplane.sai.TunnelTtlMode + 43, // 10: lemming.dataplane.sai.CreateTunnelRequest.decap_dscp_mode:type_name -> lemming.dataplane.sai.TunnelDscpMode + 46, // 11: lemming.dataplane.sai.CreateTunnelRequest.loopback_packet_action:type_name -> lemming.dataplane.sai.PacketAction + 47, // 12: lemming.dataplane.sai.CreateTunnelRequest.vxlan_udp_sport_mode:type_name -> lemming.dataplane.sai.TunnelVxlanUdpSportMode + 42, // 13: lemming.dataplane.sai.SetTunnelAttributeRequest.encap_ttl_mode:type_name -> lemming.dataplane.sai.TunnelTtlMode + 43, // 14: lemming.dataplane.sai.SetTunnelAttributeRequest.encap_dscp_mode:type_name -> lemming.dataplane.sai.TunnelDscpMode + 42, // 15: lemming.dataplane.sai.SetTunnelAttributeRequest.decap_ttl_mode:type_name -> lemming.dataplane.sai.TunnelTtlMode + 43, // 16: lemming.dataplane.sai.SetTunnelAttributeRequest.decap_dscp_mode:type_name -> lemming.dataplane.sai.TunnelDscpMode + 46, // 17: lemming.dataplane.sai.SetTunnelAttributeRequest.loopback_packet_action:type_name -> lemming.dataplane.sai.PacketAction + 47, // 18: lemming.dataplane.sai.SetTunnelAttributeRequest.vxlan_udp_sport_mode:type_name -> lemming.dataplane.sai.TunnelVxlanUdpSportMode 1, // 19: lemming.dataplane.sai.GetTunnelAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.TunnelAttr - 46, // 20: lemming.dataplane.sai.GetTunnelAttributeResponse.attr:type_name -> lemming.dataplane.sai.TunnelAttribute - 47, // 21: lemming.dataplane.sai.GetTunnelStatsRequest.counter_ids:type_name -> lemming.dataplane.sai.TunnelStat - 48, // 22: lemming.dataplane.sai.CreateTunnelTermTableEntryRequest.type:type_name -> lemming.dataplane.sai.TunnelTermTableEntryType - 38, // 23: lemming.dataplane.sai.CreateTunnelTermTableEntryRequest.tunnel_type:type_name -> lemming.dataplane.sai.TunnelType + 48, // 20: lemming.dataplane.sai.GetTunnelAttributeResponse.attr:type_name -> lemming.dataplane.sai.TunnelAttribute + 49, // 21: lemming.dataplane.sai.GetTunnelStatsRequest.counter_ids:type_name -> lemming.dataplane.sai.TunnelStat + 50, // 22: lemming.dataplane.sai.CreateTunnelTermTableEntryRequest.type:type_name -> lemming.dataplane.sai.TunnelTermTableEntryType + 40, // 23: lemming.dataplane.sai.CreateTunnelTermTableEntryRequest.tunnel_type:type_name -> lemming.dataplane.sai.TunnelType 2, // 24: lemming.dataplane.sai.GetTunnelTermTableEntryAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.TunnelTermTableEntryAttr - 49, // 25: lemming.dataplane.sai.GetTunnelTermTableEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.TunnelTermTableEntryAttribute - 36, // 26: lemming.dataplane.sai.CreateTunnelMapEntryRequest.tunnel_map_type:type_name -> lemming.dataplane.sai.TunnelMapType + 51, // 25: lemming.dataplane.sai.GetTunnelTermTableEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.TunnelTermTableEntryAttribute + 38, // 26: lemming.dataplane.sai.CreateTunnelMapEntryRequest.tunnel_map_type:type_name -> lemming.dataplane.sai.TunnelMapType 3, // 27: lemming.dataplane.sai.GetTunnelMapEntryAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.TunnelMapEntryAttr - 50, // 28: lemming.dataplane.sai.GetTunnelMapEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.TunnelMapEntryAttribute + 52, // 28: lemming.dataplane.sai.GetTunnelMapEntryAttributeResponse.attr:type_name -> lemming.dataplane.sai.TunnelMapEntryAttribute 10, // 29: lemming.dataplane.sai.CreateTunnelsRequest.reqs:type_name -> lemming.dataplane.sai.CreateTunnelRequest 11, // 30: lemming.dataplane.sai.CreateTunnelsResponse.resps:type_name -> lemming.dataplane.sai.CreateTunnelResponse - 4, // 31: lemming.dataplane.sai.Tunnel.CreateTunnelMap:input_type -> lemming.dataplane.sai.CreateTunnelMapRequest - 6, // 32: lemming.dataplane.sai.Tunnel.RemoveTunnelMap:input_type -> lemming.dataplane.sai.RemoveTunnelMapRequest - 8, // 33: lemming.dataplane.sai.Tunnel.GetTunnelMapAttribute:input_type -> lemming.dataplane.sai.GetTunnelMapAttributeRequest - 10, // 34: lemming.dataplane.sai.Tunnel.CreateTunnel:input_type -> lemming.dataplane.sai.CreateTunnelRequest - 12, // 35: lemming.dataplane.sai.Tunnel.RemoveTunnel:input_type -> lemming.dataplane.sai.RemoveTunnelRequest - 14, // 36: lemming.dataplane.sai.Tunnel.SetTunnelAttribute:input_type -> lemming.dataplane.sai.SetTunnelAttributeRequest - 16, // 37: lemming.dataplane.sai.Tunnel.GetTunnelAttribute:input_type -> lemming.dataplane.sai.GetTunnelAttributeRequest - 18, // 38: lemming.dataplane.sai.Tunnel.GetTunnelStats:input_type -> lemming.dataplane.sai.GetTunnelStatsRequest - 20, // 39: lemming.dataplane.sai.Tunnel.CreateTunnelTermTableEntry:input_type -> lemming.dataplane.sai.CreateTunnelTermTableEntryRequest - 22, // 40: lemming.dataplane.sai.Tunnel.RemoveTunnelTermTableEntry:input_type -> lemming.dataplane.sai.RemoveTunnelTermTableEntryRequest - 24, // 41: lemming.dataplane.sai.Tunnel.SetTunnelTermTableEntryAttribute:input_type -> lemming.dataplane.sai.SetTunnelTermTableEntryAttributeRequest - 26, // 42: lemming.dataplane.sai.Tunnel.GetTunnelTermTableEntryAttribute:input_type -> lemming.dataplane.sai.GetTunnelTermTableEntryAttributeRequest - 28, // 43: lemming.dataplane.sai.Tunnel.CreateTunnelMapEntry:input_type -> lemming.dataplane.sai.CreateTunnelMapEntryRequest - 30, // 44: lemming.dataplane.sai.Tunnel.RemoveTunnelMapEntry:input_type -> lemming.dataplane.sai.RemoveTunnelMapEntryRequest - 32, // 45: lemming.dataplane.sai.Tunnel.GetTunnelMapEntryAttribute:input_type -> lemming.dataplane.sai.GetTunnelMapEntryAttributeRequest - 34, // 46: lemming.dataplane.sai.Tunnel.CreateTunnels:input_type -> lemming.dataplane.sai.CreateTunnelsRequest - 5, // 47: lemming.dataplane.sai.Tunnel.CreateTunnelMap:output_type -> lemming.dataplane.sai.CreateTunnelMapResponse - 7, // 48: lemming.dataplane.sai.Tunnel.RemoveTunnelMap:output_type -> lemming.dataplane.sai.RemoveTunnelMapResponse - 9, // 49: lemming.dataplane.sai.Tunnel.GetTunnelMapAttribute:output_type -> lemming.dataplane.sai.GetTunnelMapAttributeResponse - 11, // 50: lemming.dataplane.sai.Tunnel.CreateTunnel:output_type -> lemming.dataplane.sai.CreateTunnelResponse - 13, // 51: lemming.dataplane.sai.Tunnel.RemoveTunnel:output_type -> lemming.dataplane.sai.RemoveTunnelResponse - 15, // 52: lemming.dataplane.sai.Tunnel.SetTunnelAttribute:output_type -> lemming.dataplane.sai.SetTunnelAttributeResponse - 17, // 53: lemming.dataplane.sai.Tunnel.GetTunnelAttribute:output_type -> lemming.dataplane.sai.GetTunnelAttributeResponse - 19, // 54: lemming.dataplane.sai.Tunnel.GetTunnelStats:output_type -> lemming.dataplane.sai.GetTunnelStatsResponse - 21, // 55: lemming.dataplane.sai.Tunnel.CreateTunnelTermTableEntry:output_type -> lemming.dataplane.sai.CreateTunnelTermTableEntryResponse - 23, // 56: lemming.dataplane.sai.Tunnel.RemoveTunnelTermTableEntry:output_type -> lemming.dataplane.sai.RemoveTunnelTermTableEntryResponse - 25, // 57: lemming.dataplane.sai.Tunnel.SetTunnelTermTableEntryAttribute:output_type -> lemming.dataplane.sai.SetTunnelTermTableEntryAttributeResponse - 27, // 58: lemming.dataplane.sai.Tunnel.GetTunnelTermTableEntryAttribute:output_type -> lemming.dataplane.sai.GetTunnelTermTableEntryAttributeResponse - 29, // 59: lemming.dataplane.sai.Tunnel.CreateTunnelMapEntry:output_type -> lemming.dataplane.sai.CreateTunnelMapEntryResponse - 31, // 60: lemming.dataplane.sai.Tunnel.RemoveTunnelMapEntry:output_type -> lemming.dataplane.sai.RemoveTunnelMapEntryResponse - 33, // 61: lemming.dataplane.sai.Tunnel.GetTunnelMapEntryAttribute:output_type -> lemming.dataplane.sai.GetTunnelMapEntryAttributeResponse - 35, // 62: lemming.dataplane.sai.Tunnel.CreateTunnels:output_type -> lemming.dataplane.sai.CreateTunnelsResponse - 47, // [47:63] is the sub-list for method output_type - 31, // [31:47] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 12, // 31: lemming.dataplane.sai.RemoveTunnelsRequest.reqs:type_name -> lemming.dataplane.sai.RemoveTunnelRequest + 13, // 32: lemming.dataplane.sai.RemoveTunnelsResponse.resps:type_name -> lemming.dataplane.sai.RemoveTunnelResponse + 4, // 33: lemming.dataplane.sai.Tunnel.CreateTunnelMap:input_type -> lemming.dataplane.sai.CreateTunnelMapRequest + 6, // 34: lemming.dataplane.sai.Tunnel.RemoveTunnelMap:input_type -> lemming.dataplane.sai.RemoveTunnelMapRequest + 8, // 35: lemming.dataplane.sai.Tunnel.GetTunnelMapAttribute:input_type -> lemming.dataplane.sai.GetTunnelMapAttributeRequest + 10, // 36: lemming.dataplane.sai.Tunnel.CreateTunnel:input_type -> lemming.dataplane.sai.CreateTunnelRequest + 12, // 37: lemming.dataplane.sai.Tunnel.RemoveTunnel:input_type -> lemming.dataplane.sai.RemoveTunnelRequest + 14, // 38: lemming.dataplane.sai.Tunnel.SetTunnelAttribute:input_type -> lemming.dataplane.sai.SetTunnelAttributeRequest + 16, // 39: lemming.dataplane.sai.Tunnel.GetTunnelAttribute:input_type -> lemming.dataplane.sai.GetTunnelAttributeRequest + 18, // 40: lemming.dataplane.sai.Tunnel.GetTunnelStats:input_type -> lemming.dataplane.sai.GetTunnelStatsRequest + 20, // 41: lemming.dataplane.sai.Tunnel.CreateTunnelTermTableEntry:input_type -> lemming.dataplane.sai.CreateTunnelTermTableEntryRequest + 22, // 42: lemming.dataplane.sai.Tunnel.RemoveTunnelTermTableEntry:input_type -> lemming.dataplane.sai.RemoveTunnelTermTableEntryRequest + 24, // 43: lemming.dataplane.sai.Tunnel.SetTunnelTermTableEntryAttribute:input_type -> lemming.dataplane.sai.SetTunnelTermTableEntryAttributeRequest + 26, // 44: lemming.dataplane.sai.Tunnel.GetTunnelTermTableEntryAttribute:input_type -> lemming.dataplane.sai.GetTunnelTermTableEntryAttributeRequest + 28, // 45: lemming.dataplane.sai.Tunnel.CreateTunnelMapEntry:input_type -> lemming.dataplane.sai.CreateTunnelMapEntryRequest + 30, // 46: lemming.dataplane.sai.Tunnel.RemoveTunnelMapEntry:input_type -> lemming.dataplane.sai.RemoveTunnelMapEntryRequest + 32, // 47: lemming.dataplane.sai.Tunnel.GetTunnelMapEntryAttribute:input_type -> lemming.dataplane.sai.GetTunnelMapEntryAttributeRequest + 34, // 48: lemming.dataplane.sai.Tunnel.CreateTunnels:input_type -> lemming.dataplane.sai.CreateTunnelsRequest + 36, // 49: lemming.dataplane.sai.Tunnel.RemoveTunnels:input_type -> lemming.dataplane.sai.RemoveTunnelsRequest + 5, // 50: lemming.dataplane.sai.Tunnel.CreateTunnelMap:output_type -> lemming.dataplane.sai.CreateTunnelMapResponse + 7, // 51: lemming.dataplane.sai.Tunnel.RemoveTunnelMap:output_type -> lemming.dataplane.sai.RemoveTunnelMapResponse + 9, // 52: lemming.dataplane.sai.Tunnel.GetTunnelMapAttribute:output_type -> lemming.dataplane.sai.GetTunnelMapAttributeResponse + 11, // 53: lemming.dataplane.sai.Tunnel.CreateTunnel:output_type -> lemming.dataplane.sai.CreateTunnelResponse + 13, // 54: lemming.dataplane.sai.Tunnel.RemoveTunnel:output_type -> lemming.dataplane.sai.RemoveTunnelResponse + 15, // 55: lemming.dataplane.sai.Tunnel.SetTunnelAttribute:output_type -> lemming.dataplane.sai.SetTunnelAttributeResponse + 17, // 56: lemming.dataplane.sai.Tunnel.GetTunnelAttribute:output_type -> lemming.dataplane.sai.GetTunnelAttributeResponse + 19, // 57: lemming.dataplane.sai.Tunnel.GetTunnelStats:output_type -> lemming.dataplane.sai.GetTunnelStatsResponse + 21, // 58: lemming.dataplane.sai.Tunnel.CreateTunnelTermTableEntry:output_type -> lemming.dataplane.sai.CreateTunnelTermTableEntryResponse + 23, // 59: lemming.dataplane.sai.Tunnel.RemoveTunnelTermTableEntry:output_type -> lemming.dataplane.sai.RemoveTunnelTermTableEntryResponse + 25, // 60: lemming.dataplane.sai.Tunnel.SetTunnelTermTableEntryAttribute:output_type -> lemming.dataplane.sai.SetTunnelTermTableEntryAttributeResponse + 27, // 61: lemming.dataplane.sai.Tunnel.GetTunnelTermTableEntryAttribute:output_type -> lemming.dataplane.sai.GetTunnelTermTableEntryAttributeResponse + 29, // 62: lemming.dataplane.sai.Tunnel.CreateTunnelMapEntry:output_type -> lemming.dataplane.sai.CreateTunnelMapEntryResponse + 31, // 63: lemming.dataplane.sai.Tunnel.RemoveTunnelMapEntry:output_type -> lemming.dataplane.sai.RemoveTunnelMapEntryResponse + 33, // 64: lemming.dataplane.sai.Tunnel.GetTunnelMapEntryAttribute:output_type -> lemming.dataplane.sai.GetTunnelMapEntryAttributeResponse + 35, // 65: lemming.dataplane.sai.Tunnel.CreateTunnels:output_type -> lemming.dataplane.sai.CreateTunnelsResponse + 37, // 66: lemming.dataplane.sai.Tunnel.RemoveTunnels:output_type -> lemming.dataplane.sai.RemoveTunnelsResponse + 50, // [50:67] is the sub-list for method output_type + 33, // [33:50] is the sub-list for method input_type + 33, // [33:33] is the sub-list for extension type_name + 33, // [33:33] is the sub-list for extension extendee + 0, // [0:33] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_tunnel_proto_init() } @@ -3801,6 +3919,30 @@ func file_dataplane_proto_sai_tunnel_proto_init() { return nil } } + file_dataplane_proto_sai_tunnel_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveTunnelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_tunnel_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveTunnelsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_dataplane_proto_sai_tunnel_proto_msgTypes[0].OneofWrappers = []interface{}{} file_dataplane_proto_sai_tunnel_proto_msgTypes[6].OneofWrappers = []interface{}{} @@ -3814,7 +3956,7 @@ func file_dataplane_proto_sai_tunnel_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_tunnel_proto_rawDesc, NumEnums: 4, - NumMessages: 32, + NumMessages: 34, NumExtensions: 0, NumServices: 1, }, @@ -3857,6 +3999,7 @@ type TunnelClient interface { RemoveTunnelMapEntry(ctx context.Context, in *RemoveTunnelMapEntryRequest, opts ...grpc.CallOption) (*RemoveTunnelMapEntryResponse, error) GetTunnelMapEntryAttribute(ctx context.Context, in *GetTunnelMapEntryAttributeRequest, opts ...grpc.CallOption) (*GetTunnelMapEntryAttributeResponse, error) CreateTunnels(ctx context.Context, in *CreateTunnelsRequest, opts ...grpc.CallOption) (*CreateTunnelsResponse, error) + RemoveTunnels(ctx context.Context, in *RemoveTunnelsRequest, opts ...grpc.CallOption) (*RemoveTunnelsResponse, error) } type tunnelClient struct { @@ -4011,6 +4154,15 @@ func (c *tunnelClient) CreateTunnels(ctx context.Context, in *CreateTunnelsReque return out, nil } +func (c *tunnelClient) RemoveTunnels(ctx context.Context, in *RemoveTunnelsRequest, opts ...grpc.CallOption) (*RemoveTunnelsResponse, error) { + out := new(RemoveTunnelsResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Tunnel/RemoveTunnels", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // TunnelServer is the server API for Tunnel service. type TunnelServer interface { CreateTunnelMap(context.Context, *CreateTunnelMapRequest) (*CreateTunnelMapResponse, error) @@ -4029,6 +4181,7 @@ type TunnelServer interface { RemoveTunnelMapEntry(context.Context, *RemoveTunnelMapEntryRequest) (*RemoveTunnelMapEntryResponse, error) GetTunnelMapEntryAttribute(context.Context, *GetTunnelMapEntryAttributeRequest) (*GetTunnelMapEntryAttributeResponse, error) CreateTunnels(context.Context, *CreateTunnelsRequest) (*CreateTunnelsResponse, error) + RemoveTunnels(context.Context, *RemoveTunnelsRequest) (*RemoveTunnelsResponse, error) } // UnimplementedTunnelServer can be embedded to have forward compatible implementations. @@ -4083,6 +4236,9 @@ func (*UnimplementedTunnelServer) GetTunnelMapEntryAttribute(context.Context, *G func (*UnimplementedTunnelServer) CreateTunnels(context.Context, *CreateTunnelsRequest) (*CreateTunnelsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateTunnels not implemented") } +func (*UnimplementedTunnelServer) RemoveTunnels(context.Context, *RemoveTunnelsRequest) (*RemoveTunnelsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveTunnels not implemented") +} func RegisterTunnelServer(s *grpc.Server, srv TunnelServer) { s.RegisterService(&_Tunnel_serviceDesc, srv) @@ -4376,6 +4532,24 @@ func _Tunnel_CreateTunnels_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Tunnel_RemoveTunnels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveTunnelsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TunnelServer).RemoveTunnels(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Tunnel/RemoveTunnels", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TunnelServer).RemoveTunnels(ctx, req.(*RemoveTunnelsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Tunnel_serviceDesc = grpc.ServiceDesc{ ServiceName: "lemming.dataplane.sai.Tunnel", HandlerType: (*TunnelServer)(nil), @@ -4444,6 +4618,10 @@ var _Tunnel_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateTunnels", Handler: _Tunnel_CreateTunnels_Handler, }, + { + MethodName: "RemoveTunnels", + Handler: _Tunnel_RemoveTunnels_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "dataplane/proto/sai/tunnel.proto", diff --git a/dataplane/proto/sai/tunnel.proto b/dataplane/proto/sai/tunnel.proto index efaf46b8..80a8e11b 100644 --- a/dataplane/proto/sai/tunnel.proto +++ b/dataplane/proto/sai/tunnel.proto @@ -286,6 +286,14 @@ message CreateTunnelsResponse { repeated CreateTunnelResponse resps = 1; } +message RemoveTunnelsRequest { + repeated RemoveTunnelRequest reqs = 1; +} + +message RemoveTunnelsResponse { + repeated RemoveTunnelResponse resps = 1; +} + service Tunnel { rpc CreateTunnelMap(CreateTunnelMapRequest) returns (CreateTunnelMapResponse) {} @@ -315,4 +323,5 @@ service Tunnel { rpc GetTunnelMapEntryAttribute(GetTunnelMapEntryAttributeRequest) returns (GetTunnelMapEntryAttributeResponse) {} rpc CreateTunnels(CreateTunnelsRequest) returns (CreateTunnelsResponse) {} + rpc RemoveTunnels(RemoveTunnelsRequest) returns (RemoveTunnelsResponse) {} } diff --git a/dataplane/proto/sai/vlan.pb.go b/dataplane/proto/sai/vlan.pb.go index 1ce1f791..7bde665f 100644 --- a/dataplane/proto/sai/vlan.pb.go +++ b/dataplane/proto/sai/vlan.pb.go @@ -1371,6 +1371,100 @@ func (x *CreateVlanMembersResponse) GetResps() []*CreateVlanMemberResponse { return nil } +type RemoveVlanMembersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reqs []*RemoveVlanMemberRequest `protobuf:"bytes,1,rep,name=reqs,proto3" json:"reqs,omitempty"` +} + +func (x *RemoveVlanMembersRequest) Reset() { + *x = RemoveVlanMembersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveVlanMembersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveVlanMembersRequest) ProtoMessage() {} + +func (x *RemoveVlanMembersRequest) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveVlanMembersRequest.ProtoReflect.Descriptor instead. +func (*RemoveVlanMembersRequest) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_vlan_proto_rawDescGZIP(), []int{18} +} + +func (x *RemoveVlanMembersRequest) GetReqs() []*RemoveVlanMemberRequest { + if x != nil { + return x.Reqs + } + return nil +} + +type RemoveVlanMembersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Resps []*RemoveVlanMemberResponse `protobuf:"bytes,1,rep,name=resps,proto3" json:"resps,omitempty"` +} + +func (x *RemoveVlanMembersResponse) Reset() { + *x = RemoveVlanMembersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveVlanMembersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveVlanMembersResponse) ProtoMessage() {} + +func (x *RemoveVlanMembersResponse) ProtoReflect() protoreflect.Message { + mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveVlanMembersResponse.ProtoReflect.Descriptor instead. +func (*RemoveVlanMembersResponse) Descriptor() ([]byte, []int) { + return file_dataplane_proto_sai_vlan_proto_rawDescGZIP(), []int{19} +} + +func (x *RemoveVlanMembersResponse) GetResps() []*RemoveVlanMemberResponse { + if x != nil { + return x.Resps + } + return nil +} + type GetVlanStatsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1383,7 +1477,7 @@ type GetVlanStatsRequest struct { func (x *GetVlanStatsRequest) Reset() { *x = GetVlanStatsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[18] + mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1396,7 +1490,7 @@ func (x *GetVlanStatsRequest) String() string { func (*GetVlanStatsRequest) ProtoMessage() {} func (x *GetVlanStatsRequest) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[18] + mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1409,7 +1503,7 @@ func (x *GetVlanStatsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVlanStatsRequest.ProtoReflect.Descriptor instead. func (*GetVlanStatsRequest) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_vlan_proto_rawDescGZIP(), []int{18} + return file_dataplane_proto_sai_vlan_proto_rawDescGZIP(), []int{20} } func (x *GetVlanStatsRequest) GetOid() uint64 { @@ -1437,7 +1531,7 @@ type GetVlanStatsResponse struct { func (x *GetVlanStatsResponse) Reset() { *x = GetVlanStatsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[19] + mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1450,7 +1544,7 @@ func (x *GetVlanStatsResponse) String() string { func (*GetVlanStatsResponse) ProtoMessage() {} func (x *GetVlanStatsResponse) ProtoReflect() protoreflect.Message { - mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[19] + mi := &file_dataplane_proto_sai_vlan_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1463,7 +1557,7 @@ func (x *GetVlanStatsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVlanStatsResponse.ProtoReflect.Descriptor instead. func (*GetVlanStatsResponse) Descriptor() ([]byte, []int) { - return file_dataplane_proto_sai_vlan_proto_rawDescGZIP(), []int{19} + return file_dataplane_proto_sai_vlan_proto_rawDescGZIP(), []int{21} } func (x *GetVlanStatsResponse) GetValues() []uint64 { @@ -1851,160 +1945,180 @@ var file_dataplane_proto_sai_vlan_proto_rawDesc = []byte{ 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, 0x73, 0x70, 0x73, 0x22, - 0x69, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, - 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x56, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0a, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x2e, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x04, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2a, 0xfa, 0x06, 0x0a, 0x08, 0x56, - 0x6c, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x4c, 0x41, 0x4e, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x4c, 0x41, - 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4c, 0x49, - 0x53, 0x54, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x44, - 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x4c, 0x41, - 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x54, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, - 0x4e, 0x43, 0x45, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, - 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, - 0x50, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x06, 0x12, 0x28, 0x0a, 0x24, - 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x4d, - 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x4b, 0x45, 0x59, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x07, 0x12, 0x32, 0x0a, 0x2e, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x5f, - 0x49, 0x50, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x08, 0x12, 0x30, 0x0a, 0x2c, 0x56, 0x4c, + 0x5e, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x72, + 0x65, 0x71, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, + 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65, 0x71, 0x73, 0x22, + 0x62, 0x0a, 0x19, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x05, + 0x72, 0x65, 0x73, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6c, 0x65, + 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x72, 0x65, + 0x73, 0x70, 0x73, 0x22, 0x69, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x40, 0x0a, 0x0b, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x1f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x56, 0x6c, 0x61, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x2e, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2a, 0xfa, + 0x06, 0x0a, 0x08, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x12, 0x19, 0x0a, 0x15, 0x56, + 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x19, 0x0a, + 0x15, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, + 0x52, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x4c, 0x41, 0x4e, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x45, + 0x44, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, 0x03, 0x12, 0x1a, 0x0a, + 0x16, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x53, 0x54, 0x50, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x4c, 0x41, + 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x44, 0x49, 0x53, + 0x41, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4c, + 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x06, + 0x12, 0x28, 0x0a, 0x24, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x50, + 0x56, 0x36, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, + 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x07, 0x12, 0x32, 0x0a, 0x2e, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, - 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, - 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x09, 0x12, 0x30, 0x0a, 0x2c, - 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x55, 0x54, - 0x50, 0x55, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x0a, 0x12, 0x35, - 0x0a, 0x31, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4d, 0x43, - 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x5f, 0x49, 0x44, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x0c, - 0x12, 0x18, 0x0a, 0x14, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x45, 0x47, - 0x52, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x0d, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x4c, - 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x10, 0x0e, 0x12, 0x30, 0x0a, 0x2c, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x53, 0x54, - 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x0f, 0x12, 0x29, 0x0a, 0x25, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x41, - 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x10, - 0x12, 0x32, 0x0a, 0x2e, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x43, 0x41, 0x53, 0x54, 0x5f, - 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x10, 0x11, 0x12, 0x2b, 0x0a, 0x27, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, + 0x4e, 0x4f, 0x4e, 0x5f, 0x49, 0x50, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x55, 0x54, + 0x50, 0x55, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x08, 0x12, 0x30, + 0x0a, 0x2c, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x5f, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4f, + 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x09, + 0x12, 0x30, 0x0a, 0x2c, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, + 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x44, + 0x10, 0x0a, 0x12, 0x35, 0x0a, 0x31, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x4c, 0x4f, 0x43, 0x41, + 0x4c, 0x5f, 0x4d, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x4c, 0x41, + 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x41, + 0x43, 0x4c, 0x10, 0x0c, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, + 0x52, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x0d, 0x12, 0x17, + 0x0a, 0x13, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x41, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x0e, 0x12, 0x30, 0x0a, 0x2c, 0x56, 0x4c, 0x41, 0x4e, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, 0x4e, 0x49, + 0x43, 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, + 0x4f, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x0f, 0x12, 0x29, 0x0a, 0x25, 0x56, 0x4c, 0x41, + 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, + 0x4e, 0x49, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x10, 0x10, 0x12, 0x32, 0x0a, 0x2e, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x43, - 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, - 0x12, 0x12, 0x2a, 0x0a, 0x26, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, - 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x43, - 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x13, 0x12, 0x23, 0x0a, - 0x1f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, - 0x43, 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x10, 0x14, 0x12, 0x29, 0x0a, 0x25, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, - 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x49, 0x47, 0x4d, 0x50, 0x5f, 0x53, 0x4e, 0x4f, 0x4f, - 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x15, 0x12, 0x18, 0x0a, - 0x14, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, 0x41, 0x4d, 0x5f, 0x4f, - 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x16, 0x2a, 0x9d, 0x01, 0x0a, 0x0e, 0x56, 0x6c, 0x61, 0x6e, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x56, 0x4c, - 0x41, 0x4e, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, - 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x4c, - 0x41, 0x4e, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, - 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x44, 0x10, 0x02, 0x12, - 0x26, 0x0a, 0x22, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x54, 0x41, 0x47, 0x47, 0x49, 0x4e, 0x47, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x03, 0x32, 0xa5, 0x09, 0x0a, 0x04, 0x56, 0x6c, 0x61, 0x6e, - 0x12, 0x63, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x12, 0x28, - 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, - 0x6c, 0x61, 0x6e, 0x12, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, + 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x11, 0x12, 0x2b, 0x0a, 0x27, 0x56, 0x4c, 0x41, 0x4e, + 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4d, 0x55, + 0x4c, 0x54, 0x49, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x10, 0x12, 0x12, 0x2a, 0x0a, 0x26, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, + 0x4f, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, + 0x13, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x42, + 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x44, 0x5f, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x10, 0x14, 0x12, 0x29, 0x0a, 0x25, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x49, 0x47, 0x4d, 0x50, 0x5f, + 0x53, 0x4e, 0x4f, 0x4f, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x15, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x54, + 0x41, 0x4d, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x16, 0x2a, 0x9d, 0x01, 0x0a, 0x0e, + 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x12, 0x20, + 0x0a, 0x1c, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x49, 0x44, 0x10, 0x01, 0x12, 0x23, + 0x0a, 0x1f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x54, + 0x54, 0x52, 0x5f, 0x42, 0x52, 0x49, 0x44, 0x47, 0x45, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, + 0x44, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x4d, 0x45, 0x4d, 0x42, + 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x5f, 0x54, 0x41, 0x47, + 0x47, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x03, 0x32, 0x9f, 0x0a, 0x0a, 0x04, + 0x56, 0x6c, 0x61, 0x6e, 0x12, 0x63, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, + 0x61, 0x6e, 0x12, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6c, + 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0a, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x12, 0x28, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x56, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, + 0x0a, 0x10, 0x53, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x6c, + 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x6c, + 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, + 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, + 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, + 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, + 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, + 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, + 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, + 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, + 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x53, 0x65, - 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2e, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, + 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6c, + 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x75, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, - 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x6c, - 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, - 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x75, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x56, 0x6c, - 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x6c, 0x61, - 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, - 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, - 0x53, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x87, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x6c, 0x65, - 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, - 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x11, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, - 0x2f, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6c, - 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x30, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, - 0x6c, 0x61, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x56, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x73, 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, 0x70, - 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, - 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x73, 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x65, 0x2e, 0x73, 0x61, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x73, 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, 0x70, 0x65, 0x6e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c, 0x65, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, + 0x61, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2020,7 +2134,7 @@ func file_dataplane_proto_sai_vlan_proto_rawDescGZIP() []byte { } var file_dataplane_proto_sai_vlan_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_dataplane_proto_sai_vlan_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_dataplane_proto_sai_vlan_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_dataplane_proto_sai_vlan_proto_goTypes = []interface{}{ (VlanAttr)(0), // 0: lemming.dataplane.sai.VlanAttr (VlanMemberAttr)(0), // 1: lemming.dataplane.sai.VlanMemberAttr @@ -2042,60 +2156,66 @@ var file_dataplane_proto_sai_vlan_proto_goTypes = []interface{}{ (*GetVlanMemberAttributeResponse)(nil), // 17: lemming.dataplane.sai.GetVlanMemberAttributeResponse (*CreateVlanMembersRequest)(nil), // 18: lemming.dataplane.sai.CreateVlanMembersRequest (*CreateVlanMembersResponse)(nil), // 19: lemming.dataplane.sai.CreateVlanMembersResponse - (*GetVlanStatsRequest)(nil), // 20: lemming.dataplane.sai.GetVlanStatsRequest - (*GetVlanStatsResponse)(nil), // 21: lemming.dataplane.sai.GetVlanStatsResponse - (VlanMcastLookupKeyType)(0), // 22: lemming.dataplane.sai.VlanMcastLookupKeyType - (VlanFloodControlType)(0), // 23: lemming.dataplane.sai.VlanFloodControlType - (*VlanAttribute)(nil), // 24: lemming.dataplane.sai.VlanAttribute - (VlanTaggingMode)(0), // 25: lemming.dataplane.sai.VlanTaggingMode - (*VlanMemberAttribute)(nil), // 26: lemming.dataplane.sai.VlanMemberAttribute - (VlanStat)(0), // 27: lemming.dataplane.sai.VlanStat + (*RemoveVlanMembersRequest)(nil), // 20: lemming.dataplane.sai.RemoveVlanMembersRequest + (*RemoveVlanMembersResponse)(nil), // 21: lemming.dataplane.sai.RemoveVlanMembersResponse + (*GetVlanStatsRequest)(nil), // 22: lemming.dataplane.sai.GetVlanStatsRequest + (*GetVlanStatsResponse)(nil), // 23: lemming.dataplane.sai.GetVlanStatsResponse + (VlanMcastLookupKeyType)(0), // 24: lemming.dataplane.sai.VlanMcastLookupKeyType + (VlanFloodControlType)(0), // 25: lemming.dataplane.sai.VlanFloodControlType + (*VlanAttribute)(nil), // 26: lemming.dataplane.sai.VlanAttribute + (VlanTaggingMode)(0), // 27: lemming.dataplane.sai.VlanTaggingMode + (*VlanMemberAttribute)(nil), // 28: lemming.dataplane.sai.VlanMemberAttribute + (VlanStat)(0), // 29: lemming.dataplane.sai.VlanStat } var file_dataplane_proto_sai_vlan_proto_depIdxs = []int32{ - 22, // 0: lemming.dataplane.sai.CreateVlanRequest.ipv4_mcast_lookup_key_type:type_name -> lemming.dataplane.sai.VlanMcastLookupKeyType - 22, // 1: lemming.dataplane.sai.CreateVlanRequest.ipv6_mcast_lookup_key_type:type_name -> lemming.dataplane.sai.VlanMcastLookupKeyType - 23, // 2: lemming.dataplane.sai.CreateVlanRequest.unknown_unicast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType - 23, // 3: lemming.dataplane.sai.CreateVlanRequest.unknown_multicast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType - 23, // 4: lemming.dataplane.sai.CreateVlanRequest.broadcast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType - 22, // 5: lemming.dataplane.sai.SetVlanAttributeRequest.ipv4_mcast_lookup_key_type:type_name -> lemming.dataplane.sai.VlanMcastLookupKeyType - 22, // 6: lemming.dataplane.sai.SetVlanAttributeRequest.ipv6_mcast_lookup_key_type:type_name -> lemming.dataplane.sai.VlanMcastLookupKeyType - 23, // 7: lemming.dataplane.sai.SetVlanAttributeRequest.unknown_unicast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType - 23, // 8: lemming.dataplane.sai.SetVlanAttributeRequest.unknown_multicast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType - 23, // 9: lemming.dataplane.sai.SetVlanAttributeRequest.broadcast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType + 24, // 0: lemming.dataplane.sai.CreateVlanRequest.ipv4_mcast_lookup_key_type:type_name -> lemming.dataplane.sai.VlanMcastLookupKeyType + 24, // 1: lemming.dataplane.sai.CreateVlanRequest.ipv6_mcast_lookup_key_type:type_name -> lemming.dataplane.sai.VlanMcastLookupKeyType + 25, // 2: lemming.dataplane.sai.CreateVlanRequest.unknown_unicast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType + 25, // 3: lemming.dataplane.sai.CreateVlanRequest.unknown_multicast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType + 25, // 4: lemming.dataplane.sai.CreateVlanRequest.broadcast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType + 24, // 5: lemming.dataplane.sai.SetVlanAttributeRequest.ipv4_mcast_lookup_key_type:type_name -> lemming.dataplane.sai.VlanMcastLookupKeyType + 24, // 6: lemming.dataplane.sai.SetVlanAttributeRequest.ipv6_mcast_lookup_key_type:type_name -> lemming.dataplane.sai.VlanMcastLookupKeyType + 25, // 7: lemming.dataplane.sai.SetVlanAttributeRequest.unknown_unicast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType + 25, // 8: lemming.dataplane.sai.SetVlanAttributeRequest.unknown_multicast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType + 25, // 9: lemming.dataplane.sai.SetVlanAttributeRequest.broadcast_flood_control_type:type_name -> lemming.dataplane.sai.VlanFloodControlType 0, // 10: lemming.dataplane.sai.GetVlanAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.VlanAttr - 24, // 11: lemming.dataplane.sai.GetVlanAttributeResponse.attr:type_name -> lemming.dataplane.sai.VlanAttribute - 25, // 12: lemming.dataplane.sai.CreateVlanMemberRequest.vlan_tagging_mode:type_name -> lemming.dataplane.sai.VlanTaggingMode - 25, // 13: lemming.dataplane.sai.SetVlanMemberAttributeRequest.vlan_tagging_mode:type_name -> lemming.dataplane.sai.VlanTaggingMode + 26, // 11: lemming.dataplane.sai.GetVlanAttributeResponse.attr:type_name -> lemming.dataplane.sai.VlanAttribute + 27, // 12: lemming.dataplane.sai.CreateVlanMemberRequest.vlan_tagging_mode:type_name -> lemming.dataplane.sai.VlanTaggingMode + 27, // 13: lemming.dataplane.sai.SetVlanMemberAttributeRequest.vlan_tagging_mode:type_name -> lemming.dataplane.sai.VlanTaggingMode 1, // 14: lemming.dataplane.sai.GetVlanMemberAttributeRequest.attr_type:type_name -> lemming.dataplane.sai.VlanMemberAttr - 26, // 15: lemming.dataplane.sai.GetVlanMemberAttributeResponse.attr:type_name -> lemming.dataplane.sai.VlanMemberAttribute + 28, // 15: lemming.dataplane.sai.GetVlanMemberAttributeResponse.attr:type_name -> lemming.dataplane.sai.VlanMemberAttribute 10, // 16: lemming.dataplane.sai.CreateVlanMembersRequest.reqs:type_name -> lemming.dataplane.sai.CreateVlanMemberRequest 11, // 17: lemming.dataplane.sai.CreateVlanMembersResponse.resps:type_name -> lemming.dataplane.sai.CreateVlanMemberResponse - 27, // 18: lemming.dataplane.sai.GetVlanStatsRequest.counter_ids:type_name -> lemming.dataplane.sai.VlanStat - 2, // 19: lemming.dataplane.sai.Vlan.CreateVlan:input_type -> lemming.dataplane.sai.CreateVlanRequest - 4, // 20: lemming.dataplane.sai.Vlan.RemoveVlan:input_type -> lemming.dataplane.sai.RemoveVlanRequest - 6, // 21: lemming.dataplane.sai.Vlan.SetVlanAttribute:input_type -> lemming.dataplane.sai.SetVlanAttributeRequest - 8, // 22: lemming.dataplane.sai.Vlan.GetVlanAttribute:input_type -> lemming.dataplane.sai.GetVlanAttributeRequest - 10, // 23: lemming.dataplane.sai.Vlan.CreateVlanMember:input_type -> lemming.dataplane.sai.CreateVlanMemberRequest - 12, // 24: lemming.dataplane.sai.Vlan.RemoveVlanMember:input_type -> lemming.dataplane.sai.RemoveVlanMemberRequest - 14, // 25: lemming.dataplane.sai.Vlan.SetVlanMemberAttribute:input_type -> lemming.dataplane.sai.SetVlanMemberAttributeRequest - 16, // 26: lemming.dataplane.sai.Vlan.GetVlanMemberAttribute:input_type -> lemming.dataplane.sai.GetVlanMemberAttributeRequest - 18, // 27: lemming.dataplane.sai.Vlan.CreateVlanMembers:input_type -> lemming.dataplane.sai.CreateVlanMembersRequest - 20, // 28: lemming.dataplane.sai.Vlan.GetVlanStats:input_type -> lemming.dataplane.sai.GetVlanStatsRequest - 3, // 29: lemming.dataplane.sai.Vlan.CreateVlan:output_type -> lemming.dataplane.sai.CreateVlanResponse - 5, // 30: lemming.dataplane.sai.Vlan.RemoveVlan:output_type -> lemming.dataplane.sai.RemoveVlanResponse - 7, // 31: lemming.dataplane.sai.Vlan.SetVlanAttribute:output_type -> lemming.dataplane.sai.SetVlanAttributeResponse - 9, // 32: lemming.dataplane.sai.Vlan.GetVlanAttribute:output_type -> lemming.dataplane.sai.GetVlanAttributeResponse - 11, // 33: lemming.dataplane.sai.Vlan.CreateVlanMember:output_type -> lemming.dataplane.sai.CreateVlanMemberResponse - 13, // 34: lemming.dataplane.sai.Vlan.RemoveVlanMember:output_type -> lemming.dataplane.sai.RemoveVlanMemberResponse - 15, // 35: lemming.dataplane.sai.Vlan.SetVlanMemberAttribute:output_type -> lemming.dataplane.sai.SetVlanMemberAttributeResponse - 17, // 36: lemming.dataplane.sai.Vlan.GetVlanMemberAttribute:output_type -> lemming.dataplane.sai.GetVlanMemberAttributeResponse - 19, // 37: lemming.dataplane.sai.Vlan.CreateVlanMembers:output_type -> lemming.dataplane.sai.CreateVlanMembersResponse - 21, // 38: lemming.dataplane.sai.Vlan.GetVlanStats:output_type -> lemming.dataplane.sai.GetVlanStatsResponse - 29, // [29:39] is the sub-list for method output_type - 19, // [19:29] is the sub-list for method input_type - 19, // [19:19] is the sub-list for extension type_name - 19, // [19:19] is the sub-list for extension extendee - 0, // [0:19] is the sub-list for field type_name + 12, // 18: lemming.dataplane.sai.RemoveVlanMembersRequest.reqs:type_name -> lemming.dataplane.sai.RemoveVlanMemberRequest + 13, // 19: lemming.dataplane.sai.RemoveVlanMembersResponse.resps:type_name -> lemming.dataplane.sai.RemoveVlanMemberResponse + 29, // 20: lemming.dataplane.sai.GetVlanStatsRequest.counter_ids:type_name -> lemming.dataplane.sai.VlanStat + 2, // 21: lemming.dataplane.sai.Vlan.CreateVlan:input_type -> lemming.dataplane.sai.CreateVlanRequest + 4, // 22: lemming.dataplane.sai.Vlan.RemoveVlan:input_type -> lemming.dataplane.sai.RemoveVlanRequest + 6, // 23: lemming.dataplane.sai.Vlan.SetVlanAttribute:input_type -> lemming.dataplane.sai.SetVlanAttributeRequest + 8, // 24: lemming.dataplane.sai.Vlan.GetVlanAttribute:input_type -> lemming.dataplane.sai.GetVlanAttributeRequest + 10, // 25: lemming.dataplane.sai.Vlan.CreateVlanMember:input_type -> lemming.dataplane.sai.CreateVlanMemberRequest + 12, // 26: lemming.dataplane.sai.Vlan.RemoveVlanMember:input_type -> lemming.dataplane.sai.RemoveVlanMemberRequest + 14, // 27: lemming.dataplane.sai.Vlan.SetVlanMemberAttribute:input_type -> lemming.dataplane.sai.SetVlanMemberAttributeRequest + 16, // 28: lemming.dataplane.sai.Vlan.GetVlanMemberAttribute:input_type -> lemming.dataplane.sai.GetVlanMemberAttributeRequest + 18, // 29: lemming.dataplane.sai.Vlan.CreateVlanMembers:input_type -> lemming.dataplane.sai.CreateVlanMembersRequest + 20, // 30: lemming.dataplane.sai.Vlan.RemoveVlanMembers:input_type -> lemming.dataplane.sai.RemoveVlanMembersRequest + 22, // 31: lemming.dataplane.sai.Vlan.GetVlanStats:input_type -> lemming.dataplane.sai.GetVlanStatsRequest + 3, // 32: lemming.dataplane.sai.Vlan.CreateVlan:output_type -> lemming.dataplane.sai.CreateVlanResponse + 5, // 33: lemming.dataplane.sai.Vlan.RemoveVlan:output_type -> lemming.dataplane.sai.RemoveVlanResponse + 7, // 34: lemming.dataplane.sai.Vlan.SetVlanAttribute:output_type -> lemming.dataplane.sai.SetVlanAttributeResponse + 9, // 35: lemming.dataplane.sai.Vlan.GetVlanAttribute:output_type -> lemming.dataplane.sai.GetVlanAttributeResponse + 11, // 36: lemming.dataplane.sai.Vlan.CreateVlanMember:output_type -> lemming.dataplane.sai.CreateVlanMemberResponse + 13, // 37: lemming.dataplane.sai.Vlan.RemoveVlanMember:output_type -> lemming.dataplane.sai.RemoveVlanMemberResponse + 15, // 38: lemming.dataplane.sai.Vlan.SetVlanMemberAttribute:output_type -> lemming.dataplane.sai.SetVlanMemberAttributeResponse + 17, // 39: lemming.dataplane.sai.Vlan.GetVlanMemberAttribute:output_type -> lemming.dataplane.sai.GetVlanMemberAttributeResponse + 19, // 40: lemming.dataplane.sai.Vlan.CreateVlanMembers:output_type -> lemming.dataplane.sai.CreateVlanMembersResponse + 21, // 41: lemming.dataplane.sai.Vlan.RemoveVlanMembers:output_type -> lemming.dataplane.sai.RemoveVlanMembersResponse + 23, // 42: lemming.dataplane.sai.Vlan.GetVlanStats:output_type -> lemming.dataplane.sai.GetVlanStatsResponse + 32, // [32:43] is the sub-list for method output_type + 21, // [21:32] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_dataplane_proto_sai_vlan_proto_init() } @@ -2322,7 +2442,7 @@ func file_dataplane_proto_sai_vlan_proto_init() { } } file_dataplane_proto_sai_vlan_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVlanStatsRequest); i { + switch v := v.(*RemoveVlanMembersRequest); i { case 0: return &v.state case 1: @@ -2334,6 +2454,30 @@ func file_dataplane_proto_sai_vlan_proto_init() { } } file_dataplane_proto_sai_vlan_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveVlanMembersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_vlan_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVlanStatsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_dataplane_proto_sai_vlan_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVlanStatsResponse); i { case 0: return &v.state @@ -2356,7 +2500,7 @@ func file_dataplane_proto_sai_vlan_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_dataplane_proto_sai_vlan_proto_rawDesc, NumEnums: 2, - NumMessages: 20, + NumMessages: 22, NumExtensions: 0, NumServices: 1, }, @@ -2392,6 +2536,7 @@ type VlanClient interface { SetVlanMemberAttribute(ctx context.Context, in *SetVlanMemberAttributeRequest, opts ...grpc.CallOption) (*SetVlanMemberAttributeResponse, error) GetVlanMemberAttribute(ctx context.Context, in *GetVlanMemberAttributeRequest, opts ...grpc.CallOption) (*GetVlanMemberAttributeResponse, error) CreateVlanMembers(ctx context.Context, in *CreateVlanMembersRequest, opts ...grpc.CallOption) (*CreateVlanMembersResponse, error) + RemoveVlanMembers(ctx context.Context, in *RemoveVlanMembersRequest, opts ...grpc.CallOption) (*RemoveVlanMembersResponse, error) GetVlanStats(ctx context.Context, in *GetVlanStatsRequest, opts ...grpc.CallOption) (*GetVlanStatsResponse, error) } @@ -2484,6 +2629,15 @@ func (c *vlanClient) CreateVlanMembers(ctx context.Context, in *CreateVlanMember return out, nil } +func (c *vlanClient) RemoveVlanMembers(ctx context.Context, in *RemoveVlanMembersRequest, opts ...grpc.CallOption) (*RemoveVlanMembersResponse, error) { + out := new(RemoveVlanMembersResponse) + err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Vlan/RemoveVlanMembers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *vlanClient) GetVlanStats(ctx context.Context, in *GetVlanStatsRequest, opts ...grpc.CallOption) (*GetVlanStatsResponse, error) { out := new(GetVlanStatsResponse) err := c.cc.Invoke(ctx, "/lemming.dataplane.sai.Vlan/GetVlanStats", in, out, opts...) @@ -2504,6 +2658,7 @@ type VlanServer interface { SetVlanMemberAttribute(context.Context, *SetVlanMemberAttributeRequest) (*SetVlanMemberAttributeResponse, error) GetVlanMemberAttribute(context.Context, *GetVlanMemberAttributeRequest) (*GetVlanMemberAttributeResponse, error) CreateVlanMembers(context.Context, *CreateVlanMembersRequest) (*CreateVlanMembersResponse, error) + RemoveVlanMembers(context.Context, *RemoveVlanMembersRequest) (*RemoveVlanMembersResponse, error) GetVlanStats(context.Context, *GetVlanStatsRequest) (*GetVlanStatsResponse, error) } @@ -2538,6 +2693,9 @@ func (*UnimplementedVlanServer) GetVlanMemberAttribute(context.Context, *GetVlan func (*UnimplementedVlanServer) CreateVlanMembers(context.Context, *CreateVlanMembersRequest) (*CreateVlanMembersResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateVlanMembers not implemented") } +func (*UnimplementedVlanServer) RemoveVlanMembers(context.Context, *RemoveVlanMembersRequest) (*RemoveVlanMembersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveVlanMembers not implemented") +} func (*UnimplementedVlanServer) GetVlanStats(context.Context, *GetVlanStatsRequest) (*GetVlanStatsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetVlanStats not implemented") } @@ -2708,6 +2866,24 @@ func _Vlan_CreateVlanMembers_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Vlan_RemoveVlanMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveVlanMembersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VlanServer).RemoveVlanMembers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/lemming.dataplane.sai.Vlan/RemoveVlanMembers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VlanServer).RemoveVlanMembers(ctx, req.(*RemoveVlanMembersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Vlan_GetVlanStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetVlanStatsRequest) if err := dec(in); err != nil { @@ -2766,6 +2942,10 @@ var _Vlan_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateVlanMembers", Handler: _Vlan_CreateVlanMembers_Handler, }, + { + MethodName: "RemoveVlanMembers", + Handler: _Vlan_RemoveVlanMembers_Handler, + }, { MethodName: "GetVlanStats", Handler: _Vlan_GetVlanStats_Handler, diff --git a/dataplane/proto/sai/vlan.proto b/dataplane/proto/sai/vlan.proto index cca0406a..2424d7a4 100644 --- a/dataplane/proto/sai/vlan.proto +++ b/dataplane/proto/sai/vlan.proto @@ -171,6 +171,14 @@ message CreateVlanMembersResponse { repeated CreateVlanMemberResponse resps = 1; } +message RemoveVlanMembersRequest { + repeated RemoveVlanMemberRequest reqs = 1; +} + +message RemoveVlanMembersResponse { + repeated RemoveVlanMemberResponse resps = 1; +} + message GetVlanStatsRequest { uint64 oid = 1; repeated VlanStat counter_ids = 2; @@ -197,5 +205,7 @@ service Vlan { returns (GetVlanMemberAttributeResponse) {} rpc CreateVlanMembers(CreateVlanMembersRequest) returns (CreateVlanMembersResponse) {} + rpc RemoveVlanMembers(RemoveVlanMembersRequest) + returns (RemoveVlanMembersResponse) {} rpc GetVlanStats(GetVlanStatsRequest) returns (GetVlanStatsResponse) {} } diff --git a/dataplane/saiserver/policer.go b/dataplane/saiserver/policer.go index 508d4a78..bb7b5892 100644 --- a/dataplane/saiserver/policer.go +++ b/dataplane/saiserver/policer.go @@ -41,6 +41,17 @@ func newPolicer(mgr *attrmgr.AttrMgr, dataplane switchDataplaneAPI, s *grpc.Serv // CreatePolicer return policer. func (p *policer) CreatePolicer(context.Context, *saipb.CreatePolicerRequest) (*saipb.CreatePolicerResponse, error) { + id := p.mgr.NextID() // TODO: provide implementation. - return &saipb.CreatePolicerResponse{}, nil + return &saipb.CreatePolicerResponse{ + Oid: id, + }, nil +} + +func (p *policer) RemovePolicer(context.Context, *saipb.RemovePolicerRequest) (*saipb.RemovePolicerResponse, error) { + return &saipb.RemovePolicerResponse{}, nil +} + +func (p *policer) SetPolicerAttribute(context.Context, *saipb.SetPolicerAttributeRequest) (*saipb.SetPolicerAttributeResponse, error) { + return &saipb.SetPolicerAttributeResponse{}, nil } diff --git a/dataplane/saiserver/routing.go b/dataplane/saiserver/routing.go index b9933def..62c01ad2 100644 --- a/dataplane/saiserver/routing.go +++ b/dataplane/saiserver/routing.go @@ -1038,3 +1038,67 @@ func (h *hash) CreateHash(_ context.Context, req *saipb.CreateHashRequest) (*sai return &saipb.CreateHashResponse{Oid: id}, nil } + +type virtualRouter struct { + saipb.UnimplementedVirtualRouterServer + mgr *attrmgr.AttrMgr + dataplane switchDataplaneAPI +} + +func newVirtualRouter(mgr *attrmgr.AttrMgr, dataplane switchDataplaneAPI, s *grpc.Server) *virtualRouter { + vr := &virtualRouter{ + mgr: mgr, + dataplane: dataplane, + } + saipb.RegisterVirtualRouterServer(s, vr) + return vr +} + +func (vr *virtualRouter) CreateVirtualRouter(context.Context, *saipb.CreateVirtualRouterRequest) (*saipb.CreateVirtualRouterResponse, error) { + id := vr.mgr.NextID() + + return &saipb.CreateVirtualRouterResponse{Oid: id}, nil +} + +func (vr *virtualRouter) RemoveVirtualRouter(context.Context, *saipb.RemoveVirtualRouterRequest) (*saipb.RemoveVirtualRouterResponse, error) { + return &saipb.RemoveVirtualRouterResponse{}, nil +} + +func (vr *virtualRouter) SetVirtualRouterAttribute(context.Context, *saipb.SetVirtualRouterAttributeRequest) (*saipb.SetVirtualRouterAttributeResponse, error) { + return &saipb.SetVirtualRouterAttributeResponse{}, nil +} + +type rpfGroup struct { + saipb.UnimplementedRpfGroupServer + mgr *attrmgr.AttrMgr + dataplane switchDataplaneAPI +} + +func newRpfGroup(mgr *attrmgr.AttrMgr, dataplane switchDataplaneAPI, s *grpc.Server) *rpfGroup { + rpf := &rpfGroup{ + mgr: mgr, + dataplane: dataplane, + } + saipb.RegisterRpfGroupServer(s, rpf) + return rpf +} + +func (rpf *rpfGroup) CreateRpfGroup(context.Context, *saipb.CreateRpfGroupRequest) (*saipb.CreateRpfGroupResponse, error) { + id := rpf.mgr.NextID() + + return &saipb.CreateRpfGroupResponse{Oid: id}, nil +} + +func (rpf *rpfGroup) CreateRpfGroupMember(context.Context, *saipb.CreateRpfGroupMemberRequest) (*saipb.CreateRpfGroupMemberResponse, error) { + id := rpf.mgr.NextID() + + return &saipb.CreateRpfGroupMemberResponse{Oid: id}, nil +} + +func (rpf *rpfGroup) RemoveRpfGroup(context.Context, *saipb.RemoveRpfGroupRequest) (*saipb.RemoveRpfGroupResponse, error) { + return &saipb.RemoveRpfGroupResponse{}, nil +} + +func (rpf *rpfGroup) RemoveRpfGroupMember(context.Context, *saipb.RemoveRpfGroupMemberRequest) (*saipb.RemoveRpfGroupMemberResponse, error) { + return &saipb.RemoveRpfGroupMemberResponse{}, nil +} diff --git a/dataplane/saiserver/saiserver.go b/dataplane/saiserver/saiserver.go index 2a8b6ec9..0fe28826 100644 --- a/dataplane/saiserver/saiserver.go +++ b/dataplane/saiserver/saiserver.go @@ -86,10 +86,6 @@ type nat struct { saipb.UnimplementedNatServer } -type rpfGroup struct { - saipb.UnimplementedRpfGroupServer -} - type samplePacket struct { saipb.UnimplementedSamplepacketServer } @@ -110,10 +106,6 @@ type tam struct { saipb.UnimplementedTamServer } -type virtualRouter struct { - saipb.UnimplementedVirtualRouterServer -} - type wred struct { saipb.UnimplementedWredServer } @@ -146,7 +138,6 @@ type Server struct { mirror *mirror mpls *mpls nat *nat - rpfGroup *rpfGroup samplePacket *samplePacket srv6 *srv6 saiSwitch *saiSwitch @@ -227,7 +218,6 @@ func New(ctx context.Context, mgr *attrmgr.AttrMgr, s *grpc.Server, opts *dplane mirror: &mirror{}, mpls: &mpls{}, nat: &nat{}, - rpfGroup: &rpfGroup{}, samplePacket: &samplePacket{}, srv6: &srv6{}, saiSwitch: sw, @@ -251,7 +241,6 @@ func New(ctx context.Context, mgr *attrmgr.AttrMgr, s *grpc.Server, opts *dplane saipb.RegisterMirrorServer(s, srv.mirror) saipb.RegisterMplsServer(s, srv.mpls) saipb.RegisterNatServer(s, srv.nat) - saipb.RegisterRpfGroupServer(s, srv.rpfGroup) saipb.RegisterSamplepacketServer(s, srv.samplePacket) saipb.RegisterSrv6Server(s, srv.srv6) saipb.RegisterSystemPortServer(s, srv.systemPort) diff --git a/dataplane/saiserver/switch.go b/dataplane/saiserver/switch.go index dd0a3e55..13fe474a 100644 --- a/dataplane/saiserver/switch.go +++ b/dataplane/saiserver/switch.go @@ -41,7 +41,6 @@ type saiSwitch struct { port *port vlan *vlan stp *stp - vr *virtualRouter bridge *bridge hostif *hostif hash *hash @@ -59,9 +58,11 @@ type saiSwitch struct { queue *queue sg *schedulerGroup routerInterface *routerInterface + virtualRouter *virtualRouter udf *udf scheduler *scheduler qosMap *qosMap + rpf *rpfGroup mgr *attrmgr.AttrMgr } @@ -126,7 +127,6 @@ func newSwitch(mgr *attrmgr.AttrMgr, engine switchDataplaneAPI, s *grpc.Server, port: port, vlan: vlan, stp: &stp{}, - vr: &virtualRouter{}, bridge: newBridge(mgr, engine, s), hostif: newHostif(mgr, engine, s, opts), hash: newHash(mgr, engine, s), @@ -144,13 +144,14 @@ func newSwitch(mgr *attrmgr.AttrMgr, engine switchDataplaneAPI, s *grpc.Server, udf: newUdf(mgr, engine, s), scheduler: newScheduler(mgr, engine, s), qosMap: newQOSMap(mgr, engine, s), + virtualRouter: newVirtualRouter(mgr, engine, s), + rpf: newRpfGroup(mgr, engine, s), queue: q, sg: sg, mgr: mgr, } saipb.RegisterSwitchServer(s, sw) saipb.RegisterStpServer(s, sw.stp) - saipb.RegisterVirtualRouterServer(s, sw.vr) return sw, nil } @@ -623,7 +624,7 @@ func (sw *saiSwitch) CreateSwitch(ctx context.Context, _ *saipb.CreateSwitchRequ return nil, err } sw.mgr.StoreAttributes(swID, &saipb.SwitchAttribute{DefaultVlanId: &vlanResp.Oid}) - vrResp, err := attrmgr.InvokeAndSave(ctx, sw.mgr, sw.vr.CreateVirtualRouter, &saipb.CreateVirtualRouterRequest{ + vrResp, err := attrmgr.InvokeAndSave(ctx, sw.mgr, sw.virtualRouter.CreateVirtualRouter, &saipb.CreateVirtualRouterRequest{ Switch: swID, }) if err != nil { diff --git a/dataplane/standalone/pkthandler/BUILD b/dataplane/standalone/pkthandler/BUILD index 15250bd9..35318531 100644 --- a/dataplane/standalone/pkthandler/BUILD +++ b/dataplane/standalone/pkthandler/BUILD @@ -63,5 +63,5 @@ pkg_deb( preinst = "preinst", prerm = "prerm", tags = ["manual"], - version = "1.0-0", + version = "1.2-0", ) diff --git a/dataplane/standalone/sai/acl.cc b/dataplane/standalone/sai/acl.cc index eef2f2d8..da0567ad 100644 --- a/dataplane/standalone/sai/acl.cc +++ b/dataplane/standalone/sai/acl.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/bfd.cc b/dataplane/standalone/sai/bfd.cc index d396a9a5..fd5f041f 100644 --- a/dataplane/standalone/sai/bfd.cc +++ b/dataplane/standalone/sai/bfd.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/bmtor.cc b/dataplane/standalone/sai/bmtor.cc index d1502cbc..3028ae0d 100644 --- a/dataplane/standalone/sai/bmtor.cc +++ b/dataplane/standalone/sai/bmtor.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/bridge.cc b/dataplane/standalone/sai/bridge.cc index a044a4f5..30ee9621 100644 --- a/dataplane/standalone/sai/bridge.cc +++ b/dataplane/standalone/sai/bridge.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/buffer.cc b/dataplane/standalone/sai/buffer.cc index 35828dae..80f6d721 100644 --- a/dataplane/standalone/sai/buffer.cc +++ b/dataplane/standalone/sai/buffer.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/counter.cc b/dataplane/standalone/sai/counter.cc index a1f74e0e..557f59f8 100644 --- a/dataplane/standalone/sai/counter.cc +++ b/dataplane/standalone/sai/counter.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/debug_counter.cc b/dataplane/standalone/sai/debug_counter.cc index 738fa752..14bde7a0 100644 --- a/dataplane/standalone/sai/debug_counter.cc +++ b/dataplane/standalone/sai/debug_counter.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/dtel.cc b/dataplane/standalone/sai/dtel.cc index e736cf6c..22c0e36c 100644 --- a/dataplane/standalone/sai/dtel.cc +++ b/dataplane/standalone/sai/dtel.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/fdb.cc b/dataplane/standalone/sai/fdb.cc index 67ddb874..08bade77 100644 --- a/dataplane/standalone/sai/fdb.cc +++ b/dataplane/standalone/sai/fdb.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -248,7 +246,27 @@ sai_status_t l_remove_fdb_entries(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveFdbEntriesRequest req; + lemming::dataplane::sai::RemoveFdbEntriesResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + } + + grpc::Status status = fdb->RemoveFdbEntries(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_set_fdb_entries_attribute(uint32_t object_count, diff --git a/dataplane/standalone/sai/generic_programmable.cc b/dataplane/standalone/sai/generic_programmable.cc index 3b7bc52f..e68a0bd1 100644 --- a/dataplane/standalone/sai/generic_programmable.cc +++ b/dataplane/standalone/sai/generic_programmable.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/hash.cc b/dataplane/standalone/sai/hash.cc index caa3b76d..ab9b44dc 100644 --- a/dataplane/standalone/sai/hash.cc +++ b/dataplane/standalone/sai/hash.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/hostif.cc b/dataplane/standalone/sai/hostif.cc index 8a4d05b2..ae712a7f 100644 --- a/dataplane/standalone/sai/hostif.cc +++ b/dataplane/standalone/sai/hostif.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/ipmc.cc b/dataplane/standalone/sai/ipmc.cc index 5fc0b058..78616929 100644 --- a/dataplane/standalone/sai/ipmc.cc +++ b/dataplane/standalone/sai/ipmc.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/ipmc_group.cc b/dataplane/standalone/sai/ipmc_group.cc index 619e8a6e..9f9a0889 100644 --- a/dataplane/standalone/sai/ipmc_group.cc +++ b/dataplane/standalone/sai/ipmc_group.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/ipsec.cc b/dataplane/standalone/sai/ipsec.cc index f716069e..44cd36e3 100644 --- a/dataplane/standalone/sai/ipsec.cc +++ b/dataplane/standalone/sai/ipsec.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/isolation_group.cc b/dataplane/standalone/sai/isolation_group.cc index dc80b612..d29ce0b1 100644 --- a/dataplane/standalone/sai/isolation_group.cc +++ b/dataplane/standalone/sai/isolation_group.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/l2mc.cc b/dataplane/standalone/sai/l2mc.cc index 730c70cd..06382b5c 100644 --- a/dataplane/standalone/sai/l2mc.cc +++ b/dataplane/standalone/sai/l2mc.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/l2mc_group.cc b/dataplane/standalone/sai/l2mc_group.cc index 129fc5c5..cd386fdc 100644 --- a/dataplane/standalone/sai/l2mc_group.cc +++ b/dataplane/standalone/sai/l2mc_group.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/lag.cc b/dataplane/standalone/sai/lag.cc index 6ce38123..22e809da 100644 --- a/dataplane/standalone/sai/lag.cc +++ b/dataplane/standalone/sai/lag.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -383,5 +381,26 @@ sai_status_t l_remove_lag_members(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveLagMembersRequest req; + lemming::dataplane::sai::RemoveLagMembersResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + req.add_reqs()->set_oid(object_id[i]); + } + + grpc::Status status = lag->RemoveLagMembers(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } diff --git a/dataplane/standalone/sai/macsec.cc b/dataplane/standalone/sai/macsec.cc index dcc5df11..53ff8558 100644 --- a/dataplane/standalone/sai/macsec.cc +++ b/dataplane/standalone/sai/macsec.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/mcast_fdb.cc b/dataplane/standalone/sai/mcast_fdb.cc index ee70dc88..0180a2fc 100644 --- a/dataplane/standalone/sai/mcast_fdb.cc +++ b/dataplane/standalone/sai/mcast_fdb.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/mirror.cc b/dataplane/standalone/sai/mirror.cc index 370d46c8..67eccd8a 100644 --- a/dataplane/standalone/sai/mirror.cc +++ b/dataplane/standalone/sai/mirror.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/mpls.cc b/dataplane/standalone/sai/mpls.cc index fce359c4..89a35096 100644 --- a/dataplane/standalone/sai/mpls.cc +++ b/dataplane/standalone/sai/mpls.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -278,7 +276,27 @@ sai_status_t l_remove_inseg_entries(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveInsegEntriesRequest req; + lemming::dataplane::sai::RemoveInsegEntriesResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + } + + grpc::Status status = mpls->RemoveInsegEntries(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_set_inseg_entries_attribute(uint32_t object_count, diff --git a/dataplane/standalone/sai/my_mac.cc b/dataplane/standalone/sai/my_mac.cc index 0bc578d7..ea6dc5a5 100644 --- a/dataplane/standalone/sai/my_mac.cc +++ b/dataplane/standalone/sai/my_mac.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/nat.cc b/dataplane/standalone/sai/nat.cc index a33a60d6..fc284041 100644 --- a/dataplane/standalone/sai/nat.cc +++ b/dataplane/standalone/sai/nat.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -346,7 +344,27 @@ sai_status_t l_remove_nat_entries(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveNatEntriesRequest req; + lemming::dataplane::sai::RemoveNatEntriesResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + } + + grpc::Status status = nat->RemoveNatEntries(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_set_nat_entries_attribute(uint32_t object_count, diff --git a/dataplane/standalone/sai/neighbor.cc b/dataplane/standalone/sai/neighbor.cc index ae17edb5..e0ca82e9 100644 --- a/dataplane/standalone/sai/neighbor.cc +++ b/dataplane/standalone/sai/neighbor.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -261,7 +259,29 @@ sai_status_t l_remove_neighbor_entries( uint32_t object_count, const sai_neighbor_entry_t *neighbor_entry, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveNeighborEntriesRequest req; + lemming::dataplane::sai::RemoveNeighborEntriesResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + *req.add_reqs()->mutable_entry() = + convert_from_neighbor_entry(neighbor_entry[i]); + } + + grpc::Status status = neighbor->RemoveNeighborEntries(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_set_neighbor_entries_attribute( diff --git a/dataplane/standalone/sai/next_hop.cc b/dataplane/standalone/sai/next_hop.cc index 7a423dc6..230e7f8f 100644 --- a/dataplane/standalone/sai/next_hop.cc +++ b/dataplane/standalone/sai/next_hop.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -316,7 +314,28 @@ sai_status_t l_remove_next_hops(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveNextHopsRequest req; + lemming::dataplane::sai::RemoveNextHopsResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + req.add_reqs()->set_oid(object_id[i]); + } + + grpc::Status status = next_hop->RemoveNextHops(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_set_next_hops_attribute(uint32_t object_count, diff --git a/dataplane/standalone/sai/next_hop_group.cc b/dataplane/standalone/sai/next_hop_group.cc index 6d044e42..ec7e5f13 100644 --- a/dataplane/standalone/sai/next_hop_group.cc +++ b/dataplane/standalone/sai/next_hop_group.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -435,7 +433,29 @@ sai_status_t l_remove_next_hop_group_members(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveNextHopGroupMembersRequest req; + lemming::dataplane::sai::RemoveNextHopGroupMembersResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + req.add_reqs()->set_oid(object_id[i]); + } + + grpc::Status status = + next_hop_group->RemoveNextHopGroupMembers(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_create_next_hop_group_map(sai_object_id_t *next_hop_group_map_id, diff --git a/dataplane/standalone/sai/policer.cc b/dataplane/standalone/sai/policer.cc index 2a327c62..e49ba0c0 100644 --- a/dataplane/standalone/sai/policer.cc +++ b/dataplane/standalone/sai/policer.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/port.cc b/dataplane/standalone/sai/port.cc index f09a3490..3df8569d 100644 --- a/dataplane/standalone/sai/port.cc +++ b/dataplane/standalone/sai/port.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -1860,7 +1858,28 @@ sai_status_t l_remove_ports(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemovePortsRequest req; + lemming::dataplane::sai::RemovePortsResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + req.add_reqs()->set_oid(object_id[i]); + } + + grpc::Status status = port->RemovePorts(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_set_ports_attribute(uint32_t object_count, diff --git a/dataplane/standalone/sai/qos_map.cc b/dataplane/standalone/sai/qos_map.cc index 40093731..fc577abd 100644 --- a/dataplane/standalone/sai/qos_map.cc +++ b/dataplane/standalone/sai/qos_map.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/queue.cc b/dataplane/standalone/sai/queue.cc index cf7b18ed..0b7a1e83 100644 --- a/dataplane/standalone/sai/queue.cc +++ b/dataplane/standalone/sai/queue.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/route.cc b/dataplane/standalone/sai/route.cc index 3a6c9391..1278257c 100644 --- a/dataplane/standalone/sai/route.cc +++ b/dataplane/standalone/sai/route.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -222,7 +220,28 @@ sai_status_t l_remove_route_entries(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveRouteEntriesRequest req; + lemming::dataplane::sai::RemoveRouteEntriesResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + *req.add_reqs()->mutable_entry() = convert_from_route_entry(route_entry[i]); + } + + grpc::Status status = route->RemoveRouteEntries(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_set_route_entries_attribute(uint32_t object_count, diff --git a/dataplane/standalone/sai/router_interface.cc b/dataplane/standalone/sai/router_interface.cc index 611cbc33..85430f2b 100644 --- a/dataplane/standalone/sai/router_interface.cc +++ b/dataplane/standalone/sai/router_interface.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/rpf_group.cc b/dataplane/standalone/sai/rpf_group.cc index 6ca77800..b4d1fad9 100644 --- a/dataplane/standalone/sai/rpf_group.cc +++ b/dataplane/standalone/sai/rpf_group.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/samplepacket.cc b/dataplane/standalone/sai/samplepacket.cc index 558e673e..32eab31b 100644 --- a/dataplane/standalone/sai/samplepacket.cc +++ b/dataplane/standalone/sai/samplepacket.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/scheduler.cc b/dataplane/standalone/sai/scheduler.cc index 3192df55..a64f517d 100644 --- a/dataplane/standalone/sai/scheduler.cc +++ b/dataplane/standalone/sai/scheduler.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/scheduler_group.cc b/dataplane/standalone/sai/scheduler_group.cc index 9a718982..f3ae169e 100644 --- a/dataplane/standalone/sai/scheduler_group.cc +++ b/dataplane/standalone/sai/scheduler_group.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/srv6.cc b/dataplane/standalone/sai/srv6.cc index 80c18432..b566d880 100644 --- a/dataplane/standalone/sai/srv6.cc +++ b/dataplane/standalone/sai/srv6.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -214,7 +212,28 @@ sai_status_t l_remove_srv6_sidlists(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveSrv6SidlistsRequest req; + lemming::dataplane::sai::RemoveSrv6SidlistsResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + req.add_reqs()->set_oid(object_id[i]); + } + + grpc::Status status = srv6->RemoveSrv6Sidlists(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_create_my_sid_entry(const sai_my_sid_entry_t *my_sid_entry, @@ -392,7 +411,27 @@ sai_status_t l_remove_my_sid_entries(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveMySidEntriesRequest req; + lemming::dataplane::sai::RemoveMySidEntriesResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + } + + grpc::Status status = srv6->RemoveMySidEntries(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_set_my_sid_entries_attribute( diff --git a/dataplane/standalone/sai/stp.cc b/dataplane/standalone/sai/stp.cc index d6170081..0a33e1d8 100644 --- a/dataplane/standalone/sai/stp.cc +++ b/dataplane/standalone/sai/stp.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -286,5 +284,26 @@ sai_status_t l_remove_stp_ports(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveStpPortsRequest req; + lemming::dataplane::sai::RemoveStpPortsResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + req.add_reqs()->set_oid(object_id[i]); + } + + grpc::Status status = stp->RemoveStpPorts(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } diff --git a/dataplane/standalone/sai/switch.cc b/dataplane/standalone/sai/switch.cc index 6e83c2c1..605ca6dd 100644 --- a/dataplane/standalone/sai/switch.cc +++ b/dataplane/standalone/sai/switch.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/system_port.cc b/dataplane/standalone/sai/system_port.cc index 7799afaf..6bf3ad63 100644 --- a/dataplane/standalone/sai/system_port.cc +++ b/dataplane/standalone/sai/system_port.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/tam.cc b/dataplane/standalone/sai/tam.cc index d46ae045..025d5a45 100644 --- a/dataplane/standalone/sai/tam.cc +++ b/dataplane/standalone/sai/tam.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/tunnel.cc b/dataplane/standalone/sai/tunnel.cc index 038f8f72..0daae3a6 100644 --- a/dataplane/standalone/sai/tunnel.cc +++ b/dataplane/standalone/sai/tunnel.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -976,7 +974,28 @@ sai_status_t l_remove_tunnels(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveTunnelsRequest req; + lemming::dataplane::sai::RemoveTunnelsResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + req.add_reqs()->set_oid(object_id[i]); + } + + grpc::Status status = tunnel->RemoveTunnels(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_set_tunnels_attribute(uint32_t object_count, diff --git a/dataplane/standalone/sai/udf.cc b/dataplane/standalone/sai/udf.cc index 28d56590..f9e5a437 100644 --- a/dataplane/standalone/sai/udf.cc +++ b/dataplane/standalone/sai/udf.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/virtual_router.cc b/dataplane/standalone/sai/virtual_router.cc index e9afabd0..a71800f7 100644 --- a/dataplane/standalone/sai/virtual_router.cc +++ b/dataplane/standalone/sai/virtual_router.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/dataplane/standalone/sai/vlan.cc b/dataplane/standalone/sai/vlan.cc index f54ca3b1..d119f523 100644 --- a/dataplane/standalone/sai/vlan.cc +++ b/dataplane/standalone/sai/vlan.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -525,7 +523,28 @@ sai_status_t l_remove_vlan_members(uint32_t object_count, sai_bulk_op_error_mode_t mode, sai_status_t *object_statuses) { LOG(INFO) << "Func: " << __PRETTY_FUNCTION__; - return SAI_STATUS_NOT_IMPLEMENTED; + + lemming::dataplane::sai::RemoveVlanMembersRequest req; + lemming::dataplane::sai::RemoveVlanMembersResponse resp; + grpc::ClientContext context; + + for (uint32_t i = 0; i < object_count; i++) { + req.add_reqs()->set_oid(object_id[i]); + } + + grpc::Status status = vlan->RemoveVlanMembers(&context, req, &resp); + if (!status.ok()) { + LOG(ERROR) << status.error_message(); + return SAI_STATUS_FAILURE; + } + if (object_count != resp.resps().size()) { + return SAI_STATUS_FAILURE; + } + for (uint32_t i = 0; i < object_count; i++) { + object_statuses[i] = SAI_STATUS_SUCCESS; + } + + return SAI_STATUS_SUCCESS; } sai_status_t l_get_vlan_stats(sai_object_id_t vlan_id, diff --git a/dataplane/standalone/sai/wred.cc b/dataplane/standalone/sai/wred.cc index b1f07b71..6367e493 100644 --- a/dataplane/standalone/sai/wred.cc +++ b/dataplane/standalone/sai/wred.cc @@ -1,5 +1,3 @@ - - // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License");