// Code generated by protoc-gen-go. DO NOT EDIT. // source: gobgp.proto package gobgpapi import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" import google_protobuf "github.com/golang/protobuf/ptypes/any" import google_protobuf1 "github.com/golang/protobuf/ptypes/empty" import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp" import ( context "golang.org/x/net/context" grpc "google.golang.org/grpc" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf type TableType int32 const ( TableType_GLOBAL TableType = 0 TableType_LOCAL TableType = 1 TableType_ADJ_IN TableType = 2 TableType_ADJ_OUT TableType = 3 TableType_VRF TableType = 4 ) var TableType_name = map[int32]string{ 0: "GLOBAL", 1: "LOCAL", 2: "ADJ_IN", 3: "ADJ_OUT", 4: "VRF", } var TableType_value = map[string]int32{ "GLOBAL": 0, "LOCAL": 1, "ADJ_IN": 2, "ADJ_OUT": 3, "VRF": 4, } func (x TableType) String() string { return proto.EnumName(TableType_name, int32(x)) } func (TableType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0} } // API representation of table.LookupOption type TableLookupOption int32 const ( TableLookupOption_LOOKUP_EXACT TableLookupOption = 0 TableLookupOption_LOOKUP_LONGER TableLookupOption = 1 TableLookupOption_LOOKUP_SHORTER TableLookupOption = 2 ) var TableLookupOption_name = map[int32]string{ 0: "LOOKUP_EXACT", 1: "LOOKUP_LONGER", 2: "LOOKUP_SHORTER", } var TableLookupOption_value = map[string]int32{ "LOOKUP_EXACT": 0, "LOOKUP_LONGER": 1, "LOOKUP_SHORTER": 2, } func (x TableLookupOption) String() string { return proto.EnumName(TableLookupOption_name, int32(x)) } func (TableLookupOption) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{1} } type DefinedType int32 const ( DefinedType_PREFIX DefinedType = 0 DefinedType_NEIGHBOR DefinedType = 1 DefinedType_TAG DefinedType = 2 DefinedType_AS_PATH DefinedType = 3 DefinedType_COMMUNITY DefinedType = 4 DefinedType_EXT_COMMUNITY DefinedType = 5 DefinedType_LARGE_COMMUNITY DefinedType = 6 DefinedType_NEXT_HOP DefinedType = 7 ) var DefinedType_name = map[int32]string{ 0: "PREFIX", 1: "NEIGHBOR", 2: "TAG", 3: "AS_PATH", 4: "COMMUNITY", 5: "EXT_COMMUNITY", 6: "LARGE_COMMUNITY", 7: "NEXT_HOP", } var DefinedType_value = map[string]int32{ "PREFIX": 0, "NEIGHBOR": 1, "TAG": 2, "AS_PATH": 3, "COMMUNITY": 4, "EXT_COMMUNITY": 5, "LARGE_COMMUNITY": 6, "NEXT_HOP": 7, } func (x DefinedType) String() string { return proto.EnumName(DefinedType_name, int32(x)) } func (DefinedType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{2} } type MatchType int32 const ( MatchType_ANY MatchType = 0 MatchType_ALL MatchType = 1 MatchType_INVERT MatchType = 2 ) var MatchType_name = map[int32]string{ 0: "ANY", 1: "ALL", 2: "INVERT", } var MatchType_value = map[string]int32{ "ANY": 0, "ALL": 1, "INVERT": 2, } func (x MatchType) String() string { return proto.EnumName(MatchType_name, int32(x)) } func (MatchType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{3} } type AsPathLengthType int32 const ( AsPathLengthType_EQ AsPathLengthType = 0 AsPathLengthType_GE AsPathLengthType = 1 AsPathLengthType_LE AsPathLengthType = 2 ) var AsPathLengthType_name = map[int32]string{ 0: "EQ", 1: "GE", 2: "LE", } var AsPathLengthType_value = map[string]int32{ "EQ": 0, "GE": 1, "LE": 2, } func (x AsPathLengthType) String() string { return proto.EnumName(AsPathLengthType_name, int32(x)) } func (AsPathLengthType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{4} } type RouteAction int32 const ( RouteAction_NONE RouteAction = 0 RouteAction_ACCEPT RouteAction = 1 RouteAction_REJECT RouteAction = 2 ) var RouteAction_name = map[int32]string{ 0: "NONE", 1: "ACCEPT", 2: "REJECT", } var RouteAction_value = map[string]int32{ "NONE": 0, "ACCEPT": 1, "REJECT": 2, } func (x RouteAction) String() string { return proto.EnumName(RouteAction_name, int32(x)) } func (RouteAction) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{5} } type CommunityActionType int32 const ( CommunityActionType_COMMUNITY_ADD CommunityActionType = 0 CommunityActionType_COMMUNITY_REMOVE CommunityActionType = 1 CommunityActionType_COMMUNITY_REPLACE CommunityActionType = 2 ) var CommunityActionType_name = map[int32]string{ 0: "COMMUNITY_ADD", 1: "COMMUNITY_REMOVE", 2: "COMMUNITY_REPLACE", } var CommunityActionType_value = map[string]int32{ "COMMUNITY_ADD": 0, "COMMUNITY_REMOVE": 1, "COMMUNITY_REPLACE": 2, } func (x CommunityActionType) String() string { return proto.EnumName(CommunityActionType_name, int32(x)) } func (CommunityActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{6} } type MedActionType int32 const ( MedActionType_MED_MOD MedActionType = 0 MedActionType_MED_REPLACE MedActionType = 1 ) var MedActionType_name = map[int32]string{ 0: "MED_MOD", 1: "MED_REPLACE", } var MedActionType_value = map[string]int32{ "MED_MOD": 0, "MED_REPLACE": 1, } func (x MedActionType) String() string { return proto.EnumName(MedActionType_name, int32(x)) } func (MedActionType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{7} } type PolicyDirection int32 const ( PolicyDirection_UNKNOWN PolicyDirection = 0 PolicyDirection_IMPORT PolicyDirection = 1 PolicyDirection_EXPORT PolicyDirection = 2 ) var PolicyDirection_name = map[int32]string{ 0: "UNKNOWN", 1: "IMPORT", 2: "EXPORT", } var PolicyDirection_value = map[string]int32{ "UNKNOWN": 0, "IMPORT": 1, "EXPORT": 2, } func (x PolicyDirection) String() string { return proto.EnumName(PolicyDirection_name, int32(x)) } func (PolicyDirection) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{8} } type ResetPeerRequest_SoftResetDirection int32 const ( ResetPeerRequest_IN ResetPeerRequest_SoftResetDirection = 0 ResetPeerRequest_OUT ResetPeerRequest_SoftResetDirection = 1 ResetPeerRequest_BOTH ResetPeerRequest_SoftResetDirection = 2 ) var ResetPeerRequest_SoftResetDirection_name = map[int32]string{ 0: "IN", 1: "OUT", 2: "BOTH", } var ResetPeerRequest_SoftResetDirection_value = map[string]int32{ "IN": 0, "OUT": 1, "BOTH": 2, } func (x ResetPeerRequest_SoftResetDirection) String() string { return proto.EnumName(ResetPeerRequest_SoftResetDirection_name, int32(x)) } func (ResetPeerRequest_SoftResetDirection) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{10, 0} } type ListPathRequest_SortType int32 const ( ListPathRequest_NONE ListPathRequest_SortType = 0 ListPathRequest_PREFIX ListPathRequest_SortType = 1 ) var ListPathRequest_SortType_name = map[int32]string{ 0: "NONE", 1: "PREFIX", } var ListPathRequest_SortType_value = map[string]int32{ "NONE": 0, "PREFIX": 1, } func (x ListPathRequest_SortType) String() string { return proto.EnumName(ListPathRequest_SortType_name, int32(x)) } func (ListPathRequest_SortType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{24, 0} } type AddBmpRequest_MonitoringPolicy int32 const ( AddBmpRequest_PRE AddBmpRequest_MonitoringPolicy = 0 AddBmpRequest_POST AddBmpRequest_MonitoringPolicy = 1 AddBmpRequest_BOTH AddBmpRequest_MonitoringPolicy = 2 AddBmpRequest_LOCAL AddBmpRequest_MonitoringPolicy = 3 AddBmpRequest_ALL AddBmpRequest_MonitoringPolicy = 4 ) var AddBmpRequest_MonitoringPolicy_name = map[int32]string{ 0: "PRE", 1: "POST", 2: "BOTH", 3: "LOCAL", 4: "ALL", } var AddBmpRequest_MonitoringPolicy_value = map[string]int32{ "PRE": 0, "POST": 1, "BOTH": 2, "LOCAL": 3, "ALL": 4, } func (x AddBmpRequest_MonitoringPolicy) String() string { return proto.EnumName(AddBmpRequest_MonitoringPolicy_name, int32(x)) } func (AddBmpRequest_MonitoringPolicy) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{65, 0} } type Family_Afi int32 const ( Family_AFI_UNKNOWN Family_Afi = 0 Family_AFI_IP Family_Afi = 1 Family_AFI_IP6 Family_Afi = 2 Family_AFI_L2VPN Family_Afi = 25 Family_AFI_LS Family_Afi = 16388 Family_AFI_OPAQUE Family_Afi = 16397 ) var Family_Afi_name = map[int32]string{ 0: "AFI_UNKNOWN", 1: "AFI_IP", 2: "AFI_IP6", 25: "AFI_L2VPN", 16388: "AFI_LS", 16397: "AFI_OPAQUE", } var Family_Afi_value = map[string]int32{ "AFI_UNKNOWN": 0, "AFI_IP": 1, "AFI_IP6": 2, "AFI_L2VPN": 25, "AFI_LS": 16388, "AFI_OPAQUE": 16397, } func (x Family_Afi) String() string { return proto.EnumName(Family_Afi_name, int32(x)) } func (Family_Afi) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{67, 0} } type Family_Safi int32 const ( Family_SAFI_UNKNOWN Family_Safi = 0 Family_SAFI_UNICAST Family_Safi = 1 Family_SAFI_MULTICAST Family_Safi = 2 Family_SAFI_MPLS_LABEL Family_Safi = 4 Family_SAFI_ENCAPSULATION Family_Safi = 7 Family_SAFI_VPLS Family_Safi = 65 Family_SAFI_EVPN Family_Safi = 70 Family_SAFI_LS Family_Safi = 71 Family_SAFI_SR_POLICY Family_Safi = 73 Family_SAFI_MPLS_VPN Family_Safi = 128 Family_SAFI_MPLS_VPN_MULTICAST Family_Safi = 129 Family_SAFI_ROUTE_TARGET_CONSTRAINTS Family_Safi = 132 Family_SAFI_FLOW_SPEC_UNICAST Family_Safi = 133 Family_SAFI_FLOW_SPEC_VPN Family_Safi = 134 Family_SAFI_KEY_VALUE Family_Safi = 241 ) var Family_Safi_name = map[int32]string{ 0: "SAFI_UNKNOWN", 1: "SAFI_UNICAST", 2: "SAFI_MULTICAST", 4: "SAFI_MPLS_LABEL", 7: "SAFI_ENCAPSULATION", 65: "SAFI_VPLS", 70: "SAFI_EVPN", 71: "SAFI_LS", 73: "SAFI_SR_POLICY", 128: "SAFI_MPLS_VPN", 129: "SAFI_MPLS_VPN_MULTICAST", 132: "SAFI_ROUTE_TARGET_CONSTRAINTS", 133: "SAFI_FLOW_SPEC_UNICAST", 134: "SAFI_FLOW_SPEC_VPN", 241: "SAFI_KEY_VALUE", } var Family_Safi_value = map[string]int32{ "SAFI_UNKNOWN": 0, "SAFI_UNICAST": 1, "SAFI_MULTICAST": 2, "SAFI_MPLS_LABEL": 4, "SAFI_ENCAPSULATION": 7, "SAFI_VPLS": 65, "SAFI_EVPN": 70, "SAFI_LS": 71, "SAFI_SR_POLICY": 73, "SAFI_MPLS_VPN": 128, "SAFI_MPLS_VPN_MULTICAST": 129, "SAFI_ROUTE_TARGET_CONSTRAINTS": 132, "SAFI_FLOW_SPEC_UNICAST": 133, "SAFI_FLOW_SPEC_VPN": 134, "SAFI_KEY_VALUE": 241, } func (x Family_Safi) String() string { return proto.EnumName(Family_Safi_name, int32(x)) } func (Family_Safi) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{67, 1} } type Validation_State int32 const ( Validation_STATE_NONE Validation_State = 0 Validation_STATE_NOT_FOUND Validation_State = 1 Validation_STATE_VALID Validation_State = 2 Validation_STATE_INVALID Validation_State = 3 ) var Validation_State_name = map[int32]string{ 0: "STATE_NONE", 1: "STATE_NOT_FOUND", 2: "STATE_VALID", 3: "STATE_INVALID", } var Validation_State_value = map[string]int32{ "STATE_NONE": 0, "STATE_NOT_FOUND": 1, "STATE_VALID": 2, "STATE_INVALID": 3, } func (x Validation_State) String() string { return proto.EnumName(Validation_State_name, int32(x)) } func (Validation_State) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{68, 0} } type Validation_Reason int32 const ( Validation_REASOT_NONE Validation_Reason = 0 Validation_REASON_AS Validation_Reason = 1 Validation_REASON_LENGTH Validation_Reason = 2 ) var Validation_Reason_name = map[int32]string{ 0: "REASOT_NONE", 1: "REASON_AS", 2: "REASON_LENGTH", } var Validation_Reason_value = map[string]int32{ "REASOT_NONE": 0, "REASON_AS": 1, "REASON_LENGTH": 2, } func (x Validation_Reason) String() string { return proto.EnumName(Validation_Reason_name, int32(x)) } func (Validation_Reason) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{68, 1} } type PeerConf_RemovePrivateAs int32 const ( PeerConf_NONE PeerConf_RemovePrivateAs = 0 PeerConf_ALL PeerConf_RemovePrivateAs = 1 PeerConf_REPLACE PeerConf_RemovePrivateAs = 2 ) var PeerConf_RemovePrivateAs_name = map[int32]string{ 0: "NONE", 1: "ALL", 2: "REPLACE", } var PeerConf_RemovePrivateAs_value = map[string]int32{ "NONE": 0, "ALL": 1, "REPLACE": 2, } func (x PeerConf_RemovePrivateAs) String() string { return proto.EnumName(PeerConf_RemovePrivateAs_name, int32(x)) } func (PeerConf_RemovePrivateAs) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{77, 0} } type PeerGroupConf_RemovePrivateAs int32 const ( PeerGroupConf_NONE PeerGroupConf_RemovePrivateAs = 0 PeerGroupConf_ALL PeerGroupConf_RemovePrivateAs = 1 PeerGroupConf_REPLACE PeerGroupConf_RemovePrivateAs = 2 ) var PeerGroupConf_RemovePrivateAs_name = map[int32]string{ 0: "NONE", 1: "ALL", 2: "REPLACE", } var PeerGroupConf_RemovePrivateAs_value = map[string]int32{ "NONE": 0, "ALL": 1, "REPLACE": 2, } func (x PeerGroupConf_RemovePrivateAs) String() string { return proto.EnumName(PeerGroupConf_RemovePrivateAs_name, int32(x)) } func (PeerGroupConf_RemovePrivateAs) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{78, 0} } type PeerGroupState_RemovePrivateAs int32 const ( PeerGroupState_NONE PeerGroupState_RemovePrivateAs = 0 PeerGroupState_ALL PeerGroupState_RemovePrivateAs = 1 PeerGroupState_REPLACE PeerGroupState_RemovePrivateAs = 2 ) var PeerGroupState_RemovePrivateAs_name = map[int32]string{ 0: "NONE", 1: "ALL", 2: "REPLACE", } var PeerGroupState_RemovePrivateAs_value = map[string]int32{ "NONE": 0, "ALL": 1, "REPLACE": 2, } func (x PeerGroupState_RemovePrivateAs) String() string { return proto.EnumName(PeerGroupState_RemovePrivateAs_name, int32(x)) } func (PeerGroupState_RemovePrivateAs) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{79, 0} } type PeerState_SessionState int32 const ( PeerState_UNKNOWN PeerState_SessionState = 0 PeerState_IDLE PeerState_SessionState = 1 PeerState_CONNECT PeerState_SessionState = 2 PeerState_ACTIVE PeerState_SessionState = 3 PeerState_OPENSENT PeerState_SessionState = 4 PeerState_OPENCONFIRM PeerState_SessionState = 5 PeerState_ESTABLISHED PeerState_SessionState = 6 ) var PeerState_SessionState_name = map[int32]string{ 0: "UNKNOWN", 1: "IDLE", 2: "CONNECT", 3: "ACTIVE", 4: "OPENSENT", 5: "OPENCONFIRM", 6: "ESTABLISHED", } var PeerState_SessionState_value = map[string]int32{ "UNKNOWN": 0, "IDLE": 1, "CONNECT": 2, "ACTIVE": 3, "OPENSENT": 4, "OPENCONFIRM": 5, "ESTABLISHED": 6, } func (x PeerState_SessionState) String() string { return proto.EnumName(PeerState_SessionState_name, int32(x)) } func (PeerState_SessionState) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{82, 0} } type PeerState_AdminState int32 const ( PeerState_UP PeerState_AdminState = 0 PeerState_DOWN PeerState_AdminState = 1 PeerState_PFX_CT PeerState_AdminState = 2 ) var PeerState_AdminState_name = map[int32]string{ 0: "UP", 1: "DOWN", 2: "PFX_CT", } var PeerState_AdminState_value = map[string]int32{ "UP": 0, "DOWN": 1, "PFX_CT": 2, } func (x PeerState_AdminState) String() string { return proto.EnumName(PeerState_AdminState_name, int32(x)) } func (PeerState_AdminState) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{82, 1} } type Conditions_RouteType int32 const ( Conditions_ROUTE_TYPE_NONE Conditions_RouteType = 0 Conditions_ROUTE_TYPE_INTERNAL Conditions_RouteType = 1 Conditions_ROUTE_TYPE_EXTERNAL Conditions_RouteType = 2 Conditions_ROUTE_TYPE_LOCAL Conditions_RouteType = 3 ) var Conditions_RouteType_name = map[int32]string{ 0: "ROUTE_TYPE_NONE", 1: "ROUTE_TYPE_INTERNAL", 2: "ROUTE_TYPE_EXTERNAL", 3: "ROUTE_TYPE_LOCAL", } var Conditions_RouteType_value = map[string]int32{ "ROUTE_TYPE_NONE": 0, "ROUTE_TYPE_INTERNAL": 1, "ROUTE_TYPE_EXTERNAL": 2, "ROUTE_TYPE_LOCAL": 3, } func (x Conditions_RouteType) String() string { return proto.EnumName(Conditions_RouteType_name, int32(x)) } func (Conditions_RouteType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{123, 0} } type SetLogLevelRequest_Level int32 const ( SetLogLevelRequest_PANIC SetLogLevelRequest_Level = 0 SetLogLevelRequest_FATAL SetLogLevelRequest_Level = 1 SetLogLevelRequest_ERROR SetLogLevelRequest_Level = 2 SetLogLevelRequest_WARN SetLogLevelRequest_Level = 3 SetLogLevelRequest_INFO SetLogLevelRequest_Level = 4 SetLogLevelRequest_DEBUG SetLogLevelRequest_Level = 5 SetLogLevelRequest_TRACE SetLogLevelRequest_Level = 6 ) var SetLogLevelRequest_Level_name = map[int32]string{ 0: "PANIC", 1: "FATAL", 2: "ERROR", 3: "WARN", 4: "INFO", 5: "DEBUG", 6: "TRACE", } var SetLogLevelRequest_Level_value = map[string]int32{ "PANIC": 0, "FATAL": 1, "ERROR": 2, "WARN": 3, "INFO": 4, "DEBUG": 5, "TRACE": 6, } func (x SetLogLevelRequest_Level) String() string { return proto.EnumName(SetLogLevelRequest_Level_name, int32(x)) } func (SetLogLevelRequest_Level) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{142, 0} } type StartBgpRequest struct { Global *Global `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"` } func (m *StartBgpRequest) Reset() { *m = StartBgpRequest{} } func (m *StartBgpRequest) String() string { return proto.CompactTextString(m) } func (*StartBgpRequest) ProtoMessage() {} func (*StartBgpRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} } func (m *StartBgpRequest) GetGlobal() *Global { if m != nil { return m.Global } return nil } type StopBgpRequest struct { } func (m *StopBgpRequest) Reset() { *m = StopBgpRequest{} } func (m *StopBgpRequest) String() string { return proto.CompactTextString(m) } func (*StopBgpRequest) ProtoMessage() {} func (*StopBgpRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} } type GetBgpRequest struct { } func (m *GetBgpRequest) Reset() { *m = GetBgpRequest{} } func (m *GetBgpRequest) String() string { return proto.CompactTextString(m) } func (*GetBgpRequest) ProtoMessage() {} func (*GetBgpRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} } type GetBgpResponse struct { Global *Global `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"` } func (m *GetBgpResponse) Reset() { *m = GetBgpResponse{} } func (m *GetBgpResponse) String() string { return proto.CompactTextString(m) } func (*GetBgpResponse) ProtoMessage() {} func (*GetBgpResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} } func (m *GetBgpResponse) GetGlobal() *Global { if m != nil { return m.Global } return nil } type AddPeerRequest struct { Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"` } func (m *AddPeerRequest) Reset() { *m = AddPeerRequest{} } func (m *AddPeerRequest) String() string { return proto.CompactTextString(m) } func (*AddPeerRequest) ProtoMessage() {} func (*AddPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} } func (m *AddPeerRequest) GetPeer() *Peer { if m != nil { return m.Peer } return nil } type DeletePeerRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Interface string `protobuf:"bytes,2,opt,name=interface" json:"interface,omitempty"` } func (m *DeletePeerRequest) Reset() { *m = DeletePeerRequest{} } func (m *DeletePeerRequest) String() string { return proto.CompactTextString(m) } func (*DeletePeerRequest) ProtoMessage() {} func (*DeletePeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} } func (m *DeletePeerRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *DeletePeerRequest) GetInterface() string { if m != nil { return m.Interface } return "" } type ListPeerRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` EnableAdvertised bool `protobuf:"varint,2,opt,name=enableAdvertised" json:"enableAdvertised,omitempty"` } func (m *ListPeerRequest) Reset() { *m = ListPeerRequest{} } func (m *ListPeerRequest) String() string { return proto.CompactTextString(m) } func (*ListPeerRequest) ProtoMessage() {} func (*ListPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} } func (m *ListPeerRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *ListPeerRequest) GetEnableAdvertised() bool { if m != nil { return m.EnableAdvertised } return false } type ListPeerResponse struct { Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"` } func (m *ListPeerResponse) Reset() { *m = ListPeerResponse{} } func (m *ListPeerResponse) String() string { return proto.CompactTextString(m) } func (*ListPeerResponse) ProtoMessage() {} func (*ListPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} } func (m *ListPeerResponse) GetPeer() *Peer { if m != nil { return m.Peer } return nil } type UpdatePeerRequest struct { Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"` // Calls SoftResetIn after updating the peer configuration if needed. DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn" json:"do_soft_reset_in,omitempty"` } func (m *UpdatePeerRequest) Reset() { *m = UpdatePeerRequest{} } func (m *UpdatePeerRequest) String() string { return proto.CompactTextString(m) } func (*UpdatePeerRequest) ProtoMessage() {} func (*UpdatePeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} } func (m *UpdatePeerRequest) GetPeer() *Peer { if m != nil { return m.Peer } return nil } func (m *UpdatePeerRequest) GetDoSoftResetIn() bool { if m != nil { return m.DoSoftResetIn } return false } type UpdatePeerResponse struct { // Indicates whether calling SoftResetIn is required due to this update. If // "true" is set, the client should call SoftResetIn manually. If // "do_soft_reset_in = true" is set in the request, always returned with // "false". NeedsSoftResetIn bool `protobuf:"varint,1,opt,name=needs_soft_reset_in,json=needsSoftResetIn" json:"needs_soft_reset_in,omitempty"` } func (m *UpdatePeerResponse) Reset() { *m = UpdatePeerResponse{} } func (m *UpdatePeerResponse) String() string { return proto.CompactTextString(m) } func (*UpdatePeerResponse) ProtoMessage() {} func (*UpdatePeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} } func (m *UpdatePeerResponse) GetNeedsSoftResetIn() bool { if m != nil { return m.NeedsSoftResetIn } return false } type ResetPeerRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Communication string `protobuf:"bytes,2,opt,name=communication" json:"communication,omitempty"` Soft bool `protobuf:"varint,3,opt,name=soft" json:"soft,omitempty"` Direction ResetPeerRequest_SoftResetDirection `protobuf:"varint,4,opt,name=direction,enum=gobgpapi.ResetPeerRequest_SoftResetDirection" json:"direction,omitempty"` } func (m *ResetPeerRequest) Reset() { *m = ResetPeerRequest{} } func (m *ResetPeerRequest) String() string { return proto.CompactTextString(m) } func (*ResetPeerRequest) ProtoMessage() {} func (*ResetPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{10} } func (m *ResetPeerRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *ResetPeerRequest) GetCommunication() string { if m != nil { return m.Communication } return "" } func (m *ResetPeerRequest) GetSoft() bool { if m != nil { return m.Soft } return false } func (m *ResetPeerRequest) GetDirection() ResetPeerRequest_SoftResetDirection { if m != nil { return m.Direction } return ResetPeerRequest_IN } type ShutdownPeerRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Communication string `protobuf:"bytes,2,opt,name=communication" json:"communication,omitempty"` } func (m *ShutdownPeerRequest) Reset() { *m = ShutdownPeerRequest{} } func (m *ShutdownPeerRequest) String() string { return proto.CompactTextString(m) } func (*ShutdownPeerRequest) ProtoMessage() {} func (*ShutdownPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{11} } func (m *ShutdownPeerRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *ShutdownPeerRequest) GetCommunication() string { if m != nil { return m.Communication } return "" } type EnablePeerRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` } func (m *EnablePeerRequest) Reset() { *m = EnablePeerRequest{} } func (m *EnablePeerRequest) String() string { return proto.CompactTextString(m) } func (*EnablePeerRequest) ProtoMessage() {} func (*EnablePeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{12} } func (m *EnablePeerRequest) GetAddress() string { if m != nil { return m.Address } return "" } type DisablePeerRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Communication string `protobuf:"bytes,2,opt,name=communication" json:"communication,omitempty"` } func (m *DisablePeerRequest) Reset() { *m = DisablePeerRequest{} } func (m *DisablePeerRequest) String() string { return proto.CompactTextString(m) } func (*DisablePeerRequest) ProtoMessage() {} func (*DisablePeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{13} } func (m *DisablePeerRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *DisablePeerRequest) GetCommunication() string { if m != nil { return m.Communication } return "" } type MonitorPeerRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Current bool `protobuf:"varint,2,opt,name=current" json:"current,omitempty"` } func (m *MonitorPeerRequest) Reset() { *m = MonitorPeerRequest{} } func (m *MonitorPeerRequest) String() string { return proto.CompactTextString(m) } func (*MonitorPeerRequest) ProtoMessage() {} func (*MonitorPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{14} } func (m *MonitorPeerRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *MonitorPeerRequest) GetCurrent() bool { if m != nil { return m.Current } return false } type MonitorPeerResponse struct { Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"` } func (m *MonitorPeerResponse) Reset() { *m = MonitorPeerResponse{} } func (m *MonitorPeerResponse) String() string { return proto.CompactTextString(m) } func (*MonitorPeerResponse) ProtoMessage() {} func (*MonitorPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{15} } func (m *MonitorPeerResponse) GetPeer() *Peer { if m != nil { return m.Peer } return nil } type AddPeerGroupRequest struct { PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup" json:"peer_group,omitempty"` } func (m *AddPeerGroupRequest) Reset() { *m = AddPeerGroupRequest{} } func (m *AddPeerGroupRequest) String() string { return proto.CompactTextString(m) } func (*AddPeerGroupRequest) ProtoMessage() {} func (*AddPeerGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{16} } func (m *AddPeerGroupRequest) GetPeerGroup() *PeerGroup { if m != nil { return m.PeerGroup } return nil } type DeletePeerGroupRequest struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` } func (m *DeletePeerGroupRequest) Reset() { *m = DeletePeerGroupRequest{} } func (m *DeletePeerGroupRequest) String() string { return proto.CompactTextString(m) } func (*DeletePeerGroupRequest) ProtoMessage() {} func (*DeletePeerGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{17} } func (m *DeletePeerGroupRequest) GetName() string { if m != nil { return m.Name } return "" } type UpdatePeerGroupRequest struct { PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup" json:"peer_group,omitempty"` DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn" json:"do_soft_reset_in,omitempty"` } func (m *UpdatePeerGroupRequest) Reset() { *m = UpdatePeerGroupRequest{} } func (m *UpdatePeerGroupRequest) String() string { return proto.CompactTextString(m) } func (*UpdatePeerGroupRequest) ProtoMessage() {} func (*UpdatePeerGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{18} } func (m *UpdatePeerGroupRequest) GetPeerGroup() *PeerGroup { if m != nil { return m.PeerGroup } return nil } func (m *UpdatePeerGroupRequest) GetDoSoftResetIn() bool { if m != nil { return m.DoSoftResetIn } return false } type UpdatePeerGroupResponse struct { NeedsSoftResetIn bool `protobuf:"varint,1,opt,name=needs_soft_reset_in,json=needsSoftResetIn" json:"needs_soft_reset_in,omitempty"` } func (m *UpdatePeerGroupResponse) Reset() { *m = UpdatePeerGroupResponse{} } func (m *UpdatePeerGroupResponse) String() string { return proto.CompactTextString(m) } func (*UpdatePeerGroupResponse) ProtoMessage() {} func (*UpdatePeerGroupResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{19} } func (m *UpdatePeerGroupResponse) GetNeedsSoftResetIn() bool { if m != nil { return m.NeedsSoftResetIn } return false } type AddDynamicNeighborRequest struct { DynamicNeighbor *DynamicNeighbor `protobuf:"bytes,1,opt,name=dynamic_neighbor,json=dynamicNeighbor" json:"dynamic_neighbor,omitempty"` } func (m *AddDynamicNeighborRequest) Reset() { *m = AddDynamicNeighborRequest{} } func (m *AddDynamicNeighborRequest) String() string { return proto.CompactTextString(m) } func (*AddDynamicNeighborRequest) ProtoMessage() {} func (*AddDynamicNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{20} } func (m *AddDynamicNeighborRequest) GetDynamicNeighbor() *DynamicNeighbor { if m != nil { return m.DynamicNeighbor } return nil } type AddPathRequest struct { TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,enum=gobgpapi.TableType" json:"table_type,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 *AddPathRequest) Reset() { *m = AddPathRequest{} } func (m *AddPathRequest) String() string { return proto.CompactTextString(m) } func (*AddPathRequest) ProtoMessage() {} func (*AddPathRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{21} } func (m *AddPathRequest) GetTableType() TableType { if m != nil { return m.TableType } return TableType_GLOBAL } func (m *AddPathRequest) GetVrfId() string { if m != nil { return m.VrfId } return "" } func (m *AddPathRequest) GetPath() *Path { if m != nil { return m.Path } return nil } type AddPathResponse struct { Uuid []byte `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` } func (m *AddPathResponse) Reset() { *m = AddPathResponse{} } func (m *AddPathResponse) String() string { return proto.CompactTextString(m) } func (*AddPathResponse) ProtoMessage() {} func (*AddPathResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{22} } func (m *AddPathResponse) GetUuid() []byte { if m != nil { return m.Uuid } return nil } type DeletePathRequest struct { TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,enum=gobgpapi.TableType" json:"table_type,omitempty"` VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"` Family *Family `protobuf:"bytes,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 *DeletePathRequest) Reset() { *m = DeletePathRequest{} } func (m *DeletePathRequest) String() string { return proto.CompactTextString(m) } func (*DeletePathRequest) ProtoMessage() {} func (*DeletePathRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{23} } func (m *DeletePathRequest) GetTableType() TableType { if m != nil { return m.TableType } return TableType_GLOBAL } func (m *DeletePathRequest) GetVrfId() string { if m != nil { return m.VrfId } return "" } func (m *DeletePathRequest) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *DeletePathRequest) GetPath() *Path { if m != nil { return m.Path } return nil } func (m *DeletePathRequest) GetUuid() []byte { if m != nil { return m.Uuid } return nil } type ListPathRequest struct { TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,enum=gobgpapi.TableType" json:"table_type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` Family *Family `protobuf:"bytes,3,opt,name=family" json:"family,omitempty"` Prefixes []*TableLookupPrefix `protobuf:"bytes,4,rep,name=prefixes" json:"prefixes,omitempty"` SortType ListPathRequest_SortType `protobuf:"varint,5,opt,name=sort_type,json=sortType,enum=gobgpapi.ListPathRequest_SortType" json:"sort_type,omitempty"` EnableFiltered bool `protobuf:"varint,6,opt,name=enable_filtered,json=enableFiltered" json:"enable_filtered,omitempty"` EnableNlriBinary bool `protobuf:"varint,7,opt,name=enable_nlri_binary,json=enableNlriBinary" json:"enable_nlri_binary,omitempty"` EnableAttributeBinary bool `protobuf:"varint,8,opt,name=enable_attribute_binary,json=enableAttributeBinary" json:"enable_attribute_binary,omitempty"` } func (m *ListPathRequest) Reset() { *m = ListPathRequest{} } func (m *ListPathRequest) String() string { return proto.CompactTextString(m) } func (*ListPathRequest) ProtoMessage() {} func (*ListPathRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{24} } func (m *ListPathRequest) GetTableType() TableType { if m != nil { return m.TableType } return TableType_GLOBAL } func (m *ListPathRequest) GetName() string { if m != nil { return m.Name } return "" } func (m *ListPathRequest) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *ListPathRequest) GetPrefixes() []*TableLookupPrefix { if m != nil { return m.Prefixes } return nil } func (m *ListPathRequest) GetSortType() ListPathRequest_SortType { if m != nil { return m.SortType } return ListPathRequest_NONE } func (m *ListPathRequest) GetEnableFiltered() bool { if m != nil { return m.EnableFiltered } return false } func (m *ListPathRequest) GetEnableNlriBinary() bool { if m != nil { return m.EnableNlriBinary } return false } func (m *ListPathRequest) GetEnableAttributeBinary() bool { if m != nil { return m.EnableAttributeBinary } return false } type ListPathResponse struct { Destination *Destination `protobuf:"bytes,1,opt,name=destination" json:"destination,omitempty"` } func (m *ListPathResponse) Reset() { *m = ListPathResponse{} } func (m *ListPathResponse) String() string { return proto.CompactTextString(m) } func (*ListPathResponse) ProtoMessage() {} func (*ListPathResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{25} } func (m *ListPathResponse) GetDestination() *Destination { if m != nil { return m.Destination } return nil } type AddPathStreamRequest struct { TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,enum=gobgpapi.TableType" json:"table_type,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 *AddPathStreamRequest) Reset() { *m = AddPathStreamRequest{} } func (m *AddPathStreamRequest) String() string { return proto.CompactTextString(m) } func (*AddPathStreamRequest) ProtoMessage() {} func (*AddPathStreamRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{26} } func (m *AddPathStreamRequest) GetTableType() TableType { if m != nil { return m.TableType } return TableType_GLOBAL } func (m *AddPathStreamRequest) GetVrfId() string { if m != nil { return m.VrfId } return "" } func (m *AddPathStreamRequest) GetPaths() []*Path { if m != nil { return m.Paths } return nil } type GetTableRequest struct { TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,enum=gobgpapi.TableType" json:"table_type,omitempty"` Family *Family `protobuf:"bytes,2,opt,name=family" json:"family,omitempty"` Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` } func (m *GetTableRequest) Reset() { *m = GetTableRequest{} } func (m *GetTableRequest) String() string { return proto.CompactTextString(m) } func (*GetTableRequest) ProtoMessage() {} func (*GetTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{27} } func (m *GetTableRequest) GetTableType() TableType { if m != nil { return m.TableType } return TableType_GLOBAL } func (m *GetTableRequest) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *GetTableRequest) GetName() string { if m != nil { return m.Name } return "" } type GetTableResponse struct { NumDestination uint64 `protobuf:"varint,1,opt,name=num_destination,json=numDestination" json:"num_destination,omitempty"` NumPath uint64 `protobuf:"varint,2,opt,name=num_path,json=numPath" json:"num_path,omitempty"` NumAccepted uint64 `protobuf:"varint,3,opt,name=num_accepted,json=numAccepted" json:"num_accepted,omitempty"` } func (m *GetTableResponse) Reset() { *m = GetTableResponse{} } func (m *GetTableResponse) String() string { return proto.CompactTextString(m) } func (*GetTableResponse) ProtoMessage() {} func (*GetTableResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{28} } func (m *GetTableResponse) GetNumDestination() uint64 { if m != nil { return m.NumDestination } return 0 } func (m *GetTableResponse) GetNumPath() uint64 { if m != nil { return m.NumPath } return 0 } func (m *GetTableResponse) GetNumAccepted() uint64 { if m != nil { return m.NumAccepted } return 0 } type MonitorTableRequest struct { TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,enum=gobgpapi.TableType" json:"table_type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` Family *Family `protobuf:"bytes,3,opt,name=family" json:"family,omitempty"` Current bool `protobuf:"varint,4,opt,name=current" json:"current,omitempty"` PostPolicy bool `protobuf:"varint,5,opt,name=post_policy,json=postPolicy" json:"post_policy,omitempty"` } func (m *MonitorTableRequest) Reset() { *m = MonitorTableRequest{} } func (m *MonitorTableRequest) String() string { return proto.CompactTextString(m) } func (*MonitorTableRequest) ProtoMessage() {} func (*MonitorTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{29} } func (m *MonitorTableRequest) GetTableType() TableType { if m != nil { return m.TableType } return TableType_GLOBAL } func (m *MonitorTableRequest) GetName() string { if m != nil { return m.Name } return "" } func (m *MonitorTableRequest) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *MonitorTableRequest) GetCurrent() bool { if m != nil { return m.Current } return false } func (m *MonitorTableRequest) GetPostPolicy() bool { if m != nil { return m.PostPolicy } return false } type MonitorTableResponse struct { Path *Path `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"` } func (m *MonitorTableResponse) Reset() { *m = MonitorTableResponse{} } func (m *MonitorTableResponse) String() string { return proto.CompactTextString(m) } func (*MonitorTableResponse) ProtoMessage() {} func (*MonitorTableResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{30} } func (m *MonitorTableResponse) GetPath() *Path { if m != nil { return m.Path } return nil } type AddVrfRequest struct { Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf" json:"vrf,omitempty"` } func (m *AddVrfRequest) Reset() { *m = AddVrfRequest{} } func (m *AddVrfRequest) String() string { return proto.CompactTextString(m) } func (*AddVrfRequest) ProtoMessage() {} func (*AddVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{31} } func (m *AddVrfRequest) GetVrf() *Vrf { if m != nil { return m.Vrf } return nil } type DeleteVrfRequest struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` } func (m *DeleteVrfRequest) Reset() { *m = DeleteVrfRequest{} } func (m *DeleteVrfRequest) String() string { return proto.CompactTextString(m) } func (*DeleteVrfRequest) ProtoMessage() {} func (*DeleteVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{32} } func (m *DeleteVrfRequest) GetName() string { if m != nil { return m.Name } return "" } type ListVrfRequest struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` } func (m *ListVrfRequest) Reset() { *m = ListVrfRequest{} } func (m *ListVrfRequest) String() string { return proto.CompactTextString(m) } func (*ListVrfRequest) ProtoMessage() {} func (*ListVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{33} } func (m *ListVrfRequest) GetName() string { if m != nil { return m.Name } return "" } type ListVrfResponse struct { Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf" json:"vrf,omitempty"` } func (m *ListVrfResponse) Reset() { *m = ListVrfResponse{} } func (m *ListVrfResponse) String() string { return proto.CompactTextString(m) } func (*ListVrfResponse) ProtoMessage() {} func (*ListVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{34} } func (m *ListVrfResponse) GetVrf() *Vrf { if m != nil { return m.Vrf } 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 fileDescriptor2, []int{35} } func (m *AddPolicyRequest) GetPolicy() *Policy { if m != nil { return m.Policy } return nil } func (m *AddPolicyRequest) GetReferExistingStatements() bool { if m != nil { return m.ReferExistingStatements } return false } 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 fileDescriptor2, []int{36} } func (m *DeletePolicyRequest) GetPolicy() *Policy { if m != nil { return m.Policy } return nil } func (m *DeletePolicyRequest) GetPreserveStatements() bool { if m != nil { return m.PreserveStatements } return false } func (m *DeletePolicyRequest) GetAll() bool { if m != nil { return m.All } return false } type ListPolicyRequest struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` } func (m *ListPolicyRequest) Reset() { *m = ListPolicyRequest{} } func (m *ListPolicyRequest) String() string { return proto.CompactTextString(m) } func (*ListPolicyRequest) ProtoMessage() {} func (*ListPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{37} } func (m *ListPolicyRequest) GetName() string { if m != nil { return m.Name } return "" } type ListPolicyResponse struct { Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"` } func (m *ListPolicyResponse) Reset() { *m = ListPolicyResponse{} } func (m *ListPolicyResponse) String() string { return proto.CompactTextString(m) } func (*ListPolicyResponse) ProtoMessage() {} func (*ListPolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{38} } func (m *ListPolicyResponse) GetPolicy() *Policy { if m != nil { return m.Policy } return nil } type SetPoliciesRequest struct { DefinedSets []*DefinedSet `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets" json:"defined_sets,omitempty"` Policies []*Policy `protobuf:"bytes,2,rep,name=policies" json:"policies,omitempty"` Assignments []*PolicyAssignment `protobuf:"bytes,3,rep,name=assignments" json:"assignments,omitempty"` } func (m *SetPoliciesRequest) Reset() { *m = SetPoliciesRequest{} } func (m *SetPoliciesRequest) String() string { return proto.CompactTextString(m) } func (*SetPoliciesRequest) ProtoMessage() {} func (*SetPoliciesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{39} } func (m *SetPoliciesRequest) GetDefinedSets() []*DefinedSet { if m != nil { return m.DefinedSets } return nil } func (m *SetPoliciesRequest) GetPolicies() []*Policy { if m != nil { return m.Policies } return nil } func (m *SetPoliciesRequest) GetAssignments() []*PolicyAssignment { if m != nil { return m.Assignments } return nil } type AddDefinedSetRequest struct { DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet" json:"defined_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 fileDescriptor2, []int{40} } func (m *AddDefinedSetRequest) GetDefinedSet() *DefinedSet { if m != nil { return m.DefinedSet } return nil } type DeleteDefinedSetRequest struct { DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet" json:"defined_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 fileDescriptor2, []int{41} } func (m *DeleteDefinedSetRequest) GetDefinedSet() *DefinedSet { if m != nil { return m.DefinedSet } return nil } func (m *DeleteDefinedSetRequest) GetAll() bool { if m != nil { return m.All } return false } type ListDefinedSetRequest struct { DefinedType DefinedType `protobuf:"varint,1,opt,name=defined_type,json=definedType,enum=gobgpapi.DefinedType" json:"defined_type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` } func (m *ListDefinedSetRequest) Reset() { *m = ListDefinedSetRequest{} } func (m *ListDefinedSetRequest) String() string { return proto.CompactTextString(m) } func (*ListDefinedSetRequest) ProtoMessage() {} func (*ListDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{42} } func (m *ListDefinedSetRequest) GetDefinedType() DefinedType { if m != nil { return m.DefinedType } return DefinedType_PREFIX } func (m *ListDefinedSetRequest) GetName() string { if m != nil { return m.Name } return "" } type ListDefinedSetResponse struct { DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet" json:"defined_set,omitempty"` } func (m *ListDefinedSetResponse) Reset() { *m = ListDefinedSetResponse{} } func (m *ListDefinedSetResponse) String() string { return proto.CompactTextString(m) } func (*ListDefinedSetResponse) ProtoMessage() {} func (*ListDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{43} } func (m *ListDefinedSetResponse) GetDefinedSet() *DefinedSet { if m != nil { return m.DefinedSet } 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 fileDescriptor2, []int{44} } func (m *AddStatementRequest) GetStatement() *Statement { if m != nil { return m.Statement } return nil } 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 fileDescriptor2, []int{45} } func (m *DeleteStatementRequest) GetStatement() *Statement { if m != nil { return m.Statement } return nil } func (m *DeleteStatementRequest) GetAll() bool { if m != nil { return m.All } return false } type ListStatementRequest struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` } func (m *ListStatementRequest) Reset() { *m = ListStatementRequest{} } func (m *ListStatementRequest) String() string { return proto.CompactTextString(m) } func (*ListStatementRequest) ProtoMessage() {} func (*ListStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{46} } func (m *ListStatementRequest) GetName() string { if m != nil { return m.Name } return "" } type ListStatementResponse struct { Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"` } func (m *ListStatementResponse) Reset() { *m = ListStatementResponse{} } func (m *ListStatementResponse) String() string { return proto.CompactTextString(m) } func (*ListStatementResponse) ProtoMessage() {} func (*ListStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{47} } func (m *ListStatementResponse) GetStatement() *Statement { if m != nil { return m.Statement } 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 fileDescriptor2, []int{48} } func (m *AddPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { if m != nil { return m.Assignment } return nil } 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 fileDescriptor2, []int{49} } func (m *DeletePolicyAssignmentRequest) GetAssignment() *PolicyAssignment { if m != nil { return m.Assignment } return nil } func (m *DeletePolicyAssignmentRequest) GetAll() bool { if m != nil { return m.All } return false } type ListPolicyAssignmentRequest struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` Direction PolicyDirection `protobuf:"varint,2,opt,name=direction,enum=gobgpapi.PolicyDirection" json:"direction,omitempty"` } func (m *ListPolicyAssignmentRequest) Reset() { *m = ListPolicyAssignmentRequest{} } func (m *ListPolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } func (*ListPolicyAssignmentRequest) ProtoMessage() {} func (*ListPolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{50} } func (m *ListPolicyAssignmentRequest) GetName() string { if m != nil { return m.Name } return "" } func (m *ListPolicyAssignmentRequest) GetDirection() PolicyDirection { if m != nil { return m.Direction } return PolicyDirection_UNKNOWN } type ListPolicyAssignmentResponse struct { Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` } func (m *ListPolicyAssignmentResponse) Reset() { *m = ListPolicyAssignmentResponse{} } func (m *ListPolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } func (*ListPolicyAssignmentResponse) ProtoMessage() {} func (*ListPolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{51} } func (m *ListPolicyAssignmentResponse) GetAssignment() *PolicyAssignment { if m != nil { return m.Assignment } return nil } type SetPolicyAssignmentRequest struct { Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` } func (m *SetPolicyAssignmentRequest) Reset() { *m = SetPolicyAssignmentRequest{} } func (m *SetPolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } func (*SetPolicyAssignmentRequest) ProtoMessage() {} func (*SetPolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{52} } func (m *SetPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { if m != nil { return m.Assignment } 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 fileDescriptor2, []int{53} } func (m *AddRpkiRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *AddRpkiRequest) GetPort() uint32 { if m != nil { return m.Port } return 0 } func (m *AddRpkiRequest) GetLifetime() int64 { if m != nil { return m.Lifetime } return 0 } 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 fileDescriptor2, []int{54} } func (m *DeleteRpkiRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *DeleteRpkiRequest) GetPort() uint32 { if m != nil { return m.Port } return 0 } type ListRpkiRequest struct { Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"` } func (m *ListRpkiRequest) Reset() { *m = ListRpkiRequest{} } func (m *ListRpkiRequest) String() string { return proto.CompactTextString(m) } func (*ListRpkiRequest) ProtoMessage() {} func (*ListRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{55} } func (m *ListRpkiRequest) GetFamily() *Family { if m != nil { return m.Family } return nil } type ListRpkiResponse struct { Server *Rpki `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"` } func (m *ListRpkiResponse) Reset() { *m = ListRpkiResponse{} } func (m *ListRpkiResponse) String() string { return proto.CompactTextString(m) } func (*ListRpkiResponse) ProtoMessage() {} func (*ListRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{56} } func (m *ListRpkiResponse) GetServer() *Rpki { if m != nil { return m.Server } return nil } type EnableRpkiRequest 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 *EnableRpkiRequest) Reset() { *m = EnableRpkiRequest{} } func (m *EnableRpkiRequest) String() string { return proto.CompactTextString(m) } func (*EnableRpkiRequest) ProtoMessage() {} func (*EnableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{57} } func (m *EnableRpkiRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *EnableRpkiRequest) GetPort() uint32 { if m != nil { return m.Port } return 0 } type DisableRpkiRequest 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 *DisableRpkiRequest) Reset() { *m = DisableRpkiRequest{} } func (m *DisableRpkiRequest) String() string { return proto.CompactTextString(m) } func (*DisableRpkiRequest) ProtoMessage() {} func (*DisableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{58} } func (m *DisableRpkiRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *DisableRpkiRequest) GetPort() uint32 { if m != nil { return m.Port } return 0 } type ResetRpkiRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` Soft bool `protobuf:"varint,3,opt,name=soft" json:"soft,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 fileDescriptor2, []int{59} } func (m *ResetRpkiRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *ResetRpkiRequest) GetPort() uint32 { if m != nil { return m.Port } return 0 } func (m *ResetRpkiRequest) GetSoft() bool { if m != nil { return m.Soft } return false } type ListRpkiTableRequest struct { Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"` } func (m *ListRpkiTableRequest) Reset() { *m = ListRpkiTableRequest{} } func (m *ListRpkiTableRequest) String() string { return proto.CompactTextString(m) } func (*ListRpkiTableRequest) ProtoMessage() {} func (*ListRpkiTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{60} } func (m *ListRpkiTableRequest) GetFamily() *Family { if m != nil { return m.Family } return nil } type ListRpkiTableResponse struct { Roa *Roa `protobuf:"bytes,1,opt,name=roa" json:"roa,omitempty"` } func (m *ListRpkiTableResponse) Reset() { *m = ListRpkiTableResponse{} } func (m *ListRpkiTableResponse) String() string { return proto.CompactTextString(m) } func (*ListRpkiTableResponse) ProtoMessage() {} func (*ListRpkiTableResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{61} } func (m *ListRpkiTableResponse) GetRoa() *Roa { if m != nil { return m.Roa } return nil } type EnableZebraRequest struct { Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` RouteTypes []string `protobuf:"bytes,2,rep,name=route_types,json=routeTypes" json:"route_types,omitempty"` Version uint32 `protobuf:"varint,3,opt,name=version" json:"version,omitempty"` NexthopTriggerEnable bool `protobuf:"varint,4,opt,name=nexthop_trigger_enable,json=nexthopTriggerEnable" json:"nexthop_trigger_enable,omitempty"` NexthopTriggerDelay uint32 `protobuf:"varint,5,opt,name=nexthop_trigger_delay,json=nexthopTriggerDelay" json:"nexthop_trigger_delay,omitempty"` MplsLabelRangeSize uint32 `protobuf:"varint,6,opt,name=mpls_label_range_size,json=mplsLabelRangeSize" json:"mpls_label_range_size,omitempty"` SoftwareName string `protobuf:"bytes,7,opt,name=software_name,json=softwareName" json:"software_name,omitempty"` } func (m *EnableZebraRequest) Reset() { *m = EnableZebraRequest{} } func (m *EnableZebraRequest) String() string { return proto.CompactTextString(m) } func (*EnableZebraRequest) ProtoMessage() {} func (*EnableZebraRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{62} } func (m *EnableZebraRequest) GetUrl() string { if m != nil { return m.Url } return "" } func (m *EnableZebraRequest) GetRouteTypes() []string { if m != nil { return m.RouteTypes } return nil } func (m *EnableZebraRequest) GetVersion() uint32 { if m != nil { return m.Version } return 0 } func (m *EnableZebraRequest) GetNexthopTriggerEnable() bool { if m != nil { return m.NexthopTriggerEnable } return false } func (m *EnableZebraRequest) GetNexthopTriggerDelay() uint32 { if m != nil { return m.NexthopTriggerDelay } return 0 } func (m *EnableZebraRequest) GetMplsLabelRangeSize() uint32 { if m != nil { return m.MplsLabelRangeSize } return 0 } func (m *EnableZebraRequest) GetSoftwareName() string { if m != nil { return m.SoftwareName } return "" } 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"` DumpInterval uint64 `protobuf:"varint,3,opt,name=dump_interval,json=dumpInterval" json:"dump_interval,omitempty"` RotationInterval uint64 `protobuf:"varint,4,opt,name=rotation_interval,json=rotationInterval" json:"rotation_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 fileDescriptor2, []int{63} } func (m *EnableMrtRequest) GetDumpType() int32 { if m != nil { return m.DumpType } return 0 } func (m *EnableMrtRequest) GetFilename() string { if m != nil { return m.Filename } return "" } func (m *EnableMrtRequest) GetDumpInterval() uint64 { if m != nil { return m.DumpInterval } return 0 } func (m *EnableMrtRequest) GetRotationInterval() uint64 { if m != nil { return m.RotationInterval } return 0 } 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 fileDescriptor2, []int{64} } 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"` Policy AddBmpRequest_MonitoringPolicy `protobuf:"varint,3,opt,name=policy,enum=gobgpapi.AddBmpRequest_MonitoringPolicy" json:"policy,omitempty"` StatisticsTimeout int32 `protobuf:"varint,4,opt,name=StatisticsTimeout" json:"StatisticsTimeout,omitempty"` SysName string `protobuf:"bytes,5,opt,name=SysName" json:"SysName,omitempty"` SysDescr string `protobuf:"bytes,6,opt,name=SysDescr" json:"SysDescr,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 fileDescriptor2, []int{65} } func (m *AddBmpRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *AddBmpRequest) GetPort() uint32 { if m != nil { return m.Port } return 0 } func (m *AddBmpRequest) GetPolicy() AddBmpRequest_MonitoringPolicy { if m != nil { return m.Policy } return AddBmpRequest_PRE } func (m *AddBmpRequest) GetStatisticsTimeout() int32 { if m != nil { return m.StatisticsTimeout } return 0 } func (m *AddBmpRequest) GetSysName() string { if m != nil { return m.SysName } return "" } func (m *AddBmpRequest) GetSysDescr() string { if m != nil { return m.SysDescr } return "" } 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 fileDescriptor2, []int{66} } func (m *DeleteBmpRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *DeleteBmpRequest) GetPort() uint32 { if m != nil { return m.Port } return 0 } type Family struct { Afi Family_Afi `protobuf:"varint,1,opt,name=afi,enum=gobgpapi.Family_Afi" json:"afi,omitempty"` Safi Family_Safi `protobuf:"varint,2,opt,name=safi,enum=gobgpapi.Family_Safi" json:"safi,omitempty"` } func (m *Family) Reset() { *m = Family{} } func (m *Family) String() string { return proto.CompactTextString(m) } func (*Family) ProtoMessage() {} func (*Family) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{67} } func (m *Family) GetAfi() Family_Afi { if m != nil { return m.Afi } return Family_AFI_UNKNOWN } func (m *Family) GetSafi() Family_Safi { if m != nil { return m.Safi } return Family_SAFI_UNKNOWN } type Validation struct { State Validation_State `protobuf:"varint,1,opt,name=state,enum=gobgpapi.Validation_State" json:"state,omitempty"` Reason Validation_Reason `protobuf:"varint,2,opt,name=reason,enum=gobgpapi.Validation_Reason" json:"reason,omitempty"` Matched []*Roa `protobuf:"bytes,3,rep,name=matched" json:"matched,omitempty"` UnmatchedAs []*Roa `protobuf:"bytes,4,rep,name=unmatched_as,json=unmatchedAs" json:"unmatched_as,omitempty"` UnmatchedLength []*Roa `protobuf:"bytes,5,rep,name=unmatched_length,json=unmatchedLength" json:"unmatched_length,omitempty"` } func (m *Validation) Reset() { *m = Validation{} } func (m *Validation) String() string { return proto.CompactTextString(m) } func (*Validation) ProtoMessage() {} func (*Validation) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{68} } func (m *Validation) GetState() Validation_State { if m != nil { return m.State } return Validation_STATE_NONE } func (m *Validation) GetReason() Validation_Reason { if m != nil { return m.Reason } return Validation_REASOT_NONE } func (m *Validation) GetMatched() []*Roa { if m != nil { return m.Matched } return nil } func (m *Validation) GetUnmatchedAs() []*Roa { if m != nil { return m.UnmatchedAs } return nil } func (m *Validation) GetUnmatchedLength() []*Roa { if m != nil { return m.UnmatchedLength } return nil } type Path struct { // One of the following defined in "api/attribute.proto": // - IPAddressPrefix // - LabeledIPAddressPrefix // - EncapsulationNLRI // - EVPNEthernetAutoDiscoveryRoute // - EVPNMACIPAdvertisementRoute // - EVPNInclusiveMulticastEthernetTagRoute // - EVPNEthernetSegmentRoute // - EVPNIPPrefixRoute // - EVPNIPMSIRoute // - LabeledVPNIPAddressPrefix // - RouteTargetMembershipNLRI // - FlowSpecNLRI // - VPNFlowSpecNLRI // - OpaqueNLRI // - LsAddrPrefix // - SRPolicyNLRI Nlri *google_protobuf.Any `protobuf:"bytes,1,opt,name=nlri" json:"nlri,omitempty"` // Each attribute must be one of *Attribute defined in // "api/attribute.proto". Pattrs []*google_protobuf.Any `protobuf:"bytes,2,rep,name=pattrs" json:"pattrs,omitempty"` Age *google_protobuf2.Timestamp `protobuf:"bytes,3,opt,name=age" json:"age,omitempty"` Best bool `protobuf:"varint,4,opt,name=best" json:"best,omitempty"` IsWithdraw bool `protobuf:"varint,5,opt,name=is_withdraw,json=isWithdraw" json:"is_withdraw,omitempty"` Validation *Validation `protobuf:"bytes,7,opt,name=validation" json:"validation,omitempty"` NoImplicitWithdraw bool `protobuf:"varint,8,opt,name=no_implicit_withdraw,json=noImplicitWithdraw" json:"no_implicit_withdraw,omitempty"` Family *Family `protobuf:"bytes,9,opt,name=family" json:"family,omitempty"` SourceAsn uint32 `protobuf:"varint,10,opt,name=source_asn,json=sourceAsn" json:"source_asn,omitempty"` SourceId string `protobuf:"bytes,11,opt,name=source_id,json=sourceId" json:"source_id,omitempty"` Filtered bool `protobuf:"varint,12,opt,name=filtered" json:"filtered,omitempty"` Stale bool `protobuf:"varint,13,opt,name=stale" json:"stale,omitempty"` IsFromExternal bool `protobuf:"varint,14,opt,name=is_from_external,json=isFromExternal" json:"is_from_external,omitempty"` NeighborIp string `protobuf:"bytes,15,opt,name=neighbor_ip,json=neighborIp" json:"neighbor_ip,omitempty"` Uuid []byte `protobuf:"bytes,16,opt,name=uuid,proto3" json:"uuid,omitempty"` IsNexthopInvalid bool `protobuf:"varint,17,opt,name=is_nexthop_invalid,json=isNexthopInvalid" json:"is_nexthop_invalid,omitempty"` Identifier uint32 `protobuf:"varint,18,opt,name=identifier" json:"identifier,omitempty"` LocalIdentifier uint32 `protobuf:"varint,19,opt,name=local_identifier,json=localIdentifier" json:"local_identifier,omitempty"` NlriBinary []byte `protobuf:"bytes,20,opt,name=nlri_binary,json=nlriBinary,proto3" json:"nlri_binary,omitempty"` PattrsBinary [][]byte `protobuf:"bytes,21,rep,name=pattrs_binary,json=pattrsBinary,proto3" json:"pattrs_binary,omitempty"` } func (m *Path) Reset() { *m = Path{} } func (m *Path) String() string { return proto.CompactTextString(m) } func (*Path) ProtoMessage() {} func (*Path) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{69} } func (m *Path) GetNlri() *google_protobuf.Any { if m != nil { return m.Nlri } return nil } func (m *Path) GetPattrs() []*google_protobuf.Any { if m != nil { return m.Pattrs } return nil } func (m *Path) GetAge() *google_protobuf2.Timestamp { if m != nil { return m.Age } return nil } func (m *Path) GetBest() bool { if m != nil { return m.Best } return false } func (m *Path) GetIsWithdraw() bool { if m != nil { return m.IsWithdraw } return false } func (m *Path) GetValidation() *Validation { if m != nil { return m.Validation } return nil } func (m *Path) GetNoImplicitWithdraw() bool { if m != nil { return m.NoImplicitWithdraw } return false } func (m *Path) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *Path) GetSourceAsn() uint32 { if m != nil { return m.SourceAsn } return 0 } func (m *Path) GetSourceId() string { if m != nil { return m.SourceId } return "" } func (m *Path) GetFiltered() bool { if m != nil { return m.Filtered } return false } func (m *Path) GetStale() bool { if m != nil { return m.Stale } return false } func (m *Path) GetIsFromExternal() bool { if m != nil { return m.IsFromExternal } return false } func (m *Path) GetNeighborIp() string { if m != nil { return m.NeighborIp } return "" } func (m *Path) GetUuid() []byte { if m != nil { return m.Uuid } return nil } func (m *Path) GetIsNexthopInvalid() bool { if m != nil { return m.IsNexthopInvalid } return false } func (m *Path) GetIdentifier() uint32 { if m != nil { return m.Identifier } return 0 } func (m *Path) GetLocalIdentifier() uint32 { if m != nil { return m.LocalIdentifier } return 0 } func (m *Path) GetNlriBinary() []byte { if m != nil { return m.NlriBinary } return nil } func (m *Path) GetPattrsBinary() [][]byte { if m != nil { return m.PattrsBinary } return nil } type Destination struct { Prefix string `protobuf:"bytes,1,opt,name=prefix" json:"prefix,omitempty"` Paths []*Path `protobuf:"bytes,2,rep,name=paths" json:"paths,omitempty"` } func (m *Destination) Reset() { *m = Destination{} } func (m *Destination) String() string { return proto.CompactTextString(m) } func (*Destination) ProtoMessage() {} func (*Destination) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{70} } func (m *Destination) GetPrefix() string { if m != nil { return m.Prefix } return "" } func (m *Destination) GetPaths() []*Path { if m != nil { return m.Paths } return nil } // API representation of table.LookupPrefix type TableLookupPrefix struct { Prefix string `protobuf:"bytes,1,opt,name=prefix" json:"prefix,omitempty"` LookupOption TableLookupOption `protobuf:"varint,2,opt,name=lookup_option,json=lookupOption,enum=gobgpapi.TableLookupOption" json:"lookup_option,omitempty"` } func (m *TableLookupPrefix) Reset() { *m = TableLookupPrefix{} } func (m *TableLookupPrefix) String() string { return proto.CompactTextString(m) } func (*TableLookupPrefix) ProtoMessage() {} func (*TableLookupPrefix) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{71} } func (m *TableLookupPrefix) GetPrefix() string { if m != nil { return m.Prefix } return "" } func (m *TableLookupPrefix) GetLookupOption() TableLookupOption { if m != nil { return m.LookupOption } return TableLookupOption_LOOKUP_EXACT } type Peer struct { ApplyPolicy *ApplyPolicy `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy" json:"apply_policy,omitempty"` Conf *PeerConf `protobuf:"bytes,2,opt,name=conf" json:"conf,omitempty"` EbgpMultihop *EbgpMultihop `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop" json:"ebgp_multihop,omitempty"` RouteReflector *RouteReflector `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector" json:"route_reflector,omitempty"` State *PeerState `protobuf:"bytes,5,opt,name=state" json:"state,omitempty"` Timers *Timers `protobuf:"bytes,6,opt,name=timers" json:"timers,omitempty"` Transport *Transport `protobuf:"bytes,7,opt,name=transport" json:"transport,omitempty"` RouteServer *RouteServer `protobuf:"bytes,8,opt,name=route_server,json=routeServer" json:"route_server,omitempty"` GracefulRestart *GracefulRestart `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart" json:"graceful_restart,omitempty"` AfiSafis []*AfiSafi `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis" json:"afi_safis,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 fileDescriptor2, []int{72} } func (m *Peer) GetApplyPolicy() *ApplyPolicy { if m != nil { return m.ApplyPolicy } return nil } func (m *Peer) GetConf() *PeerConf { if m != nil { return m.Conf } return nil } func (m *Peer) GetEbgpMultihop() *EbgpMultihop { if m != nil { return m.EbgpMultihop } return nil } func (m *Peer) GetRouteReflector() *RouteReflector { if m != nil { return m.RouteReflector } return nil } func (m *Peer) GetState() *PeerState { if m != nil { return m.State } return nil } func (m *Peer) GetTimers() *Timers { if m != nil { return m.Timers } return nil } func (m *Peer) GetTransport() *Transport { if m != nil { return m.Transport } return nil } func (m *Peer) GetRouteServer() *RouteServer { if m != nil { return m.RouteServer } return nil } func (m *Peer) GetGracefulRestart() *GracefulRestart { if m != nil { return m.GracefulRestart } return nil } func (m *Peer) GetAfiSafis() []*AfiSafi { if m != nil { return m.AfiSafis } return nil } type PeerGroup struct { ApplyPolicy *ApplyPolicy `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy" json:"apply_policy,omitempty"` Conf *PeerGroupConf `protobuf:"bytes,2,opt,name=conf" json:"conf,omitempty"` EbgpMultihop *EbgpMultihop `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop" json:"ebgp_multihop,omitempty"` RouteReflector *RouteReflector `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector" json:"route_reflector,omitempty"` Info *PeerGroupState `protobuf:"bytes,5,opt,name=info" json:"info,omitempty"` Timers *Timers `protobuf:"bytes,6,opt,name=timers" json:"timers,omitempty"` Transport *Transport `protobuf:"bytes,7,opt,name=transport" json:"transport,omitempty"` RouteServer *RouteServer `protobuf:"bytes,8,opt,name=route_server,json=routeServer" json:"route_server,omitempty"` GracefulRestart *GracefulRestart `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart" json:"graceful_restart,omitempty"` AfiSafis []*AfiSafi `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis" json:"afi_safis,omitempty"` } func (m *PeerGroup) Reset() { *m = PeerGroup{} } func (m *PeerGroup) String() string { return proto.CompactTextString(m) } func (*PeerGroup) ProtoMessage() {} func (*PeerGroup) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{73} } func (m *PeerGroup) GetApplyPolicy() *ApplyPolicy { if m != nil { return m.ApplyPolicy } return nil } func (m *PeerGroup) GetConf() *PeerGroupConf { if m != nil { return m.Conf } return nil } func (m *PeerGroup) GetEbgpMultihop() *EbgpMultihop { if m != nil { return m.EbgpMultihop } return nil } func (m *PeerGroup) GetRouteReflector() *RouteReflector { if m != nil { return m.RouteReflector } return nil } func (m *PeerGroup) GetInfo() *PeerGroupState { if m != nil { return m.Info } return nil } func (m *PeerGroup) GetTimers() *Timers { if m != nil { return m.Timers } return nil } func (m *PeerGroup) GetTransport() *Transport { if m != nil { return m.Transport } return nil } func (m *PeerGroup) GetRouteServer() *RouteServer { if m != nil { return m.RouteServer } return nil } func (m *PeerGroup) GetGracefulRestart() *GracefulRestart { if m != nil { return m.GracefulRestart } return nil } func (m *PeerGroup) GetAfiSafis() []*AfiSafi { if m != nil { return m.AfiSafis } return nil } type DynamicNeighbor struct { Prefix string `protobuf:"bytes,1,opt,name=prefix" json:"prefix,omitempty"` PeerGroup string `protobuf:"bytes,2,opt,name=peer_group,json=peerGroup" json:"peer_group,omitempty"` } func (m *DynamicNeighbor) Reset() { *m = DynamicNeighbor{} } func (m *DynamicNeighbor) String() string { return proto.CompactTextString(m) } func (*DynamicNeighbor) ProtoMessage() {} func (*DynamicNeighbor) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{74} } func (m *DynamicNeighbor) GetPrefix() string { if m != nil { return m.Prefix } return "" } func (m *DynamicNeighbor) GetPeerGroup() string { if m != nil { return m.PeerGroup } return "" } type ApplyPolicy struct { InPolicy *PolicyAssignment `protobuf:"bytes,1,opt,name=in_policy,json=inPolicy" json:"in_policy,omitempty"` ExportPolicy *PolicyAssignment `protobuf:"bytes,2,opt,name=export_policy,json=exportPolicy" json:"export_policy,omitempty"` ImportPolicy *PolicyAssignment `protobuf:"bytes,3,opt,name=import_policy,json=importPolicy" json:"import_policy,omitempty"` } func (m *ApplyPolicy) Reset() { *m = ApplyPolicy{} } func (m *ApplyPolicy) String() string { return proto.CompactTextString(m) } func (*ApplyPolicy) ProtoMessage() {} func (*ApplyPolicy) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{75} } func (m *ApplyPolicy) GetInPolicy() *PolicyAssignment { if m != nil { return m.InPolicy } return nil } func (m *ApplyPolicy) GetExportPolicy() *PolicyAssignment { if m != nil { return m.ExportPolicy } return nil } func (m *ApplyPolicy) GetImportPolicy() *PolicyAssignment { if m != nil { return m.ImportPolicy } return nil } type PrefixLimit struct { Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"` MaxPrefixes uint32 `protobuf:"varint,2,opt,name=max_prefixes,json=maxPrefixes" json:"max_prefixes,omitempty"` ShutdownThresholdPct uint32 `protobuf:"varint,3,opt,name=shutdown_threshold_pct,json=shutdownThresholdPct" json:"shutdown_threshold_pct,omitempty"` } func (m *PrefixLimit) Reset() { *m = PrefixLimit{} } func (m *PrefixLimit) String() string { return proto.CompactTextString(m) } func (*PrefixLimit) ProtoMessage() {} func (*PrefixLimit) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{76} } func (m *PrefixLimit) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *PrefixLimit) GetMaxPrefixes() uint32 { if m != nil { return m.MaxPrefixes } return 0 } func (m *PrefixLimit) GetShutdownThresholdPct() uint32 { if m != nil { return m.ShutdownThresholdPct } return 0 } type PeerConf struct { AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"` Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"` LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs" json:"local_as,omitempty"` NeighborAddress string `protobuf:"bytes,4,opt,name=neighbor_address,json=neighborAddress" json:"neighbor_address,omitempty"` PeerAs uint32 `protobuf:"varint,5,opt,name=peer_as,json=peerAs" json:"peer_as,omitempty"` PeerGroup string `protobuf:"bytes,6,opt,name=peer_group,json=peerGroup" json:"peer_group,omitempty"` PeerType uint32 `protobuf:"varint,7,opt,name=peer_type,json=peerType" json:"peer_type,omitempty"` RemovePrivateAs PeerConf_RemovePrivateAs `protobuf:"varint,8,opt,name=remove_private_as,json=removePrivateAs,enum=gobgpapi.PeerConf_RemovePrivateAs" json:"remove_private_as,omitempty"` RouteFlapDamping bool `protobuf:"varint,9,opt,name=route_flap_damping,json=routeFlapDamping" json:"route_flap_damping,omitempty"` SendCommunity uint32 `protobuf:"varint,10,opt,name=send_community,json=sendCommunity" json:"send_community,omitempty"` NeighborInterface string `protobuf:"bytes,11,opt,name=neighbor_interface,json=neighborInterface" json:"neighbor_interface,omitempty"` Vrf string `protobuf:"bytes,12,opt,name=vrf" json:"vrf,omitempty"` AllowOwnAs uint32 `protobuf:"varint,13,opt,name=allow_own_as,json=allowOwnAs" json:"allow_own_as,omitempty"` ReplacePeerAs bool `protobuf:"varint,14,opt,name=replace_peer_as,json=replacePeerAs" json:"replace_peer_as,omitempty"` AdminDown bool `protobuf:"varint,15,opt,name=admin_down,json=adminDown" json:"admin_down,omitempty"` } func (m *PeerConf) Reset() { *m = PeerConf{} } func (m *PeerConf) String() string { return proto.CompactTextString(m) } func (*PeerConf) ProtoMessage() {} func (*PeerConf) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{77} } func (m *PeerConf) GetAuthPassword() string { if m != nil { return m.AuthPassword } return "" } func (m *PeerConf) GetDescription() string { if m != nil { return m.Description } return "" } func (m *PeerConf) GetLocalAs() uint32 { if m != nil { return m.LocalAs } return 0 } func (m *PeerConf) GetNeighborAddress() string { if m != nil { return m.NeighborAddress } return "" } func (m *PeerConf) GetPeerAs() uint32 { if m != nil { return m.PeerAs } return 0 } func (m *PeerConf) GetPeerGroup() string { if m != nil { return m.PeerGroup } return "" } func (m *PeerConf) GetPeerType() uint32 { if m != nil { return m.PeerType } return 0 } func (m *PeerConf) GetRemovePrivateAs() PeerConf_RemovePrivateAs { if m != nil { return m.RemovePrivateAs } return PeerConf_NONE } func (m *PeerConf) GetRouteFlapDamping() bool { if m != nil { return m.RouteFlapDamping } return false } func (m *PeerConf) GetSendCommunity() uint32 { if m != nil { return m.SendCommunity } return 0 } func (m *PeerConf) GetNeighborInterface() string { if m != nil { return m.NeighborInterface } return "" } func (m *PeerConf) GetVrf() string { if m != nil { return m.Vrf } return "" } func (m *PeerConf) GetAllowOwnAs() uint32 { if m != nil { return m.AllowOwnAs } return 0 } func (m *PeerConf) GetReplacePeerAs() bool { if m != nil { return m.ReplacePeerAs } return false } func (m *PeerConf) GetAdminDown() bool { if m != nil { return m.AdminDown } return false } type PeerGroupConf struct { AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"` Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"` LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs" json:"local_as,omitempty"` PeerAs uint32 `protobuf:"varint,4,opt,name=peer_as,json=peerAs" json:"peer_as,omitempty"` PeerGroupName string `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName" json:"peer_group_name,omitempty"` PeerType uint32 `protobuf:"varint,6,opt,name=peer_type,json=peerType" json:"peer_type,omitempty"` RemovePrivateAs PeerGroupConf_RemovePrivateAs `protobuf:"varint,7,opt,name=remove_private_as,json=removePrivateAs,enum=gobgpapi.PeerGroupConf_RemovePrivateAs" json:"remove_private_as,omitempty"` RouteFlapDamping bool `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping" json:"route_flap_damping,omitempty"` SendCommunity uint32 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity" json:"send_community,omitempty"` } func (m *PeerGroupConf) Reset() { *m = PeerGroupConf{} } func (m *PeerGroupConf) String() string { return proto.CompactTextString(m) } func (*PeerGroupConf) ProtoMessage() {} func (*PeerGroupConf) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{78} } func (m *PeerGroupConf) GetAuthPassword() string { if m != nil { return m.AuthPassword } return "" } func (m *PeerGroupConf) GetDescription() string { if m != nil { return m.Description } return "" } func (m *PeerGroupConf) GetLocalAs() uint32 { if m != nil { return m.LocalAs } return 0 } func (m *PeerGroupConf) GetPeerAs() uint32 { if m != nil { return m.PeerAs } return 0 } func (m *PeerGroupConf) GetPeerGroupName() string { if m != nil { return m.PeerGroupName } return "" } func (m *PeerGroupConf) GetPeerType() uint32 { if m != nil { return m.PeerType } return 0 } func (m *PeerGroupConf) GetRemovePrivateAs() PeerGroupConf_RemovePrivateAs { if m != nil { return m.RemovePrivateAs } return PeerGroupConf_NONE } func (m *PeerGroupConf) GetRouteFlapDamping() bool { if m != nil { return m.RouteFlapDamping } return false } func (m *PeerGroupConf) GetSendCommunity() uint32 { if m != nil { return m.SendCommunity } return 0 } type PeerGroupState struct { AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"` Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"` LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs" json:"local_as,omitempty"` PeerAs uint32 `protobuf:"varint,4,opt,name=peer_as,json=peerAs" json:"peer_as,omitempty"` PeerGroupName string `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName" json:"peer_group_name,omitempty"` PeerType uint32 `protobuf:"varint,6,opt,name=peer_type,json=peerType" json:"peer_type,omitempty"` RemovePrivateAs PeerGroupState_RemovePrivateAs `protobuf:"varint,7,opt,name=remove_private_as,json=removePrivateAs,enum=gobgpapi.PeerGroupState_RemovePrivateAs" json:"remove_private_as,omitempty"` RouteFlapDamping bool `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping" json:"route_flap_damping,omitempty"` SendCommunity uint32 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity" json:"send_community,omitempty"` TotalPaths uint32 `protobuf:"varint,10,opt,name=total_paths,json=totalPaths" json:"total_paths,omitempty"` TotalPrefixes uint32 `protobuf:"varint,11,opt,name=total_prefixes,json=totalPrefixes" json:"total_prefixes,omitempty"` } func (m *PeerGroupState) Reset() { *m = PeerGroupState{} } func (m *PeerGroupState) String() string { return proto.CompactTextString(m) } func (*PeerGroupState) ProtoMessage() {} func (*PeerGroupState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{79} } func (m *PeerGroupState) GetAuthPassword() string { if m != nil { return m.AuthPassword } return "" } func (m *PeerGroupState) GetDescription() string { if m != nil { return m.Description } return "" } func (m *PeerGroupState) GetLocalAs() uint32 { if m != nil { return m.LocalAs } return 0 } func (m *PeerGroupState) GetPeerAs() uint32 { if m != nil { return m.PeerAs } return 0 } func (m *PeerGroupState) GetPeerGroupName() string { if m != nil { return m.PeerGroupName } return "" } func (m *PeerGroupState) GetPeerType() uint32 { if m != nil { return m.PeerType } return 0 } func (m *PeerGroupState) GetRemovePrivateAs() PeerGroupState_RemovePrivateAs { if m != nil { return m.RemovePrivateAs } return PeerGroupState_NONE } func (m *PeerGroupState) GetRouteFlapDamping() bool { if m != nil { return m.RouteFlapDamping } return false } func (m *PeerGroupState) GetSendCommunity() uint32 { if m != nil { return m.SendCommunity } return 0 } func (m *PeerGroupState) GetTotalPaths() uint32 { if m != nil { return m.TotalPaths } return 0 } func (m *PeerGroupState) GetTotalPrefixes() uint32 { if m != nil { return m.TotalPrefixes } return 0 } type EbgpMultihop struct { Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` MultihopTtl uint32 `protobuf:"varint,2,opt,name=multihop_ttl,json=multihopTtl" json:"multihop_ttl,omitempty"` } func (m *EbgpMultihop) Reset() { *m = EbgpMultihop{} } func (m *EbgpMultihop) String() string { return proto.CompactTextString(m) } func (*EbgpMultihop) ProtoMessage() {} func (*EbgpMultihop) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{80} } func (m *EbgpMultihop) GetEnabled() bool { if m != nil { return m.Enabled } return false } func (m *EbgpMultihop) GetMultihopTtl() uint32 { if m != nil { return m.MultihopTtl } return 0 } type RouteReflector struct { RouteReflectorClient bool `protobuf:"varint,1,opt,name=route_reflector_client,json=routeReflectorClient" json:"route_reflector_client,omitempty"` RouteReflectorClusterId string `protobuf:"bytes,2,opt,name=route_reflector_cluster_id,json=routeReflectorClusterId" json:"route_reflector_cluster_id,omitempty"` } func (m *RouteReflector) Reset() { *m = RouteReflector{} } func (m *RouteReflector) String() string { return proto.CompactTextString(m) } func (*RouteReflector) ProtoMessage() {} func (*RouteReflector) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{81} } func (m *RouteReflector) GetRouteReflectorClient() bool { if m != nil { return m.RouteReflectorClient } return false } func (m *RouteReflector) GetRouteReflectorClusterId() string { if m != nil { return m.RouteReflectorClusterId } return "" } type PeerState struct { AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword" json:"auth_password,omitempty"` Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"` LocalAs uint32 `protobuf:"varint,3,opt,name=local_as,json=localAs" json:"local_as,omitempty"` Messages *Messages `protobuf:"bytes,4,opt,name=messages" json:"messages,omitempty"` NeighborAddress string `protobuf:"bytes,5,opt,name=neighbor_address,json=neighborAddress" json:"neighbor_address,omitempty"` PeerAs uint32 `protobuf:"varint,6,opt,name=peer_as,json=peerAs" json:"peer_as,omitempty"` PeerGroup string `protobuf:"bytes,7,opt,name=peer_group,json=peerGroup" json:"peer_group,omitempty"` PeerType uint32 `protobuf:"varint,8,opt,name=peer_type,json=peerType" json:"peer_type,omitempty"` Queues *Queues `protobuf:"bytes,9,opt,name=queues" json:"queues,omitempty"` RemovePrivateAs uint32 `protobuf:"varint,10,opt,name=remove_private_as,json=removePrivateAs" json:"remove_private_as,omitempty"` RouteFlapDamping bool `protobuf:"varint,11,opt,name=route_flap_damping,json=routeFlapDamping" json:"route_flap_damping,omitempty"` SendCommunity uint32 `protobuf:"varint,12,opt,name=send_community,json=sendCommunity" json:"send_community,omitempty"` SessionState PeerState_SessionState `protobuf:"varint,13,opt,name=session_state,json=sessionState,enum=gobgpapi.PeerState_SessionState" json:"session_state,omitempty"` AdminState PeerState_AdminState `protobuf:"varint,15,opt,name=admin_state,json=adminState,enum=gobgpapi.PeerState_AdminState" json:"admin_state,omitempty"` OutQ uint32 `protobuf:"varint,16,opt,name=out_q,json=outQ" json:"out_q,omitempty"` Flops uint32 `protobuf:"varint,17,opt,name=flops" json:"flops,omitempty"` // Each attribute must be one of *Capability defined in // "api/capability.proto". RemoteCap []*google_protobuf.Any `protobuf:"bytes,18,rep,name=remote_cap,json=remoteCap" json:"remote_cap,omitempty"` LocalCap []*google_protobuf.Any `protobuf:"bytes,19,rep,name=local_cap,json=localCap" json:"local_cap,omitempty"` RouterId string `protobuf:"bytes,20,opt,name=router_id,json=routerId" json:"router_id,omitempty"` } func (m *PeerState) Reset() { *m = PeerState{} } func (m *PeerState) String() string { return proto.CompactTextString(m) } func (*PeerState) ProtoMessage() {} func (*PeerState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{82} } func (m *PeerState) GetAuthPassword() string { if m != nil { return m.AuthPassword } return "" } func (m *PeerState) GetDescription() string { if m != nil { return m.Description } return "" } func (m *PeerState) GetLocalAs() uint32 { if m != nil { return m.LocalAs } return 0 } func (m *PeerState) GetMessages() *Messages { if m != nil { return m.Messages } return nil } func (m *PeerState) GetNeighborAddress() string { if m != nil { return m.NeighborAddress } return "" } func (m *PeerState) GetPeerAs() uint32 { if m != nil { return m.PeerAs } return 0 } func (m *PeerState) GetPeerGroup() string { if m != nil { return m.PeerGroup } return "" } func (m *PeerState) GetPeerType() uint32 { if m != nil { return m.PeerType } return 0 } func (m *PeerState) GetQueues() *Queues { if m != nil { return m.Queues } return nil } func (m *PeerState) GetRemovePrivateAs() uint32 { if m != nil { return m.RemovePrivateAs } return 0 } func (m *PeerState) GetRouteFlapDamping() bool { if m != nil { return m.RouteFlapDamping } return false } func (m *PeerState) GetSendCommunity() uint32 { if m != nil { return m.SendCommunity } return 0 } func (m *PeerState) GetSessionState() PeerState_SessionState { if m != nil { return m.SessionState } return PeerState_UNKNOWN } func (m *PeerState) GetAdminState() PeerState_AdminState { if m != nil { return m.AdminState } return PeerState_UP } func (m *PeerState) GetOutQ() uint32 { if m != nil { return m.OutQ } return 0 } func (m *PeerState) GetFlops() uint32 { if m != nil { return m.Flops } return 0 } func (m *PeerState) GetRemoteCap() []*google_protobuf.Any { if m != nil { return m.RemoteCap } return nil } func (m *PeerState) GetLocalCap() []*google_protobuf.Any { if m != nil { return m.LocalCap } return nil } func (m *PeerState) GetRouterId() string { if m != nil { return m.RouterId } return "" } type Messages struct { Received *Message `protobuf:"bytes,1,opt,name=received" json:"received,omitempty"` Sent *Message `protobuf:"bytes,2,opt,name=sent" json:"sent,omitempty"` } func (m *Messages) Reset() { *m = Messages{} } func (m *Messages) String() string { return proto.CompactTextString(m) } func (*Messages) ProtoMessage() {} func (*Messages) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{83} } func (m *Messages) GetReceived() *Message { if m != nil { return m.Received } return nil } func (m *Messages) GetSent() *Message { if m != nil { return m.Sent } return nil } type Message struct { Notification uint64 `protobuf:"varint,1,opt,name=notification" json:"notification,omitempty"` Update uint64 `protobuf:"varint,2,opt,name=update" json:"update,omitempty"` Open uint64 `protobuf:"varint,3,opt,name=open" json:"open,omitempty"` Keepalive uint64 `protobuf:"varint,4,opt,name=keepalive" json:"keepalive,omitempty"` Refresh uint64 `protobuf:"varint,5,opt,name=refresh" json:"refresh,omitempty"` Discarded uint64 `protobuf:"varint,6,opt,name=discarded" json:"discarded,omitempty"` Total uint64 `protobuf:"varint,7,opt,name=total" json:"total,omitempty"` WithdrawUpdate uint64 `protobuf:"varint,8,opt,name=withdraw_update,json=withdrawUpdate" json:"withdraw_update,omitempty"` WithdrawPrefix uint64 `protobuf:"varint,9,opt,name=withdraw_prefix,json=withdrawPrefix" json:"withdraw_prefix,omitempty"` } func (m *Message) Reset() { *m = Message{} } func (m *Message) String() string { return proto.CompactTextString(m) } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{84} } func (m *Message) GetNotification() uint64 { if m != nil { return m.Notification } return 0 } func (m *Message) GetUpdate() uint64 { if m != nil { return m.Update } return 0 } func (m *Message) GetOpen() uint64 { if m != nil { return m.Open } return 0 } func (m *Message) GetKeepalive() uint64 { if m != nil { return m.Keepalive } return 0 } func (m *Message) GetRefresh() uint64 { if m != nil { return m.Refresh } return 0 } func (m *Message) GetDiscarded() uint64 { if m != nil { return m.Discarded } return 0 } func (m *Message) GetTotal() uint64 { if m != nil { return m.Total } return 0 } func (m *Message) GetWithdrawUpdate() uint64 { if m != nil { return m.WithdrawUpdate } return 0 } func (m *Message) GetWithdrawPrefix() uint64 { if m != nil { return m.WithdrawPrefix } return 0 } type Queues struct { Input uint32 `protobuf:"varint,1,opt,name=input" json:"input,omitempty"` Output uint32 `protobuf:"varint,2,opt,name=output" json:"output,omitempty"` } func (m *Queues) Reset() { *m = Queues{} } func (m *Queues) String() string { return proto.CompactTextString(m) } func (*Queues) ProtoMessage() {} func (*Queues) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{85} } func (m *Queues) GetInput() uint32 { if m != nil { return m.Input } return 0 } func (m *Queues) GetOutput() uint32 { if m != nil { return m.Output } return 0 } type Timers struct { Config *TimersConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` State *TimersState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` } func (m *Timers) Reset() { *m = Timers{} } func (m *Timers) String() string { return proto.CompactTextString(m) } func (*Timers) ProtoMessage() {} func (*Timers) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{86} } func (m *Timers) GetConfig() *TimersConfig { if m != nil { return m.Config } return nil } func (m *Timers) GetState() *TimersState { if m != nil { return m.State } return nil } type TimersConfig struct { ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry" json:"connect_retry,omitempty"` HoldTime uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime" json:"hold_time,omitempty"` KeepaliveInterval uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval" json:"keepalive_interval,omitempty"` MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval" json:"minimum_advertisement_interval,omitempty"` IdleHoldTimeAfterReset uint64 `protobuf:"varint,5,opt,name=idle_hold_time_after_reset,json=idleHoldTimeAfterReset" json:"idle_hold_time_after_reset,omitempty"` } func (m *TimersConfig) Reset() { *m = TimersConfig{} } func (m *TimersConfig) String() string { return proto.CompactTextString(m) } func (*TimersConfig) ProtoMessage() {} func (*TimersConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{87} } func (m *TimersConfig) GetConnectRetry() uint64 { if m != nil { return m.ConnectRetry } return 0 } func (m *TimersConfig) GetHoldTime() uint64 { if m != nil { return m.HoldTime } return 0 } func (m *TimersConfig) GetKeepaliveInterval() uint64 { if m != nil { return m.KeepaliveInterval } return 0 } func (m *TimersConfig) GetMinimumAdvertisementInterval() uint64 { if m != nil { return m.MinimumAdvertisementInterval } return 0 } func (m *TimersConfig) GetIdleHoldTimeAfterReset() uint64 { if m != nil { return m.IdleHoldTimeAfterReset } return 0 } type TimersState struct { ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry" json:"connect_retry,omitempty"` HoldTime uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime" json:"hold_time,omitempty"` KeepaliveInterval uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval" json:"keepalive_interval,omitempty"` MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval" json:"minimum_advertisement_interval,omitempty"` NegotiatedHoldTime uint64 `protobuf:"varint,5,opt,name=negotiated_hold_time,json=negotiatedHoldTime" json:"negotiated_hold_time,omitempty"` Uptime *google_protobuf2.Timestamp `protobuf:"bytes,6,opt,name=uptime" json:"uptime,omitempty"` Downtime *google_protobuf2.Timestamp `protobuf:"bytes,7,opt,name=downtime" json:"downtime,omitempty"` } func (m *TimersState) Reset() { *m = TimersState{} } func (m *TimersState) String() string { return proto.CompactTextString(m) } func (*TimersState) ProtoMessage() {} func (*TimersState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{88} } func (m *TimersState) GetConnectRetry() uint64 { if m != nil { return m.ConnectRetry } return 0 } func (m *TimersState) GetHoldTime() uint64 { if m != nil { return m.HoldTime } return 0 } func (m *TimersState) GetKeepaliveInterval() uint64 { if m != nil { return m.KeepaliveInterval } return 0 } func (m *TimersState) GetMinimumAdvertisementInterval() uint64 { if m != nil { return m.MinimumAdvertisementInterval } return 0 } func (m *TimersState) GetNegotiatedHoldTime() uint64 { if m != nil { return m.NegotiatedHoldTime } return 0 } func (m *TimersState) GetUptime() *google_protobuf2.Timestamp { if m != nil { return m.Uptime } return nil } func (m *TimersState) GetDowntime() *google_protobuf2.Timestamp { if m != nil { return m.Downtime } return nil } type Transport struct { LocalAddress string `protobuf:"bytes,1,opt,name=local_address,json=localAddress" json:"local_address,omitempty"` LocalPort uint32 `protobuf:"varint,2,opt,name=local_port,json=localPort" json:"local_port,omitempty"` MtuDiscovery bool `protobuf:"varint,3,opt,name=mtu_discovery,json=mtuDiscovery" json:"mtu_discovery,omitempty"` PassiveMode bool `protobuf:"varint,4,opt,name=passive_mode,json=passiveMode" json:"passive_mode,omitempty"` RemoteAddress string `protobuf:"bytes,5,opt,name=remote_address,json=remoteAddress" json:"remote_address,omitempty"` RemotePort uint32 `protobuf:"varint,6,opt,name=remote_port,json=remotePort" json:"remote_port,omitempty"` TcpMss uint32 `protobuf:"varint,7,opt,name=tcp_mss,json=tcpMss" json:"tcp_mss,omitempty"` BindInterface string `protobuf:"bytes,8,opt,name=bind_interface,json=bindInterface" json:"bind_interface,omitempty"` } func (m *Transport) Reset() { *m = Transport{} } func (m *Transport) String() string { return proto.CompactTextString(m) } func (*Transport) ProtoMessage() {} func (*Transport) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{89} } func (m *Transport) GetLocalAddress() string { if m != nil { return m.LocalAddress } return "" } func (m *Transport) GetLocalPort() uint32 { if m != nil { return m.LocalPort } return 0 } func (m *Transport) GetMtuDiscovery() bool { if m != nil { return m.MtuDiscovery } return false } func (m *Transport) GetPassiveMode() bool { if m != nil { return m.PassiveMode } return false } func (m *Transport) GetRemoteAddress() string { if m != nil { return m.RemoteAddress } return "" } func (m *Transport) GetRemotePort() uint32 { if m != nil { return m.RemotePort } return 0 } func (m *Transport) GetTcpMss() uint32 { if m != nil { return m.TcpMss } return 0 } func (m *Transport) GetBindInterface() string { if m != nil { return m.BindInterface } return "" } type RouteServer struct { RouteServerClient bool `protobuf:"varint,1,opt,name=route_server_client,json=routeServerClient" json:"route_server_client,omitempty"` SecondaryRoute bool `protobuf:"varint,2,opt,name=secondary_route,json=secondaryRoute" json:"secondary_route,omitempty"` } func (m *RouteServer) Reset() { *m = RouteServer{} } func (m *RouteServer) String() string { return proto.CompactTextString(m) } func (*RouteServer) ProtoMessage() {} func (*RouteServer) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{90} } func (m *RouteServer) GetRouteServerClient() bool { if m != nil { return m.RouteServerClient } return false } func (m *RouteServer) GetSecondaryRoute() bool { if m != nil { return m.SecondaryRoute } return false } type GracefulRestart struct { Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` RestartTime uint32 `protobuf:"varint,2,opt,name=restart_time,json=restartTime" json:"restart_time,omitempty"` HelperOnly bool `protobuf:"varint,3,opt,name=helper_only,json=helperOnly" json:"helper_only,omitempty"` DeferralTime uint32 `protobuf:"varint,4,opt,name=deferral_time,json=deferralTime" json:"deferral_time,omitempty"` NotificationEnabled bool `protobuf:"varint,5,opt,name=notification_enabled,json=notificationEnabled" json:"notification_enabled,omitempty"` LonglivedEnabled bool `protobuf:"varint,6,opt,name=longlived_enabled,json=longlivedEnabled" json:"longlived_enabled,omitempty"` StaleRoutesTime uint32 `protobuf:"varint,7,opt,name=stale_routes_time,json=staleRoutesTime" json:"stale_routes_time,omitempty"` PeerRestartTime uint32 `protobuf:"varint,8,opt,name=peer_restart_time,json=peerRestartTime" json:"peer_restart_time,omitempty"` PeerRestarting bool `protobuf:"varint,9,opt,name=peer_restarting,json=peerRestarting" json:"peer_restarting,omitempty"` LocalRestarting bool `protobuf:"varint,10,opt,name=local_restarting,json=localRestarting" json:"local_restarting,omitempty"` Mode string `protobuf:"bytes,11,opt,name=mode" json:"mode,omitempty"` } func (m *GracefulRestart) Reset() { *m = GracefulRestart{} } func (m *GracefulRestart) String() string { return proto.CompactTextString(m) } func (*GracefulRestart) ProtoMessage() {} func (*GracefulRestart) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{91} } func (m *GracefulRestart) GetEnabled() bool { if m != nil { return m.Enabled } return false } func (m *GracefulRestart) GetRestartTime() uint32 { if m != nil { return m.RestartTime } return 0 } func (m *GracefulRestart) GetHelperOnly() bool { if m != nil { return m.HelperOnly } return false } func (m *GracefulRestart) GetDeferralTime() uint32 { if m != nil { return m.DeferralTime } return 0 } func (m *GracefulRestart) GetNotificationEnabled() bool { if m != nil { return m.NotificationEnabled } return false } func (m *GracefulRestart) GetLonglivedEnabled() bool { if m != nil { return m.LonglivedEnabled } return false } func (m *GracefulRestart) GetStaleRoutesTime() uint32 { if m != nil { return m.StaleRoutesTime } return 0 } func (m *GracefulRestart) GetPeerRestartTime() uint32 { if m != nil { return m.PeerRestartTime } return 0 } func (m *GracefulRestart) GetPeerRestarting() bool { if m != nil { return m.PeerRestarting } return false } func (m *GracefulRestart) GetLocalRestarting() bool { if m != nil { return m.LocalRestarting } return false } func (m *GracefulRestart) GetMode() string { if m != nil { return m.Mode } return "" } type MpGracefulRestartConfig struct { Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` } func (m *MpGracefulRestartConfig) Reset() { *m = MpGracefulRestartConfig{} } func (m *MpGracefulRestartConfig) String() string { return proto.CompactTextString(m) } func (*MpGracefulRestartConfig) ProtoMessage() {} func (*MpGracefulRestartConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{92} } func (m *MpGracefulRestartConfig) GetEnabled() bool { if m != nil { return m.Enabled } return false } type MpGracefulRestartState struct { Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` Received bool `protobuf:"varint,2,opt,name=received" json:"received,omitempty"` Advertised bool `protobuf:"varint,3,opt,name=advertised" json:"advertised,omitempty"` EndOfRibReceived bool `protobuf:"varint,4,opt,name=end_of_rib_received,json=endOfRibReceived" json:"end_of_rib_received,omitempty"` EndOfRibSent bool `protobuf:"varint,5,opt,name=end_of_rib_sent,json=endOfRibSent" json:"end_of_rib_sent,omitempty"` } func (m *MpGracefulRestartState) Reset() { *m = MpGracefulRestartState{} } func (m *MpGracefulRestartState) String() string { return proto.CompactTextString(m) } func (*MpGracefulRestartState) ProtoMessage() {} func (*MpGracefulRestartState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{93} } func (m *MpGracefulRestartState) GetEnabled() bool { if m != nil { return m.Enabled } return false } func (m *MpGracefulRestartState) GetReceived() bool { if m != nil { return m.Received } return false } func (m *MpGracefulRestartState) GetAdvertised() bool { if m != nil { return m.Advertised } return false } func (m *MpGracefulRestartState) GetEndOfRibReceived() bool { if m != nil { return m.EndOfRibReceived } return false } func (m *MpGracefulRestartState) GetEndOfRibSent() bool { if m != nil { return m.EndOfRibSent } return false } type MpGracefulRestart struct { Config *MpGracefulRestartConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` State *MpGracefulRestartState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` } func (m *MpGracefulRestart) Reset() { *m = MpGracefulRestart{} } func (m *MpGracefulRestart) String() string { return proto.CompactTextString(m) } func (*MpGracefulRestart) ProtoMessage() {} func (*MpGracefulRestart) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{94} } func (m *MpGracefulRestart) GetConfig() *MpGracefulRestartConfig { if m != nil { return m.Config } return nil } func (m *MpGracefulRestart) GetState() *MpGracefulRestartState { if m != nil { return m.State } return nil } type AfiSafiConfig struct { Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"` Enabled bool `protobuf:"varint,2,opt,name=enabled" json:"enabled,omitempty"` } func (m *AfiSafiConfig) Reset() { *m = AfiSafiConfig{} } func (m *AfiSafiConfig) String() string { return proto.CompactTextString(m) } func (*AfiSafiConfig) ProtoMessage() {} func (*AfiSafiConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{95} } func (m *AfiSafiConfig) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *AfiSafiConfig) GetEnabled() bool { if m != nil { return m.Enabled } return false } type AfiSafiState struct { Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"` Enabled bool `protobuf:"varint,2,opt,name=enabled" json:"enabled,omitempty"` Received uint64 `protobuf:"varint,3,opt,name=received" json:"received,omitempty"` Accepted uint64 `protobuf:"varint,4,opt,name=accepted" json:"accepted,omitempty"` Advertised uint64 `protobuf:"varint,5,opt,name=advertised" json:"advertised,omitempty"` } func (m *AfiSafiState) Reset() { *m = AfiSafiState{} } func (m *AfiSafiState) String() string { return proto.CompactTextString(m) } func (*AfiSafiState) ProtoMessage() {} func (*AfiSafiState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{96} } func (m *AfiSafiState) GetFamily() *Family { if m != nil { return m.Family } return nil } func (m *AfiSafiState) GetEnabled() bool { if m != nil { return m.Enabled } return false } func (m *AfiSafiState) GetReceived() uint64 { if m != nil { return m.Received } return 0 } func (m *AfiSafiState) GetAccepted() uint64 { if m != nil { return m.Accepted } return 0 } func (m *AfiSafiState) GetAdvertised() uint64 { if m != nil { return m.Advertised } return 0 } type RouteSelectionOptionsConfig struct { AlwaysCompareMed bool `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed" json:"always_compare_med,omitempty"` IgnoreAsPathLength bool `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength" json:"ignore_as_path_length,omitempty"` ExternalCompareRouterId bool `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId" json:"external_compare_router_id,omitempty"` AdvertiseInactiveRoutes bool `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes" json:"advertise_inactive_routes,omitempty"` EnableAigp bool `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp" json:"enable_aigp,omitempty"` IgnoreNextHopIgpMetric bool `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric" json:"ignore_next_hop_igp_metric,omitempty"` DisableBestPathSelection bool `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection" json:"disable_best_path_selection,omitempty"` } func (m *RouteSelectionOptionsConfig) Reset() { *m = RouteSelectionOptionsConfig{} } func (m *RouteSelectionOptionsConfig) String() string { return proto.CompactTextString(m) } func (*RouteSelectionOptionsConfig) ProtoMessage() {} func (*RouteSelectionOptionsConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{97} } func (m *RouteSelectionOptionsConfig) GetAlwaysCompareMed() bool { if m != nil { return m.AlwaysCompareMed } return false } func (m *RouteSelectionOptionsConfig) GetIgnoreAsPathLength() bool { if m != nil { return m.IgnoreAsPathLength } return false } func (m *RouteSelectionOptionsConfig) GetExternalCompareRouterId() bool { if m != nil { return m.ExternalCompareRouterId } return false } func (m *RouteSelectionOptionsConfig) GetAdvertiseInactiveRoutes() bool { if m != nil { return m.AdvertiseInactiveRoutes } return false } func (m *RouteSelectionOptionsConfig) GetEnableAigp() bool { if m != nil { return m.EnableAigp } return false } func (m *RouteSelectionOptionsConfig) GetIgnoreNextHopIgpMetric() bool { if m != nil { return m.IgnoreNextHopIgpMetric } return false } func (m *RouteSelectionOptionsConfig) GetDisableBestPathSelection() bool { if m != nil { return m.DisableBestPathSelection } return false } type RouteSelectionOptionsState struct { AlwaysCompareMed bool `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed" json:"always_compare_med,omitempty"` IgnoreAsPathLength bool `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength" json:"ignore_as_path_length,omitempty"` ExternalCompareRouterId bool `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId" json:"external_compare_router_id,omitempty"` AdvertiseInactiveRoutes bool `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes" json:"advertise_inactive_routes,omitempty"` EnableAigp bool `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp" json:"enable_aigp,omitempty"` IgnoreNextHopIgpMetric bool `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric" json:"ignore_next_hop_igp_metric,omitempty"` DisableBestPathSelection bool `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection" json:"disable_best_path_selection,omitempty"` } func (m *RouteSelectionOptionsState) Reset() { *m = RouteSelectionOptionsState{} } func (m *RouteSelectionOptionsState) String() string { return proto.CompactTextString(m) } func (*RouteSelectionOptionsState) ProtoMessage() {} func (*RouteSelectionOptionsState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{98} } func (m *RouteSelectionOptionsState) GetAlwaysCompareMed() bool { if m != nil { return m.AlwaysCompareMed } return false } func (m *RouteSelectionOptionsState) GetIgnoreAsPathLength() bool { if m != nil { return m.IgnoreAsPathLength } return false } func (m *RouteSelectionOptionsState) GetExternalCompareRouterId() bool { if m != nil { return m.ExternalCompareRouterId } return false } func (m *RouteSelectionOptionsState) GetAdvertiseInactiveRoutes() bool { if m != nil { return m.AdvertiseInactiveRoutes } return false } func (m *RouteSelectionOptionsState) GetEnableAigp() bool { if m != nil { return m.EnableAigp } return false } func (m *RouteSelectionOptionsState) GetIgnoreNextHopIgpMetric() bool { if m != nil { return m.IgnoreNextHopIgpMetric } return false } func (m *RouteSelectionOptionsState) GetDisableBestPathSelection() bool { if m != nil { return m.DisableBestPathSelection } return false } type RouteSelectionOptions struct { Config *RouteSelectionOptionsConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` State *RouteSelectionOptionsState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` } func (m *RouteSelectionOptions) Reset() { *m = RouteSelectionOptions{} } func (m *RouteSelectionOptions) String() string { return proto.CompactTextString(m) } func (*RouteSelectionOptions) ProtoMessage() {} func (*RouteSelectionOptions) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{99} } func (m *RouteSelectionOptions) GetConfig() *RouteSelectionOptionsConfig { if m != nil { return m.Config } return nil } func (m *RouteSelectionOptions) GetState() *RouteSelectionOptionsState { if m != nil { return m.State } return nil } type UseMultiplePathsConfig struct { Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` } func (m *UseMultiplePathsConfig) Reset() { *m = UseMultiplePathsConfig{} } func (m *UseMultiplePathsConfig) String() string { return proto.CompactTextString(m) } func (*UseMultiplePathsConfig) ProtoMessage() {} func (*UseMultiplePathsConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{100} } func (m *UseMultiplePathsConfig) GetEnabled() bool { if m != nil { return m.Enabled } return false } type UseMultiplePathsState struct { Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` } func (m *UseMultiplePathsState) Reset() { *m = UseMultiplePathsState{} } func (m *UseMultiplePathsState) String() string { return proto.CompactTextString(m) } func (*UseMultiplePathsState) ProtoMessage() {} func (*UseMultiplePathsState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{101} } func (m *UseMultiplePathsState) GetEnabled() bool { if m != nil { return m.Enabled } return false } type EbgpConfig struct { AllowMultipleAs bool `protobuf:"varint,1,opt,name=allow_multiple_as,json=allowMultipleAs" json:"allow_multiple_as,omitempty"` MaximumPaths uint32 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths" json:"maximum_paths,omitempty"` } func (m *EbgpConfig) Reset() { *m = EbgpConfig{} } func (m *EbgpConfig) String() string { return proto.CompactTextString(m) } func (*EbgpConfig) ProtoMessage() {} func (*EbgpConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{102} } func (m *EbgpConfig) GetAllowMultipleAs() bool { if m != nil { return m.AllowMultipleAs } return false } func (m *EbgpConfig) GetMaximumPaths() uint32 { if m != nil { return m.MaximumPaths } return 0 } type EbgpState struct { AllowMultipleAs bool `protobuf:"varint,1,opt,name=allow_multiple_as,json=allowMultipleAs" json:"allow_multiple_as,omitempty"` MaximumPaths uint32 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths" json:"maximum_paths,omitempty"` } func (m *EbgpState) Reset() { *m = EbgpState{} } func (m *EbgpState) String() string { return proto.CompactTextString(m) } func (*EbgpState) ProtoMessage() {} func (*EbgpState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{103} } func (m *EbgpState) GetAllowMultipleAs() bool { if m != nil { return m.AllowMultipleAs } return false } func (m *EbgpState) GetMaximumPaths() uint32 { if m != nil { return m.MaximumPaths } return 0 } type Ebgp struct { Config *EbgpConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` State *EbgpState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` } func (m *Ebgp) Reset() { *m = Ebgp{} } func (m *Ebgp) String() string { return proto.CompactTextString(m) } func (*Ebgp) ProtoMessage() {} func (*Ebgp) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{104} } func (m *Ebgp) GetConfig() *EbgpConfig { if m != nil { return m.Config } return nil } func (m *Ebgp) GetState() *EbgpState { if m != nil { return m.State } return nil } type IbgpConfig struct { MaximumPaths uint32 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths" json:"maximum_paths,omitempty"` } func (m *IbgpConfig) Reset() { *m = IbgpConfig{} } func (m *IbgpConfig) String() string { return proto.CompactTextString(m) } func (*IbgpConfig) ProtoMessage() {} func (*IbgpConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{105} } func (m *IbgpConfig) GetMaximumPaths() uint32 { if m != nil { return m.MaximumPaths } return 0 } type IbgpState struct { MaximumPaths uint32 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths" json:"maximum_paths,omitempty"` } func (m *IbgpState) Reset() { *m = IbgpState{} } func (m *IbgpState) String() string { return proto.CompactTextString(m) } func (*IbgpState) ProtoMessage() {} func (*IbgpState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{106} } func (m *IbgpState) GetMaximumPaths() uint32 { if m != nil { return m.MaximumPaths } return 0 } type Ibgp struct { Config *IbgpConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` State *IbgpState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` } func (m *Ibgp) Reset() { *m = Ibgp{} } func (m *Ibgp) String() string { return proto.CompactTextString(m) } func (*Ibgp) ProtoMessage() {} func (*Ibgp) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{107} } func (m *Ibgp) GetConfig() *IbgpConfig { if m != nil { return m.Config } return nil } func (m *Ibgp) GetState() *IbgpState { if m != nil { return m.State } return nil } type UseMultiplePaths struct { Config *UseMultiplePathsConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` State *UseMultiplePathsState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` Ebgp *Ebgp `protobuf:"bytes,3,opt,name=ebgp" json:"ebgp,omitempty"` Ibgp *Ibgp `protobuf:"bytes,4,opt,name=ibgp" json:"ibgp,omitempty"` } func (m *UseMultiplePaths) Reset() { *m = UseMultiplePaths{} } func (m *UseMultiplePaths) String() string { return proto.CompactTextString(m) } func (*UseMultiplePaths) ProtoMessage() {} func (*UseMultiplePaths) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{108} } func (m *UseMultiplePaths) GetConfig() *UseMultiplePathsConfig { if m != nil { return m.Config } return nil } func (m *UseMultiplePaths) GetState() *UseMultiplePathsState { if m != nil { return m.State } return nil } func (m *UseMultiplePaths) GetEbgp() *Ebgp { if m != nil { return m.Ebgp } return nil } func (m *UseMultiplePaths) GetIbgp() *Ibgp { if m != nil { return m.Ibgp } return nil } type RouteTargetMembershipConfig struct { DeferralTime uint32 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime" json:"deferral_time,omitempty"` } func (m *RouteTargetMembershipConfig) Reset() { *m = RouteTargetMembershipConfig{} } func (m *RouteTargetMembershipConfig) String() string { return proto.CompactTextString(m) } func (*RouteTargetMembershipConfig) ProtoMessage() {} func (*RouteTargetMembershipConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{109} } func (m *RouteTargetMembershipConfig) GetDeferralTime() uint32 { if m != nil { return m.DeferralTime } return 0 } type RouteTargetMembershipState struct { DeferralTime uint32 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime" json:"deferral_time,omitempty"` } func (m *RouteTargetMembershipState) Reset() { *m = RouteTargetMembershipState{} } func (m *RouteTargetMembershipState) String() string { return proto.CompactTextString(m) } func (*RouteTargetMembershipState) ProtoMessage() {} func (*RouteTargetMembershipState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{110} } func (m *RouteTargetMembershipState) GetDeferralTime() uint32 { if m != nil { return m.DeferralTime } return 0 } type RouteTargetMembership struct { Config *RouteTargetMembershipConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` State *RouteTargetMembershipState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` } func (m *RouteTargetMembership) Reset() { *m = RouteTargetMembership{} } func (m *RouteTargetMembership) String() string { return proto.CompactTextString(m) } func (*RouteTargetMembership) ProtoMessage() {} func (*RouteTargetMembership) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{111} } func (m *RouteTargetMembership) GetConfig() *RouteTargetMembershipConfig { if m != nil { return m.Config } return nil } func (m *RouteTargetMembership) GetState() *RouteTargetMembershipState { if m != nil { return m.State } return nil } type LongLivedGracefulRestartConfig struct { Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` RestartTime uint32 `protobuf:"varint,2,opt,name=restart_time,json=restartTime" json:"restart_time,omitempty"` } func (m *LongLivedGracefulRestartConfig) Reset() { *m = LongLivedGracefulRestartConfig{} } func (m *LongLivedGracefulRestartConfig) String() string { return proto.CompactTextString(m) } func (*LongLivedGracefulRestartConfig) ProtoMessage() {} func (*LongLivedGracefulRestartConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{112} } func (m *LongLivedGracefulRestartConfig) GetEnabled() bool { if m != nil { return m.Enabled } return false } func (m *LongLivedGracefulRestartConfig) GetRestartTime() uint32 { if m != nil { return m.RestartTime } return 0 } type LongLivedGracefulRestartState struct { Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` Received bool `protobuf:"varint,2,opt,name=received" json:"received,omitempty"` Advertised bool `protobuf:"varint,3,opt,name=advertised" json:"advertised,omitempty"` PeerRestartTime uint32 `protobuf:"varint,4,opt,name=peer_restart_time,json=peerRestartTime" json:"peer_restart_time,omitempty"` PeerRestartTimerExpired bool `protobuf:"varint,5,opt,name=peer_restart_timer_expired,json=peerRestartTimerExpired" json:"peer_restart_timer_expired,omitempty"` } func (m *LongLivedGracefulRestartState) Reset() { *m = LongLivedGracefulRestartState{} } func (m *LongLivedGracefulRestartState) String() string { return proto.CompactTextString(m) } func (*LongLivedGracefulRestartState) ProtoMessage() {} func (*LongLivedGracefulRestartState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{113} } func (m *LongLivedGracefulRestartState) GetEnabled() bool { if m != nil { return m.Enabled } return false } func (m *LongLivedGracefulRestartState) GetReceived() bool { if m != nil { return m.Received } return false } func (m *LongLivedGracefulRestartState) GetAdvertised() bool { if m != nil { return m.Advertised } return false } func (m *LongLivedGracefulRestartState) GetPeerRestartTime() uint32 { if m != nil { return m.PeerRestartTime } return 0 } func (m *LongLivedGracefulRestartState) GetPeerRestartTimerExpired() bool { if m != nil { return m.PeerRestartTimerExpired } return false } type LongLivedGracefulRestart struct { Config *LongLivedGracefulRestartConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` State *LongLivedGracefulRestartState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` } func (m *LongLivedGracefulRestart) Reset() { *m = LongLivedGracefulRestart{} } func (m *LongLivedGracefulRestart) String() string { return proto.CompactTextString(m) } func (*LongLivedGracefulRestart) ProtoMessage() {} func (*LongLivedGracefulRestart) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{114} } func (m *LongLivedGracefulRestart) GetConfig() *LongLivedGracefulRestartConfig { if m != nil { return m.Config } return nil } func (m *LongLivedGracefulRestart) GetState() *LongLivedGracefulRestartState { if m != nil { return m.State } return nil } type AfiSafi struct { MpGracefulRestart *MpGracefulRestart `protobuf:"bytes,1,opt,name=mp_graceful_restart,json=mpGracefulRestart" json:"mp_graceful_restart,omitempty"` Config *AfiSafiConfig `protobuf:"bytes,2,opt,name=config" json:"config,omitempty"` State *AfiSafiState `protobuf:"bytes,3,opt,name=state" json:"state,omitempty"` ApplyPolicy *ApplyPolicy `protobuf:"bytes,4,opt,name=apply_policy,json=applyPolicy" json:"apply_policy,omitempty"` // TODO: // Support the following structures: // - Ipv4Unicast // - Ipv6Unicast // - Ipv4LabelledUnicast // - Ipv6LabelledUnicast // - L3vpnIpv4Unicast // - L3vpnIpv6Unicast // - L3vpnIpv4Multicast // - L3vpnIpv6Multicast // - L2vpnVpls // - L2vpnEvpn RouteSelectionOptions *RouteSelectionOptions `protobuf:"bytes,5,opt,name=route_selection_options,json=routeSelectionOptions" json:"route_selection_options,omitempty"` UseMultiplePaths *UseMultiplePaths `protobuf:"bytes,6,opt,name=use_multiple_paths,json=useMultiplePaths" json:"use_multiple_paths,omitempty"` PrefixLimits *PrefixLimit `protobuf:"bytes,7,opt,name=prefix_limits,json=prefixLimits" json:"prefix_limits,omitempty"` RouteTargetMembership *RouteTargetMembership `protobuf:"bytes,8,opt,name=route_target_membership,json=routeTargetMembership" json:"route_target_membership,omitempty"` LongLivedGracefulRestart *LongLivedGracefulRestart `protobuf:"bytes,9,opt,name=long_lived_graceful_restart,json=longLivedGracefulRestart" json:"long_lived_graceful_restart,omitempty"` AddPaths *AddPaths `protobuf:"bytes,10,opt,name=add_paths,json=addPaths" json:"add_paths,omitempty"` } func (m *AfiSafi) Reset() { *m = AfiSafi{} } func (m *AfiSafi) String() string { return proto.CompactTextString(m) } func (*AfiSafi) ProtoMessage() {} func (*AfiSafi) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{115} } func (m *AfiSafi) GetMpGracefulRestart() *MpGracefulRestart { if m != nil { return m.MpGracefulRestart } return nil } func (m *AfiSafi) GetConfig() *AfiSafiConfig { if m != nil { return m.Config } return nil } func (m *AfiSafi) GetState() *AfiSafiState { if m != nil { return m.State } return nil } func (m *AfiSafi) GetApplyPolicy() *ApplyPolicy { if m != nil { return m.ApplyPolicy } return nil } func (m *AfiSafi) GetRouteSelectionOptions() *RouteSelectionOptions { if m != nil { return m.RouteSelectionOptions } return nil } func (m *AfiSafi) GetUseMultiplePaths() *UseMultiplePaths { if m != nil { return m.UseMultiplePaths } return nil } func (m *AfiSafi) GetPrefixLimits() *PrefixLimit { if m != nil { return m.PrefixLimits } return nil } func (m *AfiSafi) GetRouteTargetMembership() *RouteTargetMembership { if m != nil { return m.RouteTargetMembership } return nil } func (m *AfiSafi) GetLongLivedGracefulRestart() *LongLivedGracefulRestart { if m != nil { return m.LongLivedGracefulRestart } return nil } func (m *AfiSafi) GetAddPaths() *AddPaths { if m != nil { return m.AddPaths } return nil } type AddPathsConfig struct { Receive bool `protobuf:"varint,1,opt,name=receive" json:"receive,omitempty"` SendMax uint32 `protobuf:"varint,2,opt,name=send_max,json=sendMax" json:"send_max,omitempty"` } func (m *AddPathsConfig) Reset() { *m = AddPathsConfig{} } func (m *AddPathsConfig) String() string { return proto.CompactTextString(m) } func (*AddPathsConfig) ProtoMessage() {} func (*AddPathsConfig) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{116} } func (m *AddPathsConfig) GetReceive() bool { if m != nil { return m.Receive } return false } func (m *AddPathsConfig) GetSendMax() uint32 { if m != nil { return m.SendMax } return 0 } type AddPathsState struct { Receive bool `protobuf:"varint,1,opt,name=receive" json:"receive,omitempty"` SendMax uint32 `protobuf:"varint,2,opt,name=send_max,json=sendMax" json:"send_max,omitempty"` } func (m *AddPathsState) Reset() { *m = AddPathsState{} } func (m *AddPathsState) String() string { return proto.CompactTextString(m) } func (*AddPathsState) ProtoMessage() {} func (*AddPathsState) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{117} } func (m *AddPathsState) GetReceive() bool { if m != nil { return m.Receive } return false } func (m *AddPathsState) GetSendMax() uint32 { if m != nil { return m.SendMax } return 0 } type AddPaths struct { Config *AddPathsConfig `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` State *AddPathsState `protobuf:"bytes,2,opt,name=state" json:"state,omitempty"` } func (m *AddPaths) Reset() { *m = AddPaths{} } func (m *AddPaths) String() string { return proto.CompactTextString(m) } func (*AddPaths) ProtoMessage() {} func (*AddPaths) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{118} } func (m *AddPaths) GetConfig() *AddPathsConfig { if m != nil { return m.Config } return nil } func (m *AddPaths) GetState() *AddPathsState { if m != nil { return m.State } return nil } type Prefix struct { IpPrefix string `protobuf:"bytes,1,opt,name=ip_prefix,json=ipPrefix" json:"ip_prefix,omitempty"` MaskLengthMin uint32 `protobuf:"varint,2,opt,name=mask_length_min,json=maskLengthMin" json:"mask_length_min,omitempty"` MaskLengthMax uint32 `protobuf:"varint,3,opt,name=mask_length_max,json=maskLengthMax" json:"mask_length_max,omitempty"` } func (m *Prefix) Reset() { *m = Prefix{} } func (m *Prefix) String() string { return proto.CompactTextString(m) } func (*Prefix) ProtoMessage() {} func (*Prefix) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{119} } func (m *Prefix) GetIpPrefix() string { if m != nil { return m.IpPrefix } return "" } func (m *Prefix) GetMaskLengthMin() uint32 { if m != nil { return m.MaskLengthMin } return 0 } func (m *Prefix) GetMaskLengthMax() uint32 { if m != nil { return m.MaskLengthMax } return 0 } type DefinedSet struct { DefinedType DefinedType `protobuf:"varint,1,opt,name=defined_type,json=definedType,enum=gobgpapi.DefinedType" json:"defined_type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` List []string `protobuf:"bytes,3,rep,name=list" json:"list,omitempty"` Prefixes []*Prefix `protobuf:"bytes,4,rep,name=prefixes" json:"prefixes,omitempty"` } func (m *DefinedSet) Reset() { *m = DefinedSet{} } func (m *DefinedSet) String() string { return proto.CompactTextString(m) } func (*DefinedSet) ProtoMessage() {} func (*DefinedSet) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{120} } func (m *DefinedSet) GetDefinedType() DefinedType { if m != nil { return m.DefinedType } return DefinedType_PREFIX } func (m *DefinedSet) GetName() string { if m != nil { return m.Name } return "" } func (m *DefinedSet) GetList() []string { if m != nil { return m.List } return nil } func (m *DefinedSet) GetPrefixes() []*Prefix { if m != nil { return m.Prefixes } return nil } type MatchSet struct { MatchType MatchType `protobuf:"varint,1,opt,name=match_type,json=matchType,enum=gobgpapi.MatchType" json:"match_type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` } func (m *MatchSet) Reset() { *m = MatchSet{} } func (m *MatchSet) String() string { return proto.CompactTextString(m) } func (*MatchSet) ProtoMessage() {} func (*MatchSet) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{121} } func (m *MatchSet) GetMatchType() MatchType { if m != nil { return m.MatchType } return MatchType_ANY } func (m *MatchSet) GetName() string { if m != nil { return m.Name } return "" } type AsPathLength struct { LengthType AsPathLengthType `protobuf:"varint,1,opt,name=length_type,json=lengthType,enum=gobgpapi.AsPathLengthType" json:"length_type,omitempty"` Length uint32 `protobuf:"varint,2,opt,name=length" json:"length,omitempty"` } func (m *AsPathLength) Reset() { *m = AsPathLength{} } func (m *AsPathLength) String() string { return proto.CompactTextString(m) } func (*AsPathLength) ProtoMessage() {} func (*AsPathLength) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{122} } func (m *AsPathLength) GetLengthType() AsPathLengthType { if m != nil { return m.LengthType } return AsPathLengthType_EQ } func (m *AsPathLength) GetLength() uint32 { if m != nil { return m.Length } return 0 } type Conditions struct { PrefixSet *MatchSet `protobuf:"bytes,1,opt,name=prefix_set,json=prefixSet" json:"prefix_set,omitempty"` NeighborSet *MatchSet `protobuf:"bytes,2,opt,name=neighbor_set,json=neighborSet" json:"neighbor_set,omitempty"` AsPathLength *AsPathLength `protobuf:"bytes,3,opt,name=as_path_length,json=asPathLength" json:"as_path_length,omitempty"` AsPathSet *MatchSet `protobuf:"bytes,4,opt,name=as_path_set,json=asPathSet" json:"as_path_set,omitempty"` CommunitySet *MatchSet `protobuf:"bytes,5,opt,name=community_set,json=communitySet" json:"community_set,omitempty"` ExtCommunitySet *MatchSet `protobuf:"bytes,6,opt,name=ext_community_set,json=extCommunitySet" json:"ext_community_set,omitempty"` RpkiResult int32 `protobuf:"varint,7,opt,name=rpki_result,json=rpkiResult" json:"rpki_result,omitempty"` RouteType Conditions_RouteType `protobuf:"varint,8,opt,name=route_type,json=routeType,enum=gobgpapi.Conditions_RouteType" json:"route_type,omitempty"` LargeCommunitySet *MatchSet `protobuf:"bytes,9,opt,name=large_community_set,json=largeCommunitySet" json:"large_community_set,omitempty"` NextHopInList []string `protobuf:"bytes,10,rep,name=next_hop_in_list,json=nextHopInList" json:"next_hop_in_list,omitempty"` AfiSafiIn []*Family `protobuf:"bytes,11,rep,name=afi_safi_in,json=afiSafiIn" json:"afi_safi_in,omitempty"` } func (m *Conditions) Reset() { *m = Conditions{} } func (m *Conditions) String() string { return proto.CompactTextString(m) } func (*Conditions) ProtoMessage() {} func (*Conditions) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{123} } func (m *Conditions) GetPrefixSet() *MatchSet { if m != nil { return m.PrefixSet } return nil } func (m *Conditions) GetNeighborSet() *MatchSet { if m != nil { return m.NeighborSet } return nil } func (m *Conditions) GetAsPathLength() *AsPathLength { if m != nil { return m.AsPathLength } return nil } func (m *Conditions) GetAsPathSet() *MatchSet { if m != nil { return m.AsPathSet } return nil } func (m *Conditions) GetCommunitySet() *MatchSet { if m != nil { return m.CommunitySet } return nil } func (m *Conditions) GetExtCommunitySet() *MatchSet { if m != nil { return m.ExtCommunitySet } return nil } func (m *Conditions) GetRpkiResult() int32 { if m != nil { return m.RpkiResult } return 0 } func (m *Conditions) GetRouteType() Conditions_RouteType { if m != nil { return m.RouteType } return Conditions_ROUTE_TYPE_NONE } func (m *Conditions) GetLargeCommunitySet() *MatchSet { if m != nil { return m.LargeCommunitySet } return nil } func (m *Conditions) GetNextHopInList() []string { if m != nil { return m.NextHopInList } return nil } func (m *Conditions) GetAfiSafiIn() []*Family { if m != nil { return m.AfiSafiIn } return nil } type CommunityAction struct { ActionType CommunityActionType `protobuf:"varint,1,opt,name=action_type,json=actionType,enum=gobgpapi.CommunityActionType" json:"action_type,omitempty"` Communities []string `protobuf:"bytes,2,rep,name=communities" json:"communities,omitempty"` } func (m *CommunityAction) Reset() { *m = CommunityAction{} } func (m *CommunityAction) String() string { return proto.CompactTextString(m) } func (*CommunityAction) ProtoMessage() {} func (*CommunityAction) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{124} } func (m *CommunityAction) GetActionType() CommunityActionType { if m != nil { return m.ActionType } return CommunityActionType_COMMUNITY_ADD } func (m *CommunityAction) GetCommunities() []string { if m != nil { return m.Communities } return nil } type MedAction struct { ActionType MedActionType `protobuf:"varint,1,opt,name=action_type,json=actionType,enum=gobgpapi.MedActionType" json:"action_type,omitempty"` Value int64 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"` } func (m *MedAction) Reset() { *m = MedAction{} } func (m *MedAction) String() string { return proto.CompactTextString(m) } func (*MedAction) ProtoMessage() {} func (*MedAction) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{125} } func (m *MedAction) GetActionType() MedActionType { if m != nil { return m.ActionType } return MedActionType_MED_MOD } func (m *MedAction) GetValue() int64 { if m != nil { return m.Value } return 0 } type AsPrependAction struct { Asn uint32 `protobuf:"varint,1,opt,name=asn" json:"asn,omitempty"` Repeat uint32 `protobuf:"varint,2,opt,name=repeat" json:"repeat,omitempty"` UseLeftMost bool `protobuf:"varint,3,opt,name=use_left_most,json=useLeftMost" json:"use_left_most,omitempty"` } func (m *AsPrependAction) Reset() { *m = AsPrependAction{} } func (m *AsPrependAction) String() string { return proto.CompactTextString(m) } func (*AsPrependAction) ProtoMessage() {} func (*AsPrependAction) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{126} } func (m *AsPrependAction) GetAsn() uint32 { if m != nil { return m.Asn } return 0 } func (m *AsPrependAction) GetRepeat() uint32 { if m != nil { return m.Repeat } return 0 } func (m *AsPrependAction) GetUseLeftMost() bool { if m != nil { return m.UseLeftMost } return false } type NexthopAction struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Self bool `protobuf:"varint,2,opt,name=self" json:"self,omitempty"` } func (m *NexthopAction) Reset() { *m = NexthopAction{} } func (m *NexthopAction) String() string { return proto.CompactTextString(m) } func (*NexthopAction) ProtoMessage() {} func (*NexthopAction) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{127} } func (m *NexthopAction) GetAddress() string { if m != nil { return m.Address } return "" } func (m *NexthopAction) GetSelf() bool { if m != nil { return m.Self } return false } type LocalPrefAction struct { Value uint32 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"` } func (m *LocalPrefAction) Reset() { *m = LocalPrefAction{} } func (m *LocalPrefAction) String() string { return proto.CompactTextString(m) } func (*LocalPrefAction) ProtoMessage() {} func (*LocalPrefAction) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{128} } func (m *LocalPrefAction) GetValue() uint32 { if m != nil { return m.Value } return 0 } type Actions struct { RouteAction RouteAction `protobuf:"varint,1,opt,name=route_action,json=routeAction,enum=gobgpapi.RouteAction" json:"route_action,omitempty"` Community *CommunityAction `protobuf:"bytes,2,opt,name=community" json:"community,omitempty"` Med *MedAction `protobuf:"bytes,3,opt,name=med" json:"med,omitempty"` AsPrepend *AsPrependAction `protobuf:"bytes,4,opt,name=as_prepend,json=asPrepend" json:"as_prepend,omitempty"` ExtCommunity *CommunityAction `protobuf:"bytes,5,opt,name=ext_community,json=extCommunity" json:"ext_community,omitempty"` Nexthop *NexthopAction `protobuf:"bytes,6,opt,name=nexthop" json:"nexthop,omitempty"` LocalPref *LocalPrefAction `protobuf:"bytes,7,opt,name=local_pref,json=localPref" json:"local_pref,omitempty"` LargeCommunity *CommunityAction `protobuf:"bytes,8,opt,name=large_community,json=largeCommunity" json:"large_community,omitempty"` } func (m *Actions) Reset() { *m = Actions{} } func (m *Actions) String() string { return proto.CompactTextString(m) } func (*Actions) ProtoMessage() {} func (*Actions) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{129} } func (m *Actions) GetRouteAction() RouteAction { if m != nil { return m.RouteAction } return RouteAction_NONE } func (m *Actions) GetCommunity() *CommunityAction { if m != nil { return m.Community } return nil } func (m *Actions) GetMed() *MedAction { if m != nil { return m.Med } return nil } func (m *Actions) GetAsPrepend() *AsPrependAction { if m != nil { return m.AsPrepend } return nil } func (m *Actions) GetExtCommunity() *CommunityAction { if m != nil { return m.ExtCommunity } return nil } func (m *Actions) GetNexthop() *NexthopAction { if m != nil { return m.Nexthop } return nil } func (m *Actions) GetLocalPref() *LocalPrefAction { if m != nil { return m.LocalPref } return nil } func (m *Actions) GetLargeCommunity() *CommunityAction { if m != nil { return m.LargeCommunity } return nil } type Statement struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` Conditions *Conditions `protobuf:"bytes,2,opt,name=conditions" json:"conditions,omitempty"` Actions *Actions `protobuf:"bytes,3,opt,name=actions" json:"actions,omitempty"` } func (m *Statement) Reset() { *m = Statement{} } func (m *Statement) String() string { return proto.CompactTextString(m) } func (*Statement) ProtoMessage() {} func (*Statement) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{130} } func (m *Statement) GetName() string { if m != nil { return m.Name } return "" } func (m *Statement) GetConditions() *Conditions { if m != nil { return m.Conditions } return nil } func (m *Statement) GetActions() *Actions { if m != nil { return m.Actions } return nil } type Policy struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` Statements []*Statement `protobuf:"bytes,2,rep,name=statements" json:"statements,omitempty"` } func (m *Policy) Reset() { *m = Policy{} } func (m *Policy) String() string { return proto.CompactTextString(m) } func (*Policy) ProtoMessage() {} func (*Policy) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{131} } func (m *Policy) GetName() string { if m != nil { return m.Name } return "" } func (m *Policy) GetStatements() []*Statement { if m != nil { return m.Statements } return nil } type PolicyAssignment struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` Direction PolicyDirection `protobuf:"varint,2,opt,name=direction,enum=gobgpapi.PolicyDirection" json:"direction,omitempty"` Policies []*Policy `protobuf:"bytes,4,rep,name=policies" json:"policies,omitempty"` DefaultAction RouteAction `protobuf:"varint,5,opt,name=default_action,json=defaultAction,enum=gobgpapi.RouteAction" json:"default_action,omitempty"` } func (m *PolicyAssignment) Reset() { *m = PolicyAssignment{} } func (m *PolicyAssignment) String() string { return proto.CompactTextString(m) } func (*PolicyAssignment) ProtoMessage() {} func (*PolicyAssignment) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{132} } func (m *PolicyAssignment) GetName() string { if m != nil { return m.Name } return "" } func (m *PolicyAssignment) GetDirection() PolicyDirection { if m != nil { return m.Direction } return PolicyDirection_UNKNOWN } func (m *PolicyAssignment) GetPolicies() []*Policy { if m != nil { return m.Policies } return nil } func (m *PolicyAssignment) GetDefaultAction() RouteAction { if m != nil { return m.DefaultAction } return RouteAction_NONE } type RoutingPolicy struct { DefinedSets []*DefinedSet `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets" json:"defined_sets,omitempty"` Policies []*Policy `protobuf:"bytes,2,rep,name=policies" json:"policies,omitempty"` } func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} } func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) } func (*RoutingPolicy) ProtoMessage() {} func (*RoutingPolicy) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{133} } func (m *RoutingPolicy) GetDefinedSets() []*DefinedSet { if m != nil { return m.DefinedSets } return nil } func (m *RoutingPolicy) GetPolicies() []*Policy { if m != nil { return m.Policies } return nil } 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 *Roa) Reset() { *m = Roa{} } func (m *Roa) String() string { return proto.CompactTextString(m) } func (*Roa) ProtoMessage() {} func (*Roa) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{134} } func (m *Roa) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *Roa) GetPrefixlen() uint32 { if m != nil { return m.Prefixlen } return 0 } func (m *Roa) GetMaxlen() uint32 { if m != nil { return m.Maxlen } return 0 } func (m *Roa) GetPrefix() string { if m != nil { return m.Prefix } return "" } func (m *Roa) GetConf() *RPKIConf { if m != nil { return m.Conf } return nil } type Vrf struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // Route Distinguisher must be one of // RouteDistinguisherTwoOctetAS, // RouteDistinguisherIPAddressAS, // or RouteDistinguisherFourOctetAS. Rd *google_protobuf.Any `protobuf:"bytes,2,opt,name=rd" json:"rd,omitempty"` // List of the Import Route Targets. Each must be one of // TwoOctetAsSpecificExtended, // IPv4AddressSpecificExtended, // or FourOctetAsSpecificExtended. ImportRt []*google_protobuf.Any `protobuf:"bytes,3,rep,name=import_rt,json=importRt" json:"import_rt,omitempty"` // List of the Export Route Targets. Each must be one of // TwoOctetAsSpecificExtended, // IPv4AddressSpecificExtended, // or FourOctetAsSpecificExtended. ExportRt []*google_protobuf.Any `protobuf:"bytes,4,rep,name=export_rt,json=exportRt" json:"export_rt,omitempty"` Id uint32 `protobuf:"varint,5,opt,name=id" json:"id,omitempty"` } func (m *Vrf) Reset() { *m = Vrf{} } func (m *Vrf) String() string { return proto.CompactTextString(m) } func (*Vrf) ProtoMessage() {} func (*Vrf) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{135} } func (m *Vrf) GetName() string { if m != nil { return m.Name } return "" } func (m *Vrf) GetRd() *google_protobuf.Any { if m != nil { return m.Rd } return nil } func (m *Vrf) GetImportRt() []*google_protobuf.Any { if m != nil { return m.ImportRt } return nil } func (m *Vrf) GetExportRt() []*google_protobuf.Any { if m != nil { return m.ExportRt } return nil } func (m *Vrf) GetId() uint32 { if m != nil { return m.Id } return 0 } type DefaultRouteDistance struct { ExternalRouteDistance uint32 `protobuf:"varint,1,opt,name=external_route_distance,json=externalRouteDistance" json:"external_route_distance,omitempty"` InternalRouteDistance uint32 `protobuf:"varint,2,opt,name=internal_route_distance,json=internalRouteDistance" json:"internal_route_distance,omitempty"` } func (m *DefaultRouteDistance) Reset() { *m = DefaultRouteDistance{} } func (m *DefaultRouteDistance) String() string { return proto.CompactTextString(m) } func (*DefaultRouteDistance) ProtoMessage() {} func (*DefaultRouteDistance) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{136} } func (m *DefaultRouteDistance) GetExternalRouteDistance() uint32 { if m != nil { return m.ExternalRouteDistance } return 0 } func (m *DefaultRouteDistance) GetInternalRouteDistance() uint32 { if m != nil { return m.InternalRouteDistance } return 0 } type Global struct { As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` RouterId string `protobuf:"bytes,2,opt,name=router_id,json=routerId" json:"router_id,omitempty"` ListenPort int32 `protobuf:"varint,3,opt,name=listen_port,json=listenPort" json:"listen_port,omitempty"` ListenAddresses []string `protobuf:"bytes,4,rep,name=listen_addresses,json=listenAddresses" json:"listen_addresses,omitempty"` Families []uint32 `protobuf:"varint,5,rep,packed,name=families" json:"families,omitempty"` UseMultiplePaths bool `protobuf:"varint,6,opt,name=use_multiple_paths,json=useMultiplePaths" json:"use_multiple_paths,omitempty"` RouteSelectionOptions *RouteSelectionOptionsConfig `protobuf:"bytes,7,opt,name=route_selection_options,json=routeSelectionOptions" json:"route_selection_options,omitempty"` DefaultRouteDistance *DefaultRouteDistance `protobuf:"bytes,8,opt,name=default_route_distance,json=defaultRouteDistance" json:"default_route_distance,omitempty"` Confederation *Confederation `protobuf:"bytes,9,opt,name=confederation" json:"confederation,omitempty"` GracefulRestart *GracefulRestart `protobuf:"bytes,10,opt,name=graceful_restart,json=gracefulRestart" json:"graceful_restart,omitempty"` ApplyPolicy *ApplyPolicy `protobuf:"bytes,11,opt,name=apply_policy,json=applyPolicy" json:"apply_policy,omitempty"` } func (m *Global) Reset() { *m = Global{} } func (m *Global) String() string { return proto.CompactTextString(m) } func (*Global) ProtoMessage() {} func (*Global) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{137} } func (m *Global) GetAs() uint32 { if m != nil { return m.As } return 0 } func (m *Global) GetRouterId() string { if m != nil { return m.RouterId } return "" } func (m *Global) GetListenPort() int32 { if m != nil { return m.ListenPort } return 0 } func (m *Global) GetListenAddresses() []string { if m != nil { return m.ListenAddresses } return nil } func (m *Global) GetFamilies() []uint32 { if m != nil { return m.Families } return nil } func (m *Global) GetUseMultiplePaths() bool { if m != nil { return m.UseMultiplePaths } return false } func (m *Global) GetRouteSelectionOptions() *RouteSelectionOptionsConfig { if m != nil { return m.RouteSelectionOptions } return nil } func (m *Global) GetDefaultRouteDistance() *DefaultRouteDistance { if m != nil { return m.DefaultRouteDistance } return nil } func (m *Global) GetConfederation() *Confederation { if m != nil { return m.Confederation } return nil } func (m *Global) GetGracefulRestart() *GracefulRestart { if m != nil { return m.GracefulRestart } return nil } func (m *Global) GetApplyPolicy() *ApplyPolicy { if m != nil { return m.ApplyPolicy } return nil } type Confederation struct { Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` Identifier uint32 `protobuf:"varint,2,opt,name=identifier" json:"identifier,omitempty"` MemberAsList []uint32 `protobuf:"varint,3,rep,packed,name=member_as_list,json=memberAsList" json:"member_as_list,omitempty"` } func (m *Confederation) Reset() { *m = Confederation{} } func (m *Confederation) String() string { return proto.CompactTextString(m) } func (*Confederation) ProtoMessage() {} func (*Confederation) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{138} } func (m *Confederation) GetEnabled() bool { if m != nil { return m.Enabled } return false } func (m *Confederation) GetIdentifier() uint32 { if m != nil { return m.Identifier } return 0 } func (m *Confederation) GetMemberAsList() []uint32 { if m != nil { return m.MemberAsList } return nil } type RPKIConf struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` RemotePort uint32 `protobuf:"varint,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 fileDescriptor2, []int{139} } func (m *RPKIConf) GetAddress() string { if m != nil { return m.Address } return "" } func (m *RPKIConf) GetRemotePort() uint32 { if m != nil { return m.RemotePort } return 0 } type RPKIState struct { Uptime *google_protobuf2.Timestamp `protobuf:"bytes,1,opt,name=uptime" json:"uptime,omitempty"` Downtime *google_protobuf2.Timestamp `protobuf:"bytes,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 fileDescriptor2, []int{140} } func (m *RPKIState) GetUptime() *google_protobuf2.Timestamp { if m != nil { return m.Uptime } return nil } func (m *RPKIState) GetDowntime() *google_protobuf2.Timestamp { if m != nil { return m.Downtime } return nil } func (m *RPKIState) GetUp() bool { if m != nil { return m.Up } return false } func (m *RPKIState) GetRecordIpv4() uint32 { if m != nil { return m.RecordIpv4 } return 0 } func (m *RPKIState) GetRecordIpv6() uint32 { if m != nil { return m.RecordIpv6 } return 0 } func (m *RPKIState) GetPrefixIpv4() uint32 { if m != nil { return m.PrefixIpv4 } return 0 } func (m *RPKIState) GetPrefixIpv6() uint32 { if m != nil { return m.PrefixIpv6 } return 0 } func (m *RPKIState) GetSerial() uint32 { if m != nil { return m.Serial } return 0 } func (m *RPKIState) GetReceivedIpv4() int64 { if m != nil { return m.ReceivedIpv4 } return 0 } func (m *RPKIState) GetReceivedIpv6() int64 { if m != nil { return m.ReceivedIpv6 } return 0 } func (m *RPKIState) GetSerialNotify() int64 { if m != nil { return m.SerialNotify } return 0 } func (m *RPKIState) GetCacheReset() int64 { if m != nil { return m.CacheReset } return 0 } func (m *RPKIState) GetCacheResponse() int64 { if m != nil { return m.CacheResponse } return 0 } func (m *RPKIState) GetEndOfData() int64 { if m != nil { return m.EndOfData } return 0 } func (m *RPKIState) GetError() int64 { if m != nil { return m.Error } return 0 } func (m *RPKIState) GetSerialQuery() int64 { if m != nil { return m.SerialQuery } return 0 } func (m *RPKIState) GetResetQuery() int64 { if m != nil { return m.ResetQuery } return 0 } 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 fileDescriptor2, []int{141} } 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 SetLogLevelRequest struct { Level SetLogLevelRequest_Level `protobuf:"varint,1,opt,name=level,enum=gobgpapi.SetLogLevelRequest_Level" json:"level,omitempty"` } func (m *SetLogLevelRequest) Reset() { *m = SetLogLevelRequest{} } func (m *SetLogLevelRequest) String() string { return proto.CompactTextString(m) } func (*SetLogLevelRequest) ProtoMessage() {} func (*SetLogLevelRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{142} } func (m *SetLogLevelRequest) GetLevel() SetLogLevelRequest_Level { if m != nil { return m.Level } return SetLogLevelRequest_PANIC } func init() { proto.RegisterType((*StartBgpRequest)(nil), "gobgpapi.StartBgpRequest") proto.RegisterType((*StopBgpRequest)(nil), "gobgpapi.StopBgpRequest") proto.RegisterType((*GetBgpRequest)(nil), "gobgpapi.GetBgpRequest") proto.RegisterType((*GetBgpResponse)(nil), "gobgpapi.GetBgpResponse") proto.RegisterType((*AddPeerRequest)(nil), "gobgpapi.AddPeerRequest") proto.RegisterType((*DeletePeerRequest)(nil), "gobgpapi.DeletePeerRequest") proto.RegisterType((*ListPeerRequest)(nil), "gobgpapi.ListPeerRequest") proto.RegisterType((*ListPeerResponse)(nil), "gobgpapi.ListPeerResponse") proto.RegisterType((*UpdatePeerRequest)(nil), "gobgpapi.UpdatePeerRequest") proto.RegisterType((*UpdatePeerResponse)(nil), "gobgpapi.UpdatePeerResponse") proto.RegisterType((*ResetPeerRequest)(nil), "gobgpapi.ResetPeerRequest") proto.RegisterType((*ShutdownPeerRequest)(nil), "gobgpapi.ShutdownPeerRequest") proto.RegisterType((*EnablePeerRequest)(nil), "gobgpapi.EnablePeerRequest") proto.RegisterType((*DisablePeerRequest)(nil), "gobgpapi.DisablePeerRequest") proto.RegisterType((*MonitorPeerRequest)(nil), "gobgpapi.MonitorPeerRequest") proto.RegisterType((*MonitorPeerResponse)(nil), "gobgpapi.MonitorPeerResponse") proto.RegisterType((*AddPeerGroupRequest)(nil), "gobgpapi.AddPeerGroupRequest") proto.RegisterType((*DeletePeerGroupRequest)(nil), "gobgpapi.DeletePeerGroupRequest") proto.RegisterType((*UpdatePeerGroupRequest)(nil), "gobgpapi.UpdatePeerGroupRequest") proto.RegisterType((*UpdatePeerGroupResponse)(nil), "gobgpapi.UpdatePeerGroupResponse") proto.RegisterType((*AddDynamicNeighborRequest)(nil), "gobgpapi.AddDynamicNeighborRequest") proto.RegisterType((*AddPathRequest)(nil), "gobgpapi.AddPathRequest") proto.RegisterType((*AddPathResponse)(nil), "gobgpapi.AddPathResponse") proto.RegisterType((*DeletePathRequest)(nil), "gobgpapi.DeletePathRequest") proto.RegisterType((*ListPathRequest)(nil), "gobgpapi.ListPathRequest") proto.RegisterType((*ListPathResponse)(nil), "gobgpapi.ListPathResponse") proto.RegisterType((*AddPathStreamRequest)(nil), "gobgpapi.AddPathStreamRequest") proto.RegisterType((*GetTableRequest)(nil), "gobgpapi.GetTableRequest") proto.RegisterType((*GetTableResponse)(nil), "gobgpapi.GetTableResponse") proto.RegisterType((*MonitorTableRequest)(nil), "gobgpapi.MonitorTableRequest") proto.RegisterType((*MonitorTableResponse)(nil), "gobgpapi.MonitorTableResponse") proto.RegisterType((*AddVrfRequest)(nil), "gobgpapi.AddVrfRequest") proto.RegisterType((*DeleteVrfRequest)(nil), "gobgpapi.DeleteVrfRequest") proto.RegisterType((*ListVrfRequest)(nil), "gobgpapi.ListVrfRequest") proto.RegisterType((*ListVrfResponse)(nil), "gobgpapi.ListVrfResponse") proto.RegisterType((*AddPolicyRequest)(nil), "gobgpapi.AddPolicyRequest") proto.RegisterType((*DeletePolicyRequest)(nil), "gobgpapi.DeletePolicyRequest") proto.RegisterType((*ListPolicyRequest)(nil), "gobgpapi.ListPolicyRequest") proto.RegisterType((*ListPolicyResponse)(nil), "gobgpapi.ListPolicyResponse") proto.RegisterType((*SetPoliciesRequest)(nil), "gobgpapi.SetPoliciesRequest") proto.RegisterType((*AddDefinedSetRequest)(nil), "gobgpapi.AddDefinedSetRequest") proto.RegisterType((*DeleteDefinedSetRequest)(nil), "gobgpapi.DeleteDefinedSetRequest") proto.RegisterType((*ListDefinedSetRequest)(nil), "gobgpapi.ListDefinedSetRequest") proto.RegisterType((*ListDefinedSetResponse)(nil), "gobgpapi.ListDefinedSetResponse") proto.RegisterType((*AddStatementRequest)(nil), "gobgpapi.AddStatementRequest") proto.RegisterType((*DeleteStatementRequest)(nil), "gobgpapi.DeleteStatementRequest") proto.RegisterType((*ListStatementRequest)(nil), "gobgpapi.ListStatementRequest") proto.RegisterType((*ListStatementResponse)(nil), "gobgpapi.ListStatementResponse") proto.RegisterType((*AddPolicyAssignmentRequest)(nil), "gobgpapi.AddPolicyAssignmentRequest") proto.RegisterType((*DeletePolicyAssignmentRequest)(nil), "gobgpapi.DeletePolicyAssignmentRequest") proto.RegisterType((*ListPolicyAssignmentRequest)(nil), "gobgpapi.ListPolicyAssignmentRequest") proto.RegisterType((*ListPolicyAssignmentResponse)(nil), "gobgpapi.ListPolicyAssignmentResponse") proto.RegisterType((*SetPolicyAssignmentRequest)(nil), "gobgpapi.SetPolicyAssignmentRequest") proto.RegisterType((*AddRpkiRequest)(nil), "gobgpapi.AddRpkiRequest") proto.RegisterType((*DeleteRpkiRequest)(nil), "gobgpapi.DeleteRpkiRequest") proto.RegisterType((*ListRpkiRequest)(nil), "gobgpapi.ListRpkiRequest") proto.RegisterType((*ListRpkiResponse)(nil), "gobgpapi.ListRpkiResponse") proto.RegisterType((*EnableRpkiRequest)(nil), "gobgpapi.EnableRpkiRequest") proto.RegisterType((*DisableRpkiRequest)(nil), "gobgpapi.DisableRpkiRequest") proto.RegisterType((*ResetRpkiRequest)(nil), "gobgpapi.ResetRpkiRequest") proto.RegisterType((*ListRpkiTableRequest)(nil), "gobgpapi.ListRpkiTableRequest") proto.RegisterType((*ListRpkiTableResponse)(nil), "gobgpapi.ListRpkiTableResponse") proto.RegisterType((*EnableZebraRequest)(nil), "gobgpapi.EnableZebraRequest") proto.RegisterType((*EnableMrtRequest)(nil), "gobgpapi.EnableMrtRequest") proto.RegisterType((*DisableMrtRequest)(nil), "gobgpapi.DisableMrtRequest") proto.RegisterType((*AddBmpRequest)(nil), "gobgpapi.AddBmpRequest") proto.RegisterType((*DeleteBmpRequest)(nil), "gobgpapi.DeleteBmpRequest") proto.RegisterType((*Family)(nil), "gobgpapi.Family") proto.RegisterType((*Validation)(nil), "gobgpapi.Validation") proto.RegisterType((*Path)(nil), "gobgpapi.Path") proto.RegisterType((*Destination)(nil), "gobgpapi.Destination") proto.RegisterType((*TableLookupPrefix)(nil), "gobgpapi.TableLookupPrefix") proto.RegisterType((*Peer)(nil), "gobgpapi.Peer") proto.RegisterType((*PeerGroup)(nil), "gobgpapi.PeerGroup") proto.RegisterType((*DynamicNeighbor)(nil), "gobgpapi.DynamicNeighbor") proto.RegisterType((*ApplyPolicy)(nil), "gobgpapi.ApplyPolicy") proto.RegisterType((*PrefixLimit)(nil), "gobgpapi.PrefixLimit") proto.RegisterType((*PeerConf)(nil), "gobgpapi.PeerConf") proto.RegisterType((*PeerGroupConf)(nil), "gobgpapi.PeerGroupConf") proto.RegisterType((*PeerGroupState)(nil), "gobgpapi.PeerGroupState") proto.RegisterType((*EbgpMultihop)(nil), "gobgpapi.EbgpMultihop") proto.RegisterType((*RouteReflector)(nil), "gobgpapi.RouteReflector") proto.RegisterType((*PeerState)(nil), "gobgpapi.PeerState") proto.RegisterType((*Messages)(nil), "gobgpapi.Messages") proto.RegisterType((*Message)(nil), "gobgpapi.Message") proto.RegisterType((*Queues)(nil), "gobgpapi.Queues") proto.RegisterType((*Timers)(nil), "gobgpapi.Timers") proto.RegisterType((*TimersConfig)(nil), "gobgpapi.TimersConfig") proto.RegisterType((*TimersState)(nil), "gobgpapi.TimersState") proto.RegisterType((*Transport)(nil), "gobgpapi.Transport") proto.RegisterType((*RouteServer)(nil), "gobgpapi.RouteServer") proto.RegisterType((*GracefulRestart)(nil), "gobgpapi.GracefulRestart") proto.RegisterType((*MpGracefulRestartConfig)(nil), "gobgpapi.MpGracefulRestartConfig") proto.RegisterType((*MpGracefulRestartState)(nil), "gobgpapi.MpGracefulRestartState") proto.RegisterType((*MpGracefulRestart)(nil), "gobgpapi.MpGracefulRestart") proto.RegisterType((*AfiSafiConfig)(nil), "gobgpapi.AfiSafiConfig") proto.RegisterType((*AfiSafiState)(nil), "gobgpapi.AfiSafiState") proto.RegisterType((*RouteSelectionOptionsConfig)(nil), "gobgpapi.RouteSelectionOptionsConfig") proto.RegisterType((*RouteSelectionOptionsState)(nil), "gobgpapi.RouteSelectionOptionsState") proto.RegisterType((*RouteSelectionOptions)(nil), "gobgpapi.RouteSelectionOptions") proto.RegisterType((*UseMultiplePathsConfig)(nil), "gobgpapi.UseMultiplePathsConfig") proto.RegisterType((*UseMultiplePathsState)(nil), "gobgpapi.UseMultiplePathsState") proto.RegisterType((*EbgpConfig)(nil), "gobgpapi.EbgpConfig") proto.RegisterType((*EbgpState)(nil), "gobgpapi.EbgpState") proto.RegisterType((*Ebgp)(nil), "gobgpapi.Ebgp") proto.RegisterType((*IbgpConfig)(nil), "gobgpapi.IbgpConfig") proto.RegisterType((*IbgpState)(nil), "gobgpapi.IbgpState") proto.RegisterType((*Ibgp)(nil), "gobgpapi.Ibgp") proto.RegisterType((*UseMultiplePaths)(nil), "gobgpapi.UseMultiplePaths") proto.RegisterType((*RouteTargetMembershipConfig)(nil), "gobgpapi.RouteTargetMembershipConfig") proto.RegisterType((*RouteTargetMembershipState)(nil), "gobgpapi.RouteTargetMembershipState") proto.RegisterType((*RouteTargetMembership)(nil), "gobgpapi.RouteTargetMembership") proto.RegisterType((*LongLivedGracefulRestartConfig)(nil), "gobgpapi.LongLivedGracefulRestartConfig") proto.RegisterType((*LongLivedGracefulRestartState)(nil), "gobgpapi.LongLivedGracefulRestartState") proto.RegisterType((*LongLivedGracefulRestart)(nil), "gobgpapi.LongLivedGracefulRestart") proto.RegisterType((*AfiSafi)(nil), "gobgpapi.AfiSafi") proto.RegisterType((*AddPathsConfig)(nil), "gobgpapi.AddPathsConfig") proto.RegisterType((*AddPathsState)(nil), "gobgpapi.AddPathsState") proto.RegisterType((*AddPaths)(nil), "gobgpapi.AddPaths") proto.RegisterType((*Prefix)(nil), "gobgpapi.Prefix") proto.RegisterType((*DefinedSet)(nil), "gobgpapi.DefinedSet") proto.RegisterType((*MatchSet)(nil), "gobgpapi.MatchSet") proto.RegisterType((*AsPathLength)(nil), "gobgpapi.AsPathLength") proto.RegisterType((*Conditions)(nil), "gobgpapi.Conditions") proto.RegisterType((*CommunityAction)(nil), "gobgpapi.CommunityAction") proto.RegisterType((*MedAction)(nil), "gobgpapi.MedAction") proto.RegisterType((*AsPrependAction)(nil), "gobgpapi.AsPrependAction") proto.RegisterType((*NexthopAction)(nil), "gobgpapi.NexthopAction") proto.RegisterType((*LocalPrefAction)(nil), "gobgpapi.LocalPrefAction") proto.RegisterType((*Actions)(nil), "gobgpapi.Actions") proto.RegisterType((*Statement)(nil), "gobgpapi.Statement") proto.RegisterType((*Policy)(nil), "gobgpapi.Policy") proto.RegisterType((*PolicyAssignment)(nil), "gobgpapi.PolicyAssignment") proto.RegisterType((*RoutingPolicy)(nil), "gobgpapi.RoutingPolicy") proto.RegisterType((*Roa)(nil), "gobgpapi.Roa") proto.RegisterType((*Vrf)(nil), "gobgpapi.Vrf") proto.RegisterType((*DefaultRouteDistance)(nil), "gobgpapi.DefaultRouteDistance") proto.RegisterType((*Global)(nil), "gobgpapi.Global") proto.RegisterType((*Confederation)(nil), "gobgpapi.Confederation") proto.RegisterType((*RPKIConf)(nil), "gobgpapi.RPKIConf") proto.RegisterType((*RPKIState)(nil), "gobgpapi.RPKIState") proto.RegisterType((*Rpki)(nil), "gobgpapi.Rpki") proto.RegisterType((*SetLogLevelRequest)(nil), "gobgpapi.SetLogLevelRequest") proto.RegisterEnum("gobgpapi.TableType", TableType_name, TableType_value) proto.RegisterEnum("gobgpapi.TableLookupOption", TableLookupOption_name, TableLookupOption_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) proto.RegisterEnum("gobgpapi.RouteAction", RouteAction_name, RouteAction_value) proto.RegisterEnum("gobgpapi.CommunityActionType", CommunityActionType_name, CommunityActionType_value) proto.RegisterEnum("gobgpapi.MedActionType", MedActionType_name, MedActionType_value) proto.RegisterEnum("gobgpapi.PolicyDirection", PolicyDirection_name, PolicyDirection_value) proto.RegisterEnum("gobgpapi.ResetPeerRequest_SoftResetDirection", ResetPeerRequest_SoftResetDirection_name, ResetPeerRequest_SoftResetDirection_value) proto.RegisterEnum("gobgpapi.ListPathRequest_SortType", ListPathRequest_SortType_name, ListPathRequest_SortType_value) proto.RegisterEnum("gobgpapi.AddBmpRequest_MonitoringPolicy", AddBmpRequest_MonitoringPolicy_name, AddBmpRequest_MonitoringPolicy_value) proto.RegisterEnum("gobgpapi.Family_Afi", Family_Afi_name, Family_Afi_value) proto.RegisterEnum("gobgpapi.Family_Safi", Family_Safi_name, Family_Safi_value) proto.RegisterEnum("gobgpapi.Validation_State", Validation_State_name, Validation_State_value) proto.RegisterEnum("gobgpapi.Validation_Reason", Validation_Reason_name, Validation_Reason_value) proto.RegisterEnum("gobgpapi.PeerConf_RemovePrivateAs", PeerConf_RemovePrivateAs_name, PeerConf_RemovePrivateAs_value) proto.RegisterEnum("gobgpapi.PeerGroupConf_RemovePrivateAs", PeerGroupConf_RemovePrivateAs_name, PeerGroupConf_RemovePrivateAs_value) proto.RegisterEnum("gobgpapi.PeerGroupState_RemovePrivateAs", PeerGroupState_RemovePrivateAs_name, PeerGroupState_RemovePrivateAs_value) proto.RegisterEnum("gobgpapi.PeerState_SessionState", PeerState_SessionState_name, PeerState_SessionState_value) proto.RegisterEnum("gobgpapi.PeerState_AdminState", PeerState_AdminState_name, PeerState_AdminState_value) proto.RegisterEnum("gobgpapi.Conditions_RouteType", Conditions_RouteType_name, Conditions_RouteType_value) proto.RegisterEnum("gobgpapi.SetLogLevelRequest_Level", SetLogLevelRequest_Level_name, SetLogLevelRequest_Level_value) } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc.SupportPackageIsVersion4 // Client API for GobgpApi service type GobgpApiClient interface { StartBgp(ctx context.Context, in *StartBgpRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) StopBgp(ctx context.Context, in *StopBgpRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) GetBgp(ctx context.Context, in *GetBgpRequest, opts ...grpc.CallOption) (*GetBgpResponse, error) AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DeletePeer(ctx context.Context, in *DeletePeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ListPeer(ctx context.Context, in *ListPeerRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerClient, error) UpdatePeer(ctx context.Context, in *UpdatePeerRequest, opts ...grpc.CallOption) (*UpdatePeerResponse, error) ResetPeer(ctx context.Context, in *ResetPeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ShutdownPeer(ctx context.Context, in *ShutdownPeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) EnablePeer(ctx context.Context, in *EnablePeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DisablePeer(ctx context.Context, in *DisablePeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) MonitorPeer(ctx context.Context, in *MonitorPeerRequest, opts ...grpc.CallOption) (GobgpApi_MonitorPeerClient, error) AddPeerGroup(ctx context.Context, in *AddPeerGroupRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DeletePeerGroup(ctx context.Context, in *DeletePeerGroupRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) UpdatePeerGroup(ctx context.Context, in *UpdatePeerGroupRequest, opts ...grpc.CallOption) (*UpdatePeerGroupResponse, error) AddDynamicNeighbor(ctx context.Context, in *AddDynamicNeighborRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ListPath(ctx context.Context, in *ListPathRequest, opts ...grpc.CallOption) (GobgpApi_ListPathClient, error) AddPathStream(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_AddPathStreamClient, error) GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*GetTableResponse, error) MonitorTable(ctx context.Context, in *MonitorTableRequest, opts ...grpc.CallOption) (GobgpApi_MonitorTableClient, error) AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ListVrf(ctx context.Context, in *ListVrfRequest, opts ...grpc.CallOption) (GobgpApi_ListVrfClient, error) AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ListPolicy(ctx context.Context, in *ListPolicyRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyClient, error) SetPolicies(ctx context.Context, in *SetPoliciesRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ListDefinedSet(ctx context.Context, in *ListDefinedSetRequest, opts ...grpc.CallOption) (GobgpApi_ListDefinedSetClient, error) AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ListStatement(ctx context.Context, in *ListStatementRequest, opts ...grpc.CallOption) (GobgpApi_ListStatementClient, error) AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ListPolicyAssignment(ctx context.Context, in *ListPolicyAssignmentRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyAssignmentClient, error) SetPolicyAssignment(ctx context.Context, in *SetPolicyAssignmentRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ListRpki(ctx context.Context, in *ListRpkiRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiClient, error) EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) ListRpkiTable(ctx context.Context, in *ListRpkiTableRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiTableClient, error) EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) SetLogLevel(ctx context.Context, in *SetLogLevelRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) } type gobgpApiClient struct { cc *grpc.ClientConn } func NewGobgpApiClient(cc *grpc.ClientConn) GobgpApiClient { return &gobgpApiClient{cc} } func (c *gobgpApiClient) StartBgp(ctx context.Context, in *StartBgpRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/StartBgp", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) StopBgp(ctx context.Context, in *StopBgpRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/StopBgp", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetBgp(ctx context.Context, in *GetBgpRequest, opts ...grpc.CallOption) (*GetBgpResponse, error) { out := new(GetBgpResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetBgp", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddPeer(ctx context.Context, in *AddPeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPeer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeletePeer(ctx context.Context, in *DeletePeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePeer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ListPeer(ctx context.Context, in *ListPeerRequest, opts ...grpc.CallOption) (GobgpApi_ListPeerClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[0], c.cc, "/gobgpapi.GobgpApi/ListPeer", opts...) if err != nil { return nil, err } x := &gobgpApiListPeerClient{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_ListPeerClient interface { Recv() (*ListPeerResponse, error) grpc.ClientStream } type gobgpApiListPeerClient struct { grpc.ClientStream } func (x *gobgpApiListPeerClient) Recv() (*ListPeerResponse, error) { m := new(ListPeerResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) UpdatePeer(ctx context.Context, in *UpdatePeerRequest, opts ...grpc.CallOption) (*UpdatePeerResponse, error) { out := new(UpdatePeerResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/UpdatePeer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ResetPeer(ctx context.Context, in *ResetPeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetPeer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ShutdownPeer(ctx context.Context, in *ShutdownPeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ShutdownPeer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) EnablePeer(ctx context.Context, in *EnablePeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnablePeer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DisablePeer(ctx context.Context, in *DisablePeerRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisablePeer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) MonitorPeer(ctx context.Context, in *MonitorPeerRequest, opts ...grpc.CallOption) (GobgpApi_MonitorPeerClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[1], c.cc, "/gobgpapi.GobgpApi/MonitorPeer", opts...) if err != nil { return nil, err } x := &gobgpApiMonitorPeerClient{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_MonitorPeerClient interface { Recv() (*MonitorPeerResponse, error) grpc.ClientStream } type gobgpApiMonitorPeerClient struct { grpc.ClientStream } func (x *gobgpApiMonitorPeerClient) Recv() (*MonitorPeerResponse, error) { m := new(MonitorPeerResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) AddPeerGroup(ctx context.Context, in *AddPeerGroupRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPeerGroup", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeletePeerGroup(ctx context.Context, in *DeletePeerGroupRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePeerGroup", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) UpdatePeerGroup(ctx context.Context, in *UpdatePeerGroupRequest, opts ...grpc.CallOption) (*UpdatePeerGroupResponse, error) { out := new(UpdatePeerGroupResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/UpdatePeerGroup", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddDynamicNeighbor(ctx context.Context, in *AddDynamicNeighborRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddDynamicNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } 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) DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePath", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ListPath(ctx context.Context, in *ListPathRequest, opts ...grpc.CallOption) (GobgpApi_ListPathClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[2], c.cc, "/gobgpapi.GobgpApi/ListPath", opts...) if err != nil { return nil, err } x := &gobgpApiListPathClient{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_ListPathClient interface { Recv() (*ListPathResponse, error) grpc.ClientStream } type gobgpApiListPathClient struct { grpc.ClientStream } func (x *gobgpApiListPathClient) Recv() (*ListPathResponse, error) { m := new(ListPathResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) AddPathStream(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_AddPathStreamClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[3], c.cc, "/gobgpapi.GobgpApi/AddPathStream", opts...) if err != nil { return nil, err } x := &gobgpApiAddPathStreamClient{stream} return x, nil } type GobgpApi_AddPathStreamClient interface { Send(*AddPathStreamRequest) error CloseAndRecv() (*google_protobuf1.Empty, error) grpc.ClientStream } type gobgpApiAddPathStreamClient struct { grpc.ClientStream } func (x *gobgpApiAddPathStreamClient) Send(m *AddPathStreamRequest) error { return x.ClientStream.SendMsg(m) } func (x *gobgpApiAddPathStreamClient) CloseAndRecv() (*google_protobuf1.Empty, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(google_protobuf1.Empty) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) GetTable(ctx context.Context, in *GetTableRequest, opts ...grpc.CallOption) (*GetTableResponse, error) { out := new(GetTableResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetTable", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) MonitorTable(ctx context.Context, in *MonitorTableRequest, opts ...grpc.CallOption) (GobgpApi_MonitorTableClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[4], c.cc, "/gobgpapi.GobgpApi/MonitorTable", opts...) if err != nil { return nil, err } x := &gobgpApiMonitorTableClient{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_MonitorTableClient interface { Recv() (*MonitorTableResponse, error) grpc.ClientStream } type gobgpApiMonitorTableClient struct { grpc.ClientStream } func (x *gobgpApiMonitorTableClient) Recv() (*MonitorTableResponse, error) { m := new(MonitorTableResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddVrf", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteVrf", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ListVrf(ctx context.Context, in *ListVrfRequest, opts ...grpc.CallOption) (GobgpApi_ListVrfClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[5], c.cc, "/gobgpapi.GobgpApi/ListVrf", opts...) if err != nil { return nil, err } x := &gobgpApiListVrfClient{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_ListVrfClient interface { Recv() (*ListVrfResponse, error) grpc.ClientStream } type gobgpApiListVrfClient struct { grpc.ClientStream } func (x *gobgpApiListVrfClient) Recv() (*ListVrfResponse, error) { m := new(ListVrfResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicy", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicy", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ListPolicy(ctx context.Context, in *ListPolicyRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[6], c.cc, "/gobgpapi.GobgpApi/ListPolicy", opts...) if err != nil { return nil, err } x := &gobgpApiListPolicyClient{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_ListPolicyClient interface { Recv() (*ListPolicyResponse, error) grpc.ClientStream } type gobgpApiListPolicyClient struct { grpc.ClientStream } func (x *gobgpApiListPolicyClient) Recv() (*ListPolicyResponse, error) { m := new(ListPolicyResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) SetPolicies(ctx context.Context, in *SetPoliciesRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SetPolicies", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddDefinedSet", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteDefinedSet", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ListDefinedSet(ctx context.Context, in *ListDefinedSetRequest, opts ...grpc.CallOption) (GobgpApi_ListDefinedSetClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[7], c.cc, "/gobgpapi.GobgpApi/ListDefinedSet", opts...) if err != nil { return nil, err } x := &gobgpApiListDefinedSetClient{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_ListDefinedSetClient interface { Recv() (*ListDefinedSetResponse, error) grpc.ClientStream } type gobgpApiListDefinedSetClient struct { grpc.ClientStream } func (x *gobgpApiListDefinedSetClient) Recv() (*ListDefinedSetResponse, error) { m := new(ListDefinedSetResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddStatement", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteStatement", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ListStatement(ctx context.Context, in *ListStatementRequest, opts ...grpc.CallOption) (GobgpApi_ListStatementClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[8], c.cc, "/gobgpapi.GobgpApi/ListStatement", opts...) if err != nil { return nil, err } x := &gobgpApiListStatementClient{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_ListStatementClient interface { Recv() (*ListStatementResponse, error) grpc.ClientStream } type gobgpApiListStatementClient struct { grpc.ClientStream } func (x *gobgpApiListStatementClient) Recv() (*ListStatementResponse, error) { m := new(ListStatementResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ListPolicyAssignment(ctx context.Context, in *ListPolicyAssignmentRequest, opts ...grpc.CallOption) (GobgpApi_ListPolicyAssignmentClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[9], c.cc, "/gobgpapi.GobgpApi/ListPolicyAssignment", opts...) if err != nil { return nil, err } x := &gobgpApiListPolicyAssignmentClient{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_ListPolicyAssignmentClient interface { Recv() (*ListPolicyAssignmentResponse, error) grpc.ClientStream } type gobgpApiListPolicyAssignmentClient struct { grpc.ClientStream } func (x *gobgpApiListPolicyAssignmentClient) Recv() (*ListPolicyAssignmentResponse, error) { m := new(ListPolicyAssignmentResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) SetPolicyAssignment(ctx context.Context, in *SetPolicyAssignmentRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SetPolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ListRpki(ctx context.Context, in *ListRpkiRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[10], c.cc, "/gobgpapi.GobgpApi/ListRpki", opts...) if err != nil { return nil, err } x := &gobgpApiListRpkiClient{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_ListRpkiClient interface { Recv() (*ListRpkiResponse, error) grpc.ClientStream } type gobgpApiListRpkiClient struct { grpc.ClientStream } func (x *gobgpApiListRpkiClient) Recv() (*ListRpkiResponse, error) { m := new(ListRpkiResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ListRpkiTable(ctx context.Context, in *ListRpkiTableRequest, opts ...grpc.CallOption) (GobgpApi_ListRpkiTableClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[11], c.cc, "/gobgpapi.GobgpApi/ListRpkiTable", opts...) if err != nil { return nil, err } x := &gobgpApiListRpkiTableClient{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_ListRpkiTableClient interface { Recv() (*ListRpkiTableResponse, error) grpc.ClientStream } type gobgpApiListRpkiTableClient struct { grpc.ClientStream } func (x *gobgpApiListRpkiTableClient) Recv() (*ListRpkiTableResponse, error) { m := new(ListRpkiTableResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableZebra", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) 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) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableMrt", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddBmp", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteBmp", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) SetLogLevel(ctx context.Context, in *SetLogLevelRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) { out := new(google_protobuf1.Empty) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SetLogLevel", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } // Server API for GobgpApi service type GobgpApiServer interface { StartBgp(context.Context, *StartBgpRequest) (*google_protobuf1.Empty, error) StopBgp(context.Context, *StopBgpRequest) (*google_protobuf1.Empty, error) GetBgp(context.Context, *GetBgpRequest) (*GetBgpResponse, error) AddPeer(context.Context, *AddPeerRequest) (*google_protobuf1.Empty, error) DeletePeer(context.Context, *DeletePeerRequest) (*google_protobuf1.Empty, error) ListPeer(*ListPeerRequest, GobgpApi_ListPeerServer) error UpdatePeer(context.Context, *UpdatePeerRequest) (*UpdatePeerResponse, error) ResetPeer(context.Context, *ResetPeerRequest) (*google_protobuf1.Empty, error) ShutdownPeer(context.Context, *ShutdownPeerRequest) (*google_protobuf1.Empty, error) EnablePeer(context.Context, *EnablePeerRequest) (*google_protobuf1.Empty, error) DisablePeer(context.Context, *DisablePeerRequest) (*google_protobuf1.Empty, error) MonitorPeer(*MonitorPeerRequest, GobgpApi_MonitorPeerServer) error AddPeerGroup(context.Context, *AddPeerGroupRequest) (*google_protobuf1.Empty, error) DeletePeerGroup(context.Context, *DeletePeerGroupRequest) (*google_protobuf1.Empty, error) UpdatePeerGroup(context.Context, *UpdatePeerGroupRequest) (*UpdatePeerGroupResponse, error) AddDynamicNeighbor(context.Context, *AddDynamicNeighborRequest) (*google_protobuf1.Empty, error) AddPath(context.Context, *AddPathRequest) (*AddPathResponse, error) DeletePath(context.Context, *DeletePathRequest) (*google_protobuf1.Empty, error) ListPath(*ListPathRequest, GobgpApi_ListPathServer) error AddPathStream(GobgpApi_AddPathStreamServer) error GetTable(context.Context, *GetTableRequest) (*GetTableResponse, error) MonitorTable(*MonitorTableRequest, GobgpApi_MonitorTableServer) error AddVrf(context.Context, *AddVrfRequest) (*google_protobuf1.Empty, error) DeleteVrf(context.Context, *DeleteVrfRequest) (*google_protobuf1.Empty, error) ListVrf(*ListVrfRequest, GobgpApi_ListVrfServer) error AddPolicy(context.Context, *AddPolicyRequest) (*google_protobuf1.Empty, error) DeletePolicy(context.Context, *DeletePolicyRequest) (*google_protobuf1.Empty, error) ListPolicy(*ListPolicyRequest, GobgpApi_ListPolicyServer) error SetPolicies(context.Context, *SetPoliciesRequest) (*google_protobuf1.Empty, error) AddDefinedSet(context.Context, *AddDefinedSetRequest) (*google_protobuf1.Empty, error) DeleteDefinedSet(context.Context, *DeleteDefinedSetRequest) (*google_protobuf1.Empty, error) ListDefinedSet(*ListDefinedSetRequest, GobgpApi_ListDefinedSetServer) error AddStatement(context.Context, *AddStatementRequest) (*google_protobuf1.Empty, error) DeleteStatement(context.Context, *DeleteStatementRequest) (*google_protobuf1.Empty, error) ListStatement(*ListStatementRequest, GobgpApi_ListStatementServer) error AddPolicyAssignment(context.Context, *AddPolicyAssignmentRequest) (*google_protobuf1.Empty, error) DeletePolicyAssignment(context.Context, *DeletePolicyAssignmentRequest) (*google_protobuf1.Empty, error) ListPolicyAssignment(*ListPolicyAssignmentRequest, GobgpApi_ListPolicyAssignmentServer) error SetPolicyAssignment(context.Context, *SetPolicyAssignmentRequest) (*google_protobuf1.Empty, error) AddRpki(context.Context, *AddRpkiRequest) (*google_protobuf1.Empty, error) DeleteRpki(context.Context, *DeleteRpkiRequest) (*google_protobuf1.Empty, error) ListRpki(*ListRpkiRequest, GobgpApi_ListRpkiServer) error EnableRpki(context.Context, *EnableRpkiRequest) (*google_protobuf1.Empty, error) DisableRpki(context.Context, *DisableRpkiRequest) (*google_protobuf1.Empty, error) ResetRpki(context.Context, *ResetRpkiRequest) (*google_protobuf1.Empty, error) ListRpkiTable(*ListRpkiTableRequest, GobgpApi_ListRpkiTableServer) error EnableZebra(context.Context, *EnableZebraRequest) (*google_protobuf1.Empty, error) EnableMrt(context.Context, *EnableMrtRequest) (*google_protobuf1.Empty, error) DisableMrt(context.Context, *DisableMrtRequest) (*google_protobuf1.Empty, error) AddBmp(context.Context, *AddBmpRequest) (*google_protobuf1.Empty, error) DeleteBmp(context.Context, *DeleteBmpRequest) (*google_protobuf1.Empty, error) SetLogLevel(context.Context, *SetLogLevelRequest) (*google_protobuf1.Empty, error) } func RegisterGobgpApiServer(s *grpc.Server, srv GobgpApiServer) { s.RegisterService(&_GobgpApi_serviceDesc, srv) } func _GobgpApi_StartBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(StartBgpRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).StartBgp(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/StartBgp", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).StartBgp(ctx, req.(*StartBgpRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_StopBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(StopBgpRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).StopBgp(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/StopBgp", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).StopBgp(ctx, req.(*StopBgpRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetBgp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetBgpRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetBgp(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetBgp", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetBgp(ctx, req.(*GetBgpRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_AddPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddPeerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).AddPeer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/AddPeer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).AddPeer(ctx, req.(*AddPeerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_DeletePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeletePeerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).DeletePeer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/DeletePeer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).DeletePeer(ctx, req.(*DeletePeerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_ListPeer_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ListPeerRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).ListPeer(m, &gobgpApiListPeerServer{stream}) } type GobgpApi_ListPeerServer interface { Send(*ListPeerResponse) error grpc.ServerStream } type gobgpApiListPeerServer struct { grpc.ServerStream } func (x *gobgpApiListPeerServer) Send(m *ListPeerResponse) error { return x.ServerStream.SendMsg(m) } func _GobgpApi_UpdatePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdatePeerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).UpdatePeer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/UpdatePeer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).UpdatePeer(ctx, req.(*UpdatePeerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_ResetPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ResetPeerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).ResetPeer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/ResetPeer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).ResetPeer(ctx, req.(*ResetPeerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_ShutdownPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ShutdownPeerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).ShutdownPeer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/ShutdownPeer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).ShutdownPeer(ctx, req.(*ShutdownPeerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_EnablePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(EnablePeerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).EnablePeer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/EnablePeer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).EnablePeer(ctx, req.(*EnablePeerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_DisablePeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DisablePeerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).DisablePeer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/DisablePeer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).DisablePeer(ctx, req.(*DisablePeerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_MonitorPeer_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(MonitorPeerRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).MonitorPeer(m, &gobgpApiMonitorPeerServer{stream}) } type GobgpApi_MonitorPeerServer interface { Send(*MonitorPeerResponse) error grpc.ServerStream } type gobgpApiMonitorPeerServer struct { grpc.ServerStream } func (x *gobgpApiMonitorPeerServer) Send(m *MonitorPeerResponse) error { return x.ServerStream.SendMsg(m) } func _GobgpApi_AddPeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddPeerGroupRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).AddPeerGroup(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/AddPeerGroup", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).AddPeerGroup(ctx, req.(*AddPeerGroupRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_DeletePeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeletePeerGroupRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).DeletePeerGroup(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/DeletePeerGroup", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).DeletePeerGroup(ctx, req.(*DeletePeerGroupRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_UpdatePeerGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdatePeerGroupRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).UpdatePeerGroup(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/UpdatePeerGroup", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).UpdatePeerGroup(ctx, req.(*UpdatePeerGroupRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_AddDynamicNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddDynamicNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).AddDynamicNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/AddDynamicNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).AddDynamicNeighbor(ctx, req.(*AddDynamicNeighborRequest)) } return interceptor(ctx, in, info, handler) } 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).AddPath(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/AddPath", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).AddPath(ctx, req.(*AddPathRequest)) } return interceptor(ctx, in, info, handler) } 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 } 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_ListPath_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ListPathRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).ListPath(m, &gobgpApiListPathServer{stream}) } type GobgpApi_ListPathServer interface { Send(*ListPathResponse) error grpc.ServerStream } type gobgpApiListPathServer struct { grpc.ServerStream } func (x *gobgpApiListPathServer) Send(m *ListPathResponse) error { return x.ServerStream.SendMsg(m) } func _GobgpApi_AddPathStream_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(GobgpApiServer).AddPathStream(&gobgpApiAddPathStreamServer{stream}) } type GobgpApi_AddPathStreamServer interface { SendAndClose(*google_protobuf1.Empty) error Recv() (*AddPathStreamRequest, error) grpc.ServerStream } type gobgpApiAddPathStreamServer struct { grpc.ServerStream } func (x *gobgpApiAddPathStreamServer) SendAndClose(m *google_protobuf1.Empty) error { return x.ServerStream.SendMsg(m) } func (x *gobgpApiAddPathStreamServer) Recv() (*AddPathStreamRequest, error) { m := new(AddPathStreamRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _GobgpApi_GetTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetTableRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetTable(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetTable", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetTable(ctx, req.(*GetTableRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_MonitorTable_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(MonitorTableRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).MonitorTable(m, &gobgpApiMonitorTableServer{stream}) } type GobgpApi_MonitorTableServer interface { Send(*MonitorTableResponse) error grpc.ServerStream } type gobgpApiMonitorTableServer struct { grpc.ServerStream } func (x *gobgpApiMonitorTableServer) Send(m *MonitorTableResponse) error { return x.ServerStream.SendMsg(m) } 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 _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_ListVrf_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ListVrfRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).ListVrf(m, &gobgpApiListVrfServer{stream}) } type GobgpApi_ListVrfServer interface { Send(*ListVrfResponse) error grpc.ServerStream } type gobgpApiListVrfServer struct { grpc.ServerStream } func (x *gobgpApiListVrfServer) Send(m *ListVrfResponse) error { return x.ServerStream.SendMsg(m) } 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) } 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) } 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) } func _GobgpApi_ListPolicy_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ListPolicyRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).ListPolicy(m, &gobgpApiListPolicyServer{stream}) } type GobgpApi_ListPolicyServer interface { Send(*ListPolicyResponse) error grpc.ServerStream } type gobgpApiListPolicyServer struct { grpc.ServerStream } func (x *gobgpApiListPolicyServer) Send(m *ListPolicyResponse) error { return x.ServerStream.SendMsg(m) } func _GobgpApi_SetPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SetPoliciesRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).SetPolicies(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/SetPolicies", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).SetPolicies(ctx, req.(*SetPoliciesRequest)) } return interceptor(ctx, in, info, handler) } 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 } 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 _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_ListDefinedSet_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ListDefinedSetRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).ListDefinedSet(m, &gobgpApiListDefinedSetServer{stream}) } type GobgpApi_ListDefinedSetServer interface { Send(*ListDefinedSetResponse) error grpc.ServerStream } type gobgpApiListDefinedSetServer struct { grpc.ServerStream } func (x *gobgpApiListDefinedSetServer) Send(m *ListDefinedSetResponse) error { return x.ServerStream.SendMsg(m) } 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 } 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 _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_ListStatement_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ListStatementRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).ListStatement(m, &gobgpApiListStatementServer{stream}) } type GobgpApi_ListStatementServer interface { Send(*ListStatementResponse) error grpc.ServerStream } type gobgpApiListStatementServer struct { grpc.ServerStream } func (x *gobgpApiListStatementServer) Send(m *ListStatementResponse) error { return x.ServerStream.SendMsg(m) } 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).AddPolicyAssignment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/AddPolicyAssignment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).AddPolicyAssignment(ctx, req.(*AddPolicyAssignmentRequest)) } return interceptor(ctx, in, info, handler) } 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).DeletePolicyAssignment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/DeletePolicyAssignment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).DeletePolicyAssignment(ctx, req.(*DeletePolicyAssignmentRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_ListPolicyAssignment_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ListPolicyAssignmentRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).ListPolicyAssignment(m, &gobgpApiListPolicyAssignmentServer{stream}) } type GobgpApi_ListPolicyAssignmentServer interface { Send(*ListPolicyAssignmentResponse) error grpc.ServerStream } type gobgpApiListPolicyAssignmentServer struct { grpc.ServerStream } func (x *gobgpApiListPolicyAssignmentServer) Send(m *ListPolicyAssignmentResponse) error { return x.ServerStream.SendMsg(m) } func _GobgpApi_SetPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SetPolicyAssignmentRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).SetPolicyAssignment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/SetPolicyAssignment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).SetPolicyAssignment(ctx, req.(*SetPolicyAssignmentRequest)) } return interceptor(ctx, in, info, handler) } 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).AddRpki(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/AddRpki", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).AddRpki(ctx, req.(*AddRpkiRequest)) } return interceptor(ctx, in, info, handler) } 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) } 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) } func _GobgpApi_ListRpki_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ListRpkiRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).ListRpki(m, &gobgpApiListRpkiServer{stream}) } type GobgpApi_ListRpkiServer interface { Send(*ListRpkiResponse) error grpc.ServerStream } type gobgpApiListRpkiServer struct { grpc.ServerStream } func (x *gobgpApiListRpkiServer) Send(m *ListRpkiResponse) error { return x.ServerStream.SendMsg(m) } 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) } 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 _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_ListRpkiTable_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ListRpkiTableRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).ListRpkiTable(m, &gobgpApiListRpkiTableServer{stream}) } type GobgpApi_ListRpkiTableServer interface { Send(*ListRpkiTableResponse) error grpc.ServerStream } type gobgpApiListRpkiTableServer struct { grpc.ServerStream } func (x *gobgpApiListRpkiTableServer) Send(m *ListRpkiTableResponse) error { return x.ServerStream.SendMsg(m) } func _GobgpApi_EnableZebra_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(EnableZebraRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).EnableZebra(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/EnableZebra", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).EnableZebra(ctx, req.(*EnableZebraRequest)) } return interceptor(ctx, in, info, handler) } 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_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).AddBmp(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/AddBmp", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).AddBmp(ctx, req.(*AddBmpRequest)) } return interceptor(ctx, in, info, handler) } 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).DeleteBmp(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/DeleteBmp", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).DeleteBmp(ctx, req.(*DeleteBmpRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_SetLogLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SetLogLevelRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).SetLogLevel(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/SetLogLevel", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).SetLogLevel(ctx, req.(*SetLogLevelRequest)) } return interceptor(ctx, in, info, handler) } var _GobgpApi_serviceDesc = grpc.ServiceDesc{ ServiceName: "gobgpapi.GobgpApi", HandlerType: (*GobgpApiServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "StartBgp", Handler: _GobgpApi_StartBgp_Handler, }, { MethodName: "StopBgp", Handler: _GobgpApi_StopBgp_Handler, }, { MethodName: "GetBgp", Handler: _GobgpApi_GetBgp_Handler, }, { MethodName: "AddPeer", Handler: _GobgpApi_AddPeer_Handler, }, { MethodName: "DeletePeer", Handler: _GobgpApi_DeletePeer_Handler, }, { MethodName: "UpdatePeer", Handler: _GobgpApi_UpdatePeer_Handler, }, { MethodName: "ResetPeer", Handler: _GobgpApi_ResetPeer_Handler, }, { MethodName: "ShutdownPeer", Handler: _GobgpApi_ShutdownPeer_Handler, }, { MethodName: "EnablePeer", Handler: _GobgpApi_EnablePeer_Handler, }, { MethodName: "DisablePeer", Handler: _GobgpApi_DisablePeer_Handler, }, { MethodName: "AddPeerGroup", Handler: _GobgpApi_AddPeerGroup_Handler, }, { MethodName: "DeletePeerGroup", Handler: _GobgpApi_DeletePeerGroup_Handler, }, { MethodName: "UpdatePeerGroup", Handler: _GobgpApi_UpdatePeerGroup_Handler, }, { MethodName: "AddDynamicNeighbor", Handler: _GobgpApi_AddDynamicNeighbor_Handler, }, { MethodName: "AddPath", Handler: _GobgpApi_AddPath_Handler, }, { MethodName: "DeletePath", Handler: _GobgpApi_DeletePath_Handler, }, { MethodName: "GetTable", Handler: _GobgpApi_GetTable_Handler, }, { MethodName: "AddVrf", Handler: _GobgpApi_AddVrf_Handler, }, { MethodName: "DeleteVrf", Handler: _GobgpApi_DeleteVrf_Handler, }, { MethodName: "AddPolicy", Handler: _GobgpApi_AddPolicy_Handler, }, { MethodName: "DeletePolicy", Handler: _GobgpApi_DeletePolicy_Handler, }, { MethodName: "SetPolicies", Handler: _GobgpApi_SetPolicies_Handler, }, { MethodName: "AddDefinedSet", Handler: _GobgpApi_AddDefinedSet_Handler, }, { MethodName: "DeleteDefinedSet", Handler: _GobgpApi_DeleteDefinedSet_Handler, }, { MethodName: "AddStatement", Handler: _GobgpApi_AddStatement_Handler, }, { MethodName: "DeleteStatement", Handler: _GobgpApi_DeleteStatement_Handler, }, { MethodName: "AddPolicyAssignment", Handler: _GobgpApi_AddPolicyAssignment_Handler, }, { MethodName: "DeletePolicyAssignment", Handler: _GobgpApi_DeletePolicyAssignment_Handler, }, { MethodName: "SetPolicyAssignment", Handler: _GobgpApi_SetPolicyAssignment_Handler, }, { MethodName: "AddRpki", Handler: _GobgpApi_AddRpki_Handler, }, { MethodName: "DeleteRpki", Handler: _GobgpApi_DeleteRpki_Handler, }, { MethodName: "EnableRpki", Handler: _GobgpApi_EnableRpki_Handler, }, { MethodName: "DisableRpki", Handler: _GobgpApi_DisableRpki_Handler, }, { MethodName: "ResetRpki", Handler: _GobgpApi_ResetRpki_Handler, }, { MethodName: "EnableZebra", Handler: _GobgpApi_EnableZebra_Handler, }, { MethodName: "EnableMrt", Handler: _GobgpApi_EnableMrt_Handler, }, { MethodName: "DisableMrt", Handler: _GobgpApi_DisableMrt_Handler, }, { MethodName: "AddBmp", Handler: _GobgpApi_AddBmp_Handler, }, { MethodName: "DeleteBmp", Handler: _GobgpApi_DeleteBmp_Handler, }, { MethodName: "SetLogLevel", Handler: _GobgpApi_SetLogLevel_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "ListPeer", Handler: _GobgpApi_ListPeer_Handler, ServerStreams: true, }, { StreamName: "MonitorPeer", Handler: _GobgpApi_MonitorPeer_Handler, ServerStreams: true, }, { StreamName: "ListPath", Handler: _GobgpApi_ListPath_Handler, ServerStreams: true, }, { StreamName: "AddPathStream", Handler: _GobgpApi_AddPathStream_Handler, ClientStreams: true, }, { StreamName: "MonitorTable", Handler: _GobgpApi_MonitorTable_Handler, ServerStreams: true, }, { StreamName: "ListVrf", Handler: _GobgpApi_ListVrf_Handler, ServerStreams: true, }, { StreamName: "ListPolicy", Handler: _GobgpApi_ListPolicy_Handler, ServerStreams: true, }, { StreamName: "ListDefinedSet", Handler: _GobgpApi_ListDefinedSet_Handler, ServerStreams: true, }, { StreamName: "ListStatement", Handler: _GobgpApi_ListStatement_Handler, ServerStreams: true, }, { StreamName: "ListPolicyAssignment", Handler: _GobgpApi_ListPolicyAssignment_Handler, ServerStreams: true, }, { StreamName: "ListRpki", Handler: _GobgpApi_ListRpki_Handler, ServerStreams: true, }, { StreamName: "ListRpkiTable", Handler: _GobgpApi_ListRpkiTable_Handler, ServerStreams: true, }, }, Metadata: "gobgp.proto", } func init() { proto.RegisterFile("gobgp.proto", fileDescriptor2) } var fileDescriptor2 = []byte{ // 8106 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x4b, 0x6c, 0x23, 0x49, 0x96, 0x58, 0xf3, 0x23, 0x8a, 0x7c, 0x24, 0xc5, 0x54, 0x48, 0x25, 0xa9, 0x54, 0x5d, 0x9f, 0xce, 0xe9, 0xee, 0xaa, 0xae, 0xae, 0xae, 0xae, 0xaa, 0xee, 0xa9, 0xee, 0xa9, 0xde, 0xfe, 0xb0, 0x24, 0x96, 0x8a, 0x53, 0x14, 0xc9, 0x0e, 0x52, 0xd5, 0xd5, 0x63, 0x8f, 0x73, 0x53, 0xcc, 0x20, 0x95, 0xee, 0x64, 0x66, 0x4e, 0x66, 0x52, 0x25, 0xed, 0xc5, 0xb3, 0xb3, 0xeb, 0x31, 0x0c, 0xc3, 0x80, 0x61, 0x1f, 0xf6, 0xe0, 0x31, 0x6c, 0xd8, 0x17, 0xc3, 0xb0, 0x7d, 0xb2, 0x0f, 0x86, 0x0f, 0x36, 0x0c, 0x1f, 0x0c, 0x2f, 0xe0, 0x93, 0xcf, 0x36, 0x60, 0xf8, 0x6c, 0xc0, 0x17, 0x9f, 0x8d, 0xf8, 0x64, 0x66, 0x64, 0x26, 0x29, 0xa9, 0xaa, 0x7b, 0x66, 0x77, 0x81, 0x3d, 0x89, 0xf1, 0xde, 0x8b, 0x17, 0xbf, 0x17, 0xef, 0xbd, 0x78, 0x11, 0xf9, 0x04, 0xd5, 0x89, 0x73, 0x38, 0x71, 0xef, 0xba, 0x9e, 0x13, 0x38, 0xa8, 0xcc, 0x0a, 0xba, 0x6b, 0x6e, 0x5f, 0x9e, 0x38, 0xce, 0xc4, 0x22, 0x1f, 0x32, 0xf8, 0xe1, 0x6c, 0xfc, 0xa1, 0x6e, 0x9f, 0x72, 0xa2, 0xed, 0x2b, 0x69, 0x14, 0x99, 0xba, 0x41, 0x88, 0xbc, 0x9e, 0x46, 0x06, 0xe6, 0x94, 0xf8, 0x81, 0x3e, 0x15, 0x4d, 0xa8, 0x9f, 0x41, 0x63, 0x10, 0xe8, 0x5e, 0xf0, 0x78, 0xe2, 0x62, 0xf2, 0x8b, 0x19, 0xf1, 0x03, 0x74, 0x0b, 0x4a, 0x13, 0xcb, 0x39, 0xd4, 0xad, 0xad, 0xdc, 0x8d, 0xdc, 0xad, 0xea, 0x03, 0xe5, 0x6e, 0xd8, 0x8d, 0xbb, 0x7b, 0x0c, 0x8e, 0x05, 0x5e, 0x55, 0x60, 0x65, 0x10, 0x38, 0x6e, 0x5c, 0x57, 0x6d, 0x40, 0x7d, 0x8f, 0x48, 0xcc, 0xd4, 0x47, 0xb0, 0x12, 0x02, 0x7c, 0xd7, 0xb1, 0x7d, 0xf2, 0x0a, 0xec, 0x3f, 0x86, 0x95, 0xa6, 0x61, 0xf4, 0x09, 0xf1, 0xc2, 0xae, 0xa9, 0x50, 0x74, 0x09, 0xf1, 0x44, 0xcd, 0x95, 0xb8, 0x26, 0x23, 0x62, 0x38, 0xf5, 0x19, 0xac, 0xee, 0x12, 0x8b, 0x04, 0x44, 0xae, 0xb8, 0x05, 0xcb, 0xba, 0x61, 0x78, 0xc4, 0xf7, 0x59, 0xdd, 0x0a, 0x0e, 0x8b, 0xe8, 0x4d, 0xa8, 0x98, 0x76, 0x40, 0xbc, 0xb1, 0x3e, 0x22, 0x5b, 0x79, 0x86, 0x8b, 0x01, 0xea, 0x37, 0xd0, 0xe8, 0x98, 0x7e, 0x70, 0x31, 0x56, 0xb7, 0x41, 0x21, 0xb6, 0x7e, 0x68, 0x91, 0xa6, 0x71, 0x4c, 0xbc, 0xc0, 0xf4, 0x89, 0xc1, 0x38, 0x96, 0x71, 0x06, 0xae, 0x3e, 0x04, 0x25, 0x66, 0x2c, 0x66, 0xe6, 0x22, 0xa3, 0xfb, 0x7d, 0x58, 0x3d, 0x70, 0x0d, 0x3d, 0x39, 0xba, 0x0b, 0x54, 0x44, 0x37, 0x41, 0x31, 0x1c, 0xcd, 0x77, 0xc6, 0x81, 0xe6, 0x11, 0x9f, 0x04, 0x9a, 0x69, 0x8b, 0xce, 0xd5, 0x0d, 0x67, 0xe0, 0x8c, 0x03, 0x4c, 0xa1, 0x6d, 0x5b, 0xdd, 0x01, 0x24, 0xb7, 0x20, 0xfa, 0xf6, 0x01, 0xac, 0xd9, 0x84, 0x18, 0x7e, 0x8a, 0x43, 0x8e, 0x0f, 0x8f, 0xa1, 0x64, 0x26, 0xff, 0x3b, 0x07, 0x0a, 0xfb, 0x7d, 0xb1, 0x99, 0x7b, 0x1b, 0xea, 0x23, 0x67, 0x3a, 0x9d, 0xd9, 0xe6, 0x48, 0x0f, 0x4c, 0xc7, 0x16, 0x0b, 0x91, 0x04, 0x22, 0x04, 0x45, 0xda, 0xfa, 0x56, 0x81, 0x35, 0xca, 0x7e, 0xa3, 0x67, 0x50, 0x31, 0x4c, 0x8f, 0x8c, 0x58, 0xad, 0xe2, 0x8d, 0xdc, 0xad, 0x95, 0x07, 0x1f, 0xc4, 0xe3, 0x4f, 0x77, 0xe1, 0x6e, 0xd4, 0xc7, 0xdd, 0xb0, 0x12, 0x8e, 0xeb, 0xab, 0x1f, 0x02, 0xca, 0x12, 0xa0, 0x12, 0xe4, 0xdb, 0x5d, 0xe5, 0x0d, 0xb4, 0x0c, 0x85, 0xde, 0xc1, 0x50, 0xc9, 0xa1, 0x32, 0x14, 0x1f, 0xf7, 0x86, 0x4f, 0x95, 0xbc, 0x7a, 0x00, 0x6b, 0x83, 0xa3, 0x59, 0x60, 0x38, 0x2f, 0xed, 0x1f, 0x70, 0xa0, 0xea, 0x07, 0xb0, 0xda, 0x62, 0x02, 0x73, 0x21, 0xa6, 0xea, 0x10, 0xd0, 0xae, 0xe9, 0x5f, 0x98, 0xfe, 0x82, 0x9d, 0x78, 0x0a, 0x68, 0xdf, 0xb1, 0xcd, 0xc0, 0xf1, 0x2e, 0xc6, 0x75, 0x0b, 0x96, 0x47, 0x33, 0xcf, 0x23, 0x76, 0x20, 0xe4, 0x2a, 0x2c, 0xaa, 0x3f, 0x81, 0xb5, 0x04, 0xa7, 0x57, 0x10, 0xf7, 0x36, 0xac, 0x09, 0x15, 0xb0, 0xe7, 0x39, 0xb3, 0x48, 0x45, 0x3d, 0x00, 0xa0, 0x68, 0x6d, 0x42, 0x81, 0x82, 0xc1, 0x5a, 0x92, 0x01, 0xa7, 0xaf, 0xb8, 0xe1, 0x4f, 0xf5, 0x0e, 0x6c, 0xc4, 0x7a, 0x21, 0xc1, 0x0d, 0x41, 0xd1, 0xd6, 0xa7, 0x44, 0x0c, 0x88, 0xfd, 0x56, 0x67, 0xb0, 0x11, 0xef, 0x82, 0xef, 0xdb, 0xf6, 0xc5, 0x37, 0xdf, 0x53, 0xd8, 0xcc, 0x34, 0xfb, 0x7a, 0x3b, 0x50, 0x87, 0xcb, 0x4d, 0xc3, 0xd8, 0x3d, 0xb5, 0xf5, 0xa9, 0x39, 0xea, 0x12, 0x73, 0x72, 0x74, 0xe8, 0x44, 0xab, 0xb8, 0x0b, 0x8a, 0xc1, 0x31, 0x9a, 0x2d, 0x50, 0x62, 0x24, 0x97, 0xe3, 0x91, 0xa4, 0xeb, 0x36, 0x8c, 0x24, 0x40, 0xfd, 0x1b, 0x5c, 0x3f, 0xeb, 0xc1, 0x91, 0x34, 0x37, 0x01, 0x95, 0x43, 0x2d, 0x38, 0x75, 0xf9, 0x7c, 0xae, 0xc8, 0x73, 0x33, 0xa4, 0xb8, 0xe1, 0xa9, 0x4b, 0x70, 0x25, 0x08, 0x7f, 0xa2, 0x4b, 0x50, 0x3a, 0xf6, 0xc6, 0x9a, 0x69, 0x08, 0x31, 0x5c, 0x3a, 0xf6, 0xc6, 0x6d, 0x83, 0x49, 0x87, 0x1e, 0x1c, 0xb1, 0xcd, 0x9e, 0x94, 0x0e, 0xda, 0x1e, 0xc3, 0xa9, 0xef, 0x40, 0x23, 0xea, 0x80, 0x98, 0x25, 0x04, 0xc5, 0xd9, 0xcc, 0x34, 0x58, 0xdb, 0x35, 0xcc, 0x7e, 0xab, 0xff, 0x31, 0x17, 0x99, 0x84, 0xdf, 0x4e, 0x5f, 0x6f, 0x41, 0x69, 0xac, 0x4f, 0x4d, 0xeb, 0x54, 0xf4, 0x56, 0x32, 0x69, 0x4f, 0x18, 0x1c, 0x0b, 0x7c, 0x34, 0xaa, 0xe2, 0xe2, 0x51, 0x45, 0x43, 0x58, 0x92, 0x86, 0xf0, 0xaf, 0x0b, 0xc2, 0x10, 0x7d, 0xcf, 0x01, 0x84, 0xa2, 0x9e, 0x8f, 0x45, 0xfd, 0x15, 0x7a, 0xff, 0x09, 0x94, 0x5d, 0x8f, 0x8c, 0xcd, 0x13, 0xe2, 0x6f, 0x15, 0x6f, 0x14, 0x6e, 0x55, 0x1f, 0x5c, 0x49, 0xb5, 0xd7, 0x71, 0x9c, 0xef, 0x66, 0x6e, 0x9f, 0x11, 0xe1, 0x88, 0x18, 0x7d, 0x09, 0x15, 0xdf, 0xf1, 0x02, 0xde, 0xd3, 0x25, 0xd6, 0x53, 0x35, 0xae, 0x99, 0x1a, 0xd8, 0xdd, 0x81, 0xe3, 0x05, 0xac, 0xe3, 0x65, 0x5f, 0xfc, 0x42, 0x37, 0xa1, 0xc1, 0x4d, 0xa8, 0x36, 0x36, 0xad, 0x80, 0x78, 0xc4, 0xd8, 0x2a, 0x31, 0xc1, 0x5f, 0xe1, 0xe0, 0x27, 0x02, 0x8a, 0xee, 0x00, 0x12, 0x84, 0xb6, 0xe5, 0x99, 0xda, 0xa1, 0x69, 0xeb, 0xde, 0xe9, 0xd6, 0xb2, 0x6c, 0x85, 0xbb, 0x96, 0x67, 0x3e, 0x66, 0x70, 0xf4, 0x10, 0x36, 0x05, 0xb5, 0x1e, 0x04, 0x9e, 0x79, 0x38, 0x0b, 0x48, 0x58, 0xa5, 0xcc, 0xaa, 0x5c, 0x12, 0x86, 0x3b, 0xc4, 0xf2, 0x7a, 0xea, 0x0d, 0x28, 0x87, 0x9d, 0xa4, 0xd6, 0xa0, 0xdb, 0xeb, 0xb6, 0x94, 0x37, 0x10, 0x40, 0xa9, 0x8f, 0x5b, 0x4f, 0xda, 0x2f, 0x94, 0x9c, 0xfa, 0x4c, 0xd8, 0x77, 0x59, 0x36, 0x3f, 0x81, 0xaa, 0x41, 0xfc, 0xc0, 0xb4, 0xb9, 0xd6, 0xe5, 0x1b, 0xee, 0x92, 0xb4, 0xe1, 0x62, 0x24, 0x96, 0x29, 0xd5, 0xbf, 0x95, 0x83, 0x75, 0x21, 0xe8, 0x83, 0xc0, 0x23, 0xfa, 0xf4, 0xb7, 0x20, 0xc3, 0x6f, 0xc3, 0x12, 0x95, 0x3e, 0x7f, 0xab, 0xc0, 0x16, 0x36, 0x2d, 0x9a, 0x1c, 0xa9, 0xfe, 0x51, 0x0e, 0x1a, 0x7b, 0x24, 0x60, 0x8c, 0xbf, 0x4f, 0x27, 0x62, 0x99, 0xcb, 0x9f, 0x23, 0x73, 0xa1, 0xc4, 0x16, 0x24, 0xe5, 0x7c, 0x0a, 0x4a, 0xdc, 0x09, 0x31, 0xb9, 0x37, 0xa1, 0x61, 0xcf, 0xa6, 0x5a, 0x7a, 0x82, 0x8b, 0x78, 0xc5, 0x9e, 0x4d, 0xa5, 0x99, 0x45, 0x97, 0xa1, 0x4c, 0x09, 0xd9, 0x36, 0xcc, 0x33, 0x8a, 0x65, 0x7b, 0x36, 0xa5, 0x83, 0x44, 0x6f, 0x41, 0x8d, 0xa2, 0xf4, 0xd1, 0x88, 0xb8, 0x01, 0x31, 0x58, 0x9b, 0x45, 0x5c, 0xb5, 0x67, 0xd3, 0xa6, 0x00, 0xa9, 0xff, 0x29, 0x17, 0x19, 0xb3, 0xef, 0x3d, 0x09, 0xdf, 0x6f, 0x33, 0x4a, 0xf6, 0xb6, 0x98, 0xb0, 0xb7, 0xe8, 0x3a, 0x54, 0x5d, 0xc7, 0x0f, 0x34, 0xd7, 0xb1, 0xcc, 0xd1, 0x29, 0xdb, 0x6f, 0x65, 0x0c, 0x14, 0xd4, 0x67, 0x10, 0xf5, 0x11, 0xac, 0x27, 0xc7, 0x20, 0x59, 0x64, 0x3a, 0x2d, 0xb9, 0x33, 0x74, 0xee, 0x3d, 0xa8, 0x37, 0x0d, 0xe3, 0xb9, 0x37, 0x0e, 0x47, 0x7e, 0x1d, 0x0a, 0xc7, 0xde, 0x58, 0xd4, 0xa9, 0xc7, 0x75, 0x28, 0x09, 0xc5, 0xa8, 0xef, 0x82, 0xc2, 0xb5, 0xaf, 0x54, 0x69, 0x9e, 0xc9, 0x7d, 0x1b, 0x56, 0xe8, 0x96, 0x39, 0x87, 0xea, 0x01, 0x57, 0x84, 0x8c, 0x4a, 0x74, 0xfb, 0xdc, 0x1e, 0x9c, 0x80, 0x42, 0xb7, 0x0f, 0x1b, 0xbc, 0x74, 0xca, 0x11, 0xf3, 0x93, 0x39, 0x86, 0x08, 0x42, 0x81, 0x47, 0x8f, 0xe0, 0xb2, 0x47, 0xc6, 0xc4, 0xd3, 0xc8, 0x89, 0x49, 0xc5, 0x68, 0xa2, 0xf9, 0x81, 0x1e, 0x90, 0x29, 0xb1, 0x03, 0x5f, 0x58, 0xf1, 0x4d, 0x46, 0xd0, 0x12, 0xf8, 0x41, 0x84, 0x56, 0x7f, 0x95, 0x83, 0x35, 0x61, 0x7a, 0x5e, 0xb3, 0xf5, 0x0f, 0x61, 0xcd, 0xa5, 0xc6, 0xde, 0x3b, 0x26, 0xd9, 0x76, 0x51, 0x88, 0x8a, 0x9b, 0x44, 0x0a, 0x14, 0x74, 0xcb, 0x12, 0x4e, 0x32, 0xfd, 0xa9, 0xde, 0x84, 0x55, 0xa6, 0x8b, 0x12, 0x3d, 0x98, 0x37, 0xb7, 0x5f, 0x00, 0x92, 0x09, 0xe3, 0x03, 0xdb, 0xc5, 0xfa, 0xaa, 0xfe, 0xbb, 0x1c, 0xa0, 0x01, 0xe1, 0xf5, 0x4d, 0xe2, 0x87, 0x4d, 0x7d, 0x02, 0x35, 0x83, 0x8c, 0x4d, 0x9b, 0x18, 0x9a, 0x4f, 0x02, 0xea, 0x38, 0x52, 0x0d, 0xb3, 0x2e, 0x2b, 0x3e, 0x86, 0x1d, 0x90, 0x80, 0xea, 0xbd, 0xf0, 0xb7, 0x8f, 0xee, 0x40, 0xd9, 0x15, 0xbc, 0xb6, 0xf2, 0xac, 0x52, 0xb6, 0xed, 0x88, 0x02, 0xfd, 0x1e, 0x54, 0x75, 0xdf, 0x37, 0x27, 0x36, 0x9f, 0x21, 0xae, 0xc7, 0xb6, 0xd3, 0x15, 0x9a, 0x11, 0x09, 0x96, 0xc9, 0xd5, 0x7d, 0xa6, 0x62, 0xa5, 0x9e, 0x88, 0xce, 0xff, 0x18, 0xaa, 0x52, 0xe7, 0xc5, 0x14, 0xcc, 0xef, 0x3b, 0xc4, 0x7d, 0x57, 0x0f, 0x61, 0x93, 0xaf, 0xfb, 0x0f, 0xc5, 0x31, 0x5c, 0xd7, 0x7c, 0xbc, 0xae, 0x04, 0x2e, 0xd1, 0xe5, 0xca, 0xb6, 0xf0, 0x69, 0x3c, 0xe1, 0x92, 0x3a, 0xba, 0x94, 0x69, 0x82, 0x29, 0xa4, 0xb0, 0x33, 0x8b, 0x54, 0x92, 0xda, 0x83, 0x8d, 0x74, 0x33, 0x42, 0x32, 0x5e, 0x73, 0x6e, 0x9e, 0x32, 0xa7, 0x3e, 0x12, 0xd9, 0xb0, 0xd7, 0xf7, 0xa1, 0x12, 0x09, 0x78, 0xd6, 0xaf, 0x8e, 0xc9, 0x63, 0x2a, 0xf5, 0xe7, 0xa1, 0x4f, 0xff, 0x03, 0x30, 0x9b, 0x33, 0xc1, 0xb7, 0x61, 0x9d, 0x8e, 0x3c, 0xc3, 0x7c, 0xde, 0xde, 0xf9, 0x29, 0x5f, 0x0c, 0x89, 0x56, 0x4c, 0xd2, 0x6b, 0x0c, 0xeb, 0x05, 0x6c, 0x47, 0xfa, 0x4a, 0x92, 0x57, 0xd1, 0xfa, 0x23, 0x80, 0x58, 0x70, 0x05, 0xc7, 0xb3, 0xc4, 0x5c, 0xa2, 0x56, 0xa7, 0x70, 0x55, 0x56, 0x47, 0x3f, 0x28, 0xf3, 0x39, 0x13, 0xf8, 0xd7, 0xe1, 0x4a, 0xac, 0x50, 0xb2, 0x8d, 0xcd, 0x99, 0x47, 0xf4, 0x89, 0x7c, 0xa0, 0xcf, 0x33, 0xc1, 0xbd, 0x9c, 0x6e, 0x7f, 0xee, 0xe1, 0xfd, 0x67, 0xf0, 0xe6, 0xfc, 0xb6, 0xc4, 0x3a, 0x7c, 0x9f, 0x69, 0x7b, 0x01, 0xdb, 0xa1, 0x5e, 0xfb, 0x81, 0x17, 0xe4, 0x67, 0xec, 0x0c, 0x85, 0xdd, 0xef, 0xcc, 0xf3, 0x4f, 0xd8, 0x08, 0x8a, 0xae, 0xe3, 0xf1, 0xe3, 0x75, 0x1d, 0xb3, 0xdf, 0x68, 0x1b, 0xca, 0x96, 0x39, 0x26, 0x81, 0x29, 0x5c, 0xa4, 0x02, 0x8e, 0xca, 0x6a, 0x33, 0x3c, 0xf6, 0xbc, 0x36, 0x7b, 0xf5, 0x33, 0x6e, 0x6d, 0x65, 0x06, 0xb1, 0x87, 0x92, 0x3b, 0xdb, 0x43, 0x51, 0x1f, 0x71, 0x1f, 0x98, 0x57, 0x16, 0xab, 0xf0, 0x2e, 0x94, 0x98, 0xc1, 0x9a, 0x73, 0xec, 0x67, 0x74, 0x02, 0x4b, 0xfb, 0xce, 0x43, 0x20, 0xaf, 0xdf, 0xf7, 0xc7, 0x51, 0x58, 0xe4, 0xf5, 0x79, 0x0c, 0x45, 0x18, 0xeb, 0xf5, 0x17, 0x68, 0x4e, 0xd0, 0x4a, 0xfd, 0x8a, 0xeb, 0x15, 0xca, 0x34, 0xe1, 0x44, 0x5e, 0x7c, 0x6a, 0x3f, 0xe5, 0xda, 0x46, 0xe2, 0x10, 0xfb, 0x42, 0x9e, 0xa3, 0x67, 0x7d, 0x21, 0xec, 0xe8, 0x98, 0x62, 0xd4, 0x7f, 0x96, 0x07, 0xc4, 0x67, 0xf6, 0x67, 0xe4, 0xd0, 0xd3, 0xc3, 0xa6, 0x15, 0x28, 0xcc, 0x3c, 0x4b, 0x0c, 0x88, 0xfe, 0xa4, 0x5e, 0xa4, 0xe7, 0xd0, 0x03, 0x11, 0x35, 0x21, 0xdc, 0xfe, 0x56, 0x30, 0x30, 0x10, 0x35, 0x15, 0x2c, 0xe0, 0x73, 0x4c, 0x3c, 0x9f, 0xee, 0xd3, 0x02, 0x1b, 0x70, 0x58, 0x44, 0x1f, 0xc3, 0x86, 0x4d, 0x4e, 0x82, 0x23, 0xc7, 0xd5, 0x02, 0xcf, 0x9c, 0x4c, 0xa8, 0xef, 0xc4, 0x9a, 0x14, 0x9e, 0xea, 0xba, 0xc0, 0x0e, 0x39, 0x92, 0x77, 0x07, 0x3d, 0x80, 0x4b, 0xe9, 0x5a, 0x06, 0xb1, 0x74, 0xee, 0xc0, 0xd6, 0xf1, 0x5a, 0xb2, 0xd2, 0x2e, 0x45, 0xa1, 0xfb, 0x70, 0x69, 0xea, 0x5a, 0xbe, 0x66, 0xe9, 0x87, 0xc4, 0xd2, 0x3c, 0xdd, 0x9e, 0x10, 0xcd, 0x37, 0xff, 0x80, 0xb0, 0xd3, 0x61, 0x1d, 0x23, 0x8a, 0xec, 0x50, 0x1c, 0xa6, 0xa8, 0x81, 0xf9, 0x07, 0x04, 0xfd, 0x08, 0xea, 0x74, 0x11, 0x5e, 0xea, 0x1e, 0xd1, 0x98, 0xf6, 0x59, 0x66, 0x63, 0xae, 0x85, 0xc0, 0x2e, 0xd5, 0xe6, 0xff, 0x28, 0x07, 0x0a, 0xef, 0xd6, 0xbe, 0x17, 0xed, 0xf3, 0x2b, 0x50, 0x31, 0x66, 0x53, 0x37, 0xb6, 0xa9, 0x4b, 0xb8, 0x4c, 0x01, 0xcc, 0x72, 0x6e, 0x43, 0x79, 0x6c, 0x5a, 0x44, 0xb2, 0x9e, 0x51, 0x99, 0x36, 0xc9, 0x2a, 0xb2, 0xb8, 0xf2, 0xb1, 0x6e, 0x89, 0x83, 0x45, 0x8d, 0x02, 0xdb, 0x02, 0x86, 0xde, 0x87, 0x55, 0xcf, 0x09, 0xd8, 0x19, 0x25, 0x26, 0x2c, 0x32, 0x42, 0x25, 0x44, 0x84, 0xc4, 0xea, 0x1a, 0xac, 0x0a, 0xd9, 0x8e, 0xfb, 0xa7, 0xfe, 0xf3, 0x3c, 0xf3, 0xcd, 0x1f, 0x4f, 0xdd, 0xd7, 0x13, 0xd5, 0xaf, 0x22, 0x47, 0xaf, 0xc0, 0xf4, 0xee, 0xad, 0x58, 0x7c, 0x12, 0x6c, 0xef, 0x8a, 0xc3, 0x83, 0x69, 0x4f, 0x52, 0xce, 0xea, 0x1d, 0x58, 0xa5, 0x06, 0x8d, 0xba, 0xc1, 0x23, 0x7f, 0x68, 0x4e, 0x89, 0x33, 0xe3, 0xa7, 0x93, 0x25, 0x9c, 0x45, 0xd0, 0xde, 0x0d, 0x4e, 0x7d, 0x3a, 0xdf, 0x6c, 0x89, 0x2b, 0x38, 0x2c, 0xd2, 0xc9, 0x1c, 0x9c, 0xfa, 0xbb, 0xc4, 0x1f, 0x79, 0x6c, 0x25, 0x2b, 0x38, 0x2a, 0xab, 0x3b, 0xa0, 0xa4, 0xdb, 0x47, 0xcb, 0x50, 0xe8, 0x63, 0x7a, 0x04, 0x2f, 0x43, 0xb1, 0xdf, 0x1b, 0x24, 0x82, 0xb4, 0xa8, 0x02, 0x4b, 0x9d, 0xde, 0x4e, 0xb3, 0xa3, 0x14, 0x28, 0x5d, 0xb3, 0xd3, 0x51, 0x8a, 0xea, 0x57, 0xe1, 0x99, 0xe4, 0x75, 0x27, 0x4b, 0xfd, 0xdb, 0x45, 0x28, 0xf1, 0x4d, 0x89, 0xde, 0x85, 0x82, 0x3e, 0x36, 0x85, 0x97, 0xb5, 0x9e, 0xde, 0xb3, 0x77, 0x9b, 0x63, 0x13, 0x53, 0x02, 0xf4, 0x1e, 0x14, 0x7d, 0x4a, 0x98, 0x4f, 0xbb, 0x63, 0x82, 0x70, 0xa0, 0x8f, 0x4d, 0xcc, 0x48, 0xd4, 0xbf, 0x06, 0x85, 0xe6, 0xd8, 0x44, 0x0d, 0xa8, 0x36, 0x9f, 0xb4, 0xb5, 0x83, 0xee, 0xb3, 0x6e, 0xef, 0x9b, 0x2e, 0x0f, 0x31, 0x50, 0x40, 0xbb, 0xaf, 0xe4, 0x50, 0x15, 0x96, 0xf9, 0xef, 0x87, 0x4a, 0x1e, 0xd5, 0xa1, 0x42, 0x0b, 0x9d, 0x07, 0xcf, 0xfb, 0x5d, 0xe5, 0x32, 0xaa, 0x71, 0xba, 0xce, 0x40, 0xf9, 0xe3, 0x5f, 0xe6, 0x90, 0x02, 0x40, 0x4b, 0xbd, 0x7e, 0xf3, 0xeb, 0x83, 0x96, 0xf2, 0x77, 0x7f, 0x99, 0x53, 0xff, 0x34, 0x0f, 0x45, 0xda, 0x1c, 0x52, 0xa0, 0x36, 0x48, 0x36, 0x11, 0x43, 0xda, 0x3b, 0x4d, 0x36, 0x95, 0x08, 0x56, 0x18, 0x64, 0xff, 0xa0, 0x33, 0xe4, 0xb0, 0x3c, 0x5a, 0x83, 0x06, 0x87, 0xf5, 0x3b, 0x03, 0xad, 0xd3, 0x7c, 0xdc, 0xea, 0x28, 0x45, 0xb4, 0x01, 0x88, 0x01, 0x5b, 0xdd, 0x9d, 0x66, 0x7f, 0x70, 0xd0, 0x69, 0x0e, 0xdb, 0xbd, 0xae, 0xb2, 0x4c, 0x3b, 0xc7, 0xe0, 0xcf, 0xfb, 0x9d, 0x81, 0xd2, 0x8c, 0x8a, 0x2d, 0xda, 0xd7, 0x27, 0x74, 0x1c, 0x03, 0xd1, 0xd9, 0xbd, 0xa8, 0xad, 0x01, 0xd6, 0xfa, 0xbd, 0x4e, 0x7b, 0xe7, 0x5b, 0xa5, 0x8d, 0x10, 0xd4, 0xe3, 0xb6, 0x68, 0x9d, 0x5f, 0xe6, 0xd0, 0x9b, 0xb0, 0x99, 0x80, 0x49, 0x9d, 0xfb, 0xc3, 0x1c, 0x52, 0xe1, 0x2a, 0xc3, 0xe2, 0xde, 0xc1, 0xb0, 0xa5, 0x0d, 0x9b, 0x78, 0xaf, 0x35, 0xd4, 0x76, 0x7a, 0xdd, 0xc1, 0x10, 0x37, 0xdb, 0xdd, 0xe1, 0x40, 0xf9, 0xe3, 0x1c, 0xba, 0x02, 0x1b, 0x8c, 0xe6, 0x49, 0xa7, 0xf7, 0x8d, 0x36, 0xe8, 0xb7, 0x76, 0xa2, 0x11, 0xff, 0xcd, 0x1c, 0xda, 0x14, 0x23, 0x89, 0x91, 0xb4, 0xdd, 0x5f, 0xe7, 0xd0, 0x9a, 0xe8, 0xdf, 0xb3, 0xd6, 0xb7, 0xda, 0xf3, 0x66, 0xe7, 0xa0, 0xa5, 0xfc, 0xdf, 0x9c, 0xfa, 0x27, 0x05, 0x80, 0xe7, 0xba, 0x65, 0x1a, 0x3c, 0xc2, 0x70, 0x0f, 0x96, 0x98, 0x2f, 0x27, 0x24, 0x42, 0x72, 0x05, 0x62, 0x22, 0xee, 0xf8, 0x61, 0x4e, 0x88, 0x3e, 0x82, 0x92, 0x47, 0x74, 0x3f, 0xf2, 0x78, 0xae, 0xcc, 0xad, 0x82, 0x19, 0x09, 0x16, 0xa4, 0xe8, 0x26, 0x2c, 0x4f, 0xf5, 0x60, 0x74, 0xc4, 0x02, 0x15, 0x85, 0xac, 0xba, 0x0f, 0xb1, 0xe8, 0x1e, 0xd4, 0x66, 0xb6, 0x28, 0x68, 0x7a, 0x18, 0xba, 0x4b, 0x51, 0x57, 0x23, 0x92, 0xa6, 0x8f, 0x3e, 0x05, 0x25, 0xae, 0x61, 0x11, 0x7b, 0x12, 0x1c, 0x6d, 0x2d, 0xcd, 0xab, 0xd5, 0x88, 0xc8, 0x3a, 0x8c, 0x4a, 0xed, 0xc3, 0x12, 0x1b, 0x19, 0x5a, 0x01, 0x18, 0x0c, 0x9b, 0xc3, 0x96, 0x26, 0x82, 0x63, 0x54, 0x60, 0x44, 0x79, 0xa8, 0x3d, 0xe9, 0x1d, 0x74, 0x77, 0x95, 0x1c, 0x95, 0x6f, 0x0e, 0x7c, 0xde, 0xec, 0xb4, 0x77, 0x95, 0x3c, 0x5a, 0x85, 0x3a, 0x07, 0xb4, 0xbb, 0x1c, 0x54, 0x50, 0x3f, 0x83, 0x12, 0x1f, 0x38, 0xa5, 0xc6, 0xad, 0xe6, 0xa0, 0x37, 0x0c, 0x79, 0xd6, 0xa1, 0xc2, 0x00, 0x5d, 0xad, 0x39, 0x50, 0x72, 0xb4, 0xb2, 0x28, 0x76, 0x5a, 0xdd, 0x3d, 0x76, 0x41, 0xf3, 0x3f, 0x97, 0xa0, 0xc8, 0x42, 0x3b, 0xb7, 0xa0, 0x68, 0x5b, 0x9e, 0x29, 0x9d, 0x51, 0x9c, 0x89, 0x45, 0xee, 0x86, 0xf7, 0xa2, 0x77, 0x9b, 0xf6, 0x29, 0x66, 0x14, 0xe8, 0x0e, 0x94, 0x5c, 0x3d, 0x08, 0xbc, 0xf0, 0xc8, 0x39, 0x9f, 0x56, 0xd0, 0xa0, 0x3b, 0x50, 0xd0, 0x27, 0x44, 0x04, 0x6b, 0xb6, 0x33, 0xa4, 0xc3, 0xf0, 0xba, 0x15, 0x53, 0x32, 0xaa, 0x48, 0x0e, 0x89, 0x1f, 0x06, 0x6c, 0xd8, 0x6f, 0x6a, 0x67, 0x4d, 0x5f, 0x7b, 0x69, 0x06, 0x47, 0x86, 0xa7, 0xbf, 0x0c, 0xa3, 0x35, 0xa6, 0xff, 0x8d, 0x80, 0xa0, 0x8f, 0x01, 0x8e, 0x23, 0x21, 0x60, 0xd6, 0x2a, 0x71, 0xc8, 0x8a, 0x05, 0x04, 0x4b, 0x74, 0xe8, 0x1e, 0xac, 0xdb, 0x8e, 0x66, 0x4e, 0x5d, 0x7a, 0x3a, 0x0e, 0x62, 0xfe, 0x3c, 0xae, 0x89, 0x6c, 0xa7, 0x2d, 0x50, 0x51, 0x3b, 0xb1, 0xf7, 0x51, 0x39, 0x27, 0xf4, 0x74, 0x15, 0xc0, 0x77, 0x66, 0xde, 0x88, 0x68, 0xba, 0x6f, 0x6f, 0x01, 0xd3, 0x8a, 0x15, 0x0e, 0x69, 0xfa, 0x36, 0xb5, 0x93, 0x02, 0x6d, 0x1a, 0x5b, 0x55, 0xae, 0xbe, 0x39, 0xa0, 0x6d, 0x08, 0x3b, 0xc9, 0x43, 0xb8, 0x35, 0xd6, 0x97, 0xa8, 0x8c, 0xd6, 0xd9, 0xc6, 0xb1, 0xc8, 0x56, 0x9d, 0x21, 0x78, 0x01, 0xdd, 0x02, 0xc5, 0xf4, 0xb5, 0xb1, 0xe7, 0x4c, 0x35, 0x72, 0x12, 0x10, 0xcf, 0xd6, 0xad, 0xad, 0x15, 0x1e, 0xfc, 0x35, 0xfd, 0x27, 0x9e, 0x33, 0x6d, 0x09, 0x28, 0x9d, 0xca, 0xf0, 0x3a, 0x43, 0x33, 0xdd, 0xad, 0x06, 0x6b, 0x1a, 0x42, 0x50, 0xdb, 0x8d, 0x42, 0xeb, 0x4a, 0x1c, 0x5a, 0x47, 0x77, 0x00, 0x99, 0xbe, 0x16, 0x7a, 0x1e, 0xa6, 0xcd, 0xe6, 0x70, 0x6b, 0x95, 0x47, 0x8c, 0x4d, 0xbf, 0xcb, 0x11, 0x6d, 0x0e, 0x47, 0xd7, 0x00, 0x4c, 0x83, 0xd8, 0x81, 0x39, 0x36, 0x89, 0xb7, 0x85, 0xd8, 0xd0, 0x25, 0x08, 0x7a, 0x0f, 0x14, 0xcb, 0x19, 0xe9, 0x96, 0x26, 0x51, 0xad, 0x31, 0xaa, 0x06, 0x83, 0xb7, 0x63, 0x52, 0xda, 0x5b, 0x29, 0x46, 0xbd, 0xce, 0xfa, 0x04, 0x76, 0x1c, 0x9d, 0xfe, 0x11, 0xd4, 0xb9, 0x94, 0x85, 0x24, 0x97, 0x6e, 0x14, 0x6e, 0xd5, 0x70, 0x8d, 0x03, 0x45, 0x28, 0xfa, 0x19, 0x54, 0xe5, 0xe8, 0xe6, 0x06, 0x94, 0x78, 0xd4, 0x5d, 0xd8, 0x30, 0x51, 0x8a, 0xc3, 0xbb, 0xf9, 0xb3, 0xc2, 0xbb, 0x53, 0x58, 0xcd, 0x84, 0xf1, 0x17, 0xb2, 0xfc, 0x0a, 0xea, 0x16, 0xa3, 0xd3, 0x1c, 0x57, 0x3a, 0xad, 0xcd, 0xbf, 0x12, 0xe8, 0x31, 0x12, 0x5c, 0xb3, 0xa4, 0x92, 0xfa, 0x4f, 0x8a, 0x50, 0xec, 0x13, 0xe2, 0xa1, 0x4f, 0xa1, 0xa6, 0xbb, 0xae, 0x75, 0xaa, 0x25, 0x02, 0x4d, 0x92, 0x85, 0x6c, 0x52, 0xac, 0x70, 0x36, 0xaa, 0x7a, 0x5c, 0x40, 0xef, 0x42, 0x71, 0xe4, 0xd8, 0x63, 0x11, 0x46, 0x46, 0xc9, 0x7b, 0xb8, 0x1d, 0xc7, 0x1e, 0x63, 0x86, 0x47, 0x9f, 0x41, 0x9d, 0x1c, 0x4e, 0x5c, 0x6d, 0x3a, 0xb3, 0x02, 0xf3, 0xc8, 0x71, 0xc5, 0x8e, 0xdd, 0x88, 0x2b, 0xb4, 0x0e, 0x27, 0xee, 0xbe, 0xc0, 0xe2, 0x1a, 0x91, 0x4a, 0xa8, 0x09, 0x0d, 0xee, 0x0a, 0x7b, 0x64, 0x6c, 0x91, 0x51, 0xe0, 0x78, 0xe2, 0x02, 0x67, 0x4b, 0xd6, 0x86, 0xb3, 0x80, 0xe0, 0x10, 0x8f, 0x57, 0xbc, 0x44, 0x19, 0xbd, 0x17, 0xda, 0x84, 0xa5, 0x79, 0x17, 0x86, 0x09, 0x63, 0x70, 0x0b, 0x4a, 0xf4, 0xf8, 0xe6, 0xf9, 0xcc, 0xf5, 0x49, 0xec, 0xc3, 0x21, 0x83, 0x63, 0x81, 0x47, 0xf7, 0xa1, 0x12, 0x78, 0xba, 0xed, 0x33, 0xe7, 0x64, 0x39, 0xcd, 0x78, 0x18, 0xa2, 0x70, 0x4c, 0x45, 0x67, 0x9a, 0x0f, 0x45, 0x9c, 0xc2, 0xca, 0xe9, 0x99, 0x66, 0xe3, 0x18, 0x30, 0x24, 0xe6, 0x07, 0x00, 0x5e, 0x40, 0xbb, 0xa0, 0x4c, 0x3c, 0x7d, 0x44, 0xc6, 0x33, 0x4b, 0xf3, 0xa8, 0x52, 0xf3, 0x02, 0xa1, 0x28, 0xa4, 0xf3, 0xf9, 0x9e, 0xa0, 0xc0, 0x9c, 0x00, 0x37, 0x26, 0x49, 0x00, 0xba, 0x0b, 0x15, 0x7d, 0x6c, 0x6a, 0xd4, 0xc9, 0xf1, 0xb7, 0x80, 0xc9, 0xe2, 0xaa, 0xb4, 0xcc, 0x63, 0x93, 0x39, 0x41, 0x65, 0x9d, 0xff, 0xf0, 0xd5, 0x7f, 0x55, 0x84, 0x4a, 0x74, 0x17, 0xfa, 0x3d, 0xe4, 0xe4, 0xfd, 0x84, 0x9c, 0x6c, 0xce, 0xb9, 0xaf, 0xfd, 0x73, 0x24, 0x2c, 0x77, 0xa0, 0x68, 0xda, 0x63, 0x47, 0xc8, 0xca, 0xd6, 0x9c, 0xce, 0x72, 0x81, 0x61, 0x54, 0x7f, 0x29, 0x2f, 0xb2, 0xbc, 0x3c, 0x85, 0x46, 0xea, 0xde, 0x7a, 0xa1, 0xfe, 0xba, 0x9a, 0xb8, 0xc8, 0x17, 0x4f, 0x7f, 0xe2, 0xf7, 0x02, 0xff, 0x25, 0x07, 0x55, 0x49, 0x9c, 0xd0, 0x27, 0x50, 0x31, 0xed, 0xa4, 0xe0, 0x9d, 0x15, 0xe4, 0x29, 0x9b, 0xb6, 0xa8, 0xf8, 0x25, 0xd4, 0xc9, 0x09, 0x9d, 0xcc, 0xb0, 0x72, 0xfe, 0xdc, 0xca, 0x35, 0x5e, 0x21, 0x66, 0x60, 0x4e, 0x65, 0x06, 0x85, 0xf3, 0x19, 0xf0, 0x0a, 0xe2, 0xbe, 0xe7, 0xef, 0xe5, 0xa0, 0xca, 0x95, 0x79, 0xc7, 0x9c, 0x9a, 0xaf, 0x10, 0x67, 0x40, 0x6f, 0x41, 0x6d, 0xaa, 0x9f, 0x68, 0xd1, 0xad, 0x2f, 0x3f, 0x01, 0x55, 0xa7, 0xfa, 0x49, 0x3f, 0xbc, 0xdb, 0xfd, 0x18, 0x36, 0x7c, 0xf1, 0x06, 0x46, 0x0b, 0x8e, 0x3c, 0xe2, 0x1f, 0x39, 0x96, 0xa1, 0xb9, 0xa3, 0x40, 0x44, 0x05, 0xd6, 0x43, 0xec, 0x30, 0x44, 0xf6, 0x47, 0x81, 0xfa, 0x7f, 0x8a, 0x50, 0x0e, 0x55, 0x34, 0x35, 0x74, 0xfa, 0x2c, 0x38, 0xd2, 0x5c, 0xdd, 0xf7, 0x5f, 0x3a, 0x9e, 0x21, 0x16, 0xaa, 0x46, 0x81, 0x7d, 0x01, 0x43, 0x37, 0xd8, 0xed, 0xe9, 0xc8, 0x33, 0x5d, 0xe9, 0xcd, 0x8a, 0x0c, 0x42, 0x97, 0xa1, 0xcc, 0x6d, 0xaf, 0xee, 0x87, 0x11, 0x09, 0x56, 0x6e, 0xfa, 0xd4, 0x2c, 0x47, 0x9e, 0x41, 0x78, 0xc8, 0x2b, 0x32, 0x0e, 0x8d, 0x10, 0xde, 0x14, 0x87, 0xbd, 0x4d, 0x58, 0x66, 0x62, 0xa1, 0xfb, 0x22, 0xf0, 0x50, 0xa2, 0xc5, 0xa6, 0x9f, 0x92, 0x97, 0x52, 0x4a, 0x5e, 0xa8, 0xd7, 0xc3, 0xd0, 0x2c, 0x3a, 0xb0, 0xcc, 0x6a, 0x96, 0x29, 0x80, 0x45, 0x07, 0xba, 0xb0, 0xea, 0x91, 0xa9, 0x73, 0x4c, 0x34, 0xd7, 0x33, 0x8f, 0xf5, 0x80, 0x7a, 0x4e, 0x6c, 0x2f, 0x25, 0x2e, 0xc2, 0xc3, 0x09, 0xb9, 0x8b, 0x19, 0x6d, 0x9f, 0x93, 0x36, 0x7d, 0xdc, 0xf0, 0x92, 0x00, 0xea, 0xb4, 0xf0, 0x6d, 0x39, 0xb6, 0x74, 0x57, 0x33, 0xf4, 0xa9, 0x6b, 0xda, 0x13, 0xb6, 0xbd, 0xca, 0x58, 0x61, 0x98, 0x27, 0x96, 0xee, 0xee, 0x72, 0x38, 0x7a, 0x07, 0x56, 0x7c, 0x62, 0x1b, 0x9a, 0x78, 0xe0, 0x13, 0x9c, 0x0a, 0x9f, 0xad, 0x4e, 0xa1, 0x3b, 0x21, 0x10, 0x7d, 0x00, 0x28, 0x76, 0x9f, 0xa2, 0x37, 0x71, 0xdc, 0x81, 0x5b, 0x8d, 0xbc, 0xa8, 0x10, 0x81, 0x14, 0x7e, 0xed, 0x56, 0xe3, 0x21, 0xa3, 0x63, 0x6f, 0x8c, 0x6e, 0x40, 0x4d, 0xb7, 0x2c, 0xe7, 0xa5, 0x46, 0x65, 0x41, 0xf7, 0x99, 0x1b, 0x57, 0xc7, 0xc0, 0x60, 0xbd, 0x97, 0x76, 0xd3, 0x47, 0xef, 0x42, 0xc3, 0x23, 0xae, 0xa5, 0x8f, 0x88, 0x16, 0x4e, 0x32, 0x77, 0xe5, 0xea, 0x02, 0xdc, 0x8f, 0xe6, 0x5a, 0x37, 0xa6, 0xa6, 0xad, 0x51, 0xc1, 0x61, 0x8e, 0x5c, 0x19, 0x57, 0x18, 0x64, 0xd7, 0x79, 0x69, 0xab, 0xf7, 0xa1, 0x91, 0x9a, 0x22, 0xe9, 0x1a, 0x5e, 0x1c, 0xf2, 0xd9, 0x01, 0x19, 0xb7, 0xfa, 0x9d, 0xe6, 0x4e, 0x4b, 0xc9, 0xab, 0xff, 0xb2, 0x00, 0xf5, 0x84, 0xae, 0xff, 0x1d, 0x48, 0x9d, 0x24, 0x4a, 0xc5, 0x84, 0x28, 0xbd, 0x0b, 0x8d, 0x58, 0x94, 0x78, 0x14, 0x8a, 0x47, 0x40, 0xea, 0x91, 0x3c, 0xb1, 0x38, 0x48, 0x42, 0xa6, 0x4a, 0x29, 0x99, 0x1a, 0xcc, 0x93, 0xa9, 0x65, 0x26, 0x53, 0x37, 0x17, 0xd8, 0xb7, 0xd7, 0x15, 0xac, 0xf2, 0x85, 0x05, 0xab, 0x32, 0x47, 0xb0, 0x5e, 0x67, 0xb9, 0xfe, 0x5f, 0x01, 0x56, 0x92, 0xd6, 0xee, 0x2f, 0xfc, 0x7a, 0x0d, 0x17, 0xaf, 0xd7, 0xad, 0x45, 0x26, 0xfe, 0xcf, 0x66, 0xc1, 0xe8, 0xd1, 0x24, 0x70, 0x02, 0xdd, 0xd2, 0xf8, 0x99, 0x81, 0x6b, 0x0b, 0x60, 0x20, 0x7a, 0x5c, 0xf0, 0x29, 0x1f, 0x41, 0x10, 0x5a, 0x86, 0x2a, 0xe7, 0xc3, 0x69, 0x04, 0xf0, 0x75, 0x16, 0xfe, 0x19, 0xd4, 0x64, 0xe7, 0x0a, 0x6d, 0xc1, 0x32, 0x8f, 0x1d, 0x1b, 0xe2, 0xa9, 0x5b, 0x58, 0x64, 0xb6, 0x49, 0x50, 0x69, 0x41, 0x60, 0x45, 0xb6, 0x49, 0xc0, 0x86, 0x81, 0xa5, 0xfe, 0x51, 0x0e, 0x56, 0x92, 0xbe, 0x16, 0x35, 0x57, 0x29, 0xf7, 0x4c, 0x1b, 0x59, 0x66, 0x78, 0x71, 0x53, 0xc6, 0xeb, 0x49, 0x5f, 0x6c, 0x87, 0xe1, 0xd0, 0x67, 0xb0, 0x9d, 0xad, 0x35, 0xf3, 0x03, 0xe2, 0xc5, 0x0f, 0x69, 0x36, 0xd3, 0x35, 0x19, 0xbe, 0x6d, 0xa8, 0xbf, 0x59, 0xe6, 0x3e, 0xec, 0xef, 0x4a, 0x8c, 0xef, 0x42, 0x79, 0x4a, 0x7c, 0x5f, 0x9f, 0x10, 0x5f, 0xb8, 0x9e, 0xd2, 0xb9, 0x68, 0x5f, 0x60, 0x70, 0x44, 0x33, 0xd7, 0x38, 0x2e, 0x9d, 0x6b, 0x1c, 0x4b, 0x67, 0x18, 0xc7, 0xe5, 0x33, 0x8d, 0x63, 0x39, 0xb5, 0x31, 0x6e, 0x41, 0xe9, 0x17, 0x33, 0x32, 0x23, 0x7e, 0x36, 0xf0, 0xf0, 0x35, 0x83, 0x63, 0x81, 0x47, 0xb7, 0xe7, 0x6d, 0x21, 0x2e, 0x9d, 0x17, 0xdc, 0x18, 0xd5, 0x0b, 0x6f, 0x8c, 0xda, 0xbc, 0x8d, 0xd1, 0x82, 0xba, 0x4f, 0x7c, 0xdf, 0x74, 0x6c, 0xfe, 0x18, 0x83, 0x99, 0xb8, 0x95, 0x07, 0x37, 0xe6, 0x1c, 0xe7, 0xee, 0x0e, 0x38, 0x21, 0x77, 0xd5, 0x6b, 0xbe, 0x54, 0x42, 0x5f, 0x42, 0x95, 0x9b, 0x37, 0xce, 0xa4, 0xc1, 0x98, 0x5c, 0x9b, 0xc7, 0xa4, 0x49, 0xc9, 0x38, 0x0b, 0x6e, 0x11, 0x39, 0x83, 0x35, 0x58, 0x72, 0x66, 0x81, 0xf6, 0x0b, 0x16, 0xc9, 0xa8, 0xe3, 0xa2, 0x33, 0x0b, 0xbe, 0x46, 0xeb, 0xb0, 0x34, 0xb6, 0x1c, 0xd7, 0x67, 0xc1, 0x8b, 0x3a, 0xe6, 0x05, 0xf4, 0x11, 0x00, 0x9d, 0x9a, 0x80, 0x68, 0x23, 0xdd, 0xdd, 0x42, 0x67, 0xc4, 0xb4, 0x2a, 0x9c, 0x6e, 0x47, 0x77, 0xe9, 0x49, 0x81, 0x4b, 0x17, 0xad, 0xb3, 0x76, 0x46, 0x1d, 0x2e, 0x84, 0xb4, 0xca, 0x15, 0xa8, 0xb0, 0x59, 0x65, 0x3b, 0x62, 0x9d, 0x47, 0x7d, 0x38, 0xa0, 0x6d, 0xa8, 0x36, 0xd4, 0xe4, 0xe9, 0xa0, 0x5b, 0x3e, 0x8e, 0x38, 0x97, 0xa1, 0xd8, 0xde, 0xed, 0xb4, 0xb8, 0x26, 0xd8, 0xe9, 0x75, 0xbb, 0xad, 0x9d, 0xa1, 0x92, 0x67, 0xb1, 0xee, 0x9d, 0x61, 0xfb, 0x79, 0x4b, 0x29, 0xa0, 0x1a, 0x94, 0x7b, 0xfd, 0x56, 0x77, 0xd0, 0xea, 0x0e, 0x95, 0x22, 0x6a, 0x40, 0x95, 0x96, 0x76, 0x7a, 0xdd, 0x27, 0x6d, 0xbc, 0xaf, 0x2c, 0x51, 0x40, 0x6b, 0x30, 0x6c, 0x3e, 0xee, 0xb4, 0x07, 0x4f, 0x5b, 0xbb, 0x4a, 0x49, 0xbd, 0x0d, 0x10, 0xcf, 0x1c, 0x2a, 0x41, 0xfe, 0xa0, 0xcf, 0x1b, 0xda, 0xa5, 0x4d, 0xe6, 0xd8, 0x53, 0xbd, 0x27, 0x2f, 0x34, 0xda, 0x8e, 0xfa, 0xfb, 0x50, 0x0e, 0x37, 0x05, 0xfa, 0x00, 0xca, 0x1e, 0x19, 0x11, 0xf3, 0x58, 0xa8, 0x9b, 0xc4, 0x69, 0x43, 0x50, 0xe1, 0x88, 0x04, 0xbd, 0x03, 0x45, 0x3f, 0x7c, 0xf0, 0x3c, 0x97, 0x94, 0xa1, 0xd5, 0x3f, 0xc9, 0xc3, 0xb2, 0x80, 0x20, 0x15, 0x6a, 0xb6, 0x13, 0x98, 0xe3, 0xf0, 0xed, 0x35, 0x7f, 0xa4, 0x96, 0x80, 0xd1, 0x13, 0xcb, 0x8c, 0xbd, 0x02, 0x16, 0x0f, 0xd4, 0x44, 0x09, 0x21, 0x28, 0x3a, 0x2e, 0xb1, 0xc5, 0xf5, 0x11, 0xfb, 0x8d, 0xde, 0x84, 0xca, 0x77, 0x84, 0xb8, 0xba, 0x65, 0x1e, 0x13, 0x71, 0x5d, 0x14, 0x03, 0xa8, 0xf6, 0xf4, 0xc8, 0x98, 0xfa, 0xdd, 0x6c, 0x47, 0x17, 0x71, 0x58, 0xa4, 0xf5, 0x0c, 0xd3, 0x1f, 0xe9, 0x9e, 0x21, 0xde, 0x52, 0x16, 0x71, 0x0c, 0xa0, 0xa2, 0xc4, 0x34, 0x39, 0xdb, 0xc9, 0x45, 0xcc, 0x0b, 0xe8, 0x26, 0x34, 0xc2, 0x38, 0xa2, 0x26, 0x3a, 0x58, 0xe6, 0x6f, 0xec, 0x42, 0x30, 0x7f, 0xbc, 0x9c, 0x20, 0x14, 0x67, 0xaf, 0x4a, 0x92, 0x90, 0x9b, 0x08, 0xf5, 0x21, 0x94, 0xf8, 0x16, 0xa7, 0x2d, 0x9a, 0xb6, 0x3b, 0xe3, 0x6a, 0xb8, 0x8e, 0x79, 0x81, 0xce, 0x84, 0x33, 0x0b, 0x28, 0x98, 0x6b, 0x77, 0x51, 0x52, 0x09, 0x94, 0xf8, 0xd9, 0x16, 0xdd, 0x85, 0x12, 0x3d, 0xb3, 0x9b, 0x13, 0xb1, 0x5e, 0x1b, 0xe9, 0xd3, 0xef, 0x0e, 0xc3, 0x62, 0x41, 0x85, 0xde, 0x0f, 0x03, 0x31, 0xf9, 0xf4, 0x49, 0x96, 0x93, 0xcb, 0xa1, 0x18, 0xf5, 0x0f, 0xf3, 0x50, 0x93, 0xb9, 0x50, 0xe5, 0x3d, 0x72, 0x6c, 0x9b, 0x8c, 0x02, 0xcd, 0x23, 0x81, 0x77, 0x1a, 0x2e, 0x9f, 0x00, 0x62, 0x0a, 0xa3, 0x3b, 0x81, 0x9d, 0x81, 0xd8, 0xa5, 0x3c, 0x5f, 0xc1, 0x32, 0x05, 0x50, 0x4e, 0xd4, 0xc9, 0x8e, 0x96, 0x27, 0x7d, 0x21, 0xb8, 0x1a, 0x61, 0xa2, 0x5b, 0xc1, 0x5d, 0xb8, 0x36, 0x35, 0x6d, 0x73, 0x3a, 0x9b, 0x6a, 0x7a, 0xf8, 0xf5, 0x08, 0x3d, 0xe1, 0xa5, 0xaf, 0x08, 0xdf, 0x14, 0x54, 0x4d, 0x99, 0x28, 0xe2, 0xf2, 0x08, 0xb6, 0x4d, 0xc3, 0x22, 0x5a, 0xd4, 0x2d, 0x4d, 0x1f, 0xd3, 0x9d, 0xca, 0x5e, 0x91, 0x0b, 0xc9, 0xd8, 0xa0, 0x14, 0x4f, 0x45, 0x37, 0x9b, 0x14, 0xcd, 0x6e, 0xbe, 0xd5, 0xff, 0x95, 0x87, 0xaa, 0x34, 0x35, 0x7f, 0x51, 0xa7, 0xe0, 0x1e, 0xac, 0xdb, 0x64, 0xe2, 0x04, 0xa6, 0x1e, 0x10, 0x23, 0x9e, 0x08, 0x31, 0x78, 0x14, 0xe3, 0xc2, 0x29, 0x40, 0x0f, 0xe8, 0x2e, 0x64, 0x34, 0xa5, 0x73, 0xa3, 0xfb, 0x82, 0x12, 0x3d, 0x84, 0x32, 0x3d, 0xb1, 0xb0, 0x5a, 0xcb, 0xe7, 0xd6, 0x8a, 0x68, 0xd5, 0x7f, 0x9c, 0x87, 0x4a, 0x14, 0x7f, 0xa1, 0x53, 0x2c, 0x6c, 0x7b, 0xe2, 0x3e, 0xb2, 0xc6, 0x0d, 0xbc, 0x30, 0xc5, 0x57, 0x01, 0x38, 0x91, 0x74, 0x35, 0xc9, 0x95, 0x76, 0x5f, 0xf0, 0x98, 0x06, 0x33, 0x8d, 0x6e, 0x69, 0xe7, 0x98, 0x78, 0xa7, 0xe2, 0x01, 0x42, 0x6d, 0x1a, 0xcc, 0x76, 0x43, 0x18, 0x75, 0xa1, 0xa8, 0x1b, 0x42, 0xd7, 0x61, 0xea, 0x18, 0xe1, 0xf5, 0x7c, 0x55, 0xc0, 0xf6, 0x1d, 0x83, 0x50, 0xc3, 0x28, 0xcc, 0x47, 0xd2, 0x35, 0xa8, 0x73, 0x68, 0xd8, 0x9b, 0xeb, 0x50, 0x15, 0x64, 0xac, 0x3b, 0xdc, 0x39, 0x10, 0x86, 0x87, 0xf5, 0x67, 0x13, 0x96, 0x83, 0x91, 0xab, 0x4d, 0x7d, 0x5f, 0x1c, 0x8e, 0x4b, 0xc1, 0xc8, 0xdd, 0xf7, 0x99, 0x2b, 0x79, 0x68, 0xda, 0x86, 0x74, 0xe2, 0x2c, 0xf3, 0x06, 0x28, 0x34, 0x3a, 0x6d, 0xaa, 0x63, 0xa8, 0x4a, 0xa1, 0x26, 0x74, 0x17, 0xd6, 0xe4, 0xb8, 0x54, 0xd2, 0x87, 0x5b, 0x95, 0xe2, 0x50, 0xc2, 0x81, 0xbb, 0x09, 0x0d, 0x9f, 0x8c, 0x1c, 0xdb, 0xd0, 0xbd, 0x53, 0x8d, 0xa1, 0xc5, 0x3b, 0xa5, 0x95, 0x08, 0xcc, 0xd8, 0xab, 0xff, 0xa6, 0x00, 0x8d, 0x54, 0x54, 0xea, 0x6c, 0x1f, 0x54, 0xc4, 0xb6, 0x62, 0x51, 0xaf, 0xe3, 0xaa, 0x80, 0x31, 0x31, 0xba, 0x0e, 0xd5, 0x23, 0x62, 0xb9, 0xc4, 0xd3, 0x1c, 0xdb, 0x0a, 0x97, 0x01, 0x38, 0xa8, 0x67, 0x5b, 0x2c, 0xcc, 0x6f, 0x90, 0x31, 0xf1, 0x3c, 0xdd, 0xe2, 0x4c, 0xf8, 0xd9, 0xa3, 0x16, 0x02, 0x19, 0x97, 0xfb, 0xb0, 0x2e, 0x9b, 0x08, 0x2d, 0xec, 0x0f, 0xbf, 0x2e, 0x5a, 0x93, 0x71, 0x2d, 0xd1, 0xb7, 0xf7, 0x61, 0xd5, 0x72, 0xec, 0x09, 0xdd, 0x4b, 0x46, 0x44, 0xcf, 0x5f, 0xcd, 0x2b, 0x11, 0x22, 0x24, 0xbe, 0x0d, 0xab, 0xec, 0xb6, 0x85, 0xcf, 0x8d, 0xaf, 0x45, 0x12, 0x5c, 0xc7, 0x0d, 0x86, 0x60, 0xb3, 0xc3, 0xae, 0xee, 0x29, 0x2d, 0x73, 0xe6, 0x12, 0x23, 0xe7, 0x4e, 0x1d, 0x3b, 0x26, 0x61, 0x69, 0xf4, 0x37, 0xc5, 0xc9, 0x49, 0xd0, 0xc6, 0x51, 0x8a, 0x15, 0x89, 0x92, 0x3a, 0x60, 0xd1, 0xc5, 0x89, 0x44, 0x09, 0x8c, 0x92, 0x5f, 0x9c, 0x48, 0xa4, 0x08, 0x8a, 0x4c, 0x5a, 0x79, 0x64, 0x82, 0xfd, 0x56, 0x3f, 0x82, 0xcd, 0x7d, 0x37, 0xb5, 0x6e, 0x42, 0x67, 0x2f, 0x5c, 0x3d, 0xf5, 0x3f, 0xe7, 0x60, 0x23, 0x53, 0x8b, 0x6b, 0xb9, 0xc5, 0x4b, 0xbe, 0x2d, 0xb9, 0x08, 0x5c, 0x84, 0x62, 0x7f, 0xe0, 0x1a, 0x80, 0x1e, 0x7f, 0xfb, 0x27, 0x96, 0x3a, 0x86, 0xa0, 0x0f, 0x60, 0x8d, 0x3a, 0x99, 0xce, 0x58, 0xf3, 0xcc, 0x43, 0x2d, 0x62, 0x53, 0x0c, 0x3f, 0x4f, 0x30, 0x7a, 0x63, 0x6c, 0x1e, 0xe2, 0xd8, 0xbd, 0x68, 0x48, 0xe4, 0xcc, 0xd3, 0xe0, 0xeb, 0x5d, 0x0b, 0x49, 0x07, 0xd4, 0xbd, 0xf8, 0x75, 0x0e, 0x56, 0x33, 0xc3, 0x40, 0x3f, 0x49, 0x19, 0xc6, 0xb7, 0x24, 0xef, 0x64, 0xfe, 0x4c, 0x45, 0x36, 0xf2, 0x61, 0xd2, 0x46, 0xde, 0x38, 0xa3, 0x66, 0xc2, 0x5c, 0x0e, 0xa0, 0x2e, 0x22, 0xb2, 0x62, 0xea, 0x2f, 0x1e, 0x68, 0x94, 0xe6, 0x3b, 0x9f, 0x5c, 0xa4, 0x7f, 0x91, 0x83, 0x9a, 0xe0, 0x3a, 0x08, 0xef, 0x47, 0xbe, 0x2f, 0xd3, 0xc4, 0x22, 0x72, 0xc3, 0x13, 0x2f, 0xe2, 0x36, 0x94, 0xa3, 0x2f, 0x00, 0xb8, 0x65, 0x89, 0xca, 0xa9, 0x05, 0xe6, 0xb6, 0x43, 0x82, 0xa8, 0xff, 0xa0, 0x00, 0x57, 0x84, 0x9a, 0xb2, 0xf8, 0xbb, 0x44, 0x7e, 0xd5, 0x15, 0xfa, 0x0f, 0x77, 0x00, 0xe9, 0xd6, 0x4b, 0xfd, 0xd4, 0xa7, 0x07, 0x0d, 0x57, 0xf7, 0x88, 0x36, 0x8d, 0x24, 0x4c, 0xe1, 0x98, 0x1d, 0x8e, 0xd8, 0x27, 0x06, 0xba, 0x0f, 0x97, 0xcc, 0x89, 0xed, 0x78, 0xf4, 0x98, 0xc3, 0x8e, 0xe2, 0xe1, 0x5d, 0xbc, 0x78, 0xfd, 0xcd, 0x91, 0x4d, 0x9f, 0x9e, 0xc9, 0xf9, 0xfd, 0x3b, 0x3d, 0xa8, 0x86, 0x97, 0xa4, 0x51, 0x13, 0xb1, 0x5b, 0xce, 0x25, 0x72, 0x33, 0xa4, 0x10, 0x4d, 0x61, 0xe1, 0xa5, 0xa3, 0x47, 0x70, 0x39, 0x1a, 0x8b, 0x66, 0xda, 0xfa, 0x28, 0xa0, 0x96, 0x81, 0x6b, 0x04, 0x21, 0xa4, 0x9b, 0x11, 0x41, 0x5b, 0xe0, 0xb9, 0x62, 0xa0, 0x6a, 0x2e, 0xfc, 0x94, 0xc6, 0x9c, 0xb8, 0xe1, 0x35, 0xb6, 0xf8, 0x7c, 0xc6, 0x9c, 0xb8, 0xcc, 0x07, 0xe1, 0x83, 0xb1, 0xc9, 0x49, 0xa0, 0xb1, 0xcb, 0xd6, 0x89, 0xab, 0x4d, 0x49, 0xe0, 0x99, 0x23, 0xa1, 0x97, 0x36, 0x38, 0x45, 0x97, 0x9c, 0x04, 0x4f, 0x1d, 0xb7, 0x3d, 0x71, 0xf7, 0x19, 0x16, 0x7d, 0x0e, 0x57, 0x0c, 0xfe, 0xdc, 0x49, 0x3b, 0x24, 0x7e, 0xc0, 0xe7, 0xc2, 0x0f, 0xa7, 0x58, 0x7c, 0xde, 0xb3, 0x25, 0x48, 0x1e, 0x13, 0xfe, 0xdd, 0x4d, 0xb4, 0x04, 0xea, 0xdf, 0x2f, 0xc0, 0xf6, 0xdc, 0x55, 0xe1, 0x02, 0xf5, 0x97, 0x8b, 0xf2, 0x67, 0xb2, 0x28, 0x39, 0xb8, 0x34, 0x77, 0x51, 0xd0, 0xe7, 0x29, 0xcd, 0xf5, 0x4e, 0xe6, 0xb6, 0x69, 0xde, 0xde, 0x8a, 0xb4, 0xd7, 0xa3, 0xa4, 0xf6, 0x7a, 0xfb, 0x9c, 0xda, 0x09, 0x0d, 0xf6, 0x00, 0x36, 0x0e, 0x7c, 0xc2, 0x82, 0x4f, 0xae, 0xc5, 0x3e, 0x17, 0xf4, 0xcf, 0xb5, 0x22, 0xf7, 0xe1, 0x52, 0xba, 0xce, 0x39, 0x36, 0x44, 0xfd, 0x39, 0x40, 0xeb, 0x70, 0xe2, 0x0a, 0xd6, 0xb7, 0x61, 0x95, 0x87, 0xcd, 0xa7, 0x82, 0x87, 0xa6, 0xfb, 0xa2, 0x46, 0x83, 0x21, 0x42, 0xde, 0x4d, 0x9f, 0xb9, 0x75, 0xfa, 0x09, 0x73, 0x86, 0xc3, 0xfb, 0x7c, 0xe6, 0x2c, 0x08, 0x20, 0x6b, 0x5d, 0xfd, 0xab, 0x50, 0xa1, 0xec, 0x79, 0x2f, 0x7e, 0x70, 0xee, 0x1a, 0x14, 0x29, 0x77, 0x74, 0x27, 0xb5, 0x4c, 0xeb, 0xc9, 0xeb, 0xd1, 0xd4, 0xaa, 0xbc, 0x97, 0x5c, 0x95, 0xb5, 0x24, 0x71, 0x62, 0x11, 0xee, 0x03, 0xb4, 0xe3, 0xd9, 0xc9, 0xf4, 0x29, 0x37, 0xa7, 0x4f, 0xf7, 0xa0, 0xd2, 0x8e, 0x46, 0x7c, 0xa1, 0x1a, 0x1a, 0x14, 0xdb, 0xe7, 0x8c, 0xa2, 0xfd, 0x2a, 0xa3, 0x68, 0xa7, 0x47, 0xf1, 0xa7, 0x39, 0x50, 0xd2, 0x72, 0x81, 0x3e, 0x4d, 0xb5, 0x26, 0x99, 0xd6, 0xf9, 0x72, 0x17, 0xb5, 0xfc, 0xe3, 0x64, 0xcb, 0xd7, 0x17, 0x57, 0x4c, 0x3c, 0x26, 0x50, 0xa1, 0x48, 0x0e, 0x27, 0x6e, 0xf6, 0x33, 0x5a, 0x3a, 0xeb, 0x98, 0xe1, 0x28, 0x8d, 0x49, 0x69, 0x32, 0x1f, 0xa5, 0xb6, 0x19, 0x0d, 0xc5, 0xa9, 0x8f, 0x85, 0x5d, 0x1b, 0xea, 0xde, 0x84, 0x04, 0xfb, 0x64, 0x7a, 0x48, 0x3c, 0xff, 0xc8, 0x94, 0x16, 0x29, 0xe9, 0xc3, 0xe6, 0xb2, 0x3e, 0xac, 0xda, 0x14, 0x5a, 0x38, 0xcd, 0x23, 0x5a, 0xb5, 0xf3, 0x59, 0x44, 0x4a, 0x23, 0xcd, 0xe3, 0x5c, 0xa5, 0x31, 0xbf, 0xe3, 0x17, 0x55, 0x1a, 0x73, 0xbb, 0x1c, 0xae, 0xf4, 0xcf, 0xe1, 0x5a, 0xc7, 0xb1, 0x27, 0x1d, 0xea, 0x3d, 0xbc, 0xa2, 0x0b, 0x7a, 0x81, 0x03, 0x84, 0xfa, 0x3f, 0x72, 0x70, 0x75, 0x11, 0xff, 0xdf, 0xa6, 0xb3, 0x3a, 0xd7, 0xcd, 0x2f, 0xce, 0x77, 0xf3, 0x3f, 0x83, 0xed, 0x0c, 0xad, 0xa7, 0x91, 0x13, 0xd7, 0xf4, 0xa2, 0x43, 0xca, 0x66, 0xaa, 0x92, 0xd7, 0xe2, 0x68, 0xf5, 0x1f, 0xe6, 0x60, 0x6b, 0xd1, 0x00, 0xd1, 0x57, 0xa9, 0x75, 0x95, 0xae, 0x4a, 0xce, 0x9e, 0xf4, 0x68, 0x69, 0x3f, 0x4f, 0x2e, 0xed, 0xcd, 0xf3, 0x19, 0x24, 0x56, 0xf7, 0xdf, 0x2f, 0xc1, 0xb2, 0xf0, 0x3f, 0xd1, 0x33, 0x58, 0x9b, 0xba, 0x5a, 0xe6, 0x59, 0x03, 0xef, 0xd9, 0x95, 0x33, 0xdc, 0x64, 0xbc, 0x3a, 0xcd, 0x38, 0xe8, 0x1f, 0x46, 0x23, 0xcb, 0x3c, 0x4a, 0x49, 0x78, 0xd1, 0xd1, 0x40, 0xee, 0x84, 0x03, 0xc9, 0x3c, 0x47, 0x91, 0xfd, 0xe3, 0x70, 0xe7, 0xa7, 0xdf, 0xca, 0x14, 0x2f, 0xfc, 0x56, 0xe6, 0x1b, 0xd8, 0x0c, 0xcf, 0xd6, 0xc2, 0x54, 0x8a, 0x17, 0x5e, 0xbe, 0x78, 0x91, 0x72, 0xfd, 0x1c, 0x93, 0x8a, 0x2f, 0x79, 0x73, 0x0d, 0xfb, 0x53, 0x40, 0x33, 0x9f, 0xc4, 0x86, 0x88, 0x6b, 0xe7, 0x52, 0xfa, 0x35, 0x43, 0x5a, 0xa1, 0x61, 0x65, 0x96, 0xd6, 0xa3, 0x8f, 0xa0, 0xce, 0xe3, 0x8a, 0x9a, 0x65, 0x4e, 0xcd, 0xc0, 0x17, 0xc1, 0x16, 0x69, 0x74, 0xd2, 0x7b, 0x07, 0x5c, 0x73, 0xe3, 0x82, 0x1f, 0x0f, 0x2f, 0x60, 0x9b, 0x5a, 0x9b, 0x46, 0xbb, 0x5a, 0xbc, 0x6e, 0xb9, 0x7e, 0xce, 0xe6, 0x17, 0xc3, 0xcb, 0xa8, 0x20, 0x1d, 0xae, 0xd0, 0x73, 0xb5, 0xc6, 0x4f, 0xdc, 0x0b, 0x1e, 0xbf, 0xa8, 0xe7, 0x8b, 0x1f, 0xde, 0xb2, 0x16, 0xed, 0x86, 0x0f, 0xa1, 0xa2, 0x1b, 0x86, 0x74, 0x2d, 0x97, 0xb8, 0xdb, 0x11, 0xdf, 0x88, 0xfb, 0xb8, 0xac, 0x8b, 0x5f, 0x6a, 0x2b, 0xca, 0xd1, 0x20, 0x39, 0x32, 0x42, 0x05, 0x84, 0xca, 0x42, 0x14, 0xd1, 0x65, 0x28, 0xb3, 0x3b, 0x90, 0xa9, 0x7e, 0x22, 0xf4, 0xd0, 0x32, 0x2d, 0xef, 0xeb, 0x27, 0xea, 0x2e, 0xfb, 0xb2, 0x20, 0xe9, 0xdb, 0xbc, 0x3a, 0x97, 0xef, 0xa0, 0x1c, 0x72, 0x41, 0xf7, 0x52, 0xfb, 0x7a, 0x2b, 0x3b, 0x8c, 0x94, 0xf8, 0x7f, 0x90, 0xdc, 0xc7, 0x9b, 0xd9, 0x0a, 0x89, 0x7d, 0x3b, 0x83, 0x92, 0x78, 0xc0, 0x78, 0x05, 0x2a, 0xa6, 0xab, 0x25, 0xde, 0x00, 0x95, 0xcd, 0xf0, 0x75, 0xe3, 0xbb, 0xd0, 0x98, 0xea, 0xfe, 0x77, 0xc2, 0x89, 0xd7, 0xa6, 0x22, 0x33, 0x47, 0x1d, 0xd7, 0x29, 0x98, 0x3b, 0xf0, 0xfb, 0xa6, 0x9d, 0xa1, 0xd3, 0x4f, 0xc4, 0xb5, 0x9b, 0x4c, 0xa7, 0x9f, 0xa8, 0xbf, 0xc9, 0x01, 0xc4, 0xdf, 0x3d, 0xfe, 0xb0, 0x9f, 0x62, 0x52, 0x98, 0x65, 0xfa, 0x01, 0x7b, 0xef, 0x5d, 0xc1, 0xec, 0x37, 0xfb, 0x48, 0x36, 0x99, 0x94, 0x41, 0x49, 0xef, 0x82, 0x38, 0x13, 0x83, 0x8a, 0xa1, 0xbc, 0xaf, 0x07, 0xa3, 0x23, 0xda, 0xb7, 0x07, 0x00, 0xec, 0xf1, 0xf6, 0x82, 0x6f, 0xd6, 0x19, 0x1d, 0xff, 0x66, 0x7d, 0x1a, 0xfe, 0x9c, 0xfb, 0x81, 0xe8, 0x08, 0x6a, 0xa9, 0xe3, 0x4e, 0x55, 0xcc, 0x92, 0xc4, 0x58, 0xda, 0xdf, 0x32, 0x31, 0xe3, 0x0f, 0x56, 0xf4, 0x1b, 0x6d, 0x40, 0x49, 0x3a, 0x4f, 0xd5, 0xb1, 0x28, 0xa9, 0xff, 0x75, 0x09, 0x60, 0xc7, 0xb1, 0x0d, 0x93, 0xab, 0x92, 0xfb, 0x00, 0x42, 0x01, 0xc4, 0x5f, 0x9e, 0xa2, 0x54, 0xdf, 0x07, 0x24, 0xc0, 0x15, 0x4e, 0x45, 0x87, 0xfb, 0x63, 0xa8, 0x45, 0xd7, 0x9c, 0xb4, 0x52, 0x7e, 0x61, 0xa5, 0xe8, 0x15, 0x31, 0xad, 0xf6, 0x7b, 0xb0, 0x92, 0x3a, 0xe8, 0x65, 0xd5, 0xaf, 0x34, 0x20, 0x5c, 0xd3, 0xe5, 0xb9, 0x78, 0x00, 0xd5, 0xb0, 0x36, 0x6d, 0xb3, 0xb8, 0xb8, 0xa3, 0xbc, 0x1a, 0x6d, 0xf1, 0x93, 0x28, 0x3f, 0x4f, 0x70, 0xaa, 0x85, 0x01, 0xfa, 0xf9, 0xb5, 0x6a, 0x11, 0x21, 0xad, 0xf8, 0x05, 0xac, 0xd2, 0x53, 0x5c, 0xb2, 0x72, 0x69, 0x61, 0xe5, 0x06, 0x39, 0x09, 0x76, 0xe4, 0xfa, 0xd7, 0xa1, 0xea, 0xb9, 0xdf, 0x99, 0x54, 0x63, 0xcd, 0x2c, 0xfe, 0x42, 0x70, 0x09, 0x83, 0xc7, 0xbf, 0xdf, 0x9b, 0x59, 0x01, 0xfa, 0x1c, 0x20, 0xfe, 0x26, 0x4c, 0xbc, 0x5f, 0x92, 0xae, 0x2d, 0xe3, 0xf5, 0x11, 0x8a, 0x93, 0x09, 0x4f, 0xf4, 0xc9, 0x18, 0x7a, 0x0c, 0x6b, 0x16, 0x55, 0x9a, 0xa9, 0x1e, 0x56, 0x16, 0xf6, 0x70, 0x95, 0x91, 0x27, 0xfa, 0x78, 0x13, 0x94, 0xf8, 0xa8, 0x6a, 0x6b, 0x6c, 0x3b, 0x00, 0xdb, 0x0e, 0x75, 0x5b, 0x9c, 0x50, 0xed, 0x0e, 0xdd, 0x17, 0xf7, 0xa0, 0x1a, 0xbe, 0x1c, 0xd4, 0x4c, 0x7b, 0xab, 0x9a, 0xde, 0x1a, 0x22, 0x56, 0x54, 0x11, 0x4f, 0x07, 0xdb, 0xb6, 0x7a, 0x04, 0x95, 0xa8, 0xdb, 0x68, 0x0d, 0x1a, 0xe2, 0xeb, 0x91, 0x6f, 0xfb, 0xd1, 0x47, 0x0c, 0x9b, 0xb0, 0x26, 0x01, 0xdb, 0xdd, 0x61, 0x0b, 0x77, 0x9b, 0x1d, 0x25, 0x97, 0x42, 0xb4, 0x5e, 0x08, 0x44, 0x1e, 0xad, 0x83, 0x22, 0x21, 0xc4, 0x77, 0x48, 0xaa, 0x0f, 0x8d, 0x68, 0x50, 0x4d, 0x9e, 0x65, 0xea, 0x0b, 0xa8, 0xea, 0xdc, 0xd6, 0x4a, 0x9b, 0xe6, 0xaa, 0x3c, 0xb7, 0x09, 0x7a, 0xbe, 0x6f, 0xf4, 0xe8, 0x37, 0xba, 0x01, 0xd5, 0x70, 0x56, 0xcd, 0xe8, 0x73, 0x3d, 0x19, 0xa4, 0xfe, 0x15, 0xa8, 0xec, 0x13, 0x43, 0x34, 0xf7, 0xe9, 0xbc, 0xe6, 0x36, 0xe5, 0x0b, 0x4c, 0x63, 0x41, 0x43, 0xeb, 0xb0, 0x74, 0xac, 0x5b, 0x33, 0xae, 0x02, 0x0a, 0x98, 0x17, 0x54, 0x0d, 0x1a, 0x4d, 0xbf, 0xef, 0x11, 0x97, 0xd8, 0x61, 0x13, 0x0a, 0x14, 0x74, 0xdf, 0x16, 0x6e, 0x3c, 0xfd, 0x49, 0xf7, 0x36, 0xa5, 0xd0, 0xa3, 0xdb, 0x3c, 0x5e, 0x42, 0x2a, 0xd4, 0xa9, 0x5f, 0x60, 0x91, 0x71, 0xa0, 0x4d, 0x1d, 0x3f, 0xfc, 0x58, 0xb2, 0x3a, 0xf3, 0x49, 0x87, 0x8c, 0x83, 0x7d, 0xc7, 0x0f, 0xd4, 0xcf, 0xa1, 0x2e, 0x9e, 0xe2, 0x0b, 0xf6, 0x67, 0x7e, 0xae, 0xe5, 0x13, 0x6b, 0x2c, 0x1c, 0x5e, 0xf6, 0x5b, 0xbd, 0x09, 0x8d, 0x0e, 0xbb, 0x1b, 0xf1, 0xc8, 0x58, 0x30, 0x88, 0x06, 0x22, 0x6e, 0x1c, 0xf9, 0x40, 0xfe, 0x5b, 0x01, 0x96, 0x39, 0x81, 0x1f, 0x3f, 0x7e, 0xe5, 0xc3, 0xcf, 0x2a, 0x6f, 0x26, 0x2e, 0x9c, 0x5a, 0x3c, 0x7e, 0x15, 0xbc, 0x3f, 0x81, 0x4a, 0xfc, 0x92, 0x20, 0x9f, 0x7e, 0xf5, 0x9a, 0x5a, 0x4b, 0x1c, 0xd3, 0xa2, 0x77, 0xa0, 0x30, 0x15, 0xde, 0x78, 0xe2, 0x78, 0x19, 0xad, 0x07, 0xa6, 0x78, 0xf4, 0x29, 0x00, 0x55, 0x2b, 0x7c, 0xbe, 0x85, 0x56, 0xb9, 0x9c, 0x50, 0x48, 0xf2, 0x52, 0x30, 0xe5, 0xc2, 0x01, 0xe8, 0x0b, 0xa8, 0x27, 0x74, 0x84, 0x50, 0x2e, 0x67, 0xf4, 0xae, 0x26, 0xab, 0x09, 0x74, 0x1f, 0x96, 0xc5, 0xb7, 0x12, 0x42, 0xb3, 0x48, 0x42, 0x93, 0x58, 0x20, 0x1c, 0xd2, 0xd1, 0xce, 0x8a, 0x9b, 0x2a, 0x8f, 0x8c, 0x85, 0xa7, 0x76, 0x59, 0x76, 0x83, 0x12, 0xeb, 0x12, 0x5e, 0x62, 0x79, 0x64, 0x8c, 0x1e, 0x43, 0x23, 0xa5, 0x30, 0x84, 0x8b, 0x76, 0x46, 0x77, 0x57, 0x92, 0x3a, 0x43, 0xfd, 0x55, 0x0e, 0x2a, 0xd1, 0x57, 0xf6, 0x73, 0x3f, 0x39, 0xff, 0x18, 0x60, 0x14, 0x69, 0x2e, 0xb1, 0x5a, 0xeb, 0xf3, 0xb4, 0x1a, 0x96, 0xe8, 0xd0, 0xfb, 0xb0, 0xcc, 0xc5, 0xc2, 0x17, 0xab, 0x25, 0xbf, 0x4b, 0xe6, 0x08, 0x1c, 0x52, 0xa8, 0x5f, 0x43, 0x49, 0x38, 0xd7, 0xf3, 0x3a, 0xf0, 0x11, 0x40, 0x22, 0xb5, 0x47, 0x61, 0x51, 0x8e, 0x00, 0x89, 0x8c, 0xc5, 0x17, 0xd2, 0xef, 0x7e, 0x7f, 0xd0, 0x2f, 0xea, 0x13, 0xe9, 0x37, 0x8a, 0x17, 0x48, 0xbf, 0xb1, 0x62, 0x90, 0xb1, 0x3e, 0xb3, 0x82, 0x70, 0xbb, 0x2c, 0x9d, 0xb5, 0x5d, 0xea, 0x82, 0x98, 0x17, 0xd5, 0x63, 0xa8, 0x53, 0x6c, 0xfc, 0x49, 0xe7, 0xef, 0x26, 0x69, 0x88, 0xfa, 0x77, 0x72, 0x50, 0xc0, 0x8e, 0x8e, 0x56, 0x20, 0xaf, 0x87, 0x81, 0xa2, 0xbc, 0xce, 0xd2, 0x42, 0x72, 0xcf, 0xc1, 0x22, 0xa1, 0x43, 0x18, 0x03, 0xa8, 0x22, 0x9b, 0xea, 0x0c, 0xc5, 0x7d, 0x40, 0x51, 0x92, 0x9e, 0x9a, 0x17, 0x13, 0x4f, 0xcd, 0xc3, 0xaf, 0x54, 0x32, 0x86, 0x1c, 0xf7, 0x9f, 0xb5, 0xe3, 0x0f, 0x0f, 0xd4, 0x7f, 0x9b, 0x83, 0xc2, 0x73, 0x6f, 0x3c, 0x77, 0x19, 0xdf, 0x86, 0xbc, 0x67, 0x48, 0xd2, 0x99, 0x7d, 0x8b, 0x93, 0xf7, 0x0c, 0x74, 0x1f, 0x2a, 0xe2, 0xad, 0xb8, 0x17, 0x88, 0xcf, 0x02, 0x17, 0x3c, 0xdc, 0xe1, 0x64, 0x98, 0xa5, 0xca, 0x10, 0xef, 0xd3, 0xbd, 0x40, 0xac, 0xf3, 0x82, 0x2a, 0x9c, 0x0c, 0x07, 0x74, 0xb6, 0x44, 0x82, 0xb2, 0x3a, 0xce, 0x9b, 0x86, 0xfa, 0xeb, 0x1c, 0xac, 0xef, 0xf2, 0xf5, 0x64, 0x6b, 0xbc, 0x6b, 0xfa, 0x81, 0x6e, 0x8f, 0x08, 0x4b, 0xb0, 0x15, 0x46, 0xbe, 0xb9, 0x2a, 0x35, 0x04, 0x4a, 0xcc, 0xf5, 0xa5, 0x10, 0x9d, 0xa9, 0xc7, 0xee, 0x83, 0xe7, 0xd4, 0xe3, 0x8b, 0x71, 0x29, 0x44, 0x27, 0xea, 0xa9, 0xff, 0xa1, 0x08, 0x25, 0x9e, 0x45, 0x34, 0xb3, 0xa2, 0x89, 0xf7, 0x49, 0xf9, 0xe4, 0xfb, 0x24, 0xea, 0xf9, 0x50, 0x4f, 0x82, 0xd8, 0xfc, 0xfa, 0xba, 0xc0, 0x3d, 0x1f, 0x0e, 0x62, 0xd7, 0xd7, 0xef, 0x81, 0x22, 0x08, 0x84, 0x95, 0x11, 0x7b, 0xa2, 0x82, 0x1b, 0x1c, 0xde, 0x0c, 0xc1, 0xec, 0x0b, 0x37, 0xea, 0x5b, 0x50, 0x01, 0x5c, 0xba, 0x51, 0xb8, 0x55, 0xc7, 0x51, 0x19, 0xdd, 0x59, 0x78, 0x02, 0x2e, 0xcf, 0x39, 0xe5, 0xfe, 0x7c, 0xf1, 0x41, 0x7c, 0xf9, 0x55, 0x22, 0xe3, 0x0b, 0x8e, 0xe3, 0x43, 0xd8, 0x08, 0x77, 0x6c, 0x6a, 0x8e, 0xb9, 0x92, 0xbd, 0x96, 0xd8, 0x6c, 0x99, 0xc5, 0xc5, 0xeb, 0xc6, 0xbc, 0x25, 0xff, 0x9c, 0xbd, 0x0f, 0x19, 0x13, 0x83, 0x78, 0xfc, 0x85, 0x53, 0x25, 0x6d, 0x26, 0x76, 0x64, 0x34, 0x4e, 0x52, 0xcf, 0xfd, 0x6c, 0x04, 0x5e, 0xf9, 0xb3, 0x91, 0x74, 0xf0, 0xa3, 0x7a, 0xd1, 0xe0, 0x87, 0xea, 0x40, 0x3d, 0xd1, 0xbf, 0x33, 0x82, 0x6b, 0xc9, 0x6f, 0x01, 0xf3, 0x99, 0x6f, 0x01, 0xdf, 0x86, 0x15, 0x1e, 0x5b, 0xd0, 0x74, 0x5f, 0x8b, 0xce, 0x6d, 0x75, 0x5c, 0xe3, 0xd0, 0xa6, 0x4f, 0xfd, 0x54, 0xb5, 0x05, 0xe5, 0x50, 0x0b, 0x9c, 0xe1, 0xd3, 0xa4, 0xde, 0x57, 0xe4, 0xd3, 0xef, 0x2b, 0xd4, 0xff, 0x5e, 0x84, 0x0a, 0xe5, 0xc3, 0x8f, 0xe7, 0xf1, 0xdb, 0x95, 0xdc, 0x6b, 0xbd, 0x5d, 0xc9, 0x5f, 0xfc, 0xed, 0x0a, 0xdd, 0x68, 0x33, 0x57, 0xb8, 0x6c, 0xf9, 0x99, 0xcb, 0xbb, 0x3a, 0x72, 0x3c, 0x43, 0x33, 0xdd, 0xe3, 0x8f, 0x45, 0xc4, 0x10, 0x38, 0xa8, 0xed, 0x1e, 0x7f, 0x9c, 0x24, 0x78, 0x28, 0xd4, 0x48, 0x4c, 0xf0, 0x90, 0x25, 0x30, 0xe3, 0x87, 0x3b, 0xc6, 0x41, 0x3c, 0x26, 0xe1, 0xa0, 0x90, 0x43, 0x4c, 0xf0, 0x50, 0xbc, 0x53, 0x88, 0x09, 0x1e, 0x52, 0x45, 0xec, 0x13, 0xcf, 0xd4, 0x2d, 0xf1, 0x2e, 0x41, 0x94, 0xd0, 0x8f, 0xa0, 0x1e, 0xc6, 0x3f, 0x39, 0xef, 0x0a, 0x73, 0x62, 0x6b, 0x21, 0x90, 0x71, 0x4f, 0x11, 0x3d, 0x64, 0xf2, 0x97, 0x24, 0x7a, 0xc8, 0xd2, 0x48, 0x30, 0x9e, 0x1a, 0x7b, 0x7b, 0xc1, 0x45, 0xac, 0x80, 0x6b, 0x1c, 0xd8, 0x65, 0x30, 0xda, 0xcf, 0x91, 0x3e, 0x3a, 0x22, 0xe2, 0xa1, 0x55, 0x8d, 0x91, 0x00, 0x03, 0xb1, 0xc7, 0x55, 0xe8, 0x1d, 0x58, 0x89, 0x08, 0x58, 0x02, 0x0f, 0xf6, 0xa0, 0xb4, 0x80, 0xeb, 0x21, 0x0d, 0xcf, 0xea, 0x71, 0x0d, 0xaa, 0xe2, 0x21, 0x80, 0xa1, 0x07, 0x3a, 0xfb, 0x64, 0xa2, 0x80, 0x2b, 0xec, 0x11, 0xc0, 0xae, 0x1e, 0xe8, 0xd4, 0x95, 0x25, 0x9e, 0xe7, 0x78, 0xec, 0x25, 0x69, 0x01, 0xf3, 0x02, 0x7a, 0x0b, 0x44, 0x6f, 0xb4, 0x5f, 0xcc, 0x88, 0x77, 0xca, 0xde, 0x8a, 0x16, 0x70, 0x95, 0xc3, 0xbe, 0xa6, 0x20, 0xbe, 0x14, 0x3e, 0x09, 0x04, 0xc5, 0x2a, 0xef, 0x20, 0x03, 0x31, 0x02, 0xf5, 0x5b, 0x28, 0x62, 0xf7, 0x3b, 0x33, 0xb2, 0x60, 0xb9, 0xb3, 0x2d, 0xd8, 0x19, 0x17, 0x24, 0x91, 0x70, 0x86, 0x01, 0x9a, 0x7f, 0xca, 0xb3, 0x85, 0x75, 0x9c, 0x49, 0x87, 0x1c, 0x13, 0x2b, 0x4e, 0x5e, 0xb5, 0x64, 0xd1, 0xb2, 0xf0, 0xb6, 0xa5, 0x78, 0x59, 0x96, 0xf8, 0x2e, 0x2f, 0xf0, 0x0a, 0x2a, 0x86, 0x25, 0x56, 0x46, 0x15, 0x58, 0xea, 0x37, 0xbb, 0xed, 0x1d, 0xe5, 0x0d, 0xfa, 0xf3, 0x49, 0x73, 0xc8, 0xce, 0x68, 0x15, 0x58, 0x6a, 0x61, 0xdc, 0xc3, 0x4a, 0x1e, 0x95, 0xa1, 0xf8, 0x4d, 0x13, 0x77, 0x95, 0x02, 0x7b, 0x7b, 0xda, 0x7d, 0xd2, 0x53, 0x8a, 0x14, 0xbd, 0xdb, 0x7a, 0x7c, 0xb0, 0xa7, 0x2c, 0xd1, 0x9f, 0x43, 0xdc, 0xdc, 0x69, 0x29, 0xa5, 0xdb, 0xbb, 0x50, 0x89, 0x72, 0xf7, 0x21, 0x80, 0xd2, 0x5e, 0xa7, 0xf7, 0xb8, 0xd9, 0xe1, 0x8c, 0xf9, 0x69, 0x8e, 0x3d, 0x26, 0x6d, 0xee, 0xfe, 0x54, 0x6b, 0x77, 0x95, 0x3c, 0x4b, 0xca, 0xb0, 0xfb, 0x53, 0xad, 0x77, 0x30, 0xe4, 0xe9, 0x26, 0x9e, 0xe3, 0x27, 0x4a, 0xf1, 0x76, 0x27, 0xf1, 0x5d, 0x2d, 0xd7, 0xbf, 0x48, 0x81, 0x5a, 0xa7, 0xd7, 0x7b, 0x76, 0xd0, 0xd7, 0x5a, 0x2f, 0x9a, 0x3b, 0x43, 0xe5, 0x0d, 0xb4, 0x0a, 0x75, 0x01, 0xe9, 0xf4, 0xba, 0x7b, 0x2d, 0xcc, 0x73, 0x2f, 0x08, 0xd0, 0xe0, 0x69, 0x0f, 0x0f, 0x5b, 0x58, 0xc9, 0xdf, 0xfe, 0x55, 0x0e, 0xaa, 0x52, 0xd8, 0x48, 0xca, 0x3b, 0xf9, 0x06, 0xaa, 0x41, 0xb9, 0xdb, 0x6a, 0xef, 0x3d, 0x7d, 0xdc, 0xa3, 0xb5, 0x97, 0xa1, 0x30, 0x6c, 0xee, 0x89, 0x6e, 0x0d, 0xb4, 0x7e, 0x73, 0xf8, 0x54, 0x29, 0xa0, 0x3a, 0x54, 0x76, 0x7a, 0xfb, 0xfb, 0x07, 0xdd, 0xf6, 0xf0, 0x5b, 0xa5, 0x48, 0x5b, 0x6d, 0xbd, 0x18, 0x6a, 0x31, 0x68, 0x89, 0x1e, 0x7e, 0x3b, 0x4d, 0xbc, 0xd7, 0x92, 0x80, 0x25, 0xce, 0xfa, 0xc5, 0x50, 0x7b, 0xda, 0xeb, 0x2b, 0xcb, 0xb7, 0xdf, 0x83, 0x4a, 0x14, 0x20, 0x62, 0x4f, 0xf9, 0xbb, 0xdf, 0xca, 0x6f, 0xfa, 0x01, 0x4a, 0xed, 0xee, 0xf3, 0x16, 0x1e, 0x2a, 0xf9, 0xdb, 0xb7, 0x41, 0x49, 0x87, 0x7c, 0x50, 0x09, 0xf2, 0xad, 0xaf, 0x95, 0x37, 0xe8, 0xdf, 0xbd, 0x96, 0x92, 0xa3, 0x7f, 0x3b, 0x2d, 0x25, 0x7f, 0xfb, 0x43, 0xf1, 0xcc, 0x4b, 0x9c, 0xa3, 0x12, 0xc9, 0x35, 0x9b, 0x3b, 0x3b, 0xad, 0xfe, 0x90, 0x33, 0xc7, 0xad, 0x9f, 0xb2, 0x57, 0xc2, 0xb7, 0x0f, 0x60, 0x6d, 0xce, 0xd1, 0x98, 0x0e, 0x2a, 0xea, 0xbb, 0xd6, 0xdc, 0xdd, 0x55, 0xde, 0xa0, 0x47, 0xf1, 0x18, 0x84, 0x5b, 0xfb, 0xbd, 0xe7, 0xb4, 0xe1, 0x4b, 0xb0, 0x2a, 0x43, 0xc5, 0x67, 0x08, 0xb7, 0x3f, 0x80, 0x7a, 0xe2, 0x08, 0x4c, 0x67, 0x70, 0xbf, 0xb5, 0xab, 0xed, 0xf7, 0x28, 0xab, 0x06, 0x54, 0x69, 0x21, 0x24, 0xcf, 0xdd, 0x7e, 0x08, 0x8d, 0x94, 0x23, 0x9d, 0x7c, 0xe2, 0x4c, 0xa7, 0x63, 0xbf, 0xdf, 0xc3, 0xa2, 0xf7, 0xad, 0x17, 0xec, 0x77, 0xfe, 0xc1, 0x6f, 0xae, 0x42, 0x79, 0x8f, 0xca, 0x77, 0xd3, 0x35, 0xd1, 0xe7, 0x50, 0x0e, 0x73, 0xb1, 0xa3, 0xcb, 0x09, 0xf7, 0x5f, 0xce, 0xcf, 0xbe, 0xbd, 0x91, 0xd1, 0xca, 0xad, 0xa9, 0x1b, 0x9c, 0xa2, 0xcf, 0x60, 0x59, 0x64, 0x63, 0x47, 0x5b, 0x72, 0x6d, 0x39, 0x41, 0xfb, 0x19, 0x95, 0x4b, 0x3c, 0x4f, 0x3b, 0x92, 0x0c, 0x75, 0x22, 0x95, 0xfb, 0xf6, 0x56, 0x16, 0x21, 0xd4, 0xd3, 0x67, 0xb0, 0x2c, 0xb2, 0x34, 0xa3, 0x54, 0x18, 0x37, 0xce, 0x1c, 0xbd, 0xb0, 0xe5, 0x26, 0x40, 0x9c, 0x97, 0x19, 0x5d, 0x91, 0x7d, 0x8e, 0x54, 0x16, 0xf7, 0x85, 0x2c, 0x76, 0xa0, 0x1c, 0x26, 0x53, 0x97, 0x27, 0x2e, 0x95, 0xb9, 0x7d, 0x7b, 0x7b, 0x1e, 0x8a, 0x0f, 0xe1, 0x5e, 0x0e, 0xed, 0x01, 0xc4, 0xa9, 0x97, 0xe5, 0x7e, 0x64, 0xf2, 0xad, 0x6f, 0xbf, 0x39, 0x1f, 0x29, 0x66, 0xe3, 0x4b, 0xa8, 0x44, 0x79, 0xc7, 0xd1, 0xf6, 0xe2, 0x64, 0xe4, 0x0b, 0x87, 0xd3, 0x82, 0x9a, 0x9c, 0x55, 0x1c, 0x49, 0x51, 0xa0, 0x39, 0xd9, 0xc6, 0xcf, 0x9a, 0xd8, 0x38, 0x8b, 0xb8, 0x3c, 0xa0, 0x4c, 0x6e, 0xf1, 0x33, 0x26, 0xb6, 0x2a, 0x65, 0x16, 0x47, 0xd2, 0xb8, 0xb3, 0x09, 0xc7, 0x17, 0x32, 0xe9, 0x40, 0x55, 0x4a, 0xff, 0x2d, 0x33, 0xc9, 0xe6, 0x17, 0xdf, 0xbe, 0xba, 0x00, 0x1b, 0x2d, 0x53, 0x0b, 0x6a, 0x72, 0x46, 0x70, 0x79, 0x72, 0xe6, 0x64, 0x0a, 0x5f, 0xd8, 0xa9, 0x67, 0xd0, 0x48, 0x65, 0x03, 0x47, 0x37, 0xe6, 0x89, 0xde, 0x85, 0x98, 0x3d, 0x87, 0x46, 0x2a, 0x6b, 0xb7, 0xcc, 0x6c, 0x7e, 0x1e, 0xf1, 0xed, 0xb7, 0xce, 0xa0, 0x10, 0x92, 0xf4, 0x35, 0xa0, 0x6c, 0x0e, 0x6f, 0xf4, 0xa3, 0xc4, 0x88, 0xe7, 0x67, 0xf8, 0x5e, 0xd8, 0xd5, 0x2f, 0xf8, 0x56, 0xd5, 0x83, 0x23, 0x94, 0xbd, 0x71, 0x09, 0x2b, 0x5f, 0x9e, 0x83, 0x11, 0x5d, 0x8a, 0x77, 0x2b, 0x65, 0x91, 0xdd, 0xad, 0x12, 0x97, 0xf3, 0x76, 0x2b, 0x65, 0x70, 0x79, 0x61, 0x16, 0xe8, 0xcc, 0x6e, 0x95, 0x7a, 0x71, 0x2f, 0x87, 0xda, 0xd1, 0x85, 0x14, 0xcf, 0x88, 0x8c, 0xae, 0x65, 0xfa, 0x9c, 0x48, 0x95, 0xbc, 0xa8, 0x37, 0xb7, 0x72, 0xa8, 0x09, 0xe5, 0x30, 0x9b, 0xb0, 0xdc, 0x9f, 0x54, 0x9a, 0x63, 0xb9, 0x3f, 0x99, 0xe4, 0xc3, 0x3d, 0xa8, 0xc9, 0x09, 0x75, 0x51, 0x56, 0x8a, 0x13, 0xac, 0xae, 0x2d, 0x42, 0x47, 0xc3, 0xfb, 0x09, 0x94, 0x78, 0x96, 0x5d, 0x94, 0xbc, 0xe6, 0x8a, 0x93, 0xe3, 0x2e, 0x9c, 0xde, 0x2f, 0xa1, 0x12, 0xa5, 0xdb, 0x95, 0xd5, 0x4f, 0x3a, 0x07, 0xef, 0x42, 0x06, 0x5f, 0xc1, 0xb2, 0xc8, 0xb0, 0x2b, 0x8b, 0x48, 0x32, 0x35, 0xef, 0xf6, 0xe5, 0x39, 0x98, 0xa8, 0xf7, 0x5f, 0x42, 0x25, 0xca, 0x5f, 0x29, 0x77, 0x21, 0x9d, 0x84, 0xf7, 0x2c, 0x0d, 0x28, 0xa7, 0xa9, 0x94, 0xe7, 0x73, 0x4e, 0x36, 0xdd, 0x85, 0x6c, 0xda, 0x00, 0x71, 0x4a, 0x48, 0x59, 0x58, 0x33, 0xe9, 0x70, 0x65, 0x95, 0x9e, 0x4d, 0x81, 0x7b, 0x2f, 0x47, 0x35, 0xa1, 0x94, 0xd9, 0x56, 0x56, 0x62, 0xd9, 0x84, 0xb7, 0x0b, 0xfb, 0xb3, 0xc7, 0x84, 0x56, 0xba, 0x1d, 0x4c, 0x0a, 0x6d, 0x26, 0x91, 0xeb, 0x42, 0x46, 0xfb, 0x61, 0xfa, 0x32, 0x89, 0xd7, 0x5b, 0xe9, 0x39, 0xba, 0x38, 0xbb, 0x03, 0x9e, 0x79, 0x59, 0x62, 0x76, 0x3d, 0x39, 0x1d, 0x59, 0x56, 0x37, 0x16, 0x13, 0xa4, 0x54, 0x75, 0x1c, 0x7b, 0x4d, 0xaa, 0xea, 0x74, 0x56, 0xd5, 0xf3, 0x55, 0x75, 0xcc, 0x29, 0xa3, 0xaa, 0x2f, 0xcc, 0x0c, 0x43, 0x3d, 0x91, 0xa6, 0x55, 0x5e, 0x82, 0x79, 0xb9, 0x5e, 0xb7, 0xaf, 0x2f, 0xc4, 0x47, 0xe3, 0x1c, 0xf0, 0x7f, 0x52, 0x91, 0x8e, 0xc5, 0xbe, 0x3d, 0x47, 0xf0, 0x33, 0xc9, 0x43, 0x17, 0x76, 0xf4, 0xdb, 0xe8, 0xdf, 0x55, 0xa4, 0xf9, 0xde, 0x9c, 0xbf, 0x19, 0x2e, 0xce, 0x7a, 0xc2, 0xd3, 0x4f, 0x66, 0x18, 0xbf, 0x33, 0x6f, 0x0f, 0x64, 0xd9, 0xbe, 0x7b, 0x1e, 0x99, 0x3c, 0x31, 0x73, 0xd2, 0xa6, 0xca, 0x13, 0xb3, 0x38, 0xab, 0xea, 0x59, 0x6e, 0xae, 0xc8, 0x98, 0x9a, 0xb2, 0x60, 0x52, 0x8e, 0xce, 0xf3, 0x9d, 0x4d, 0x56, 0x3f, 0x63, 0xbe, 0x2e, 0xc2, 0x42, 0x98, 0x2f, 0xc6, 0x20, 0xa5, 0x05, 0xe5, 0xea, 0xdb, 0xf3, 0x50, 0xd1, 0xcc, 0x44, 0xbe, 0x59, 0xba, 0x1f, 0x99, 0xa4, 0xa7, 0x17, 0xf0, 0xcd, 0x18, 0x8f, 0xac, 0x6f, 0x76, 0x11, 0x26, 0xa1, 0xaf, 0xca, 0x58, 0xa4, 0x7d, 0xd5, 0x8b, 0x30, 0x10, 0xfb, 0x29, 0x4a, 0x44, 0x9a, 0xde, 0x4f, 0xe9, 0x1c, 0xa7, 0xe9, 0xfd, 0x94, 0xc9, 0x60, 0xca, 0x75, 0xad, 0x94, 0xa1, 0x54, 0x1e, 0x59, 0x36, 0x71, 0xe9, 0x59, 0x23, 0x8b, 0x12, 0x78, 0xca, 0x23, 0x4b, 0x67, 0xf5, 0x3c, 0x53, 0x54, 0xa2, 0x14, 0x9b, 0x09, 0x51, 0x49, 0x27, 0xde, 0x5c, 0xc8, 0x82, 0x5b, 0xf1, 0xc7, 0x53, 0x37, 0x65, 0xc5, 0xe3, 0xa4, 0x93, 0xe7, 0x5b, 0x71, 0x5a, 0x3b, 0x63, 0xc5, 0x2f, 0xc0, 0x80, 0x1b, 0xac, 0x30, 0x5e, 0x92, 0x32, 0x58, 0xa9, 0x30, 0xca, 0x22, 0x26, 0x87, 0x25, 0x56, 0xfe, 0xe8, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x5b, 0xb1, 0x5e, 0x96, 0x6c, 0x00, 0x00, }