diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2016-05-10 14:10:43 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2016-05-10 14:10:43 +0900 |
commit | f9a9c410c3b221b515bad9fcf154990be7bb70fa (patch) | |
tree | 3c30aa3cf8c5394bd18c87721c7e47ea2b34e19f /api | |
parent | d7e1add28af9aec2ad61d2779651b17f5e6ab7ac (diff) |
Refactoring GRPC API
Let's follow the conventions of GRPC
- Stop using one method for multiple operations like add, delete,
etc. IOW, remove all the ModHoge APIs.
- Stop abusing Streaming RPC API.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Diffstat (limited to 'api')
-rw-r--r-- | api/gobgp.pb.go | 3786 | ||||
-rw-r--r-- | api/gobgp.proto | 861 |
2 files changed, 3110 insertions, 1537 deletions
diff --git a/api/gobgp.pb.go b/api/gobgp.pb.go index 0182000d..91a6bf71 100644 --- a/api/gobgp.pb.go +++ b/api/gobgp.pb.go @@ -1,33 +1,114 @@ // Code generated by protoc-gen-go. -// source: gobgp.proto +// source: api/gobgp.proto // DO NOT EDIT! /* Package gobgpapi is a generated protocol buffer package. It is generated from these files: - gobgp.proto + api/gobgp.proto It has these top-level messages: - Error + GetNeighborRequest + GetNeighborResponse Arguments - ModPathArguments - ModPathResponse - ModPathsArguments - ModNeighborArguments + AddPathRequest + AddPathResponse + DeletePathRequest + DeletePathResponse + AddNeighborRequest + AddNeighborResponse + DeleteNeighborRequest + DeleteNeighborResponse + ResetNeighborRequest + ResetNeighborResponse + SoftResetNeighborRequest + SoftResetNeighborResponse + ShutdownNeighborRequest + ShutdownNeighborResponse + EnableNeighborRequest + EnableNeighborResponse + DisableNeighborRequest + DisableNeighborResponse MrtArguments - ModMrtArguments - ModBmpArguments - ModRpkiArguments - ModVrfArguments - ModDefinedSetArguments - ModStatementArguments - ModPolicyArguments - ModPolicyAssignmentArguments - ModGlobalConfigArguments + EnableMrtRequest + EnableMrtResponse + DisableMrtRequest + DisableMrtResponse + InjectMrtRequest + InjectMrtResponse + AddBmpRequest + AddBmpResponse + DeleteBmpRequest + DeleteBmpResponse + RPKIConf + RPKIState + Rpki + GetRpkiRequest + GetRpkiResponse + AddRpkiRequest + AddRpkiResponse + DeleteRpkiRequest + DeleteRpkiResponse + EnableRpkiRequest + EnableRpkiResponse + DisableRpkiRequest + DisableRpkiResponse + ResetRpkiRequest + ResetRpkiResponse + SoftResetRpkiRequest + SoftResetRpkiResponse + GetVrfRequest + GetVrfResponse + AddVrfRequest + AddVrfResponse + DeleteVrfRequest + DeleteVrfResponse + GetDefinedSetRequest + GetDefinedSetResponse + AddDefinedSetRequest + AddDefinedSetResponse + DeleteDefinedSetRequest + DeleteDefinedSetResponse + ReplaceDefinedSetRequest + ReplaceDefinedSetResponse + GetStatementRequest + GetStatementResponse + AddStatementRequest + AddStatementResponse + DeleteStatementRequest + DeleteStatementResponse + ReplaceStatementRequest + ReplaceStatementResponse + GetPolicyRequest + GetPolicyResponse + AddPolicyRequest + AddPolicyResponse + DeletePolicyRequest + DeletePolicyResponse + ReplacePolicyRequest + ReplacePolicyResponse + GetPolicyAssignmentRequest + GetPolicyAssignmentResponse + AddPolicyAssignmentRequest + AddPolicyAssignmentResponse + DeletePolicyAssignmentRequest + DeletePolicyAssignmentResponse + ReplacePolicyAssignmentRequest + ReplacePolicyAssignmentResponse + GetServerRequest + GetServerResponse + StartServerRequest + StartServerResponse + StopServerRequest + StopServerResponse Path Destination Table + GetRibRequest + GetRibResponse + ValidateRibRequest + ValidateRibResponse Peer ApplyPolicy PrefixLimit @@ -57,10 +138,9 @@ It has these top-level messages: Policy PolicyAssignment MrtMessage - RPKIConf - RPKIState - RPKI - ROA + Roa + GetRoaRequest + GetRoaResponse Vrf Global */ @@ -114,48 +194,6 @@ func (x Resource) String() string { } func (Resource) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } -type Operation int32 - -const ( - Operation_ADD Operation = 0 - Operation_DEL Operation = 1 - Operation_DEL_ALL Operation = 2 - Operation_REPLACE Operation = 3 - Operation_ENABLE Operation = 4 - Operation_DISABLE Operation = 5 - Operation_RESET Operation = 6 - Operation_SOFTRESET Operation = 7 - Operation_INITIALIZE Operation = 8 -) - -var Operation_name = map[int32]string{ - 0: "ADD", - 1: "DEL", - 2: "DEL_ALL", - 3: "REPLACE", - 4: "ENABLE", - 5: "DISABLE", - 6: "RESET", - 7: "SOFTRESET", - 8: "INITIALIZE", -} -var Operation_value = map[string]int32{ - "ADD": 0, - "DEL": 1, - "DEL_ALL": 2, - "REPLACE": 3, - "ENABLE": 4, - "DISABLE": 5, - "RESET": 6, - "SOFTRESET": 7, - "INITIALIZE": 8, -} - -func (x Operation) String() string { - return proto.EnumName(Operation_name, int32(x)) -} -func (Operation) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } - type DefinedType int32 const ( @@ -187,7 +225,7 @@ var DefinedType_value = map[string]int32{ func (x DefinedType) String() string { return proto.EnumName(DefinedType_name, int32(x)) } -func (DefinedType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } +func (DefinedType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } type MatchType int32 @@ -211,7 +249,7 @@ var MatchType_value = map[string]int32{ func (x MatchType) String() string { return proto.EnumName(MatchType_name, int32(x)) } -func (MatchType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +func (MatchType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } type AsPathLengthType int32 @@ -235,7 +273,7 @@ var AsPathLengthType_value = map[string]int32{ func (x AsPathLengthType) String() string { return proto.EnumName(AsPathLengthType_name, int32(x)) } -func (AsPathLengthType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } +func (AsPathLengthType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } type RouteAction int32 @@ -259,7 +297,7 @@ var RouteAction_value = map[string]int32{ func (x RouteAction) String() string { return proto.EnumName(RouteAction_name, int32(x)) } -func (RouteAction) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +func (RouteAction) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } type CommunityActionType int32 @@ -283,7 +321,7 @@ var CommunityActionType_value = map[string]int32{ func (x CommunityActionType) String() string { return proto.EnumName(CommunityActionType_name, int32(x)) } -func (CommunityActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } +func (CommunityActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } type MedActionType int32 @@ -304,7 +342,7 @@ var MedActionType_value = map[string]int32{ func (x MedActionType) String() string { return proto.EnumName(MedActionType_name, int32(x)) } -func (MedActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } +func (MedActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } type PolicyType int32 @@ -328,64 +366,83 @@ var PolicyType_value = map[string]int32{ func (x PolicyType) String() string { return proto.EnumName(PolicyType_name, int32(x)) } -func (PolicyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +func (PolicyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } -type Error_ErrorCode int32 +type SoftResetNeighborRequest_SoftResetDirection int32 const ( - Error_SUCCESS Error_ErrorCode = 0 - Error_FAIL Error_ErrorCode = 1 + SoftResetNeighborRequest_IN SoftResetNeighborRequest_SoftResetDirection = 0 + SoftResetNeighborRequest_OUT SoftResetNeighborRequest_SoftResetDirection = 1 + SoftResetNeighborRequest_BOTH SoftResetNeighborRequest_SoftResetDirection = 2 ) -var Error_ErrorCode_name = map[int32]string{ - 0: "SUCCESS", - 1: "FAIL", +var SoftResetNeighborRequest_SoftResetDirection_name = map[int32]string{ + 0: "IN", + 1: "OUT", + 2: "BOTH", } -var Error_ErrorCode_value = map[string]int32{ - "SUCCESS": 0, - "FAIL": 1, +var SoftResetNeighborRequest_SoftResetDirection_value = map[string]int32{ + "IN": 0, + "OUT": 1, + "BOTH": 2, } -func (x Error_ErrorCode) String() string { - return proto.EnumName(Error_ErrorCode_name, int32(x)) +func (x SoftResetNeighborRequest_SoftResetDirection) String() string { + return proto.EnumName(SoftResetNeighborRequest_SoftResetDirection_name, int32(x)) +} +func (SoftResetNeighborRequest_SoftResetDirection) EnumDescriptor() ([]byte, []int) { + return fileDescriptor0, []int{13, 0} } -func (Error_ErrorCode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} } -type ModBmpArguments_MonitoringPolicy int32 +type AddBmpRequest_MonitoringPolicy int32 const ( - ModBmpArguments_PRE ModBmpArguments_MonitoringPolicy = 0 - ModBmpArguments_POST ModBmpArguments_MonitoringPolicy = 1 - ModBmpArguments_BOTH ModBmpArguments_MonitoringPolicy = 2 + AddBmpRequest_PRE AddBmpRequest_MonitoringPolicy = 0 + AddBmpRequest_POST AddBmpRequest_MonitoringPolicy = 1 + AddBmpRequest_BOTH AddBmpRequest_MonitoringPolicy = 2 ) -var ModBmpArguments_MonitoringPolicy_name = map[int32]string{ +var AddBmpRequest_MonitoringPolicy_name = map[int32]string{ 0: "PRE", 1: "POST", 2: "BOTH", } -var ModBmpArguments_MonitoringPolicy_value = map[string]int32{ +var AddBmpRequest_MonitoringPolicy_value = map[string]int32{ "PRE": 0, "POST": 1, "BOTH": 2, } -func (x ModBmpArguments_MonitoringPolicy) String() string { - return proto.EnumName(ModBmpArguments_MonitoringPolicy_name, int32(x)) +func (x AddBmpRequest_MonitoringPolicy) String() string { + return proto.EnumName(AddBmpRequest_MonitoringPolicy_name, int32(x)) } -func (ModBmpArguments_MonitoringPolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptor0, []int{8, 0} +func (AddBmpRequest_MonitoringPolicy) EnumDescriptor() ([]byte, []int) { + return fileDescriptor0, []int{28, 0} } -type Error struct { - Code Error_ErrorCode `protobuf:"varint,1,opt,name=code,enum=gobgpapi.Error_ErrorCode" json:"code,omitempty"` - Msg string `protobuf:"bytes,2,opt,name=msg" json:"msg,omitempty"` +type GetNeighborRequest struct { } -func (m *Error) Reset() { *m = Error{} } -func (m *Error) String() string { return proto.CompactTextString(m) } -func (*Error) ProtoMessage() {} -func (*Error) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } +func (m *GetNeighborRequest) Reset() { *m = GetNeighborRequest{} } +func (m *GetNeighborRequest) String() string { return proto.CompactTextString(m) } +func (*GetNeighborRequest) ProtoMessage() {} +func (*GetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } + +type GetNeighborResponse struct { + Peers []*Peer `protobuf:"bytes,1,rep,name=peers" json:"peers,omitempty"` +} + +func (m *GetNeighborResponse) Reset() { *m = GetNeighborResponse{} } +func (m *GetNeighborResponse) String() string { return proto.CompactTextString(m) } +func (*GetNeighborResponse) ProtoMessage() {} +func (*GetNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } + +func (m *GetNeighborResponse) GetPeers() []*Peer { + if m != nil { + return m.Peers + } + return nil +} type Arguments struct { Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` @@ -396,75 +453,197 @@ type Arguments struct { func (m *Arguments) Reset() { *m = Arguments{} } func (m *Arguments) String() string { return proto.CompactTextString(m) } func (*Arguments) ProtoMessage() {} -func (*Arguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } +func (*Arguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } -type ModPathArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Resource Resource `protobuf:"varint,2,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` - Path *Path `protobuf:"bytes,4,opt,name=path" json:"path,omitempty"` - // uuid field can be only used when operation is DEL - Uuid []byte `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"` - // family field is only used when operation is DEL_ALL - Family uint32 `protobuf:"varint,6,opt,name=family" json:"family,omitempty"` +type AddPathRequest struct { + Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` + VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"` + Path *Path `protobuf:"bytes,3,opt,name=path" json:"path,omitempty"` } -func (m *ModPathArguments) Reset() { *m = ModPathArguments{} } -func (m *ModPathArguments) String() string { return proto.CompactTextString(m) } -func (*ModPathArguments) ProtoMessage() {} -func (*ModPathArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } +func (m *AddPathRequest) Reset() { *m = AddPathRequest{} } +func (m *AddPathRequest) String() string { return proto.CompactTextString(m) } +func (*AddPathRequest) ProtoMessage() {} +func (*AddPathRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } -func (m *ModPathArguments) GetPath() *Path { +func (m *AddPathRequest) GetPath() *Path { if m != nil { return m.Path } return nil } -type ModPathResponse struct { +type AddPathResponse struct { Uuid []byte `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` } -func (m *ModPathResponse) Reset() { *m = ModPathResponse{} } -func (m *ModPathResponse) String() string { return proto.CompactTextString(m) } -func (*ModPathResponse) ProtoMessage() {} -func (*ModPathResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } +func (m *AddPathResponse) Reset() { *m = AddPathResponse{} } +func (m *AddPathResponse) String() string { return proto.CompactTextString(m) } +func (*AddPathResponse) ProtoMessage() {} +func (*AddPathResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } -type ModPathsArguments struct { +type DeletePathRequest struct { Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` - Paths []*Path `protobuf:"bytes,3,rep,name=paths" json:"paths,omitempty"` + VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"` + Family uint32 `protobuf:"varint,3,opt,name=family" json:"family,omitempty"` + Path *Path `protobuf:"bytes,4,opt,name=path" json:"path,omitempty"` + Uuid []byte `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"` } -func (m *ModPathsArguments) Reset() { *m = ModPathsArguments{} } -func (m *ModPathsArguments) String() string { return proto.CompactTextString(m) } -func (*ModPathsArguments) ProtoMessage() {} -func (*ModPathsArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } +func (m *DeletePathRequest) Reset() { *m = DeletePathRequest{} } +func (m *DeletePathRequest) String() string { return proto.CompactTextString(m) } +func (*DeletePathRequest) ProtoMessage() {} +func (*DeletePathRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } -func (m *ModPathsArguments) GetPaths() []*Path { +func (m *DeletePathRequest) GetPath() *Path { if m != nil { - return m.Paths + return m.Path + } + return nil +} + +type DeletePathResponse struct { +} + +func (m *DeletePathResponse) Reset() { *m = DeletePathResponse{} } +func (m *DeletePathResponse) String() string { return proto.CompactTextString(m) } +func (*DeletePathResponse) ProtoMessage() {} +func (*DeletePathResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } + +type AddNeighborRequest struct { + Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"` +} + +func (m *AddNeighborRequest) Reset() { *m = AddNeighborRequest{} } +func (m *AddNeighborRequest) String() string { return proto.CompactTextString(m) } +func (*AddNeighborRequest) ProtoMessage() {} +func (*AddNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } + +func (m *AddNeighborRequest) GetPeer() *Peer { + if m != nil { + return m.Peer } return nil } -type ModNeighborArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Peer *Peer `protobuf:"bytes,2,opt,name=peer" json:"peer,omitempty"` +type AddNeighborResponse struct { } -func (m *ModNeighborArguments) Reset() { *m = ModNeighborArguments{} } -func (m *ModNeighborArguments) String() string { return proto.CompactTextString(m) } -func (*ModNeighborArguments) ProtoMessage() {} -func (*ModNeighborArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } +func (m *AddNeighborResponse) Reset() { *m = AddNeighborResponse{} } +func (m *AddNeighborResponse) String() string { return proto.CompactTextString(m) } +func (*AddNeighborResponse) ProtoMessage() {} +func (*AddNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } + +type DeleteNeighborRequest struct { + Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"` +} -func (m *ModNeighborArguments) GetPeer() *Peer { +func (m *DeleteNeighborRequest) Reset() { *m = DeleteNeighborRequest{} } +func (m *DeleteNeighborRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteNeighborRequest) ProtoMessage() {} +func (*DeleteNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } + +func (m *DeleteNeighborRequest) GetPeer() *Peer { if m != nil { return m.Peer } return nil } +type DeleteNeighborResponse struct { +} + +func (m *DeleteNeighborResponse) Reset() { *m = DeleteNeighborResponse{} } +func (m *DeleteNeighborResponse) String() string { return proto.CompactTextString(m) } +func (*DeleteNeighborResponse) ProtoMessage() {} +func (*DeleteNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } + +type ResetNeighborRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` +} + +func (m *ResetNeighborRequest) Reset() { *m = ResetNeighborRequest{} } +func (m *ResetNeighborRequest) String() string { return proto.CompactTextString(m) } +func (*ResetNeighborRequest) ProtoMessage() {} +func (*ResetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } + +type ResetNeighborResponse struct { +} + +func (m *ResetNeighborResponse) Reset() { *m = ResetNeighborResponse{} } +func (m *ResetNeighborResponse) String() string { return proto.CompactTextString(m) } +func (*ResetNeighborResponse) ProtoMessage() {} +func (*ResetNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } + +type SoftResetNeighborRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` + Direction SoftResetNeighborRequest_SoftResetDirection `protobuf:"varint,2,opt,name=direction,enum=gobgpapi.SoftResetNeighborRequest_SoftResetDirection" json:"direction,omitempty"` +} + +func (m *SoftResetNeighborRequest) Reset() { *m = SoftResetNeighborRequest{} } +func (m *SoftResetNeighborRequest) String() string { return proto.CompactTextString(m) } +func (*SoftResetNeighborRequest) ProtoMessage() {} +func (*SoftResetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } + +type SoftResetNeighborResponse struct { +} + +func (m *SoftResetNeighborResponse) Reset() { *m = SoftResetNeighborResponse{} } +func (m *SoftResetNeighborResponse) String() string { return proto.CompactTextString(m) } +func (*SoftResetNeighborResponse) ProtoMessage() {} +func (*SoftResetNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } + +type ShutdownNeighborRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` +} + +func (m *ShutdownNeighborRequest) Reset() { *m = ShutdownNeighborRequest{} } +func (m *ShutdownNeighborRequest) String() string { return proto.CompactTextString(m) } +func (*ShutdownNeighborRequest) ProtoMessage() {} +func (*ShutdownNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } + +type ShutdownNeighborResponse struct { +} + +func (m *ShutdownNeighborResponse) Reset() { *m = ShutdownNeighborResponse{} } +func (m *ShutdownNeighborResponse) String() string { return proto.CompactTextString(m) } +func (*ShutdownNeighborResponse) ProtoMessage() {} +func (*ShutdownNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } + +type EnableNeighborRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` +} + +func (m *EnableNeighborRequest) Reset() { *m = EnableNeighborRequest{} } +func (m *EnableNeighborRequest) String() string { return proto.CompactTextString(m) } +func (*EnableNeighborRequest) ProtoMessage() {} +func (*EnableNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } + +type EnableNeighborResponse struct { +} + +func (m *EnableNeighborResponse) Reset() { *m = EnableNeighborResponse{} } +func (m *EnableNeighborResponse) String() string { return proto.CompactTextString(m) } +func (*EnableNeighborResponse) ProtoMessage() {} +func (*EnableNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } + +type DisableNeighborRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` +} + +func (m *DisableNeighborRequest) Reset() { *m = DisableNeighborRequest{} } +func (m *DisableNeighborRequest) String() string { return proto.CompactTextString(m) } +func (*DisableNeighborRequest) ProtoMessage() {} +func (*DisableNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } + +type DisableNeighborResponse struct { +} + +func (m *DisableNeighborResponse) Reset() { *m = DisableNeighborResponse{} } +func (m *DisableNeighborResponse) String() string { return proto.CompactTextString(m) } +func (*DisableNeighborResponse) ProtoMessage() {} +func (*DisableNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } + type MrtArguments struct { Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` Family uint32 `protobuf:"varint,2,opt,name=family" json:"family,omitempty"` @@ -475,156 +654,842 @@ type MrtArguments struct { func (m *MrtArguments) Reset() { *m = MrtArguments{} } func (m *MrtArguments) String() string { return proto.CompactTextString(m) } func (*MrtArguments) ProtoMessage() {} -func (*MrtArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } +func (*MrtArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } + +type EnableMrtRequest struct { + DumpType int32 `protobuf:"varint,1,opt,name=dump_type,json=dumpType" json:"dump_type,omitempty"` + Filename string `protobuf:"bytes,2,opt,name=filename" json:"filename,omitempty"` + Interval uint64 `protobuf:"varint,3,opt,name=interval" json:"interval,omitempty"` +} + +func (m *EnableMrtRequest) Reset() { *m = EnableMrtRequest{} } +func (m *EnableMrtRequest) String() string { return proto.CompactTextString(m) } +func (*EnableMrtRequest) ProtoMessage() {} +func (*EnableMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } + +type EnableMrtResponse struct { +} + +func (m *EnableMrtResponse) Reset() { *m = EnableMrtResponse{} } +func (m *EnableMrtResponse) String() string { return proto.CompactTextString(m) } +func (*EnableMrtResponse) ProtoMessage() {} +func (*EnableMrtResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } + +type DisableMrtRequest struct { +} + +func (m *DisableMrtRequest) Reset() { *m = DisableMrtRequest{} } +func (m *DisableMrtRequest) String() string { return proto.CompactTextString(m) } +func (*DisableMrtRequest) ProtoMessage() {} +func (*DisableMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } + +type DisableMrtResponse struct { +} + +func (m *DisableMrtResponse) Reset() { *m = DisableMrtResponse{} } +func (m *DisableMrtResponse) String() string { return proto.CompactTextString(m) } +func (*DisableMrtResponse) ProtoMessage() {} +func (*DisableMrtResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } + +type InjectMrtRequest struct { + Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` + VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"` + Paths []*Path `protobuf:"bytes,3,rep,name=paths" json:"paths,omitempty"` +} + +func (m *InjectMrtRequest) Reset() { *m = InjectMrtRequest{} } +func (m *InjectMrtRequest) String() string { return proto.CompactTextString(m) } +func (*InjectMrtRequest) ProtoMessage() {} +func (*InjectMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } + +func (m *InjectMrtRequest) GetPaths() []*Path { + if m != nil { + return m.Paths + } + return nil +} + +type InjectMrtResponse struct { +} + +func (m *InjectMrtResponse) Reset() { *m = InjectMrtResponse{} } +func (m *InjectMrtResponse) String() string { return proto.CompactTextString(m) } +func (*InjectMrtResponse) ProtoMessage() {} +func (*InjectMrtResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } + +type AddBmpRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` + Type AddBmpRequest_MonitoringPolicy `protobuf:"varint,3,opt,name=type,enum=gobgpapi.AddBmpRequest_MonitoringPolicy" json:"type,omitempty"` +} + +func (m *AddBmpRequest) Reset() { *m = AddBmpRequest{} } +func (m *AddBmpRequest) String() string { return proto.CompactTextString(m) } +func (*AddBmpRequest) ProtoMessage() {} +func (*AddBmpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } + +type AddBmpResponse struct { +} + +func (m *AddBmpResponse) Reset() { *m = AddBmpResponse{} } +func (m *AddBmpResponse) String() string { return proto.CompactTextString(m) } +func (*AddBmpResponse) ProtoMessage() {} +func (*AddBmpResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } + +type DeleteBmpRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` +} + +func (m *DeleteBmpRequest) Reset() { *m = DeleteBmpRequest{} } +func (m *DeleteBmpRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteBmpRequest) ProtoMessage() {} +func (*DeleteBmpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } + +type DeleteBmpResponse struct { +} + +func (m *DeleteBmpResponse) Reset() { *m = DeleteBmpResponse{} } +func (m *DeleteBmpResponse) String() string { return proto.CompactTextString(m) } +func (*DeleteBmpResponse) ProtoMessage() {} +func (*DeleteBmpResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } + +type RPKIConf struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` + RemotePort string `protobuf:"bytes,2,opt,name=remote_port,json=remotePort" json:"remote_port,omitempty"` +} + +func (m *RPKIConf) Reset() { *m = RPKIConf{} } +func (m *RPKIConf) String() string { return proto.CompactTextString(m) } +func (*RPKIConf) ProtoMessage() {} +func (*RPKIConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } + +type RPKIState struct { + Uptime int64 `protobuf:"varint,1,opt,name=uptime" json:"uptime,omitempty"` + Downtime int64 `protobuf:"varint,2,opt,name=downtime" json:"downtime,omitempty"` + Up bool `protobuf:"varint,3,opt,name=up" json:"up,omitempty"` + RecordIpv4 uint32 `protobuf:"varint,4,opt,name=record_ipv4,json=recordIpv4" json:"record_ipv4,omitempty"` + RecordIpv6 uint32 `protobuf:"varint,5,opt,name=record_ipv6,json=recordIpv6" json:"record_ipv6,omitempty"` + PrefixIpv4 uint32 `protobuf:"varint,6,opt,name=prefix_ipv4,json=prefixIpv4" json:"prefix_ipv4,omitempty"` + PrefixIpv6 uint32 `protobuf:"varint,7,opt,name=prefix_ipv6,json=prefixIpv6" json:"prefix_ipv6,omitempty"` + Serial uint32 `protobuf:"varint,8,opt,name=serial" json:"serial,omitempty"` + ReceivedIpv4 int64 `protobuf:"varint,9,opt,name=received_ipv4,json=receivedIpv4" json:"received_ipv4,omitempty"` + ReceivedIpv6 int64 `protobuf:"varint,10,opt,name=received_ipv6,json=receivedIpv6" json:"received_ipv6,omitempty"` + SerialNotify int64 `protobuf:"varint,11,opt,name=serial_notify,json=serialNotify" json:"serial_notify,omitempty"` + CacheReset int64 `protobuf:"varint,12,opt,name=cache_reset,json=cacheReset" json:"cache_reset,omitempty"` + CacheResponse int64 `protobuf:"varint,13,opt,name=cache_response,json=cacheResponse" json:"cache_response,omitempty"` + EndOfData int64 `protobuf:"varint,14,opt,name=end_of_data,json=endOfData" json:"end_of_data,omitempty"` + Error int64 `protobuf:"varint,15,opt,name=error" json:"error,omitempty"` + SerialQuery int64 `protobuf:"varint,16,opt,name=serial_query,json=serialQuery" json:"serial_query,omitempty"` + ResetQuery int64 `protobuf:"varint,17,opt,name=reset_query,json=resetQuery" json:"reset_query,omitempty"` +} + +func (m *RPKIState) Reset() { *m = RPKIState{} } +func (m *RPKIState) String() string { return proto.CompactTextString(m) } +func (*RPKIState) ProtoMessage() {} +func (*RPKIState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } + +type Rpki struct { + Conf *RPKIConf `protobuf:"bytes,1,opt,name=conf" json:"conf,omitempty"` + State *RPKIState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` +} + +func (m *Rpki) Reset() { *m = Rpki{} } +func (m *Rpki) String() string { return proto.CompactTextString(m) } +func (*Rpki) ProtoMessage() {} +func (*Rpki) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } + +func (m *Rpki) GetConf() *RPKIConf { + if m != nil { + return m.Conf + } + return nil +} + +func (m *Rpki) GetState() *RPKIState { + if m != nil { + return m.State + } + return nil +} + +type GetRpkiRequest struct { + Family uint32 `protobuf:"varint,1,opt,name=family" json:"family,omitempty"` +} + +func (m *GetRpkiRequest) Reset() { *m = GetRpkiRequest{} } +func (m *GetRpkiRequest) String() string { return proto.CompactTextString(m) } +func (*GetRpkiRequest) ProtoMessage() {} +func (*GetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } + +type GetRpkiResponse struct { + Servers []*Rpki `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"` +} + +func (m *GetRpkiResponse) Reset() { *m = GetRpkiResponse{} } +func (m *GetRpkiResponse) String() string { return proto.CompactTextString(m) } +func (*GetRpkiResponse) ProtoMessage() {} +func (*GetRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } + +func (m *GetRpkiResponse) GetServers() []*Rpki { + if m != nil { + return m.Servers + } + return nil +} + +type AddRpkiRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` + Lifetime int64 `protobuf:"varint,3,opt,name=lifetime" json:"lifetime,omitempty"` +} + +func (m *AddRpkiRequest) Reset() { *m = AddRpkiRequest{} } +func (m *AddRpkiRequest) String() string { return proto.CompactTextString(m) } +func (*AddRpkiRequest) ProtoMessage() {} +func (*AddRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } + +type AddRpkiResponse struct { +} + +func (m *AddRpkiResponse) Reset() { *m = AddRpkiResponse{} } +func (m *AddRpkiResponse) String() string { return proto.CompactTextString(m) } +func (*AddRpkiResponse) ProtoMessage() {} +func (*AddRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } + +type DeleteRpkiRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` +} + +func (m *DeleteRpkiRequest) Reset() { *m = DeleteRpkiRequest{} } +func (m *DeleteRpkiRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteRpkiRequest) ProtoMessage() {} +func (*DeleteRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } + +type DeleteRpkiResponse struct { +} + +func (m *DeleteRpkiResponse) Reset() { *m = DeleteRpkiResponse{} } +func (m *DeleteRpkiResponse) String() string { return proto.CompactTextString(m) } +func (*DeleteRpkiResponse) ProtoMessage() {} +func (*DeleteRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } + +type EnableRpkiRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` +} + +func (m *EnableRpkiRequest) Reset() { *m = EnableRpkiRequest{} } +func (m *EnableRpkiRequest) String() string { return proto.CompactTextString(m) } +func (*EnableRpkiRequest) ProtoMessage() {} +func (*EnableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } + +type EnableRpkiResponse struct { +} + +func (m *EnableRpkiResponse) Reset() { *m = EnableRpkiResponse{} } +func (m *EnableRpkiResponse) String() string { return proto.CompactTextString(m) } +func (*EnableRpkiResponse) ProtoMessage() {} +func (*EnableRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} } + +type DisableRpkiRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` +} + +func (m *DisableRpkiRequest) Reset() { *m = DisableRpkiRequest{} } +func (m *DisableRpkiRequest) String() string { return proto.CompactTextString(m) } +func (*DisableRpkiRequest) ProtoMessage() {} +func (*DisableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} } + +type DisableRpkiResponse struct { +} + +func (m *DisableRpkiResponse) Reset() { *m = DisableRpkiResponse{} } +func (m *DisableRpkiResponse) String() string { return proto.CompactTextString(m) } +func (*DisableRpkiResponse) ProtoMessage() {} +func (*DisableRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} } -type ModMrtArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - DumpType int32 `protobuf:"varint,2,opt,name=dump_type,json=dumpType" json:"dump_type,omitempty"` - Filename string `protobuf:"bytes,3,opt,name=filename" json:"filename,omitempty"` - Interval uint64 `protobuf:"varint,4,opt,name=interval" json:"interval,omitempty"` +type ResetRpkiRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` +} + +func (m *ResetRpkiRequest) Reset() { *m = ResetRpkiRequest{} } +func (m *ResetRpkiRequest) String() string { return proto.CompactTextString(m) } +func (*ResetRpkiRequest) ProtoMessage() {} +func (*ResetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} } + +type ResetRpkiResponse struct { +} + +func (m *ResetRpkiResponse) Reset() { *m = ResetRpkiResponse{} } +func (m *ResetRpkiResponse) String() string { return proto.CompactTextString(m) } +func (*ResetRpkiResponse) ProtoMessage() {} +func (*ResetRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} } + +type SoftResetRpkiRequest struct { + Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` +} + +func (m *SoftResetRpkiRequest) Reset() { *m = SoftResetRpkiRequest{} } +func (m *SoftResetRpkiRequest) String() string { return proto.CompactTextString(m) } +func (*SoftResetRpkiRequest) ProtoMessage() {} +func (*SoftResetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} } + +type SoftResetRpkiResponse struct { +} + +func (m *SoftResetRpkiResponse) Reset() { *m = SoftResetRpkiResponse{} } +func (m *SoftResetRpkiResponse) String() string { return proto.CompactTextString(m) } +func (*SoftResetRpkiResponse) ProtoMessage() {} +func (*SoftResetRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} } + +type GetVrfRequest struct { +} + +func (m *GetVrfRequest) Reset() { *m = GetVrfRequest{} } +func (m *GetVrfRequest) String() string { return proto.CompactTextString(m) } +func (*GetVrfRequest) ProtoMessage() {} +func (*GetVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} } + +type GetVrfResponse struct { + Vrfs []*Vrf `protobuf:"bytes,1,rep,name=vrfs" json:"vrfs,omitempty"` } -func (m *ModMrtArguments) Reset() { *m = ModMrtArguments{} } -func (m *ModMrtArguments) String() string { return proto.CompactTextString(m) } -func (*ModMrtArguments) ProtoMessage() {} -func (*ModMrtArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } +func (m *GetVrfResponse) Reset() { *m = GetVrfResponse{} } +func (m *GetVrfResponse) String() string { return proto.CompactTextString(m) } +func (*GetVrfResponse) ProtoMessage() {} +func (*GetVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} } -type ModBmpArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"` - Port uint32 `protobuf:"varint,3,opt,name=port" json:"port,omitempty"` - Type ModBmpArguments_MonitoringPolicy `protobuf:"varint,4,opt,name=type,enum=gobgpapi.ModBmpArguments_MonitoringPolicy" json:"type,omitempty"` +func (m *GetVrfResponse) GetVrfs() []*Vrf { + if m != nil { + return m.Vrfs + } + return nil +} + +type AddVrfRequest struct { + Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf" json:"vrf,omitempty"` } -func (m *ModBmpArguments) Reset() { *m = ModBmpArguments{} } -func (m *ModBmpArguments) String() string { return proto.CompactTextString(m) } -func (*ModBmpArguments) ProtoMessage() {} -func (*ModBmpArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } +func (m *AddVrfRequest) Reset() { *m = AddVrfRequest{} } +func (m *AddVrfRequest) String() string { return proto.CompactTextString(m) } +func (*AddVrfRequest) ProtoMessage() {} +func (*AddVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} } -type ModRpkiArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Asn uint32 `protobuf:"varint,2,opt,name=asn" json:"asn,omitempty"` - Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"` - Port uint32 `protobuf:"varint,4,opt,name=port" json:"port,omitempty"` - Lifetime int64 `protobuf:"varint,5,opt,name=lifetime" json:"lifetime,omitempty"` - Prefix string `protobuf:"bytes,6,opt,name=prefix" json:"prefix,omitempty"` +func (m *AddVrfRequest) GetVrf() *Vrf { + if m != nil { + return m.Vrf + } + return nil } -func (m *ModRpkiArguments) Reset() { *m = ModRpkiArguments{} } -func (m *ModRpkiArguments) String() string { return proto.CompactTextString(m) } -func (*ModRpkiArguments) ProtoMessage() {} -func (*ModRpkiArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } +type AddVrfResponse struct { +} + +func (m *AddVrfResponse) Reset() { *m = AddVrfResponse{} } +func (m *AddVrfResponse) String() string { return proto.CompactTextString(m) } +func (*AddVrfResponse) ProtoMessage() {} +func (*AddVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} } -type ModVrfArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Vrf *Vrf `protobuf:"bytes,2,opt,name=vrf" json:"vrf,omitempty"` +type DeleteVrfRequest struct { + Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf" json:"vrf,omitempty"` } -func (m *ModVrfArguments) Reset() { *m = ModVrfArguments{} } -func (m *ModVrfArguments) String() string { return proto.CompactTextString(m) } -func (*ModVrfArguments) ProtoMessage() {} -func (*ModVrfArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } +func (m *DeleteVrfRequest) Reset() { *m = DeleteVrfRequest{} } +func (m *DeleteVrfRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteVrfRequest) ProtoMessage() {} +func (*DeleteVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} } -func (m *ModVrfArguments) GetVrf() *Vrf { +func (m *DeleteVrfRequest) GetVrf() *Vrf { if m != nil { return m.Vrf } return nil } -type ModDefinedSetArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Set *DefinedSet `protobuf:"bytes,2,opt,name=set" json:"set,omitempty"` +type DeleteVrfResponse struct { +} + +func (m *DeleteVrfResponse) Reset() { *m = DeleteVrfResponse{} } +func (m *DeleteVrfResponse) String() string { return proto.CompactTextString(m) } +func (*DeleteVrfResponse) ProtoMessage() {} +func (*DeleteVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} } + +type GetDefinedSetRequest struct { + Type DefinedType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.DefinedType" json:"type,omitempty"` +} + +func (m *GetDefinedSetRequest) Reset() { *m = GetDefinedSetRequest{} } +func (m *GetDefinedSetRequest) String() string { return proto.CompactTextString(m) } +func (*GetDefinedSetRequest) ProtoMessage() {} +func (*GetDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} } + +type GetDefinedSetResponse struct { + Sets []*DefinedSet `protobuf:"bytes,1,rep,name=sets" json:"sets,omitempty"` +} + +func (m *GetDefinedSetResponse) Reset() { *m = GetDefinedSetResponse{} } +func (m *GetDefinedSetResponse) String() string { return proto.CompactTextString(m) } +func (*GetDefinedSetResponse) ProtoMessage() {} +func (*GetDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} } + +func (m *GetDefinedSetResponse) GetSets() []*DefinedSet { + if m != nil { + return m.Sets + } + return nil +} + +type AddDefinedSetRequest struct { + Set *DefinedSet `protobuf:"bytes,1,opt,name=set" json:"set,omitempty"` +} + +func (m *AddDefinedSetRequest) Reset() { *m = AddDefinedSetRequest{} } +func (m *AddDefinedSetRequest) String() string { return proto.CompactTextString(m) } +func (*AddDefinedSetRequest) ProtoMessage() {} +func (*AddDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{57} } + +func (m *AddDefinedSetRequest) GetSet() *DefinedSet { + if m != nil { + return m.Set + } + return nil +} + +type AddDefinedSetResponse struct { } -func (m *ModDefinedSetArguments) Reset() { *m = ModDefinedSetArguments{} } -func (m *ModDefinedSetArguments) String() string { return proto.CompactTextString(m) } -func (*ModDefinedSetArguments) ProtoMessage() {} -func (*ModDefinedSetArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } +func (m *AddDefinedSetResponse) Reset() { *m = AddDefinedSetResponse{} } +func (m *AddDefinedSetResponse) String() string { return proto.CompactTextString(m) } +func (*AddDefinedSetResponse) ProtoMessage() {} +func (*AddDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} } -func (m *ModDefinedSetArguments) GetSet() *DefinedSet { +type DeleteDefinedSetRequest struct { + Set *DefinedSet `protobuf:"bytes,1,opt,name=set" json:"set,omitempty"` + All bool `protobuf:"varint,2,opt,name=all" json:"all,omitempty"` +} + +func (m *DeleteDefinedSetRequest) Reset() { *m = DeleteDefinedSetRequest{} } +func (m *DeleteDefinedSetRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteDefinedSetRequest) ProtoMessage() {} +func (*DeleteDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} } + +func (m *DeleteDefinedSetRequest) GetSet() *DefinedSet { if m != nil { return m.Set } return nil } -type ModStatementArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Statement *Statement `protobuf:"bytes,2,opt,name=statement" json:"statement,omitempty"` +type DeleteDefinedSetResponse struct { } -func (m *ModStatementArguments) Reset() { *m = ModStatementArguments{} } -func (m *ModStatementArguments) String() string { return proto.CompactTextString(m) } -func (*ModStatementArguments) ProtoMessage() {} -func (*ModStatementArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } +func (m *DeleteDefinedSetResponse) Reset() { *m = DeleteDefinedSetResponse{} } +func (m *DeleteDefinedSetResponse) String() string { return proto.CompactTextString(m) } +func (*DeleteDefinedSetResponse) ProtoMessage() {} +func (*DeleteDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} } + +type ReplaceDefinedSetRequest struct { + Set *DefinedSet `protobuf:"bytes,1,opt,name=set" json:"set,omitempty"` +} -func (m *ModStatementArguments) GetStatement() *Statement { +func (m *ReplaceDefinedSetRequest) Reset() { *m = ReplaceDefinedSetRequest{} } +func (m *ReplaceDefinedSetRequest) String() string { return proto.CompactTextString(m) } +func (*ReplaceDefinedSetRequest) ProtoMessage() {} +func (*ReplaceDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} } + +func (m *ReplaceDefinedSetRequest) GetSet() *DefinedSet { + if m != nil { + return m.Set + } + return nil +} + +type ReplaceDefinedSetResponse struct { +} + +func (m *ReplaceDefinedSetResponse) Reset() { *m = ReplaceDefinedSetResponse{} } +func (m *ReplaceDefinedSetResponse) String() string { return proto.CompactTextString(m) } +func (*ReplaceDefinedSetResponse) ProtoMessage() {} +func (*ReplaceDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} } + +type GetStatementRequest struct { +} + +func (m *GetStatementRequest) Reset() { *m = GetStatementRequest{} } +func (m *GetStatementRequest) String() string { return proto.CompactTextString(m) } +func (*GetStatementRequest) ProtoMessage() {} +func (*GetStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} } + +type GetStatementResponse struct { + Statements []*Statement `protobuf:"bytes,1,rep,name=statements" json:"statements,omitempty"` +} + +func (m *GetStatementResponse) Reset() { *m = GetStatementResponse{} } +func (m *GetStatementResponse) String() string { return proto.CompactTextString(m) } +func (*GetStatementResponse) ProtoMessage() {} +func (*GetStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} } + +func (m *GetStatementResponse) GetStatements() []*Statement { + if m != nil { + return m.Statements + } + return nil +} + +type AddStatementRequest struct { + Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"` +} + +func (m *AddStatementRequest) Reset() { *m = AddStatementRequest{} } +func (m *AddStatementRequest) String() string { return proto.CompactTextString(m) } +func (*AddStatementRequest) ProtoMessage() {} +func (*AddStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} } + +func (m *AddStatementRequest) GetStatement() *Statement { + if m != nil { + return m.Statement + } + return nil +} + +type AddStatementResponse struct { +} + +func (m *AddStatementResponse) Reset() { *m = AddStatementResponse{} } +func (m *AddStatementResponse) String() string { return proto.CompactTextString(m) } +func (*AddStatementResponse) ProtoMessage() {} +func (*AddStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} } + +type DeleteStatementRequest struct { + Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"` + All bool `protobuf:"varint,2,opt,name=all" json:"all,omitempty"` +} + +func (m *DeleteStatementRequest) Reset() { *m = DeleteStatementRequest{} } +func (m *DeleteStatementRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteStatementRequest) ProtoMessage() {} +func (*DeleteStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{67} } + +func (m *DeleteStatementRequest) GetStatement() *Statement { + if m != nil { + return m.Statement + } + return nil +} + +type DeleteStatementResponse struct { +} + +func (m *DeleteStatementResponse) Reset() { *m = DeleteStatementResponse{} } +func (m *DeleteStatementResponse) String() string { return proto.CompactTextString(m) } +func (*DeleteStatementResponse) ProtoMessage() {} +func (*DeleteStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{68} } + +type ReplaceStatementRequest struct { + Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"` +} + +func (m *ReplaceStatementRequest) Reset() { *m = ReplaceStatementRequest{} } +func (m *ReplaceStatementRequest) String() string { return proto.CompactTextString(m) } +func (*ReplaceStatementRequest) ProtoMessage() {} +func (*ReplaceStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} } + +func (m *ReplaceStatementRequest) GetStatement() *Statement { if m != nil { return m.Statement } return nil } -type ModPolicyArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Policy *Policy `protobuf:"bytes,2,opt,name=policy" json:"policy,omitempty"` +type ReplaceStatementResponse struct { +} + +func (m *ReplaceStatementResponse) Reset() { *m = ReplaceStatementResponse{} } +func (m *ReplaceStatementResponse) String() string { return proto.CompactTextString(m) } +func (*ReplaceStatementResponse) ProtoMessage() {} +func (*ReplaceStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} } + +type GetPolicyRequest struct { +} + +func (m *GetPolicyRequest) Reset() { *m = GetPolicyRequest{} } +func (m *GetPolicyRequest) String() string { return proto.CompactTextString(m) } +func (*GetPolicyRequest) ProtoMessage() {} +func (*GetPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{71} } + +type GetPolicyResponse struct { + Policies []*Policy `protobuf:"bytes,1,rep,name=policies" json:"policies,omitempty"` +} + +func (m *GetPolicyResponse) Reset() { *m = GetPolicyResponse{} } +func (m *GetPolicyResponse) String() string { return proto.CompactTextString(m) } +func (*GetPolicyResponse) ProtoMessage() {} +func (*GetPolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{72} } + +func (m *GetPolicyResponse) GetPolicies() []*Policy { + if m != nil { + return m.Policies + } + return nil +} + +type AddPolicyRequest struct { + Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"` + // if this flag is set, gobgpd won't define new statements + // but refer existing statements using statement's names in this arguments. + ReferExistingStatements bool `protobuf:"varint,2,opt,name=refer_existing_statements,json=referExistingStatements" json:"refer_existing_statements,omitempty"` +} + +func (m *AddPolicyRequest) Reset() { *m = AddPolicyRequest{} } +func (m *AddPolicyRequest) String() string { return proto.CompactTextString(m) } +func (*AddPolicyRequest) ProtoMessage() {} +func (*AddPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} } + +func (m *AddPolicyRequest) GetPolicy() *Policy { + if m != nil { + return m.Policy + } + return nil +} + +type AddPolicyResponse struct { +} + +func (m *AddPolicyResponse) Reset() { *m = AddPolicyResponse{} } +func (m *AddPolicyResponse) String() string { return proto.CompactTextString(m) } +func (*AddPolicyResponse) ProtoMessage() {} +func (*AddPolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} } + +type DeletePolicyRequest struct { + Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"` + // if this flag is set, gobgpd won't delete any statements + // even if some statements get not used by any policy by this operation. + PreserveStatements bool `protobuf:"varint,2,opt,name=preserve_statements,json=preserveStatements" json:"preserve_statements,omitempty"` + All bool `protobuf:"varint,3,opt,name=all" json:"all,omitempty"` +} + +func (m *DeletePolicyRequest) Reset() { *m = DeletePolicyRequest{} } +func (m *DeletePolicyRequest) String() string { return proto.CompactTextString(m) } +func (*DeletePolicyRequest) ProtoMessage() {} +func (*DeletePolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{75} } + +func (m *DeletePolicyRequest) GetPolicy() *Policy { + if m != nil { + return m.Policy + } + return nil +} + +type DeletePolicyResponse struct { +} + +func (m *DeletePolicyResponse) Reset() { *m = DeletePolicyResponse{} } +func (m *DeletePolicyResponse) String() string { return proto.CompactTextString(m) } +func (*DeletePolicyResponse) ProtoMessage() {} +func (*DeletePolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{76} } + +type ReplacePolicyRequest struct { + Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"` // if this flag is set, gobgpd won't define new statements // but refer existing statements using statement's names in this arguments. - // this flag only works with Operation_ADD - ReferExistingStatements bool `protobuf:"varint,3,opt,name=refer_existing_statements,json=referExistingStatements" json:"refer_existing_statements,omitempty"` + ReferExistingStatements bool `protobuf:"varint,2,opt,name=refer_existing_statements,json=referExistingStatements" json:"refer_existing_statements,omitempty"` // if this flag is set, gobgpd won't delete any statements // even if some statements get not used by any policy by this operation. - // this flag means nothing if it is used with Operation_ADD - PreserveStatements bool `protobuf:"varint,4,opt,name=preserve_statements,json=preserveStatements" json:"preserve_statements,omitempty"` + PreserveStatements bool `protobuf:"varint,3,opt,name=preserve_statements,json=preserveStatements" json:"preserve_statements,omitempty"` } -func (m *ModPolicyArguments) Reset() { *m = ModPolicyArguments{} } -func (m *ModPolicyArguments) String() string { return proto.CompactTextString(m) } -func (*ModPolicyArguments) ProtoMessage() {} -func (*ModPolicyArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } +func (m *ReplacePolicyRequest) Reset() { *m = ReplacePolicyRequest{} } +func (m *ReplacePolicyRequest) String() string { return proto.CompactTextString(m) } +func (*ReplacePolicyRequest) ProtoMessage() {} +func (*ReplacePolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} } -func (m *ModPolicyArguments) GetPolicy() *Policy { +func (m *ReplacePolicyRequest) GetPolicy() *Policy { if m != nil { return m.Policy } return nil } -type ModPolicyAssignmentArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Assignment *PolicyAssignment `protobuf:"bytes,2,opt,name=assignment" json:"assignment,omitempty"` +type ReplacePolicyResponse struct { +} + +func (m *ReplacePolicyResponse) Reset() { *m = ReplacePolicyResponse{} } +func (m *ReplacePolicyResponse) String() string { return proto.CompactTextString(m) } +func (*ReplacePolicyResponse) ProtoMessage() {} +func (*ReplacePolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} } + +type GetPolicyAssignmentRequest struct { + Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` +} + +func (m *GetPolicyAssignmentRequest) Reset() { *m = GetPolicyAssignmentRequest{} } +func (m *GetPolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } +func (*GetPolicyAssignmentRequest) ProtoMessage() {} +func (*GetPolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} } + +func (m *GetPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { + if m != nil { + return m.Assignment + } + return nil +} + +type GetPolicyAssignmentResponse struct { + Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` +} + +func (m *GetPolicyAssignmentResponse) Reset() { *m = GetPolicyAssignmentResponse{} } +func (m *GetPolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } +func (*GetPolicyAssignmentResponse) ProtoMessage() {} +func (*GetPolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} } + +func (m *GetPolicyAssignmentResponse) GetAssignment() *PolicyAssignment { + if m != nil { + return m.Assignment + } + return nil +} + +type AddPolicyAssignmentRequest struct { + Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` +} + +func (m *AddPolicyAssignmentRequest) Reset() { *m = AddPolicyAssignmentRequest{} } +func (m *AddPolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } +func (*AddPolicyAssignmentRequest) ProtoMessage() {} +func (*AddPolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} } + +func (m *AddPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { + if m != nil { + return m.Assignment + } + return nil +} + +type AddPolicyAssignmentResponse struct { +} + +func (m *AddPolicyAssignmentResponse) Reset() { *m = AddPolicyAssignmentResponse{} } +func (m *AddPolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } +func (*AddPolicyAssignmentResponse) ProtoMessage() {} +func (*AddPolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} } + +type DeletePolicyAssignmentRequest struct { + Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` + All bool `protobuf:"varint,2,opt,name=all" json:"all,omitempty"` +} + +func (m *DeletePolicyAssignmentRequest) Reset() { *m = DeletePolicyAssignmentRequest{} } +func (m *DeletePolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } +func (*DeletePolicyAssignmentRequest) ProtoMessage() {} +func (*DeletePolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} } + +func (m *DeletePolicyAssignmentRequest) GetAssignment() *PolicyAssignment { + if m != nil { + return m.Assignment + } + return nil +} + +type DeletePolicyAssignmentResponse struct { } -func (m *ModPolicyAssignmentArguments) Reset() { *m = ModPolicyAssignmentArguments{} } -func (m *ModPolicyAssignmentArguments) String() string { return proto.CompactTextString(m) } -func (*ModPolicyAssignmentArguments) ProtoMessage() {} -func (*ModPolicyAssignmentArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } +func (m *DeletePolicyAssignmentResponse) Reset() { *m = DeletePolicyAssignmentResponse{} } +func (m *DeletePolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } +func (*DeletePolicyAssignmentResponse) ProtoMessage() {} +func (*DeletePolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} } + +type ReplacePolicyAssignmentRequest struct { + Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` +} -func (m *ModPolicyAssignmentArguments) GetAssignment() *PolicyAssignment { +func (m *ReplacePolicyAssignmentRequest) Reset() { *m = ReplacePolicyAssignmentRequest{} } +func (m *ReplacePolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } +func (*ReplacePolicyAssignmentRequest) ProtoMessage() {} +func (*ReplacePolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} } + +func (m *ReplacePolicyAssignmentRequest) GetAssignment() *PolicyAssignment { if m != nil { return m.Assignment } return nil } -type ModGlobalConfigArguments struct { - Operation Operation `protobuf:"varint,1,opt,name=operation,enum=gobgpapi.Operation" json:"operation,omitempty"` - Global *Global `protobuf:"bytes,2,opt,name=global" json:"global,omitempty"` +type ReplacePolicyAssignmentResponse struct { +} + +func (m *ReplacePolicyAssignmentResponse) Reset() { *m = ReplacePolicyAssignmentResponse{} } +func (m *ReplacePolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } +func (*ReplacePolicyAssignmentResponse) ProtoMessage() {} +func (*ReplacePolicyAssignmentResponse) Descriptor() ([]byte, []int) { + return fileDescriptor0, []int{86} } -func (m *ModGlobalConfigArguments) Reset() { *m = ModGlobalConfigArguments{} } -func (m *ModGlobalConfigArguments) String() string { return proto.CompactTextString(m) } -func (*ModGlobalConfigArguments) ProtoMessage() {} -func (*ModGlobalConfigArguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } +type GetServerRequest struct { +} -func (m *ModGlobalConfigArguments) GetGlobal() *Global { +func (m *GetServerRequest) Reset() { *m = GetServerRequest{} } +func (m *GetServerRequest) String() string { return proto.CompactTextString(m) } +func (*GetServerRequest) ProtoMessage() {} +func (*GetServerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} } + +type GetServerResponse struct { + Global *Global `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"` +} + +func (m *GetServerResponse) Reset() { *m = GetServerResponse{} } +func (m *GetServerResponse) String() string { return proto.CompactTextString(m) } +func (*GetServerResponse) ProtoMessage() {} +func (*GetServerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} } + +func (m *GetServerResponse) GetGlobal() *Global { if m != nil { return m.Global } return nil } +type StartServerRequest struct { + Global *Global `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"` +} + +func (m *StartServerRequest) Reset() { *m = StartServerRequest{} } +func (m *StartServerRequest) String() string { return proto.CompactTextString(m) } +func (*StartServerRequest) ProtoMessage() {} +func (*StartServerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{89} } + +func (m *StartServerRequest) GetGlobal() *Global { + if m != nil { + return m.Global + } + return nil +} + +type StartServerResponse struct { +} + +func (m *StartServerResponse) Reset() { *m = StartServerResponse{} } +func (m *StartServerResponse) String() string { return proto.CompactTextString(m) } +func (*StartServerResponse) ProtoMessage() {} +func (*StartServerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{90} } + +type StopServerRequest struct { +} + +func (m *StopServerRequest) Reset() { *m = StopServerRequest{} } +func (m *StopServerRequest) String() string { return proto.CompactTextString(m) } +func (*StopServerRequest) ProtoMessage() {} +func (*StopServerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{91} } + +type StopServerResponse struct { +} + +func (m *StopServerResponse) Reset() { *m = StopServerResponse{} } +func (m *StopServerResponse) String() string { return proto.CompactTextString(m) } +func (*StopServerResponse) ProtoMessage() {} +func (*StopServerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} } + type Path struct { Nlri []byte `protobuf:"bytes,1,opt,name=nlri,proto3" json:"nlri,omitempty"` Pattrs [][]byte `protobuf:"bytes,2,rep,name=pattrs,proto3" json:"pattrs,omitempty"` @@ -645,7 +1510,7 @@ type Path struct { func (m *Path) Reset() { *m = Path{} } func (m *Path) String() string { return proto.CompactTextString(m) } func (*Path) ProtoMessage() {} -func (*Path) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } +func (*Path) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{93} } type Destination struct { Prefix string `protobuf:"bytes,1,opt,name=prefix" json:"prefix,omitempty"` @@ -656,7 +1521,7 @@ type Destination struct { func (m *Destination) Reset() { *m = Destination{} } func (m *Destination) String() string { return proto.CompactTextString(m) } func (*Destination) ProtoMessage() {} -func (*Destination) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } +func (*Destination) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{94} } func (m *Destination) GetPaths() []*Path { if m != nil { @@ -676,7 +1541,7 @@ type Table struct { func (m *Table) Reset() { *m = Table{} } func (m *Table) String() string { return proto.CompactTextString(m) } func (*Table) ProtoMessage() {} -func (*Table) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } +func (*Table) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{95} } func (m *Table) GetDestinations() []*Destination { if m != nil { @@ -685,22 +1550,73 @@ func (m *Table) GetDestinations() []*Destination { return nil } +type GetRibRequest struct { + Table *Table `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"` +} + +func (m *GetRibRequest) Reset() { *m = GetRibRequest{} } +func (m *GetRibRequest) String() string { return proto.CompactTextString(m) } +func (*GetRibRequest) ProtoMessage() {} +func (*GetRibRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{96} } + +func (m *GetRibRequest) GetTable() *Table { + if m != nil { + return m.Table + } + return nil +} + +type GetRibResponse struct { + Table *Table `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"` +} + +func (m *GetRibResponse) Reset() { *m = GetRibResponse{} } +func (m *GetRibResponse) String() string { return proto.CompactTextString(m) } +func (*GetRibResponse) ProtoMessage() {} +func (*GetRibResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{97} } + +func (m *GetRibResponse) GetTable() *Table { + if m != nil { + return m.Table + } + return nil +} + +type ValidateRibRequest struct { + Type Resource `protobuf:"varint,1,opt,name=type,enum=gobgpapi.Resource" json:"type,omitempty"` + Family uint32 `protobuf:"varint,2,opt,name=family" json:"family,omitempty"` + Prefix string `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"` +} + +func (m *ValidateRibRequest) Reset() { *m = ValidateRibRequest{} } +func (m *ValidateRibRequest) String() string { return proto.CompactTextString(m) } +func (*ValidateRibRequest) ProtoMessage() {} +func (*ValidateRibRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{98} } + +type ValidateRibResponse struct { +} + +func (m *ValidateRibResponse) Reset() { *m = ValidateRibResponse{} } +func (m *ValidateRibResponse) String() string { return proto.CompactTextString(m) } +func (*ValidateRibResponse) ProtoMessage() {} +func (*ValidateRibResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{99} } + type Peer struct { - Families []uint32 `protobuf:"varint,2,rep,name=families" json:"families,omitempty"` - ApplyPolicy *ApplyPolicy `protobuf:"bytes,3,opt,name=apply_policy,json=applyPolicy" json:"apply_policy,omitempty"` - Conf *PeerConf `protobuf:"bytes,5,opt,name=conf" json:"conf,omitempty"` - EbgpMultihop *EbgpMultihop `protobuf:"bytes,6,opt,name=ebgp_multihop,json=ebgpMultihop" json:"ebgp_multihop,omitempty"` - RouteReflector *RouteReflector `protobuf:"bytes,10,opt,name=route_reflector,json=routeReflector" json:"route_reflector,omitempty"` - Info *PeerState `protobuf:"bytes,11,opt,name=info" json:"info,omitempty"` - Timers *Timers `protobuf:"bytes,12,opt,name=timers" json:"timers,omitempty"` - Transport *Transport `protobuf:"bytes,13,opt,name=transport" json:"transport,omitempty"` - RouteServer *RouteServer `protobuf:"bytes,15,opt,name=route_server,json=routeServer" json:"route_server,omitempty"` + Families []uint32 `protobuf:"varint,1,rep,name=families" json:"families,omitempty"` + ApplyPolicy *ApplyPolicy `protobuf:"bytes,2,opt,name=apply_policy,json=applyPolicy" json:"apply_policy,omitempty"` + Conf *PeerConf `protobuf:"bytes,3,opt,name=conf" json:"conf,omitempty"` + EbgpMultihop *EbgpMultihop `protobuf:"bytes,4,opt,name=ebgp_multihop,json=ebgpMultihop" json:"ebgp_multihop,omitempty"` + RouteReflector *RouteReflector `protobuf:"bytes,5,opt,name=route_reflector,json=routeReflector" json:"route_reflector,omitempty"` + Info *PeerState `protobuf:"bytes,6,opt,name=info" json:"info,omitempty"` + Timers *Timers `protobuf:"bytes,7,opt,name=timers" json:"timers,omitempty"` + Transport *Transport `protobuf:"bytes,8,opt,name=transport" json:"transport,omitempty"` + RouteServer *RouteServer `protobuf:"bytes,9,opt,name=route_server,json=routeServer" json:"route_server,omitempty"` } func (m *Peer) Reset() { *m = Peer{} } func (m *Peer) String() string { return proto.CompactTextString(m) } func (*Peer) ProtoMessage() {} -func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } +func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{100} } func (m *Peer) GetApplyPolicy() *ApplyPolicy { if m != nil { @@ -767,7 +1683,7 @@ type ApplyPolicy struct { func (m *ApplyPolicy) Reset() { *m = ApplyPolicy{} } func (m *ApplyPolicy) String() string { return proto.CompactTextString(m) } func (*ApplyPolicy) ProtoMessage() {} -func (*ApplyPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } +func (*ApplyPolicy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{101} } func (m *ApplyPolicy) GetInPolicy() *PolicyAssignment { if m != nil { @@ -799,7 +1715,7 @@ type PrefixLimit struct { func (m *PrefixLimit) Reset() { *m = PrefixLimit{} } func (m *PrefixLimit) String() string { return proto.CompactTextString(m) } func (*PrefixLimit) ProtoMessage() {} -func (*PrefixLimit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } +func (*PrefixLimit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{102} } type PeerConf struct { AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"` @@ -821,7 +1737,7 @@ type PeerConf struct { func (m *PeerConf) Reset() { *m = PeerConf{} } func (m *PeerConf) String() string { return proto.CompactTextString(m) } func (*PeerConf) ProtoMessage() {} -func (*PeerConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } +func (*PeerConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{103} } func (m *PeerConf) GetPrefixLimits() []*PrefixLimit { if m != nil { @@ -838,7 +1754,7 @@ type EbgpMultihop struct { func (m *EbgpMultihop) Reset() { *m = EbgpMultihop{} } func (m *EbgpMultihop) String() string { return proto.CompactTextString(m) } func (*EbgpMultihop) ProtoMessage() {} -func (*EbgpMultihop) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } +func (*EbgpMultihop) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{104} } type RouteReflector struct { RouteReflectorClient bool `protobuf:"varint,1,opt,name=route_reflector_client,json=routeReflectorClient" json:"route_reflector_client,omitempty"` @@ -848,7 +1764,7 @@ type RouteReflector struct { func (m *RouteReflector) Reset() { *m = RouteReflector{} } func (m *RouteReflector) String() string { return proto.CompactTextString(m) } func (*RouteReflector) ProtoMessage() {} -func (*RouteReflector) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } +func (*RouteReflector) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{105} } type PeerState struct { AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"` @@ -877,7 +1793,7 @@ type PeerState struct { func (m *PeerState) Reset() { *m = PeerState{} } func (m *PeerState) String() string { return proto.CompactTextString(m) } func (*PeerState) ProtoMessage() {} -func (*PeerState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } +func (*PeerState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{106} } func (m *PeerState) GetMessages() *Messages { if m != nil { @@ -901,7 +1817,7 @@ type Messages struct { func (m *Messages) Reset() { *m = Messages{} } func (m *Messages) String() string { return proto.CompactTextString(m) } func (*Messages) ProtoMessage() {} -func (*Messages) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } +func (*Messages) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{107} } func (m *Messages) GetReceived() *Message { if m != nil { @@ -930,7 +1846,7 @@ type Message struct { func (m *Message) Reset() { *m = Message{} } func (m *Message) String() string { return proto.CompactTextString(m) } func (*Message) ProtoMessage() {} -func (*Message) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } +func (*Message) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{108} } type Queues struct { Input uint32 `protobuf:"varint,1,opt,name=input" json:"input,omitempty"` @@ -940,7 +1856,7 @@ type Queues struct { func (m *Queues) Reset() { *m = Queues{} } func (m *Queues) String() string { return proto.CompactTextString(m) } func (*Queues) ProtoMessage() {} -func (*Queues) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } +func (*Queues) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{109} } type Timers struct { Config *TimersConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` @@ -950,7 +1866,7 @@ type Timers struct { func (m *Timers) Reset() { *m = Timers{} } func (m *Timers) String() string { return proto.CompactTextString(m) } func (*Timers) ProtoMessage() {} -func (*Timers) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } +func (*Timers) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{110} } func (m *Timers) GetConfig() *TimersConfig { if m != nil { @@ -976,7 +1892,7 @@ type TimersConfig struct { func (m *TimersConfig) Reset() { *m = TimersConfig{} } func (m *TimersConfig) String() string { return proto.CompactTextString(m) } func (*TimersConfig) ProtoMessage() {} -func (*TimersConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } +func (*TimersConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{111} } type TimersState struct { ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry" json:"connect_retry,omitempty"` @@ -991,7 +1907,7 @@ type TimersState struct { func (m *TimersState) Reset() { *m = TimersState{} } func (m *TimersState) String() string { return proto.CompactTextString(m) } func (*TimersState) ProtoMessage() {} -func (*TimersState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } +func (*TimersState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{112} } type Transport struct { LocalAddress string `protobuf:"bytes,1,opt,name=local_address,json=localAddress" json:"local_address,omitempty"` @@ -1006,7 +1922,7 @@ type Transport struct { func (m *Transport) Reset() { *m = Transport{} } func (m *Transport) String() string { return proto.CompactTextString(m) } func (*Transport) ProtoMessage() {} -func (*Transport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } +func (*Transport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{113} } type RouteServer struct { RouteServerClient bool `protobuf:"varint,1,opt,name=route_server_client,json=routeServerClient" json:"route_server_client,omitempty"` @@ -1015,7 +1931,7 @@ type RouteServer struct { func (m *RouteServer) Reset() { *m = RouteServer{} } func (m *RouteServer) String() string { return proto.CompactTextString(m) } func (*RouteServer) ProtoMessage() {} -func (*RouteServer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } +func (*RouteServer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{114} } type Prefix struct { IpPrefix string `protobuf:"bytes,1,opt,name=ip_prefix,json=ipPrefix" json:"ip_prefix,omitempty"` @@ -1026,7 +1942,7 @@ type Prefix struct { func (m *Prefix) Reset() { *m = Prefix{} } func (m *Prefix) String() string { return proto.CompactTextString(m) } func (*Prefix) ProtoMessage() {} -func (*Prefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } +func (*Prefix) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{115} } type DefinedSet struct { Type DefinedType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.DefinedType" json:"type,omitempty"` @@ -1038,7 +1954,7 @@ type DefinedSet struct { func (m *DefinedSet) Reset() { *m = DefinedSet{} } func (m *DefinedSet) String() string { return proto.CompactTextString(m) } func (*DefinedSet) ProtoMessage() {} -func (*DefinedSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } +func (*DefinedSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{116} } func (m *DefinedSet) GetPrefixes() []*Prefix { if m != nil { @@ -1055,7 +1971,7 @@ type MatchSet struct { func (m *MatchSet) Reset() { *m = MatchSet{} } func (m *MatchSet) String() string { return proto.CompactTextString(m) } func (*MatchSet) ProtoMessage() {} -func (*MatchSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } +func (*MatchSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{117} } type AsPathLength struct { Type AsPathLengthType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.AsPathLengthType" json:"type,omitempty"` @@ -1065,7 +1981,7 @@ type AsPathLength struct { func (m *AsPathLength) Reset() { *m = AsPathLength{} } func (m *AsPathLength) String() string { return proto.CompactTextString(m) } func (*AsPathLength) ProtoMessage() {} -func (*AsPathLength) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } +func (*AsPathLength) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{118} } type Conditions struct { PrefixSet *MatchSet `protobuf:"bytes,1,opt,name=prefix_set,json=prefixSet" json:"prefix_set,omitempty"` @@ -1080,7 +1996,7 @@ type Conditions struct { func (m *Conditions) Reset() { *m = Conditions{} } func (m *Conditions) String() string { return proto.CompactTextString(m) } func (*Conditions) ProtoMessage() {} -func (*Conditions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } +func (*Conditions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{119} } func (m *Conditions) GetPrefixSet() *MatchSet { if m != nil { @@ -1132,7 +2048,7 @@ type CommunityAction struct { func (m *CommunityAction) Reset() { *m = CommunityAction{} } func (m *CommunityAction) String() string { return proto.CompactTextString(m) } func (*CommunityAction) ProtoMessage() {} -func (*CommunityAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } +func (*CommunityAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{120} } type MedAction struct { Type MedActionType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.MedActionType" json:"type,omitempty"` @@ -1142,7 +2058,7 @@ type MedAction struct { func (m *MedAction) Reset() { *m = MedAction{} } func (m *MedAction) String() string { return proto.CompactTextString(m) } func (*MedAction) ProtoMessage() {} -func (*MedAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } +func (*MedAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{121} } type AsPrependAction struct { Asn uint32 `protobuf:"varint,1,opt,name=asn" json:"asn,omitempty"` @@ -1153,7 +2069,7 @@ type AsPrependAction struct { func (m *AsPrependAction) Reset() { *m = AsPrependAction{} } func (m *AsPrependAction) String() string { return proto.CompactTextString(m) } func (*AsPrependAction) ProtoMessage() {} -func (*AsPrependAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } +func (*AsPrependAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{122} } type NexthopAction struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` @@ -1162,7 +2078,7 @@ type NexthopAction struct { func (m *NexthopAction) Reset() { *m = NexthopAction{} } func (m *NexthopAction) String() string { return proto.CompactTextString(m) } func (*NexthopAction) ProtoMessage() {} -func (*NexthopAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} } +func (*NexthopAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{123} } type Actions struct { RouteAction RouteAction `protobuf:"varint,1,opt,name=route_action,json=routeAction,enum=gobgpapi.RouteAction" json:"route_action,omitempty"` @@ -1176,7 +2092,7 @@ type Actions struct { func (m *Actions) Reset() { *m = Actions{} } func (m *Actions) String() string { return proto.CompactTextString(m) } func (*Actions) ProtoMessage() {} -func (*Actions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} } +func (*Actions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{124} } func (m *Actions) GetCommunity() *CommunityAction { if m != nil { @@ -1222,7 +2138,7 @@ type Statement struct { func (m *Statement) Reset() { *m = Statement{} } func (m *Statement) String() string { return proto.CompactTextString(m) } func (*Statement) ProtoMessage() {} -func (*Statement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} } +func (*Statement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{125} } func (m *Statement) GetConditions() *Conditions { if m != nil { @@ -1246,7 +2162,7 @@ type Policy struct { func (m *Policy) Reset() { *m = Policy{} } func (m *Policy) String() string { return proto.CompactTextString(m) } func (*Policy) ProtoMessage() {} -func (*Policy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} } +func (*Policy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{126} } func (m *Policy) GetStatements() []*Statement { if m != nil { @@ -1266,7 +2182,7 @@ type PolicyAssignment struct { func (m *PolicyAssignment) Reset() { *m = PolicyAssignment{} } func (m *PolicyAssignment) String() string { return proto.CompactTextString(m) } func (*PolicyAssignment) ProtoMessage() {} -func (*PolicyAssignment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} } +func (*PolicyAssignment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{127} } func (m *PolicyAssignment) GetPolicies() []*Policy { if m != nil { @@ -1282,83 +2198,49 @@ type MrtMessage struct { func (m *MrtMessage) Reset() { *m = MrtMessage{} } func (m *MrtMessage) String() string { return proto.CompactTextString(m) } func (*MrtMessage) ProtoMessage() {} -func (*MrtMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} } - -type RPKIConf struct { - Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` - RemotePort string `protobuf:"bytes,2,opt,name=remote_port,json=remotePort" json:"remote_port,omitempty"` -} - -func (m *RPKIConf) Reset() { *m = RPKIConf{} } -func (m *RPKIConf) String() string { return proto.CompactTextString(m) } -func (*RPKIConf) ProtoMessage() {} -func (*RPKIConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} } - -type RPKIState struct { - Uptime int64 `protobuf:"varint,1,opt,name=uptime" json:"uptime,omitempty"` - Downtime int64 `protobuf:"varint,2,opt,name=downtime" json:"downtime,omitempty"` - Up bool `protobuf:"varint,3,opt,name=up" json:"up,omitempty"` - RecordIpv4 uint32 `protobuf:"varint,4,opt,name=record_ipv4,json=recordIpv4" json:"record_ipv4,omitempty"` - RecordIpv6 uint32 `protobuf:"varint,5,opt,name=record_ipv6,json=recordIpv6" json:"record_ipv6,omitempty"` - PrefixIpv4 uint32 `protobuf:"varint,6,opt,name=prefix_ipv4,json=prefixIpv4" json:"prefix_ipv4,omitempty"` - PrefixIpv6 uint32 `protobuf:"varint,7,opt,name=prefix_ipv6,json=prefixIpv6" json:"prefix_ipv6,omitempty"` - Serial uint32 `protobuf:"varint,8,opt,name=serial" json:"serial,omitempty"` - ReceivedIpv4 int64 `protobuf:"varint,9,opt,name=received_ipv4,json=receivedIpv4" json:"received_ipv4,omitempty"` - ReceivedIpv6 int64 `protobuf:"varint,10,opt,name=received_ipv6,json=receivedIpv6" json:"received_ipv6,omitempty"` - SerialNotify int64 `protobuf:"varint,11,opt,name=serial_notify,json=serialNotify" json:"serial_notify,omitempty"` - CacheReset int64 `protobuf:"varint,12,opt,name=cache_reset,json=cacheReset" json:"cache_reset,omitempty"` - CacheResponse int64 `protobuf:"varint,13,opt,name=cache_response,json=cacheResponse" json:"cache_response,omitempty"` - EndOfData int64 `protobuf:"varint,14,opt,name=end_of_data,json=endOfData" json:"end_of_data,omitempty"` - Error int64 `protobuf:"varint,15,opt,name=error" json:"error,omitempty"` - SerialQuery int64 `protobuf:"varint,16,opt,name=serial_query,json=serialQuery" json:"serial_query,omitempty"` - ResetQuery int64 `protobuf:"varint,17,opt,name=reset_query,json=resetQuery" json:"reset_query,omitempty"` -} +func (*MrtMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{128} } -func (m *RPKIState) Reset() { *m = RPKIState{} } -func (m *RPKIState) String() string { return proto.CompactTextString(m) } -func (*RPKIState) ProtoMessage() {} -func (*RPKIState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} } - -type RPKI struct { - Conf *RPKIConf `protobuf:"bytes,1,opt,name=conf" json:"conf,omitempty"` - State *RPKIState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` +type Roa struct { + As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` + Prefixlen uint32 `protobuf:"varint,2,opt,name=prefixlen" json:"prefixlen,omitempty"` + Maxlen uint32 `protobuf:"varint,3,opt,name=maxlen" json:"maxlen,omitempty"` + Prefix string `protobuf:"bytes,4,opt,name=prefix" json:"prefix,omitempty"` + Conf *RPKIConf `protobuf:"bytes,5,opt,name=conf" json:"conf,omitempty"` } -func (m *RPKI) Reset() { *m = RPKI{} } -func (m *RPKI) String() string { return proto.CompactTextString(m) } -func (*RPKI) ProtoMessage() {} -func (*RPKI) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} } +func (m *Roa) Reset() { *m = Roa{} } +func (m *Roa) String() string { return proto.CompactTextString(m) } +func (*Roa) ProtoMessage() {} +func (*Roa) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{129} } -func (m *RPKI) GetConf() *RPKIConf { +func (m *Roa) GetConf() *RPKIConf { if m != nil { return m.Conf } return nil } -func (m *RPKI) GetState() *RPKIState { - if m != nil { - return m.State - } - return nil +type GetRoaRequest struct { + Family uint32 `protobuf:"varint,1,opt,name=family" json:"family,omitempty"` } -type ROA struct { - As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` - Prefixlen uint32 `protobuf:"varint,2,opt,name=prefixlen" json:"prefixlen,omitempty"` - Maxlen uint32 `protobuf:"varint,3,opt,name=maxlen" json:"maxlen,omitempty"` - Prefix string `protobuf:"bytes,4,opt,name=prefix" json:"prefix,omitempty"` - Conf *RPKIConf `protobuf:"bytes,5,opt,name=conf" json:"conf,omitempty"` +func (m *GetRoaRequest) Reset() { *m = GetRoaRequest{} } +func (m *GetRoaRequest) String() string { return proto.CompactTextString(m) } +func (*GetRoaRequest) ProtoMessage() {} +func (*GetRoaRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{130} } + +type GetRoaResponse struct { + Roas []*Roa `protobuf:"bytes,1,rep,name=roas" json:"roas,omitempty"` } -func (m *ROA) Reset() { *m = ROA{} } -func (m *ROA) String() string { return proto.CompactTextString(m) } -func (*ROA) ProtoMessage() {} -func (*ROA) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} } +func (m *GetRoaResponse) Reset() { *m = GetRoaResponse{} } +func (m *GetRoaResponse) String() string { return proto.CompactTextString(m) } +func (*GetRoaResponse) ProtoMessage() {} +func (*GetRoaResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{131} } -func (m *ROA) GetConf() *RPKIConf { +func (m *GetRoaResponse) GetRoas() []*Roa { if m != nil { - return m.Conf + return m.Roas } return nil } @@ -1373,7 +2255,7 @@ type Vrf struct { func (m *Vrf) Reset() { *m = Vrf{} } func (m *Vrf) String() string { return proto.CompactTextString(m) } func (*Vrf) ProtoMessage() {} -func (*Vrf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} } +func (*Vrf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{132} } type Global struct { As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` @@ -1388,28 +2270,109 @@ type Global struct { func (m *Global) Reset() { *m = Global{} } func (m *Global) String() string { return proto.CompactTextString(m) } func (*Global) ProtoMessage() {} -func (*Global) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} } +func (*Global) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{133} } func init() { - proto.RegisterType((*Error)(nil), "gobgpapi.Error") + proto.RegisterType((*GetNeighborRequest)(nil), "gobgpapi.GetNeighborRequest") + proto.RegisterType((*GetNeighborResponse)(nil), "gobgpapi.GetNeighborResponse") proto.RegisterType((*Arguments)(nil), "gobgpapi.Arguments") - proto.RegisterType((*ModPathArguments)(nil), "gobgpapi.ModPathArguments") - proto.RegisterType((*ModPathResponse)(nil), "gobgpapi.ModPathResponse") - proto.RegisterType((*ModPathsArguments)(nil), "gobgpapi.ModPathsArguments") - proto.RegisterType((*ModNeighborArguments)(nil), "gobgpapi.ModNeighborArguments") + proto.RegisterType((*AddPathRequest)(nil), "gobgpapi.AddPathRequest") + proto.RegisterType((*AddPathResponse)(nil), "gobgpapi.AddPathResponse") + proto.RegisterType((*DeletePathRequest)(nil), "gobgpapi.DeletePathRequest") + proto.RegisterType((*DeletePathResponse)(nil), "gobgpapi.DeletePathResponse") + proto.RegisterType((*AddNeighborRequest)(nil), "gobgpapi.AddNeighborRequest") + proto.RegisterType((*AddNeighborResponse)(nil), "gobgpapi.AddNeighborResponse") + proto.RegisterType((*DeleteNeighborRequest)(nil), "gobgpapi.DeleteNeighborRequest") + proto.RegisterType((*DeleteNeighborResponse)(nil), "gobgpapi.DeleteNeighborResponse") + proto.RegisterType((*ResetNeighborRequest)(nil), "gobgpapi.ResetNeighborRequest") + proto.RegisterType((*ResetNeighborResponse)(nil), "gobgpapi.ResetNeighborResponse") + proto.RegisterType((*SoftResetNeighborRequest)(nil), "gobgpapi.SoftResetNeighborRequest") + proto.RegisterType((*SoftResetNeighborResponse)(nil), "gobgpapi.SoftResetNeighborResponse") + proto.RegisterType((*ShutdownNeighborRequest)(nil), "gobgpapi.ShutdownNeighborRequest") + proto.RegisterType((*ShutdownNeighborResponse)(nil), "gobgpapi.ShutdownNeighborResponse") + proto.RegisterType((*EnableNeighborRequest)(nil), "gobgpapi.EnableNeighborRequest") + proto.RegisterType((*EnableNeighborResponse)(nil), "gobgpapi.EnableNeighborResponse") + proto.RegisterType((*DisableNeighborRequest)(nil), "gobgpapi.DisableNeighborRequest") + proto.RegisterType((*DisableNeighborResponse)(nil), "gobgpapi.DisableNeighborResponse") proto.RegisterType((*MrtArguments)(nil), "gobgpapi.MrtArguments") - proto.RegisterType((*ModMrtArguments)(nil), "gobgpapi.ModMrtArguments") - proto.RegisterType((*ModBmpArguments)(nil), "gobgpapi.ModBmpArguments") - proto.RegisterType((*ModRpkiArguments)(nil), "gobgpapi.ModRpkiArguments") - proto.RegisterType((*ModVrfArguments)(nil), "gobgpapi.ModVrfArguments") - proto.RegisterType((*ModDefinedSetArguments)(nil), "gobgpapi.ModDefinedSetArguments") - proto.RegisterType((*ModStatementArguments)(nil), "gobgpapi.ModStatementArguments") - proto.RegisterType((*ModPolicyArguments)(nil), "gobgpapi.ModPolicyArguments") - proto.RegisterType((*ModPolicyAssignmentArguments)(nil), "gobgpapi.ModPolicyAssignmentArguments") - proto.RegisterType((*ModGlobalConfigArguments)(nil), "gobgpapi.ModGlobalConfigArguments") + proto.RegisterType((*EnableMrtRequest)(nil), "gobgpapi.EnableMrtRequest") + proto.RegisterType((*EnableMrtResponse)(nil), "gobgpapi.EnableMrtResponse") + proto.RegisterType((*DisableMrtRequest)(nil), "gobgpapi.DisableMrtRequest") + proto.RegisterType((*DisableMrtResponse)(nil), "gobgpapi.DisableMrtResponse") + proto.RegisterType((*InjectMrtRequest)(nil), "gobgpapi.InjectMrtRequest") + proto.RegisterType((*InjectMrtResponse)(nil), "gobgpapi.InjectMrtResponse") + proto.RegisterType((*AddBmpRequest)(nil), "gobgpapi.AddBmpRequest") + proto.RegisterType((*AddBmpResponse)(nil), "gobgpapi.AddBmpResponse") + proto.RegisterType((*DeleteBmpRequest)(nil), "gobgpapi.DeleteBmpRequest") + proto.RegisterType((*DeleteBmpResponse)(nil), "gobgpapi.DeleteBmpResponse") + proto.RegisterType((*RPKIConf)(nil), "gobgpapi.RPKIConf") + proto.RegisterType((*RPKIState)(nil), "gobgpapi.RPKIState") + proto.RegisterType((*Rpki)(nil), "gobgpapi.Rpki") + proto.RegisterType((*GetRpkiRequest)(nil), "gobgpapi.GetRpkiRequest") + proto.RegisterType((*GetRpkiResponse)(nil), "gobgpapi.GetRpkiResponse") + proto.RegisterType((*AddRpkiRequest)(nil), "gobgpapi.AddRpkiRequest") + proto.RegisterType((*AddRpkiResponse)(nil), "gobgpapi.AddRpkiResponse") + proto.RegisterType((*DeleteRpkiRequest)(nil), "gobgpapi.DeleteRpkiRequest") + proto.RegisterType((*DeleteRpkiResponse)(nil), "gobgpapi.DeleteRpkiResponse") + proto.RegisterType((*EnableRpkiRequest)(nil), "gobgpapi.EnableRpkiRequest") + proto.RegisterType((*EnableRpkiResponse)(nil), "gobgpapi.EnableRpkiResponse") + proto.RegisterType((*DisableRpkiRequest)(nil), "gobgpapi.DisableRpkiRequest") + proto.RegisterType((*DisableRpkiResponse)(nil), "gobgpapi.DisableRpkiResponse") + proto.RegisterType((*ResetRpkiRequest)(nil), "gobgpapi.ResetRpkiRequest") + proto.RegisterType((*ResetRpkiResponse)(nil), "gobgpapi.ResetRpkiResponse") + proto.RegisterType((*SoftResetRpkiRequest)(nil), "gobgpapi.SoftResetRpkiRequest") + proto.RegisterType((*SoftResetRpkiResponse)(nil), "gobgpapi.SoftResetRpkiResponse") + proto.RegisterType((*GetVrfRequest)(nil), "gobgpapi.GetVrfRequest") + proto.RegisterType((*GetVrfResponse)(nil), "gobgpapi.GetVrfResponse") + proto.RegisterType((*AddVrfRequest)(nil), "gobgpapi.AddVrfRequest") + proto.RegisterType((*AddVrfResponse)(nil), "gobgpapi.AddVrfResponse") + proto.RegisterType((*DeleteVrfRequest)(nil), "gobgpapi.DeleteVrfRequest") + proto.RegisterType((*DeleteVrfResponse)(nil), "gobgpapi.DeleteVrfResponse") + proto.RegisterType((*GetDefinedSetRequest)(nil), "gobgpapi.GetDefinedSetRequest") + proto.RegisterType((*GetDefinedSetResponse)(nil), "gobgpapi.GetDefinedSetResponse") + proto.RegisterType((*AddDefinedSetRequest)(nil), "gobgpapi.AddDefinedSetRequest") + proto.RegisterType((*AddDefinedSetResponse)(nil), "gobgpapi.AddDefinedSetResponse") + proto.RegisterType((*DeleteDefinedSetRequest)(nil), "gobgpapi.DeleteDefinedSetRequest") + proto.RegisterType((*DeleteDefinedSetResponse)(nil), "gobgpapi.DeleteDefinedSetResponse") + proto.RegisterType((*ReplaceDefinedSetRequest)(nil), "gobgpapi.ReplaceDefinedSetRequest") + proto.RegisterType((*ReplaceDefinedSetResponse)(nil), "gobgpapi.ReplaceDefinedSetResponse") + proto.RegisterType((*GetStatementRequest)(nil), "gobgpapi.GetStatementRequest") + proto.RegisterType((*GetStatementResponse)(nil), "gobgpapi.GetStatementResponse") + proto.RegisterType((*AddStatementRequest)(nil), "gobgpapi.AddStatementRequest") + proto.RegisterType((*AddStatementResponse)(nil), "gobgpapi.AddStatementResponse") + proto.RegisterType((*DeleteStatementRequest)(nil), "gobgpapi.DeleteStatementRequest") + proto.RegisterType((*DeleteStatementResponse)(nil), "gobgpapi.DeleteStatementResponse") + proto.RegisterType((*ReplaceStatementRequest)(nil), "gobgpapi.ReplaceStatementRequest") + proto.RegisterType((*ReplaceStatementResponse)(nil), "gobgpapi.ReplaceStatementResponse") + proto.RegisterType((*GetPolicyRequest)(nil), "gobgpapi.GetPolicyRequest") + proto.RegisterType((*GetPolicyResponse)(nil), "gobgpapi.GetPolicyResponse") + proto.RegisterType((*AddPolicyRequest)(nil), "gobgpapi.AddPolicyRequest") + proto.RegisterType((*AddPolicyResponse)(nil), "gobgpapi.AddPolicyResponse") + proto.RegisterType((*DeletePolicyRequest)(nil), "gobgpapi.DeletePolicyRequest") + proto.RegisterType((*DeletePolicyResponse)(nil), "gobgpapi.DeletePolicyResponse") + proto.RegisterType((*ReplacePolicyRequest)(nil), "gobgpapi.ReplacePolicyRequest") + proto.RegisterType((*ReplacePolicyResponse)(nil), "gobgpapi.ReplacePolicyResponse") + proto.RegisterType((*GetPolicyAssignmentRequest)(nil), "gobgpapi.GetPolicyAssignmentRequest") + proto.RegisterType((*GetPolicyAssignmentResponse)(nil), "gobgpapi.GetPolicyAssignmentResponse") + proto.RegisterType((*AddPolicyAssignmentRequest)(nil), "gobgpapi.AddPolicyAssignmentRequest") + proto.RegisterType((*AddPolicyAssignmentResponse)(nil), "gobgpapi.AddPolicyAssignmentResponse") + proto.RegisterType((*DeletePolicyAssignmentRequest)(nil), "gobgpapi.DeletePolicyAssignmentRequest") + proto.RegisterType((*DeletePolicyAssignmentResponse)(nil), "gobgpapi.DeletePolicyAssignmentResponse") + proto.RegisterType((*ReplacePolicyAssignmentRequest)(nil), "gobgpapi.ReplacePolicyAssignmentRequest") + proto.RegisterType((*ReplacePolicyAssignmentResponse)(nil), "gobgpapi.ReplacePolicyAssignmentResponse") + proto.RegisterType((*GetServerRequest)(nil), "gobgpapi.GetServerRequest") + proto.RegisterType((*GetServerResponse)(nil), "gobgpapi.GetServerResponse") + proto.RegisterType((*StartServerRequest)(nil), "gobgpapi.StartServerRequest") + proto.RegisterType((*StartServerResponse)(nil), "gobgpapi.StartServerResponse") + proto.RegisterType((*StopServerRequest)(nil), "gobgpapi.StopServerRequest") + proto.RegisterType((*StopServerResponse)(nil), "gobgpapi.StopServerResponse") proto.RegisterType((*Path)(nil), "gobgpapi.Path") proto.RegisterType((*Destination)(nil), "gobgpapi.Destination") proto.RegisterType((*Table)(nil), "gobgpapi.Table") + proto.RegisterType((*GetRibRequest)(nil), "gobgpapi.GetRibRequest") + proto.RegisterType((*GetRibResponse)(nil), "gobgpapi.GetRibResponse") + proto.RegisterType((*ValidateRibRequest)(nil), "gobgpapi.ValidateRibRequest") + proto.RegisterType((*ValidateRibResponse)(nil), "gobgpapi.ValidateRibResponse") proto.RegisterType((*Peer)(nil), "gobgpapi.Peer") proto.RegisterType((*ApplyPolicy)(nil), "gobgpapi.ApplyPolicy") proto.RegisterType((*PrefixLimit)(nil), "gobgpapi.PrefixLimit") @@ -1439,14 +2402,12 @@ func init() { proto.RegisterType((*Policy)(nil), "gobgpapi.Policy") proto.RegisterType((*PolicyAssignment)(nil), "gobgpapi.PolicyAssignment") proto.RegisterType((*MrtMessage)(nil), "gobgpapi.MrtMessage") - proto.RegisterType((*RPKIConf)(nil), "gobgpapi.RPKIConf") - proto.RegisterType((*RPKIState)(nil), "gobgpapi.RPKIState") - proto.RegisterType((*RPKI)(nil), "gobgpapi.RPKI") - proto.RegisterType((*ROA)(nil), "gobgpapi.ROA") + proto.RegisterType((*Roa)(nil), "gobgpapi.Roa") + proto.RegisterType((*GetRoaRequest)(nil), "gobgpapi.GetRoaRequest") + proto.RegisterType((*GetRoaResponse)(nil), "gobgpapi.GetRoaResponse") proto.RegisterType((*Vrf)(nil), "gobgpapi.Vrf") proto.RegisterType((*Global)(nil), "gobgpapi.Global") proto.RegisterEnum("gobgpapi.Resource", Resource_name, Resource_value) - proto.RegisterEnum("gobgpapi.Operation", Operation_name, Operation_value) proto.RegisterEnum("gobgpapi.DefinedType", DefinedType_name, DefinedType_value) proto.RegisterEnum("gobgpapi.MatchType", MatchType_name, MatchType_value) proto.RegisterEnum("gobgpapi.AsPathLengthType", AsPathLengthType_name, AsPathLengthType_value) @@ -1454,8 +2415,8 @@ func init() { proto.RegisterEnum("gobgpapi.CommunityActionType", CommunityActionType_name, CommunityActionType_value) proto.RegisterEnum("gobgpapi.MedActionType", MedActionType_name, MedActionType_value) proto.RegisterEnum("gobgpapi.PolicyType", PolicyType_name, PolicyType_value) - proto.RegisterEnum("gobgpapi.Error_ErrorCode", Error_ErrorCode_name, Error_ErrorCode_value) - proto.RegisterEnum("gobgpapi.ModBmpArguments_MonitoringPolicy", ModBmpArguments_MonitoringPolicy_name, ModBmpArguments_MonitoringPolicy_value) + proto.RegisterEnum("gobgpapi.SoftResetNeighborRequest_SoftResetDirection", SoftResetNeighborRequest_SoftResetDirection_name, SoftResetNeighborRequest_SoftResetDirection_value) + proto.RegisterEnum("gobgpapi.AddBmpRequest_MonitoringPolicy", AddBmpRequest_MonitoringPolicy_name, AddBmpRequest_MonitoringPolicy_value) } // Reference imports to suppress errors if they are not otherwise used. @@ -1469,43 +2430,57 @@ const _ = grpc.SupportPackageIsVersion2 // Client API for GobgpApi service type GobgpApiClient interface { - GetGlobalConfig(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Global, error) - ModGlobalConfig(ctx context.Context, in *ModGlobalConfigArguments, opts ...grpc.CallOption) (*Error, error) - GetNeighbors(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetNeighborsClient, error) - GetNeighbor(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Peer, error) - ModNeighbor(ctx context.Context, in *ModNeighborArguments, opts ...grpc.CallOption) (*Error, error) - GetRib(ctx context.Context, in *Table, opts ...grpc.CallOption) (*Table, error) - Reset(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) - SoftReset(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) - SoftResetIn(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) - SoftResetOut(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) - Shutdown(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) - Enable(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) - Disable(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) - ModPath(ctx context.Context, in *ModPathArguments, opts ...grpc.CallOption) (*ModPathResponse, error) - ModPaths(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_ModPathsClient, error) + StartServer(ctx context.Context, in *StartServerRequest, opts ...grpc.CallOption) (*StartServerResponse, error) + StopServer(ctx context.Context, in *StopServerRequest, opts ...grpc.CallOption) (*StopServerResponse, error) + GetServer(ctx context.Context, in *GetServerRequest, opts ...grpc.CallOption) (*GetServerResponse, error) + AddNeighbor(ctx context.Context, in *AddNeighborRequest, opts ...grpc.CallOption) (*AddNeighborResponse, error) + DeleteNeighbor(ctx context.Context, in *DeleteNeighborRequest, opts ...grpc.CallOption) (*DeleteNeighborResponse, error) + GetNeighbor(ctx context.Context, in *GetNeighborRequest, opts ...grpc.CallOption) (*GetNeighborResponse, error) + ResetNeighbor(ctx context.Context, in *ResetNeighborRequest, opts ...grpc.CallOption) (*ResetNeighborResponse, error) + SoftResetNeighbor(ctx context.Context, in *SoftResetNeighborRequest, opts ...grpc.CallOption) (*SoftResetNeighborResponse, error) + ShutdownNeighbor(ctx context.Context, in *ShutdownNeighborRequest, opts ...grpc.CallOption) (*ShutdownNeighborResponse, error) + EnableNeighbor(ctx context.Context, in *EnableNeighborRequest, opts ...grpc.CallOption) (*EnableNeighborResponse, error) + DisableNeighbor(ctx context.Context, in *DisableNeighborRequest, opts ...grpc.CallOption) (*DisableNeighborResponse, error) + GetRib(ctx context.Context, in *GetRibRequest, opts ...grpc.CallOption) (*GetRibResponse, error) + ValidateRib(ctx context.Context, in *ValidateRibRequest, opts ...grpc.CallOption) (*ValidateRibResponse, error) + AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) + DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*DeletePathResponse, error) MonitorRib(ctx context.Context, in *Table, opts ...grpc.CallOption) (GobgpApi_MonitorRibClient, error) MonitorBestChanged(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorBestChangedClient, error) MonitorPeerState(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorPeerStateClient, error) + EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*EnableMrtResponse, error) + DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*DisableMrtResponse, error) GetMrt(ctx context.Context, in *MrtArguments, opts ...grpc.CallOption) (GobgpApi_GetMrtClient, error) - ModMrt(ctx context.Context, in *ModMrtArguments, opts ...grpc.CallOption) (*Error, error) - ModBmp(ctx context.Context, in *ModBmpArguments, opts ...grpc.CallOption) (*Error, error) - GetRPKI(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetRPKIClient, error) - ModRPKI(ctx context.Context, in *ModRpkiArguments, opts ...grpc.CallOption) (*Error, error) - GetROA(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetROAClient, error) - GetVrfs(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetVrfsClient, error) - ModVrf(ctx context.Context, in *ModVrfArguments, opts ...grpc.CallOption) (*Error, error) - GetDefinedSet(ctx context.Context, in *DefinedSet, opts ...grpc.CallOption) (*DefinedSet, error) - GetDefinedSets(ctx context.Context, in *DefinedSet, opts ...grpc.CallOption) (GobgpApi_GetDefinedSetsClient, error) - ModDefinedSet(ctx context.Context, in *ModDefinedSetArguments, opts ...grpc.CallOption) (*Error, error) - GetStatement(ctx context.Context, in *Statement, opts ...grpc.CallOption) (*Statement, error) - GetStatements(ctx context.Context, in *Statement, opts ...grpc.CallOption) (GobgpApi_GetStatementsClient, error) - ModStatement(ctx context.Context, in *ModStatementArguments, opts ...grpc.CallOption) (*Error, error) - GetPolicy(ctx context.Context, in *Policy, opts ...grpc.CallOption) (*Policy, error) - GetPolicies(ctx context.Context, in *Policy, opts ...grpc.CallOption) (GobgpApi_GetPoliciesClient, error) - ModPolicy(ctx context.Context, in *ModPolicyArguments, opts ...grpc.CallOption) (*Error, error) - GetPolicyAssignment(ctx context.Context, in *PolicyAssignment, opts ...grpc.CallOption) (*PolicyAssignment, error) - ModPolicyAssignment(ctx context.Context, in *ModPolicyAssignmentArguments, opts ...grpc.CallOption) (*Error, error) + InjectMrt(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_InjectMrtClient, error) + AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*AddBmpResponse, error) + DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*DeleteBmpResponse, error) + GetRpki(ctx context.Context, in *GetRpkiRequest, opts ...grpc.CallOption) (*GetRpkiResponse, error) + AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*AddRpkiResponse, error) + DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*DeleteRpkiResponse, error) + EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*EnableRpkiResponse, error) + DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*DisableRpkiResponse, error) + ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*ResetRpkiResponse, error) + SoftResetRpki(ctx context.Context, in *SoftResetRpkiRequest, opts ...grpc.CallOption) (*SoftResetRpkiResponse, error) + GetRoa(ctx context.Context, in *GetRoaRequest, opts ...grpc.CallOption) (*GetRoaResponse, error) + AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*AddVrfResponse, error) + DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*DeleteVrfResponse, error) + GetVrf(ctx context.Context, in *GetVrfRequest, opts ...grpc.CallOption) (*GetVrfResponse, error) + GetDefinedSet(ctx context.Context, in *GetDefinedSetRequest, opts ...grpc.CallOption) (*GetDefinedSetResponse, error) + AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*AddDefinedSetResponse, error) + DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*DeleteDefinedSetResponse, error) + ReplaceDefinedSet(ctx context.Context, in *ReplaceDefinedSetRequest, opts ...grpc.CallOption) (*ReplaceDefinedSetResponse, error) + GetStatement(ctx context.Context, in *GetStatementRequest, opts ...grpc.CallOption) (*GetStatementResponse, error) + AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*AddStatementResponse, error) + DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*DeleteStatementResponse, error) + ReplaceStatement(ctx context.Context, in *ReplaceStatementRequest, opts ...grpc.CallOption) (*ReplaceStatementResponse, error) + GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) + AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*AddPolicyResponse, error) + DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*DeletePolicyResponse, error) + ReplacePolicy(ctx context.Context, in *ReplacePolicyRequest, opts ...grpc.CallOption) (*ReplacePolicyResponse, error) + GetPolicyAssignment(ctx context.Context, in *GetPolicyAssignmentRequest, opts ...grpc.CallOption) (*GetPolicyAssignmentResponse, error) + AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*AddPolicyAssignmentResponse, error) + DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*DeletePolicyAssignmentResponse, error) + ReplacePolicyAssignment(ctx context.Context, in *ReplacePolicyAssignmentRequest, opts ...grpc.CallOption) (*ReplacePolicyAssignmentResponse, error) } type gobgpApiClient struct { @@ -1516,191 +2491,143 @@ func NewGobgpApiClient(cc *grpc.ClientConn) GobgpApiClient { return &gobgpApiClient{cc} } -func (c *gobgpApiClient) GetGlobalConfig(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Global, error) { - out := new(Global) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetGlobalConfig", in, out, c.cc, opts...) +func (c *gobgpApiClient) StartServer(ctx context.Context, in *StartServerRequest, opts ...grpc.CallOption) (*StartServerResponse, error) { + out := new(StartServerResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/StartServer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) ModGlobalConfig(ctx context.Context, in *ModGlobalConfigArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModGlobalConfig", in, out, c.cc, opts...) +func (c *gobgpApiClient) StopServer(ctx context.Context, in *StopServerRequest, opts ...grpc.CallOption) (*StopServerResponse, error) { + out := new(StopServerResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/StopServer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) GetNeighbors(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetNeighborsClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[0], c.cc, "/gobgpapi.GobgpApi/GetNeighbors", opts...) +func (c *gobgpApiClient) GetServer(ctx context.Context, in *GetServerRequest, opts ...grpc.CallOption) (*GetServerResponse, error) { + out := new(GetServerResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetServer", in, out, c.cc, opts...) if err != nil { return nil, err } - x := &gobgpApiGetNeighborsClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_GetNeighborsClient interface { - Recv() (*Peer, error) - grpc.ClientStream -} - -type gobgpApiGetNeighborsClient struct { - grpc.ClientStream -} - -func (x *gobgpApiGetNeighborsClient) Recv() (*Peer, error) { - m := new(Peer) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil + return out, nil } -func (c *gobgpApiClient) GetNeighbor(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Peer, error) { - out := new(Peer) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetNeighbor", in, out, c.cc, opts...) +func (c *gobgpApiClient) AddNeighbor(ctx context.Context, in *AddNeighborRequest, opts ...grpc.CallOption) (*AddNeighborResponse, error) { + out := new(AddNeighborResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) ModNeighbor(ctx context.Context, in *ModNeighborArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModNeighbor", in, out, c.cc, opts...) +func (c *gobgpApiClient) DeleteNeighbor(ctx context.Context, in *DeleteNeighborRequest, opts ...grpc.CallOption) (*DeleteNeighborResponse, error) { + out := new(DeleteNeighborResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) GetRib(ctx context.Context, in *Table, opts ...grpc.CallOption) (*Table, error) { - out := new(Table) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRib", in, out, c.cc, opts...) +func (c *gobgpApiClient) GetNeighbor(ctx context.Context, in *GetNeighborRequest, opts ...grpc.CallOption) (*GetNeighborResponse, error) { + out := new(GetNeighborResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) Reset(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/Reset", in, out, c.cc, opts...) +func (c *gobgpApiClient) ResetNeighbor(ctx context.Context, in *ResetNeighborRequest, opts ...grpc.CallOption) (*ResetNeighborResponse, error) { + out := new(ResetNeighborResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) SoftReset(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SoftReset", in, out, c.cc, opts...) +func (c *gobgpApiClient) SoftResetNeighbor(ctx context.Context, in *SoftResetNeighborRequest, opts ...grpc.CallOption) (*SoftResetNeighborResponse, error) { + out := new(SoftResetNeighborResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SoftResetNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) SoftResetIn(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SoftResetIn", in, out, c.cc, opts...) +func (c *gobgpApiClient) ShutdownNeighbor(ctx context.Context, in *ShutdownNeighborRequest, opts ...grpc.CallOption) (*ShutdownNeighborResponse, error) { + out := new(ShutdownNeighborResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ShutdownNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) SoftResetOut(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SoftResetOut", in, out, c.cc, opts...) +func (c *gobgpApiClient) EnableNeighbor(ctx context.Context, in *EnableNeighborRequest, opts ...grpc.CallOption) (*EnableNeighborResponse, error) { + out := new(EnableNeighborResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) Shutdown(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/Shutdown", in, out, c.cc, opts...) +func (c *gobgpApiClient) DisableNeighbor(ctx context.Context, in *DisableNeighborRequest, opts ...grpc.CallOption) (*DisableNeighborResponse, error) { + out := new(DisableNeighborResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) Enable(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/Enable", in, out, c.cc, opts...) +func (c *gobgpApiClient) GetRib(ctx context.Context, in *GetRibRequest, opts ...grpc.CallOption) (*GetRibResponse, error) { + out := new(GetRibResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRib", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) Disable(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/Disable", in, out, c.cc, opts...) +func (c *gobgpApiClient) ValidateRib(ctx context.Context, in *ValidateRibRequest, opts ...grpc.CallOption) (*ValidateRibResponse, error) { + out := new(ValidateRibResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ValidateRib", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) ModPath(ctx context.Context, in *ModPathArguments, opts ...grpc.CallOption) (*ModPathResponse, error) { - out := new(ModPathResponse) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModPath", in, out, c.cc, opts...) +func (c *gobgpApiClient) AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) { + out := new(AddPathResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPath", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) ModPaths(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_ModPathsClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[1], c.cc, "/gobgpapi.GobgpApi/ModPaths", opts...) +func (c *gobgpApiClient) DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*DeletePathResponse, error) { + out := new(DeletePathResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePath", in, out, c.cc, opts...) if err != nil { return nil, err } - x := &gobgpApiModPathsClient{stream} - return x, nil -} - -type GobgpApi_ModPathsClient interface { - Send(*ModPathsArguments) error - CloseAndRecv() (*Error, error) - grpc.ClientStream -} - -type gobgpApiModPathsClient struct { - grpc.ClientStream -} - -func (x *gobgpApiModPathsClient) Send(m *ModPathsArguments) error { - return x.ClientStream.SendMsg(m) -} - -func (x *gobgpApiModPathsClient) CloseAndRecv() (*Error, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(Error) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil + return out, nil } func (c *gobgpApiClient) MonitorRib(ctx context.Context, in *Table, opts ...grpc.CallOption) (GobgpApi_MonitorRibClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[2], c.cc, "/gobgpapi.GobgpApi/MonitorRib", opts...) + stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[0], c.cc, "/gobgpapi.GobgpApi/MonitorRib", opts...) if err != nil { return nil, err } @@ -1732,7 +2659,7 @@ func (x *gobgpApiMonitorRibClient) Recv() (*Destination, error) { } func (c *gobgpApiClient) MonitorBestChanged(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorBestChangedClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[3], c.cc, "/gobgpapi.GobgpApi/MonitorBestChanged", opts...) + stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[1], c.cc, "/gobgpapi.GobgpApi/MonitorBestChanged", opts...) if err != nil { return nil, err } @@ -1764,7 +2691,7 @@ func (x *gobgpApiMonitorBestChangedClient) Recv() (*Destination, error) { } func (c *gobgpApiClient) MonitorPeerState(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorPeerStateClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[4], c.cc, "/gobgpapi.GobgpApi/MonitorPeerState", opts...) + stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[2], c.cc, "/gobgpapi.GobgpApi/MonitorPeerState", opts...) if err != nil { return nil, err } @@ -1795,8 +2722,26 @@ func (x *gobgpApiMonitorPeerStateClient) Recv() (*Peer, error) { return m, nil } +func (c *gobgpApiClient) EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*EnableMrtResponse, error) { + out := new(EnableMrtResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableMrt", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gobgpApiClient) DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*DisableMrtResponse, error) { + out := new(DisableMrtResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableMrt", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *gobgpApiClient) GetMrt(ctx context.Context, in *MrtArguments, opts ...grpc.CallOption) (GobgpApi_GetMrtClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[5], c.cc, "/gobgpapi.GobgpApi/GetMrt", opts...) + stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[3], c.cc, "/gobgpapi.GobgpApi/GetMrt", opts...) if err != nil { return nil, err } @@ -1827,140 +2772,159 @@ func (x *gobgpApiGetMrtClient) Recv() (*MrtMessage, error) { return m, nil } -func (c *gobgpApiClient) ModMrt(ctx context.Context, in *ModMrtArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModMrt", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) ModBmp(ctx context.Context, in *ModBmpArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModBmp", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gobgpApiClient) GetRPKI(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetRPKIClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[6], c.cc, "/gobgpapi.GobgpApi/GetRPKI", opts...) +func (c *gobgpApiClient) InjectMrt(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_InjectMrtClient, error) { + stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[4], c.cc, "/gobgpapi.GobgpApi/InjectMrt", opts...) if err != nil { return nil, err } - x := &gobgpApiGetRPKIClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } + x := &gobgpApiInjectMrtClient{stream} return x, nil } -type GobgpApi_GetRPKIClient interface { - Recv() (*RPKI, error) +type GobgpApi_InjectMrtClient interface { + Send(*InjectMrtRequest) error + CloseAndRecv() (*InjectMrtResponse, error) grpc.ClientStream } -type gobgpApiGetRPKIClient struct { +type gobgpApiInjectMrtClient struct { grpc.ClientStream } -func (x *gobgpApiGetRPKIClient) Recv() (*RPKI, error) { - m := new(RPKI) +func (x *gobgpApiInjectMrtClient) Send(m *InjectMrtRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *gobgpApiInjectMrtClient) CloseAndRecv() (*InjectMrtResponse, error) { + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + m := new(InjectMrtResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } -func (c *gobgpApiClient) ModRPKI(ctx context.Context, in *ModRpkiArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModRPKI", in, out, c.cc, opts...) +func (c *gobgpApiClient) AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*AddBmpResponse, error) { + out := new(AddBmpResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddBmp", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) GetROA(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetROAClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[7], c.cc, "/gobgpapi.GobgpApi/GetROA", opts...) +func (c *gobgpApiClient) DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*DeleteBmpResponse, error) { + out := new(DeleteBmpResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteBmp", in, out, c.cc, opts...) if err != nil { return nil, err } - x := &gobgpApiGetROAClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { + return out, nil +} + +func (c *gobgpApiClient) GetRpki(ctx context.Context, in *GetRpkiRequest, opts ...grpc.CallOption) (*GetRpkiResponse, error) { + out := new(GetRpkiResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRpki", in, out, c.cc, opts...) + if err != nil { return nil, err } - return x, nil + return out, nil } -type GobgpApi_GetROAClient interface { - Recv() (*ROA, error) - grpc.ClientStream +func (c *gobgpApiClient) AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*AddRpkiResponse, error) { + out := new(AddRpkiResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddRpki", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil } -type gobgpApiGetROAClient struct { - grpc.ClientStream +func (c *gobgpApiClient) DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*DeleteRpkiResponse, error) { + out := new(DeleteRpkiResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteRpki", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (x *gobgpApiGetROAClient) Recv() (*ROA, error) { - m := new(ROA) - if err := x.ClientStream.RecvMsg(m); err != nil { +func (c *gobgpApiClient) EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*EnableRpkiResponse, error) { + out := new(EnableRpkiResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableRpki", in, out, c.cc, opts...) + if err != nil { return nil, err } - return m, nil + return out, nil } -func (c *gobgpApiClient) GetVrfs(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_GetVrfsClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[8], c.cc, "/gobgpapi.GobgpApi/GetVrfs", opts...) +func (c *gobgpApiClient) DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*DisableRpkiResponse, error) { + out := new(DisableRpkiResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableRpki", in, out, c.cc, opts...) if err != nil { return nil, err } - x := &gobgpApiGetVrfsClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { + return out, nil +} + +func (c *gobgpApiClient) ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*ResetRpkiResponse, error) { + out := new(ResetRpkiResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetRpki", in, out, c.cc, opts...) + if err != nil { return nil, err } - if err := x.ClientStream.CloseSend(); err != nil { + return out, nil +} + +func (c *gobgpApiClient) SoftResetRpki(ctx context.Context, in *SoftResetRpkiRequest, opts ...grpc.CallOption) (*SoftResetRpkiResponse, error) { + out := new(SoftResetRpkiResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SoftResetRpki", in, out, c.cc, opts...) + if err != nil { return nil, err } - return x, nil + return out, nil } -type GobgpApi_GetVrfsClient interface { - Recv() (*Vrf, error) - grpc.ClientStream +func (c *gobgpApiClient) GetRoa(ctx context.Context, in *GetRoaRequest, opts ...grpc.CallOption) (*GetRoaResponse, error) { + out := new(GetRoaResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRoa", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil } -type gobgpApiGetVrfsClient struct { - grpc.ClientStream +func (c *gobgpApiClient) AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*AddVrfResponse, error) { + out := new(AddVrfResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddVrf", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (x *gobgpApiGetVrfsClient) Recv() (*Vrf, error) { - m := new(Vrf) - if err := x.ClientStream.RecvMsg(m); err != nil { +func (c *gobgpApiClient) DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*DeleteVrfResponse, error) { + out := new(DeleteVrfResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteVrf", in, out, c.cc, opts...) + if err != nil { return nil, err } - return m, nil + return out, nil } -func (c *gobgpApiClient) ModVrf(ctx context.Context, in *ModVrfArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModVrf", in, out, c.cc, opts...) +func (c *gobgpApiClient) GetVrf(ctx context.Context, in *GetVrfRequest, opts ...grpc.CallOption) (*GetVrfResponse, error) { + out := new(GetVrfResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetVrf", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) GetDefinedSet(ctx context.Context, in *DefinedSet, opts ...grpc.CallOption) (*DefinedSet, error) { - out := new(DefinedSet) +func (c *gobgpApiClient) GetDefinedSet(ctx context.Context, in *GetDefinedSetRequest, opts ...grpc.CallOption) (*GetDefinedSetResponse, error) { + out := new(GetDefinedSetResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetDefinedSet", in, out, c.cc, opts...) if err != nil { return nil, err @@ -1968,49 +2932,35 @@ func (c *gobgpApiClient) GetDefinedSet(ctx context.Context, in *DefinedSet, opts return out, nil } -func (c *gobgpApiClient) GetDefinedSets(ctx context.Context, in *DefinedSet, opts ...grpc.CallOption) (GobgpApi_GetDefinedSetsClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[9], c.cc, "/gobgpapi.GobgpApi/GetDefinedSets", opts...) +func (c *gobgpApiClient) AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*AddDefinedSetResponse, error) { + out := new(AddDefinedSetResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddDefinedSet", in, out, c.cc, opts...) if err != nil { return nil, err } - x := &gobgpApiGetDefinedSetsClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_GetDefinedSetsClient interface { - Recv() (*DefinedSet, error) - grpc.ClientStream -} - -type gobgpApiGetDefinedSetsClient struct { - grpc.ClientStream + return out, nil } -func (x *gobgpApiGetDefinedSetsClient) Recv() (*DefinedSet, error) { - m := new(DefinedSet) - if err := x.ClientStream.RecvMsg(m); err != nil { +func (c *gobgpApiClient) DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*DeleteDefinedSetResponse, error) { + out := new(DeleteDefinedSetResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteDefinedSet", in, out, c.cc, opts...) + if err != nil { return nil, err } - return m, nil + return out, nil } -func (c *gobgpApiClient) ModDefinedSet(ctx context.Context, in *ModDefinedSetArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModDefinedSet", in, out, c.cc, opts...) +func (c *gobgpApiClient) ReplaceDefinedSet(ctx context.Context, in *ReplaceDefinedSetRequest, opts ...grpc.CallOption) (*ReplaceDefinedSetResponse, error) { + out := new(ReplaceDefinedSetResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplaceDefinedSet", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) GetStatement(ctx context.Context, in *Statement, opts ...grpc.CallOption) (*Statement, error) { - out := new(Statement) +func (c *gobgpApiClient) GetStatement(ctx context.Context, in *GetStatementRequest, opts ...grpc.CallOption) (*GetStatementResponse, error) { + out := new(GetStatementResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetStatement", in, out, c.cc, opts...) if err != nil { return nil, err @@ -2018,49 +2968,35 @@ func (c *gobgpApiClient) GetStatement(ctx context.Context, in *Statement, opts . return out, nil } -func (c *gobgpApiClient) GetStatements(ctx context.Context, in *Statement, opts ...grpc.CallOption) (GobgpApi_GetStatementsClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[10], c.cc, "/gobgpapi.GobgpApi/GetStatements", opts...) +func (c *gobgpApiClient) AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*AddStatementResponse, error) { + out := new(AddStatementResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddStatement", in, out, c.cc, opts...) if err != nil { return nil, err } - x := &gobgpApiGetStatementsClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type GobgpApi_GetStatementsClient interface { - Recv() (*Statement, error) - grpc.ClientStream -} - -type gobgpApiGetStatementsClient struct { - grpc.ClientStream + return out, nil } -func (x *gobgpApiGetStatementsClient) Recv() (*Statement, error) { - m := new(Statement) - if err := x.ClientStream.RecvMsg(m); err != nil { +func (c *gobgpApiClient) DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*DeleteStatementResponse, error) { + out := new(DeleteStatementResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteStatement", in, out, c.cc, opts...) + if err != nil { return nil, err } - return m, nil + return out, nil } -func (c *gobgpApiClient) ModStatement(ctx context.Context, in *ModStatementArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModStatement", in, out, c.cc, opts...) +func (c *gobgpApiClient) ReplaceStatement(ctx context.Context, in *ReplaceStatementRequest, opts ...grpc.CallOption) (*ReplaceStatementResponse, error) { + out := new(ReplaceStatementResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplaceStatement", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) GetPolicy(ctx context.Context, in *Policy, opts ...grpc.CallOption) (*Policy, error) { - out := new(Policy) +func (c *gobgpApiClient) GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) { + out := new(GetPolicyResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetPolicy", in, out, c.cc, opts...) if err != nil { return nil, err @@ -2068,59 +3004,63 @@ func (c *gobgpApiClient) GetPolicy(ctx context.Context, in *Policy, opts ...grpc return out, nil } -func (c *gobgpApiClient) GetPolicies(ctx context.Context, in *Policy, opts ...grpc.CallOption) (GobgpApi_GetPoliciesClient, error) { - stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[11], c.cc, "/gobgpapi.GobgpApi/GetPolicies", opts...) +func (c *gobgpApiClient) AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*AddPolicyResponse, error) { + out := new(AddPolicyResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicy", in, out, c.cc, opts...) if err != nil { return nil, err } - x := &gobgpApiGetPoliciesClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil + return out, nil } -type GobgpApi_GetPoliciesClient interface { - Recv() (*Policy, error) - grpc.ClientStream +func (c *gobgpApiClient) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*DeletePolicyResponse, error) { + out := new(DeletePolicyResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicy", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil } -type gobgpApiGetPoliciesClient struct { - grpc.ClientStream +func (c *gobgpApiClient) ReplacePolicy(ctx context.Context, in *ReplacePolicyRequest, opts ...grpc.CallOption) (*ReplacePolicyResponse, error) { + out := new(ReplacePolicyResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplacePolicy", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil } -func (x *gobgpApiGetPoliciesClient) Recv() (*Policy, error) { - m := new(Policy) - if err := x.ClientStream.RecvMsg(m); err != nil { +func (c *gobgpApiClient) GetPolicyAssignment(ctx context.Context, in *GetPolicyAssignmentRequest, opts ...grpc.CallOption) (*GetPolicyAssignmentResponse, error) { + out := new(GetPolicyAssignmentResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetPolicyAssignment", in, out, c.cc, opts...) + if err != nil { return nil, err } - return m, nil + return out, nil } -func (c *gobgpApiClient) ModPolicy(ctx context.Context, in *ModPolicyArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModPolicy", in, out, c.cc, opts...) +func (c *gobgpApiClient) AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*AddPolicyAssignmentResponse, error) { + out := new(AddPolicyAssignmentResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) GetPolicyAssignment(ctx context.Context, in *PolicyAssignment, opts ...grpc.CallOption) (*PolicyAssignment, error) { - out := new(PolicyAssignment) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetPolicyAssignment", in, out, c.cc, opts...) +func (c *gobgpApiClient) DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*DeletePolicyAssignmentResponse, error) { + out := new(DeletePolicyAssignmentResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -func (c *gobgpApiClient) ModPolicyAssignment(ctx context.Context, in *ModPolicyAssignmentArguments, opts ...grpc.CallOption) (*Error, error) { - out := new(Error) - err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ModPolicyAssignment", in, out, c.cc, opts...) +func (c *gobgpApiClient) ReplacePolicyAssignment(ctx context.Context, in *ReplacePolicyAssignmentRequest, opts ...grpc.CallOption) (*ReplacePolicyAssignmentResponse, error) { + out := new(ReplacePolicyAssignmentResponse) + err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplacePolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -2130,328 +3070,331 @@ func (c *gobgpApiClient) ModPolicyAssignment(ctx context.Context, in *ModPolicyA // Server API for GobgpApi service type GobgpApiServer interface { - GetGlobalConfig(context.Context, *Arguments) (*Global, error) - ModGlobalConfig(context.Context, *ModGlobalConfigArguments) (*Error, error) - GetNeighbors(*Arguments, GobgpApi_GetNeighborsServer) error - GetNeighbor(context.Context, *Arguments) (*Peer, error) - ModNeighbor(context.Context, *ModNeighborArguments) (*Error, error) - GetRib(context.Context, *Table) (*Table, error) - Reset(context.Context, *Arguments) (*Error, error) - SoftReset(context.Context, *Arguments) (*Error, error) - SoftResetIn(context.Context, *Arguments) (*Error, error) - SoftResetOut(context.Context, *Arguments) (*Error, error) - Shutdown(context.Context, *Arguments) (*Error, error) - Enable(context.Context, *Arguments) (*Error, error) - Disable(context.Context, *Arguments) (*Error, error) - ModPath(context.Context, *ModPathArguments) (*ModPathResponse, error) - ModPaths(GobgpApi_ModPathsServer) error + StartServer(context.Context, *StartServerRequest) (*StartServerResponse, error) + StopServer(context.Context, *StopServerRequest) (*StopServerResponse, error) + GetServer(context.Context, *GetServerRequest) (*GetServerResponse, error) + AddNeighbor(context.Context, *AddNeighborRequest) (*AddNeighborResponse, error) + DeleteNeighbor(context.Context, *DeleteNeighborRequest) (*DeleteNeighborResponse, error) + GetNeighbor(context.Context, *GetNeighborRequest) (*GetNeighborResponse, error) + ResetNeighbor(context.Context, *ResetNeighborRequest) (*ResetNeighborResponse, error) + SoftResetNeighbor(context.Context, *SoftResetNeighborRequest) (*SoftResetNeighborResponse, error) + ShutdownNeighbor(context.Context, *ShutdownNeighborRequest) (*ShutdownNeighborResponse, error) + EnableNeighbor(context.Context, *EnableNeighborRequest) (*EnableNeighborResponse, error) + DisableNeighbor(context.Context, *DisableNeighborRequest) (*DisableNeighborResponse, error) + GetRib(context.Context, *GetRibRequest) (*GetRibResponse, error) + ValidateRib(context.Context, *ValidateRibRequest) (*ValidateRibResponse, error) + AddPath(context.Context, *AddPathRequest) (*AddPathResponse, error) + DeletePath(context.Context, *DeletePathRequest) (*DeletePathResponse, error) MonitorRib(*Table, GobgpApi_MonitorRibServer) error MonitorBestChanged(*Arguments, GobgpApi_MonitorBestChangedServer) error MonitorPeerState(*Arguments, GobgpApi_MonitorPeerStateServer) error + EnableMrt(context.Context, *EnableMrtRequest) (*EnableMrtResponse, error) + DisableMrt(context.Context, *DisableMrtRequest) (*DisableMrtResponse, error) GetMrt(*MrtArguments, GobgpApi_GetMrtServer) error - ModMrt(context.Context, *ModMrtArguments) (*Error, error) - ModBmp(context.Context, *ModBmpArguments) (*Error, error) - GetRPKI(*Arguments, GobgpApi_GetRPKIServer) error - ModRPKI(context.Context, *ModRpkiArguments) (*Error, error) - GetROA(*Arguments, GobgpApi_GetROAServer) error - GetVrfs(*Arguments, GobgpApi_GetVrfsServer) error - ModVrf(context.Context, *ModVrfArguments) (*Error, error) - GetDefinedSet(context.Context, *DefinedSet) (*DefinedSet, error) - GetDefinedSets(*DefinedSet, GobgpApi_GetDefinedSetsServer) error - ModDefinedSet(context.Context, *ModDefinedSetArguments) (*Error, error) - GetStatement(context.Context, *Statement) (*Statement, error) - GetStatements(*Statement, GobgpApi_GetStatementsServer) error - ModStatement(context.Context, *ModStatementArguments) (*Error, error) - GetPolicy(context.Context, *Policy) (*Policy, error) - GetPolicies(*Policy, GobgpApi_GetPoliciesServer) error - ModPolicy(context.Context, *ModPolicyArguments) (*Error, error) - GetPolicyAssignment(context.Context, *PolicyAssignment) (*PolicyAssignment, error) - ModPolicyAssignment(context.Context, *ModPolicyAssignmentArguments) (*Error, error) + InjectMrt(GobgpApi_InjectMrtServer) error + AddBmp(context.Context, *AddBmpRequest) (*AddBmpResponse, error) + DeleteBmp(context.Context, *DeleteBmpRequest) (*DeleteBmpResponse, error) + GetRpki(context.Context, *GetRpkiRequest) (*GetRpkiResponse, error) + AddRpki(context.Context, *AddRpkiRequest) (*AddRpkiResponse, error) + DeleteRpki(context.Context, *DeleteRpkiRequest) (*DeleteRpkiResponse, error) + EnableRpki(context.Context, *EnableRpkiRequest) (*EnableRpkiResponse, error) + DisableRpki(context.Context, *DisableRpkiRequest) (*DisableRpkiResponse, error) + ResetRpki(context.Context, *ResetRpkiRequest) (*ResetRpkiResponse, error) + SoftResetRpki(context.Context, *SoftResetRpkiRequest) (*SoftResetRpkiResponse, error) + GetRoa(context.Context, *GetRoaRequest) (*GetRoaResponse, error) + AddVrf(context.Context, *AddVrfRequest) (*AddVrfResponse, error) + DeleteVrf(context.Context, *DeleteVrfRequest) (*DeleteVrfResponse, error) + GetVrf(context.Context, *GetVrfRequest) (*GetVrfResponse, error) + GetDefinedSet(context.Context, *GetDefinedSetRequest) (*GetDefinedSetResponse, error) + AddDefinedSet(context.Context, *AddDefinedSetRequest) (*AddDefinedSetResponse, error) + DeleteDefinedSet(context.Context, *DeleteDefinedSetRequest) (*DeleteDefinedSetResponse, error) + ReplaceDefinedSet(context.Context, *ReplaceDefinedSetRequest) (*ReplaceDefinedSetResponse, error) + GetStatement(context.Context, *GetStatementRequest) (*GetStatementResponse, error) + AddStatement(context.Context, *AddStatementRequest) (*AddStatementResponse, error) + DeleteStatement(context.Context, *DeleteStatementRequest) (*DeleteStatementResponse, error) + ReplaceStatement(context.Context, *ReplaceStatementRequest) (*ReplaceStatementResponse, error) + GetPolicy(context.Context, *GetPolicyRequest) (*GetPolicyResponse, error) + AddPolicy(context.Context, *AddPolicyRequest) (*AddPolicyResponse, error) + DeletePolicy(context.Context, *DeletePolicyRequest) (*DeletePolicyResponse, error) + ReplacePolicy(context.Context, *ReplacePolicyRequest) (*ReplacePolicyResponse, error) + GetPolicyAssignment(context.Context, *GetPolicyAssignmentRequest) (*GetPolicyAssignmentResponse, error) + AddPolicyAssignment(context.Context, *AddPolicyAssignmentRequest) (*AddPolicyAssignmentResponse, error) + DeletePolicyAssignment(context.Context, *DeletePolicyAssignmentRequest) (*DeletePolicyAssignmentResponse, error) + ReplacePolicyAssignment(context.Context, *ReplacePolicyAssignmentRequest) (*ReplacePolicyAssignmentResponse, error) } func RegisterGobgpApiServer(s *grpc.Server, srv GobgpApiServer) { s.RegisterService(&_GobgpApi_serviceDesc, srv) } -func _GobgpApi_GetGlobalConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Arguments) +func _GobgpApi_StartServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StartServerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).GetGlobalConfig(ctx, in) + return srv.(GobgpApiServer).StartServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/GetGlobalConfig", + FullMethod: "/gobgpapi.GobgpApi/StartServer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).GetGlobalConfig(ctx, req.(*Arguments)) + return srv.(GobgpApiServer).StartServer(ctx, req.(*StartServerRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModGlobalConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModGlobalConfigArguments) +func _GobgpApi_StopServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StopServerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModGlobalConfig(ctx, in) + return srv.(GobgpApiServer).StopServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModGlobalConfig", + FullMethod: "/gobgpapi.GobgpApi/StopServer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModGlobalConfig(ctx, req.(*ModGlobalConfigArguments)) + return srv.(GobgpApiServer).StopServer(ctx, req.(*StopServerRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetNeighbors_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(Arguments) - if err := stream.RecvMsg(m); err != nil { - return err +func _GobgpApi_GetServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetServerRequest) + if err := dec(in); err != nil { + return nil, err } - return srv.(GobgpApiServer).GetNeighbors(m, &gobgpApiGetNeighborsServer{stream}) -} - -type GobgpApi_GetNeighborsServer interface { - Send(*Peer) error - grpc.ServerStream -} - -type gobgpApiGetNeighborsServer struct { - grpc.ServerStream -} - -func (x *gobgpApiGetNeighborsServer) Send(m *Peer) error { - return x.ServerStream.SendMsg(m) + if interceptor == nil { + return srv.(GobgpApiServer).GetServer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/GetServer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).GetServer(ctx, req.(*GetServerRequest)) + } + return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Arguments) +func _GobgpApi_AddNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).GetNeighbor(ctx, in) + return srv.(GobgpApiServer).AddNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/GetNeighbor", + FullMethod: "/gobgpapi.GobgpApi/AddNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).GetNeighbor(ctx, req.(*Arguments)) + return srv.(GobgpApiServer).AddNeighbor(ctx, req.(*AddNeighborRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModNeighborArguments) +func _GobgpApi_DeleteNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModNeighbor(ctx, in) + return srv.(GobgpApiServer).DeleteNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModNeighbor", + FullMethod: "/gobgpapi.GobgpApi/DeleteNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModNeighbor(ctx, req.(*ModNeighborArguments)) + return srv.(GobgpApiServer).DeleteNeighbor(ctx, req.(*DeleteNeighborRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetRib_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Table) +func _GobgpApi_GetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).GetRib(ctx, in) + return srv.(GobgpApiServer).GetNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/GetRib", + FullMethod: "/gobgpapi.GobgpApi/GetNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).GetRib(ctx, req.(*Table)) + return srv.(GobgpApiServer).GetNeighbor(ctx, req.(*GetNeighborRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_Reset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Arguments) +func _GobgpApi_ResetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).Reset(ctx, in) + return srv.(GobgpApiServer).ResetNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/Reset", + FullMethod: "/gobgpapi.GobgpApi/ResetNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).Reset(ctx, req.(*Arguments)) + return srv.(GobgpApiServer).ResetNeighbor(ctx, req.(*ResetNeighborRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_SoftReset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Arguments) +func _GobgpApi_SoftResetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SoftResetNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).SoftReset(ctx, in) + return srv.(GobgpApiServer).SoftResetNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/SoftReset", + FullMethod: "/gobgpapi.GobgpApi/SoftResetNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).SoftReset(ctx, req.(*Arguments)) + return srv.(GobgpApiServer).SoftResetNeighbor(ctx, req.(*SoftResetNeighborRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_SoftResetIn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Arguments) +func _GobgpApi_ShutdownNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShutdownNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).SoftResetIn(ctx, in) + return srv.(GobgpApiServer).ShutdownNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/SoftResetIn", + FullMethod: "/gobgpapi.GobgpApi/ShutdownNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).SoftResetIn(ctx, req.(*Arguments)) + return srv.(GobgpApiServer).ShutdownNeighbor(ctx, req.(*ShutdownNeighborRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_SoftResetOut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Arguments) +func _GobgpApi_EnableNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnableNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).SoftResetOut(ctx, in) + return srv.(GobgpApiServer).EnableNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/SoftResetOut", + FullMethod: "/gobgpapi.GobgpApi/EnableNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).SoftResetOut(ctx, req.(*Arguments)) + return srv.(GobgpApiServer).EnableNeighbor(ctx, req.(*EnableNeighborRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_Shutdown_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Arguments) +func _GobgpApi_DisableNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).Shutdown(ctx, in) + return srv.(GobgpApiServer).DisableNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/Shutdown", + FullMethod: "/gobgpapi.GobgpApi/DisableNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).Shutdown(ctx, req.(*Arguments)) + return srv.(GobgpApiServer).DisableNeighbor(ctx, req.(*DisableNeighborRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_Enable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Arguments) +func _GobgpApi_GetRib_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRibRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).Enable(ctx, in) + return srv.(GobgpApiServer).GetRib(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/Enable", + FullMethod: "/gobgpapi.GobgpApi/GetRib", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).Enable(ctx, req.(*Arguments)) + return srv.(GobgpApiServer).GetRib(ctx, req.(*GetRibRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_Disable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Arguments) +func _GobgpApi_ValidateRib_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ValidateRibRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).Disable(ctx, in) + return srv.(GobgpApiServer).ValidateRib(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/Disable", + FullMethod: "/gobgpapi.GobgpApi/ValidateRib", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).Disable(ctx, req.(*Arguments)) + return srv.(GobgpApiServer).ValidateRib(ctx, req.(*ValidateRibRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModPathArguments) +func _GobgpApi_AddPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddPathRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModPath(ctx, in) + return srv.(GobgpApiServer).AddPath(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModPath", + FullMethod: "/gobgpapi.GobgpApi/AddPath", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModPath(ctx, req.(*ModPathArguments)) + return srv.(GobgpApiServer).AddPath(ctx, req.(*AddPathRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModPaths_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(GobgpApiServer).ModPaths(&gobgpApiModPathsServer{stream}) -} - -type GobgpApi_ModPathsServer interface { - SendAndClose(*Error) error - Recv() (*ModPathsArguments, error) - grpc.ServerStream -} - -type gobgpApiModPathsServer struct { - grpc.ServerStream -} - -func (x *gobgpApiModPathsServer) SendAndClose(m *Error) error { - return x.ServerStream.SendMsg(m) -} - -func (x *gobgpApiModPathsServer) Recv() (*ModPathsArguments, error) { - m := new(ModPathsArguments) - if err := x.ServerStream.RecvMsg(m); err != nil { +func _GobgpApi_DeletePath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePathRequest) + if err := dec(in); err != nil { return nil, err } - return m, nil + if interceptor == nil { + return srv.(GobgpApiServer).DeletePath(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/DeletePath", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeletePath(ctx, req.(*DeletePathRequest)) + } + return interceptor(ctx, in, info, handler) } func _GobgpApi_MonitorRib_Handler(srv interface{}, stream grpc.ServerStream) error { @@ -2517,6 +3460,42 @@ func (x *gobgpApiMonitorPeerStateServer) Send(m *Peer) error { return x.ServerStream.SendMsg(m) } +func _GobgpApi_EnableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnableMrtRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).EnableMrt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/EnableMrt", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).EnableMrt(ctx, req.(*EnableMrtRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GobgpApi_DisableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableMrtRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DisableMrt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/DisableMrt", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DisableMrt(ctx, req.(*DisableMrtRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _GobgpApi_GetMrt_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(MrtArguments) if err := stream.RecvMsg(m); err != nil { @@ -2538,143 +3517,268 @@ func (x *gobgpApiGetMrtServer) Send(m *MrtMessage) error { return x.ServerStream.SendMsg(m) } -func _GobgpApi_ModMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModMrtArguments) +func _GobgpApi_InjectMrt_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(GobgpApiServer).InjectMrt(&gobgpApiInjectMrtServer{stream}) +} + +type GobgpApi_InjectMrtServer interface { + SendAndClose(*InjectMrtResponse) error + Recv() (*InjectMrtRequest, error) + grpc.ServerStream +} + +type gobgpApiInjectMrtServer struct { + grpc.ServerStream +} + +func (x *gobgpApiInjectMrtServer) SendAndClose(m *InjectMrtResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *gobgpApiInjectMrtServer) Recv() (*InjectMrtRequest, error) { + m := new(InjectMrtRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _GobgpApi_AddBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddBmpRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModMrt(ctx, in) + return srv.(GobgpApiServer).AddBmp(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModMrt", + FullMethod: "/gobgpapi.GobgpApi/AddBmp", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModMrt(ctx, req.(*ModMrtArguments)) + return srv.(GobgpApiServer).AddBmp(ctx, req.(*AddBmpRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModBmpArguments) +func _GobgpApi_DeleteBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteBmpRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModBmp(ctx, in) + return srv.(GobgpApiServer).DeleteBmp(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModBmp", + FullMethod: "/gobgpapi.GobgpApi/DeleteBmp", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModBmp(ctx, req.(*ModBmpArguments)) + return srv.(GobgpApiServer).DeleteBmp(ctx, req.(*DeleteBmpRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetRPKI_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(Arguments) - if err := stream.RecvMsg(m); err != nil { - return err +func _GobgpApi_GetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRpkiRequest) + if err := dec(in); err != nil { + return nil, err } - return srv.(GobgpApiServer).GetRPKI(m, &gobgpApiGetRPKIServer{stream}) -} - -type GobgpApi_GetRPKIServer interface { - Send(*RPKI) error - grpc.ServerStream -} - -type gobgpApiGetRPKIServer struct { - grpc.ServerStream -} - -func (x *gobgpApiGetRPKIServer) Send(m *RPKI) error { - return x.ServerStream.SendMsg(m) + if interceptor == nil { + return srv.(GobgpApiServer).GetRpki(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/GetRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).GetRpki(ctx, req.(*GetRpkiRequest)) + } + return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModRPKI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModRpkiArguments) +func _GobgpApi_AddRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddRpkiRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModRPKI(ctx, in) + return srv.(GobgpApiServer).AddRpki(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModRPKI", + FullMethod: "/gobgpapi.GobgpApi/AddRpki", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModRPKI(ctx, req.(*ModRpkiArguments)) + return srv.(GobgpApiServer).AddRpki(ctx, req.(*AddRpkiRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetROA_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(Arguments) - if err := stream.RecvMsg(m); err != nil { - return err +func _GobgpApi_DeleteRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteRpki(ctx, in) } - return srv.(GobgpApiServer).GetROA(m, &gobgpApiGetROAServer{stream}) + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/DeleteRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteRpki(ctx, req.(*DeleteRpkiRequest)) + } + return interceptor(ctx, in, info, handler) } -type GobgpApi_GetROAServer interface { - Send(*ROA) error - grpc.ServerStream +func _GobgpApi_EnableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EnableRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).EnableRpki(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/EnableRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).EnableRpki(ctx, req.(*EnableRpkiRequest)) + } + return interceptor(ctx, in, info, handler) } -type gobgpApiGetROAServer struct { - grpc.ServerStream +func _GobgpApi_DisableRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DisableRpki(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/DisableRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DisableRpki(ctx, req.(*DisableRpkiRequest)) + } + return interceptor(ctx, in, info, handler) } -func (x *gobgpApiGetROAServer) Send(m *ROA) error { - return x.ServerStream.SendMsg(m) +func _GobgpApi_ResetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).ResetRpki(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/ResetRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).ResetRpki(ctx, req.(*ResetRpkiRequest)) + } + return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetVrfs_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(Arguments) - if err := stream.RecvMsg(m); err != nil { - return err +func _GobgpApi_SoftResetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SoftResetRpkiRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).SoftResetRpki(ctx, in) } - return srv.(GobgpApiServer).GetVrfs(m, &gobgpApiGetVrfsServer{stream}) + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/SoftResetRpki", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).SoftResetRpki(ctx, req.(*SoftResetRpkiRequest)) + } + return interceptor(ctx, in, info, handler) } -type GobgpApi_GetVrfsServer interface { - Send(*Vrf) error - grpc.ServerStream +func _GobgpApi_GetRoa_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRoaRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).GetRoa(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/GetRoa", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).GetRoa(ctx, req.(*GetRoaRequest)) + } + return interceptor(ctx, in, info, handler) } -type gobgpApiGetVrfsServer struct { - grpc.ServerStream +func _GobgpApi_AddVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddVrfRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddVrf(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/AddVrf", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddVrf(ctx, req.(*AddVrfRequest)) + } + return interceptor(ctx, in, info, handler) } -func (x *gobgpApiGetVrfsServer) Send(m *Vrf) error { - return x.ServerStream.SendMsg(m) +func _GobgpApi_DeleteVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteVrfRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteVrf(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/DeleteVrf", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteVrf(ctx, req.(*DeleteVrfRequest)) + } + return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModVrfArguments) +func _GobgpApi_GetVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetVrfRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModVrf(ctx, in) + return srv.(GobgpApiServer).GetVrf(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModVrf", + FullMethod: "/gobgpapi.GobgpApi/GetVrf", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModVrf(ctx, req.(*ModVrfArguments)) + return srv.(GobgpApiServer).GetVrf(ctx, req.(*GetVrfRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DefinedSet) + in := new(GetDefinedSetRequest) if err := dec(in); err != nil { return nil, err } @@ -2686,52 +3790,67 @@ func _GobgpApi_GetDefinedSet_Handler(srv interface{}, ctx context.Context, dec f FullMethod: "/gobgpapi.GobgpApi/GetDefinedSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).GetDefinedSet(ctx, req.(*DefinedSet)) + return srv.(GobgpApiServer).GetDefinedSet(ctx, req.(*GetDefinedSetRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetDefinedSets_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(DefinedSet) - if err := stream.RecvMsg(m); err != nil { - return err +func _GobgpApi_AddDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddDefinedSetRequest) + if err := dec(in); err != nil { + return nil, err } - return srv.(GobgpApiServer).GetDefinedSets(m, &gobgpApiGetDefinedSetsServer{stream}) -} - -type GobgpApi_GetDefinedSetsServer interface { - Send(*DefinedSet) error - grpc.ServerStream -} - -type gobgpApiGetDefinedSetsServer struct { - grpc.ServerStream + if interceptor == nil { + return srv.(GobgpApiServer).AddDefinedSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/AddDefinedSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddDefinedSet(ctx, req.(*AddDefinedSetRequest)) + } + return interceptor(ctx, in, info, handler) } -func (x *gobgpApiGetDefinedSetsServer) Send(m *DefinedSet) error { - return x.ServerStream.SendMsg(m) +func _GobgpApi_DeleteDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteDefinedSetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteDefinedSet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/DeleteDefinedSet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteDefinedSet(ctx, req.(*DeleteDefinedSetRequest)) + } + return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModDefinedSetArguments) +func _GobgpApi_ReplaceDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplaceDefinedSetRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModDefinedSet(ctx, in) + return srv.(GobgpApiServer).ReplaceDefinedSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModDefinedSet", + FullMethod: "/gobgpapi.GobgpApi/ReplaceDefinedSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModDefinedSet(ctx, req.(*ModDefinedSetArguments)) + return srv.(GobgpApiServer).ReplaceDefinedSet(ctx, req.(*ReplaceDefinedSetRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Statement) + in := new(GetStatementRequest) if err := dec(in); err != nil { return nil, err } @@ -2743,52 +3862,67 @@ func _GobgpApi_GetStatement_Handler(srv interface{}, ctx context.Context, dec fu FullMethod: "/gobgpapi.GobgpApi/GetStatement", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).GetStatement(ctx, req.(*Statement)) + return srv.(GobgpApiServer).GetStatement(ctx, req.(*GetStatementRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetStatements_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(Statement) - if err := stream.RecvMsg(m); err != nil { - return err +func _GobgpApi_AddStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddStatementRequest) + if err := dec(in); err != nil { + return nil, err } - return srv.(GobgpApiServer).GetStatements(m, &gobgpApiGetStatementsServer{stream}) -} - -type GobgpApi_GetStatementsServer interface { - Send(*Statement) error - grpc.ServerStream -} - -type gobgpApiGetStatementsServer struct { - grpc.ServerStream + if interceptor == nil { + return srv.(GobgpApiServer).AddStatement(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/AddStatement", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddStatement(ctx, req.(*AddStatementRequest)) + } + return interceptor(ctx, in, info, handler) } -func (x *gobgpApiGetStatementsServer) Send(m *Statement) error { - return x.ServerStream.SendMsg(m) +func _GobgpApi_DeleteStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteStatementRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeleteStatement(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/DeleteStatement", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeleteStatement(ctx, req.(*DeleteStatementRequest)) + } + return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModStatementArguments) +func _GobgpApi_ReplaceStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplaceStatementRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModStatement(ctx, in) + return srv.(GobgpApiServer).ReplaceStatement(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModStatement", + FullMethod: "/gobgpapi.GobgpApi/ReplaceStatement", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModStatement(ctx, req.(*ModStatementArguments)) + return srv.(GobgpApiServer).ReplaceStatement(ctx, req.(*ReplaceStatementRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Policy) + in := new(GetPolicyRequest) if err := dec(in); err != nil { return nil, err } @@ -2800,82 +3934,133 @@ func _GobgpApi_GetPolicy_Handler(srv interface{}, ctx context.Context, dec func( FullMethod: "/gobgpapi.GobgpApi/GetPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).GetPolicy(ctx, req.(*Policy)) + return srv.(GobgpApiServer).GetPolicy(ctx, req.(*GetPolicyRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetPolicies_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(Policy) - if err := stream.RecvMsg(m); err != nil { - return err +func _GobgpApi_AddPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).AddPolicy(ctx, in) } - return srv.(GobgpApiServer).GetPolicies(m, &gobgpApiGetPoliciesServer{stream}) + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/AddPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).AddPolicy(ctx, req.(*AddPolicyRequest)) + } + return interceptor(ctx, in, info, handler) } -type GobgpApi_GetPoliciesServer interface { - Send(*Policy) error - grpc.ServerStream +func _GobgpApi_DeletePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).DeletePolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/DeletePolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).DeletePolicy(ctx, req.(*DeletePolicyRequest)) + } + return interceptor(ctx, in, info, handler) } -type gobgpApiGetPoliciesServer struct { - grpc.ServerStream +func _GobgpApi_ReplacePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplacePolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).ReplacePolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/ReplacePolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).ReplacePolicy(ctx, req.(*ReplacePolicyRequest)) + } + return interceptor(ctx, in, info, handler) } -func (x *gobgpApiGetPoliciesServer) Send(m *Policy) error { - return x.ServerStream.SendMsg(m) +func _GobgpApi_GetPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPolicyAssignmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GobgpApiServer).GetPolicyAssignment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gobgpapi.GobgpApi/GetPolicyAssignment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GobgpApiServer).GetPolicyAssignment(ctx, req.(*GetPolicyAssignmentRequest)) + } + return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModPolicyArguments) +func _GobgpApi_AddPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddPolicyAssignmentRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModPolicy(ctx, in) + return srv.(GobgpApiServer).AddPolicyAssignment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModPolicy", + FullMethod: "/gobgpapi.GobgpApi/AddPolicyAssignment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModPolicy(ctx, req.(*ModPolicyArguments)) + return srv.(GobgpApiServer).AddPolicyAssignment(ctx, req.(*AddPolicyAssignmentRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_GetPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PolicyAssignment) +func _GobgpApi_DeletePolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeletePolicyAssignmentRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).GetPolicyAssignment(ctx, in) + return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/GetPolicyAssignment", + FullMethod: "/gobgpapi.GobgpApi/DeletePolicyAssignment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).GetPolicyAssignment(ctx, req.(*PolicyAssignment)) + return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, req.(*DeletePolicyAssignmentRequest)) } return interceptor(ctx, in, info, handler) } -func _GobgpApi_ModPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModPolicyAssignmentArguments) +func _GobgpApi_ReplacePolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReplacePolicyAssignmentRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(GobgpApiServer).ModPolicyAssignment(ctx, in) + return srv.(GobgpApiServer).ReplacePolicyAssignment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/gobgpapi.GobgpApi/ModPolicyAssignment", + FullMethod: "/gobgpapi.GobgpApi/ReplacePolicyAssignment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GobgpApiServer).ModPolicyAssignment(ctx, req.(*ModPolicyAssignmentArguments)) + return srv.(GobgpApiServer).ReplacePolicyAssignment(ctx, req.(*ReplacePolicyAssignmentRequest)) } return interceptor(ctx, in, info, handler) } @@ -2885,117 +4070,191 @@ var _GobgpApi_serviceDesc = grpc.ServiceDesc{ HandlerType: (*GobgpApiServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "GetGlobalConfig", - Handler: _GobgpApi_GetGlobalConfig_Handler, + MethodName: "StartServer", + Handler: _GobgpApi_StartServer_Handler, + }, + { + MethodName: "StopServer", + Handler: _GobgpApi_StopServer_Handler, }, { - MethodName: "ModGlobalConfig", - Handler: _GobgpApi_ModGlobalConfig_Handler, + MethodName: "GetServer", + Handler: _GobgpApi_GetServer_Handler, + }, + { + MethodName: "AddNeighbor", + Handler: _GobgpApi_AddNeighbor_Handler, + }, + { + MethodName: "DeleteNeighbor", + Handler: _GobgpApi_DeleteNeighbor_Handler, }, { MethodName: "GetNeighbor", Handler: _GobgpApi_GetNeighbor_Handler, }, { - MethodName: "ModNeighbor", - Handler: _GobgpApi_ModNeighbor_Handler, + MethodName: "ResetNeighbor", + Handler: _GobgpApi_ResetNeighbor_Handler, + }, + { + MethodName: "SoftResetNeighbor", + Handler: _GobgpApi_SoftResetNeighbor_Handler, + }, + { + MethodName: "ShutdownNeighbor", + Handler: _GobgpApi_ShutdownNeighbor_Handler, + }, + { + MethodName: "EnableNeighbor", + Handler: _GobgpApi_EnableNeighbor_Handler, + }, + { + MethodName: "DisableNeighbor", + Handler: _GobgpApi_DisableNeighbor_Handler, }, { MethodName: "GetRib", Handler: _GobgpApi_GetRib_Handler, }, { - MethodName: "Reset", - Handler: _GobgpApi_Reset_Handler, + MethodName: "ValidateRib", + Handler: _GobgpApi_ValidateRib_Handler, + }, + { + MethodName: "AddPath", + Handler: _GobgpApi_AddPath_Handler, + }, + { + MethodName: "DeletePath", + Handler: _GobgpApi_DeletePath_Handler, + }, + { + MethodName: "EnableMrt", + Handler: _GobgpApi_EnableMrt_Handler, }, { - MethodName: "SoftReset", - Handler: _GobgpApi_SoftReset_Handler, + MethodName: "DisableMrt", + Handler: _GobgpApi_DisableMrt_Handler, }, { - MethodName: "SoftResetIn", - Handler: _GobgpApi_SoftResetIn_Handler, + MethodName: "AddBmp", + Handler: _GobgpApi_AddBmp_Handler, }, { - MethodName: "SoftResetOut", - Handler: _GobgpApi_SoftResetOut_Handler, + MethodName: "DeleteBmp", + Handler: _GobgpApi_DeleteBmp_Handler, }, { - MethodName: "Shutdown", - Handler: _GobgpApi_Shutdown_Handler, + MethodName: "GetRpki", + Handler: _GobgpApi_GetRpki_Handler, }, { - MethodName: "Enable", - Handler: _GobgpApi_Enable_Handler, + MethodName: "AddRpki", + Handler: _GobgpApi_AddRpki_Handler, }, { - MethodName: "Disable", - Handler: _GobgpApi_Disable_Handler, + MethodName: "DeleteRpki", + Handler: _GobgpApi_DeleteRpki_Handler, }, { - MethodName: "ModPath", - Handler: _GobgpApi_ModPath_Handler, + MethodName: "EnableRpki", + Handler: _GobgpApi_EnableRpki_Handler, }, { - MethodName: "ModMrt", - Handler: _GobgpApi_ModMrt_Handler, + MethodName: "DisableRpki", + Handler: _GobgpApi_DisableRpki_Handler, }, { - MethodName: "ModBmp", - Handler: _GobgpApi_ModBmp_Handler, + MethodName: "ResetRpki", + Handler: _GobgpApi_ResetRpki_Handler, }, { - MethodName: "ModRPKI", - Handler: _GobgpApi_ModRPKI_Handler, + MethodName: "SoftResetRpki", + Handler: _GobgpApi_SoftResetRpki_Handler, }, { - MethodName: "ModVrf", - Handler: _GobgpApi_ModVrf_Handler, + MethodName: "GetRoa", + Handler: _GobgpApi_GetRoa_Handler, + }, + { + MethodName: "AddVrf", + Handler: _GobgpApi_AddVrf_Handler, + }, + { + MethodName: "DeleteVrf", + Handler: _GobgpApi_DeleteVrf_Handler, + }, + { + MethodName: "GetVrf", + Handler: _GobgpApi_GetVrf_Handler, }, { MethodName: "GetDefinedSet", Handler: _GobgpApi_GetDefinedSet_Handler, }, { - MethodName: "ModDefinedSet", - Handler: _GobgpApi_ModDefinedSet_Handler, + MethodName: "AddDefinedSet", + Handler: _GobgpApi_AddDefinedSet_Handler, + }, + { + MethodName: "DeleteDefinedSet", + Handler: _GobgpApi_DeleteDefinedSet_Handler, + }, + { + MethodName: "ReplaceDefinedSet", + Handler: _GobgpApi_ReplaceDefinedSet_Handler, }, { MethodName: "GetStatement", Handler: _GobgpApi_GetStatement_Handler, }, { - MethodName: "ModStatement", - Handler: _GobgpApi_ModStatement_Handler, + MethodName: "AddStatement", + Handler: _GobgpApi_AddStatement_Handler, + }, + { + MethodName: "DeleteStatement", + Handler: _GobgpApi_DeleteStatement_Handler, + }, + { + MethodName: "ReplaceStatement", + Handler: _GobgpApi_ReplaceStatement_Handler, }, { MethodName: "GetPolicy", Handler: _GobgpApi_GetPolicy_Handler, }, { - MethodName: "ModPolicy", - Handler: _GobgpApi_ModPolicy_Handler, + MethodName: "AddPolicy", + Handler: _GobgpApi_AddPolicy_Handler, + }, + { + MethodName: "DeletePolicy", + Handler: _GobgpApi_DeletePolicy_Handler, + }, + { + MethodName: "ReplacePolicy", + Handler: _GobgpApi_ReplacePolicy_Handler, }, { MethodName: "GetPolicyAssignment", Handler: _GobgpApi_GetPolicyAssignment_Handler, }, { - MethodName: "ModPolicyAssignment", - Handler: _GobgpApi_ModPolicyAssignment_Handler, + MethodName: "AddPolicyAssignment", + Handler: _GobgpApi_AddPolicyAssignment_Handler, }, - }, - Streams: []grpc.StreamDesc{ { - StreamName: "GetNeighbors", - Handler: _GobgpApi_GetNeighbors_Handler, - ServerStreams: true, + MethodName: "DeletePolicyAssignment", + Handler: _GobgpApi_DeletePolicyAssignment_Handler, }, { - StreamName: "ModPaths", - Handler: _GobgpApi_ModPaths_Handler, - ClientStreams: true, + MethodName: "ReplacePolicyAssignment", + Handler: _GobgpApi_ReplacePolicyAssignment_Handler, }, + }, + Streams: []grpc.StreamDesc{ { StreamName: "MonitorRib", Handler: _GobgpApi_MonitorRib_Handler, @@ -3017,305 +4276,340 @@ var _GobgpApi_serviceDesc = grpc.ServiceDesc{ ServerStreams: true, }, { - StreamName: "GetRPKI", - Handler: _GobgpApi_GetRPKI_Handler, - ServerStreams: true, - }, - { - StreamName: "GetROA", - Handler: _GobgpApi_GetROA_Handler, - ServerStreams: true, - }, - { - StreamName: "GetVrfs", - Handler: _GobgpApi_GetVrfs_Handler, - ServerStreams: true, - }, - { - StreamName: "GetDefinedSets", - Handler: _GobgpApi_GetDefinedSets_Handler, - ServerStreams: true, - }, - { - StreamName: "GetStatements", - Handler: _GobgpApi_GetStatements_Handler, - ServerStreams: true, - }, - { - StreamName: "GetPolicies", - Handler: _GobgpApi_GetPolicies_Handler, - ServerStreams: true, + StreamName: "InjectMrt", + Handler: _GobgpApi_InjectMrt_Handler, + ClientStreams: true, }, }, } var fileDescriptor0 = []byte{ - // 4272 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x7b, 0xcd, 0x73, 0x1b, 0x47, - 0x76, 0xb8, 0x41, 0x7c, 0x10, 0x78, 0x00, 0x48, 0x70, 0x44, 0xc9, 0x14, 0xd7, 0xeb, 0xf5, 0x6f, - 0x7e, 0x6b, 0xaf, 0xc5, 0xb5, 0x2d, 0x5b, 0xb6, 0xe9, 0x8d, 0xd6, 0xbb, 0x09, 0x04, 0x42, 0x12, - 0xd6, 0x24, 0x01, 0x35, 0x21, 0xc5, 0xce, 0x65, 0x32, 0x04, 0x06, 0xe4, 0x94, 0x00, 0xcc, 0x78, - 0x66, 0xa0, 0x8f, 0x54, 0x25, 0x87, 0xcd, 0x31, 0x95, 0x3f, 0x20, 0x55, 0x9b, 0x5b, 0x4e, 0xf9, - 0x07, 0x52, 0xb9, 0x27, 0x55, 0x39, 0xe6, 0x9a, 0x4b, 0x72, 0x48, 0xe5, 0x90, 0x3f, 0x20, 0x55, - 0x39, 0xe6, 0xbd, 0xd7, 0x3d, 0x33, 0x3d, 0xc0, 0x88, 0xa2, 0x96, 0x5b, 0xa9, 0xca, 0x85, 0x98, - 0x7e, 0x5f, 0xfd, 0xba, 0xfb, 0x7d, 0xf5, 0x07, 0xa1, 0x7e, 0xe6, 0x9d, 0x9e, 0xf9, 0x9f, 0xf8, - 0x81, 0x17, 0x79, 0x46, 0x95, 0x1b, 0xb6, 0xef, 0x9a, 0x53, 0x28, 0x77, 0x83, 0xc0, 0x0b, 0x8c, - 0x8f, 0xa1, 0x34, 0xf2, 0xc6, 0xce, 0x4e, 0xe1, 0xbd, 0xc2, 0x87, 0x1b, 0x77, 0x6e, 0x7e, 0x12, - 0x53, 0x7c, 0xc2, 0x68, 0xf9, 0xb7, 0x83, 0x04, 0x82, 0xc9, 0x8c, 0x16, 0x14, 0x67, 0xe1, 0xd9, - 0xce, 0x1a, 0x52, 0xd7, 0x04, 0x7d, 0x9a, 0x26, 0xd4, 0x12, 0x22, 0xa3, 0x0e, 0xeb, 0x27, 0x8f, - 0x3b, 0x9d, 0xee, 0xc9, 0x49, 0xeb, 0x2d, 0xa3, 0x0a, 0xa5, 0xfb, 0xed, 0xde, 0x61, 0xab, 0x60, - 0x9e, 0x41, 0xad, 0x1d, 0x9c, 0x2d, 0x66, 0xce, 0x3c, 0x0a, 0x8d, 0x4f, 0xa0, 0x1a, 0x38, 0xa1, - 0xb7, 0x08, 0x46, 0x71, 0xaf, 0x46, 0xda, 0xab, 0x50, 0x18, 0x91, 0xd0, 0x18, 0x37, 0xa0, 0x32, - 0xb1, 0x67, 0xee, 0xf4, 0x25, 0xf7, 0xda, 0x14, 0xaa, 0x65, 0x18, 0x50, 0x9a, 0xdb, 0x33, 0x67, - 0xa7, 0xc8, 0xba, 0xf0, 0xb7, 0xf9, 0x2f, 0x05, 0x68, 0x1d, 0x79, 0xe3, 0x81, 0x1d, 0x9d, 0xa7, - 0x1d, 0x7e, 0x06, 0x35, 0xcf, 0x77, 0x02, 0x3b, 0x72, 0xbd, 0xb9, 0xea, 0xf1, 0x5a, 0xda, 0x63, - 0x3f, 0x46, 0x89, 0x94, 0x2a, 0xa3, 0xe3, 0xda, 0x25, 0x74, 0xcc, 0xd1, 0xc5, 0x30, 0xa1, 0xe4, - 0xa3, 0x1e, 0x3b, 0x25, 0x84, 0xd5, 0xef, 0x6c, 0xa4, 0xfc, 0xa4, 0x9d, 0x60, 0x1c, 0xf1, 0x2d, - 0x16, 0xee, 0x78, 0xa7, 0x8c, 0x34, 0x0d, 0xc1, 0xdf, 0xda, 0x78, 0x2b, 0xfa, 0x78, 0xcd, 0xf7, - 0x61, 0x53, 0x0d, 0x0d, 0x15, 0xf0, 0xbd, 0x79, 0xe8, 0x24, 0xec, 0x85, 0x94, 0xdd, 0xfc, 0x53, - 0xd8, 0x52, 0x64, 0xe1, 0x6f, 0x3f, 0xe7, 0xf1, 0x78, 0xd6, 0xb4, 0xf1, 0xfc, 0x18, 0xca, 0xa4, - 0x73, 0x88, 0x83, 0x2c, 0xe6, 0x0c, 0x48, 0x22, 0xcd, 0x19, 0x6c, 0x63, 0xf7, 0xc7, 0x8e, 0x7b, - 0x76, 0x7e, 0xea, 0x05, 0x57, 0x5a, 0x04, 0x9a, 0x40, 0xc7, 0x09, 0x58, 0x89, 0x6c, 0x7f, 0x08, - 0x15, 0x8c, 0x33, 0xff, 0xba, 0x00, 0x8d, 0xa3, 0x20, 0xfa, 0xdd, 0x5b, 0xd7, 0x2e, 0x54, 0xdd, - 0x79, 0xe4, 0x04, 0xcf, 0xec, 0x29, 0xaf, 0x6a, 0x49, 0x24, 0x6d, 0xe3, 0x16, 0xb4, 0xe6, 0x6a, - 0x80, 0x96, 0x3d, 0x1e, 0xa3, 0xac, 0x90, 0x57, 0xb9, 0x26, 0x36, 0x63, 0x78, 0x5b, 0x82, 0xcd, - 0xbf, 0x2a, 0xf0, 0xaa, 0x65, 0x54, 0xfc, 0x2d, 0xa6, 0xe2, 0x07, 0x50, 0x1b, 0x2f, 0x66, 0xbe, - 0x15, 0xbd, 0xf4, 0xe5, 0xa2, 0x94, 0x45, 0x95, 0x00, 0x43, 0x6c, 0x93, 0xaa, 0x13, 0x77, 0xea, - 0x68, 0x06, 0x98, 0xb4, 0x33, 0xc3, 0x28, 0x65, 0x87, 0x61, 0xfe, 0xbb, 0xd4, 0xed, 0xde, 0xcc, - 0xbf, 0x92, 0x6e, 0x3b, 0xb0, 0x1e, 0x4f, 0x82, 0x34, 0x97, 0xb8, 0x49, 0x56, 0xe4, 0x7b, 0x41, - 0xc4, 0x4a, 0x35, 0x05, 0x7f, 0x1b, 0xbf, 0x84, 0x12, 0x0f, 0xa2, 0xc4, 0xb2, 0xf7, 0x52, 0xd9, - 0x4b, 0x9a, 0x60, 0x7b, 0xee, 0x46, 0x5e, 0xe0, 0xce, 0xcf, 0x06, 0xde, 0xd4, 0x1d, 0xbd, 0x14, - 0xcc, 0x67, 0xde, 0x26, 0x07, 0xcf, 0x62, 0x8c, 0x75, 0x28, 0x0e, 0x44, 0x57, 0x46, 0x9c, 0x41, - 0xff, 0x64, 0xd8, 0x2a, 0xd0, 0xd7, 0xbd, 0xfe, 0xf0, 0x61, 0x6b, 0xcd, 0xfc, 0x7b, 0x19, 0x12, - 0x84, 0xff, 0xd4, 0xbd, 0xd2, 0x30, 0x31, 0xf2, 0xd9, 0xe1, 0x5c, 0x59, 0x09, 0x7d, 0xea, 0x03, - 0x2f, 0xe6, 0x0f, 0xbc, 0xa4, 0x0d, 0x1c, 0x57, 0x62, 0xea, 0x4e, 0x9c, 0xc8, 0xc5, 0x55, 0x22, - 0x77, 0x2f, 0x8a, 0xa4, 0x4d, 0x46, 0xe8, 0x07, 0xce, 0xc4, 0x7d, 0xc1, 0x2e, 0x5f, 0x13, 0xaa, - 0x65, 0x3a, 0xbc, 0x40, 0x4f, 0x82, 0xc9, 0x95, 0x34, 0xff, 0x11, 0x14, 0x9f, 0x05, 0x13, 0xe5, - 0x46, 0xcd, 0x94, 0x18, 0xe5, 0x0a, 0xc2, 0x98, 0x21, 0xdc, 0xc0, 0x6e, 0x0e, 0xb0, 0xcb, 0xb9, - 0x33, 0x3e, 0x71, 0xae, 0x66, 0xaa, 0x1f, 0x40, 0x31, 0x74, 0x22, 0xd5, 0xdb, 0x76, 0x4a, 0x9c, - 0x8a, 0x17, 0x44, 0x80, 0x71, 0xea, 0x3a, 0x76, 0x7a, 0x12, 0xd9, 0x91, 0x43, 0x7d, 0x5d, 0xa9, - 0x4f, 0x64, 0x09, 0x63, 0x41, 0xaa, 0x67, 0x8d, 0x25, 0xe9, 0x43, 0xa4, 0x54, 0xe6, 0xbf, 0x16, - 0xc0, 0xa0, 0x38, 0xc9, 0x16, 0x74, 0xa5, 0xce, 0x3f, 0xc4, 0xc5, 0x63, 0x29, 0xaa, 0xe7, 0x96, - 0x16, 0xa8, 0xa4, 0xe5, 0x2a, 0xbc, 0x71, 0x17, 0x6e, 0xe2, 0xba, 0x3a, 0x81, 0xe5, 0xbc, 0x70, - 0xc3, 0x08, 0xed, 0xd7, 0x4a, 0xf4, 0x91, 0x26, 0x54, 0x15, 0x6f, 0x33, 0x41, 0x57, 0xe1, 0x13, - 0xcd, 0x43, 0xe3, 0x36, 0x5c, 0x43, 0xa3, 0x08, 0xd1, 0x73, 0x1d, 0x9d, 0xab, 0xc4, 0x5c, 0x46, - 0x8c, 0x4a, 0x19, 0xcc, 0xbf, 0x2c, 0xc0, 0x3b, 0xe9, 0x00, 0xc3, 0xd0, 0x3d, 0x9b, 0x5f, 0x79, - 0x9e, 0xef, 0x02, 0xd8, 0x89, 0x24, 0x35, 0xdc, 0xdd, 0xe5, 0xe1, 0xa6, 0x7d, 0x09, 0x8d, 0xda, - 0x7c, 0x0e, 0x3b, 0xa8, 0xce, 0x83, 0xa9, 0x77, 0x6a, 0x4f, 0x3b, 0xde, 0x7c, 0xe2, 0x9e, 0x5d, - 0x75, 0xd6, 0xcf, 0x58, 0xd6, 0xea, 0xac, 0xcb, 0x3e, 0x84, 0xc2, 0x9b, 0xbf, 0x29, 0x62, 0x54, - 0x50, 0xc9, 0x76, 0x3e, 0x0d, 0xdc, 0x38, 0x5b, 0xd2, 0x37, 0x7b, 0x9e, 0x1d, 0x45, 0x01, 0xc5, - 0xae, 0x22, 0x42, 0x55, 0x8b, 0xbd, 0xfd, 0x4c, 0x86, 0xd3, 0xa2, 0xa0, 0x4f, 0xe2, 0x3e, 0x75, - 0xc2, 0x48, 0xcd, 0x38, 0x7f, 0xa3, 0x67, 0xd5, 0xdd, 0xd0, 0x7a, 0xee, 0x46, 0xe7, 0xe3, 0xc0, - 0x7e, 0xce, 0x6e, 0x5d, 0x15, 0xe0, 0x86, 0x7f, 0xa8, 0x20, 0xc6, 0xbb, 0x00, 0x18, 0x69, 0xdd, - 0xb1, 0x1c, 0x59, 0x85, 0x03, 0xb7, 0x06, 0x31, 0x3e, 0x85, 0xed, 0xb9, 0x67, 0xb9, 0x33, 0x1f, - 0x27, 0xce, 0x8d, 0x52, 0x49, 0xeb, 0x72, 0x59, 0xe7, 0x5e, 0x4f, 0xa1, 0x12, 0x89, 0x69, 0xbe, - 0xaa, 0x66, 0xf2, 0xd5, 0x0f, 0x01, 0x64, 0x46, 0xb3, 0x28, 0x4a, 0xd5, 0x18, 0x57, 0x93, 0x90, - 0x76, 0xc8, 0x09, 0x44, 0xa1, 0xb1, 0x5c, 0x00, 0x99, 0x24, 0x24, 0xa0, 0x37, 0x56, 0x09, 0x04, - 0xb3, 0x82, 0x33, 0xde, 0xa9, 0x73, 0xcf, 0x49, 0xdb, 0xd8, 0x86, 0x32, 0x9a, 0xdb, 0xd4, 0xd9, - 0x69, 0x30, 0x42, 0x36, 0x70, 0xf6, 0x5b, 0x38, 0xf0, 0x49, 0xe0, 0xcd, 0xd0, 0x96, 0x91, 0x70, - 0x8e, 0xeb, 0xd0, 0x64, 0x82, 0x0d, 0x37, 0xbc, 0x8f, 0xe0, 0xae, 0x82, 0xd2, 0x14, 0x25, 0xb9, - 0xd2, 0xf5, 0x77, 0x36, 0xb8, 0x6b, 0x88, 0x41, 0x3d, 0xdf, 0x8c, 0xa0, 0x7e, 0xe0, 0x90, 0xb5, - 0xcb, 0x19, 0x49, 0x43, 0x61, 0x41, 0x0f, 0x85, 0x69, 0xf5, 0xb1, 0x76, 0x41, 0xf5, 0x61, 0xfc, - 0x04, 0x36, 0xa7, 0xde, 0xfc, 0x0c, 0x5d, 0x4c, 0xb2, 0x39, 0xb1, 0x5f, 0x6d, 0x48, 0xf0, 0x40, - 0x41, 0xcd, 0xbf, 0x2b, 0x40, 0x79, 0x68, 0x9f, 0xe2, 0x50, 0x3e, 0x50, 0x09, 0xe9, 0xd5, 0xc5, - 0x02, 0xe3, 0x73, 0x4b, 0xa2, 0x74, 0x31, 0x8a, 0x99, 0xc5, 0xf8, 0x3d, 0x68, 0x8c, 0xd3, 0x31, - 0x91, 0x97, 0x92, 0xce, 0xd7, 0xf5, 0x60, 0x98, 0x60, 0x45, 0x86, 0x94, 0xe6, 0xcb, 0xf7, 0xc2, - 0xc8, 0x52, 0x21, 0x45, 0x99, 0x14, 0x81, 0xa4, 0x77, 0x99, 0xff, 0x40, 0xe6, 0x8c, 0xa5, 0x0f, - 0xaf, 0x1a, 0x75, 0xe7, 0x3a, 0x72, 0x52, 0x9a, 0x22, 0x69, 0x1b, 0x3f, 0x83, 0x86, 0xed, 0xfb, - 0xd3, 0x97, 0xb1, 0x98, 0x22, 0xfb, 0x88, 0xa6, 0x40, 0x9b, 0xb0, 0x2a, 0x3c, 0xd5, 0xed, 0xb4, - 0x41, 0xd3, 0x31, 0x42, 0xef, 0xe4, 0x8e, 0xeb, 0xfa, 0x74, 0x50, 0x9f, 0xe4, 0xb7, 0x82, 0xf1, - 0xc6, 0xcf, 0xa1, 0xe9, 0x20, 0xc6, 0x9a, 0x2d, 0xa6, 0x91, 0x7b, 0xee, 0xf9, 0x6c, 0xdc, 0xf5, - 0x3b, 0x37, 0xb4, 0x0d, 0x04, 0xfe, 0x1e, 0x29, 0xac, 0x68, 0x38, 0x5a, 0xcb, 0x68, 0xc3, 0x66, - 0xe0, 0x2d, 0x22, 0xc7, 0xc2, 0xe5, 0x98, 0x3a, 0x23, 0x4c, 0xe6, 0x6c, 0x93, 0xf5, 0x3b, 0x3b, - 0xda, 0xf4, 0x13, 0x81, 0x88, 0xf1, 0x62, 0x23, 0xc8, 0xb4, 0x71, 0xa5, 0x4b, 0xee, 0x7c, 0xe2, - 0xb1, 0xbd, 0x66, 0xa2, 0x3d, 0xe9, 0xc9, 0x61, 0x50, 0x30, 0x01, 0x05, 0x0a, 0xca, 0xb1, 0xe8, - 0xe1, 0x8d, 0xe5, 0x40, 0x31, 0x64, 0xb8, 0x50, 0x78, 0x8a, 0x42, 0x51, 0x60, 0xcf, 0x43, 0x4e, - 0xdd, 0xcd, 0x65, 0xb9, 0xc3, 0x18, 0x25, 0x52, 0x2a, 0x9a, 0x67, 0x39, 0x10, 0x8e, 0xbe, 0xc1, - 0xce, 0xe6, 0xf2, 0x3c, 0xf3, 0x28, 0x4e, 0x18, 0x29, 0xea, 0x41, 0xda, 0x30, 0xff, 0xa9, 0x00, - 0x75, 0x6d, 0x11, 0x8c, 0xaf, 0xa0, 0xe6, 0xce, 0xe3, 0xe5, 0x2a, 0xbc, 0x36, 0xb2, 0x62, 0x15, - 0xa7, 0x18, 0x7f, 0x1f, 0x17, 0xe2, 0x05, 0x29, 0x63, 0x65, 0xb2, 0xd0, 0x45, 0xcc, 0x0d, 0xc9, - 0x90, 0x0a, 0xc0, 0x00, 0xa4, 0x09, 0x28, 0xbe, 0x5e, 0x80, 0x64, 0x50, 0x16, 0xf9, 0x67, 0x50, - 0x97, 0x7e, 0x75, 0xe8, 0xce, 0xdc, 0x48, 0x73, 0x8a, 0x42, 0xc6, 0x29, 0xfe, 0x1f, 0x34, 0x66, - 0xf6, 0x8b, 0xd4, 0x31, 0x65, 0x25, 0x55, 0x47, 0x58, 0xec, 0x95, 0xc6, 0x17, 0x70, 0x23, 0x3c, - 0x5f, 0x44, 0x63, 0xef, 0xf9, 0xdc, 0x8a, 0xce, 0x31, 0xa7, 0x9d, 0x7b, 0xd3, 0xb1, 0xe5, 0x8f, - 0xe2, 0x12, 0x72, 0x3b, 0xc6, 0x0e, 0x63, 0xe4, 0x60, 0x14, 0x99, 0xff, 0x55, 0x84, 0x6a, 0x6c, - 0x9d, 0xc6, 0xff, 0x87, 0xa6, 0xbd, 0x88, 0xce, 0x2d, 0x1f, 0x53, 0xcf, 0x73, 0x2f, 0x18, 0xab, - 0x30, 0xd2, 0x20, 0xe0, 0x40, 0xc1, 0x8c, 0xf7, 0xa0, 0x8e, 0x4e, 0x37, 0x0a, 0x5c, 0x9f, 0xe3, - 0xb2, 0x74, 0x69, 0x1d, 0x64, 0xdc, 0xc4, 0x6a, 0xcd, 0x1b, 0xd9, 0x53, 0x8c, 0xa6, 0xaa, 0xef, - 0x75, 0x6e, 0xb7, 0xc3, 0x37, 0xa8, 0xfe, 0x8d, 0xb7, 0x61, 0x9d, 0x76, 0x29, 0x24, 0xa4, 0x2c, - 0xe7, 0x82, 0x9a, 0x28, 0x03, 0xa3, 0x35, 0x23, 0xce, 0xd0, 0x24, 0x7c, 0x55, 0xf4, 0xd5, 0x08, - 0xf2, 0x80, 0x00, 0x14, 0xad, 0x19, 0xcd, 0x81, 0x69, 0x9d, 0x39, 0xab, 0x04, 0xe0, 0x72, 0x7f, - 0x0f, 0xb6, 0x02, 0x67, 0xe6, 0x61, 0x1d, 0xe0, 0x07, 0xee, 0x33, 0x34, 0x74, 0x12, 0x2f, 0x93, - 0xc1, 0xa6, 0x44, 0x0c, 0x24, 0x1c, 0xfb, 0xf9, 0x08, 0x0c, 0x69, 0x9f, 0x93, 0xa9, 0xed, 0x5b, - 0x63, 0x7b, 0xe6, 0x63, 0x55, 0xc1, 0xd9, 0xa1, 0x2a, 0x5a, 0x8c, 0xb9, 0x8f, 0x88, 0x03, 0x09, - 0x37, 0xde, 0x87, 0x8d, 0xd0, 0x99, 0x8f, 0xad, 0x91, 0x37, 0x9b, 0x2d, 0xb0, 0xc6, 0x7e, 0xc9, - 0x5e, 0xd9, 0x14, 0x4d, 0x82, 0x76, 0x62, 0x20, 0x29, 0x4f, 0xfd, 0xa0, 0xd4, 0x91, 0xed, 0xa3, - 0x03, 0x52, 0xde, 0xac, 0x49, 0x48, 0xc7, 0x66, 0xe5, 0xe5, 0xd4, 0x11, 0xb6, 0xc1, 0x58, 0x39, - 0x97, 0x84, 0xdc, 0x80, 0x35, 0x4c, 0x40, 0x4d, 0x1e, 0x30, 0x7e, 0x61, 0x45, 0xd1, 0x94, 0x06, - 0x61, 0x4d, 0xc9, 0x78, 0x42, 0x4c, 0x10, 0x4b, 0xa1, 0x52, 0x33, 0x2d, 0xd1, 0xf0, 0xd3, 0x46, - 0x68, 0x7e, 0x03, 0x0d, 0x3d, 0xc6, 0x50, 0x3d, 0x8e, 0x9b, 0x1e, 0x8c, 0xe9, 0x72, 0xd1, 0xab, - 0x22, 0x6e, 0xb2, 0xe9, 0x29, 0x2a, 0x2b, 0x8a, 0xa6, 0x89, 0xe9, 0x29, 0xd8, 0x30, 0x9a, 0x9a, - 0x7f, 0x5e, 0x80, 0x8d, 0x6c, 0xc8, 0x21, 0x6b, 0x5c, 0x8a, 0x52, 0xd6, 0x08, 0xa3, 0x2b, 0x56, - 0x3e, 0x52, 0xfc, 0x76, 0x36, 0x24, 0x75, 0x18, 0x87, 0x81, 0x71, 0x77, 0x95, 0x6b, 0x11, 0x62, - 0x3a, 0xa4, 0xd4, 0x2b, 0x7b, 0x7e, 0x7b, 0x99, 0x93, 0xf1, 0xbd, 0xb1, 0xf9, 0x1f, 0x65, 0xa8, - 0x25, 0x01, 0xec, 0x7f, 0xc1, 0x96, 0x71, 0xb7, 0x3c, 0x43, 0x43, 0xc5, 0xfa, 0x26, 0x54, 0xe7, - 0x14, 0x5a, 0xc4, 0x3f, 0x52, 0x18, 0x91, 0xd0, 0xe4, 0xda, 0x7e, 0xf9, 0xb5, 0xb6, 0x5f, 0xb9, - 0xc0, 0xf6, 0xd7, 0x2f, 0xb4, 0xfd, 0xea, 0x92, 0xed, 0x63, 0x30, 0xff, 0x7e, 0xe1, 0x2c, 0x50, - 0xdb, 0xda, 0x72, 0x30, 0x7f, 0xc4, 0x70, 0xa1, 0xf0, 0xf9, 0x5e, 0x02, 0x6f, 0xe2, 0x25, 0xf5, - 0x4b, 0x7b, 0x49, 0x23, 0xcf, 0x4b, 0x70, 0xf1, 0x42, 0x9c, 0x07, 0x5c, 0x00, 0x59, 0xaf, 0xb3, - 0xd1, 0x37, 0x45, 0x43, 0x01, 0xe5, 0x0a, 0x7f, 0x89, 0x01, 0x6f, 0xe1, 0x53, 0x2c, 0x75, 0xc6, - 0xe4, 0x2f, 0xf6, 0x29, 0xe6, 0xef, 0x88, 0x32, 0x3a, 0xf9, 0x41, 0x4d, 0x5c, 0x4f, 0xb0, 0x1d, - 0x0d, 0x49, 0x73, 0x44, 0xb9, 0x57, 0xca, 0xdd, 0x94, 0xd5, 0x1c, 0x02, 0xa4, 0x4c, 0xac, 0x20, - 0xec, 0xf1, 0xcc, 0x8d, 0xbb, 0x6d, 0xc9, 0x8a, 0x8b, 0x41, 0x92, 0x60, 0x97, 0x8e, 0x48, 0x46, - 0x8e, 0xfb, 0x0c, 0x1d, 0x65, 0x4b, 0x4e, 0x70, 0xdc, 0x26, 0x9c, 0x3d, 0x1a, 0x39, 0x3e, 0xf6, - 0xb8, 0x63, 0x48, 0x5c, 0xdc, 0xa6, 0x62, 0xd6, 0x1e, 0x63, 0xee, 0x8a, 0xdc, 0x10, 0xb1, 0xd7, - 0x18, 0xab, 0x41, 0x8c, 0x6b, 0x50, 0xc6, 0xb9, 0xb2, 0xbe, 0xdf, 0xd9, 0x96, 0xdb, 0x5e, 0x6c, - 0x3c, 0xa2, 0xfa, 0x71, 0x32, 0xf5, 0xfc, 0x70, 0xe7, 0x3a, 0x03, 0x65, 0xc3, 0xfc, 0x63, 0xa8, - 0xc6, 0xd6, 0x65, 0x7c, 0xac, 0xa9, 0x23, 0x13, 0xdf, 0xd6, 0x8a, 0x0d, 0x6a, 0x1a, 0xbe, 0x0f, - 0xa5, 0x30, 0xdd, 0x7d, 0xe4, 0x90, 0x32, 0xda, 0xfc, 0xc7, 0x02, 0xac, 0x2b, 0x88, 0x61, 0x42, - 0xe3, 0xb8, 0x3f, 0xec, 0xdd, 0xef, 0x75, 0xda, 0xc3, 0x5e, 0xff, 0x98, 0x7b, 0x29, 0x89, 0xc6, - 0x5c, 0x83, 0x51, 0xd6, 0x7a, 0x3c, 0x38, 0x68, 0x0f, 0xbb, 0x2c, 0xb8, 0x24, 0x2a, 0x0b, 0x6e, - 0x51, 0xd9, 0xd7, 0x1f, 0x74, 0x8f, 0xd5, 0x19, 0x50, 0xc9, 0xc3, 0x6f, 0xe3, 0x1d, 0xa8, 0x7d, - 0xd3, 0xed, 0x0e, 0xda, 0x87, 0xbd, 0x27, 0x5d, 0x75, 0xaa, 0x52, 0x7b, 0x1a, 0x03, 0x28, 0x0c, - 0x89, 0xee, 0x7d, 0xd1, 0x3d, 0x79, 0xc8, 0xae, 0x51, 0x12, 0xeb, 0x81, 0x6c, 0x12, 0xdf, 0x41, - 0xef, 0xa4, 0xd3, 0x16, 0x07, 0xdd, 0x03, 0x76, 0x0a, 0xe4, 0x1b, 0xc7, 0x00, 0x9a, 0xa9, 0x61, - 0x7f, 0xd8, 0x3e, 0x64, 0x97, 0x28, 0x89, 0x72, 0x44, 0x0d, 0x73, 0x1f, 0x2a, 0xd2, 0xb2, 0x09, - 0xef, 0xce, 0xfd, 0x45, 0xa4, 0xd2, 0xaa, 0x6c, 0x90, 0xde, 0x38, 0xcf, 0x04, 0x56, 0xe7, 0x57, - 0xb2, 0x65, 0x3a, 0x50, 0x91, 0xe5, 0x0d, 0xfa, 0x78, 0x65, 0xc4, 0xfb, 0x2d, 0x35, 0xbb, 0x37, - 0x96, 0x0b, 0x20, 0xb9, 0x1b, 0x13, 0x8a, 0xca, 0xf8, 0x29, 0x57, 0xfc, 0x91, 0xa3, 0x66, 0xf8, - 0xfa, 0x32, 0xb9, 0x2c, 0xae, 0x24, 0x0d, 0x4d, 0x73, 0x43, 0x97, 0x42, 0x66, 0x8f, 0x72, 0xe6, - 0x18, 0xd7, 0x30, 0x00, 0x46, 0xc1, 0xcb, 0x78, 0xb2, 0x15, 0x50, 0x10, 0x8c, 0xec, 0x97, 0x33, - 0x3b, 0x1f, 0x86, 0xc8, 0xf9, 0xae, 0x12, 0x80, 0x24, 0xa1, 0x3d, 0x18, 0x4f, 0x1d, 0xc7, 0xc7, - 0x4d, 0x12, 0x3a, 0xef, 0xd2, 0x19, 0xdc, 0x56, 0x82, 0xe9, 0xc5, 0x87, 0x71, 0x07, 0xf0, 0x2e, - 0x5a, 0xb6, 0x3b, 0x5b, 0xcc, 0xac, 0xc4, 0x16, 0xa9, 0x48, 0xb1, 0x96, 0xce, 0xbd, 0xde, 0x51, - 0x54, 0x6d, 0x9d, 0x28, 0x96, 0x62, 0xfe, 0xed, 0x1a, 0xd4, 0xb5, 0xe1, 0xfd, 0x1f, 0x1d, 0x06, - 0xef, 0x27, 0x9d, 0x33, 0x2f, 0x72, 0x6d, 0x0a, 0x28, 0xa9, 0x72, 0xd2, 0x10, 0x8d, 0x14, 0xf7, - 0x30, 0x56, 0x13, 0xed, 0x67, 0xe1, 0x33, 0x4d, 0x45, 0xd9, 0x3d, 0xb7, 0x28, 0x10, 0x50, 0xa1, - 0xc5, 0x18, 0x69, 0x90, 0x49, 0xdb, 0xfc, 0xef, 0x02, 0xd4, 0x92, 0x72, 0x98, 0xa6, 0x4a, 0xa5, - 0x17, 0x95, 0x10, 0x54, 0x96, 0x92, 0x39, 0x46, 0x65, 0x03, 0x0c, 0xfa, 0x92, 0x88, 0x8b, 0x6b, - 0x69, 0xaa, 0xb2, 0x4c, 0x18, 0x28, 0x19, 0xb3, 0x68, 0x61, 0x8d, 0xdd, 0x70, 0x84, 0x91, 0x39, - 0x78, 0xa9, 0x76, 0x6d, 0x0d, 0x04, 0x1e, 0xc4, 0x30, 0xca, 0xe2, 0x94, 0x09, 0x69, 0x3e, 0x67, - 0x74, 0x65, 0x21, 0x77, 0xe2, 0x75, 0x05, 0x3b, 0xa2, 0xfb, 0x07, 0x8c, 0xcd, 0xaa, 0x34, 0xc9, - 0x66, 0xa7, 0xa6, 0x84, 0xc6, 0xda, 0x60, 0x88, 0x54, 0x64, 0xac, 0x8e, 0xcc, 0x4f, 0xaa, 0xa8, - 0x61, 0x7d, 0x30, 0x79, 0x45, 0x23, 0xdc, 0xdc, 0xa0, 0x00, 0x59, 0x7e, 0x55, 0xb0, 0x79, 0x14, - 0x86, 0xe6, 0x2f, 0xa0, 0xae, 0x95, 0xf4, 0xe8, 0x5b, 0xd7, 0xf4, 0xfa, 0x3f, 0x5b, 0x1f, 0x6c, - 0x69, 0xf5, 0xbe, 0x2c, 0x0e, 0xcc, 0x05, 0x54, 0x64, 0x3d, 0x43, 0xb6, 0xe3, 0xfa, 0x56, 0x66, - 0xab, 0x5b, 0x75, 0x7d, 0x85, 0xfc, 0x00, 0x36, 0x67, 0x76, 0xf8, 0xd4, 0x9a, 0x3a, 0xf3, 0x33, - 0xcc, 0xff, 0xb8, 0xe4, 0x6a, 0xca, 0x9a, 0x04, 0x3e, 0x64, 0xe8, 0x91, 0x3b, 0x5f, 0xa1, 0xb3, - 0x5f, 0xa8, 0x04, 0xaf, 0xd3, 0xd9, 0x2f, 0xe8, 0x2c, 0x08, 0xd2, 0xf3, 0x37, 0xcc, 0xe2, 0xfa, - 0x96, 0xf7, 0xfa, 0xca, 0x19, 0x1d, 0xa5, 0xda, 0x0b, 0x76, 0xbd, 0x08, 0x9b, 0xba, 0x61, 0xc4, - 0xf7, 0x00, 0x08, 0xa3, 0x6f, 0x4c, 0xa1, 0xd5, 0xa4, 0xb0, 0x97, 0xbb, 0xdd, 0xd6, 0x72, 0x09, - 0x27, 0x12, 0x0a, 0xf3, 0x01, 0x86, 0x7f, 0x3b, 0x1a, 0x9d, 0x93, 0x32, 0x3f, 0xc9, 0x28, 0xa3, - 0x6d, 0xb8, 0x98, 0xe2, 0x62, 0x55, 0xcc, 0x27, 0xd0, 0x68, 0x87, 0x74, 0x00, 0x20, 0xc7, 0x8a, - 0xeb, 0xa1, 0x0b, 0xd3, 0xb6, 0x30, 0x3a, 0x95, 0x26, 0x13, 0xad, 0x5f, 0xce, 0x5d, 0x1c, 0x3d, - 0x65, 0xcb, 0xfc, 0x75, 0x11, 0x00, 0x03, 0xda, 0xd8, 0x95, 0x9b, 0xf2, 0xcf, 0xb0, 0x64, 0x91, - 0x55, 0x2a, 0x1d, 0x6d, 0x16, 0x56, 0x0a, 0x25, 0x35, 0x16, 0x2c, 0x63, 0x98, 0x8a, 0x86, 0xf5, - 0x25, 0x34, 0x92, 0x4a, 0x29, 0x3d, 0x0f, 0xcd, 0x63, 0x4a, 0xce, 0x47, 0x88, 0xed, 0x6b, 0xd8, - 0xb0, 0x43, 0x8b, 0x0e, 0x33, 0xd4, 0xa2, 0xaa, 0xdd, 0xd8, 0x8d, 0xfc, 0xa1, 0x60, 0x2d, 0xa8, - 0x0f, 0xff, 0x0e, 0xa6, 0x7e, 0xc5, 0x4d, 0x7d, 0x96, 0x5e, 0xad, 0xa8, 0x64, 0xa3, 0x1e, 0xbf, - 0xa2, 0x48, 0xa7, 0x8a, 0x16, 0xe6, 0x2a, 0xbf, 0x92, 0xab, 0x91, 0x10, 0x12, 0xe3, 0x2f, 0x61, - 0xcb, 0x79, 0x11, 0x59, 0x59, 0xe6, 0xca, 0x2b, 0x99, 0x37, 0x91, 0xb8, 0xa3, 0xf3, 0x93, 0x13, - 0xfa, 0x4f, 0x5d, 0x8c, 0xaf, 0x21, 0xd6, 0xe1, 0xec, 0x67, 0x65, 0x74, 0x42, 0x04, 0x09, 0x86, - 0x98, 0x13, 0xd8, 0x4c, 0x18, 0xda, 0x23, 0x75, 0xd0, 0xab, 0xaf, 0xef, 0x0f, 0xd3, 0x6e, 0x96, - 0x08, 0xb5, 0x25, 0xc6, 0xfa, 0x38, 0x56, 0x31, 0x3e, 0x29, 0xc1, 0xfa, 0x58, 0x03, 0x99, 0xc7, - 0x50, 0x3b, 0x72, 0xc6, 0xaa, 0x87, 0x9f, 0x66, 0x7a, 0x78, 0x5b, 0x2f, 0x2f, 0xc6, 0x2b, 0xb2, - 0x31, 0x25, 0x63, 0xd4, 0x5d, 0x48, 0x9b, 0x2c, 0x0a, 0xd9, 0x30, 0x2d, 0xd8, 0xc4, 0x35, 0x0a, - 0x1c, 0x1f, 0xeb, 0x41, 0x25, 0x55, 0x5d, 0x1e, 0x14, 0xd2, 0xcb, 0x03, 0xb4, 0x3c, 0xa2, 0xb0, - 0x93, 0xbc, 0x2d, 0x5b, 0x58, 0xab, 0x34, 0x17, 0xa1, 0x83, 0x8b, 0x3f, 0x89, 0x30, 0xca, 0x85, - 0x91, 0x8a, 0x84, 0x75, 0x04, 0x1e, 0x22, 0xec, 0x08, 0x41, 0xe6, 0x2d, 0x68, 0x1e, 0xe3, 0x6c, - 0xe2, 0xce, 0x45, 0x89, 0xd7, 0x6e, 0x22, 0x0a, 0x99, 0x9b, 0x08, 0xf3, 0x9f, 0xd7, 0x60, 0x5d, - 0x12, 0x85, 0xe9, 0x61, 0x85, 0x3d, 0xd2, 0x0e, 0x5a, 0x97, 0x0f, 0x2b, 0x24, 0xb5, 0x3a, 0xac, - 0x50, 0xf2, 0xbf, 0x82, 0x5a, 0x5a, 0xed, 0x4a, 0x4b, 0xbe, 0xf9, 0xca, 0xb9, 0x17, 0x29, 0x2d, - 0xc6, 0xe3, 0xe2, 0x0c, 0xcb, 0xba, 0xe2, 0xf2, 0x61, 0x4a, 0x32, 0x99, 0x82, 0xf0, 0xa8, 0x19, - 0x90, 0xdd, 0xca, 0x29, 0x53, 0x66, 0x7b, 0x33, 0x63, 0xf1, 0xfa, 0x6c, 0xb2, 0xf5, 0x4a, 0x00, - 0x1a, 0x61, 0x33, 0x63, 0x84, 0xca, 0x7a, 0x2f, 0xd0, 0xae, 0xa1, 0xdb, 0x21, 0x1a, 0xd4, 0xfa, - 0x5c, 0x4e, 0xa5, 0x32, 0x5d, 0x6d, 0xc5, 0x33, 0x73, 0x2c, 0x62, 0x3a, 0xf3, 0xd7, 0x98, 0xfd, - 0x92, 0x73, 0xf6, 0x24, 0x2a, 0x15, 0xb4, 0x00, 0xf9, 0x05, 0xc0, 0x28, 0x09, 0x1e, 0xab, 0x37, - 0x21, 0x69, 0x60, 0x11, 0x1a, 0x1d, 0x5a, 0xde, 0xba, 0x5c, 0x98, 0x50, 0xcd, 0x97, 0x56, 0xdb, - 0xaa, 0x25, 0x14, 0x31, 0x85, 0xf9, 0x08, 0x13, 0x89, 0x3c, 0xbe, 0xc9, 0x53, 0xe0, 0x73, 0x00, - 0xed, 0x8e, 0x40, 0x9e, 0x98, 0xe6, 0x5e, 0x88, 0x68, 0x64, 0xe6, 0xbf, 0x15, 0xa0, 0xb5, 0x7c, - 0xd2, 0x83, 0x1b, 0x2e, 0xdd, 0x1d, 0xb6, 0x97, 0xcf, 0x84, 0x34, 0x5f, 0xf8, 0x5d, 0x5c, 0x99, - 0x53, 0x16, 0x21, 0xb9, 0x6e, 0x6e, 0x16, 0x91, 0xa7, 0x95, 0x09, 0x85, 0x71, 0x1b, 0xd6, 0xc7, - 0xce, 0xc4, 0xa6, 0xe0, 0x51, 0xbe, 0xc8, 0x94, 0x63, 0x2a, 0xf3, 0x3d, 0x80, 0xa3, 0x20, 0x8a, - 0x77, 0x05, 0xa8, 0xc0, 0xd8, 0x8e, 0xec, 0xf8, 0x3a, 0x80, 0xbe, 0xcd, 0x2e, 0x54, 0xc5, 0xe0, - 0x9b, 0x1e, 0x9f, 0x24, 0xbd, 0xd2, 0xa9, 0x96, 0xcb, 0x07, 0x99, 0x90, 0xb4, 0xf2, 0xc1, 0xfc, - 0x4d, 0x09, 0x6a, 0x24, 0x47, 0xd6, 0x92, 0x69, 0x89, 0x55, 0xe0, 0x30, 0x91, 0x57, 0x62, 0xc9, - 0x00, 0x92, 0xb4, 0xe9, 0x9c, 0x04, 0x37, 0xc7, 0xd2, 0xf7, 0xf1, 0x4b, 0x76, 0x39, 0xc2, 0xfd, - 0xbe, 0xe5, 0xfa, 0xcf, 0xbe, 0x50, 0x17, 0x8b, 0x20, 0x41, 0x3d, 0x84, 0x64, 0x09, 0xf6, 0xd5, - 0x71, 0x53, 0x4a, 0xb0, 0xcf, 0x07, 0xcb, 0x32, 0x87, 0xb1, 0x04, 0x55, 0xf3, 0x48, 0x50, 0x2c, - 0x21, 0x25, 0xd8, 0x57, 0x75, 0x4f, 0x4a, 0xb0, 0x4f, 0xe3, 0xc0, 0x32, 0xc7, 0xc5, 0x52, 0x54, - 0x5d, 0x3d, 0xc8, 0x16, 0x15, 0x6f, 0xf1, 0xee, 0x4c, 0xca, 0xae, 0xf1, 0x60, 0x1a, 0x31, 0x90, - 0xa5, 0x2f, 0x11, 0xed, 0xf3, 0x5e, 0x3c, 0x4b, 0xb4, 0x2f, 0xf7, 0xcc, 0x24, 0xd3, 0x9a, 0x63, - 0x9d, 0x3a, 0x79, 0xc9, 0x7b, 0xf0, 0x22, 0xed, 0x99, 0x09, 0x78, 0xcc, 0x30, 0xd2, 0x73, 0x64, - 0x8f, 0xce, 0xe9, 0x80, 0x85, 0x32, 0x4e, 0x83, 0x49, 0x80, 0x41, 0x82, 0x20, 0x54, 0x04, 0x26, - 0x04, 0xfc, 0x4e, 0x82, 0xb7, 0xde, 0x45, 0xd1, 0x8c, 0x69, 0xe4, 0xe3, 0x89, 0x77, 0xa1, 0x4e, - 0xdb, 0x78, 0x6f, 0x62, 0xb1, 0x19, 0x6c, 0x30, 0x4d, 0x0d, 0x41, 0xfd, 0xc9, 0x01, 0x02, 0x28, - 0xb8, 0x3b, 0xf4, 0xb0, 0x85, 0x37, 0xd8, 0x18, 0xdc, 0xb9, 0x41, 0x45, 0xa8, 0x52, 0xf1, 0xfb, - 0x05, 0x15, 0xaa, 0x2d, 0x46, 0xd6, 0x25, 0xec, 0x11, 0x81, 0xe4, 0x52, 0xa0, 0x22, 0x8a, 0x62, - 0x4b, 0x2a, 0xc8, 0x20, 0x26, 0x30, 0xbf, 0x83, 0x12, 0x59, 0x47, 0x72, 0xd6, 0xbe, 0x52, 0x50, - 0xc4, 0x36, 0xa8, 0xce, 0xda, 0x6f, 0x65, 0x77, 0x64, 0xd7, 0xb2, 0x84, 0x99, 0xfd, 0xd8, 0x5f, - 0x14, 0xa0, 0x28, 0xfa, 0x6d, 0xb2, 0x1f, 0x3b, 0x54, 0xf9, 0x06, 0xbf, 0x68, 0xeb, 0x29, 0x57, - 0x12, 0xab, 0x8a, 0xb8, 0xfc, 0x4e, 0x00, 0xb4, 0xb2, 0x58, 0x3b, 0x12, 0x4a, 0xdd, 0x63, 0xc8, - 0x96, 0x76, 0x19, 0x53, 0xca, 0x5c, 0xc6, 0xbc, 0xf2, 0x92, 0x20, 0xab, 0xb8, 0x39, 0x82, 0xe2, - 0x93, 0x60, 0x92, 0x1b, 0xa2, 0x50, 0xc1, 0x40, 0x1e, 0x87, 0x35, 0x04, 0x7e, 0x71, 0x3d, 0x2c, - 0x4f, 0xa1, 0x03, 0x59, 0x59, 0x36, 0xb0, 0x1e, 0x66, 0x80, 0x88, 0x08, 0xa9, 0xce, 0xb8, 0xf9, - 0x52, 0x9d, 0x91, 0x12, 0x20, 0x22, 0xf3, 0x3f, 0x0b, 0x50, 0x91, 0x57, 0x7e, 0x2b, 0xa3, 0x46, - 0x3e, 0x4e, 0x63, 0xc9, 0xd1, 0x1b, 0x16, 0xd9, 0x12, 0xd0, 0x1b, 0xd3, 0x32, 0x51, 0xe9, 0xea, - 0xcc, 0xad, 0xe4, 0x91, 0x02, 0xd6, 0x1f, 0x12, 0xc4, 0x9b, 0x80, 0x5b, 0xd0, 0x52, 0x04, 0xca, - 0xf1, 0x55, 0x54, 0xaa, 0x89, 0x4d, 0x09, 0x6f, 0xc7, 0xe0, 0xcc, 0x5d, 0x4c, 0x79, 0xe9, 0x2e, - 0xe6, 0xc7, 0xb0, 0x31, 0xf3, 0xa7, 0xa1, 0x35, 0xb5, 0x4f, 0x9d, 0x29, 0xd7, 0xf2, 0xd2, 0xf7, - 0x1a, 0x04, 0x3d, 0x24, 0x20, 0x95, 0xf2, 0x4b, 0x54, 0x58, 0xc9, 0xaf, 0x2f, 0x53, 0xd9, 0x2f, - 0xf6, 0x3a, 0x18, 0x9f, 0xe2, 0x00, 0x0a, 0x38, 0xec, 0xc3, 0xfe, 0xbd, 0xf6, 0x61, 0xeb, 0x2d, - 0xa3, 0x06, 0xe5, 0xc3, 0x7e, 0x07, 0x3f, 0x0b, 0x04, 0x6e, 0x1f, 0xfc, 0xca, 0xea, 0x1d, 0xb7, - 0xd6, 0xe8, 0x39, 0x16, 0x7d, 0xf7, 0x1f, 0x0f, 0x5b, 0x45, 0x7a, 0x25, 0xf1, 0x44, 0xdc, 0x6f, - 0x95, 0xf6, 0xfe, 0x04, 0x6a, 0xc9, 0x95, 0x2a, 0x41, 0xdb, 0x07, 0x07, 0x28, 0x02, 0x3f, 0x0e, - 0xba, 0x24, 0x00, 0x99, 0xf0, 0xc3, 0x6a, 0x1f, 0x1e, 0x4a, 0x09, 0xa2, 0x3b, 0x38, 0x6c, 0x77, - 0xba, 0x28, 0x01, 0x45, 0x77, 0x8f, 0xdb, 0xf7, 0x0e, 0xbb, 0xad, 0x12, 0x53, 0xf5, 0x4e, 0xb8, - 0x51, 0xa6, 0xee, 0x45, 0xf7, 0xa4, 0x3b, 0x6c, 0x55, 0x8c, 0x26, 0x26, 0xc7, 0xfe, 0xfd, 0xa1, - 0x6c, 0xae, 0xe3, 0x8a, 0x40, 0xef, 0xb8, 0x37, 0xec, 0xb5, 0x0f, 0x7b, 0x7f, 0xd4, 0x6d, 0x55, - 0xf7, 0x2c, 0xba, 0xed, 0x4b, 0x36, 0x19, 0x24, 0x71, 0x20, 0xba, 0xf7, 0x7b, 0xdf, 0xa2, 0x02, - 0x0d, 0xa8, 0x1e, 0x77, 0x7b, 0x0f, 0x1e, 0xde, 0xeb, 0x0b, 0xd4, 0x02, 0xd5, 0x19, 0xb6, 0x1f, - 0xa8, 0x31, 0x9c, 0x58, 0x83, 0xf6, 0xf0, 0x21, 0x6a, 0x80, 0xd2, 0x3b, 0xfd, 0xa3, 0xa3, 0xc7, - 0x28, 0xf2, 0x3b, 0x54, 0x62, 0x0b, 0x9a, 0xdd, 0x6f, 0x87, 0x56, 0x0a, 0x2a, 0xef, 0xdd, 0xc2, - 0x62, 0x2e, 0xde, 0x38, 0xf0, 0xe0, 0x8e, 0xbf, 0x93, 0x83, 0xa3, 0xf1, 0xf0, 0xec, 0xf4, 0x8e, - 0x9f, 0x74, 0xc5, 0xb0, 0xb5, 0xb6, 0xb7, 0x07, 0xad, 0xe5, 0x6d, 0x81, 0x51, 0x81, 0xb5, 0xee, - 0x23, 0x64, 0xc0, 0xdf, 0x07, 0x5d, 0xa4, 0xc7, 0x5f, 0x1c, 0xe1, 0xda, 0xde, 0x6d, 0xb5, 0xef, - 0x53, 0x05, 0x51, 0x15, 0x4a, 0xc7, 0xfd, 0x63, 0x7a, 0x72, 0x42, 0xd3, 0xdd, 0xe9, 0x74, 0x07, - 0x43, 0x29, 0x5c, 0x74, 0x7f, 0xd5, 0xed, 0x90, 0xf0, 0xc7, 0x70, 0x2d, 0xa7, 0x26, 0x25, 0x8d, - 0x13, 0x6d, 0x2d, 0x39, 0xf1, 0xdb, 0xd0, 0x4a, 0x41, 0xa2, 0x7b, 0xd4, 0x7f, 0x42, 0x1d, 0x5f, - 0x87, 0x2d, 0x1d, 0x2a, 0x97, 0x60, 0x6d, 0xef, 0x63, 0x68, 0x66, 0x0a, 0x51, 0x9a, 0x9e, 0xa3, - 0xee, 0x81, 0x75, 0xd4, 0x27, 0x51, 0x9b, 0x50, 0xa7, 0x46, 0x4c, 0x5e, 0xd8, 0xfb, 0x08, 0x20, - 0x4d, 0xd4, 0x34, 0x18, 0x34, 0x0b, 0xd6, 0xb9, 0x77, 0x34, 0xe8, 0x0b, 0xa5, 0x73, 0xf7, 0x5b, - 0xfe, 0x5e, 0xbb, 0xf3, 0x37, 0x5b, 0x50, 0x7d, 0x40, 0xae, 0xdc, 0xf6, 0x5d, 0xe3, 0x2e, 0x6c, - 0x3e, 0x70, 0x22, 0xfd, 0xbe, 0xde, 0xd0, 0x02, 0x4f, 0x72, 0x77, 0xbf, 0xbb, 0x72, 0xf1, 0x6e, - 0xbe, 0x65, 0x3c, 0xe4, 0x77, 0x2b, 0x19, 0x5e, 0x33, 0xf3, 0xd2, 0x27, 0xf7, 0x19, 0xc0, 0xee, - 0xe6, 0xd2, 0xeb, 0x43, 0x94, 0xf4, 0x15, 0x34, 0x50, 0x8b, 0xf8, 0x39, 0x59, 0x98, 0xaf, 0xc2, - 0xd2, 0xd3, 0x30, 0xf3, 0xad, 0x4f, 0x0b, 0x58, 0x83, 0xd5, 0x35, 0xc6, 0x4b, 0xf2, 0x19, 0x7f, - 0x80, 0x13, 0x98, 0xbe, 0x5e, 0x33, 0xde, 0xcd, 0x28, 0xbd, 0xf2, 0xa8, 0x2d, 0x4f, 0xe1, 0x8f, - 0xd0, 0x2b, 0x71, 0xb7, 0xe3, 0x9e, 0x1a, 0x1a, 0x92, 0x6f, 0x9a, 0x77, 0x97, 0x01, 0x48, 0x7d, - 0x1b, 0x1d, 0x87, 0x73, 0x56, 0xae, 0x7e, 0x39, 0xe2, 0x3f, 0x47, 0xf7, 0xf2, 0x26, 0xd1, 0x9b, - 0x31, 0x7d, 0x09, 0xf5, 0x84, 0xa9, 0x37, 0xbf, 0x34, 0xdb, 0x3e, 0x34, 0x12, 0xb6, 0xfe, 0xe2, - 0xf2, 0xdd, 0xdd, 0x81, 0xea, 0x89, 0xba, 0xa7, 0xbb, 0x34, 0xcf, 0xa7, 0x68, 0x86, 0x7c, 0x59, - 0x73, 0x69, 0x0e, 0xac, 0xdc, 0x0f, 0xdc, 0xf0, 0x8d, 0x58, 0xee, 0xa1, 0xaf, 0xc8, 0xa7, 0x91, - 0xc6, 0x6e, 0x66, 0x65, 0x33, 0xef, 0x45, 0x77, 0x6f, 0xae, 0xe0, 0xe2, 0x9a, 0x01, 0x65, 0x7c, - 0x0d, 0xd5, 0xf8, 0x79, 0xa5, 0xf1, 0x83, 0x15, 0xc2, 0xf0, 0xa2, 0xfe, 0x3f, 0x2c, 0xd0, 0x46, - 0x47, 0xbd, 0x5e, 0xcb, 0xb5, 0x90, 0xfc, 0x17, 0x02, 0x6c, 0xcf, 0x07, 0xf4, 0x5c, 0x89, 0x39, - 0xef, 0x21, 0xa6, 0x73, 0x6e, 0xcf, 0xcf, 0xe8, 0xc8, 0x3d, 0x6f, 0xe4, 0x17, 0x48, 0xf9, 0x79, - 0xf2, 0x7a, 0x2e, 0xbd, 0x65, 0xba, 0xb4, 0x4b, 0xdd, 0x65, 0xd3, 0xc6, 0x0a, 0xda, 0xd0, 0x4e, - 0x23, 0xf4, 0x97, 0x8d, 0xbb, 0xdb, 0x19, 0xb8, 0x2a, 0xb4, 0x99, 0x77, 0x1f, 0x2a, 0xf2, 0x19, - 0xa4, 0x91, 0x9d, 0xdd, 0x0c, 0x7b, 0xae, 0x0d, 0x56, 0xe4, 0xc3, 0xc0, 0x25, 0x3e, 0xfd, 0xa9, - 0x60, 0xbe, 0x0d, 0xae, 0x93, 0x1b, 0x52, 0x95, 0xf5, 0xba, 0xf1, 0x11, 0x11, 0xeb, 0xf8, 0x33, - 0x36, 0x0f, 0xe6, 0xc9, 0x9a, 0x47, 0xe6, 0xed, 0xe0, 0x2b, 0xac, 0x97, 0x7a, 0xc3, 0xba, 0x2b, - 0xb7, 0x33, 0xed, 0xcd, 0x1d, 0xd2, 0x70, 0x5f, 0x9f, 0xb1, 0x7e, 0x58, 0x1c, 0x85, 0xaf, 0x65, - 0x41, 0x22, 0x6d, 0x0a, 0xa9, 0x9e, 0xca, 0x4e, 0x85, 0xfe, 0x3c, 0x30, 0x4f, 0xb9, 0x5f, 0x40, - 0x13, 0xbb, 0xd2, 0x8e, 0xff, 0x72, 0x1f, 0xe5, 0xed, 0xe6, 0x42, 0x39, 0x24, 0x6e, 0x64, 0xd8, - 0xc3, 0x37, 0xe3, 0x67, 0xd3, 0x6d, 0x66, 0x9e, 0x17, 0x1a, 0xef, 0x65, 0xf4, 0xcf, 0x79, 0x77, - 0x98, 0x37, 0x8c, 0xbb, 0x9c, 0x09, 0xd2, 0x8d, 0x77, 0xde, 0x7e, 0x76, 0x37, 0x0f, 0x98, 0x4c, - 0x81, 0xf6, 0x9a, 0xee, 0x0d, 0x98, 0x71, 0x00, 0xf7, 0xa0, 0xa1, 0x3f, 0x55, 0x34, 0x7e, 0x94, - 0xd1, 0x7f, 0xf5, 0x09, 0x63, 0x7e, 0xb8, 0xaa, 0xa1, 0x0a, 0x6a, 0xcf, 0xbe, 0xb2, 0xab, 0xdd, - 0x5d, 0x81, 0xc8, 0xb0, 0x1d, 0xb3, 0x50, 0x1d, 0x79, 0x29, 0x26, 0xd4, 0xf6, 0x6b, 0xac, 0x80, - 0xe2, 0x77, 0x7f, 0xc6, 0x3b, 0xd9, 0x10, 0x95, 0x7d, 0xed, 0x98, 0xa7, 0x67, 0x1f, 0xae, 0x25, - 0x7a, 0x6a, 0xe7, 0x00, 0x17, 0xbc, 0x06, 0xd9, 0xbd, 0x00, 0x87, 0x02, 0x07, 0x70, 0x2d, 0xe7, - 0x19, 0xa2, 0xf1, 0x41, 0x9e, 0x62, 0xab, 0xaf, 0x14, 0x73, 0x54, 0x3c, 0xad, 0xf0, 0x3f, 0x33, - 0x7c, 0xfe, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x85, 0xf7, 0xed, 0x86, 0xdb, 0x30, 0x00, 0x00, + // 5225 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x7c, 0x5f, 0x73, 0x1b, 0x47, + 0x72, 0x38, 0x41, 0x80, 0x24, 0xd0, 0x00, 0x48, 0x70, 0x44, 0x4a, 0x10, 0x64, 0xc9, 0xd6, 0x9e, + 0xff, 0x48, 0x3a, 0x5b, 0x3e, 0xcb, 0xb6, 0x7c, 0x3f, 0xfb, 0x7c, 0xbf, 0x83, 0x48, 0x48, 0xc2, + 0x99, 0xff, 0xbc, 0xa4, 0x15, 0x3b, 0xff, 0x90, 0x15, 0xb0, 0x24, 0x37, 0x06, 0xb0, 0x7b, 0xbb, + 0x0b, 0x59, 0xac, 0x54, 0x25, 0x55, 0x97, 0xc7, 0x54, 0xbe, 0xc1, 0xe5, 0x0b, 0x5c, 0x25, 0xcf, + 0xa9, 0xca, 0x53, 0x1e, 0x92, 0xaa, 0x3c, 0xe6, 0x1b, 0xe4, 0x29, 0x0f, 0xf9, 0x00, 0xa9, 0xca, + 0x63, 0xba, 0x7b, 0x66, 0x77, 0x67, 0xff, 0x80, 0xa2, 0x14, 0x25, 0xa9, 0x3c, 0x11, 0xdb, 0xdd, + 0xd3, 0xd3, 0x33, 0xd3, 0xd3, 0xdd, 0xd3, 0xd3, 0x43, 0x58, 0xb3, 0x3c, 0xe7, 0xc3, 0x13, 0xf7, + 0xe9, 0x89, 0x77, 0xd7, 0xf3, 0xdd, 0xd0, 0x15, 0x55, 0xfe, 0x40, 0xa8, 0xb1, 0x01, 0xe2, 0x91, + 0x1d, 0xee, 0xd9, 0xce, 0xc9, 0xe9, 0x53, 0xd7, 0x37, 0xed, 0x5f, 0xcd, 0xec, 0x20, 0x34, 0xbe, + 0x80, 0x4b, 0x29, 0x68, 0xe0, 0xb9, 0xd3, 0xc0, 0x16, 0x6f, 0xc3, 0x92, 0x67, 0xdb, 0x7e, 0xd0, + 0x2e, 0xbd, 0x55, 0xbe, 0x55, 0xbf, 0xb7, 0x7a, 0x37, 0x62, 0x73, 0xf7, 0x00, 0xc1, 0xa6, 0x44, + 0x1a, 0x27, 0x50, 0xeb, 0xfa, 0x27, 0xb3, 0x89, 0x3d, 0x0d, 0x03, 0x71, 0x17, 0xaa, 0xbe, 0x1d, + 0xb8, 0x33, 0x7f, 0x68, 0x63, 0xab, 0xd2, 0xad, 0xd5, 0x7b, 0x22, 0x69, 0x65, 0x2a, 0x8c, 0x19, + 0xd3, 0x88, 0xcb, 0xb0, 0x7c, 0x6c, 0x4d, 0x9c, 0xf1, 0x59, 0x7b, 0x11, 0xa9, 0x9b, 0xa6, 0xfa, + 0x12, 0x02, 0x2a, 0x53, 0x6b, 0x62, 0xb7, 0xcb, 0x08, 0xad, 0x99, 0xfc, 0xdb, 0xf8, 0x13, 0x58, + 0xed, 0x8e, 0x46, 0x07, 0x56, 0x78, 0xaa, 0xe4, 0x7e, 0xe9, 0xde, 0x36, 0x61, 0xf9, 0x99, 0x7f, + 0x3c, 0x70, 0x46, 0xdc, 0x5b, 0xcd, 0x5c, 0xc2, 0xaf, 0xfe, 0x48, 0x18, 0x50, 0xf1, 0x90, 0x2b, + 0x77, 0x96, 0x1e, 0x26, 0xf5, 0xc5, 0x38, 0xe3, 0x1d, 0x58, 0x8b, 0x3b, 0x57, 0xd3, 0x83, 0x32, + 0xce, 0x66, 0xc8, 0x8b, 0x7a, 0x6e, 0x98, 0xfc, 0xdb, 0xf8, 0x6d, 0x09, 0xd6, 0xb7, 0xed, 0xb1, + 0x1d, 0xda, 0xff, 0x0d, 0x72, 0x26, 0x93, 0x55, 0x4e, 0x4d, 0x56, 0x24, 0x7f, 0x65, 0xbe, 0xfc, + 0xb1, 0xb0, 0x4b, 0x9a, 0xb0, 0xa8, 0x0c, 0xba, 0xac, 0x72, 0x58, 0xc6, 0x4f, 0x41, 0xe0, 0x48, + 0x33, 0x2a, 0xc2, 0x7d, 0xe0, 0x72, 0xb3, 0xf8, 0x79, 0x55, 0x60, 0x9c, 0xb1, 0x09, 0x97, 0x52, + 0x2d, 0x15, 0xc3, 0x2f, 0x60, 0x53, 0x76, 0xf3, 0x2a, 0x3c, 0xdb, 0x70, 0x39, 0xdb, 0x58, 0xb1, + 0xfd, 0x09, 0x6c, 0xe0, 0xef, 0x9c, 0x32, 0x8b, 0x36, 0xac, 0x58, 0xa3, 0x11, 0xce, 0x65, 0xc0, + 0x8c, 0x6b, 0x66, 0xf4, 0x69, 0x5c, 0x81, 0xcd, 0x4c, 0x0b, 0xc5, 0xea, 0xef, 0x4a, 0xd0, 0x3e, + 0x74, 0x8f, 0xc3, 0x97, 0xe3, 0x27, 0x0e, 0xa1, 0x36, 0x72, 0x7c, 0x7b, 0x18, 0x3a, 0xee, 0x94, + 0x57, 0x6a, 0xf5, 0xde, 0xa7, 0xc9, 0x20, 0xe6, 0x31, 0x4c, 0x10, 0xdb, 0x51, 0x63, 0x33, 0xe1, + 0x63, 0x7c, 0x08, 0x22, 0x4f, 0x20, 0x96, 0x61, 0xb1, 0xbf, 0xd7, 0x5a, 0x10, 0x2b, 0x50, 0xde, + 0xff, 0xe6, 0xa8, 0x55, 0x12, 0x55, 0xa8, 0x3c, 0xd8, 0x3f, 0x7a, 0xdc, 0x5a, 0x34, 0xae, 0xc1, + 0xd5, 0x82, 0xae, 0xd4, 0xc8, 0x3e, 0x86, 0x2b, 0x87, 0xa7, 0xb3, 0x70, 0xe4, 0xfe, 0x30, 0xbd, + 0xf8, 0x3c, 0x75, 0x70, 0x36, 0x72, 0x8d, 0x14, 0xc3, 0x8f, 0x60, 0xb3, 0x37, 0xb5, 0x9e, 0x8e, + 0xed, 0x8b, 0xb3, 0xc3, 0x25, 0xcc, 0x36, 0x51, 0xcc, 0xee, 0xe1, 0xe2, 0x3a, 0xc1, 0xcb, 0x71, + 0xbb, 0x0a, 0x57, 0x72, 0x6d, 0x14, 0xbb, 0xbf, 0x2a, 0x41, 0x63, 0xd7, 0x0f, 0x5f, 0xbf, 0x35, + 0xea, 0x40, 0xd5, 0x99, 0x86, 0xb6, 0xff, 0xcc, 0x1a, 0xf3, 0xd6, 0xab, 0x98, 0xf1, 0xb7, 0xb8, + 0x0d, 0xad, 0xa9, 0x12, 0x64, 0x10, 0x89, 0x5c, 0x61, 0x91, 0xd7, 0x22, 0x78, 0x57, 0x89, 0x7e, + 0x02, 0x2d, 0x39, 0x11, 0x28, 0x64, 0x34, 0xd0, 0x6b, 0xa8, 0x43, 0xb3, 0x89, 0x37, 0x08, 0xcf, + 0x3c, 0x29, 0xe3, 0x92, 0x59, 0x25, 0xc0, 0x11, 0x7e, 0x53, 0xbf, 0xc7, 0xce, 0xd8, 0x66, 0x4b, + 0x28, 0x2d, 0x41, 0xfc, 0x7d, 0x9e, 0x4c, 0xc6, 0x25, 0x58, 0xd7, 0x3a, 0x52, 0xb3, 0x83, 0x40, + 0x35, 0x71, 0x49, 0xf7, 0x6c, 0x02, 0x34, 0xa0, 0x22, 0xfd, 0x33, 0x68, 0xf5, 0xa7, 0x7f, 0x8c, + 0xaa, 0xa7, 0x09, 0xfa, 0x9a, 0x6c, 0x18, 0xf9, 0x14, 0xb4, 0x36, 0x01, 0xca, 0x5c, 0x2e, 0x30, + 0x56, 0x12, 0x49, 0xb2, 0x6a, 0x02, 0x28, 0xa9, 0xfe, 0xba, 0x04, 0x4d, 0x9c, 0xca, 0x07, 0x13, + 0xef, 0xc5, 0x5b, 0x13, 0xcd, 0x9d, 0xe7, 0xfa, 0xa1, 0x5a, 0x47, 0xfe, 0x2d, 0x7e, 0x06, 0x15, + 0x9e, 0xe5, 0x32, 0x4b, 0x7f, 0x2b, 0xe9, 0x39, 0xc5, 0xf4, 0xee, 0xae, 0x3b, 0x75, 0x42, 0xd7, + 0x77, 0xa6, 0x27, 0x07, 0xee, 0xd8, 0x19, 0x9e, 0x99, 0xdc, 0x0a, 0xf7, 0x65, 0x2b, 0x8b, 0xa1, + 0xdd, 0x78, 0x60, 0xf6, 0x70, 0x5b, 0xe2, 0x6e, 0x3c, 0xd8, 0x3f, 0x4c, 0xef, 0xcb, 0x16, 0xbb, + 0x2b, 0x66, 0xac, 0x06, 0xf0, 0x0b, 0x68, 0x49, 0x5b, 0xf6, 0xaa, 0x43, 0xe0, 0x35, 0x4c, 0x38, + 0x28, 0xb6, 0x3d, 0xa8, 0x9a, 0x07, 0x5f, 0xf5, 0xb7, 0xdc, 0xe9, 0xf1, 0x39, 0xec, 0xde, 0x84, + 0xba, 0x6f, 0x4f, 0xdc, 0xd0, 0x1e, 0xc4, 0x5c, 0x6b, 0x26, 0x48, 0xd0, 0x01, 0xf1, 0xfe, 0x4d, + 0x05, 0x6a, 0xc4, 0xe7, 0x30, 0xb4, 0x42, 0xde, 0x0a, 0x33, 0x2f, 0x74, 0x26, 0x72, 0xb1, 0xcb, + 0xa6, 0xfa, 0x22, 0xb5, 0x23, 0xbb, 0xc0, 0x98, 0x45, 0xc6, 0xc4, 0xdf, 0x62, 0x15, 0x16, 0x67, + 0x1e, 0x4f, 0x6f, 0xd5, 0xc4, 0x5f, 0xb2, 0xcb, 0xa1, 0xeb, 0x8f, 0x06, 0x8e, 0xf7, 0xec, 0x13, + 0xde, 0x15, 0x4d, 0xea, 0x92, 0x40, 0x7d, 0x84, 0xa4, 0x09, 0xee, 0xb3, 0x6f, 0xd2, 0x09, 0xee, + 0x13, 0x81, 0xe7, 0xdb, 0xc7, 0xce, 0x73, 0xc9, 0x61, 0x59, 0x12, 0x48, 0x50, 0xc4, 0x21, 0x21, + 0xb8, 0xdf, 0x5e, 0xc9, 0x10, 0xdc, 0xa7, 0x71, 0x04, 0xb6, 0xef, 0xe0, 0x26, 0xa9, 0xca, 0x2d, + 0x2d, 0xbf, 0xc4, 0x8f, 0xa0, 0x89, 0xfd, 0xd8, 0xce, 0x33, 0x5b, 0x49, 0x57, 0xe3, 0xc1, 0x34, + 0x22, 0x20, 0x73, 0xcf, 0x10, 0xdd, 0x6f, 0x43, 0x8e, 0xe8, 0x3e, 0x11, 0x49, 0x9e, 0x83, 0xa9, + 0x1b, 0x3a, 0xc7, 0x67, 0xed, 0xba, 0x24, 0x92, 0xc0, 0x3d, 0x86, 0x91, 0x9c, 0x43, 0x6b, 0x78, + 0x6a, 0x0f, 0x7c, 0x32, 0xd3, 0xed, 0x06, 0x93, 0x00, 0x83, 0xd8, 0x70, 0x8b, 0x77, 0x60, 0x35, + 0x26, 0xe0, 0x65, 0x6d, 0x37, 0x99, 0xa6, 0x19, 0xd1, 0xc8, 0x98, 0xe3, 0x06, 0xd4, 0xed, 0xe9, + 0x68, 0xe0, 0x1e, 0x0f, 0x46, 0x56, 0x68, 0xb5, 0x57, 0x99, 0xa6, 0x86, 0xa0, 0xfd, 0xe3, 0x6d, + 0x04, 0x88, 0x0d, 0x58, 0xb2, 0x7d, 0xdf, 0xf5, 0xdb, 0x6b, 0x8c, 0x91, 0x1f, 0xe2, 0x26, 0x28, + 0x69, 0x06, 0xa8, 0x74, 0xfe, 0x59, 0xbb, 0xc5, 0xc8, 0xba, 0x84, 0x7d, 0x4d, 0x20, 0xb9, 0x14, + 0x28, 0x88, 0xa2, 0x58, 0x97, 0x02, 0x32, 0x88, 0x09, 0x8c, 0xef, 0xa0, 0x62, 0x7a, 0xdf, 0x3b, + 0xe2, 0x5d, 0xa8, 0x0c, 0x51, 0xd3, 0x94, 0xd3, 0xd6, 0x6d, 0x80, 0xd2, 0x41, 0x93, 0xf1, 0x68, + 0x17, 0x97, 0x02, 0xd2, 0x24, 0xd6, 0x92, 0xfa, 0xbd, 0x4b, 0x69, 0x42, 0x56, 0x32, 0x53, 0x52, + 0x18, 0xb7, 0x60, 0x15, 0xc3, 0x4f, 0xe2, 0x1e, 0xed, 0x8a, 0xc4, 0x10, 0x97, 0x74, 0x43, 0x8c, + 0xa1, 0xc4, 0x5a, 0x4c, 0xa9, 0x66, 0xe4, 0x16, 0xac, 0xe0, 0x38, 0x9e, 0x15, 0x86, 0xa9, 0x4c, + 0x18, 0xa1, 0x8d, 0xdf, 0xe5, 0x0d, 0xa9, 0x77, 0xf3, 0x72, 0xf6, 0x03, 0x55, 0x7f, 0xec, 0x1c, + 0xdb, 0xac, 0xfa, 0x65, 0xa9, 0xfa, 0xd1, 0xb7, 0xb1, 0xce, 0xe1, 0xa1, 0x2e, 0x98, 0xd1, 0x8d, + 0xf6, 0xea, 0x2b, 0xf7, 0x98, 0x04, 0x68, 0x29, 0xc6, 0x1f, 0x44, 0xd6, 0xfd, 0x42, 0x8c, 0x89, + 0x89, 0x4e, 0xae, 0x98, 0xdc, 0x8d, 0x0d, 0xff, 0xc5, 0xb8, 0x60, 0x6c, 0x97, 0xa2, 0x57, 0x6c, + 0xde, 0x87, 0x16, 0xeb, 0xef, 0xc5, 0x98, 0xa0, 0xf9, 0xd2, 0xa8, 0x93, 0x38, 0x2e, 0x8e, 0x5f, + 0x2e, 0xc6, 0x06, 0xe3, 0xb8, 0x4c, 0x0b, 0xc5, 0x6a, 0x0d, 0x9a, 0xa8, 0x1e, 0x4f, 0xfc, 0xe3, + 0xc8, 0xbd, 0x7d, 0xcc, 0x9a, 0xc5, 0x00, 0xa5, 0x2e, 0x37, 0xa1, 0x82, 0x8e, 0x28, 0xd2, 0x95, + 0x66, 0xa2, 0x2b, 0x44, 0xc4, 0x28, 0x14, 0x88, 0xdc, 0x4c, 0xc2, 0x05, 0xf7, 0x46, 0x19, 0x11, + 0x4a, 0xe3, 0x33, 0x4d, 0x08, 0xa3, 0x4c, 0xbd, 0xd6, 0x0d, 0x76, 0xac, 0x4c, 0xfd, 0xcb, 0xb0, + 0x89, 0xad, 0xbb, 0xce, 0xa9, 0x0b, 0x1b, 0x38, 0x84, 0x6d, 0x34, 0x68, 0x53, 0x7b, 0x74, 0x68, + 0xc7, 0xfe, 0xf8, 0xb6, 0xf2, 0x66, 0xd2, 0x17, 0x6f, 0x26, 0xec, 0x14, 0x29, 0x05, 0x10, 0xca, + 0x75, 0x75, 0x61, 0x33, 0xc3, 0x22, 0xde, 0x3b, 0x15, 0x9c, 0xc2, 0x68, 0x32, 0x36, 0x72, 0x3c, + 0x88, 0x96, 0x29, 0x8c, 0x9f, 0xc3, 0x06, 0x8e, 0x30, 0x2f, 0xc5, 0xbb, 0x50, 0x26, 0x7b, 0x26, + 0xc7, 0x54, 0xcc, 0x80, 0x08, 0x68, 0xc9, 0x32, 0xed, 0xd5, 0xf0, 0x0e, 0x31, 0x9c, 0xe3, 0x31, + 0xbf, 0x32, 0x6f, 0xd1, 0x82, 0xb2, 0x35, 0x1e, 0xf3, 0xc6, 0xa9, 0x9a, 0xf4, 0x93, 0x02, 0xd8, + 0x3c, 0x53, 0xd5, 0xe1, 0x03, 0x68, 0x9b, 0xb6, 0x37, 0xb6, 0x86, 0xaf, 0xde, 0x23, 0x85, 0xdc, + 0x05, 0x3c, 0x54, 0x07, 0x9b, 0x7c, 0x98, 0x66, 0x03, 0x47, 0x51, 0x68, 0xa4, 0x8a, 0x5f, 0xf1, + 0x3a, 0x6a, 0x60, 0xb5, 0x06, 0x1f, 0x03, 0x04, 0x11, 0x30, 0x5a, 0x09, 0xcd, 0x58, 0x26, 0x0d, + 0x34, 0x32, 0xe3, 0x31, 0x9f, 0xb4, 0xb2, 0x7d, 0x88, 0x8f, 0xa0, 0x16, 0x13, 0xa9, 0x51, 0x14, + 0xb2, 0x4a, 0xa8, 0x8c, 0xcb, 0xbc, 0xb0, 0x39, 0xb1, 0x8c, 0x3f, 0x88, 0xce, 0x5d, 0xaf, 0xa1, + 0x93, 0x82, 0x15, 0xba, 0x1a, 0x2d, 0x7b, 0xbe, 0xe7, 0x1d, 0xb8, 0xa2, 0x26, 0xf7, 0x75, 0x8c, + 0xaf, 0x13, 0x2f, 0x77, 0xbe, 0x27, 0x01, 0x2d, 0x5c, 0x12, 0x15, 0xe5, 0xa9, 0x65, 0x42, 0xab, + 0xad, 0xc1, 0xd4, 0x1a, 0xbd, 0x0f, 0x55, 0x8f, 0x20, 0x8e, 0x1d, 0xad, 0x50, 0x4b, 0x8b, 0x5b, + 0x25, 0x6d, 0x4c, 0x61, 0x3c, 0x87, 0x16, 0xa5, 0x0a, 0x74, 0xb6, 0xb8, 0xd3, 0x96, 0x19, 0x7f, + 0xa6, 0xc4, 0xce, 0xb7, 0x57, 0x78, 0xf1, 0x39, 0x5c, 0xc5, 0xe8, 0xc5, 0xf6, 0x07, 0xf6, 0x73, + 0x27, 0x08, 0x31, 0xd6, 0x1c, 0x68, 0xea, 0x21, 0x67, 0xf0, 0x0a, 0x13, 0xf4, 0x14, 0xfe, 0x30, + 0x51, 0x0b, 0x34, 0x20, 0x5a, 0xcf, 0x6a, 0x94, 0xbf, 0x2e, 0xa1, 0xe9, 0x96, 0xc7, 0xfc, 0x57, + 0x14, 0xe9, 0x43, 0xb8, 0xe4, 0x51, 0x24, 0x80, 0x6e, 0x34, 0x2f, 0x8c, 0x88, 0x50, 0x89, 0x1c, + 0xd1, 0x7a, 0x97, 0x93, 0xf5, 0x46, 0x35, 0x4b, 0xcb, 0xa0, 0x84, 0xfb, 0x9b, 0x12, 0x9d, 0xe2, + 0x79, 0x7d, 0xfe, 0x17, 0x26, 0x6c, 0xde, 0xc8, 0xca, 0xf3, 0x46, 0x26, 0x53, 0x08, 0x29, 0x71, + 0xd5, 0x40, 0xbe, 0x85, 0x4e, 0xac, 0x37, 0xdd, 0x20, 0x70, 0x4e, 0xa6, 0xba, 0xe2, 0x7e, 0x0e, + 0x60, 0xc5, 0x40, 0x35, 0xa2, 0x4e, 0x76, 0x44, 0x5a, 0x33, 0x8d, 0x1a, 0x03, 0xaf, 0x6b, 0x85, + 0x9c, 0x95, 0x6e, 0xfe, 0x57, 0x58, 0xa3, 0xd0, 0xb1, 0xbe, 0xbc, 0x5e, 0xa1, 0xaf, 0xc3, 0xb5, + 0x42, 0xce, 0x6a, 0xb6, 0x26, 0x70, 0x5d, 0x57, 0x87, 0xd7, 0xda, 0x77, 0x81, 0xb5, 0x79, 0x0b, + 0x6e, 0xcc, 0xeb, 0x4e, 0x09, 0xf4, 0xfb, 0x70, 0x23, 0xb5, 0xae, 0xaf, 0x77, 0x36, 0x6e, 0xc2, + 0x9b, 0x73, 0xb9, 0xa7, 0x6c, 0xd1, 0x21, 0x87, 0xaa, 0x91, 0x2d, 0xfa, 0x92, 0x6d, 0x51, 0x04, + 0x8b, 0x7d, 0xf6, 0xf2, 0xc9, 0xd8, 0x7d, 0x8a, 0x07, 0x9a, 0xdc, 0xc6, 0x78, 0xc4, 0x70, 0x53, + 0xe1, 0xd1, 0x67, 0x0b, 0xd4, 0x5c, 0x3f, 0xcd, 0xf4, 0x25, 0xda, 0xa3, 0x23, 0x4b, 0xb5, 0x4f, + 0xf2, 0x08, 0x87, 0xa1, 0xeb, 0xa5, 0x45, 0xdd, 0xa0, 0xbe, 0x12, 0xa0, 0x22, 0xfd, 0x4d, 0x19, + 0xcf, 0xc5, 0x2a, 0xfb, 0x38, 0x1d, 0xfb, 0x4e, 0x94, 0x2a, 0xa5, 0xdf, 0x14, 0xe3, 0xe3, 0x61, + 0x3f, 0xf4, 0x69, 0x93, 0x96, 0x11, 0xaa, 0xbe, 0x78, 0xf9, 0x4e, 0xa2, 0x08, 0x9b, 0x7e, 0x52, + 0xeb, 0xa7, 0xd8, 0x09, 0x1f, 0x20, 0xab, 0x26, 0xff, 0xa6, 0xf3, 0x8a, 0x13, 0x0c, 0x7e, 0x70, + 0xc2, 0xd3, 0x91, 0x6f, 0xfd, 0xc0, 0x47, 0xc7, 0xaa, 0x09, 0x4e, 0xf0, 0x3b, 0x0a, 0x82, 0x27, + 0x25, 0x78, 0x66, 0x8d, 0x1d, 0x3c, 0x26, 0x51, 0x76, 0x6e, 0x99, 0x33, 0x2b, 0x1a, 0x44, 0x60, + 0xd8, 0x39, 0x75, 0x07, 0xce, 0xc4, 0x23, 0xab, 0x1d, 0x26, 0x9c, 0x56, 0xe4, 0xde, 0x9f, 0xba, + 0x7d, 0x85, 0x8a, 0x39, 0x26, 0x87, 0x92, 0x6a, 0x2a, 0x3b, 0x74, 0x1d, 0x3d, 0x38, 0xe7, 0x3c, + 0x06, 0x56, 0x30, 0xe5, 0x73, 0x64, 0x13, 0x3d, 0x10, 0x43, 0xba, 0xc1, 0x94, 0x32, 0x3c, 0x0a, + 0xed, 0x8c, 0xf8, 0x00, 0x59, 0x33, 0xab, 0x12, 0xd0, 0x1f, 0xa9, 0x0c, 0x4f, 0x68, 0xfb, 0xf6, + 0x88, 0xcf, 0x8d, 0x55, 0x33, 0xfe, 0xa6, 0xb3, 0x1c, 0xda, 0xa4, 0xb1, 0xcd, 0xa7, 0xc5, 0xaa, + 0x29, 0x3f, 0x70, 0xfd, 0x5a, 0x38, 0xf0, 0x63, 0xdf, 0x9d, 0xa0, 0xc1, 0x43, 0xc2, 0x29, 0xae, + 0x64, 0x93, 0x09, 0x56, 0x9d, 0xe0, 0x21, 0x82, 0x7b, 0x0a, 0x4a, 0x53, 0x14, 0x67, 0xa6, 0x1c, + 0x8f, 0xcf, 0x8a, 0x78, 0xe2, 0x8f, 0x40, 0x7d, 0xcf, 0x08, 0xa1, 0xbe, 0x6d, 0x93, 0x49, 0x94, + 0x33, 0x42, 0x0b, 0xc2, 0x07, 0x67, 0x15, 0x6f, 0xab, 0xaf, 0x24, 0x65, 0xb3, 0x78, 0x4e, 0xca, + 0x46, 0xbc, 0x07, 0x6b, 0x63, 0x77, 0x7a, 0x82, 0x76, 0x58, 0x36, 0xb3, 0x23, 0x33, 0xba, 0x2a, + 0xc1, 0x07, 0x0a, 0x6a, 0xfc, 0x6d, 0x09, 0x96, 0x8e, 0xe8, 0x20, 0x41, 0x47, 0x49, 0x2d, 0x84, + 0x2d, 0x4a, 0x27, 0x31, 0x3e, 0xbe, 0x0c, 0x58, 0x4c, 0x2e, 0x03, 0xe6, 0xe6, 0xc2, 0xff, 0x1f, + 0x34, 0x46, 0xc9, 0x98, 0x28, 0x15, 0x47, 0x32, 0xa7, 0xc2, 0xe3, 0x18, 0x6b, 0xa6, 0x48, 0x39, + 0x97, 0xe0, 0x06, 0xe1, 0x40, 0xf9, 0x1d, 0xa5, 0x52, 0x04, 0x92, 0xbb, 0xd6, 0xb8, 0xcf, 0xc7, + 0x0b, 0xd3, 0x79, 0x1a, 0xed, 0xa5, 0x77, 0x60, 0x29, 0xa4, 0x91, 0xa8, 0xad, 0xb4, 0x96, 0xf4, + 0xc2, 0x03, 0x34, 0x25, 0xd6, 0xf8, 0x4c, 0x9e, 0x6f, 0xa9, 0x9d, 0xda, 0xc4, 0x17, 0x6c, 0x38, + 0x06, 0xf1, 0x44, 0x6a, 0xac, 0xad, 0xf5, 0x7a, 0xd1, 0x69, 0x9b, 0x97, 0xcd, 0x4c, 0xd6, 0xb9, + 0xac, 0xaf, 0x33, 0xed, 0xf7, 0x54, 0x6f, 0x6a, 0x13, 0xff, 0x03, 0x6d, 0x62, 0xdb, 0xf6, 0x59, + 0x57, 0x89, 0x43, 0x14, 0x05, 0x35, 0xcd, 0xf8, 0x5b, 0xfc, 0x14, 0x1a, 0x96, 0xe7, 0x8d, 0xcf, + 0xa2, 0xc9, 0x93, 0x87, 0x7e, 0x6d, 0xda, 0xbb, 0x84, 0x55, 0x3e, 0xb3, 0x6e, 0x25, 0x1f, 0x71, + 0x3e, 0xa1, 0x9c, 0xcd, 0x27, 0x50, 0x9f, 0x5a, 0x3e, 0xe1, 0x0b, 0x68, 0xda, 0x88, 0x19, 0x4c, + 0x66, 0xe3, 0xd0, 0x39, 0x75, 0x3d, 0x75, 0xdb, 0x71, 0x39, 0x69, 0xd0, 0xc3, 0xbf, 0xbb, 0x0a, + 0x6b, 0x36, 0x6c, 0xed, 0x4b, 0x74, 0x61, 0xcd, 0x77, 0x67, 0x21, 0x65, 0x57, 0x8e, 0xc7, 0xf6, + 0x30, 0x74, 0x7d, 0x5e, 0xde, 0xfa, 0xbd, 0xb6, 0x36, 0x7b, 0x44, 0x60, 0x46, 0x78, 0x73, 0xd5, + 0x4f, 0x7d, 0xa3, 0x7e, 0x57, 0x9c, 0xe9, 0xb1, 0xcb, 0x96, 0x24, 0x15, 0x76, 0x92, 0x9c, 0x32, + 0x9d, 0xc1, 0x04, 0x64, 0x60, 0x29, 0x25, 0x80, 0x76, 0x6d, 0x25, 0x6b, 0x60, 0x8f, 0x18, 0x6e, + 0x2a, 0x3c, 0x85, 0xb3, 0xa1, 0x6f, 0x4d, 0x03, 0x3e, 0xf7, 0x57, 0xb3, 0x7c, 0x8f, 0x22, 0x94, + 0x99, 0x50, 0xd1, 0x3c, 0xcb, 0x81, 0xc8, 0xa4, 0x06, 0x5b, 0x9b, 0xd4, 0x3c, 0xf3, 0x28, 0x94, + 0x19, 0xae, 0xfb, 0xc9, 0x87, 0xf1, 0x4f, 0x25, 0xa8, 0x6b, 0x8b, 0x20, 0x3e, 0x83, 0x9a, 0x33, + 0x1d, 0xa4, 0x62, 0xac, 0xf3, 0xdc, 0x59, 0xd5, 0x99, 0xaa, 0x86, 0xff, 0x1f, 0x17, 0xe2, 0x39, + 0x09, 0x93, 0x5e, 0xeb, 0xf3, 0x1a, 0x37, 0x64, 0x83, 0x84, 0x01, 0x9a, 0x5d, 0x8d, 0x41, 0xf9, + 0xc5, 0x0c, 0x64, 0x03, 0xb5, 0x0f, 0xff, 0x14, 0xea, 0xd2, 0x9a, 0xec, 0x38, 0x13, 0x67, 0x6e, + 0xb2, 0x88, 0xb2, 0x5e, 0x13, 0xeb, 0x79, 0x62, 0x8e, 0xe4, 0x2e, 0xa8, 0x23, 0x2c, 0xb2, 0x45, + 0xe2, 0x13, 0xb8, 0x1c, 0xa8, 0x9b, 0x8e, 0x41, 0x78, 0x8a, 0xe1, 0xde, 0xa9, 0x3b, 0x1e, 0x0d, + 0xbc, 0x61, 0xa8, 0xac, 0xca, 0x46, 0x84, 0x3d, 0x8a, 0x90, 0x07, 0xc3, 0xd0, 0xf8, 0xf7, 0x32, + 0x54, 0x23, 0xed, 0xa4, 0xf4, 0x9f, 0x35, 0x0b, 0x4f, 0x07, 0x1e, 0xfa, 0xfb, 0x1f, 0x5c, 0x7f, + 0xa4, 0x8c, 0x67, 0x83, 0x80, 0x07, 0x0a, 0x26, 0xde, 0x82, 0x3a, 0x9a, 0x9a, 0xa1, 0xef, 0x78, + 0xf1, 0x5d, 0x51, 0xcd, 0xd4, 0x41, 0xe2, 0x2a, 0x54, 0xc7, 0xee, 0xd0, 0x1a, 0xa3, 0x0f, 0x51, + 0x7d, 0xaf, 0xf0, 0x77, 0x37, 0x78, 0x89, 0x1b, 0x06, 0x71, 0x05, 0x56, 0xe8, 0xd6, 0x8c, 0x98, + 0xc8, 0x64, 0xea, 0x32, 0x7d, 0x22, 0x0f, 0xf4, 0x51, 0x8c, 0x38, 0x41, 0x95, 0xf0, 0x58, 0x87, + 0x6b, 0x66, 0x8d, 0x20, 0x8f, 0x08, 0x40, 0x3e, 0x8a, 0xd1, 0x6c, 0x57, 0x64, 0x12, 0xb5, 0x4a, + 0x00, 0xbe, 0x85, 0xb8, 0x03, 0xeb, 0x94, 0x26, 0xc6, 0x10, 0xd9, 0xf3, 0x9d, 0x67, 0xa8, 0xe8, + 0xc4, 0x5e, 0xba, 0xc0, 0x35, 0x89, 0x38, 0x90, 0x70, 0xec, 0xe7, 0x7d, 0x10, 0x52, 0x3f, 0x8f, + 0xc7, 0x96, 0x37, 0x18, 0x59, 0x13, 0x0f, 0x03, 0x6e, 0xd6, 0xd2, 0xaa, 0xd9, 0x62, 0xcc, 0x43, + 0x44, 0x6c, 0x4b, 0x38, 0x25, 0x3d, 0x03, 0x4a, 0x67, 0x0e, 0xdd, 0xc9, 0x64, 0x36, 0x75, 0xc2, + 0x33, 0xf6, 0x8f, 0x4d, 0xb3, 0x49, 0xd0, 0xad, 0x08, 0x48, 0xc2, 0xab, 0xd4, 0xf5, 0xd0, 0xf2, + 0xd0, 0x4d, 0x52, 0xb4, 0x50, 0x93, 0x90, 0x2d, 0x8b, 0x85, 0x97, 0x53, 0x47, 0xd8, 0x06, 0x63, + 0xe5, 0x5c, 0x12, 0x72, 0x15, 0x16, 0xd1, 0xed, 0x36, 0x79, 0xc0, 0xf8, 0x0b, 0xc3, 0xb8, 0xa6, + 0x4a, 0x18, 0x8f, 0x49, 0x79, 0x02, 0x74, 0x8b, 0x19, 0x07, 0xa1, 0xa9, 0x96, 0xd9, 0xf0, 0x92, + 0x8f, 0x00, 0x8f, 0xf0, 0x0d, 0xdd, 0xc6, 0x50, 0x86, 0xca, 0xe6, 0xcc, 0x9a, 0x5c, 0xf4, 0xaa, + 0x19, 0x7d, 0xb2, 0xea, 0x29, 0xaa, 0x41, 0x18, 0x8e, 0x63, 0xd5, 0x53, 0xb0, 0xa3, 0x70, 0x6c, + 0xfc, 0x79, 0x09, 0x56, 0xd3, 0x26, 0x87, 0xb4, 0x31, 0x63, 0xa5, 0x06, 0x43, 0xb4, 0xae, 0x2a, + 0xdc, 0xac, 0x9a, 0x1b, 0x69, 0x93, 0xb4, 0xc5, 0x38, 0x34, 0x8c, 0x9d, 0x7c, 0xab, 0x59, 0x80, + 0x41, 0x40, 0x74, 0xf9, 0xd2, 0xc4, 0x03, 0x50, 0xa6, 0x25, 0xe3, 0xfb, 0x23, 0xe3, 0x5f, 0x97, + 0xa0, 0x16, 0x1b, 0xb0, 0xff, 0x01, 0x5d, 0xbe, 0x0b, 0xd5, 0x09, 0x2a, 0x2a, 0x46, 0x75, 0x81, + 0x32, 0xe0, 0x9a, 0xc5, 0xdf, 0x55, 0x18, 0x33, 0xa6, 0x29, 0xd4, 0xfd, 0xa5, 0x17, 0xea, 0xfe, + 0xf2, 0x39, 0xba, 0xbf, 0x72, 0xae, 0xee, 0x57, 0x33, 0xba, 0x8f, 0xc6, 0x1c, 0x9d, 0x2e, 0xba, + 0x5d, 0x65, 0x69, 0x35, 0x63, 0xfe, 0x35, 0xc3, 0x4d, 0x85, 0x2f, 0xde, 0x25, 0xf0, 0x32, 0xbb, + 0xa4, 0x7e, 0xe1, 0x5d, 0xd2, 0x28, 0xda, 0x25, 0x7c, 0x0f, 0x81, 0x26, 0xd3, 0x9d, 0xca, 0xa3, + 0x2c, 0x2b, 0x7d, 0x93, 0xee, 0x21, 0x18, 0x28, 0x57, 0xf8, 0x53, 0x34, 0x78, 0x33, 0x8f, 0x6c, + 0xa9, 0x3d, 0xa2, 0xfd, 0x62, 0x3d, 0x45, 0xff, 0x1d, 0x92, 0x47, 0xa7, 0x7d, 0x50, 0x33, 0x37, + 0x63, 0xec, 0x96, 0x86, 0xa4, 0x39, 0x22, 0xdf, 0x2b, 0xf9, 0xae, 0xc9, 0x18, 0x16, 0x01, 0x92, + 0x27, 0xc6, 0x4d, 0xd6, 0x68, 0xe2, 0x44, 0xdd, 0xb6, 0x64, 0x9c, 0xc9, 0x20, 0x49, 0xd0, 0xa1, + 0xab, 0x43, 0x79, 0x63, 0xc2, 0x17, 0x0b, 0x4d, 0x33, 0xfe, 0x26, 0x9c, 0x35, 0x1c, 0xda, 0x1e, + 0xf6, 0xd8, 0x16, 0x12, 0x17, 0x7d, 0x53, 0x08, 0x6f, 0x8d, 0xd0, 0x77, 0x85, 0x4e, 0x80, 0xd8, + 0x4b, 0xf2, 0x6e, 0x27, 0x81, 0x88, 0x4b, 0xb0, 0x84, 0x73, 0x35, 0xf8, 0x55, 0x7b, 0x43, 0xe6, + 0xcc, 0xf1, 0xe3, 0x6b, 0x8a, 0x9a, 0x8f, 0xc7, 0xae, 0x17, 0xb4, 0x37, 0x19, 0x28, 0x3f, 0x8c, + 0x3f, 0x82, 0x6a, 0xa4, 0x5d, 0xe2, 0x03, 0x4d, 0x1c, 0xe9, 0xf8, 0xd6, 0x73, 0x3a, 0xa8, 0x49, + 0xf8, 0x0e, 0x25, 0x49, 0xa7, 0xa1, 0x72, 0x73, 0x05, 0xa4, 0x8c, 0x36, 0xfe, 0xb1, 0x04, 0x2b, + 0x0a, 0x22, 0x0c, 0x68, 0xec, 0xed, 0x1f, 0xf5, 0x1f, 0xf6, 0xb7, 0xba, 0x47, 0xfd, 0xfd, 0x3d, + 0xee, 0xa5, 0x62, 0x36, 0xa6, 0x1a, 0x8c, 0xbc, 0xd6, 0x37, 0x07, 0xdb, 0xdd, 0xa3, 0x1e, 0x33, + 0xae, 0x98, 0xcb, 0x33, 0xfe, 0xa2, 0x60, 0x77, 0xff, 0xa0, 0xb7, 0xa7, 0xee, 0x74, 0x2b, 0x2e, + 0xfe, 0x16, 0x6f, 0x40, 0xed, 0xab, 0x5e, 0xef, 0xa0, 0xbb, 0xd3, 0x7f, 0xd2, 0xe3, 0x6d, 0x53, + 0x31, 0x6b, 0xdf, 0x47, 0x00, 0x32, 0x43, 0x66, 0xef, 0xa1, 0xd9, 0x3b, 0x7c, 0xcc, 0x5b, 0xa3, + 0x62, 0xae, 0xf8, 0xf2, 0x93, 0xda, 0x6d, 0xf7, 0x0f, 0xb7, 0xba, 0xe6, 0x76, 0x6f, 0x9b, 0x37, + 0x05, 0xb6, 0x1b, 0x45, 0x00, 0x9a, 0xa9, 0xa3, 0xfd, 0xa3, 0xee, 0x0e, 0x6f, 0x89, 0x0a, 0xc6, + 0x9c, 0xf4, 0x81, 0x41, 0xee, 0xb2, 0xd4, 0x6c, 0xc2, 0x3b, 0x53, 0x6f, 0x16, 0x2a, 0xb7, 0x2a, + 0x3f, 0x48, 0x6e, 0x9c, 0x67, 0x02, 0xab, 0xa8, 0x52, 0x7e, 0x19, 0x36, 0x2c, 0xcb, 0xf0, 0x06, + 0xf7, 0xf8, 0x32, 0x45, 0x6c, 0xce, 0x89, 0x9a, 0xdd, 0xcb, 0xd9, 0x00, 0x68, 0x8b, 0xb1, 0xa6, + 0xa2, 0x12, 0x3f, 0x4e, 0xdf, 0x14, 0x6d, 0x66, 0xc9, 0x53, 0x77, 0x45, 0x38, 0xcd, 0x0d, 0x9d, + 0x0b, 0xa9, 0x3d, 0xf2, 0x99, 0xa2, 0x5d, 0x43, 0x03, 0x18, 0xfa, 0x67, 0xd1, 0x64, 0x2b, 0xa0, + 0x49, 0x30, 0xd2, 0x5f, 0xf6, 0xec, 0xf1, 0xb5, 0x65, 0xc5, 0xac, 0x12, 0x80, 0x38, 0xa1, 0x3e, + 0x88, 0xef, 0x6d, 0xdb, 0xc3, 0xd0, 0x17, 0x37, 0x6f, 0xe6, 0x4e, 0x7d, 0x3d, 0xc6, 0xf4, 0xa3, + 0x0b, 0xff, 0x6d, 0xb8, 0x81, 0x9a, 0xed, 0x4c, 0x66, 0x93, 0x41, 0xac, 0x8b, 0x14, 0xa4, 0x24, + 0x4d, 0xe5, 0x0a, 0xbd, 0xa1, 0xa8, 0xba, 0x3a, 0x51, 0xc4, 0xc5, 0xf8, 0xed, 0x22, 0xd4, 0xb5, + 0xe1, 0xfd, 0x1f, 0x1d, 0x06, 0x9f, 0xa2, 0xed, 0x13, 0x37, 0x74, 0x2c, 0x32, 0x28, 0x89, 0x70, + 0x52, 0x11, 0x45, 0x82, 0x7b, 0x1c, 0x89, 0x99, 0x5c, 0x2c, 0x2f, 0x2b, 0xbd, 0xcf, 0x5f, 0x2c, + 0x4b, 0x85, 0x8c, 0xbf, 0x8d, 0xff, 0x28, 0x41, 0x2d, 0x0e, 0x87, 0x69, 0xaa, 0x94, 0x7b, 0x49, + 0x5d, 0x0f, 0x35, 0xa4, 0x8f, 0x51, 0xde, 0x00, 0x8d, 0xbe, 0x24, 0xd2, 0x2e, 0xd5, 0x64, 0x98, + 0x70, 0xa0, 0x78, 0x4c, 0xc2, 0xd9, 0x60, 0xe4, 0x04, 0x43, 0xb4, 0xcc, 0xfe, 0x99, 0x3a, 0xab, + 0x36, 0x10, 0xb8, 0x1d, 0xc1, 0xc8, 0x8b, 0x93, 0x27, 0xa4, 0xf9, 0x9c, 0xb8, 0x23, 0x5b, 0xe5, + 0x1f, 0xea, 0x0a, 0xb6, 0x8b, 0x20, 0xb2, 0xcd, 0x2a, 0x34, 0x49, 0x7b, 0xa7, 0xa6, 0x84, 0x76, + 0x8b, 0x2f, 0xdf, 0x97, 0xa3, 0x8b, 0xee, 0xe8, 0xf2, 0x9d, 0x9c, 0x57, 0x38, 0xc4, 0xc3, 0x4d, + 0x10, 0xa8, 0xf0, 0x6b, 0x19, 0x3f, 0x77, 0x83, 0xc0, 0xf8, 0x12, 0xea, 0x5a, 0x48, 0x8f, 0x7b, + 0xeb, 0x92, 0x1e, 0xff, 0xa7, 0xe3, 0x83, 0x75, 0x2d, 0xde, 0x97, 0xc1, 0x81, 0x31, 0x83, 0x65, + 0x19, 0xcf, 0x90, 0xee, 0x38, 0xde, 0x20, 0x75, 0xc0, 0xaf, 0x3a, 0x9e, 0x42, 0xbe, 0x0b, 0x6b, + 0x13, 0x2b, 0xf8, 0x7e, 0x30, 0xb6, 0xa7, 0x27, 0xe8, 0xff, 0x71, 0xc9, 0xd5, 0x94, 0x35, 0x09, + 0xbc, 0xc3, 0xd0, 0x5d, 0x67, 0x9a, 0xa3, 0xb3, 0x9e, 0x2b, 0x07, 0xaf, 0xd3, 0x59, 0xcf, 0x8d, + 0xbf, 0x2c, 0x01, 0x24, 0x57, 0x23, 0x2f, 0x71, 0x57, 0x55, 0x78, 0xd6, 0x47, 0xd8, 0xd8, 0x09, + 0x42, 0x2e, 0x19, 0x41, 0x18, 0xfd, 0xe6, 0x94, 0x7c, 0x14, 0xd8, 0x57, 0x72, 0x29, 0x79, 0xc6, + 0x98, 0x31, 0x85, 0xf1, 0x08, 0xcd, 0xbf, 0x15, 0x0e, 0x4f, 0x49, 0x98, 0xf7, 0x52, 0xc2, 0x68, + 0x07, 0x2e, 0xa6, 0x38, 0x5f, 0x14, 0xe3, 0x09, 0x34, 0xba, 0x01, 0xa5, 0x3d, 0xe4, 0x58, 0x71, + 0x3d, 0x74, 0x66, 0xda, 0x11, 0x46, 0xa7, 0xd2, 0x78, 0xa2, 0xf6, 0xcb, 0xb9, 0x8b, 0xac, 0xa7, + 0xfc, 0x32, 0x7e, 0x5d, 0x06, 0x40, 0x83, 0x36, 0x72, 0x64, 0x2a, 0xe2, 0x23, 0x50, 0x35, 0x0c, + 0x83, 0xe4, 0x3e, 0x4a, 0x64, 0x24, 0xa5, 0x3b, 0xa7, 0x9a, 0xa4, 0xa2, 0x61, 0x7d, 0x0a, 0x8d, + 0x38, 0x52, 0xa2, 0x46, 0x8b, 0x73, 0x1b, 0xc5, 0x59, 0x21, 0x6a, 0xf6, 0x33, 0x58, 0xb5, 0x82, + 0x01, 0xa5, 0x70, 0xd4, 0xa2, 0xaa, 0xd3, 0xd8, 0xe5, 0xe2, 0xa1, 0x60, 0x2c, 0xa8, 0x0f, 0xff, + 0x1e, 0xba, 0x7e, 0xd5, 0x9a, 0xfa, 0xac, 0xcc, 0x17, 0x54, 0x36, 0xa3, 0x1e, 0x3f, 0x23, 0x4b, + 0xa7, 0x82, 0x16, 0x6e, 0xb5, 0x34, 0xb7, 0x55, 0x23, 0x26, 0xa4, 0x86, 0x3f, 0x87, 0x75, 0xfb, + 0x79, 0x38, 0x48, 0x37, 0x5e, 0x9e, 0xdb, 0x78, 0x0d, 0x89, 0xb7, 0xf4, 0xf6, 0xb4, 0x09, 0xbd, + 0xef, 0x1d, 0xaa, 0xb0, 0xc0, 0x38, 0x9c, 0xf7, 0xd9, 0x12, 0x6e, 0x42, 0x79, 0x81, 0x8c, 0x10, + 0xe3, 0x18, 0xd6, 0xe2, 0x06, 0x5d, 0x59, 0x77, 0xf7, 0x51, 0x6a, 0x7d, 0xaf, 0x27, 0xdd, 0x64, + 0x08, 0xb5, 0x25, 0xc6, 0xf8, 0x38, 0x12, 0xd1, 0xb1, 0x65, 0xd2, 0x0c, 0xe3, 0x63, 0x0d, 0x64, + 0xec, 0x41, 0x6d, 0xd7, 0x1e, 0xa9, 0x1e, 0x7e, 0x9c, 0xea, 0xe1, 0x8a, 0x1e, 0x5e, 0x8c, 0x72, + 0xbc, 0xd1, 0x25, 0xa3, 0xd5, 0x9d, 0x45, 0xa5, 0x37, 0xf2, 0xc3, 0x18, 0xc0, 0x1a, 0xae, 0x91, + 0x6f, 0x7b, 0x18, 0x0f, 0x2a, 0xae, 0x94, 0x44, 0x0d, 0xa6, 0xca, 0x73, 0xd3, 0x4f, 0xd2, 0x3c, + 0xa2, 0xb0, 0x62, 0xbf, 0x2d, 0xbf, 0x30, 0x56, 0x69, 0xce, 0x02, 0x1b, 0x17, 0xff, 0x38, 0x44, + 0x2b, 0x17, 0x84, 0xca, 0x12, 0xd6, 0x11, 0xb8, 0x83, 0xb0, 0x5d, 0x04, 0x19, 0xb7, 0xa1, 0xb9, + 0x87, 0xb3, 0x89, 0x27, 0x17, 0xc5, 0x7e, 0xfe, 0xdd, 0xfc, 0x3f, 0x2f, 0xc2, 0x8a, 0x24, 0x0a, + 0x92, 0x64, 0x85, 0x25, 0x4b, 0x24, 0x73, 0xdb, 0x9f, 0x2d, 0x9b, 0xa4, 0x56, 0xc9, 0x0a, 0xc5, + 0xff, 0x33, 0xa8, 0x25, 0xd1, 0xae, 0xd4, 0xe4, 0xab, 0x73, 0xe7, 0xde, 0x4c, 0x68, 0xd1, 0x1e, + 0x97, 0x27, 0x18, 0xd6, 0x95, 0xb3, 0xc9, 0x94, 0x78, 0x32, 0x4d, 0xc2, 0xa3, 0x64, 0x40, 0x7a, + 0x2b, 0xa7, 0x4c, 0xa9, 0xed, 0xd5, 0x94, 0xc6, 0xeb, 0xb3, 0xc9, 0xda, 0x2b, 0x01, 0xa8, 0x84, + 0xcd, 0x94, 0x12, 0x2a, 0xed, 0x3d, 0x47, 0xba, 0x86, 0xae, 0x87, 0xa8, 0x50, 0x2b, 0x53, 0x39, + 0x95, 0x4a, 0x75, 0xb5, 0x15, 0x4f, 0xcd, 0xb1, 0x19, 0xd1, 0xd1, 0x05, 0x5e, 0x2d, 0xbe, 0x82, + 0x8a, 0xad, 0x52, 0x49, 0x33, 0x90, 0x9f, 0x00, 0x0c, 0x63, 0xe3, 0xa1, 0xe6, 0x6b, 0x43, 0x97, + 0x28, 0xc2, 0x99, 0x1a, 0x1d, 0x6a, 0xde, 0x8a, 0x5c, 0x98, 0x40, 0xcd, 0x97, 0x16, 0xdb, 0xaa, + 0x25, 0x34, 0x23, 0x0a, 0xe3, 0x6b, 0x74, 0x24, 0x32, 0x7d, 0x53, 0x24, 0x40, 0xfa, 0x12, 0x7b, + 0xf1, 0x62, 0x97, 0xd8, 0xff, 0x52, 0x82, 0x56, 0x36, 0xd3, 0x43, 0x25, 0x09, 0xda, 0x76, 0xd8, + 0xc8, 0xe6, 0x84, 0xb4, 0xbd, 0xa0, 0x17, 0x24, 0x2e, 0x5e, 0xa0, 0x20, 0xb1, 0xa0, 0xa4, 0x3c, + 0x75, 0xb1, 0x5b, 0x79, 0xd1, 0xc5, 0xae, 0xf8, 0x10, 0x56, 0x46, 0xf6, 0xb1, 0x45, 0xc6, 0x63, + 0xe9, 0x3c, 0x55, 0x8e, 0xa8, 0x8c, 0xb7, 0x00, 0x76, 0xfd, 0x30, 0x3a, 0x15, 0xa0, 0x00, 0x5c, + 0xb4, 0xa5, 0x2e, 0x41, 0xe8, 0xb7, 0xf1, 0x17, 0x25, 0x28, 0x9b, 0xae, 0x45, 0x69, 0x0a, 0x2b, + 0x50, 0xdb, 0x15, 0x7f, 0x51, 0xe4, 0x2e, 0x4d, 0x3b, 0x1a, 0xe5, 0x28, 0x7a, 0x89, 0x01, 0xb4, + 0x97, 0xd1, 0xf5, 0x12, 0x4a, 0x25, 0xbf, 0xe5, 0x97, 0x96, 0xd9, 0xad, 0xa4, 0x32, 0xf8, 0x51, + 0x8e, 0x75, 0xe9, 0xfc, 0x9a, 0x2d, 0xe3, 0x3d, 0x99, 0xe0, 0x76, 0xad, 0x17, 0xd5, 0x61, 0xc9, + 0xba, 0x1a, 0x26, 0x4c, 0xea, 0x6a, 0x7c, 0xd7, 0x2a, 0xa8, 0xab, 0x21, 0x22, 0x46, 0x19, 0x43, + 0x28, 0x3f, 0xf1, 0x8f, 0x0b, 0xf5, 0x07, 0x87, 0xef, 0xcb, 0x5c, 0x45, 0xc3, 0xc4, 0x5f, 0x1c, + 0xac, 0xc8, 0x14, 0xa1, 0x2f, 0xdd, 0x7e, 0x03, 0x83, 0x15, 0x06, 0x98, 0x5c, 0x32, 0xab, 0x12, + 0x90, 0x7e, 0xc8, 0xab, 0x86, 0x48, 0x09, 0x30, 0x43, 0xe3, 0xdf, 0x4a, 0xb0, 0x2c, 0xef, 0xb1, + 0x72, 0x73, 0x8a, 0xed, 0xd8, 0xc6, 0xf8, 0x49, 0x51, 0x6a, 0x55, 0x02, 0xfa, 0x23, 0x72, 0x0e, + 0x14, 0x57, 0xd8, 0x53, 0x19, 0xa1, 0x95, 0xa5, 0x73, 0x90, 0x20, 0x8e, 0xd0, 0x6e, 0x43, 0x4b, + 0x11, 0x28, 0x53, 0xa7, 0x54, 0xa6, 0x66, 0xae, 0x49, 0x78, 0x37, 0x02, 0xa7, 0x12, 0xe5, 0x4b, + 0x99, 0x44, 0xf9, 0xdb, 0xb0, 0x3a, 0xf1, 0xc6, 0xc1, 0x60, 0x6c, 0x3d, 0xb5, 0xc7, 0x1c, 0x68, + 0xc9, 0x60, 0xb0, 0x41, 0xd0, 0x1d, 0x02, 0x52, 0x9c, 0x95, 0xa1, 0xc2, 0x30, 0x6b, 0x25, 0x4b, + 0x65, 0x3d, 0xbf, 0xb3, 0x05, 0xd5, 0x48, 0xcf, 0x05, 0xe0, 0xb0, 0x77, 0xf6, 0x1f, 0x74, 0x77, + 0x5a, 0x0b, 0xa2, 0x06, 0x4b, 0x3b, 0xfb, 0x5b, 0xf8, 0xb3, 0x44, 0xe0, 0xee, 0xf6, 0x2f, 0x07, + 0xfd, 0xbd, 0xd6, 0xa2, 0xa8, 0xa3, 0x65, 0xc6, 0xdf, 0x54, 0x3f, 0x5e, 0xa6, 0xd2, 0xd5, 0x27, + 0xe6, 0xc3, 0x56, 0xe5, 0xce, 0x80, 0x2e, 0x81, 0xe2, 0x28, 0x8c, 0x1a, 0x1c, 0xe0, 0x69, 0xb2, + 0xff, 0x2d, 0xf2, 0x69, 0x40, 0x75, 0xaf, 0xd7, 0x7f, 0xf4, 0xf8, 0xc1, 0xbe, 0x89, 0xac, 0xb0, + 0xc5, 0x51, 0xf7, 0x91, 0xe2, 0x73, 0x38, 0x38, 0xe8, 0x1e, 0x3d, 0x46, 0x3e, 0x4d, 0xa8, 0x6d, + 0xed, 0xef, 0xee, 0x7e, 0xb3, 0xd7, 0x3f, 0xfa, 0xae, 0x55, 0x11, 0xeb, 0xd0, 0xec, 0x7d, 0x7b, + 0x34, 0x48, 0x40, 0x4b, 0x77, 0x6e, 0xa3, 0xb7, 0x8b, 0x22, 0x2b, 0x62, 0xd2, 0xdd, 0xfb, 0x4e, + 0x16, 0xb2, 0x77, 0x77, 0x94, 0x84, 0xfd, 0xbd, 0x27, 0x3d, 0xf3, 0xa8, 0xb5, 0x78, 0xe7, 0x0e, + 0xb4, 0xb2, 0x71, 0x13, 0x55, 0xbe, 0xf7, 0xbe, 0xc6, 0x06, 0xf8, 0xf7, 0x51, 0x0f, 0xe9, 0xf1, + 0xef, 0x4e, 0x0f, 0x69, 0x3f, 0x54, 0x81, 0xb1, 0xf2, 0x18, 0x55, 0xa8, 0xec, 0xed, 0xef, 0x51, + 0x2d, 0x2e, 0x0d, 0x79, 0x6b, 0xab, 0x77, 0x70, 0x24, 0x99, 0x9b, 0xbd, 0x5f, 0xf6, 0xb6, 0x88, + 0xf9, 0x37, 0x70, 0xa9, 0xc0, 0x69, 0x93, 0xc4, 0xb1, 0xb4, 0x83, 0xee, 0xf6, 0x36, 0x72, 0xd8, + 0x80, 0x56, 0x02, 0x32, 0x7b, 0xbb, 0xfb, 0x4f, 0xa8, 0xe3, 0x4d, 0x58, 0xd7, 0xa1, 0x07, 0x3b, + 0xdd, 0x2d, 0x92, 0xe3, 0x03, 0x68, 0xa6, 0x3c, 0x35, 0x4d, 0xcf, 0x6e, 0x6f, 0x7b, 0xb0, 0xbb, + 0x4f, 0xac, 0xd6, 0xa0, 0x4e, 0x1f, 0x11, 0x79, 0xe9, 0xce, 0xfb, 0x00, 0x89, 0x25, 0x8b, 0xcb, + 0xfa, 0x69, 0x12, 0x76, 0x0f, 0xf6, 0x4d, 0x25, 0x73, 0xef, 0x5b, 0xfe, 0xbd, 0x78, 0xef, 0xef, + 0xdf, 0x84, 0xea, 0x23, 0xda, 0x49, 0x5d, 0xcf, 0x11, 0x3b, 0x50, 0xd7, 0xee, 0x63, 0xc5, 0x1b, + 0x29, 0xfb, 0x9a, 0xb9, 0xe6, 0xed, 0x5c, 0x9f, 0x83, 0x55, 0x97, 0x3a, 0x0b, 0xa2, 0x0f, 0x90, + 0xdc, 0xd8, 0x8a, 0x6b, 0x3a, 0x79, 0xe6, 0x72, 0xb7, 0xf3, 0x46, 0x31, 0x32, 0x66, 0xf5, 0x10, + 0x6a, 0xf1, 0x3d, 0xb5, 0xd0, 0x62, 0xe0, 0xec, 0x85, 0x76, 0xe7, 0x5a, 0x21, 0x2e, 0xe6, 0x83, + 0x03, 0xd4, 0xde, 0x8f, 0xe8, 0x03, 0xcc, 0x3f, 0x48, 0xd1, 0x07, 0x58, 0xf4, 0xe8, 0x64, 0x41, + 0x7c, 0x03, 0xab, 0xe9, 0x97, 0x23, 0xe2, 0x4d, 0xfd, 0xe0, 0x51, 0xf0, 0x20, 0xa5, 0xf3, 0xd6, + 0x7c, 0x02, 0x5d, 0x48, 0xed, 0xad, 0x94, 0x2e, 0x64, 0xfe, 0x61, 0x95, 0x2e, 0x64, 0xc1, 0x03, + 0x2b, 0xe4, 0x66, 0x42, 0x33, 0xf5, 0x70, 0x43, 0xdc, 0x48, 0xf9, 0xb0, 0x3c, 0xc7, 0x37, 0xe7, + 0xe2, 0x63, 0x9e, 0x7f, 0x08, 0xeb, 0xb9, 0x07, 0x21, 0xc2, 0x78, 0xf1, 0xc3, 0x94, 0xce, 0x8f, + 0xce, 0xa5, 0x89, 0xf9, 0xff, 0x1e, 0xb4, 0xb2, 0xcf, 0x43, 0xc4, 0x4d, 0xad, 0x69, 0xf1, 0x7b, + 0x93, 0x8e, 0x71, 0x1e, 0x89, 0xbe, 0x6a, 0xe9, 0xc7, 0x22, 0xfa, 0xaa, 0x15, 0xbe, 0x3c, 0xd1, + 0x57, 0x6d, 0xce, 0x3b, 0x93, 0x05, 0xf1, 0x2d, 0xac, 0x65, 0x5e, 0x8d, 0x08, 0x7d, 0xb1, 0x0b, + 0x1f, 0xa1, 0x74, 0x6e, 0x9e, 0x43, 0x11, 0x73, 0xfe, 0x12, 0x0d, 0x2f, 0x5f, 0xee, 0x8a, 0x2b, + 0xa9, 0xc5, 0x4e, 0x2e, 0x6c, 0x3b, 0xed, 0x3c, 0x42, 0x57, 0x27, 0xed, 0xd2, 0x55, 0x57, 0xa7, + 0xfc, 0xcd, 0xaf, 0xae, 0x4e, 0x45, 0x37, 0xb5, 0x0b, 0xe2, 0x17, 0x68, 0x9a, 0xe5, 0x2b, 0x35, + 0xd1, 0x4e, 0xed, 0x0f, 0xed, 0x35, 0x5a, 0xe7, 0x6a, 0x01, 0x46, 0x37, 0x0b, 0xc9, 0x9b, 0x30, + 0xdd, 0x2c, 0xe4, 0x5e, 0xb5, 0xe9, 0x66, 0xa1, 0xe0, 0x19, 0xd9, 0x02, 0x05, 0xd9, 0xea, 0xc5, + 0x04, 0x8d, 0x2c, 0x7b, 0xc7, 0xdd, 0x29, 0xbe, 0x93, 0x37, 0x16, 0x7e, 0x52, 0x12, 0xdb, 0x20, + 0x54, 0xcb, 0x07, 0x88, 0xd9, 0x3a, 0xb5, 0xa6, 0x27, 0x94, 0xee, 0xd5, 0xe4, 0x8e, 0x9e, 0xf8, + 0x9c, 0xc7, 0xe5, 0x8b, 0xf8, 0xc5, 0x46, 0x72, 0xc3, 0x51, 0xc8, 0x23, 0xf3, 0xf2, 0x8c, 0x1b, + 0xa3, 0x4d, 0x8b, 0x9f, 0xd0, 0xe8, 0x36, 0x2d, 0xfb, 0x80, 0x47, 0xb7, 0x69, 0xf9, 0x37, 0x37, + 0x72, 0x3e, 0xe3, 0x07, 0x36, 0xa9, 0xf9, 0xcc, 0xbe, 0xc5, 0x49, 0xcd, 0x67, 0xfe, 0x4d, 0xce, + 0x82, 0xf8, 0x9c, 0x35, 0x8d, 0xd8, 0x68, 0x87, 0x73, 0xfd, 0xbd, 0x53, 0x67, 0x23, 0x05, 0x57, + 0x71, 0x27, 0x0f, 0xe7, 0x31, 0xd4, 0xe2, 0x07, 0x35, 0xfa, 0x70, 0xb2, 0xcf, 0x7c, 0xf4, 0xe1, + 0xe4, 0x5f, 0xe0, 0x2c, 0xdc, 0x2a, 0x91, 0xbe, 0xcb, 0x67, 0x2d, 0xba, 0xbe, 0xa7, 0x5e, 0xd0, + 0x74, 0xda, 0x79, 0x84, 0xee, 0x2b, 0xe2, 0x17, 0x2c, 0xba, 0x20, 0xd9, 0x87, 0x31, 0x9d, 0x6b, + 0x85, 0x38, 0x5d, 0xd3, 0xd5, 0x4b, 0x00, 0x91, 0xd9, 0x5e, 0x49, 0x09, 0xb9, 0xae, 0xe9, 0x99, + 0x67, 0x03, 0xf1, 0x5e, 0xc9, 0x72, 0x48, 0xbf, 0x10, 0xc8, 0xec, 0x95, 0x0c, 0x87, 0x78, 0xaf, + 0x30, 0x93, 0x9c, 0xc0, 0x3a, 0x9f, 0x37, 0x8a, 0x91, 0x3a, 0xab, 0xa4, 0x48, 0x5f, 0xe4, 0x74, + 0x6a, 0x0e, 0xab, 0x82, 0xba, 0x7e, 0xb6, 0x28, 0x5a, 0xa5, 0xbe, 0xc8, 0x6b, 0x95, 0xce, 0xec, + 0xfa, 0x1c, 0xac, 0xbe, 0x5e, 0x71, 0x9d, 0xbd, 0xbe, 0x5e, 0xd9, 0x72, 0x7d, 0x7d, 0xbd, 0xf2, + 0x85, 0xf9, 0xec, 0xe8, 0x52, 0x35, 0xfb, 0xba, 0xa3, 0x2b, 0x2a, 0xff, 0xd7, 0x1d, 0x5d, 0x71, + 0xb1, 0x7f, 0x6c, 0x7a, 0xf1, 0xf8, 0x94, 0x31, 0xbd, 0xf1, 0x01, 0x26, 0x6b, 0x7a, 0x93, 0x03, + 0x8b, 0x6c, 0x2e, 0xab, 0xf6, 0x33, 0x9a, 0x9c, 0x94, 0xec, 0x67, 0x34, 0x59, 0x2f, 0xcb, 0xd7, + 0x34, 0x99, 0x38, 0xe4, 0x34, 0x59, 0x63, 0x72, 0xad, 0x10, 0x97, 0x19, 0x45, 0x46, 0x8c, 0xd4, + 0x33, 0x86, 0xcc, 0x28, 0xd2, 0xcd, 0x4d, 0x3e, 0xb3, 0x69, 0xc9, 0xd6, 0x1b, 0x29, 0xe2, 0x5c, + 0x91, 0xbb, 0x3e, 0xb1, 0x85, 0xaf, 0x02, 0x24, 0xcf, 0x54, 0xb5, 0xbe, 0xce, 0xb3, 0xe8, 0x19, + 0x80, 0xce, 0xb3, 0xb8, 0xcc, 0x9f, 0xa3, 0x86, 0x6c, 0x4d, 0xbe, 0x1e, 0x35, 0xcc, 0x79, 0x04, + 0xa0, 0x47, 0x0d, 0x73, 0x4b, 0xfa, 0x39, 0xe4, 0xc9, 0x15, 0xe4, 0xeb, 0x21, 0xcf, 0xbc, 0x8a, + 0x7f, 0x3d, 0xe4, 0x99, 0x5f, 0xd1, 0xbf, 0x20, 0xf6, 0xa1, 0xa1, 0x17, 0xef, 0x8b, 0x74, 0x5c, + 0x97, 0xad, 0x53, 0xef, 0xdc, 0x98, 0x87, 0xd6, 0x19, 0xea, 0x65, 0xf7, 0x22, 0x1d, 0xcd, 0x9e, + 0xc7, 0xb0, 0xb0, 0x5a, 0x5f, 0x06, 0x38, 0xe9, 0x82, 0x7a, 0x91, 0x8b, 0x66, 0x73, 0x6c, 0x6f, + 0x9e, 0x43, 0xa1, 0x2f, 0x5c, 0xb6, 0x82, 0x5e, 0x5f, 0xb8, 0x39, 0xb5, 0xfa, 0x1d, 0xe3, 0x3c, + 0x92, 0xcc, 0xd1, 0x41, 0x65, 0x96, 0xd2, 0x47, 0x87, 0x54, 0x3d, 0x78, 0xe6, 0xe8, 0x90, 0x29, + 0xbe, 0x66, 0x3e, 0x71, 0xbd, 0xb1, 0xce, 0x27, 0x5b, 0x88, 0xaf, 0xf3, 0xc9, 0x97, 0xca, 0xf3, + 0xba, 0xe8, 0x95, 0xc2, 0xfa, 0xba, 0x14, 0xd4, 0xd0, 0xeb, 0xeb, 0x52, 0x58, 0xde, 0xae, 0x02, + 0x7c, 0xad, 0xf4, 0x37, 0x1d, 0xe0, 0xe7, 0x0b, 0xdf, 0xd3, 0x01, 0x7e, 0x51, 0xa5, 0xf9, 0x82, + 0x18, 0xf1, 0x0b, 0x93, 0x5c, 0xea, 0xec, 0xed, 0x82, 0x29, 0xca, 0xd5, 0x31, 0x77, 0xde, 0x79, + 0x01, 0x95, 0xde, 0x4b, 0x41, 0x09, 0xb7, 0xde, 0xcb, 0xfc, 0xda, 0x71, 0xbd, 0x97, 0xf3, 0xea, + 0xc0, 0x17, 0xc4, 0x24, 0x7a, 0x67, 0x92, 0xeb, 0xe8, 0xbd, 0xe2, 0xb9, 0xcd, 0xf7, 0x75, 0xeb, + 0xc5, 0x84, 0x71, 0x77, 0x5e, 0xfc, 0xb8, 0x24, 0x9f, 0x79, 0x9c, 0x33, 0xf1, 0xf9, 0x0e, 0x6f, + 0x5f, 0x80, 0x32, 0xea, 0xf1, 0xe9, 0x32, 0xff, 0x0b, 0x8e, 0x8f, 0xff, 0x33, 0x00, 0x00, 0xff, + 0xff, 0x76, 0x45, 0x45, 0x00, 0x95, 0x43, 0x00, 0x00, } diff --git a/api/gobgp.proto b/api/gobgp.proto index cbae4af0..bcf6f94e 100644 --- a/api/gobgp.proto +++ b/api/gobgp.proto @@ -20,220 +20,521 @@ package gobgpapi; // Interface exported by the server. service GobgpApi { - rpc GetGlobalConfig(Arguments) returns (Global) {} - rpc ModGlobalConfig(ModGlobalConfigArguments) returns (Error) {} - rpc GetNeighbors(Arguments) returns (stream Peer) {} - rpc GetNeighbor(Arguments) returns (Peer) {} - rpc ModNeighbor(ModNeighborArguments) returns(Error) {} - rpc GetRib(Table) returns (Table) {} - rpc Reset(Arguments) returns (Error) {} - rpc SoftReset(Arguments) returns (Error) {} - rpc SoftResetIn(Arguments) returns (Error) {} - rpc SoftResetOut(Arguments) returns (Error) {} - rpc Shutdown(Arguments) returns (Error) {} - rpc Enable(Arguments) returns (Error) {} - rpc Disable(Arguments) returns (Error) {} - rpc ModPath(ModPathArguments) returns (ModPathResponse) {} - rpc ModPaths(stream ModPathsArguments) returns (Error) {} + rpc StartServer(StartServerRequest) returns (StartServerResponse) {} + rpc StopServer(StopServerRequest) returns (StopServerResponse) {} + rpc GetServer(GetServerRequest) returns (GetServerResponse) {} + rpc AddNeighbor(AddNeighborRequest) returns (AddNeighborResponse) {} + rpc DeleteNeighbor(DeleteNeighborRequest) returns (DeleteNeighborResponse) {} + rpc GetNeighbor(GetNeighborRequest) returns (GetNeighborResponse) {} + rpc ResetNeighbor(ResetNeighborRequest) returns (ResetNeighborResponse) {} + rpc SoftResetNeighbor(SoftResetNeighborRequest) returns (SoftResetNeighborResponse) {} + rpc ShutdownNeighbor(ShutdownNeighborRequest) returns (ShutdownNeighborResponse) {} + rpc EnableNeighbor(EnableNeighborRequest) returns (EnableNeighborResponse) {} + rpc DisableNeighbor(DisableNeighborRequest) returns (DisableNeighborResponse) {} + rpc GetRib(GetRibRequest) returns (GetRibResponse) {} + rpc ValidateRib(ValidateRibRequest) returns (ValidateRibResponse) {} + rpc AddPath(AddPathRequest) returns (AddPathResponse) {} + rpc DeletePath(DeletePathRequest) returns (DeletePathResponse) {} rpc MonitorRib(Table) returns (stream Destination) {} rpc MonitorBestChanged(Arguments) returns (stream Destination) {} rpc MonitorPeerState(Arguments) returns (stream Peer) {} + rpc EnableMrt(EnableMrtRequest) returns (EnableMrtResponse) {} + rpc DisableMrt(DisableMrtRequest) returns (DisableMrtResponse) {} rpc GetMrt(MrtArguments) returns (stream MrtMessage) {} - rpc ModMrt(ModMrtArguments) returns (Error) {} - rpc ModBmp(ModBmpArguments) returns (Error) {} - rpc GetRPKI(Arguments) returns (stream RPKI) {} - rpc ModRPKI(ModRpkiArguments) returns (Error) {} - rpc GetROA(Arguments) returns (stream ROA) {} - rpc GetVrfs(Arguments) returns (stream Vrf) {} - rpc ModVrf(ModVrfArguments) returns (Error) {} - rpc GetDefinedSet(DefinedSet) returns (DefinedSet) {} - rpc GetDefinedSets(DefinedSet) returns (stream DefinedSet) {} - rpc ModDefinedSet(ModDefinedSetArguments) returns (Error) {} - rpc GetStatement(Statement) returns (Statement) {} - rpc GetStatements(Statement) returns (stream Statement) {} - rpc ModStatement(ModStatementArguments) returns (Error) {} - rpc GetPolicy(Policy) returns (Policy) {} - rpc GetPolicies(Policy) returns (stream Policy) {} - rpc ModPolicy(ModPolicyArguments) returns (Error) {} - rpc GetPolicyAssignment(PolicyAssignment) returns (PolicyAssignment) {} - rpc ModPolicyAssignment(ModPolicyAssignmentArguments) returns (Error) {} -} - -message Error { - enum ErrorCode { - SUCCESS = 0; - FAIL = 1; - } - ErrorCode code = 1; - string msg = 2; + rpc InjectMrt(stream InjectMrtRequest) returns (InjectMrtResponse) {} + rpc AddBmp(AddBmpRequest) returns (AddBmpResponse) {} + rpc DeleteBmp(DeleteBmpRequest) returns (DeleteBmpResponse) {} + rpc GetRpki(GetRpkiRequest) returns (GetRpkiResponse) {} + rpc AddRpki(AddRpkiRequest) returns (AddRpkiResponse) {} + rpc DeleteRpki(DeleteRpkiRequest) returns (DeleteRpkiResponse) {} + rpc EnableRpki(EnableRpkiRequest) returns (EnableRpkiResponse) {} + rpc DisableRpki(DisableRpkiRequest) returns (DisableRpkiResponse) {} + rpc ResetRpki(ResetRpkiRequest) returns (ResetRpkiResponse) {} + rpc SoftResetRpki(SoftResetRpkiRequest) returns (SoftResetRpkiResponse) {} + rpc GetRoa(GetRoaRequest) returns (GetRoaResponse) {} + rpc AddVrf(AddVrfRequest) returns (AddVrfResponse) {} + rpc DeleteVrf(DeleteVrfRequest) returns (DeleteVrfResponse) {} + rpc GetVrf(GetVrfRequest) returns (GetVrfResponse) {} + rpc GetDefinedSet(GetDefinedSetRequest) returns (GetDefinedSetResponse) {} + rpc AddDefinedSet(AddDefinedSetRequest) returns (AddDefinedSetResponse) {} + rpc DeleteDefinedSet(DeleteDefinedSetRequest) returns (DeleteDefinedSetResponse) {} + rpc ReplaceDefinedSet(ReplaceDefinedSetRequest) returns (ReplaceDefinedSetResponse) {} + rpc GetStatement(GetStatementRequest) returns (GetStatementResponse) {} + rpc AddStatement(AddStatementRequest) returns (AddStatementResponse) {} + rpc DeleteStatement(DeleteStatementRequest) returns (DeleteStatementResponse) {} + rpc ReplaceStatement(ReplaceStatementRequest) returns (ReplaceStatementResponse) {} + rpc GetPolicy(GetPolicyRequest) returns (GetPolicyResponse) {} + rpc AddPolicy(AddPolicyRequest) returns (AddPolicyResponse) {} + rpc DeletePolicy(DeletePolicyRequest) returns (DeletePolicyResponse) {} + rpc ReplacePolicy(ReplacePolicyRequest) returns (ReplacePolicyResponse) {} + rpc GetPolicyAssignment(GetPolicyAssignmentRequest) returns (GetPolicyAssignmentResponse) {} + rpc AddPolicyAssignment(AddPolicyAssignmentRequest) returns (AddPolicyAssignmentResponse) {} + rpc DeletePolicyAssignment(DeletePolicyAssignmentRequest) returns (DeletePolicyAssignmentResponse) {} + rpc ReplacePolicyAssignment(ReplacePolicyAssignmentRequest) returns (ReplacePolicyAssignmentResponse) {} +} + +message GetNeighborRequest { +} + +message GetNeighborResponse { + repeated Peer peers = 1; } message Arguments { - Resource resource = 1; - uint32 family = 2; - string name = 3; + Resource resource = 1; + uint32 family = 2; + string name = 3; } -message ModPathArguments { - Operation operation = 1; - Resource resource = 2; - string name = 3; - Path path = 4; - // uuid field can be only used when operation is DEL - bytes uuid = 5; - // family field is only used when operation is DEL_ALL - uint32 family = 6; +message AddPathRequest { + Resource resource = 1; + string vrf_id = 2; + Path path = 3; } -message ModPathResponse { - bytes uuid = 1; +message AddPathResponse { + bytes uuid = 1; } -message ModPathsArguments { - Resource resource = 1; - string name = 2; - repeated Path paths = 3; +message DeletePathRequest { + Resource resource = 1; + string vrf_id = 2; + uint32 family = 3; + Path path = 4; + bytes uuid = 5; } -message ModNeighborArguments { - Operation operation = 1; - Peer peer = 2; +message DeletePathResponse { +} + +message AddNeighborRequest { + Peer peer = 1; +} + +message AddNeighborResponse { +} + +message DeleteNeighborRequest { + Peer peer = 1; +} + +message DeleteNeighborResponse { +} + +message ResetNeighborRequest { + string address = 1; +} + +message ResetNeighborResponse { +} + +message SoftResetNeighborRequest { + string address = 1; + enum SoftResetDirection { + IN = 0; + OUT = 1; + BOTH = 2; + } + SoftResetDirection direction = 2; +} + +message SoftResetNeighborResponse { +} + +message ShutdownNeighborRequest { + string address = 1; +} + +message ShutdownNeighborResponse { +} + +message EnableNeighborRequest { + string address = 1; +} + +message EnableNeighborResponse { +} + +message DisableNeighborRequest { + string address = 1; +} + +message DisableNeighborResponse { } message MrtArguments { - Resource resource = 1; - uint32 family = 2; - uint64 interval = 3; - string neighbor_address = 4; + Resource resource = 1; + uint32 family = 2; + uint64 interval = 3; + string neighbor_address = 4; } -message ModMrtArguments { - Operation operation = 1; - int32 dump_type = 2; - string filename = 3; - uint64 interval = 4; +message EnableMrtRequest { + int32 dump_type = 1; + string filename = 2; + uint64 interval = 3; } -message ModBmpArguments { - Operation operation = 1; - string address = 2; - uint32 port = 3; - enum MonitoringPolicy { - PRE = 0; - POST = 1; - BOTH = 2; - } - MonitoringPolicy type = 4; +message EnableMrtResponse { } -message ModRpkiArguments { - Operation operation = 1; - uint32 asn = 2; - string address = 3; - uint32 port = 4; - int64 lifetime = 5; - string prefix = 6; +message DisableMrtRequest { } -message ModVrfArguments { - Operation operation = 1; - Vrf vrf = 2; +message DisableMrtResponse { } -message ModDefinedSetArguments { - Operation operation = 1; - DefinedSet set = 2; +message InjectMrtRequest { + Resource resource = 1; + string vrf_id = 2; + repeated Path paths = 3; } -message ModStatementArguments { - Operation operation = 1; - Statement statement = 2; +message InjectMrtResponse { } -message ModPolicyArguments { - Operation operation = 1; - Policy policy = 2; - // if this flag is set, gobgpd won't define new statements - // but refer existing statements using statement's names in this arguments. - // this flag only works with Operation_ADD - bool refer_existing_statements = 3; - // if this flag is set, gobgpd won't delete any statements - // even if some statements get not used by any policy by this operation. - // this flag means nothing if it is used with Operation_ADD - bool preserve_statements = 4; +message AddBmpRequest { + string address = 1; + uint32 port = 2; + enum MonitoringPolicy { + PRE = 0; + POST = 1; + BOTH = 2; + } + MonitoringPolicy type = 3; } -message ModPolicyAssignmentArguments { - Operation operation = 1; - PolicyAssignment assignment = 2; +message AddBmpResponse { } -message ModGlobalConfigArguments { - Operation operation = 1; - Global global = 2; +message DeleteBmpRequest { + string address = 1; + uint32 port = 2; } -enum Resource { - GLOBAL = 0; - LOCAL = 1; - ADJ_IN = 2; - ADJ_OUT = 3; - VRF = 4; +message DeleteBmpResponse { +} + +message RPKIConf { + string address = 1; + string remote_port = 2; +} + +message RPKIState { + int64 uptime = 1; + int64 downtime = 2; + bool up = 3; + uint32 record_ipv4 = 4; + uint32 record_ipv6 = 5; + uint32 prefix_ipv4 = 6; + uint32 prefix_ipv6 = 7; + uint32 serial = 8; + int64 received_ipv4 = 9; + int64 received_ipv6 = 10; + int64 serial_notify = 11; + int64 cache_reset = 12; + int64 cache_response = 13; + int64 end_of_data = 14; + int64 error = 15; + int64 serial_query = 16; + int64 reset_query = 17; +} + +message Rpki { + RPKIConf conf = 1; + RPKIState state = 2; +} + +message GetRpkiRequest { + uint32 family = 1; +} + +message GetRpkiResponse { + repeated Rpki servers = 1; +} + +message AddRpkiRequest { + string address = 1; + uint32 port = 2; + int64 lifetime = 3; +} + +message AddRpkiResponse { +} + +message DeleteRpkiRequest { + string address = 1; + uint32 port = 2; +} + +message DeleteRpkiResponse { +} + +message EnableRpkiRequest { + string address = 1; +} + +message EnableRpkiResponse { +} + +message DisableRpkiRequest { + string address = 1; +} + +message DisableRpkiResponse { +} + +message ResetRpkiRequest { + string address = 1; +} + +message ResetRpkiResponse { +} + +message SoftResetRpkiRequest { + string address = 1; +} + +message SoftResetRpkiResponse { +} + +message GetVrfRequest { +} + +message GetVrfResponse { + repeated Vrf vrfs = 1; +} + +message AddVrfRequest { + Vrf vrf = 1; +} + +message AddVrfResponse { } -enum Operation { - ADD = 0; - DEL = 1; - DEL_ALL = 2; - REPLACE = 3; - ENABLE = 4; - DISABLE = 5; - RESET = 6; - SOFTRESET = 7; - INITIALIZE = 8; +message DeleteVrfRequest { + Vrf vrf = 1; +} + +message DeleteVrfResponse { +} + +message GetDefinedSetRequest { + DefinedType type = 1; +} + +message GetDefinedSetResponse { + repeated DefinedSet sets = 1; +} + +message AddDefinedSetRequest { + DefinedSet set = 1; +} + +message AddDefinedSetResponse { +} + +message DeleteDefinedSetRequest { + DefinedSet set = 1; + bool all = 2; +} + +message DeleteDefinedSetResponse { +} + +message ReplaceDefinedSetRequest { + DefinedSet set = 1; +} + +message ReplaceDefinedSetResponse { +} + +message GetStatementRequest { +} + +message GetStatementResponse { + repeated Statement statements = 1; +} + +message AddStatementRequest { + Statement statement = 1; +} + +message AddStatementResponse { +} + +message DeleteStatementRequest { + Statement statement = 1; + bool all = 2; +} + +message DeleteStatementResponse { +} + +message ReplaceStatementRequest { + Statement statement = 1; +} + +message ReplaceStatementResponse { +} + +message GetPolicyRequest { +} + +message GetPolicyResponse { + repeated Policy policies = 1; +} + +message AddPolicyRequest { + Policy policy = 1; + // if this flag is set, gobgpd won't define new statements + // but refer existing statements using statement's names in this arguments. + bool refer_existing_statements = 2; +} + +message AddPolicyResponse { +} + +message DeletePolicyRequest { + Policy policy = 1; + // if this flag is set, gobgpd won't delete any statements + // even if some statements get not used by any policy by this operation. + bool preserve_statements = 2; + bool all = 3; +} + +message DeletePolicyResponse { +} + +message ReplacePolicyRequest { + Policy policy = 1; + // if this flag is set, gobgpd won't define new statements + // but refer existing statements using statement's names in this arguments. + bool refer_existing_statements = 2; + // if this flag is set, gobgpd won't delete any statements + // even if some statements get not used by any policy by this operation. + bool preserve_statements = 3; +} + +message ReplacePolicyResponse { +} + +message GetPolicyAssignmentRequest { + PolicyAssignment assignment = 1; +} + +message GetPolicyAssignmentResponse { + PolicyAssignment assignment = 1; +} + +message AddPolicyAssignmentRequest { + PolicyAssignment assignment = 1; +} + +message AddPolicyAssignmentResponse { +} + +message DeletePolicyAssignmentRequest { + PolicyAssignment assignment = 1; + bool all = 2; +} + +message DeletePolicyAssignmentResponse { +} + +message ReplacePolicyAssignmentRequest { + PolicyAssignment assignment = 1; +} + +message ReplacePolicyAssignmentResponse { +} + +message GetServerRequest { +} + +message GetServerResponse { + Global global = 1; +} + +message StartServerRequest { + Global global = 1; +} + +message StartServerResponse { +} + +message StopServerRequest { +} + +message StopServerResponse { +} + +enum Resource { + GLOBAL = 0; + LOCAL = 1; + ADJ_IN = 2; + ADJ_OUT = 3; + VRF = 4; } message Path { - bytes nlri = 1; - repeated bytes pattrs = 2; - int64 age = 3; - bool best = 4; - bool is_withdraw = 5; - int32 validation = 6; - bool no_implicit_withdraw = 7; - uint32 family = 8; - uint32 source_asn = 9; - string source_id = 10; - bool filtered = 11; - bool stale = 12; - bool is_from_external = 13; - string neighbor_ip = 14; + bytes nlri = 1; + repeated bytes pattrs = 2; + int64 age = 3; + bool best = 4; + bool is_withdraw = 5; + int32 validation = 6; + bool no_implicit_withdraw = 7; + uint32 family = 8; + uint32 source_asn = 9; + string source_id = 10; + bool filtered = 11; + bool stale = 12; + bool is_from_external = 13; + string neighbor_ip = 14; } message Destination { - string prefix = 1; - repeated Path paths = 2; - bool longer_prefixes = 3; + string prefix = 1; + repeated Path paths = 2; + bool longer_prefixes = 3; } message Table { - Resource type = 1; - string name = 2; - uint32 family = 3; - repeated Destination destinations = 4; - bool post_policy = 5; + Resource type = 1; + string name = 2; + uint32 family = 3; + repeated Destination destinations = 4; + bool post_policy = 5; +} + +message GetRibRequest { + Table table = 1; +} + +message GetRibResponse { + Table table = 1; +} + +message ValidateRibRequest { + Resource type = 1; + uint32 family = 2; + string prefix = 3; +} + +message ValidateRibResponse { } message Peer { - repeated uint32 families = 2; - ApplyPolicy apply_policy = 3; - PeerConf conf = 5; - EbgpMultihop ebgp_multihop = 6; - RouteReflector route_reflector = 10; - PeerState info = 11; - Timers timers = 12; - Transport transport = 13; - RouteServer route_server = 15; + repeated uint32 families = 1; + ApplyPolicy apply_policy = 2; + PeerConf conf = 3; + EbgpMultihop ebgp_multihop = 4; + RouteReflector route_reflector = 5; + PeerState info = 6; + Timers timers = 7; + Transport transport = 8; + RouteServer route_server = 9; } message ApplyPolicy { @@ -243,9 +544,9 @@ message ApplyPolicy { } message PrefixLimit { - uint32 family = 1; - uint32 max_prefixes = 2; - uint32 shutdown_threshold_pct = 3; + uint32 family = 1; + uint32 max_prefixes = 2; + uint32 shutdown_threshold_pct = 3; } message PeerConf { @@ -273,7 +574,7 @@ message EbgpMultihop { message RouteReflector { bool route_reflector_client = 1; uint32 route_reflector_cluster_id = 2; - } +} message PeerState { string auth_password = 1; @@ -320,25 +621,25 @@ message Queues { } message Timers { - TimersConfig config =1; - TimersState state = 2; + TimersConfig config =1; + TimersState state = 2; } message TimersConfig{ - uint64 connect_retry = 1; - uint64 hold_time = 2; - uint64 keepalive_interval = 3; - uint64 minimum_advertisement_interval = 4; + uint64 connect_retry = 1; + uint64 hold_time = 2; + uint64 keepalive_interval = 3; + uint64 minimum_advertisement_interval = 4; } message TimersState{ - uint64 connect_retry = 1; - uint64 hold_time = 2; - uint64 keepalive_interval = 3; - uint64 minimum_advertisement_interval = 4; - uint64 negotiated_hold_time = 5; - uint64 uptime = 6; - uint64 downtime = 7; + uint64 connect_retry = 1; + uint64 hold_time = 2; + uint64 keepalive_interval = 3; + uint64 minimum_advertisement_interval = 4; + uint64 negotiated_hold_time = 5; + uint64 uptime = 6; + uint64 downtime = 7; } message Transport { @@ -349,192 +650,170 @@ message Transport { string remote_address = 5; uint32 remote_port = 6; uint32 tcp_mss = 7; - } +} message RouteServer { bool route_server_client = 1; } message Prefix { - string ip_prefix = 1; - uint32 mask_length_min = 2; - uint32 mask_length_max = 3; + string ip_prefix = 1; + uint32 mask_length_min = 2; + uint32 mask_length_max = 3; } enum DefinedType { - PREFIX = 0; - NEIGHBOR = 1; - TAG = 2; - AS_PATH = 3; - COMMUNITY = 4; - EXT_COMMUNITY = 5; + PREFIX = 0; + NEIGHBOR = 1; + TAG = 2; + AS_PATH = 3; + COMMUNITY = 4; + EXT_COMMUNITY = 5; } message DefinedSet { - DefinedType type = 1; - string name = 2; - repeated string list = 3; - repeated Prefix prefixes = 4; + DefinedType type = 1; + string name = 2; + repeated string list = 3; + repeated Prefix prefixes = 4; } enum MatchType { - ANY = 0; - ALL = 1; - INVERT = 2; + ANY = 0; + ALL = 1; + INVERT = 2; } message MatchSet { - MatchType type = 1; - string name = 2; + MatchType type = 1; + string name = 2; } enum AsPathLengthType { - EQ = 0; - GE = 1; - LE = 2; + EQ = 0; + GE = 1; + LE = 2; } message AsPathLength { - AsPathLengthType type = 1; - uint32 length = 2; + AsPathLengthType type = 1; + uint32 length = 2; } message Conditions { - MatchSet prefix_set = 1; - MatchSet neighbor_set = 2; - AsPathLength as_path_length = 3; - MatchSet as_path_set = 4; - MatchSet community_set = 5; - MatchSet ext_community_set = 6; - int32 rpki_result = 7; + MatchSet prefix_set = 1; + MatchSet neighbor_set = 2; + AsPathLength as_path_length = 3; + MatchSet as_path_set = 4; + MatchSet community_set = 5; + MatchSet ext_community_set = 6; + int32 rpki_result = 7; } enum RouteAction { - NONE = 0; - ACCEPT = 1; - REJECT = 2; + NONE = 0; + ACCEPT = 1; + REJECT = 2; } enum CommunityActionType { - COMMUNITY_ADD = 0; - COMMUNITY_REMOVE = 1; - COMMUNITY_REPLACE = 2; + COMMUNITY_ADD = 0; + COMMUNITY_REMOVE = 1; + COMMUNITY_REPLACE = 2; } message CommunityAction { - CommunityActionType type = 1; - repeated string communities = 2; + CommunityActionType type = 1; + repeated string communities = 2; } enum MedActionType { - MED_MOD = 0; - MED_REPLACE = 1; + MED_MOD = 0; + MED_REPLACE = 1; } message MedAction { - MedActionType type = 1; - int64 value = 2; + MedActionType type = 1; + int64 value = 2; } message AsPrependAction { - uint32 asn = 1; - uint32 repeat = 2; - bool use_left_most = 3; + uint32 asn = 1; + uint32 repeat = 2; + bool use_left_most = 3; } message NexthopAction { - string address = 1; + string address = 1; } message Actions { - RouteAction route_action = 1; - CommunityAction community = 2; - MedAction med = 3; - AsPrependAction as_prepend = 4; - CommunityAction ext_community = 5; - NexthopAction nexthop = 6; + RouteAction route_action = 1; + CommunityAction community = 2; + MedAction med = 3; + AsPrependAction as_prepend = 4; + CommunityAction ext_community = 5; + NexthopAction nexthop = 6; } message Statement { - string name = 1; - Conditions conditions = 2; - Actions actions = 3; + string name = 1; + Conditions conditions = 2; + Actions actions = 3; } message Policy { - string name = 1; - repeated Statement statements = 2; + string name = 1; + repeated Statement statements = 2; } enum PolicyType { - IN = 0; - IMPORT = 1; - EXPORT = 2; + IN = 0; + IMPORT = 1; + EXPORT = 2; } message PolicyAssignment { - PolicyType type = 1; - Resource resource = 2; - string name = 3; - repeated Policy policies = 4; - RouteAction default = 5; + PolicyType type = 1; + Resource resource = 2; + string name = 3; + repeated Policy policies = 4; + RouteAction default = 5; } message MrtMessage { - bytes data = 1; + bytes data = 1; } -message RPKIConf { - string address = 1; - string remote_port = 2; +message Roa { + uint32 as = 1; + uint32 prefixlen = 2; + uint32 maxlen = 3; + string prefix = 4; + RPKIConf conf = 5; } -message RPKIState { - int64 uptime = 1; - int64 downtime = 2; - bool up = 3; - uint32 record_ipv4 = 4; - uint32 record_ipv6 = 5; - uint32 prefix_ipv4 = 6; - uint32 prefix_ipv6 = 7; - uint32 serial = 8; - int64 received_ipv4 = 9; - int64 received_ipv6 = 10; - int64 serial_notify = 11; - int64 cache_reset = 12; - int64 cache_response = 13; - int64 end_of_data = 14; - int64 error = 15; - int64 serial_query = 16; - int64 reset_query = 17; -} - -message RPKI { - RPKIConf conf = 1; - RPKIState state = 2; -} - -message ROA { - uint32 as = 1; - uint32 prefixlen = 2; - uint32 maxlen = 3; - string prefix = 4; - RPKIConf conf = 5; +message GetRoaRequest { + uint32 family = 1; +} + +message GetRoaResponse { + repeated Roa roas = 1; } message Vrf { - string name = 1; - bytes rd = 2; - repeated bytes import_rt = 3; - repeated bytes export_rt = 4; + string name = 1; + bytes rd = 2; + repeated bytes import_rt = 3; + repeated bytes export_rt = 4; } message Global { - uint32 as = 1; - string router_id = 2; - int32 listen_port = 3; - repeated string listen_addresses = 4; - repeated uint32 families = 5; - uint32 mpls_label_min = 6; - uint32 mpls_label_max = 7; + uint32 as = 1; + string router_id = 2; + int32 listen_port = 3; + repeated string listen_addresses = 4; + repeated uint32 families = 5; + uint32 mpls_label_min = 6; + uint32 mpls_label_max = 7; } |