summaryrefslogtreecommitdiffhomepage
path: root/api
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2016-05-10 14:10:43 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2016-05-10 14:10:43 +0900
commitf9a9c410c3b221b515bad9fcf154990be7bb70fa (patch)
tree3c30aa3cf8c5394bd18c87721c7e47ea2b34e19f /api
parentd7e1add28af9aec2ad61d2779651b17f5e6ab7ac (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.go3786
-rw-r--r--api/gobgp.proto861
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;
}