// Code generated by protoc-gen-go. DO NOT EDIT. // source: gobgp.proto /* Package gobgpapi is a generated protocol buffer package. It is generated from these files: gobgp.proto attribute.proto It has these top-level messages: GetNeighborRequest GetNeighborResponse Arguments AddPathRequest AddPathResponse DeletePathRequest DeletePathResponse AddNeighborRequest AddNeighborResponse DeleteNeighborRequest DeleteNeighborResponse UpdateNeighborRequest UpdateNeighborResponse ResetNeighborRequest ResetNeighborResponse SoftResetNeighborRequest SoftResetNeighborResponse ShutdownNeighborRequest ShutdownNeighborResponse EnableNeighborRequest EnableNeighborResponse DisableNeighborRequest DisableNeighborResponse EnableMrtRequest EnableMrtResponse DisableMrtRequest DisableMrtResponse InjectMrtRequest InjectMrtResponse AddBmpRequest AddBmpResponse DeleteBmpRequest DeleteBmpResponse MonitorRibRequest RPKIConf RPKIState Rpki GetRpkiRequest GetRpkiResponse AddRpkiRequest AddRpkiResponse DeleteRpkiRequest DeleteRpkiResponse EnableRpkiRequest EnableRpkiResponse DisableRpkiRequest DisableRpkiResponse ResetRpkiRequest ResetRpkiResponse SoftResetRpkiRequest SoftResetRpkiResponse EnableZebraRequest EnableZebraResponse GetVrfRequest GetVrfResponse AddVrfRequest AddVrfResponse DeleteVrfRequest DeleteVrfResponse GetDefinedSetRequest GetDefinedSetResponse AddDefinedSetRequest AddDefinedSetResponse DeleteDefinedSetRequest DeleteDefinedSetResponse ReplaceDefinedSetRequest ReplaceDefinedSetResponse GetStatementRequest GetStatementResponse AddStatementRequest AddStatementResponse DeleteStatementRequest DeleteStatementResponse ReplaceStatementRequest ReplaceStatementResponse GetPolicyRequest GetPolicyResponse AddPolicyRequest AddPolicyResponse DeletePolicyRequest DeletePolicyResponse ReplacePolicyRequest ReplacePolicyResponse GetPolicyAssignmentRequest GetPolicyAssignmentResponse AddPolicyAssignmentRequest AddPolicyAssignmentResponse DeletePolicyAssignmentRequest DeletePolicyAssignmentResponse ReplacePolicyAssignmentRequest ReplacePolicyAssignmentResponse GetServerRequest GetServerResponse StartServerRequest StartServerResponse StopServerRequest StopServerResponse RPKIValidation Path Destination Table GetRibRequest GetRibResponse TableLookupPrefix GetPathRequest ValidateRibRequest ValidateRibResponse Peer ApplyPolicy PrefixLimit PeerConf EbgpMultihop RouteReflector PeerState Messages Message Queues Timers TimersConfig TimersState Transport RouteServer GracefulRestart MpGracefulRestartConfig MpGracefulRestartState MpGracefulRestart AfiSafiConfig AfiSafiState RouteSelectionOptionsConfig RouteSelectionOptionsState RouteSelectionOptions UseMultiplePathsConfig UseMultiplePathsState EbgpConfig EbgpState Ebgp IbgpConfig IbgpState Ibgp UseMultiplePaths RouteTargetMembershipConfig RouteTargetMembershipState RouteTargetMembership LongLivedGracefulRestartConfig LongLivedGracefulRestartState LongLivedGracefulRestart AfiSafi AddPathsConfig AddPathsState AddPaths Prefix DefinedSet MatchSet AsPathLength Conditions CommunityAction MedAction AsPrependAction NexthopAction LocalPrefAction Actions Statement Policy PolicyAssignment Roa GetRoaRequest GetRoaResponse Vrf DefaultRouteDistance Global Confederation TableInfo GetRibInfoRequest GetRibInfoResponse OriginAttribute AsSegment AsPathAttribute NextHopAttribute MultiExitDiscAttribute LocalPrefAttribute AtomicAggregateAttribute AggregatorAttribute CommunitiesAttribute OriginatorIdAttribute ClusterListAttribute IPAddressPrefix LabeledIPAddressPrefix EncapsulationNLRI RouteDistinguisherTwoOctetAS RouteDistinguisherIPAddress RouteDistinguisherFourOctetAS EthernetSegmentIdentifier EVPNEthernetAutoDiscoveryRoute EVPNMACIPAdvertisementRoute EVPNInclusiveMulticastEthernetTagRoute EVPNEthernetSegmentRoute EVPNIPPrefixRoute LabeledVPNIPAddressPrefix RouteTargetMembershipNLRI FlowSpecIPPrefix FlowSpecMAC FlowSpecComponentItem FlowSpecComponent FlowSpecNLRI VPNFlowSpecNLRI OpaqueNLRI MpReachNLRIAttribute MpUnreachNLRIAttribute TwoOctetAsSpecificExtended IPv4AddressSpecificExtended FourOctetAsSpecificExtended ValidationExtended ColorExtended EncapExtended DefaultGatewayExtended OpaqueExtended ESILabelExtended ESImportRouteTarget MacMobilityExtended RouterMacExtended TrafficRateExtended TrafficActionExtended RedirectTwoOctetAsSpecificExtended RedirectIPv4AddressSpecificExtended RedirectFourOctetAsSpecificExtended TrafficRemarkExtended UnknownExtended ExtendedCommunitiesAttribute As4PathAttribute As4AggregatorAttribute PmsiTunnelAttribute TunnelEncapSubTLVEncapsulation TunnelEncapSubTLVProtocol TunnelEncapSubTLVColor TunnelEncapSubTLVUnknown TunnelEncapTLV TunnelEncapAttribute IPv6AddressSpecificExtended RedirectIPv6AddressSpecificExtended IP6ExtendedCommunitiesAttribute AigpTLVIGPMetric AigpTLVUnknown AigpAttribute LargeCommunity LargeCommunitiesAttribute UnknownAttribute */ 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 ( 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 // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package // Constants for address families type Family int32 const ( Family_RESERVED Family = 0 Family_IPv4 Family = 65537 Family_IPv6 Family = 131073 Family_IPv4_MC Family = 65538 Family_IPv6_MC Family = 131074 Family_IPv4_MPLS Family = 65540 Family_IPv6_MPLS Family = 131076 Family_IPv4_VPN Family = 65664 Family_IPv6_VPN Family = 131200 Family_IPv4_VPN_MC Family = 65665 Family_IPv6_VPN_MC Family = 131201 Family_VPLS Family = 1638465 Family_EVPN Family = 1638470 Family_RTC Family = 65668 Family_IPv4_ENCAP Family = 65543 Family_IPv6_ENCAP Family = 131079 Family_FLOW_SPEC_IPv4 Family = 65669 Family_FLOW_SPEC_IPv6 Family = 131205 Family_FLOW_SPEC_IPv4_VPN Family = 65670 Family_FLOW_SPEC_IPv6_VPN Family = 131206 Family_FLOW_SPEC_L2_VPN Family = 1638534 Family_OPAQUE Family = 1074594033 ) var Family_name = map[int32]string{ 0: "RESERVED", 65537: "IPv4", 131073: "IPv6", 65538: "IPv4_MC", 131074: "IPv6_MC", 65540: "IPv4_MPLS", 131076: "IPv6_MPLS", 65664: "IPv4_VPN", 131200: "IPv6_VPN", 65665: "IPv4_VPN_MC", 131201: "IPv6_VPN_MC", 1638465: "VPLS", 1638470: "EVPN", 65668: "RTC", 65543: "IPv4_ENCAP", 131079: "IPv6_ENCAP", 65669: "FLOW_SPEC_IPv4", 131205: "FLOW_SPEC_IPv6", 65670: "FLOW_SPEC_IPv4_VPN", 131206: "FLOW_SPEC_IPv6_VPN", 1638534: "FLOW_SPEC_L2_VPN", 1074594033: "OPAQUE", } var Family_value = map[string]int32{ "RESERVED": 0, "IPv4": 65537, "IPv6": 131073, "IPv4_MC": 65538, "IPv6_MC": 131074, "IPv4_MPLS": 65540, "IPv6_MPLS": 131076, "IPv4_VPN": 65664, "IPv6_VPN": 131200, "IPv4_VPN_MC": 65665, "IPv6_VPN_MC": 131201, "VPLS": 1638465, "EVPN": 1638470, "RTC": 65668, "IPv4_ENCAP": 65543, "IPv6_ENCAP": 131079, "FLOW_SPEC_IPv4": 65669, "FLOW_SPEC_IPv6": 131205, "FLOW_SPEC_IPv4_VPN": 65670, "FLOW_SPEC_IPv6_VPN": 131206, "FLOW_SPEC_L2_VPN": 1638534, "OPAQUE": 1074594033, } func (x Family) String() string { return proto.EnumName(Family_name, int32(x)) } func (Family) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } type Resource int32 const ( Resource_GLOBAL Resource = 0 Resource_LOCAL Resource = 1 Resource_ADJ_IN Resource = 2 Resource_ADJ_OUT Resource = 3 Resource_VRF Resource = 4 ) var Resource_name = map[int32]string{ 0: "GLOBAL", 1: "LOCAL", 2: "ADJ_IN", 3: "ADJ_OUT", 4: "VRF", } var Resource_value = map[string]int32{ "GLOBAL": 0, "LOCAL": 1, "ADJ_IN": 2, "ADJ_OUT": 3, "VRF": 4, } func (x Resource) String() string { return proto.EnumName(Resource_name, int32(x)) } func (Resource) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } // 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 fileDescriptor0, []int{2} } 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 fileDescriptor0, []int{3} } 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 fileDescriptor0, []int{4} } 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 fileDescriptor0, []int{5} } 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 fileDescriptor0, []int{6} } 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 fileDescriptor0, []int{7} } 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 fileDescriptor0, []int{8} } type PolicyType int32 const ( PolicyType_IN PolicyType = 0 PolicyType_IMPORT PolicyType = 1 PolicyType_EXPORT PolicyType = 2 ) var PolicyType_name = map[int32]string{ 0: "IN", 1: "IMPORT", 2: "EXPORT", } var PolicyType_value = map[string]int32{ "IN": 0, "IMPORT": 1, "EXPORT": 2, } func (x PolicyType) String() string { return proto.EnumName(PolicyType_name, int32(x)) } func (PolicyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } type SoftResetNeighborRequest_SoftResetDirection int32 const ( SoftResetNeighborRequest_IN SoftResetNeighborRequest_SoftResetDirection = 0 SoftResetNeighborRequest_OUT SoftResetNeighborRequest_SoftResetDirection = 1 SoftResetNeighborRequest_BOTH SoftResetNeighborRequest_SoftResetDirection = 2 ) var SoftResetNeighborRequest_SoftResetDirection_name = map[int32]string{ 0: "IN", 1: "OUT", 2: "BOTH", } var SoftResetNeighborRequest_SoftResetDirection_value = map[string]int32{ "IN": 0, "OUT": 1, "BOTH": 2, } func (x SoftResetNeighborRequest_SoftResetDirection) String() string { return proto.EnumName(SoftResetNeighborRequest_SoftResetDirection_name, int32(x)) } func (SoftResetNeighborRequest_SoftResetDirection) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{15, 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 fileDescriptor0, []int{29, 0} } type RPKIValidation_State int32 const ( RPKIValidation_STATE_NONE RPKIValidation_State = 0 RPKIValidation_STATE_NOT_FOUND RPKIValidation_State = 1 RPKIValidation_STATE_VALID RPKIValidation_State = 2 RPKIValidation_STATE_INVALID RPKIValidation_State = 3 ) var RPKIValidation_State_name = map[int32]string{ 0: "STATE_NONE", 1: "STATE_NOT_FOUND", 2: "STATE_VALID", 3: "STATE_INVALID", } var RPKIValidation_State_value = map[string]int32{ "STATE_NONE": 0, "STATE_NOT_FOUND": 1, "STATE_VALID": 2, "STATE_INVALID": 3, } func (x RPKIValidation_State) String() string { return proto.EnumName(RPKIValidation_State_name, int32(x)) } func (RPKIValidation_State) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{97, 0} } type RPKIValidation_Reason int32 const ( RPKIValidation_REASOT_NONE RPKIValidation_Reason = 0 RPKIValidation_REASON_AS RPKIValidation_Reason = 1 RPKIValidation_REASON_LENGTH RPKIValidation_Reason = 2 ) var RPKIValidation_Reason_name = map[int32]string{ 0: "REASOT_NONE", 1: "REASON_AS", 2: "REASON_LENGTH", } var RPKIValidation_Reason_value = map[string]int32{ "REASOT_NONE": 0, "REASON_AS": 1, "REASON_LENGTH": 2, } func (x RPKIValidation_Reason) String() string { return proto.EnumName(RPKIValidation_Reason_name, int32(x)) } func (RPKIValidation_Reason) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{97, 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 fileDescriptor0, []int{110, 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 fileDescriptor0, []int{113, 0} } 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 fileDescriptor0, []int{154, 0} } type GetNeighborRequest struct { EnableAdvertised bool `protobuf:"varint,1,opt,name=enableAdvertised" json:"enableAdvertised,omitempty"` Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"` } func (m *GetNeighborRequest) Reset() { *m = GetNeighborRequest{} } func (m *GetNeighborRequest) String() string { return proto.CompactTextString(m) } func (*GetNeighborRequest) ProtoMessage() {} func (*GetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } func (m *GetNeighborRequest) GetEnableAdvertised() bool { if m != nil { return m.EnableAdvertised } return false } func (m *GetNeighborRequest) GetAddress() string { if m != nil { return m.Address } return "" } type GetNeighborResponse struct { Peers []*Peer `protobuf:"bytes,1,rep,name=peers" json:"peers,omitempty"` } func (m *GetNeighborResponse) Reset() { *m = GetNeighborResponse{} } func (m *GetNeighborResponse) String() string { return proto.CompactTextString(m) } func (*GetNeighborResponse) ProtoMessage() {} func (*GetNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } func (m *GetNeighborResponse) GetPeers() []*Peer { if m != nil { return m.Peers } return nil } type Arguments struct { Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` Family uint32 `protobuf:"varint,2,opt,name=family" json:"family,omitempty"` Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` Current bool `protobuf:"varint,4,opt,name=current" json:"current,omitempty"` } func (m *Arguments) Reset() { *m = Arguments{} } func (m *Arguments) String() string { return proto.CompactTextString(m) } func (*Arguments) ProtoMessage() {} func (*Arguments) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } func (m *Arguments) GetResource() Resource { if m != nil { return m.Resource } return Resource_GLOBAL } func (m *Arguments) GetFamily() uint32 { if m != nil { return m.Family } return 0 } func (m *Arguments) GetName() string { if m != nil { return m.Name } return "" } func (m *Arguments) GetCurrent() bool { if m != nil { return m.Current } return false } type AddPathRequest struct { Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"` Path *Path `protobuf:"bytes,3,opt,name=path" json:"path,omitempty"` } func (m *AddPathRequest) Reset() { *m = AddPathRequest{} } func (m *AddPathRequest) String() string { return proto.CompactTextString(m) } func (*AddPathRequest) ProtoMessage() {} func (*AddPathRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } func (m *AddPathRequest) GetResource() Resource { if m != nil { return m.Resource } return Resource_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 fileDescriptor0, []int{4} } func (m *AddPathResponse) GetUuid() []byte { if m != nil { return m.Uuid } return nil } type DeletePathRequest struct { Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"` Family uint32 `protobuf:"varint,3,opt,name=family" json:"family,omitempty"` Path *Path `protobuf:"bytes,4,opt,name=path" json:"path,omitempty"` Uuid []byte `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"` } func (m *DeletePathRequest) Reset() { *m = DeletePathRequest{} } func (m *DeletePathRequest) String() string { return proto.CompactTextString(m) } func (*DeletePathRequest) ProtoMessage() {} func (*DeletePathRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } func (m *DeletePathRequest) GetResource() Resource { if m != nil { return m.Resource } return Resource_GLOBAL } func (m *DeletePathRequest) GetVrfId() string { if m != nil { return m.VrfId } return "" } func (m *DeletePathRequest) GetFamily() uint32 { if m != nil { return m.Family } return 0 } 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 DeletePathResponse struct { } func (m *DeletePathResponse) Reset() { *m = DeletePathResponse{} } func (m *DeletePathResponse) String() string { return proto.CompactTextString(m) } func (*DeletePathResponse) ProtoMessage() {} func (*DeletePathResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } type AddNeighborRequest struct { Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"` } func (m *AddNeighborRequest) Reset() { *m = AddNeighborRequest{} } func (m *AddNeighborRequest) String() string { return proto.CompactTextString(m) } func (*AddNeighborRequest) ProtoMessage() {} func (*AddNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } func (m *AddNeighborRequest) GetPeer() *Peer { if m != nil { return m.Peer } return nil } type AddNeighborResponse struct { } func (m *AddNeighborResponse) Reset() { *m = AddNeighborResponse{} } func (m *AddNeighborResponse) String() string { return proto.CompactTextString(m) } func (*AddNeighborResponse) ProtoMessage() {} func (*AddNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } type DeleteNeighborRequest struct { Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"` } func (m *DeleteNeighborRequest) Reset() { *m = DeleteNeighborRequest{} } func (m *DeleteNeighborRequest) String() string { return proto.CompactTextString(m) } func (*DeleteNeighborRequest) ProtoMessage() {} func (*DeleteNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } func (m *DeleteNeighborRequest) GetPeer() *Peer { if m != nil { return m.Peer } return nil } type DeleteNeighborResponse struct { } func (m *DeleteNeighborResponse) Reset() { *m = DeleteNeighborResponse{} } func (m *DeleteNeighborResponse) String() string { return proto.CompactTextString(m) } func (*DeleteNeighborResponse) ProtoMessage() {} func (*DeleteNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } type UpdateNeighborRequest struct { Peer *Peer `protobuf:"bytes,1,opt,name=peer" json:"peer,omitempty"` // Calls SoftResetIn after updating the neighbor configuration if needed. DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn" json:"do_soft_reset_in,omitempty"` } func (m *UpdateNeighborRequest) Reset() { *m = UpdateNeighborRequest{} } func (m *UpdateNeighborRequest) String() string { return proto.CompactTextString(m) } func (*UpdateNeighborRequest) ProtoMessage() {} func (*UpdateNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } func (m *UpdateNeighborRequest) GetPeer() *Peer { if m != nil { return m.Peer } return nil } func (m *UpdateNeighborRequest) GetDoSoftResetIn() bool { if m != nil { return m.DoSoftResetIn } return false } type UpdateNeighborResponse 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 *UpdateNeighborResponse) Reset() { *m = UpdateNeighborResponse{} } func (m *UpdateNeighborResponse) String() string { return proto.CompactTextString(m) } func (*UpdateNeighborResponse) ProtoMessage() {} func (*UpdateNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } func (m *UpdateNeighborResponse) GetNeedsSoftResetIn() bool { if m != nil { return m.NeedsSoftResetIn } return false } type ResetNeighborRequest 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 *ResetNeighborRequest) Reset() { *m = ResetNeighborRequest{} } func (m *ResetNeighborRequest) String() string { return proto.CompactTextString(m) } func (*ResetNeighborRequest) ProtoMessage() {} func (*ResetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } func (m *ResetNeighborRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *ResetNeighborRequest) GetCommunication() string { if m != nil { return m.Communication } return "" } type ResetNeighborResponse struct { } func (m *ResetNeighborResponse) Reset() { *m = ResetNeighborResponse{} } func (m *ResetNeighborResponse) String() string { return proto.CompactTextString(m) } func (*ResetNeighborResponse) ProtoMessage() {} func (*ResetNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } type SoftResetNeighborRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Direction SoftResetNeighborRequest_SoftResetDirection `protobuf:"varint,2,opt,name=direction,enum=gobgpapi.SoftResetNeighborRequest_SoftResetDirection" json:"direction,omitempty"` } func (m *SoftResetNeighborRequest) Reset() { *m = SoftResetNeighborRequest{} } func (m *SoftResetNeighborRequest) String() string { return proto.CompactTextString(m) } func (*SoftResetNeighborRequest) ProtoMessage() {} func (*SoftResetNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } func (m *SoftResetNeighborRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *SoftResetNeighborRequest) GetDirection() SoftResetNeighborRequest_SoftResetDirection { if m != nil { return m.Direction } return SoftResetNeighborRequest_IN } type SoftResetNeighborResponse struct { } func (m *SoftResetNeighborResponse) Reset() { *m = SoftResetNeighborResponse{} } func (m *SoftResetNeighborResponse) String() string { return proto.CompactTextString(m) } func (*SoftResetNeighborResponse) ProtoMessage() {} func (*SoftResetNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } type ShutdownNeighborRequest 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 *ShutdownNeighborRequest) Reset() { *m = ShutdownNeighborRequest{} } func (m *ShutdownNeighborRequest) String() string { return proto.CompactTextString(m) } func (*ShutdownNeighborRequest) ProtoMessage() {} func (*ShutdownNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } func (m *ShutdownNeighborRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *ShutdownNeighborRequest) GetCommunication() string { if m != nil { return m.Communication } return "" } type ShutdownNeighborResponse struct { } func (m *ShutdownNeighborResponse) Reset() { *m = ShutdownNeighborResponse{} } func (m *ShutdownNeighborResponse) String() string { return proto.CompactTextString(m) } func (*ShutdownNeighborResponse) ProtoMessage() {} func (*ShutdownNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } type EnableNeighborRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` } func (m *EnableNeighborRequest) Reset() { *m = EnableNeighborRequest{} } func (m *EnableNeighborRequest) String() string { return proto.CompactTextString(m) } func (*EnableNeighborRequest) ProtoMessage() {} func (*EnableNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } func (m *EnableNeighborRequest) GetAddress() string { if m != nil { return m.Address } return "" } type EnableNeighborResponse struct { } func (m *EnableNeighborResponse) Reset() { *m = EnableNeighborResponse{} } func (m *EnableNeighborResponse) String() string { return proto.CompactTextString(m) } func (*EnableNeighborResponse) ProtoMessage() {} func (*EnableNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } type DisableNeighborRequest 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 *DisableNeighborRequest) Reset() { *m = DisableNeighborRequest{} } func (m *DisableNeighborRequest) String() string { return proto.CompactTextString(m) } func (*DisableNeighborRequest) ProtoMessage() {} func (*DisableNeighborRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } func (m *DisableNeighborRequest) GetAddress() string { if m != nil { return m.Address } return "" } func (m *DisableNeighborRequest) GetCommunication() string { if m != nil { return m.Communication } return "" } type DisableNeighborResponse struct { } func (m *DisableNeighborResponse) Reset() { *m = DisableNeighborResponse{} } func (m *DisableNeighborResponse) String() string { return proto.CompactTextString(m) } func (*DisableNeighborResponse) ProtoMessage() {} func (*DisableNeighborResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } type EnableMrtRequest struct { DumpType int32 `protobuf:"varint,1,opt,name=dump_type,json=dumpType" json:"dump_type,omitempty"` Filename string `protobuf:"bytes,2,opt,name=filename" json:"filename,omitempty"` Interval uint64 `protobuf:"varint,3,opt,name=interval" json:"interval,omitempty"` } func (m *EnableMrtRequest) Reset() { *m = EnableMrtRequest{} } func (m *EnableMrtRequest) String() string { return proto.CompactTextString(m) } func (*EnableMrtRequest) ProtoMessage() {} func (*EnableMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } 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) GetInterval() uint64 { if m != nil { return m.Interval } return 0 } type EnableMrtResponse struct { } func (m *EnableMrtResponse) Reset() { *m = EnableMrtResponse{} } func (m *EnableMrtResponse) String() string { return proto.CompactTextString(m) } func (*EnableMrtResponse) ProtoMessage() {} func (*EnableMrtResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } type DisableMrtRequest struct { } func (m *DisableMrtRequest) Reset() { *m = DisableMrtRequest{} } func (m *DisableMrtRequest) String() string { return proto.CompactTextString(m) } func (*DisableMrtRequest) ProtoMessage() {} func (*DisableMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } type DisableMrtResponse struct { } func (m *DisableMrtResponse) Reset() { *m = DisableMrtResponse{} } func (m *DisableMrtResponse) String() string { return proto.CompactTextString(m) } func (*DisableMrtResponse) ProtoMessage() {} func (*DisableMrtResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } type InjectMrtRequest struct { Resource Resource `protobuf:"varint,1,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId" json:"vrf_id,omitempty"` Paths []*Path `protobuf:"bytes,3,rep,name=paths" json:"paths,omitempty"` } func (m *InjectMrtRequest) Reset() { *m = InjectMrtRequest{} } func (m *InjectMrtRequest) String() string { return proto.CompactTextString(m) } func (*InjectMrtRequest) ProtoMessage() {} func (*InjectMrtRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } func (m *InjectMrtRequest) GetResource() Resource { if m != nil { return m.Resource } return Resource_GLOBAL } func (m *InjectMrtRequest) GetVrfId() string { if m != nil { return m.VrfId } return "" } func (m *InjectMrtRequest) GetPaths() []*Path { if m != nil { return m.Paths } return nil } type InjectMrtResponse struct { } func (m *InjectMrtResponse) Reset() { *m = InjectMrtResponse{} } func (m *InjectMrtResponse) String() string { return proto.CompactTextString(m) } func (*InjectMrtResponse) ProtoMessage() {} func (*InjectMrtResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } type AddBmpRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` Type AddBmpRequest_MonitoringPolicy `protobuf:"varint,3,opt,name=type,enum=gobgpapi.AddBmpRequest_MonitoringPolicy" json:"type,omitempty"` } func (m *AddBmpRequest) Reset() { *m = AddBmpRequest{} } func (m *AddBmpRequest) String() string { return proto.CompactTextString(m) } func (*AddBmpRequest) ProtoMessage() {} func (*AddBmpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } 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) GetType() AddBmpRequest_MonitoringPolicy { if m != nil { return m.Type } return AddBmpRequest_PRE } type AddBmpResponse struct { } func (m *AddBmpResponse) Reset() { *m = AddBmpResponse{} } func (m *AddBmpResponse) String() string { return proto.CompactTextString(m) } func (*AddBmpResponse) ProtoMessage() {} func (*AddBmpResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } type DeleteBmpRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` } func (m *DeleteBmpRequest) Reset() { *m = DeleteBmpRequest{} } func (m *DeleteBmpRequest) String() string { return proto.CompactTextString(m) } func (*DeleteBmpRequest) ProtoMessage() {} func (*DeleteBmpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } 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 DeleteBmpResponse struct { } func (m *DeleteBmpResponse) Reset() { *m = DeleteBmpResponse{} } func (m *DeleteBmpResponse) String() string { return proto.CompactTextString(m) } func (*DeleteBmpResponse) ProtoMessage() {} func (*DeleteBmpResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } type MonitorRibRequest struct { Table *Table `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"` Current bool `protobuf:"varint,2,opt,name=current" json:"current,omitempty"` } func (m *MonitorRibRequest) Reset() { *m = MonitorRibRequest{} } func (m *MonitorRibRequest) String() string { return proto.CompactTextString(m) } func (*MonitorRibRequest) ProtoMessage() {} func (*MonitorRibRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } func (m *MonitorRibRequest) GetTable() *Table { if m != nil { return m.Table } return nil } func (m *MonitorRibRequest) GetCurrent() bool { if m != nil { return m.Current } return false } type RPKIConf struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` RemotePort string `protobuf:"bytes,2,opt,name=remote_port,json=remotePort" json:"remote_port,omitempty"` } func (m *RPKIConf) Reset() { *m = RPKIConf{} } func (m *RPKIConf) String() string { return proto.CompactTextString(m) } func (*RPKIConf) ProtoMessage() {} func (*RPKIConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } func (m *RPKIConf) GetAddress() string { if m != nil { return m.Address } return "" } func (m *RPKIConf) GetRemotePort() string { if m != nil { return m.RemotePort } return "" } type RPKIState struct { Uptime int64 `protobuf:"varint,1,opt,name=uptime" json:"uptime,omitempty"` Downtime int64 `protobuf:"varint,2,opt,name=downtime" json:"downtime,omitempty"` Up bool `protobuf:"varint,3,opt,name=up" json:"up,omitempty"` RecordIpv4 uint32 `protobuf:"varint,4,opt,name=record_ipv4,json=recordIpv4" json:"record_ipv4,omitempty"` RecordIpv6 uint32 `protobuf:"varint,5,opt,name=record_ipv6,json=recordIpv6" json:"record_ipv6,omitempty"` PrefixIpv4 uint32 `protobuf:"varint,6,opt,name=prefix_ipv4,json=prefixIpv4" json:"prefix_ipv4,omitempty"` PrefixIpv6 uint32 `protobuf:"varint,7,opt,name=prefix_ipv6,json=prefixIpv6" json:"prefix_ipv6,omitempty"` Serial uint32 `protobuf:"varint,8,opt,name=serial" json:"serial,omitempty"` ReceivedIpv4 int64 `protobuf:"varint,9,opt,name=received_ipv4,json=receivedIpv4" json:"received_ipv4,omitempty"` ReceivedIpv6 int64 `protobuf:"varint,10,opt,name=received_ipv6,json=receivedIpv6" json:"received_ipv6,omitempty"` SerialNotify int64 `protobuf:"varint,11,opt,name=serial_notify,json=serialNotify" json:"serial_notify,omitempty"` CacheReset int64 `protobuf:"varint,12,opt,name=cache_reset,json=cacheReset" json:"cache_reset,omitempty"` CacheResponse int64 `protobuf:"varint,13,opt,name=cache_response,json=cacheResponse" json:"cache_response,omitempty"` EndOfData int64 `protobuf:"varint,14,opt,name=end_of_data,json=endOfData" json:"end_of_data,omitempty"` Error int64 `protobuf:"varint,15,opt,name=error" json:"error,omitempty"` SerialQuery int64 `protobuf:"varint,16,opt,name=serial_query,json=serialQuery" json:"serial_query,omitempty"` ResetQuery int64 `protobuf:"varint,17,opt,name=reset_query,json=resetQuery" json:"reset_query,omitempty"` } func (m *RPKIState) Reset() { *m = RPKIState{} } func (m *RPKIState) String() string { return proto.CompactTextString(m) } func (*RPKIState) ProtoMessage() {} func (*RPKIState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } func (m *RPKIState) GetUptime() int64 { if m != nil { return m.Uptime } return 0 } func (m *RPKIState) GetDowntime() int64 { if m != nil { return m.Downtime } return 0 } 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 fileDescriptor0, []int{36} } func (m *Rpki) GetConf() *RPKIConf { if m != nil { return m.Conf } return nil } func (m *Rpki) GetState() *RPKIState { if m != nil { return m.State } return nil } type GetRpkiRequest struct { Family uint32 `protobuf:"varint,1,opt,name=family" json:"family,omitempty"` } func (m *GetRpkiRequest) Reset() { *m = GetRpkiRequest{} } func (m *GetRpkiRequest) String() string { return proto.CompactTextString(m) } func (*GetRpkiRequest) ProtoMessage() {} func (*GetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } func (m *GetRpkiRequest) GetFamily() uint32 { if m != nil { return m.Family } return 0 } type GetRpkiResponse struct { Servers []*Rpki `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"` } func (m *GetRpkiResponse) Reset() { *m = GetRpkiResponse{} } func (m *GetRpkiResponse) String() string { return proto.CompactTextString(m) } func (*GetRpkiResponse) ProtoMessage() {} func (*GetRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } func (m *GetRpkiResponse) GetServers() []*Rpki { if m != nil { return m.Servers } return nil } type AddRpkiRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` Lifetime int64 `protobuf:"varint,3,opt,name=lifetime" json:"lifetime,omitempty"` } func (m *AddRpkiRequest) Reset() { *m = AddRpkiRequest{} } func (m *AddRpkiRequest) String() string { return proto.CompactTextString(m) } func (*AddRpkiRequest) ProtoMessage() {} func (*AddRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } 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 AddRpkiResponse struct { } func (m *AddRpkiResponse) Reset() { *m = AddRpkiResponse{} } func (m *AddRpkiResponse) String() string { return proto.CompactTextString(m) } func (*AddRpkiResponse) ProtoMessage() {} func (*AddRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } type DeleteRpkiRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"` } func (m *DeleteRpkiRequest) Reset() { *m = DeleteRpkiRequest{} } func (m *DeleteRpkiRequest) String() string { return proto.CompactTextString(m) } func (*DeleteRpkiRequest) ProtoMessage() {} func (*DeleteRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } 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 DeleteRpkiResponse struct { } func (m *DeleteRpkiResponse) Reset() { *m = DeleteRpkiResponse{} } func (m *DeleteRpkiResponse) String() string { return proto.CompactTextString(m) } func (*DeleteRpkiResponse) ProtoMessage() {} func (*DeleteRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} } type EnableRpkiRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` } func (m *EnableRpkiRequest) Reset() { *m = EnableRpkiRequest{} } func (m *EnableRpkiRequest) String() string { return proto.CompactTextString(m) } func (*EnableRpkiRequest) ProtoMessage() {} func (*EnableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} } func (m *EnableRpkiRequest) GetAddress() string { if m != nil { return m.Address } return "" } type EnableRpkiResponse struct { } func (m *EnableRpkiResponse) Reset() { *m = EnableRpkiResponse{} } func (m *EnableRpkiResponse) String() string { return proto.CompactTextString(m) } func (*EnableRpkiResponse) ProtoMessage() {} func (*EnableRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} } type DisableRpkiRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` } func (m *DisableRpkiRequest) Reset() { *m = DisableRpkiRequest{} } func (m *DisableRpkiRequest) String() string { return proto.CompactTextString(m) } func (*DisableRpkiRequest) ProtoMessage() {} func (*DisableRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} } func (m *DisableRpkiRequest) GetAddress() string { if m != nil { return m.Address } return "" } type DisableRpkiResponse struct { } func (m *DisableRpkiResponse) Reset() { *m = DisableRpkiResponse{} } func (m *DisableRpkiResponse) String() string { return proto.CompactTextString(m) } func (*DisableRpkiResponse) ProtoMessage() {} func (*DisableRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} } type ResetRpkiRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` } func (m *ResetRpkiRequest) Reset() { *m = ResetRpkiRequest{} } func (m *ResetRpkiRequest) String() string { return proto.CompactTextString(m) } func (*ResetRpkiRequest) ProtoMessage() {} func (*ResetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} } func (m *ResetRpkiRequest) GetAddress() string { if m != nil { return m.Address } return "" } type ResetRpkiResponse struct { } func (m *ResetRpkiResponse) Reset() { *m = ResetRpkiResponse{} } func (m *ResetRpkiResponse) String() string { return proto.CompactTextString(m) } func (*ResetRpkiResponse) ProtoMessage() {} func (*ResetRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} } type SoftResetRpkiRequest struct { Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` } func (m *SoftResetRpkiRequest) Reset() { *m = SoftResetRpkiRequest{} } func (m *SoftResetRpkiRequest) String() string { return proto.CompactTextString(m) } func (*SoftResetRpkiRequest) ProtoMessage() {} func (*SoftResetRpkiRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} } func (m *SoftResetRpkiRequest) GetAddress() string { if m != nil { return m.Address } return "" } type SoftResetRpkiResponse struct { } func (m *SoftResetRpkiResponse) Reset() { *m = SoftResetRpkiResponse{} } func (m *SoftResetRpkiResponse) String() string { return proto.CompactTextString(m) } func (*SoftResetRpkiResponse) ProtoMessage() {} func (*SoftResetRpkiResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} } 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"` } func (m *EnableZebraRequest) Reset() { *m = EnableZebraRequest{} } func (m *EnableZebraRequest) String() string { return proto.CompactTextString(m) } func (*EnableZebraRequest) ProtoMessage() {} func (*EnableZebraRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} } 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 } type EnableZebraResponse struct { } func (m *EnableZebraResponse) Reset() { *m = EnableZebraResponse{} } func (m *EnableZebraResponse) String() string { return proto.CompactTextString(m) } func (*EnableZebraResponse) ProtoMessage() {} func (*EnableZebraResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} } type GetVrfRequest struct { } func (m *GetVrfRequest) Reset() { *m = GetVrfRequest{} } func (m *GetVrfRequest) String() string { return proto.CompactTextString(m) } func (*GetVrfRequest) ProtoMessage() {} func (*GetVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} } type GetVrfResponse struct { Vrfs []*Vrf `protobuf:"bytes,1,rep,name=vrfs" json:"vrfs,omitempty"` } func (m *GetVrfResponse) Reset() { *m = GetVrfResponse{} } func (m *GetVrfResponse) String() string { return proto.CompactTextString(m) } func (*GetVrfResponse) ProtoMessage() {} func (*GetVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} } func (m *GetVrfResponse) GetVrfs() []*Vrf { if m != nil { return m.Vrfs } return nil } type AddVrfRequest struct { Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf" json:"vrf,omitempty"` } func (m *AddVrfRequest) Reset() { *m = AddVrfRequest{} } func (m *AddVrfRequest) String() string { return proto.CompactTextString(m) } func (*AddVrfRequest) ProtoMessage() {} func (*AddVrfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{55} } func (m *AddVrfRequest) GetVrf() *Vrf { if m != nil { return m.Vrf } return nil } type AddVrfResponse struct { } func (m *AddVrfResponse) Reset() { *m = AddVrfResponse{} } func (m *AddVrfResponse) String() string { return proto.CompactTextString(m) } func (*AddVrfResponse) ProtoMessage() {} func (*AddVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} } type DeleteVrfRequest struct { Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf" json:"vrf,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 fileDescriptor0, []int{57} } func (m *DeleteVrfRequest) GetVrf() *Vrf { if m != nil { return m.Vrf } return nil } type DeleteVrfResponse struct { } func (m *DeleteVrfResponse) Reset() { *m = DeleteVrfResponse{} } func (m *DeleteVrfResponse) String() string { return proto.CompactTextString(m) } func (*DeleteVrfResponse) ProtoMessage() {} func (*DeleteVrfResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} } type GetDefinedSetRequest struct { Type DefinedType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.DefinedType" json:"type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` } func (m *GetDefinedSetRequest) Reset() { *m = GetDefinedSetRequest{} } func (m *GetDefinedSetRequest) String() string { return proto.CompactTextString(m) } func (*GetDefinedSetRequest) ProtoMessage() {} func (*GetDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} } func (m *GetDefinedSetRequest) GetType() DefinedType { if m != nil { return m.Type } return DefinedType_PREFIX } func (m *GetDefinedSetRequest) GetName() string { if m != nil { return m.Name } return "" } type GetDefinedSetResponse struct { Sets []*DefinedSet `protobuf:"bytes,1,rep,name=sets" json:"sets,omitempty"` } func (m *GetDefinedSetResponse) Reset() { *m = GetDefinedSetResponse{} } func (m *GetDefinedSetResponse) String() string { return proto.CompactTextString(m) } func (*GetDefinedSetResponse) ProtoMessage() {} func (*GetDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{60} } func (m *GetDefinedSetResponse) GetSets() []*DefinedSet { if m != nil { return m.Sets } return nil } type AddDefinedSetRequest struct { Set *DefinedSet `protobuf:"bytes,1,opt,name=set" json:"set,omitempty"` } func (m *AddDefinedSetRequest) Reset() { *m = AddDefinedSetRequest{} } func (m *AddDefinedSetRequest) String() string { return proto.CompactTextString(m) } func (*AddDefinedSetRequest) ProtoMessage() {} func (*AddDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{61} } func (m *AddDefinedSetRequest) GetSet() *DefinedSet { if m != nil { return m.Set } return nil } type AddDefinedSetResponse struct { } func (m *AddDefinedSetResponse) Reset() { *m = AddDefinedSetResponse{} } func (m *AddDefinedSetResponse) String() string { return proto.CompactTextString(m) } func (*AddDefinedSetResponse) ProtoMessage() {} func (*AddDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{62} } type DeleteDefinedSetRequest struct { Set *DefinedSet `protobuf:"bytes,1,opt,name=set" json:"set,omitempty"` All bool `protobuf:"varint,2,opt,name=all" json:"all,omitempty"` } func (m *DeleteDefinedSetRequest) Reset() { *m = DeleteDefinedSetRequest{} } func (m *DeleteDefinedSetRequest) String() string { return proto.CompactTextString(m) } func (*DeleteDefinedSetRequest) ProtoMessage() {} func (*DeleteDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{63} } func (m *DeleteDefinedSetRequest) GetSet() *DefinedSet { if m != nil { return m.Set } return nil } func (m *DeleteDefinedSetRequest) GetAll() bool { if m != nil { return m.All } return false } type DeleteDefinedSetResponse struct { } func (m *DeleteDefinedSetResponse) Reset() { *m = DeleteDefinedSetResponse{} } func (m *DeleteDefinedSetResponse) String() string { return proto.CompactTextString(m) } func (*DeleteDefinedSetResponse) ProtoMessage() {} func (*DeleteDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{64} } type ReplaceDefinedSetRequest struct { Set *DefinedSet `protobuf:"bytes,1,opt,name=set" json:"set,omitempty"` } func (m *ReplaceDefinedSetRequest) Reset() { *m = ReplaceDefinedSetRequest{} } func (m *ReplaceDefinedSetRequest) String() string { return proto.CompactTextString(m) } func (*ReplaceDefinedSetRequest) ProtoMessage() {} func (*ReplaceDefinedSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} } func (m *ReplaceDefinedSetRequest) GetSet() *DefinedSet { if m != nil { return m.Set } return nil } type ReplaceDefinedSetResponse struct { } func (m *ReplaceDefinedSetResponse) Reset() { *m = ReplaceDefinedSetResponse{} } func (m *ReplaceDefinedSetResponse) String() string { return proto.CompactTextString(m) } func (*ReplaceDefinedSetResponse) ProtoMessage() {} func (*ReplaceDefinedSetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{66} } type GetStatementRequest struct { } func (m *GetStatementRequest) Reset() { *m = GetStatementRequest{} } func (m *GetStatementRequest) String() string { return proto.CompactTextString(m) } func (*GetStatementRequest) ProtoMessage() {} func (*GetStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{67} } type GetStatementResponse struct { Statements []*Statement `protobuf:"bytes,1,rep,name=statements" json:"statements,omitempty"` } func (m *GetStatementResponse) Reset() { *m = GetStatementResponse{} } func (m *GetStatementResponse) String() string { return proto.CompactTextString(m) } func (*GetStatementResponse) ProtoMessage() {} func (*GetStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{68} } func (m *GetStatementResponse) GetStatements() []*Statement { if m != nil { return m.Statements } return nil } type AddStatementRequest struct { Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"` } func (m *AddStatementRequest) Reset() { *m = AddStatementRequest{} } func (m *AddStatementRequest) String() string { return proto.CompactTextString(m) } func (*AddStatementRequest) ProtoMessage() {} func (*AddStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{69} } func (m *AddStatementRequest) GetStatement() *Statement { if m != nil { return m.Statement } return nil } type AddStatementResponse struct { } func (m *AddStatementResponse) Reset() { *m = AddStatementResponse{} } func (m *AddStatementResponse) String() string { return proto.CompactTextString(m) } func (*AddStatementResponse) ProtoMessage() {} func (*AddStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{70} } type DeleteStatementRequest struct { Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"` All bool `protobuf:"varint,2,opt,name=all" json:"all,omitempty"` } func (m *DeleteStatementRequest) Reset() { *m = DeleteStatementRequest{} } func (m *DeleteStatementRequest) String() string { return proto.CompactTextString(m) } func (*DeleteStatementRequest) ProtoMessage() {} func (*DeleteStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{71} } 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 DeleteStatementResponse struct { } func (m *DeleteStatementResponse) Reset() { *m = DeleteStatementResponse{} } func (m *DeleteStatementResponse) String() string { return proto.CompactTextString(m) } func (*DeleteStatementResponse) ProtoMessage() {} func (*DeleteStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{72} } type ReplaceStatementRequest struct { Statement *Statement `protobuf:"bytes,1,opt,name=statement" json:"statement,omitempty"` } func (m *ReplaceStatementRequest) Reset() { *m = ReplaceStatementRequest{} } func (m *ReplaceStatementRequest) String() string { return proto.CompactTextString(m) } func (*ReplaceStatementRequest) ProtoMessage() {} func (*ReplaceStatementRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{73} } func (m *ReplaceStatementRequest) GetStatement() *Statement { if m != nil { return m.Statement } return nil } type ReplaceStatementResponse struct { } func (m *ReplaceStatementResponse) Reset() { *m = ReplaceStatementResponse{} } func (m *ReplaceStatementResponse) String() string { return proto.CompactTextString(m) } func (*ReplaceStatementResponse) ProtoMessage() {} func (*ReplaceStatementResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{74} } type GetPolicyRequest struct { } func (m *GetPolicyRequest) Reset() { *m = GetPolicyRequest{} } func (m *GetPolicyRequest) String() string { return proto.CompactTextString(m) } func (*GetPolicyRequest) ProtoMessage() {} func (*GetPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{75} } type GetPolicyResponse struct { Policies []*Policy `protobuf:"bytes,1,rep,name=policies" json:"policies,omitempty"` } func (m *GetPolicyResponse) Reset() { *m = GetPolicyResponse{} } func (m *GetPolicyResponse) String() string { return proto.CompactTextString(m) } func (*GetPolicyResponse) ProtoMessage() {} func (*GetPolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{76} } func (m *GetPolicyResponse) GetPolicies() []*Policy { if m != nil { return m.Policies } return nil } type AddPolicyRequest struct { Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"` // if this flag is set, gobgpd won't define new statements // but refer existing statements using statement's names in this arguments. ReferExistingStatements bool `protobuf:"varint,2,opt,name=refer_existing_statements,json=referExistingStatements" json:"refer_existing_statements,omitempty"` } func (m *AddPolicyRequest) Reset() { *m = AddPolicyRequest{} } func (m *AddPolicyRequest) String() string { return proto.CompactTextString(m) } func (*AddPolicyRequest) ProtoMessage() {} func (*AddPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{77} } 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 AddPolicyResponse struct { } func (m *AddPolicyResponse) Reset() { *m = AddPolicyResponse{} } func (m *AddPolicyResponse) String() string { return proto.CompactTextString(m) } func (*AddPolicyResponse) ProtoMessage() {} func (*AddPolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{78} } type DeletePolicyRequest struct { Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"` // if this flag is set, gobgpd won't delete any statements // even if some statements get not used by any policy by this operation. PreserveStatements bool `protobuf:"varint,2,opt,name=preserve_statements,json=preserveStatements" json:"preserve_statements,omitempty"` All bool `protobuf:"varint,3,opt,name=all" json:"all,omitempty"` } func (m *DeletePolicyRequest) Reset() { *m = DeletePolicyRequest{} } func (m *DeletePolicyRequest) String() string { return proto.CompactTextString(m) } func (*DeletePolicyRequest) ProtoMessage() {} func (*DeletePolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{79} } 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 DeletePolicyResponse struct { } func (m *DeletePolicyResponse) Reset() { *m = DeletePolicyResponse{} } func (m *DeletePolicyResponse) String() string { return proto.CompactTextString(m) } func (*DeletePolicyResponse) ProtoMessage() {} func (*DeletePolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{80} } type ReplacePolicyRequest struct { Policy *Policy `protobuf:"bytes,1,opt,name=policy" json:"policy,omitempty"` // if this flag is set, gobgpd won't define new statements // but refer existing statements using statement's names in this arguments. ReferExistingStatements bool `protobuf:"varint,2,opt,name=refer_existing_statements,json=referExistingStatements" json:"refer_existing_statements,omitempty"` // if this flag is set, gobgpd won't delete any statements // even if some statements get not used by any policy by this operation. PreserveStatements bool `protobuf:"varint,3,opt,name=preserve_statements,json=preserveStatements" json:"preserve_statements,omitempty"` } func (m *ReplacePolicyRequest) Reset() { *m = ReplacePolicyRequest{} } func (m *ReplacePolicyRequest) String() string { return proto.CompactTextString(m) } func (*ReplacePolicyRequest) ProtoMessage() {} func (*ReplacePolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{81} } func (m *ReplacePolicyRequest) GetPolicy() *Policy { if m != nil { return m.Policy } return nil } func (m *ReplacePolicyRequest) GetReferExistingStatements() bool { if m != nil { return m.ReferExistingStatements } return false } func (m *ReplacePolicyRequest) GetPreserveStatements() bool { if m != nil { return m.PreserveStatements } return false } type ReplacePolicyResponse struct { } func (m *ReplacePolicyResponse) Reset() { *m = ReplacePolicyResponse{} } func (m *ReplacePolicyResponse) String() string { return proto.CompactTextString(m) } func (*ReplacePolicyResponse) ProtoMessage() {} func (*ReplacePolicyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{82} } type GetPolicyAssignmentRequest struct { Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` } func (m *GetPolicyAssignmentRequest) Reset() { *m = GetPolicyAssignmentRequest{} } func (m *GetPolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } func (*GetPolicyAssignmentRequest) ProtoMessage() {} func (*GetPolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{83} } func (m *GetPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { if m != nil { return m.Assignment } return nil } type GetPolicyAssignmentResponse struct { Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` } func (m *GetPolicyAssignmentResponse) Reset() { *m = GetPolicyAssignmentResponse{} } func (m *GetPolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } func (*GetPolicyAssignmentResponse) ProtoMessage() {} func (*GetPolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{84} } func (m *GetPolicyAssignmentResponse) GetAssignment() *PolicyAssignment { if m != nil { return m.Assignment } return nil } type AddPolicyAssignmentRequest struct { Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` } func (m *AddPolicyAssignmentRequest) Reset() { *m = AddPolicyAssignmentRequest{} } func (m *AddPolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } func (*AddPolicyAssignmentRequest) ProtoMessage() {} func (*AddPolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{85} } func (m *AddPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { if m != nil { return m.Assignment } return nil } type AddPolicyAssignmentResponse struct { } func (m *AddPolicyAssignmentResponse) Reset() { *m = AddPolicyAssignmentResponse{} } func (m *AddPolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } func (*AddPolicyAssignmentResponse) ProtoMessage() {} func (*AddPolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{86} } type DeletePolicyAssignmentRequest struct { Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` All bool `protobuf:"varint,2,opt,name=all" json:"all,omitempty"` } func (m *DeletePolicyAssignmentRequest) Reset() { *m = DeletePolicyAssignmentRequest{} } func (m *DeletePolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } func (*DeletePolicyAssignmentRequest) ProtoMessage() {} func (*DeletePolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{87} } 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 DeletePolicyAssignmentResponse struct { } func (m *DeletePolicyAssignmentResponse) Reset() { *m = DeletePolicyAssignmentResponse{} } func (m *DeletePolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } func (*DeletePolicyAssignmentResponse) ProtoMessage() {} func (*DeletePolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{88} } type ReplacePolicyAssignmentRequest struct { Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment" json:"assignment,omitempty"` } func (m *ReplacePolicyAssignmentRequest) Reset() { *m = ReplacePolicyAssignmentRequest{} } func (m *ReplacePolicyAssignmentRequest) String() string { return proto.CompactTextString(m) } func (*ReplacePolicyAssignmentRequest) ProtoMessage() {} func (*ReplacePolicyAssignmentRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{89} } func (m *ReplacePolicyAssignmentRequest) GetAssignment() *PolicyAssignment { if m != nil { return m.Assignment } return nil } type ReplacePolicyAssignmentResponse struct { } func (m *ReplacePolicyAssignmentResponse) Reset() { *m = ReplacePolicyAssignmentResponse{} } func (m *ReplacePolicyAssignmentResponse) String() string { return proto.CompactTextString(m) } func (*ReplacePolicyAssignmentResponse) ProtoMessage() {} func (*ReplacePolicyAssignmentResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{90} } type GetServerRequest struct { } func (m *GetServerRequest) Reset() { *m = GetServerRequest{} } func (m *GetServerRequest) String() string { return proto.CompactTextString(m) } func (*GetServerRequest) ProtoMessage() {} func (*GetServerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{91} } type GetServerResponse struct { Global *Global `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"` } func (m *GetServerResponse) Reset() { *m = GetServerResponse{} } func (m *GetServerResponse) String() string { return proto.CompactTextString(m) } func (*GetServerResponse) ProtoMessage() {} func (*GetServerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} } func (m *GetServerResponse) GetGlobal() *Global { if m != nil { return m.Global } return nil } type StartServerRequest struct { Global *Global `protobuf:"bytes,1,opt,name=global" json:"global,omitempty"` } func (m *StartServerRequest) Reset() { *m = StartServerRequest{} } func (m *StartServerRequest) String() string { return proto.CompactTextString(m) } func (*StartServerRequest) ProtoMessage() {} func (*StartServerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{93} } func (m *StartServerRequest) GetGlobal() *Global { if m != nil { return m.Global } return nil } type StartServerResponse struct { } func (m *StartServerResponse) Reset() { *m = StartServerResponse{} } func (m *StartServerResponse) String() string { return proto.CompactTextString(m) } func (*StartServerResponse) ProtoMessage() {} func (*StartServerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{94} } type StopServerRequest struct { } func (m *StopServerRequest) Reset() { *m = StopServerRequest{} } func (m *StopServerRequest) String() string { return proto.CompactTextString(m) } func (*StopServerRequest) ProtoMessage() {} func (*StopServerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{95} } type StopServerResponse struct { } func (m *StopServerResponse) Reset() { *m = StopServerResponse{} } func (m *StopServerResponse) String() string { return proto.CompactTextString(m) } func (*StopServerResponse) ProtoMessage() {} func (*StopServerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{96} } type RPKIValidation struct { State RPKIValidation_State `protobuf:"varint,1,opt,name=state,enum=gobgpapi.RPKIValidation_State" json:"state,omitempty"` Reason RPKIValidation_Reason `protobuf:"varint,2,opt,name=reason,enum=gobgpapi.RPKIValidation_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 *RPKIValidation) Reset() { *m = RPKIValidation{} } func (m *RPKIValidation) String() string { return proto.CompactTextString(m) } func (*RPKIValidation) ProtoMessage() {} func (*RPKIValidation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{97} } func (m *RPKIValidation) GetState() RPKIValidation_State { if m != nil { return m.State } return RPKIValidation_STATE_NONE } func (m *RPKIValidation) GetReason() RPKIValidation_Reason { if m != nil { return m.Reason } return RPKIValidation_REASOT_NONE } func (m *RPKIValidation) GetMatched() []*Roa { if m != nil { return m.Matched } return nil } func (m *RPKIValidation) GetUnmatchedAs() []*Roa { if m != nil { return m.UnmatchedAs } return nil } func (m *RPKIValidation) GetUnmatchedLength() []*Roa { if m != nil { return m.UnmatchedLength } return nil } type Path struct { Nlri []byte `protobuf:"bytes,1,opt,name=nlri,proto3" json:"nlri,omitempty"` Pattrs [][]byte `protobuf:"bytes,2,rep,name=pattrs,proto3" json:"pattrs,omitempty"` Age int64 `protobuf:"varint,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 int32 `protobuf:"varint,6,opt,name=validation" json:"validation,omitempty"` ValidationDetail *RPKIValidation `protobuf:"bytes,7,opt,name=validation_detail,json=validationDetail" json:"validation_detail,omitempty"` NoImplicitWithdraw bool `protobuf:"varint,8,opt,name=no_implicit_withdraw,json=noImplicitWithdraw" json:"no_implicit_withdraw,omitempty"` Family uint32 `protobuf:"varint,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"` // One of the following defined in "api/bgp/attribute.proto": // - IPAddressPrefix // - LabeledIPAddressPrefix // - EncapsulationNLRI // - EVPNEthernetAutoDiscoveryRoute // - EVPNMACIPAdvertisementRoute // - EVPNInclusiveMulticastEthernetTagRoute // - EVPNEthernetSegmentRoute // - EVPNIPPrefixRoute // - LabeledVPNIPAddressPrefix // - RouteTargetMembershipNLRI // - FlowSpecNLRI // - VPNFlowSpecNLRI // - OpaqueNLRI AnyNlri *google_protobuf.Any `protobuf:"bytes,20,opt,name=any_nlri,json=anyNlri" json:"any_nlri,omitempty"` // Each attribute must be on of *Attribute defined in // "api/bgp/attribute.proto". AnyPattrs []*google_protobuf.Any `protobuf:"bytes,21,rep,name=any_pattrs,json=anyPattrs" json:"any_pattrs,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 fileDescriptor0, []int{98} } func (m *Path) GetNlri() []byte { if m != nil { return m.Nlri } return nil } func (m *Path) GetPattrs() [][]byte { if m != nil { return m.Pattrs } return nil } func (m *Path) GetAge() int64 { if m != nil { return m.Age } return 0 } 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() int32 { if m != nil { return m.Validation } return 0 } func (m *Path) GetValidationDetail() *RPKIValidation { if m != nil { return m.ValidationDetail } return nil } func (m *Path) GetNoImplicitWithdraw() bool { if m != nil { return m.NoImplicitWithdraw } return false } func (m *Path) GetFamily() uint32 { if m != nil { return m.Family } return 0 } 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) GetAnyNlri() *google_protobuf.Any { if m != nil { return m.AnyNlri } return nil } func (m *Path) GetAnyPattrs() []*google_protobuf.Any { if m != nil { return m.AnyPattrs } 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"` LongerPrefixes bool `protobuf:"varint,3,opt,name=longer_prefixes,json=longerPrefixes" json:"longer_prefixes,omitempty"` ShorterPrefixes bool `protobuf:"varint,4,opt,name=shorter_prefixes,json=shorterPrefixes" json:"shorter_prefixes,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 fileDescriptor0, []int{99} } 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 } func (m *Destination) GetLongerPrefixes() bool { if m != nil { return m.LongerPrefixes } return false } func (m *Destination) GetShorterPrefixes() bool { if m != nil { return m.ShorterPrefixes } return false } type Table struct { Type Resource `protobuf:"varint,1,opt,name=type,enum=gobgpapi.Resource" json:"type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` Family uint32 `protobuf:"varint,3,opt,name=family" json:"family,omitempty"` Destinations []*Destination `protobuf:"bytes,4,rep,name=destinations" json:"destinations,omitempty"` PostPolicy bool `protobuf:"varint,5,opt,name=post_policy,json=postPolicy" json:"post_policy,omitempty"` } func (m *Table) Reset() { *m = Table{} } func (m *Table) String() string { return proto.CompactTextString(m) } func (*Table) ProtoMessage() {} func (*Table) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{100} } func (m *Table) GetType() Resource { if m != nil { return m.Type } return Resource_GLOBAL } func (m *Table) GetName() string { if m != nil { return m.Name } return "" } func (m *Table) GetFamily() uint32 { if m != nil { return m.Family } return 0 } func (m *Table) GetDestinations() []*Destination { if m != nil { return m.Destinations } return nil } func (m *Table) GetPostPolicy() bool { if m != nil { return m.PostPolicy } return false } type GetRibRequest struct { Table *Table `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"` } func (m *GetRibRequest) Reset() { *m = GetRibRequest{} } func (m *GetRibRequest) String() string { return proto.CompactTextString(m) } func (*GetRibRequest) ProtoMessage() {} func (*GetRibRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{101} } func (m *GetRibRequest) GetTable() *Table { if m != nil { return m.Table } return nil } type GetRibResponse struct { Table *Table `protobuf:"bytes,1,opt,name=table" json:"table,omitempty"` } func (m *GetRibResponse) Reset() { *m = GetRibResponse{} } func (m *GetRibResponse) String() string { return proto.CompactTextString(m) } func (*GetRibResponse) ProtoMessage() {} func (*GetRibResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{102} } func (m *GetRibResponse) GetTable() *Table { if m != nil { return m.Table } 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 fileDescriptor0, []int{103} } 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 GetPathRequest struct { Type Resource `protobuf:"varint,1,opt,name=type,enum=gobgpapi.Resource" json:"type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` Family uint32 `protobuf:"varint,3,opt,name=family" json:"family,omitempty"` Prefixes []*TableLookupPrefix `protobuf:"bytes,4,rep,name=prefixes" json:"prefixes,omitempty"` } func (m *GetPathRequest) Reset() { *m = GetPathRequest{} } func (m *GetPathRequest) String() string { return proto.CompactTextString(m) } func (*GetPathRequest) ProtoMessage() {} func (*GetPathRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{104} } func (m *GetPathRequest) GetType() Resource { if m != nil { return m.Type } return Resource_GLOBAL } func (m *GetPathRequest) GetName() string { if m != nil { return m.Name } return "" } func (m *GetPathRequest) GetFamily() uint32 { if m != nil { return m.Family } return 0 } func (m *GetPathRequest) GetPrefixes() []*TableLookupPrefix { if m != nil { return m.Prefixes } return nil } type ValidateRibRequest struct { Type Resource `protobuf:"varint,1,opt,name=type,enum=gobgpapi.Resource" json:"type,omitempty"` Family uint32 `protobuf:"varint,2,opt,name=family" json:"family,omitempty"` Prefix string `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"` } func (m *ValidateRibRequest) Reset() { *m = ValidateRibRequest{} } func (m *ValidateRibRequest) String() string { return proto.CompactTextString(m) } func (*ValidateRibRequest) ProtoMessage() {} func (*ValidateRibRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{105} } func (m *ValidateRibRequest) GetType() Resource { if m != nil { return m.Type } return Resource_GLOBAL } func (m *ValidateRibRequest) GetFamily() uint32 { if m != nil { return m.Family } return 0 } func (m *ValidateRibRequest) GetPrefix() string { if m != nil { return m.Prefix } return "" } type ValidateRibResponse struct { } func (m *ValidateRibResponse) Reset() { *m = ValidateRibResponse{} } func (m *ValidateRibResponse) String() string { return proto.CompactTextString(m) } func (*ValidateRibResponse) ProtoMessage() {} func (*ValidateRibResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{106} } type Peer struct { // Note: Regarding to the consistency with OpenConfig model, a list of // address family should be removed from here, and should be configured with // the list of AfiSafi instead. Families []uint32 `protobuf:"varint,1,rep,packed,name=families" json:"families,omitempty"` ApplyPolicy *ApplyPolicy `protobuf:"bytes,2,opt,name=apply_policy,json=applyPolicy" json:"apply_policy,omitempty"` Conf *PeerConf `protobuf:"bytes,3,opt,name=conf" json:"conf,omitempty"` EbgpMultihop *EbgpMultihop `protobuf:"bytes,4,opt,name=ebgp_multihop,json=ebgpMultihop" json:"ebgp_multihop,omitempty"` RouteReflector *RouteReflector `protobuf:"bytes,5,opt,name=route_reflector,json=routeReflector" json:"route_reflector,omitempty"` Info *PeerState `protobuf:"bytes,6,opt,name=info" json:"info,omitempty"` Timers *Timers `protobuf:"bytes,7,opt,name=timers" json:"timers,omitempty"` Transport *Transport `protobuf:"bytes,8,opt,name=transport" json:"transport,omitempty"` RouteServer *RouteServer `protobuf:"bytes,9,opt,name=route_server,json=routeServer" json:"route_server,omitempty"` GracefulRestart *GracefulRestart `protobuf:"bytes,10,opt,name=graceful_restart,json=gracefulRestart" json:"graceful_restart,omitempty"` AfiSafis []*AfiSafi `protobuf:"bytes,11,rep,name=afi_safis,json=afiSafis" json:"afi_safis,omitempty"` AddPaths *AddPaths `protobuf:"bytes,12,opt,name=add_paths,json=addPaths" json:"add_paths,omitempty"` } func (m *Peer) Reset() { *m = Peer{} } func (m *Peer) String() string { return proto.CompactTextString(m) } func (*Peer) ProtoMessage() {} func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{107} } func (m *Peer) GetFamilies() []uint32 { if m != nil { return m.Families } return nil } 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) GetInfo() *PeerState { if m != nil { return m.Info } 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 } func (m *Peer) GetAddPaths() *AddPaths { if m != nil { return m.AddPaths } return nil } 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 fileDescriptor0, []int{108} } 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 uint32 `protobuf:"varint,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 fileDescriptor0, []int{109} } func (m *PrefixLimit) GetFamily() uint32 { if m != nil { return m.Family } return 0 } 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"` RemoteCap [][]byte `protobuf:"bytes,11,rep,name=remote_cap,json=remoteCap,proto3" json:"remote_cap,omitempty"` LocalCap [][]byte `protobuf:"bytes,12,rep,name=local_cap,json=localCap,proto3" json:"local_cap,omitempty"` Id string `protobuf:"bytes,13,opt,name=id" json:"id,omitempty"` // Note: Regarding to the consistency with OpenConfig model, list of // PrefixLimit should be removed from here, and list of PrefixLimit in // AfiSafi should be used instead. PrefixLimits []*PrefixLimit `protobuf:"bytes,14,rep,name=prefix_limits,json=prefixLimits" json:"prefix_limits,omitempty"` LocalAddress string `protobuf:"bytes,15,opt,name=local_address,json=localAddress" json:"local_address,omitempty"` NeighborInterface string `protobuf:"bytes,16,opt,name=neighbor_interface,json=neighborInterface" json:"neighbor_interface,omitempty"` Vrf string `protobuf:"bytes,17,opt,name=vrf" json:"vrf,omitempty"` AllowOwnAs uint32 `protobuf:"varint,18,opt,name=allow_own_as,json=allowOwnAs" json:"allow_own_as,omitempty"` ReplacePeerAs bool `protobuf:"varint,19,opt,name=replace_peer_as,json=replacePeerAs" json:"replace_peer_as,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 fileDescriptor0, []int{110} } 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) GetRemoteCap() [][]byte { if m != nil { return m.RemoteCap } return nil } func (m *PeerConf) GetLocalCap() [][]byte { if m != nil { return m.LocalCap } return nil } func (m *PeerConf) GetId() string { if m != nil { return m.Id } return "" } func (m *PeerConf) GetPrefixLimits() []*PrefixLimit { if m != nil { return m.PrefixLimits } return nil } func (m *PeerConf) GetLocalAddress() string { if m != nil { return m.LocalAddress } return "" } 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 } 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 fileDescriptor0, []int{111} } 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 fileDescriptor0, []int{112} } 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 uint32 `protobuf:"varint,13,opt,name=session_state,json=sessionState" json:"session_state,omitempty"` SupportedCapabilities []string `protobuf:"bytes,14,rep,name=supported_capabilities,json=supportedCapabilities" json:"supported_capabilities,omitempty"` BgpState string `protobuf:"bytes,15,opt,name=bgp_state,json=bgpState" json:"bgp_state,omitempty"` AdminState PeerState_AdminState `protobuf:"varint,16,opt,name=admin_state,json=adminState,enum=gobgpapi.PeerState_AdminState" json:"admin_state,omitempty"` Received uint32 `protobuf:"varint,17,opt,name=received" json:"received,omitempty"` Accepted uint32 `protobuf:"varint,18,opt,name=accepted" json:"accepted,omitempty"` Advertised uint32 `protobuf:"varint,19,opt,name=advertised" json:"advertised,omitempty"` OutQ uint32 `protobuf:"varint,20,opt,name=out_q,json=outQ" json:"out_q,omitempty"` Flops uint32 `protobuf:"varint,21,opt,name=flops" json:"flops,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 fileDescriptor0, []int{113} } 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() uint32 { if m != nil { return m.SessionState } return 0 } func (m *PeerState) GetSupportedCapabilities() []string { if m != nil { return m.SupportedCapabilities } return nil } func (m *PeerState) GetBgpState() string { if m != nil { return m.BgpState } return "" } func (m *PeerState) GetAdminState() PeerState_AdminState { if m != nil { return m.AdminState } return PeerState_UP } func (m *PeerState) GetReceived() uint32 { if m != nil { return m.Received } return 0 } func (m *PeerState) GetAccepted() uint32 { if m != nil { return m.Accepted } return 0 } func (m *PeerState) GetAdvertised() uint32 { if m != nil { return m.Advertised } return 0 } 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 } 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 fileDescriptor0, []int{114} } 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"` } func (m *Message) Reset() { *m = Message{} } func (m *Message) String() string { return proto.CompactTextString(m) } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{115} } 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 } 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 fileDescriptor0, []int{116} } 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 fileDescriptor0, []int{117} } 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"` } func (m *TimersConfig) Reset() { *m = TimersConfig{} } func (m *TimersConfig) String() string { return proto.CompactTextString(m) } func (*TimersConfig) ProtoMessage() {} func (*TimersConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{118} } 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 } 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 uint64 `protobuf:"varint,6,opt,name=uptime" json:"uptime,omitempty"` Downtime uint64 `protobuf:"varint,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 fileDescriptor0, []int{119} } 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() uint64 { if m != nil { return m.Uptime } return 0 } func (m *TimersState) GetDowntime() uint64 { if m != nil { return m.Downtime } return 0 } 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"` } func (m *Transport) Reset() { *m = Transport{} } func (m *Transport) String() string { return proto.CompactTextString(m) } func (*Transport) ProtoMessage() {} func (*Transport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{120} } 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 } type RouteServer struct { RouteServerClient bool `protobuf:"varint,1,opt,name=route_server_client,json=routeServerClient" json:"route_server_client,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 fileDescriptor0, []int{121} } func (m *RouteServer) GetRouteServerClient() bool { if m != nil { return m.RouteServerClient } 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 fileDescriptor0, []int{122} } 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 fileDescriptor0, []int{123} } 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 fileDescriptor0, []int{124} } 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 fileDescriptor0, []int{125} } 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 uint32 `protobuf:"varint,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 fileDescriptor0, []int{126} } func (m *AfiSafiConfig) GetFamily() uint32 { if m != nil { return m.Family } return 0 } func (m *AfiSafiConfig) GetEnabled() bool { if m != nil { return m.Enabled } return false } type AfiSafiState struct { Family uint32 `protobuf:"varint,1,opt,name=family" json:"family,omitempty"` Enabled bool `protobuf:"varint,2,opt,name=enabled" json:"enabled,omitempty"` TotalPaths uint32 `protobuf:"varint,3,opt,name=total_paths,json=totalPaths" json:"total_paths,omitempty"` TotalPrefixes uint32 `protobuf:"varint,4,opt,name=total_prefixes,json=totalPrefixes" json:"total_prefixes,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 fileDescriptor0, []int{127} } func (m *AfiSafiState) GetFamily() uint32 { if m != nil { return m.Family } return 0 } func (m *AfiSafiState) GetEnabled() bool { if m != nil { return m.Enabled } return false } func (m *AfiSafiState) GetTotalPaths() uint32 { if m != nil { return m.TotalPaths } return 0 } func (m *AfiSafiState) GetTotalPrefixes() uint32 { if m != nil { return m.TotalPrefixes } 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 fileDescriptor0, []int{128} } 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 fileDescriptor0, []int{129} } 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 fileDescriptor0, []int{130} } 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 fileDescriptor0, []int{131} } 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 fileDescriptor0, []int{132} } 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 fileDescriptor0, []int{133} } 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 fileDescriptor0, []int{134} } 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 fileDescriptor0, []int{135} } 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 fileDescriptor0, []int{136} } 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 fileDescriptor0, []int{137} } 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 fileDescriptor0, []int{138} } 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 fileDescriptor0, []int{139} } 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 fileDescriptor0, []int{140} } 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 fileDescriptor0, []int{141} } 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 fileDescriptor0, []int{142} } 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 fileDescriptor0, []int{143} } 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 fileDescriptor0, []int{144} } 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 fileDescriptor0, []int{145} } 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"` ApplyPolicy *ApplyPolicy `protobuf:"bytes,3,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,4,opt,name=route_selection_options,json=routeSelectionOptions" json:"route_selection_options,omitempty"` UseMultiplePaths *UseMultiplePaths `protobuf:"bytes,5,opt,name=use_multiple_paths,json=useMultiplePaths" json:"use_multiple_paths,omitempty"` PrefixLimits *PrefixLimit `protobuf:"bytes,6,opt,name=prefix_limits,json=prefixLimits" json:"prefix_limits,omitempty"` RouteTargetMembership *RouteTargetMembership `protobuf:"bytes,7,opt,name=route_target_membership,json=routeTargetMembership" json:"route_target_membership,omitempty"` LongLivedGracefulRestart *LongLivedGracefulRestart `protobuf:"bytes,8,opt,name=long_lived_graceful_restart,json=longLivedGracefulRestart" json:"long_lived_graceful_restart,omitempty"` AddPaths *AddPaths `protobuf:"bytes,9,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 fileDescriptor0, []int{146} } 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) 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 fileDescriptor0, []int{147} } 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 fileDescriptor0, []int{148} } 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 fileDescriptor0, []int{149} } 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 fileDescriptor0, []int{150} } 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 { Type DefinedType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.DefinedType" json:"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 fileDescriptor0, []int{151} } func (m *DefinedSet) GetType() DefinedType { if m != nil { return m.Type } 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 { Type MatchType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.MatchType" json:"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 fileDescriptor0, []int{152} } func (m *MatchSet) GetType() MatchType { if m != nil { return m.Type } return MatchType_ANY } func (m *MatchSet) GetName() string { if m != nil { return m.Name } return "" } type AsPathLength struct { Type AsPathLengthType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.AsPathLengthType" json:"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 fileDescriptor0, []int{153} } func (m *AsPathLength) GetType() AsPathLengthType { if m != nil { return m.Type } 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"` } func (m *Conditions) Reset() { *m = Conditions{} } func (m *Conditions) String() string { return proto.CompactTextString(m) } func (*Conditions) ProtoMessage() {} func (*Conditions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{154} } 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 } type CommunityAction struct { Type CommunityActionType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.CommunityActionType" json:"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 fileDescriptor0, []int{155} } func (m *CommunityAction) GetType() CommunityActionType { if m != nil { return m.Type } return CommunityActionType_COMMUNITY_ADD } func (m *CommunityAction) GetCommunities() []string { if m != nil { return m.Communities } return nil } type MedAction struct { Type MedActionType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.MedActionType" json:"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 fileDescriptor0, []int{156} } func (m *MedAction) GetType() MedActionType { if m != nil { return m.Type } 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 fileDescriptor0, []int{157} } 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 fileDescriptor0, []int{158} } 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 fileDescriptor0, []int{159} } 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 fileDescriptor0, []int{160} } 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 fileDescriptor0, []int{161} } 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 fileDescriptor0, []int{162} } 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 { Type PolicyType `protobuf:"varint,1,opt,name=type,enum=gobgpapi.PolicyType" json:"type,omitempty"` Resource Resource `protobuf:"varint,2,opt,name=resource,enum=gobgpapi.Resource" json:"resource,omitempty"` Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` Policies []*Policy `protobuf:"bytes,4,rep,name=policies" json:"policies,omitempty"` Default RouteAction `protobuf:"varint,5,opt,name=default,enum=gobgpapi.RouteAction" json:"default,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 fileDescriptor0, []int{163} } func (m *PolicyAssignment) GetType() PolicyType { if m != nil { return m.Type } return PolicyType_IN } func (m *PolicyAssignment) GetResource() Resource { if m != nil { return m.Resource } return Resource_GLOBAL } func (m *PolicyAssignment) GetName() string { if m != nil { return m.Name } return "" } func (m *PolicyAssignment) GetPolicies() []*Policy { if m != nil { return m.Policies } return nil } func (m *PolicyAssignment) GetDefault() RouteAction { if m != nil { return m.Default } return RouteAction_NONE } 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 fileDescriptor0, []int{164} } 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 GetRoaRequest struct { Family uint32 `protobuf:"varint,1,opt,name=family" json:"family,omitempty"` } func (m *GetRoaRequest) Reset() { *m = GetRoaRequest{} } func (m *GetRoaRequest) String() string { return proto.CompactTextString(m) } func (*GetRoaRequest) ProtoMessage() {} func (*GetRoaRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{165} } func (m *GetRoaRequest) GetFamily() uint32 { if m != nil { return m.Family } return 0 } type GetRoaResponse struct { Roas []*Roa `protobuf:"bytes,1,rep,name=roas" json:"roas,omitempty"` } func (m *GetRoaResponse) Reset() { *m = GetRoaResponse{} } func (m *GetRoaResponse) String() string { return proto.CompactTextString(m) } func (*GetRoaResponse) ProtoMessage() {} func (*GetRoaResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{166} } func (m *GetRoaResponse) GetRoas() []*Roa { if m != nil { return m.Roas } return nil } type Vrf struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` Rd []byte `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"` ImportRt [][]byte `protobuf:"bytes,3,rep,name=import_rt,json=importRt,proto3" json:"import_rt,omitempty"` ExportRt [][]byte `protobuf:"bytes,4,rep,name=export_rt,json=exportRt,proto3" 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 fileDescriptor0, []int{167} } func (m *Vrf) GetName() string { if m != nil { return m.Name } return "" } func (m *Vrf) GetRd() []byte { if m != nil { return m.Rd } return nil } func (m *Vrf) GetImportRt() [][]byte { if m != nil { return m.ImportRt } return nil } func (m *Vrf) GetExportRt() [][]byte { 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 fileDescriptor0, []int{168} } 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 fileDescriptor0, []int{169} } 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 fileDescriptor0, []int{170} } 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 TableInfo struct { Type Resource `protobuf:"varint,1,opt,name=type,enum=gobgpapi.Resource" json:"type,omitempty"` Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` Family uint32 `protobuf:"varint,3,opt,name=family" json:"family,omitempty"` NumDestination uint64 `protobuf:"varint,4,opt,name=num_destination,json=numDestination" json:"num_destination,omitempty"` NumPath uint64 `protobuf:"varint,5,opt,name=num_path,json=numPath" json:"num_path,omitempty"` NumAccepted uint64 `protobuf:"varint,6,opt,name=num_accepted,json=numAccepted" json:"num_accepted,omitempty"` } func (m *TableInfo) Reset() { *m = TableInfo{} } func (m *TableInfo) String() string { return proto.CompactTextString(m) } func (*TableInfo) ProtoMessage() {} func (*TableInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{171} } func (m *TableInfo) GetType() Resource { if m != nil { return m.Type } return Resource_GLOBAL } func (m *TableInfo) GetName() string { if m != nil { return m.Name } return "" } func (m *TableInfo) GetFamily() uint32 { if m != nil { return m.Family } return 0 } func (m *TableInfo) GetNumDestination() uint64 { if m != nil { return m.NumDestination } return 0 } func (m *TableInfo) GetNumPath() uint64 { if m != nil { return m.NumPath } return 0 } func (m *TableInfo) GetNumAccepted() uint64 { if m != nil { return m.NumAccepted } return 0 } type GetRibInfoRequest struct { Info *TableInfo `protobuf:"bytes,1,opt,name=info" json:"info,omitempty"` } func (m *GetRibInfoRequest) Reset() { *m = GetRibInfoRequest{} } func (m *GetRibInfoRequest) String() string { return proto.CompactTextString(m) } func (*GetRibInfoRequest) ProtoMessage() {} func (*GetRibInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{172} } func (m *GetRibInfoRequest) GetInfo() *TableInfo { if m != nil { return m.Info } return nil } type GetRibInfoResponse struct { Info *TableInfo `protobuf:"bytes,1,opt,name=info" json:"info,omitempty"` } func (m *GetRibInfoResponse) Reset() { *m = GetRibInfoResponse{} } func (m *GetRibInfoResponse) String() string { return proto.CompactTextString(m) } func (*GetRibInfoResponse) ProtoMessage() {} func (*GetRibInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{173} } func (m *GetRibInfoResponse) GetInfo() *TableInfo { if m != nil { return m.Info } return nil } func init() { proto.RegisterType((*GetNeighborRequest)(nil), "gobgpapi.GetNeighborRequest") proto.RegisterType((*GetNeighborResponse)(nil), "gobgpapi.GetNeighborResponse") proto.RegisterType((*Arguments)(nil), "gobgpapi.Arguments") proto.RegisterType((*AddPathRequest)(nil), "gobgpapi.AddPathRequest") proto.RegisterType((*AddPathResponse)(nil), "gobgpapi.AddPathResponse") proto.RegisterType((*DeletePathRequest)(nil), "gobgpapi.DeletePathRequest") proto.RegisterType((*DeletePathResponse)(nil), "gobgpapi.DeletePathResponse") proto.RegisterType((*AddNeighborRequest)(nil), "gobgpapi.AddNeighborRequest") proto.RegisterType((*AddNeighborResponse)(nil), "gobgpapi.AddNeighborResponse") proto.RegisterType((*DeleteNeighborRequest)(nil), "gobgpapi.DeleteNeighborRequest") proto.RegisterType((*DeleteNeighborResponse)(nil), "gobgpapi.DeleteNeighborResponse") proto.RegisterType((*UpdateNeighborRequest)(nil), "gobgpapi.UpdateNeighborRequest") proto.RegisterType((*UpdateNeighborResponse)(nil), "gobgpapi.UpdateNeighborResponse") proto.RegisterType((*ResetNeighborRequest)(nil), "gobgpapi.ResetNeighborRequest") proto.RegisterType((*ResetNeighborResponse)(nil), "gobgpapi.ResetNeighborResponse") proto.RegisterType((*SoftResetNeighborRequest)(nil), "gobgpapi.SoftResetNeighborRequest") proto.RegisterType((*SoftResetNeighborResponse)(nil), "gobgpapi.SoftResetNeighborResponse") proto.RegisterType((*ShutdownNeighborRequest)(nil), "gobgpapi.ShutdownNeighborRequest") proto.RegisterType((*ShutdownNeighborResponse)(nil), "gobgpapi.ShutdownNeighborResponse") proto.RegisterType((*EnableNeighborRequest)(nil), "gobgpapi.EnableNeighborRequest") proto.RegisterType((*EnableNeighborResponse)(nil), "gobgpapi.EnableNeighborResponse") proto.RegisterType((*DisableNeighborRequest)(nil), "gobgpapi.DisableNeighborRequest") proto.RegisterType((*DisableNeighborResponse)(nil), "gobgpapi.DisableNeighborResponse") proto.RegisterType((*EnableMrtRequest)(nil), "gobgpapi.EnableMrtRequest") proto.RegisterType((*EnableMrtResponse)(nil), "gobgpapi.EnableMrtResponse") proto.RegisterType((*DisableMrtRequest)(nil), "gobgpapi.DisableMrtRequest") proto.RegisterType((*DisableMrtResponse)(nil), "gobgpapi.DisableMrtResponse") proto.RegisterType((*InjectMrtRequest)(nil), "gobgpapi.InjectMrtRequest") proto.RegisterType((*InjectMrtResponse)(nil), "gobgpapi.InjectMrtResponse") proto.RegisterType((*AddBmpRequest)(nil), "gobgpapi.AddBmpRequest") proto.RegisterType((*AddBmpResponse)(nil), "gobgpapi.AddBmpResponse") proto.RegisterType((*DeleteBmpRequest)(nil), "gobgpapi.DeleteBmpRequest") proto.RegisterType((*DeleteBmpResponse)(nil), "gobgpapi.DeleteBmpResponse") proto.RegisterType((*MonitorRibRequest)(nil), "gobgpapi.MonitorRibRequest") proto.RegisterType((*RPKIConf)(nil), "gobgpapi.RPKIConf") proto.RegisterType((*RPKIState)(nil), "gobgpapi.RPKIState") proto.RegisterType((*Rpki)(nil), "gobgpapi.Rpki") proto.RegisterType((*GetRpkiRequest)(nil), "gobgpapi.GetRpkiRequest") proto.RegisterType((*GetRpkiResponse)(nil), "gobgpapi.GetRpkiResponse") proto.RegisterType((*AddRpkiRequest)(nil), "gobgpapi.AddRpkiRequest") proto.RegisterType((*AddRpkiResponse)(nil), "gobgpapi.AddRpkiResponse") proto.RegisterType((*DeleteRpkiRequest)(nil), "gobgpapi.DeleteRpkiRequest") proto.RegisterType((*DeleteRpkiResponse)(nil), "gobgpapi.DeleteRpkiResponse") proto.RegisterType((*EnableRpkiRequest)(nil), "gobgpapi.EnableRpkiRequest") proto.RegisterType((*EnableRpkiResponse)(nil), "gobgpapi.EnableRpkiResponse") proto.RegisterType((*DisableRpkiRequest)(nil), "gobgpapi.DisableRpkiRequest") proto.RegisterType((*DisableRpkiResponse)(nil), "gobgpapi.DisableRpkiResponse") proto.RegisterType((*ResetRpkiRequest)(nil), "gobgpapi.ResetRpkiRequest") proto.RegisterType((*ResetRpkiResponse)(nil), "gobgpapi.ResetRpkiResponse") proto.RegisterType((*SoftResetRpkiRequest)(nil), "gobgpapi.SoftResetRpkiRequest") proto.RegisterType((*SoftResetRpkiResponse)(nil), "gobgpapi.SoftResetRpkiResponse") proto.RegisterType((*EnableZebraRequest)(nil), "gobgpapi.EnableZebraRequest") proto.RegisterType((*EnableZebraResponse)(nil), "gobgpapi.EnableZebraResponse") proto.RegisterType((*GetVrfRequest)(nil), "gobgpapi.GetVrfRequest") proto.RegisterType((*GetVrfResponse)(nil), "gobgpapi.GetVrfResponse") proto.RegisterType((*AddVrfRequest)(nil), "gobgpapi.AddVrfRequest") proto.RegisterType((*AddVrfResponse)(nil), "gobgpapi.AddVrfResponse") proto.RegisterType((*DeleteVrfRequest)(nil), "gobgpapi.DeleteVrfRequest") proto.RegisterType((*DeleteVrfResponse)(nil), "gobgpapi.DeleteVrfResponse") proto.RegisterType((*GetDefinedSetRequest)(nil), "gobgpapi.GetDefinedSetRequest") proto.RegisterType((*GetDefinedSetResponse)(nil), "gobgpapi.GetDefinedSetResponse") proto.RegisterType((*AddDefinedSetRequest)(nil), "gobgpapi.AddDefinedSetRequest") proto.RegisterType((*AddDefinedSetResponse)(nil), "gobgpapi.AddDefinedSetResponse") proto.RegisterType((*DeleteDefinedSetRequest)(nil), "gobgpapi.DeleteDefinedSetRequest") proto.RegisterType((*DeleteDefinedSetResponse)(nil), "gobgpapi.DeleteDefinedSetResponse") proto.RegisterType((*ReplaceDefinedSetRequest)(nil), "gobgpapi.ReplaceDefinedSetRequest") proto.RegisterType((*ReplaceDefinedSetResponse)(nil), "gobgpapi.ReplaceDefinedSetResponse") proto.RegisterType((*GetStatementRequest)(nil), "gobgpapi.GetStatementRequest") proto.RegisterType((*GetStatementResponse)(nil), "gobgpapi.GetStatementResponse") proto.RegisterType((*AddStatementRequest)(nil), "gobgpapi.AddStatementRequest") proto.RegisterType((*AddStatementResponse)(nil), "gobgpapi.AddStatementResponse") proto.RegisterType((*DeleteStatementRequest)(nil), "gobgpapi.DeleteStatementRequest") proto.RegisterType((*DeleteStatementResponse)(nil), "gobgpapi.DeleteStatementResponse") proto.RegisterType((*ReplaceStatementRequest)(nil), "gobgpapi.ReplaceStatementRequest") proto.RegisterType((*ReplaceStatementResponse)(nil), "gobgpapi.ReplaceStatementResponse") proto.RegisterType((*GetPolicyRequest)(nil), "gobgpapi.GetPolicyRequest") proto.RegisterType((*GetPolicyResponse)(nil), "gobgpapi.GetPolicyResponse") proto.RegisterType((*AddPolicyRequest)(nil), "gobgpapi.AddPolicyRequest") proto.RegisterType((*AddPolicyResponse)(nil), "gobgpapi.AddPolicyResponse") proto.RegisterType((*DeletePolicyRequest)(nil), "gobgpapi.DeletePolicyRequest") proto.RegisterType((*DeletePolicyResponse)(nil), "gobgpapi.DeletePolicyResponse") proto.RegisterType((*ReplacePolicyRequest)(nil), "gobgpapi.ReplacePolicyRequest") proto.RegisterType((*ReplacePolicyResponse)(nil), "gobgpapi.ReplacePolicyResponse") proto.RegisterType((*GetPolicyAssignmentRequest)(nil), "gobgpapi.GetPolicyAssignmentRequest") proto.RegisterType((*GetPolicyAssignmentResponse)(nil), "gobgpapi.GetPolicyAssignmentResponse") proto.RegisterType((*AddPolicyAssignmentRequest)(nil), "gobgpapi.AddPolicyAssignmentRequest") proto.RegisterType((*AddPolicyAssignmentResponse)(nil), "gobgpapi.AddPolicyAssignmentResponse") proto.RegisterType((*DeletePolicyAssignmentRequest)(nil), "gobgpapi.DeletePolicyAssignmentRequest") proto.RegisterType((*DeletePolicyAssignmentResponse)(nil), "gobgpapi.DeletePolicyAssignmentResponse") proto.RegisterType((*ReplacePolicyAssignmentRequest)(nil), "gobgpapi.ReplacePolicyAssignmentRequest") proto.RegisterType((*ReplacePolicyAssignmentResponse)(nil), "gobgpapi.ReplacePolicyAssignmentResponse") proto.RegisterType((*GetServerRequest)(nil), "gobgpapi.GetServerRequest") proto.RegisterType((*GetServerResponse)(nil), "gobgpapi.GetServerResponse") proto.RegisterType((*StartServerRequest)(nil), "gobgpapi.StartServerRequest") proto.RegisterType((*StartServerResponse)(nil), "gobgpapi.StartServerResponse") proto.RegisterType((*StopServerRequest)(nil), "gobgpapi.StopServerRequest") proto.RegisterType((*StopServerResponse)(nil), "gobgpapi.StopServerResponse") proto.RegisterType((*RPKIValidation)(nil), "gobgpapi.RPKIValidation") proto.RegisterType((*Path)(nil), "gobgpapi.Path") proto.RegisterType((*Destination)(nil), "gobgpapi.Destination") proto.RegisterType((*Table)(nil), "gobgpapi.Table") proto.RegisterType((*GetRibRequest)(nil), "gobgpapi.GetRibRequest") proto.RegisterType((*GetRibResponse)(nil), "gobgpapi.GetRibResponse") proto.RegisterType((*TableLookupPrefix)(nil), "gobgpapi.TableLookupPrefix") proto.RegisterType((*GetPathRequest)(nil), "gobgpapi.GetPathRequest") proto.RegisterType((*ValidateRibRequest)(nil), "gobgpapi.ValidateRibRequest") proto.RegisterType((*ValidateRibResponse)(nil), "gobgpapi.ValidateRibResponse") proto.RegisterType((*Peer)(nil), "gobgpapi.Peer") proto.RegisterType((*ApplyPolicy)(nil), "gobgpapi.ApplyPolicy") proto.RegisterType((*PrefixLimit)(nil), "gobgpapi.PrefixLimit") proto.RegisterType((*PeerConf)(nil), "gobgpapi.PeerConf") 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((*Roa)(nil), "gobgpapi.Roa") proto.RegisterType((*GetRoaRequest)(nil), "gobgpapi.GetRoaRequest") proto.RegisterType((*GetRoaResponse)(nil), "gobgpapi.GetRoaResponse") 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((*TableInfo)(nil), "gobgpapi.TableInfo") proto.RegisterType((*GetRibInfoRequest)(nil), "gobgpapi.GetRibInfoRequest") proto.RegisterType((*GetRibInfoResponse)(nil), "gobgpapi.GetRibInfoResponse") proto.RegisterEnum("gobgpapi.Family", Family_name, Family_value) proto.RegisterEnum("gobgpapi.Resource", Resource_name, Resource_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.PolicyType", PolicyType_name, PolicyType_value) proto.RegisterEnum("gobgpapi.SoftResetNeighborRequest_SoftResetDirection", SoftResetNeighborRequest_SoftResetDirection_name, SoftResetNeighborRequest_SoftResetDirection_value) proto.RegisterEnum("gobgpapi.AddBmpRequest_MonitoringPolicy", AddBmpRequest_MonitoringPolicy_name, AddBmpRequest_MonitoringPolicy_value) proto.RegisterEnum("gobgpapi.RPKIValidation_State", RPKIValidation_State_name, RPKIValidation_State_value) proto.RegisterEnum("gobgpapi.RPKIValidation_Reason", RPKIValidation_Reason_name, RPKIValidation_Reason_value) proto.RegisterEnum("gobgpapi.PeerConf_RemovePrivateAs", PeerConf_RemovePrivateAs_name, PeerConf_RemovePrivateAs_value) proto.RegisterEnum("gobgpapi.PeerState_AdminState", PeerState_AdminState_name, PeerState_AdminState_value) proto.RegisterEnum("gobgpapi.Conditions_RouteType", Conditions_RouteType_name, Conditions_RouteType_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 { StartServer(ctx context.Context, in *StartServerRequest, opts ...grpc.CallOption) (*StartServerResponse, error) StopServer(ctx context.Context, in *StopServerRequest, opts ...grpc.CallOption) (*StopServerResponse, error) GetServer(ctx context.Context, in *GetServerRequest, opts ...grpc.CallOption) (*GetServerResponse, error) AddNeighbor(ctx context.Context, in *AddNeighborRequest, opts ...grpc.CallOption) (*AddNeighborResponse, error) DeleteNeighbor(ctx context.Context, in *DeleteNeighborRequest, opts ...grpc.CallOption) (*DeleteNeighborResponse, error) UpdateNeighbor(ctx context.Context, in *UpdateNeighborRequest, opts ...grpc.CallOption) (*UpdateNeighborResponse, error) GetNeighbor(ctx context.Context, in *GetNeighborRequest, opts ...grpc.CallOption) (*GetNeighborResponse, error) ResetNeighbor(ctx context.Context, in *ResetNeighborRequest, opts ...grpc.CallOption) (*ResetNeighborResponse, error) SoftResetNeighbor(ctx context.Context, in *SoftResetNeighborRequest, opts ...grpc.CallOption) (*SoftResetNeighborResponse, error) ShutdownNeighbor(ctx context.Context, in *ShutdownNeighborRequest, opts ...grpc.CallOption) (*ShutdownNeighborResponse, error) EnableNeighbor(ctx context.Context, in *EnableNeighborRequest, opts ...grpc.CallOption) (*EnableNeighborResponse, error) DisableNeighbor(ctx context.Context, in *DisableNeighborRequest, opts ...grpc.CallOption) (*DisableNeighborResponse, error) GetRib(ctx context.Context, in *GetRibRequest, opts ...grpc.CallOption) (*GetRibResponse, error) GetPath(ctx context.Context, in *GetPathRequest, opts ...grpc.CallOption) (GobgpApi_GetPathClient, error) ValidateRib(ctx context.Context, in *ValidateRibRequest, opts ...grpc.CallOption) (*ValidateRibResponse, error) AddPath(ctx context.Context, in *AddPathRequest, opts ...grpc.CallOption) (*AddPathResponse, error) DeletePath(ctx context.Context, in *DeletePathRequest, opts ...grpc.CallOption) (*DeletePathResponse, error) MonitorRib(ctx context.Context, in *MonitorRibRequest, opts ...grpc.CallOption) (GobgpApi_MonitorRibClient, error) MonitorPeerState(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorPeerStateClient, error) EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*EnableMrtResponse, error) DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*DisableMrtResponse, error) InjectMrt(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_InjectMrtClient, error) AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*AddBmpResponse, error) DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*DeleteBmpResponse, error) GetRpki(ctx context.Context, in *GetRpkiRequest, opts ...grpc.CallOption) (*GetRpkiResponse, error) AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*AddRpkiResponse, error) DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*DeleteRpkiResponse, error) EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*EnableRpkiResponse, error) DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*DisableRpkiResponse, error) ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*ResetRpkiResponse, error) SoftResetRpki(ctx context.Context, in *SoftResetRpkiRequest, opts ...grpc.CallOption) (*SoftResetRpkiResponse, error) GetRoa(ctx context.Context, in *GetRoaRequest, opts ...grpc.CallOption) (*GetRoaResponse, error) EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*EnableZebraResponse, error) AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*AddVrfResponse, error) DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*DeleteVrfResponse, error) GetVrf(ctx context.Context, in *GetVrfRequest, opts ...grpc.CallOption) (*GetVrfResponse, error) GetDefinedSet(ctx context.Context, in *GetDefinedSetRequest, opts ...grpc.CallOption) (*GetDefinedSetResponse, error) AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*AddDefinedSetResponse, error) DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*DeleteDefinedSetResponse, error) ReplaceDefinedSet(ctx context.Context, in *ReplaceDefinedSetRequest, opts ...grpc.CallOption) (*ReplaceDefinedSetResponse, error) GetStatement(ctx context.Context, in *GetStatementRequest, opts ...grpc.CallOption) (*GetStatementResponse, error) AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*AddStatementResponse, error) DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*DeleteStatementResponse, error) ReplaceStatement(ctx context.Context, in *ReplaceStatementRequest, opts ...grpc.CallOption) (*ReplaceStatementResponse, error) GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*AddPolicyResponse, error) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*DeletePolicyResponse, error) ReplacePolicy(ctx context.Context, in *ReplacePolicyRequest, opts ...grpc.CallOption) (*ReplacePolicyResponse, error) GetPolicyAssignment(ctx context.Context, in *GetPolicyAssignmentRequest, opts ...grpc.CallOption) (*GetPolicyAssignmentResponse, error) AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*AddPolicyAssignmentResponse, error) DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*DeletePolicyAssignmentResponse, error) ReplacePolicyAssignment(ctx context.Context, in *ReplacePolicyAssignmentRequest, opts ...grpc.CallOption) (*ReplacePolicyAssignmentResponse, error) GetRibInfo(ctx context.Context, in *GetRibInfoRequest, opts ...grpc.CallOption) (*GetRibInfoResponse, error) } type gobgpApiClient struct { cc *grpc.ClientConn } func NewGobgpApiClient(cc *grpc.ClientConn) GobgpApiClient { return &gobgpApiClient{cc} } func (c *gobgpApiClient) StartServer(ctx context.Context, in *StartServerRequest, opts ...grpc.CallOption) (*StartServerResponse, error) { out := new(StartServerResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/StartServer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) StopServer(ctx context.Context, in *StopServerRequest, opts ...grpc.CallOption) (*StopServerResponse, error) { out := new(StopServerResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/StopServer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetServer(ctx context.Context, in *GetServerRequest, opts ...grpc.CallOption) (*GetServerResponse, error) { out := new(GetServerResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetServer", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddNeighbor(ctx context.Context, in *AddNeighborRequest, opts ...grpc.CallOption) (*AddNeighborResponse, error) { out := new(AddNeighborResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteNeighbor(ctx context.Context, in *DeleteNeighborRequest, opts ...grpc.CallOption) (*DeleteNeighborResponse, error) { out := new(DeleteNeighborResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) UpdateNeighbor(ctx context.Context, in *UpdateNeighborRequest, opts ...grpc.CallOption) (*UpdateNeighborResponse, error) { out := new(UpdateNeighborResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/UpdateNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetNeighbor(ctx context.Context, in *GetNeighborRequest, opts ...grpc.CallOption) (*GetNeighborResponse, error) { out := new(GetNeighborResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ResetNeighbor(ctx context.Context, in *ResetNeighborRequest, opts ...grpc.CallOption) (*ResetNeighborResponse, error) { out := new(ResetNeighborResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) SoftResetNeighbor(ctx context.Context, in *SoftResetNeighborRequest, opts ...grpc.CallOption) (*SoftResetNeighborResponse, error) { out := new(SoftResetNeighborResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SoftResetNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ShutdownNeighbor(ctx context.Context, in *ShutdownNeighborRequest, opts ...grpc.CallOption) (*ShutdownNeighborResponse, error) { out := new(ShutdownNeighborResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ShutdownNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) EnableNeighbor(ctx context.Context, in *EnableNeighborRequest, opts ...grpc.CallOption) (*EnableNeighborResponse, error) { out := new(EnableNeighborResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DisableNeighbor(ctx context.Context, in *DisableNeighborRequest, opts ...grpc.CallOption) (*DisableNeighborResponse, error) { out := new(DisableNeighborResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableNeighbor", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetRib(ctx context.Context, in *GetRibRequest, opts ...grpc.CallOption) (*GetRibResponse, error) { out := new(GetRibResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRib", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetPath(ctx context.Context, in *GetPathRequest, opts ...grpc.CallOption) (GobgpApi_GetPathClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[0], c.cc, "/gobgpapi.GobgpApi/GetPath", opts...) if err != nil { return nil, err } x := &gobgpApiGetPathClient{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_GetPathClient interface { Recv() (*Path, error) grpc.ClientStream } type gobgpApiGetPathClient struct { grpc.ClientStream } func (x *gobgpApiGetPathClient) Recv() (*Path, error) { m := new(Path) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) ValidateRib(ctx context.Context, in *ValidateRibRequest, opts ...grpc.CallOption) (*ValidateRibResponse, error) { out := new(ValidateRibResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ValidateRib", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) 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) (*DeletePathResponse, error) { out := new(DeletePathResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePath", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) MonitorRib(ctx context.Context, in *MonitorRibRequest, opts ...grpc.CallOption) (GobgpApi_MonitorRibClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[1], c.cc, "/gobgpapi.GobgpApi/MonitorRib", opts...) if err != nil { return nil, err } x := &gobgpApiMonitorRibClient{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_MonitorRibClient interface { Recv() (*Destination, error) grpc.ClientStream } type gobgpApiMonitorRibClient struct { grpc.ClientStream } func (x *gobgpApiMonitorRibClient) Recv() (*Destination, error) { m := new(Destination) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) MonitorPeerState(ctx context.Context, in *Arguments, opts ...grpc.CallOption) (GobgpApi_MonitorPeerStateClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[2], c.cc, "/gobgpapi.GobgpApi/MonitorPeerState", opts...) if err != nil { return nil, err } x := &gobgpApiMonitorPeerStateClient{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_MonitorPeerStateClient interface { Recv() (*Peer, error) grpc.ClientStream } type gobgpApiMonitorPeerStateClient struct { grpc.ClientStream } func (x *gobgpApiMonitorPeerStateClient) Recv() (*Peer, error) { m := new(Peer) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) EnableMrt(ctx context.Context, in *EnableMrtRequest, opts ...grpc.CallOption) (*EnableMrtResponse, error) { out := new(EnableMrtResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableMrt", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DisableMrt(ctx context.Context, in *DisableMrtRequest, opts ...grpc.CallOption) (*DisableMrtResponse, error) { out := new(DisableMrtResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableMrt", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) InjectMrt(ctx context.Context, opts ...grpc.CallOption) (GobgpApi_InjectMrtClient, error) { stream, err := grpc.NewClientStream(ctx, &_GobgpApi_serviceDesc.Streams[3], c.cc, "/gobgpapi.GobgpApi/InjectMrt", opts...) if err != nil { return nil, err } x := &gobgpApiInjectMrtClient{stream} return x, nil } type GobgpApi_InjectMrtClient interface { Send(*InjectMrtRequest) error CloseAndRecv() (*InjectMrtResponse, error) grpc.ClientStream } type gobgpApiInjectMrtClient struct { grpc.ClientStream } func (x *gobgpApiInjectMrtClient) Send(m *InjectMrtRequest) error { return x.ClientStream.SendMsg(m) } func (x *gobgpApiInjectMrtClient) CloseAndRecv() (*InjectMrtResponse, error) { if err := x.ClientStream.CloseSend(); err != nil { return nil, err } m := new(InjectMrtResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func (c *gobgpApiClient) AddBmp(ctx context.Context, in *AddBmpRequest, opts ...grpc.CallOption) (*AddBmpResponse, error) { out := new(AddBmpResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddBmp", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteBmp(ctx context.Context, in *DeleteBmpRequest, opts ...grpc.CallOption) (*DeleteBmpResponse, error) { out := new(DeleteBmpResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteBmp", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetRpki(ctx context.Context, in *GetRpkiRequest, opts ...grpc.CallOption) (*GetRpkiResponse, error) { out := new(GetRpkiResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddRpki(ctx context.Context, in *AddRpkiRequest, opts ...grpc.CallOption) (*AddRpkiResponse, error) { out := new(AddRpkiResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteRpki(ctx context.Context, in *DeleteRpkiRequest, opts ...grpc.CallOption) (*DeleteRpkiResponse, error) { out := new(DeleteRpkiResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) EnableRpki(ctx context.Context, in *EnableRpkiRequest, opts ...grpc.CallOption) (*EnableRpkiResponse, error) { out := new(EnableRpkiResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DisableRpki(ctx context.Context, in *DisableRpkiRequest, opts ...grpc.CallOption) (*DisableRpkiResponse, error) { out := new(DisableRpkiResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DisableRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ResetRpki(ctx context.Context, in *ResetRpkiRequest, opts ...grpc.CallOption) (*ResetRpkiResponse, error) { out := new(ResetRpkiResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ResetRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) SoftResetRpki(ctx context.Context, in *SoftResetRpkiRequest, opts ...grpc.CallOption) (*SoftResetRpkiResponse, error) { out := new(SoftResetRpkiResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/SoftResetRpki", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetRoa(ctx context.Context, in *GetRoaRequest, opts ...grpc.CallOption) (*GetRoaResponse, error) { out := new(GetRoaResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRoa", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) EnableZebra(ctx context.Context, in *EnableZebraRequest, opts ...grpc.CallOption) (*EnableZebraResponse, error) { out := new(EnableZebraResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/EnableZebra", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddVrf(ctx context.Context, in *AddVrfRequest, opts ...grpc.CallOption) (*AddVrfResponse, error) { out := new(AddVrfResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddVrf", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteVrf(ctx context.Context, in *DeleteVrfRequest, opts ...grpc.CallOption) (*DeleteVrfResponse, error) { out := new(DeleteVrfResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteVrf", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetVrf(ctx context.Context, in *GetVrfRequest, opts ...grpc.CallOption) (*GetVrfResponse, error) { out := new(GetVrfResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetVrf", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetDefinedSet(ctx context.Context, in *GetDefinedSetRequest, opts ...grpc.CallOption) (*GetDefinedSetResponse, error) { out := new(GetDefinedSetResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetDefinedSet", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddDefinedSet(ctx context.Context, in *AddDefinedSetRequest, opts ...grpc.CallOption) (*AddDefinedSetResponse, error) { out := new(AddDefinedSetResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddDefinedSet", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteDefinedSet(ctx context.Context, in *DeleteDefinedSetRequest, opts ...grpc.CallOption) (*DeleteDefinedSetResponse, error) { out := new(DeleteDefinedSetResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteDefinedSet", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ReplaceDefinedSet(ctx context.Context, in *ReplaceDefinedSetRequest, opts ...grpc.CallOption) (*ReplaceDefinedSetResponse, error) { out := new(ReplaceDefinedSetResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplaceDefinedSet", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetStatement(ctx context.Context, in *GetStatementRequest, opts ...grpc.CallOption) (*GetStatementResponse, error) { out := new(GetStatementResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetStatement", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddStatement(ctx context.Context, in *AddStatementRequest, opts ...grpc.CallOption) (*AddStatementResponse, error) { out := new(AddStatementResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddStatement", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeleteStatement(ctx context.Context, in *DeleteStatementRequest, opts ...grpc.CallOption) (*DeleteStatementResponse, error) { out := new(DeleteStatementResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeleteStatement", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ReplaceStatement(ctx context.Context, in *ReplaceStatementRequest, opts ...grpc.CallOption) (*ReplaceStatementResponse, error) { out := new(ReplaceStatementResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplaceStatement", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) { out := new(GetPolicyResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetPolicy", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddPolicy(ctx context.Context, in *AddPolicyRequest, opts ...grpc.CallOption) (*AddPolicyResponse, error) { out := new(AddPolicyResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicy", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*DeletePolicyResponse, error) { out := new(DeletePolicyResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicy", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ReplacePolicy(ctx context.Context, in *ReplacePolicyRequest, opts ...grpc.CallOption) (*ReplacePolicyResponse, error) { out := new(ReplacePolicyResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplacePolicy", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetPolicyAssignment(ctx context.Context, in *GetPolicyAssignmentRequest, opts ...grpc.CallOption) (*GetPolicyAssignmentResponse, error) { out := new(GetPolicyAssignmentResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetPolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) AddPolicyAssignment(ctx context.Context, in *AddPolicyAssignmentRequest, opts ...grpc.CallOption) (*AddPolicyAssignmentResponse, error) { out := new(AddPolicyAssignmentResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/AddPolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) DeletePolicyAssignment(ctx context.Context, in *DeletePolicyAssignmentRequest, opts ...grpc.CallOption) (*DeletePolicyAssignmentResponse, error) { out := new(DeletePolicyAssignmentResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/DeletePolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) ReplacePolicyAssignment(ctx context.Context, in *ReplacePolicyAssignmentRequest, opts ...grpc.CallOption) (*ReplacePolicyAssignmentResponse, error) { out := new(ReplacePolicyAssignmentResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/ReplacePolicyAssignment", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *gobgpApiClient) GetRibInfo(ctx context.Context, in *GetRibInfoRequest, opts ...grpc.CallOption) (*GetRibInfoResponse, error) { out := new(GetRibInfoResponse) err := grpc.Invoke(ctx, "/gobgpapi.GobgpApi/GetRibInfo", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } // Server API for GobgpApi service type GobgpApiServer interface { StartServer(context.Context, *StartServerRequest) (*StartServerResponse, error) StopServer(context.Context, *StopServerRequest) (*StopServerResponse, error) GetServer(context.Context, *GetServerRequest) (*GetServerResponse, error) AddNeighbor(context.Context, *AddNeighborRequest) (*AddNeighborResponse, error) DeleteNeighbor(context.Context, *DeleteNeighborRequest) (*DeleteNeighborResponse, error) UpdateNeighbor(context.Context, *UpdateNeighborRequest) (*UpdateNeighborResponse, error) GetNeighbor(context.Context, *GetNeighborRequest) (*GetNeighborResponse, error) ResetNeighbor(context.Context, *ResetNeighborRequest) (*ResetNeighborResponse, error) SoftResetNeighbor(context.Context, *SoftResetNeighborRequest) (*SoftResetNeighborResponse, error) ShutdownNeighbor(context.Context, *ShutdownNeighborRequest) (*ShutdownNeighborResponse, error) EnableNeighbor(context.Context, *EnableNeighborRequest) (*EnableNeighborResponse, error) DisableNeighbor(context.Context, *DisableNeighborRequest) (*DisableNeighborResponse, error) GetRib(context.Context, *GetRibRequest) (*GetRibResponse, error) GetPath(*GetPathRequest, GobgpApi_GetPathServer) error ValidateRib(context.Context, *ValidateRibRequest) (*ValidateRibResponse, error) AddPath(context.Context, *AddPathRequest) (*AddPathResponse, error) DeletePath(context.Context, *DeletePathRequest) (*DeletePathResponse, error) MonitorRib(*MonitorRibRequest, GobgpApi_MonitorRibServer) error MonitorPeerState(*Arguments, GobgpApi_MonitorPeerStateServer) error EnableMrt(context.Context, *EnableMrtRequest) (*EnableMrtResponse, error) DisableMrt(context.Context, *DisableMrtRequest) (*DisableMrtResponse, error) InjectMrt(GobgpApi_InjectMrtServer) error AddBmp(context.Context, *AddBmpRequest) (*AddBmpResponse, error) DeleteBmp(context.Context, *DeleteBmpRequest) (*DeleteBmpResponse, error) GetRpki(context.Context, *GetRpkiRequest) (*GetRpkiResponse, error) AddRpki(context.Context, *AddRpkiRequest) (*AddRpkiResponse, error) DeleteRpki(context.Context, *DeleteRpkiRequest) (*DeleteRpkiResponse, error) EnableRpki(context.Context, *EnableRpkiRequest) (*EnableRpkiResponse, error) DisableRpki(context.Context, *DisableRpkiRequest) (*DisableRpkiResponse, error) ResetRpki(context.Context, *ResetRpkiRequest) (*ResetRpkiResponse, error) SoftResetRpki(context.Context, *SoftResetRpkiRequest) (*SoftResetRpkiResponse, error) GetRoa(context.Context, *GetRoaRequest) (*GetRoaResponse, error) EnableZebra(context.Context, *EnableZebraRequest) (*EnableZebraResponse, error) AddVrf(context.Context, *AddVrfRequest) (*AddVrfResponse, error) DeleteVrf(context.Context, *DeleteVrfRequest) (*DeleteVrfResponse, error) GetVrf(context.Context, *GetVrfRequest) (*GetVrfResponse, error) GetDefinedSet(context.Context, *GetDefinedSetRequest) (*GetDefinedSetResponse, error) AddDefinedSet(context.Context, *AddDefinedSetRequest) (*AddDefinedSetResponse, error) DeleteDefinedSet(context.Context, *DeleteDefinedSetRequest) (*DeleteDefinedSetResponse, error) ReplaceDefinedSet(context.Context, *ReplaceDefinedSetRequest) (*ReplaceDefinedSetResponse, error) GetStatement(context.Context, *GetStatementRequest) (*GetStatementResponse, error) AddStatement(context.Context, *AddStatementRequest) (*AddStatementResponse, error) DeleteStatement(context.Context, *DeleteStatementRequest) (*DeleteStatementResponse, error) ReplaceStatement(context.Context, *ReplaceStatementRequest) (*ReplaceStatementResponse, error) GetPolicy(context.Context, *GetPolicyRequest) (*GetPolicyResponse, error) AddPolicy(context.Context, *AddPolicyRequest) (*AddPolicyResponse, error) DeletePolicy(context.Context, *DeletePolicyRequest) (*DeletePolicyResponse, error) ReplacePolicy(context.Context, *ReplacePolicyRequest) (*ReplacePolicyResponse, error) GetPolicyAssignment(context.Context, *GetPolicyAssignmentRequest) (*GetPolicyAssignmentResponse, error) AddPolicyAssignment(context.Context, *AddPolicyAssignmentRequest) (*AddPolicyAssignmentResponse, error) DeletePolicyAssignment(context.Context, *DeletePolicyAssignmentRequest) (*DeletePolicyAssignmentResponse, error) ReplacePolicyAssignment(context.Context, *ReplacePolicyAssignmentRequest) (*ReplacePolicyAssignmentResponse, error) GetRibInfo(context.Context, *GetRibInfoRequest) (*GetRibInfoResponse, error) } func RegisterGobgpApiServer(s *grpc.Server, srv GobgpApiServer) { s.RegisterService(&_GobgpApi_serviceDesc, srv) } func _GobgpApi_StartServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(StartServerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).StartServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/StartServer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).StartServer(ctx, req.(*StartServerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_StopServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(StopServerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).StopServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/StopServer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).StopServer(ctx, req.(*StopServerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetServerRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetServer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetServer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetServer(ctx, req.(*GetServerRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_AddNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).AddNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/AddNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).AddNeighbor(ctx, req.(*AddNeighborRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_DeleteNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeleteNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).DeleteNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/DeleteNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).DeleteNeighbor(ctx, req.(*DeleteNeighborRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_UpdateNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).UpdateNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/UpdateNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).UpdateNeighbor(ctx, req.(*UpdateNeighborRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetNeighbor(ctx, req.(*GetNeighborRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_ResetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ResetNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).ResetNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/ResetNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).ResetNeighbor(ctx, req.(*ResetNeighborRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_SoftResetNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SoftResetNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).SoftResetNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/SoftResetNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).SoftResetNeighbor(ctx, req.(*SoftResetNeighborRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_ShutdownNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ShutdownNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).ShutdownNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/ShutdownNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).ShutdownNeighbor(ctx, req.(*ShutdownNeighborRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_EnableNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(EnableNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).EnableNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/EnableNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).EnableNeighbor(ctx, req.(*EnableNeighborRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_DisableNeighbor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DisableNeighborRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).DisableNeighbor(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/DisableNeighbor", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).DisableNeighbor(ctx, req.(*DisableNeighborRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetRib_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetRibRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetRib(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetRib", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetRib(ctx, req.(*GetRibRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetPath_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(GetPathRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).GetPath(m, &gobgpApiGetPathServer{stream}) } type GobgpApi_GetPathServer interface { Send(*Path) error grpc.ServerStream } type gobgpApiGetPathServer struct { grpc.ServerStream } func (x *gobgpApiGetPathServer) Send(m *Path) error { return x.ServerStream.SendMsg(m) } func _GobgpApi_ValidateRib_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ValidateRibRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).ValidateRib(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/ValidateRib", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).ValidateRib(ctx, req.(*ValidateRibRequest)) } 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_MonitorRib_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(MonitorRibRequest) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).MonitorRib(m, &gobgpApiMonitorRibServer{stream}) } type GobgpApi_MonitorRibServer interface { Send(*Destination) error grpc.ServerStream } type gobgpApiMonitorRibServer struct { grpc.ServerStream } func (x *gobgpApiMonitorRibServer) Send(m *Destination) error { return x.ServerStream.SendMsg(m) } func _GobgpApi_MonitorPeerState_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(Arguments) if err := stream.RecvMsg(m); err != nil { return err } return srv.(GobgpApiServer).MonitorPeerState(m, &gobgpApiMonitorPeerStateServer{stream}) } type GobgpApi_MonitorPeerStateServer interface { Send(*Peer) error grpc.ServerStream } type gobgpApiMonitorPeerStateServer struct { grpc.ServerStream } func (x *gobgpApiMonitorPeerStateServer) Send(m *Peer) error { return x.ServerStream.SendMsg(m) } func _GobgpApi_EnableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(EnableMrtRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).EnableMrt(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/EnableMrt", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).EnableMrt(ctx, req.(*EnableMrtRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_DisableMrt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DisableMrtRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).DisableMrt(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/DisableMrt", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).DisableMrt(ctx, req.(*DisableMrtRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_InjectMrt_Handler(srv interface{}, stream grpc.ServerStream) error { return srv.(GobgpApiServer).InjectMrt(&gobgpApiInjectMrtServer{stream}) } type GobgpApi_InjectMrtServer interface { SendAndClose(*InjectMrtResponse) error Recv() (*InjectMrtRequest, error) grpc.ServerStream } type gobgpApiInjectMrtServer struct { grpc.ServerStream } func (x *gobgpApiInjectMrtServer) SendAndClose(m *InjectMrtResponse) error { return x.ServerStream.SendMsg(m) } func (x *gobgpApiInjectMrtServer) Recv() (*InjectMrtRequest, error) { m := new(InjectMrtRequest) if err := x.ServerStream.RecvMsg(m); err != nil { return nil, err } return m, nil } func _GobgpApi_AddBmp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddBmpRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).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_GetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetRpkiRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetRpki(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetRpki", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetRpki(ctx, req.(*GetRpkiRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_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_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_SoftResetRpki_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SoftResetRpkiRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).SoftResetRpki(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/SoftResetRpki", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).SoftResetRpki(ctx, req.(*SoftResetRpkiRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetRoa_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetRoaRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetRoa(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetRoa", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetRoa(ctx, req.(*GetRoaRequest)) } return interceptor(ctx, in, info, handler) } 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_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_GetVrf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetVrfRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetVrf(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetVrf", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetVrf(ctx, req.(*GetVrfRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetDefinedSetRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetDefinedSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetDefinedSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetDefinedSet(ctx, req.(*GetDefinedSetRequest)) } 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_ReplaceDefinedSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ReplaceDefinedSetRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).ReplaceDefinedSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/ReplaceDefinedSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).ReplaceDefinedSet(ctx, req.(*ReplaceDefinedSetRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetStatementRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetStatement(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetStatement", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetStatement(ctx, req.(*GetStatementRequest)) } return interceptor(ctx, in, info, handler) } 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_ReplaceStatement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ReplaceStatementRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).ReplaceStatement(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/ReplaceStatement", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).ReplaceStatement(ctx, req.(*ReplaceStatementRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetPolicyRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetPolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetPolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetPolicy(ctx, req.(*GetPolicyRequest)) } return interceptor(ctx, in, info, handler) } 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_ReplacePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ReplacePolicyRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).ReplacePolicy(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/ReplacePolicy", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).ReplacePolicy(ctx, req.(*ReplacePolicyRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetPolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetPolicyAssignmentRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetPolicyAssignment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetPolicyAssignment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetPolicyAssignment(ctx, req.(*GetPolicyAssignmentRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_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_ReplacePolicyAssignment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ReplacePolicyAssignmentRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).ReplacePolicyAssignment(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/ReplacePolicyAssignment", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).ReplacePolicyAssignment(ctx, req.(*ReplacePolicyAssignmentRequest)) } return interceptor(ctx, in, info, handler) } func _GobgpApi_GetRibInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetRibInfoRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(GobgpApiServer).GetRibInfo(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/gobgpapi.GobgpApi/GetRibInfo", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(GobgpApiServer).GetRibInfo(ctx, req.(*GetRibInfoRequest)) } return interceptor(ctx, in, info, handler) } var _GobgpApi_serviceDesc = grpc.ServiceDesc{ ServiceName: "gobgpapi.GobgpApi", HandlerType: (*GobgpApiServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "StartServer", Handler: _GobgpApi_StartServer_Handler, }, { MethodName: "StopServer", Handler: _GobgpApi_StopServer_Handler, }, { MethodName: "GetServer", Handler: _GobgpApi_GetServer_Handler, }, { MethodName: "AddNeighbor", Handler: _GobgpApi_AddNeighbor_Handler, }, { MethodName: "DeleteNeighbor", Handler: _GobgpApi_DeleteNeighbor_Handler, }, { MethodName: "UpdateNeighbor", Handler: _GobgpApi_UpdateNeighbor_Handler, }, { MethodName: "GetNeighbor", Handler: _GobgpApi_GetNeighbor_Handler, }, { MethodName: "ResetNeighbor", Handler: _GobgpApi_ResetNeighbor_Handler, }, { MethodName: "SoftResetNeighbor", Handler: _GobgpApi_SoftResetNeighbor_Handler, }, { MethodName: "ShutdownNeighbor", Handler: _GobgpApi_ShutdownNeighbor_Handler, }, { MethodName: "EnableNeighbor", Handler: _GobgpApi_EnableNeighbor_Handler, }, { MethodName: "DisableNeighbor", Handler: _GobgpApi_DisableNeighbor_Handler, }, { MethodName: "GetRib", Handler: _GobgpApi_GetRib_Handler, }, { MethodName: "ValidateRib", Handler: _GobgpApi_ValidateRib_Handler, }, { MethodName: "AddPath", Handler: _GobgpApi_AddPath_Handler, }, { MethodName: "DeletePath", Handler: _GobgpApi_DeletePath_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: "GetRpki", Handler: _GobgpApi_GetRpki_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: "SoftResetRpki", Handler: _GobgpApi_SoftResetRpki_Handler, }, { MethodName: "GetRoa", Handler: _GobgpApi_GetRoa_Handler, }, { MethodName: "EnableZebra", Handler: _GobgpApi_EnableZebra_Handler, }, { MethodName: "AddVrf", Handler: _GobgpApi_AddVrf_Handler, }, { MethodName: "DeleteVrf", Handler: _GobgpApi_DeleteVrf_Handler, }, { MethodName: "GetVrf", Handler: _GobgpApi_GetVrf_Handler, }, { MethodName: "GetDefinedSet", Handler: _GobgpApi_GetDefinedSet_Handler, }, { MethodName: "AddDefinedSet", Handler: _GobgpApi_AddDefinedSet_Handler, }, { MethodName: "DeleteDefinedSet", Handler: _GobgpApi_DeleteDefinedSet_Handler, }, { MethodName: "ReplaceDefinedSet", Handler: _GobgpApi_ReplaceDefinedSet_Handler, }, { MethodName: "GetStatement", Handler: _GobgpApi_GetStatement_Handler, }, { MethodName: "AddStatement", Handler: _GobgpApi_AddStatement_Handler, }, { MethodName: "DeleteStatement", Handler: _GobgpApi_DeleteStatement_Handler, }, { MethodName: "ReplaceStatement", Handler: _GobgpApi_ReplaceStatement_Handler, }, { MethodName: "GetPolicy", Handler: _GobgpApi_GetPolicy_Handler, }, { MethodName: "AddPolicy", Handler: _GobgpApi_AddPolicy_Handler, }, { MethodName: "DeletePolicy", Handler: _GobgpApi_DeletePolicy_Handler, }, { MethodName: "ReplacePolicy", Handler: _GobgpApi_ReplacePolicy_Handler, }, { MethodName: "GetPolicyAssignment", Handler: _GobgpApi_GetPolicyAssignment_Handler, }, { MethodName: "AddPolicyAssignment", Handler: _GobgpApi_AddPolicyAssignment_Handler, }, { MethodName: "DeletePolicyAssignment", Handler: _GobgpApi_DeletePolicyAssignment_Handler, }, { MethodName: "ReplacePolicyAssignment", Handler: _GobgpApi_ReplacePolicyAssignment_Handler, }, { MethodName: "GetRibInfo", Handler: _GobgpApi_GetRibInfo_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "GetPath", Handler: _GobgpApi_GetPath_Handler, ServerStreams: true, }, { StreamName: "MonitorRib", Handler: _GobgpApi_MonitorRib_Handler, ServerStreams: true, }, { StreamName: "MonitorPeerState", Handler: _GobgpApi_MonitorPeerState_Handler, ServerStreams: true, }, { StreamName: "InjectMrt", Handler: _GobgpApi_InjectMrt_Handler, ClientStreams: true, }, }, Metadata: "gobgp.proto", } func init() { proto.RegisterFile("gobgp.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ // 7823 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7c, 0x4d, 0x6f, 0x23, 0x49, 0x96, 0x98, 0xf8, 0x21, 0x8a, 0x7c, 0x24, 0xc5, 0x54, 0xe8, 0x8b, 0x25, 0x75, 0x57, 0x55, 0xe7, 0x74, 0x75, 0x55, 0x6b, 0xba, 0x55, 0x5d, 0xd5, 0x3d, 0xea, 0xde, 0xae, 0xa9, 0xd9, 0x61, 0x49, 0x2c, 0x15, 0xb7, 0x25, 0x91, 0x1d, 0x62, 0xd5, 0x54, 0x8f, 0x77, 0x9c, 0x4e, 0x31, 0x83, 0x54, 0xba, 0xc9, 0xcc, 0x9c, 0xcc, 0xa4, 0x5a, 0x82, 0x01, 0xbb, 0x6a, 0x76, 0x77, 0x6c, 0xc0, 0xd8, 0x8b, 0x7d, 0x31, 0x60, 0x1b, 0x3e, 0xf8, 0xb6, 0x80, 0x0f, 0x06, 0x16, 0x30, 0xe0, 0x8b, 0x6d, 0xc0, 0xbb, 0x30, 0xb0, 0x80, 0x8f, 0x3e, 0xda, 0x3f, 0xc0, 0x27, 0xc3, 0x17, 0x1f, 0x7c, 0x30, 0xe2, 0x23, 0x33, 0x23, 0x3f, 0x28, 0xa9, 0x7a, 0xab, 0x3d, 0x30, 0xe0, 0x13, 0x99, 0xef, 0xbd, 0x78, 0xf1, 0x22, 0xe2, 0xc5, 0x8b, 0x17, 0x2f, 0x22, 0x1e, 0x54, 0x47, 0xf6, 0xc9, 0xc8, 0xd9, 0x76, 0x5c, 0xdb, 0xb7, 0x51, 0x99, 0x7d, 0xe8, 0x8e, 0xb9, 0x71, 0x63, 0x64, 0xdb, 0xa3, 0x31, 0xb9, 0xcf, 0xe0, 0x27, 0xd3, 0xe1, 0x7d, 0xdd, 0xba, 0xe0, 0x44, 0xea, 0x2f, 0x01, 0xed, 0x13, 0xff, 0x88, 0x98, 0xa3, 0xd3, 0x13, 0xdb, 0xc5, 0xe4, 0xd7, 0x53, 0xe2, 0xf9, 0x68, 0x0b, 0x14, 0x62, 0xe9, 0x27, 0x63, 0xd2, 0x32, 0xce, 0x88, 0xeb, 0x9b, 0x1e, 0x31, 0x9a, 0xb9, 0xdb, 0xb9, 0x7b, 0x65, 0x9c, 0x82, 0xa3, 0x26, 0x2c, 0xe8, 0x86, 0xe1, 0x12, 0xcf, 0x6b, 0xe6, 0x6f, 0xe7, 0xee, 0x55, 0x70, 0xf0, 0xa9, 0x3e, 0x82, 0xe5, 0x18, 0x6f, 0xcf, 0xb1, 0x2d, 0x8f, 0xa0, 0xf7, 0x61, 0xde, 0x21, 0xc4, 0xf5, 0x9a, 0xb9, 0xdb, 0x85, 0x7b, 0xd5, 0x87, 0x8b, 0xdb, 0x81, 0x9c, 0xdb, 0x3d, 0x42, 0x5c, 0xcc, 0x91, 0xea, 0xeb, 0x1c, 0x54, 0x5a, 0xee, 0x68, 0x3a, 0x21, 0x96, 0xef, 0xa1, 0x6d, 0x28, 0xbb, 0xc4, 0xb3, 0xa7, 0xee, 0x80, 0x30, 0x41, 0x16, 0x1f, 0xa2, 0xa8, 0x18, 0x16, 0x18, 0x1c, 0xd2, 0xa0, 0x35, 0x28, 0x0d, 0xf5, 0x89, 0x39, 0xbe, 0x60, 0x32, 0xd5, 0xb1, 0xf8, 0x42, 0x08, 0x8a, 0x96, 0x3e, 0x21, 0xcd, 0x02, 0x93, 0x94, 0xfd, 0xa7, 0x0d, 0x18, 0x4c, 0x5d, 0x97, 0x58, 0x7e, 0xb3, 0xc8, 0xda, 0x18, 0x7c, 0xaa, 0x7f, 0x07, 0x16, 0x5b, 0x86, 0xd1, 0xd3, 0xfd, 0xd3, 0xa0, 0x63, 0xde, 0x54, 0x8e, 0x55, 0x28, 0x9d, 0xb9, 0x43, 0xcd, 0x34, 0x44, 0xdf, 0xcc, 0x9f, 0xb9, 0xc3, 0x8e, 0x81, 0x54, 0x28, 0x3a, 0xba, 0x7f, 0xca, 0xc4, 0x88, 0xf7, 0x00, 0xad, 0x8b, 0xe1, 0xd4, 0x3b, 0xd0, 0x08, 0x2b, 0x17, 0x3d, 0x87, 0xa0, 0x38, 0x9d, 0x9a, 0x7c, 0x28, 0x6a, 0x98, 0xfd, 0x57, 0xff, 0x2c, 0x07, 0x4b, 0x7b, 0x64, 0x4c, 0x7c, 0xf2, 0x03, 0xc8, 0x19, 0x75, 0x63, 0x21, 0xd6, 0x8d, 0x81, 0xfc, 0xc5, 0xd9, 0xf2, 0x87, 0xc2, 0xce, 0x4b, 0xc2, 0xae, 0x00, 0x92, 0x65, 0xe5, 0xcd, 0x52, 0xbf, 0x00, 0xd4, 0x32, 0x8c, 0xa4, 0x0e, 0xd2, 0x3a, 0x08, 0x71, 0x99, 0xf8, 0x69, 0x2d, 0x61, 0x38, 0x75, 0x15, 0x96, 0x63, 0x25, 0x05, 0xc3, 0x47, 0xb0, 0xca, 0xab, 0xf9, 0x3e, 0x3c, 0x9b, 0xb0, 0x96, 0x2c, 0x2c, 0xd8, 0x1a, 0xb0, 0xfa, 0xdc, 0x31, 0xf4, 0xef, 0xc5, 0x16, 0xdd, 0x05, 0xc5, 0xb0, 0x35, 0xcf, 0x1e, 0xfa, 0x9a, 0x4b, 0x3c, 0xe2, 0x6b, 0xa6, 0xc5, 0xfa, 0xba, 0x8c, 0xeb, 0x86, 0x7d, 0x6c, 0x0f, 0x7d, 0x4c, 0xa1, 0x1d, 0x4b, 0xdd, 0x87, 0xb5, 0x64, 0x2d, 0x62, 0xf8, 0x3f, 0x86, 0x65, 0x8b, 0x10, 0xc3, 0x4b, 0x70, 0x11, 0x13, 0x93, 0xa1, 0x64, 0x46, 0x2f, 0x60, 0x85, 0xfd, 0x4d, 0x4a, 0x2b, 0x4d, 0xd8, 0x5c, 0x6c, 0xc2, 0xa2, 0xf7, 0xa1, 0x3e, 0xb0, 0x27, 0x93, 0xa9, 0x65, 0x0e, 0x74, 0xdf, 0xb4, 0x2d, 0xa1, 0x0c, 0x71, 0xa0, 0xba, 0x0e, 0xab, 0x09, 0xbe, 0xa2, 0x7f, 0xfe, 0x6d, 0x0e, 0x9a, 0xa1, 0x00, 0xd7, 0xaf, 0xf5, 0x18, 0x2a, 0x86, 0xe9, 0x92, 0x41, 0x58, 0xe3, 0xe2, 0xc3, 0x9f, 0x44, 0x5d, 0x38, 0x8b, 0x61, 0x84, 0xd8, 0x0b, 0x0a, 0xe3, 0x88, 0x8f, 0x7a, 0x1f, 0x50, 0x9a, 0x00, 0x95, 0x20, 0xdf, 0x39, 0x52, 0xe6, 0xd0, 0x02, 0x14, 0xba, 0xcf, 0xfb, 0x4a, 0x0e, 0x95, 0xa1, 0xf8, 0xa4, 0xdb, 0x7f, 0xa6, 0xe4, 0xd5, 0x4d, 0xb8, 0x91, 0x51, 0x95, 0x68, 0xd9, 0x37, 0xb0, 0x7e, 0x7c, 0x3a, 0xf5, 0x0d, 0xfb, 0x3b, 0xeb, 0x6d, 0xf7, 0xe6, 0x06, 0x34, 0xd3, 0xac, 0x45, 0xb5, 0x0f, 0x60, 0xb5, 0xcd, 0xcc, 0xed, 0xb5, 0x2b, 0xa5, 0xda, 0x9b, 0x2c, 0x22, 0x98, 0xbd, 0x84, 0xb5, 0x3d, 0xd3, 0x7b, 0x23, 0x6e, 0xd7, 0x6c, 0xc2, 0x0d, 0x58, 0x4f, 0x71, 0x16, 0x95, 0x8e, 0x40, 0xe1, 0xe2, 0x1c, 0xba, 0x7e, 0x50, 0xdd, 0x26, 0x54, 0x8c, 0xe9, 0xc4, 0xd1, 0xfc, 0x0b, 0x87, 0x1b, 0xa7, 0x79, 0x5c, 0xa6, 0x80, 0xfe, 0x85, 0x43, 0xd0, 0x06, 0x94, 0x87, 0xe6, 0x98, 0x30, 0x23, 0xcd, 0x2b, 0x0b, 0xbf, 0x29, 0xce, 0xb4, 0x7c, 0xe2, 0x9e, 0xe9, 0x63, 0x66, 0x8f, 0x8a, 0x38, 0xfc, 0x56, 0x97, 0x61, 0x49, 0xaa, 0x48, 0xd4, 0xbe, 0x0c, 0x4b, 0x42, 0xb0, 0xa8, 0x7a, 0x66, 0x83, 0x24, 0xa0, 0x20, 0xfd, 0x7b, 0xa0, 0x74, 0xac, 0xbf, 0x4d, 0x06, 0xbe, 0x24, 0xe8, 0x5b, 0x32, 0xa2, 0x74, 0xbd, 0xd3, 0xfd, 0x53, 0xaf, 0x59, 0x48, 0xad, 0x77, 0xd4, 0x0a, 0x72, 0x24, 0x95, 0x55, 0x12, 0x40, 0x48, 0xf5, 0xef, 0x73, 0x50, 0x6f, 0x19, 0xc6, 0x93, 0x89, 0x73, 0xf5, 0x58, 0x21, 0x28, 0x3a, 0xb6, 0xeb, 0x8b, 0x05, 0x8f, 0xfd, 0x47, 0x3f, 0x85, 0x22, 0xeb, 0xe5, 0x02, 0x93, 0xfe, 0x5e, 0x54, 0x73, 0x8c, 0xe9, 0xf6, 0xa1, 0x6d, 0x99, 0xbe, 0xed, 0x9a, 0xd6, 0xa8, 0x67, 0x8f, 0xcd, 0xc1, 0x05, 0x66, 0xa5, 0xd4, 0x5d, 0x50, 0x92, 0x18, 0x3a, 0x73, 0x7a, 0xb8, 0xad, 0xcc, 0xd1, 0x99, 0xd3, 0xeb, 0x1e, 0xc7, 0xe6, 0x10, 0xaa, 0xc0, 0xfc, 0x41, 0x77, 0xb7, 0x75, 0xa0, 0x14, 0x28, 0x5d, 0xeb, 0xe0, 0x40, 0x29, 0xaa, 0x0a, 0x5b, 0x43, 0x59, 0x65, 0xa2, 0x51, 0x3f, 0x07, 0x85, 0x1b, 0xd8, 0xef, 0xdb, 0x2c, 0x36, 0xae, 0x11, 0x07, 0xc1, 0xb6, 0x0f, 0x4b, 0x42, 0x5a, 0x6c, 0x9e, 0x04, 0x7c, 0xef, 0xc0, 0xbc, 0x4f, 0x87, 0x5a, 0x98, 0xe6, 0x46, 0xd4, 0x03, 0x7d, 0x0a, 0xc6, 0x1c, 0x2b, 0xbb, 0x00, 0xf9, 0xb8, 0x0b, 0xd0, 0x86, 0x32, 0xee, 0x7d, 0xd5, 0xd9, 0xb5, 0xad, 0xe1, 0x25, 0x42, 0xde, 0x82, 0xaa, 0x4b, 0x26, 0xb6, 0x4f, 0xb4, 0x50, 0xd6, 0x0a, 0x06, 0x0e, 0xea, 0x51, 0x89, 0xff, 0x59, 0x11, 0x2a, 0x94, 0xcf, 0xb1, 0xaf, 0xfb, 0xcc, 0x3b, 0x99, 0x3a, 0xbe, 0x39, 0xe1, 0x62, 0x15, 0xb0, 0xf8, 0xa2, 0x0a, 0x4e, 0xed, 0x00, 0xc3, 0xe4, 0x19, 0x26, 0xfc, 0x46, 0x8b, 0x90, 0x9f, 0x3a, 0x6c, 0x20, 0xcb, 0x38, 0x3f, 0x75, 0x78, 0x95, 0x03, 0xdb, 0x35, 0x34, 0xd3, 0x39, 0xfb, 0x8c, 0xad, 0xc4, 0x75, 0x5a, 0x25, 0x05, 0x75, 0x9c, 0xb3, 0xcf, 0xe2, 0x04, 0x3b, 0x6c, 0x19, 0x96, 0x09, 0x76, 0x28, 0x81, 0xe3, 0x92, 0xa1, 0x79, 0xce, 0x39, 0x94, 0x38, 0x01, 0x07, 0x05, 0x1c, 0x22, 0x82, 0x9d, 0xe6, 0x42, 0x82, 0x60, 0x87, 0xb6, 0xc3, 0x23, 0xae, 0xa9, 0x8f, 0x9b, 0x65, 0xee, 0x1e, 0xf0, 0x2f, 0xf4, 0x23, 0xa8, 0xbb, 0x64, 0x40, 0xcc, 0x33, 0x22, 0xa4, 0xab, 0xb0, 0xc6, 0xd4, 0x02, 0x20, 0xe3, 0x9e, 0x20, 0xda, 0x69, 0x42, 0x8a, 0x68, 0x87, 0x12, 0x71, 0x9e, 0x9a, 0x65, 0xfb, 0xe6, 0xf0, 0xa2, 0x59, 0xe5, 0x44, 0x1c, 0x78, 0xc4, 0x60, 0x54, 0xce, 0x81, 0x3e, 0x38, 0x25, 0x7c, 0x49, 0x6c, 0xd6, 0x18, 0x09, 0x30, 0x10, 0x33, 0xe7, 0xe8, 0x0e, 0x2c, 0x86, 0x04, 0x4c, 0x59, 0x9a, 0x75, 0x46, 0x53, 0x0f, 0x68, 0xf8, 0xfa, 0x7a, 0x13, 0xaa, 0xc4, 0x32, 0x34, 0x7b, 0xa8, 0x19, 0xba, 0xaf, 0x37, 0x17, 0x19, 0x4d, 0x85, 0x58, 0x46, 0x77, 0xb8, 0xa7, 0xfb, 0x3a, 0x5a, 0x81, 0x79, 0xe2, 0xba, 0xb6, 0xdb, 0x6c, 0x30, 0x0c, 0xff, 0x40, 0xef, 0x81, 0x90, 0x46, 0xfb, 0xf5, 0x94, 0xb8, 0x17, 0x4d, 0x85, 0x21, 0xab, 0x1c, 0xf6, 0x35, 0x05, 0xf1, 0xa1, 0xa0, 0xab, 0x35, 0xa7, 0x58, 0xe2, 0x02, 0x32, 0x10, 0x23, 0x50, 0xbf, 0x81, 0x22, 0x76, 0xbe, 0x35, 0xd1, 0x07, 0x50, 0x1c, 0xd8, 0xd6, 0x50, 0x68, 0xab, 0x6c, 0x6d, 0x84, 0x0e, 0x62, 0x86, 0x47, 0x1f, 0xc2, 0xbc, 0x47, 0x35, 0x89, 0x69, 0x49, 0xf5, 0xe1, 0x72, 0x9c, 0x90, 0x29, 0x19, 0xe6, 0x14, 0xea, 0x3d, 0x58, 0xdc, 0x27, 0x3e, 0xe5, 0x1e, 0xcc, 0x89, 0xc8, 0xa9, 0xcb, 0xc9, 0x4e, 0x9d, 0xfa, 0x08, 0x1a, 0x21, 0xa5, 0xe8, 0x91, 0x7b, 0xb0, 0xe0, 0x11, 0xf7, 0x2c, 0xd3, 0x59, 0x67, 0x84, 0x01, 0x5a, 0xfd, 0x25, 0x9b, 0xe6, 0x72, 0x35, 0x6f, 0x66, 0xa9, 0x36, 0xa0, 0x3c, 0x36, 0x87, 0x84, 0xa9, 0x7e, 0x81, 0xab, 0x7e, 0xf0, 0xad, 0x2e, 0x31, 0x4f, 0x58, 0x16, 0x4c, 0x6d, 0x05, 0x16, 0xe0, 0x7b, 0xd7, 0x18, 0xf9, 0xa2, 0x31, 0xc6, 0x1f, 0x07, 0xeb, 0xc8, 0xb5, 0x18, 0x53, 0x26, 0x32, 0xb9, 0x60, 0xb2, 0x1d, 0x2e, 0x31, 0xd7, 0xe3, 0xb2, 0x0a, 0xcb, 0x31, 0x7a, 0xc1, 0xe6, 0x23, 0x50, 0x98, 0xfe, 0x5e, 0x8f, 0xc9, 0x32, 0x2c, 0x49, 0xd4, 0x82, 0xc5, 0x27, 0xb0, 0x12, 0x7a, 0x35, 0xd7, 0x63, 0xb3, 0x0e, 0xab, 0x89, 0x12, 0x82, 0xd5, 0x5f, 0xe5, 0x82, 0xb6, 0xfe, 0x92, 0x9c, 0xb8, 0x7a, 0xc0, 0x49, 0x81, 0xc2, 0xd4, 0x1d, 0x0b, 0x2e, 0xf4, 0x2f, 0xd3, 0x76, 0x7b, 0xea, 0x13, 0xb6, 0xc0, 0xd3, 0x4d, 0x61, 0x81, 0x19, 0x43, 0x0a, 0xa2, 0x4b, 0xbc, 0x47, 0x2b, 0xa7, 0x3a, 0x43, 0xfd, 0x09, 0xbe, 0xad, 0x08, 0x3e, 0xd1, 0x67, 0xb0, 0x66, 0x91, 0x73, 0xff, 0xd4, 0x76, 0x34, 0xdf, 0x35, 0x47, 0x23, 0xe2, 0x6a, 0x7c, 0xbf, 0x29, 0x76, 0x66, 0x2b, 0x02, 0xdb, 0xe7, 0x48, 0x2e, 0x0e, 0x7a, 0x08, 0xab, 0xc9, 0x52, 0x06, 0x19, 0xeb, 0x17, 0xc2, 0xe6, 0x2d, 0xc7, 0x0b, 0xed, 0x51, 0x14, 0xed, 0xf2, 0x58, 0x63, 0x44, 0x23, 0x1b, 0x50, 0xdf, 0x27, 0xfe, 0x0b, 0x77, 0x18, 0x78, 0x0b, 0x9f, 0xb2, 0xe9, 0xc3, 0x00, 0x62, 0x4e, 0xbc, 0x07, 0xc5, 0x33, 0x77, 0x18, 0x4c, 0x88, 0x7a, 0x34, 0x21, 0x28, 0x11, 0x43, 0xa9, 0x9f, 0xb0, 0x55, 0x3b, 0xe2, 0x82, 0x6e, 0x41, 0xe1, 0xcc, 0x0d, 0xa6, 0x75, 0xa2, 0x08, 0xc5, 0x88, 0x55, 0x52, 0xaa, 0x46, 0xfd, 0x34, 0x58, 0x25, 0xdf, 0x84, 0x4d, 0xb8, 0x30, 0xca, 0x9c, 0x9e, 0xc3, 0xca, 0x3e, 0xf1, 0xf7, 0xc8, 0xd0, 0xb4, 0x88, 0x71, 0x4c, 0x42, 0xf7, 0xe6, 0x43, 0xe1, 0x1c, 0x70, 0xd7, 0x66, 0x35, 0x62, 0x27, 0x48, 0xe9, 0x60, 0x71, 0x4f, 0x20, 0xdc, 0x36, 0xe7, 0xa3, 0x6d, 0xb3, 0xda, 0x82, 0xd5, 0x04, 0xdb, 0xd0, 0x68, 0x14, 0x3d, 0xe2, 0x07, 0x1d, 0xb4, 0x92, 0xe2, 0x4b, 0x69, 0x19, 0x85, 0xfa, 0x33, 0x58, 0x69, 0x19, 0x46, 0x5a, 0xb2, 0x0f, 0xa0, 0x40, 0x0d, 0x39, 0x6f, 0x67, 0x36, 0x03, 0x4a, 0x40, 0x75, 0x35, 0x51, 0x5e, 0x34, 0xf9, 0x18, 0xd6, 0x79, 0x3f, 0x7c, 0x6f, 0xde, 0x54, 0xaf, 0xf5, 0xf1, 0x58, 0xb8, 0x03, 0xf4, 0x2f, 0xf5, 0xd4, 0xd3, 0x4c, 0x45, 0x85, 0x4f, 0xa0, 0x89, 0x89, 0x33, 0xd6, 0x07, 0xdf, 0xbf, 0x46, 0xba, 0x03, 0xc9, 0xe0, 0x21, 0x2a, 0x58, 0x65, 0xb1, 0x14, 0x66, 0xd9, 0x27, 0xc4, 0x0a, 0x9d, 0xd9, 0xaf, 0xd8, 0xd8, 0x4a, 0x60, 0x31, 0x06, 0x9f, 0x02, 0x78, 0x01, 0x30, 0x18, 0x09, 0x69, 0x95, 0x88, 0x0a, 0x48, 0x64, 0xea, 0x33, 0xb6, 0x9b, 0x4e, 0xd6, 0x81, 0x1e, 0x40, 0x25, 0x24, 0x12, 0xad, 0xc8, 0x64, 0x15, 0x51, 0xa9, 0x6b, 0x6c, 0x60, 0x53, 0x62, 0xa9, 0xbf, 0x0a, 0xf6, 0xd6, 0x6f, 0xa1, 0x92, 0x8c, 0x11, 0xba, 0x11, 0x0c, 0x7b, 0xba, 0xe6, 0x03, 0x58, 0x17, 0x9d, 0xfb, 0x36, 0xda, 0xb7, 0x11, 0x0e, 0x77, 0xba, 0x26, 0x04, 0xca, 0x3e, 0xf1, 0x85, 0x23, 0x2d, 0x86, 0xa9, 0x05, 0x4b, 0x12, 0x4c, 0x8c, 0xd1, 0x47, 0x50, 0x76, 0x28, 0xc4, 0x24, 0xc1, 0x08, 0x29, 0xd2, 0xd6, 0x80, 0xd3, 0x86, 0x14, 0xea, 0x39, 0x28, 0x2d, 0xc3, 0x88, 0xb1, 0x45, 0xf7, 0xa0, 0xc4, 0xf0, 0x17, 0x42, 0xec, 0x74, 0x79, 0x81, 0x47, 0x5f, 0xc2, 0x0d, 0x97, 0x0c, 0xa9, 0x39, 0x3d, 0x37, 0x3d, 0xdf, 0xb4, 0x46, 0x9a, 0xa4, 0x1e, 0xbc, 0x07, 0xd7, 0x19, 0x41, 0x5b, 0xe0, 0x8f, 0x23, 0xb5, 0x58, 0x86, 0x25, 0xa9, 0x66, 0xd1, 0xca, 0xdf, 0xe4, 0x60, 0x59, 0x84, 0x72, 0xbe, 0xa7, 0x48, 0xf7, 0x61, 0xd9, 0xa1, 0x2e, 0x90, 0x7b, 0x46, 0xd2, 0xc2, 0xa0, 0x00, 0x15, 0xc9, 0x11, 0x8c, 0x77, 0x21, 0x1a, 0xef, 0x35, 0x58, 0x89, 0xcb, 0x20, 0x84, 0xfb, 0x57, 0x39, 0x58, 0x11, 0xe3, 0xf3, 0x3b, 0xe8, 0xb0, 0x59, 0x2d, 0x2b, 0xcc, 0x6a, 0x19, 0x8f, 0xa8, 0xc4, 0xc4, 0x0d, 0xf7, 0xec, 0x1b, 0xa1, 0xde, 0xb4, 0x3c, 0xcf, 0x1c, 0x59, 0xb2, 0xe2, 0x7e, 0x09, 0xa0, 0x87, 0x40, 0xd1, 0xa2, 0x8d, 0x64, 0x8b, 0xa4, 0x62, 0x12, 0xb5, 0xfa, 0x0d, 0x6c, 0x66, 0x72, 0x16, 0xba, 0xf9, 0xd7, 0x61, 0xfd, 0x12, 0x36, 0x42, 0x7d, 0x79, 0xbb, 0x42, 0xbf, 0x0b, 0x9b, 0x99, 0x9c, 0x45, 0x6f, 0x4d, 0xe0, 0x5d, 0x59, 0x1d, 0xde, 0x6a, 0xdd, 0x19, 0xd6, 0xe6, 0x36, 0xdc, 0x9c, 0x55, 0x9d, 0x10, 0xe8, 0x0f, 0xe1, 0x66, 0x6c, 0x5c, 0xdf, 0x6e, 0x6f, 0xbc, 0x07, 0xb7, 0x66, 0x72, 0x8f, 0xd9, 0xa2, 0x63, 0xe6, 0xa3, 0x07, 0xb6, 0xe8, 0x31, 0xb3, 0x45, 0x01, 0x2c, 0x5c, 0xb3, 0x4b, 0xa3, 0xb1, 0x7d, 0xa2, 0x8f, 0xd3, 0x13, 0x63, 0x9f, 0xc1, 0xb1, 0xc0, 0xab, 0x3f, 0x03, 0x74, 0xec, 0xeb, 0x6e, 0x9c, 0xe9, 0x1b, 0x94, 0x5f, 0x85, 0xe5, 0x58, 0xf9, 0x28, 0x54, 0x73, 0xec, 0xdb, 0x4e, 0x5c, 0xd4, 0x15, 0x5a, 0x57, 0x04, 0x14, 0xa4, 0xff, 0xb2, 0x00, 0x8b, 0x74, 0x9b, 0xf3, 0x42, 0x1f, 0x9b, 0x06, 0x8b, 0x40, 0xa1, 0xcf, 0x82, 0xfd, 0x10, 0xf7, 0x65, 0x6e, 0xc6, 0xf7, 0x43, 0x11, 0xe1, 0xb6, 0xbc, 0x35, 0x42, 0x9f, 0x43, 0xc9, 0x25, 0xba, 0x17, 0x46, 0x1d, 0x6f, 0xcd, 0x2c, 0x86, 0x19, 0x19, 0x16, 0xe4, 0xe8, 0x2e, 0x2c, 0x4c, 0x74, 0x7f, 0x70, 0x4a, 0x0c, 0x11, 0xd3, 0x91, 0x7c, 0x31, 0x6c, 0xeb, 0x38, 0xc0, 0xa2, 0x4f, 0xa0, 0x36, 0xb5, 0xc4, 0x87, 0xa6, 0x7b, 0xcd, 0x62, 0x16, 0x75, 0x35, 0x24, 0x69, 0x79, 0xe8, 0x0b, 0x50, 0xa2, 0x12, 0x63, 0x62, 0x8d, 0xfc, 0xd3, 0xe6, 0x7c, 0x56, 0xa9, 0x46, 0x48, 0x76, 0xc0, 0xa8, 0xd4, 0x1e, 0xcc, 0xf3, 0xe8, 0xc2, 0x22, 0xc0, 0x71, 0xbf, 0xd5, 0x6f, 0x6b, 0x47, 0xdd, 0xa3, 0xb6, 0x32, 0x87, 0x96, 0xa1, 0x11, 0x7c, 0xf7, 0xb5, 0xa7, 0xdd, 0xe7, 0x47, 0x7b, 0x4a, 0x0e, 0x35, 0xa0, 0xca, 0x81, 0x2f, 0x5a, 0x07, 0x9d, 0x3d, 0x25, 0x8f, 0x96, 0xa0, 0xce, 0x01, 0x9d, 0x23, 0x0e, 0x2a, 0xa8, 0x8f, 0xa0, 0xc4, 0x1b, 0x4e, 0xa9, 0x71, 0xbb, 0x75, 0xdc, 0xed, 0x07, 0x3c, 0xeb, 0x50, 0x61, 0x80, 0x23, 0xad, 0x75, 0xac, 0xe4, 0x68, 0x61, 0xf1, 0x79, 0xd0, 0x3e, 0xda, 0x67, 0xf1, 0xd4, 0xff, 0x32, 0x0f, 0xc5, 0x9e, 0x38, 0x07, 0xb0, 0xc6, 0xae, 0x19, 0x1c, 0x5a, 0xd0, 0xff, 0x74, 0x0b, 0xea, 0xe8, 0xbe, 0xef, 0xf2, 0xdd, 0x41, 0x0d, 0x8b, 0x2f, 0x36, 0xc9, 0x46, 0xc1, 0x06, 0x90, 0xfe, 0xa5, 0xa5, 0x4f, 0x88, 0x17, 0x9c, 0xcc, 0xb0, 0xff, 0x74, 0x83, 0x61, 0x7a, 0xda, 0x77, 0xa6, 0x7f, 0x6a, 0xb8, 0xfa, 0x77, 0xcc, 0xcb, 0x2f, 0x63, 0x30, 0xbd, 0x5f, 0x08, 0x08, 0xba, 0x09, 0x70, 0x16, 0x0e, 0x1e, 0x0b, 0x6c, 0xcc, 0x63, 0x09, 0x82, 0xda, 0xb0, 0x14, 0x7d, 0x69, 0x06, 0xf1, 0x75, 0x73, 0xcc, 0xc2, 0x1b, 0xd5, 0x87, 0xcd, 0x59, 0x3a, 0x80, 0x95, 0xa8, 0xc8, 0x1e, 0x2b, 0x81, 0x3e, 0x81, 0x15, 0xcb, 0xd6, 0xcc, 0x89, 0x43, 0x97, 0x68, 0x3f, 0x12, 0xa8, 0xcc, 0x0d, 0xbd, 0x65, 0x77, 0x04, 0x2a, 0x14, 0x2c, 0xda, 0x7a, 0x57, 0x62, 0xe7, 0x29, 0xef, 0x02, 0xf0, 0x18, 0xa2, 0xa6, 0x7b, 0x16, 0x0b, 0x84, 0xd4, 0x71, 0x85, 0x43, 0x5a, 0x9e, 0x85, 0x36, 0x41, 0x7c, 0x68, 0xa6, 0xc1, 0x22, 0x20, 0x15, 0x5c, 0xe6, 0x80, 0x8e, 0x21, 0x22, 0xa6, 0x3e, 0x71, 0x89, 0xc1, 0x42, 0x1f, 0x65, 0x1c, 0x7e, 0xa3, 0x15, 0x36, 0x2f, 0xc6, 0x3c, 0xde, 0x51, 0xc6, 0xfc, 0x03, 0xdd, 0x03, 0xc5, 0xf4, 0xb4, 0xa1, 0x6b, 0x4f, 0x34, 0x72, 0xee, 0x13, 0xd7, 0xd2, 0xc7, 0x2c, 0xd8, 0x51, 0xc6, 0x8b, 0xa6, 0xf7, 0xd4, 0xb5, 0x27, 0x6d, 0x01, 0xa5, 0x3d, 0x6d, 0x89, 0x90, 0xae, 0x66, 0x3a, 0x2c, 0xee, 0x51, 0xc1, 0x10, 0x80, 0x3a, 0x4e, 0x78, 0xc8, 0xa3, 0x44, 0x87, 0x3c, 0xe8, 0x23, 0x40, 0xa6, 0xa7, 0x05, 0x3b, 0x32, 0xd3, 0x62, 0xfd, 0xc6, 0x82, 0x1e, 0x65, 0xac, 0x98, 0xde, 0x11, 0x47, 0x74, 0x38, 0x9c, 0x8e, 0x95, 0x69, 0x10, 0xcb, 0x37, 0x87, 0x26, 0x71, 0x9b, 0x88, 0xc7, 0x98, 0x22, 0x08, 0xfa, 0x10, 0x94, 0xb1, 0x3d, 0xd0, 0xc7, 0x9a, 0x44, 0xb5, 0xcc, 0xa8, 0x1a, 0x0c, 0xde, 0x89, 0x48, 0xef, 0x43, 0x59, 0xb7, 0x2e, 0x34, 0xa6, 0x6d, 0x2b, 0xa1, 0xb7, 0x6d, 0x8f, 0xc6, 0x64, 0x3b, 0x38, 0xf9, 0xdc, 0x6e, 0x59, 0x17, 0x78, 0x41, 0xb7, 0x2e, 0x8e, 0xa8, 0x1a, 0x7e, 0x0a, 0x40, 0x0b, 0x08, 0x55, 0x5c, 0x0d, 0xf7, 0x2b, 0xe9, 0x22, 0x15, 0xdd, 0xba, 0xe8, 0x31, 0x32, 0xf5, 0x5f, 0xe4, 0xa0, 0xba, 0x47, 0xe8, 0x9a, 0xcf, 0x95, 0x89, 0xea, 0x32, 0x0b, 0x89, 0x89, 0x3d, 0xb0, 0xf8, 0x8a, 0xc2, 0xbe, 0xf9, 0x4b, 0xc2, 0xbe, 0xe8, 0x2e, 0x34, 0xc6, 0xb6, 0x45, 0xb7, 0xac, 0xbc, 0x18, 0x09, 0xfc, 0x84, 0x45, 0x0e, 0xee, 0x09, 0x28, 0xed, 0x07, 0xef, 0xd4, 0x76, 0x7d, 0x99, 0x92, 0x4f, 0x8a, 0x86, 0x80, 0x07, 0xa4, 0xea, 0xbf, 0xc9, 0xc1, 0x3c, 0x0b, 0x6f, 0xa2, 0x0f, 0x62, 0x5b, 0xbc, 0xac, 0xe8, 0xf5, 0xcc, 0xfd, 0xdd, 0xcc, 0xb3, 0xbf, 0xdf, 0x83, 0x9a, 0x11, 0x35, 0x3f, 0xb0, 0x69, 0xb1, 0xed, 0x63, 0x88, 0xc5, 0x31, 0x52, 0x16, 0x50, 0xb4, 0x3d, 0x5f, 0x13, 0x3e, 0x98, 0x98, 0xb8, 0x14, 0xc4, 0x57, 0x30, 0x75, 0x87, 0x6d, 0xbf, 0xdf, 0x38, 0x7e, 0xab, 0x7e, 0xce, 0x83, 0x5c, 0xb4, 0x9c, 0x58, 0xd0, 0xae, 0x59, 0x70, 0x02, 0x4b, 0xec, 0xfb, 0xc0, 0xb6, 0xbf, 0x9d, 0x3a, 0xbc, 0x07, 0x67, 0x8e, 0xe8, 0xcf, 0xa1, 0x3e, 0x66, 0x74, 0x9a, 0xed, 0x48, 0x87, 0x55, 0x9b, 0x09, 0xde, 0x9c, 0x57, 0xd7, 0xe1, 0x1d, 0x30, 0x96, 0xbe, 0xd4, 0x7f, 0x9e, 0x63, 0x82, 0xca, 0x27, 0xb5, 0x3f, 0xc4, 0x10, 0x7d, 0x0e, 0x65, 0x49, 0x47, 0xe8, 0xf0, 0x64, 0xcb, 0xc8, 0xdb, 0x8b, 0x43, 0x62, 0x75, 0x0c, 0x48, 0x58, 0x3c, 0x22, 0x0d, 0xc2, 0x75, 0x45, 0x9c, 0x75, 0xe8, 0x1e, 0xf5, 0x67, 0x41, 0xee, 0x4f, 0xea, 0x0a, 0xc4, 0x6a, 0x13, 0xeb, 0xfb, 0x7f, 0x2f, 0x42, 0xb1, 0x47, 0x88, 0xcb, 0x2c, 0x1b, 0xe5, 0x10, 0x6c, 0x90, 0xea, 0x38, 0xfc, 0x46, 0x5f, 0x40, 0x4d, 0x77, 0x9c, 0xf1, 0x45, 0xa0, 0x4b, 0x3c, 0x10, 0x2a, 0x69, 0x61, 0x8b, 0x62, 0x85, 0x3b, 0x5d, 0xd5, 0xa3, 0x8f, 0x30, 0xc6, 0x5a, 0x48, 0xc6, 0x58, 0x69, 0x9d, 0x52, 0x8c, 0xf5, 0x11, 0xd4, 0xc9, 0xc9, 0xc8, 0xd1, 0x26, 0xd3, 0xb1, 0x6f, 0x9e, 0xda, 0x8e, 0x38, 0xec, 0x5e, 0x8b, 0x0a, 0xb4, 0x4f, 0x46, 0xce, 0xa1, 0xc0, 0xe2, 0x1a, 0x91, 0xbe, 0x50, 0x0b, 0x1a, 0x3c, 0x06, 0xe6, 0x92, 0xe1, 0x98, 0x0c, 0x7c, 0xdb, 0x65, 0xda, 0x1e, 0x5f, 0x5f, 0x28, 0x01, 0x0e, 0xf0, 0x78, 0xd1, 0x8d, 0x7d, 0xa3, 0xbb, 0x50, 0x34, 0xad, 0xa1, 0xcd, 0x96, 0xaf, 0xd8, 0x8e, 0x94, 0xca, 0xc9, 0xfd, 0x18, 0x46, 0x40, 0x7d, 0x2f, 0xdf, 0x9c, 0x10, 0xd7, 0x13, 0x4b, 0x98, 0xe4, 0x7b, 0xf5, 0x19, 0x1c, 0x0b, 0x3c, 0xdd, 0xe9, 0xfa, 0xae, 0x6e, 0x79, 0x2c, 0x16, 0x5a, 0x4e, 0xf2, 0xed, 0x07, 0x28, 0x1c, 0x51, 0xd1, 0x7e, 0xe6, 0x0d, 0xe1, 0x81, 0x5e, 0xb6, 0x6e, 0xc5, 0xfa, 0x99, 0xb5, 0x42, 0x78, 0x68, 0x3c, 0xee, 0xc7, 0x3f, 0xd0, 0x1e, 0x28, 0x23, 0x57, 0x1f, 0x90, 0xe1, 0x74, 0xac, 0xb9, 0xc4, 0xa3, 0x3e, 0x1f, 0x5b, 0xd9, 0xaa, 0x0f, 0x6f, 0x48, 0xce, 0xa1, 0xa0, 0xc0, 0x9c, 0x00, 0x37, 0x46, 0x71, 0x00, 0xda, 0x86, 0x8a, 0x3e, 0x34, 0x35, 0x4f, 0x1f, 0x9a, 0x5e, 0xb3, 0xca, 0x74, 0x79, 0x49, 0x1a, 0xe4, 0xa1, 0x79, 0xac, 0x0f, 0x4d, 0x5c, 0xd6, 0xf9, 0x1f, 0xba, 0xf7, 0xaa, 0xe8, 0x86, 0xa1, 0x71, 0xcb, 0x5b, 0x4b, 0x0e, 0xb1, 0xb8, 0x50, 0xe1, 0xe1, 0xb2, 0x2e, 0xfe, 0xa9, 0xff, 0x29, 0x07, 0x55, 0x49, 0x57, 0xd0, 0xe7, 0x50, 0x31, 0x2d, 0x2d, 0xb6, 0x4b, 0xbc, 0xcc, 0x21, 0x2f, 0x9b, 0x96, 0x28, 0xf8, 0xfb, 0x50, 0x27, 0xe7, 0xb4, 0xcf, 0xe2, 0x2a, 0x79, 0x59, 0xe1, 0x1a, 0x2f, 0x10, 0x31, 0x30, 0x27, 0x32, 0x83, 0xc2, 0xd5, 0x0c, 0x78, 0x01, 0x61, 0x3d, 0xff, 0x2e, 0x54, 0xf9, 0x8c, 0x3e, 0x30, 0x27, 0xe6, 0xcc, 0x38, 0x3f, 0x7a, 0x0f, 0x6a, 0x13, 0xfd, 0x3c, 0x5a, 0x45, 0xf8, 0x64, 0xad, 0x4e, 0xf4, 0xf3, 0x70, 0xb1, 0xf9, 0x0c, 0xd6, 0x3c, 0x71, 0x28, 0xad, 0xf9, 0xa7, 0x2e, 0xf1, 0x4e, 0xed, 0xb1, 0xa1, 0x39, 0x03, 0x5f, 0x18, 0x9a, 0x95, 0x00, 0xdb, 0x0f, 0x90, 0xbd, 0x81, 0xaf, 0xfe, 0xef, 0x79, 0x28, 0x07, 0x93, 0x08, 0xfd, 0x08, 0xea, 0xfa, 0xd4, 0x3f, 0xd5, 0x1c, 0xdd, 0xf3, 0xbe, 0xb3, 0x5d, 0x43, 0xd8, 0xd2, 0x1a, 0x05, 0xf6, 0x04, 0x0c, 0xdd, 0x86, 0xaa, 0x41, 0xbc, 0x81, 0x6b, 0x3a, 0xd2, 0xe9, 0xb2, 0x0c, 0x42, 0x37, 0xa0, 0xcc, 0x97, 0x7f, 0xdd, 0x0b, 0x82, 0xc5, 0xec, 0xbb, 0xc5, 0x56, 0xc4, 0xd0, 0x39, 0x09, 0x82, 0xd9, 0x45, 0xc6, 0xa1, 0x11, 0xc0, 0x5b, 0x22, 0xfe, 0xbf, 0x0e, 0x0b, 0x0e, 0x21, 0x2e, 0x65, 0xc2, 0x63, 0xc2, 0x25, 0xfa, 0xd9, 0xf2, 0xa8, 0xe3, 0xc5, 0x10, 0x23, 0xd7, 0x9e, 0x3a, 0x6c, 0xaa, 0x55, 0x70, 0x85, 0x42, 0xf6, 0x29, 0x80, 0x3a, 0x5e, 0x0c, 0xcd, 0xcc, 0x1f, 0x3f, 0xff, 0x2a, 0x53, 0x00, 0x3b, 0xaa, 0x3e, 0x82, 0x25, 0x97, 0x4c, 0xec, 0x33, 0xa2, 0x39, 0xae, 0x79, 0xa6, 0xfb, 0xd4, 0x79, 0x63, 0xb3, 0x6a, 0xf1, 0xa1, 0x9a, 0xb6, 0x2a, 0xdb, 0x98, 0xd1, 0xf6, 0x38, 0x69, 0xcb, 0xc3, 0x0d, 0x37, 0x0e, 0xa0, 0x7e, 0x13, 0x9f, 0x6a, 0xc3, 0xb1, 0xee, 0x68, 0x86, 0x3e, 0x71, 0x4c, 0x6b, 0xc4, 0x26, 0x5c, 0x19, 0x2b, 0x0c, 0xf3, 0x74, 0xac, 0x3b, 0x7b, 0x1c, 0x8e, 0xee, 0xc0, 0xa2, 0x47, 0x2c, 0x43, 0x13, 0x47, 0xf1, 0xfe, 0x85, 0x70, 0x1b, 0xeb, 0x14, 0xba, 0x1b, 0x00, 0x69, 0x03, 0xc5, 0xc9, 0xe4, 0x40, 0x77, 0xd8, 0x04, 0xaa, 0xe1, 0x0a, 0x87, 0xec, 0xea, 0xac, 0x81, 0xbc, 0x7b, 0x29, 0xb6, 0xc6, 0xb0, 0xbc, 0xbf, 0x29, 0x72, 0x11, 0xf2, 0xa6, 0xc1, 0x5c, 0xc7, 0x0a, 0xce, 0x9b, 0x06, 0xfa, 0x12, 0xea, 0xe2, 0x3c, 0x70, 0x4c, 0x15, 0xcc, 0x6b, 0x2e, 0x26, 0x97, 0x7e, 0x49, 0xfd, 0x70, 0xcd, 0x89, 0x3e, 0x3c, 0xaa, 0x0e, 0x62, 0x1c, 0xc5, 0x48, 0x71, 0x5f, 0xb2, 0xc6, 0x07, 0x53, 0x0c, 0xd3, 0xc7, 0x80, 0x22, 0x77, 0xd3, 0xf2, 0x89, 0x3b, 0xd4, 0x07, 0x84, 0xf9, 0x96, 0x15, 0xbc, 0x14, 0x7a, 0x9d, 0x01, 0x82, 0xee, 0x16, 0xce, 0xdc, 0x21, 0xf3, 0x2c, 0x2b, 0x2c, 0xfe, 0x8d, 0x6e, 0x43, 0x4d, 0x1f, 0x8f, 0xed, 0xef, 0x34, 0xaa, 0xb8, 0xba, 0x17, 0xb8, 0x93, 0x0c, 0xd6, 0xfd, 0xce, 0x6a, 0x79, 0xe8, 0x03, 0x68, 0xb8, 0x7c, 0xd3, 0xac, 0x05, 0x1a, 0xb1, 0xcc, 0x6f, 0xe1, 0x08, 0x70, 0x8f, 0x29, 0x86, 0xfa, 0x00, 0x1a, 0x89, 0x01, 0x43, 0x65, 0x28, 0x8a, 0xdd, 0x8f, 0x38, 0xdc, 0xce, 0xa1, 0x2a, 0x2c, 0xe0, 0x76, 0xef, 0xa0, 0xb5, 0xdb, 0x56, 0xf2, 0xea, 0x57, 0x50, 0x93, 0x57, 0x04, 0xd4, 0x84, 0x05, 0x7e, 0x78, 0x11, 0xdc, 0x9d, 0x0b, 0x3e, 0xd9, 0x0c, 0x14, 0x54, 0x9a, 0xef, 0x8f, 0xc3, 0x19, 0x28, 0x60, 0x7d, 0x7f, 0xac, 0xfe, 0x51, 0x0e, 0x16, 0xe3, 0x0b, 0x04, 0x9d, 0x94, 0x89, 0x35, 0x45, 0x1b, 0x8c, 0xcd, 0x20, 0x6e, 0x50, 0xc6, 0x2b, 0xf1, 0x05, 0x64, 0x97, 0xe1, 0xd0, 0x23, 0xd8, 0x48, 0x97, 0x9a, 0x7a, 0xd4, 0x8f, 0x0c, 0x2f, 0x2a, 0xac, 0x27, 0x4b, 0x32, 0x7c, 0xc7, 0x50, 0xff, 0x75, 0x09, 0x2a, 0xe1, 0x72, 0xf3, 0x7f, 0x61, 0x4a, 0x6f, 0x43, 0x79, 0x42, 0x3c, 0x4f, 0x1f, 0x09, 0xe7, 0x36, 0x66, 0xbc, 0x0f, 0x05, 0x06, 0x87, 0x34, 0x99, 0x26, 0x60, 0xfe, 0x4a, 0x13, 0x50, 0xba, 0xc4, 0x04, 0x2c, 0x5c, 0x6a, 0x02, 0xca, 0x09, 0x13, 0x70, 0x0f, 0x4a, 0xbf, 0x9e, 0x92, 0x29, 0xf1, 0xc4, 0xba, 0x28, 0x2d, 0xbd, 0x5f, 0x33, 0x38, 0x16, 0x78, 0xb4, 0x95, 0x65, 0x2c, 0xf8, 0x8c, 0xbd, 0xa6, 0x21, 0xa8, 0x5e, 0xdb, 0x10, 0xd4, 0xb2, 0x0c, 0x01, 0x3b, 0x49, 0xf7, 0x3c, 0xba, 0xe1, 0xe5, 0xa1, 0x92, 0x3a, 0xa3, 0xaa, 0x09, 0x20, 0x1f, 0xe1, 0x9f, 0xc0, 0x9a, 0x37, 0x75, 0xe8, 0x92, 0x42, 0x0c, 0x6a, 0x12, 0xf4, 0x13, 0x73, 0x6c, 0xfa, 0xd4, 0xff, 0x5a, 0x64, 0xa7, 0x78, 0xab, 0x21, 0x76, 0x57, 0x42, 0xd2, 0x3e, 0xa2, 0x9e, 0x12, 0xe7, 0xcb, 0x27, 0x76, 0xf9, 0x64, 0xe4, 0x70, 0x9e, 0xbf, 0x0f, 0x55, 0xdd, 0x98, 0x98, 0x41, 0xb5, 0x4a, 0x32, 0x42, 0x13, 0xea, 0xd7, 0x76, 0x8b, 0x92, 0x71, 0xcf, 0x06, 0xf4, 0xf0, 0x3f, 0x75, 0x03, 0x83, 0x3b, 0x01, 0x6c, 0xae, 0xd7, 0x71, 0xf8, 0x4d, 0x71, 0xfa, 0x60, 0x40, 0x1c, 0x9f, 0x18, 0x62, 0xb2, 0x87, 0xdf, 0x74, 0x67, 0xa9, 0x47, 0xd7, 0x57, 0x97, 0x85, 0x29, 0x88, 0x2e, 0xae, 0x2e, 0xc3, 0xbc, 0x3d, 0xf5, 0xb5, 0x5f, 0xb3, 0xbd, 0x62, 0x1d, 0x17, 0xed, 0xa9, 0xff, 0x35, 0xdd, 0x31, 0x0f, 0xc7, 0xb6, 0x43, 0x77, 0x83, 0x14, 0xc8, 0x3f, 0xd4, 0x2d, 0x80, 0x48, 0x38, 0x54, 0x82, 0xfc, 0xf3, 0x1e, 0xbf, 0x02, 0xb3, 0xd7, 0xfd, 0xc5, 0x91, 0x92, 0x43, 0x00, 0xa5, 0xde, 0xd3, 0x97, 0xda, 0x6e, 0x5f, 0xc9, 0xab, 0x7f, 0x0b, 0xca, 0x81, 0xa6, 0xa2, 0x8f, 0x25, 0xd1, 0xb9, 0x2f, 0xb1, 0x94, 0xd2, 0x67, 0xa9, 0x35, 0x77, 0xa0, 0xe8, 0x05, 0x77, 0x50, 0x32, 0x49, 0x19, 0x5a, 0xfd, 0x8b, 0x1c, 0x2c, 0x08, 0x08, 0x52, 0xa1, 0x76, 0xd4, 0xed, 0x77, 0x9e, 0x76, 0x76, 0x5b, 0xfd, 0x4e, 0xf7, 0x88, 0xd5, 0x52, 0xc4, 0x31, 0x18, 0x75, 0x04, 0x9e, 0xf7, 0xf6, 0x5a, 0xfd, 0x36, 0x63, 0x5c, 0xc4, 0xe2, 0x8b, 0x6e, 0x29, 0xba, 0xbd, 0xf6, 0x91, 0xb8, 0x4b, 0xc5, 0xfe, 0xa3, 0x77, 0xa0, 0xf2, 0x55, 0xbb, 0xdd, 0x6b, 0x1d, 0x74, 0x5e, 0xb4, 0xd9, 0x14, 0x2c, 0xe2, 0x08, 0x40, 0x4d, 0x1a, 0x6e, 0x3f, 0xc5, 0xed, 0xe3, 0x67, 0x6c, 0x9a, 0x15, 0x71, 0xf0, 0x49, 0xcb, 0xed, 0x75, 0x8e, 0x77, 0x5b, 0x78, 0xaf, 0xbd, 0xc7, 0x26, 0x58, 0x11, 0x47, 0x00, 0xda, 0xab, 0xfd, 0x6e, 0xbf, 0x75, 0xc0, 0xa6, 0x57, 0x11, 0xf3, 0x0f, 0x75, 0x07, 0x4a, 0x7c, 0x96, 0x50, 0xbc, 0x69, 0x39, 0x53, 0x5f, 0x78, 0x2a, 0xfc, 0x83, 0xca, 0x6d, 0x4f, 0x7d, 0x0a, 0x16, 0xfb, 0x09, 0xfe, 0xa5, 0x12, 0x28, 0x71, 0xc7, 0x16, 0x6d, 0x43, 0x89, 0xfa, 0xea, 0xe6, 0x48, 0xf4, 0xee, 0x5a, 0xd2, 0xf5, 0xdd, 0x65, 0x58, 0x2c, 0xa8, 0xd0, 0x8f, 0xe3, 0xf7, 0x26, 0x56, 0x93, 0xe4, 0xb1, 0x9b, 0x13, 0x7f, 0x91, 0x83, 0x9a, 0xcc, 0x85, 0x4e, 0xa1, 0x81, 0x6d, 0x59, 0x64, 0xe0, 0x6b, 0x2e, 0xf1, 0xdd, 0x8b, 0xa0, 0xb3, 0x05, 0x10, 0x53, 0x18, 0x9d, 0x0b, 0xcc, 0x59, 0x0a, 0x2f, 0xf1, 0x14, 0x71, 0x99, 0x02, 0x28, 0x27, 0xba, 0xc0, 0x7d, 0x4b, 0x88, 0xa3, 0x8f, 0xcd, 0x33, 0xa2, 0x25, 0xee, 0xb2, 0x2d, 0x85, 0x98, 0x8e, 0x40, 0xa0, 0x3d, 0xb8, 0x39, 0x31, 0x2d, 0x73, 0x32, 0x9d, 0x68, 0xa1, 0xde, 0x52, 0xbf, 0x2f, 0x2a, 0xca, 0x47, 0xe8, 0x1d, 0x41, 0xd5, 0x92, 0x89, 0x02, 0x2e, 0xea, 0x9f, 0xe5, 0xa1, 0x2a, 0x35, 0xef, 0xff, 0xd1, 0x66, 0xb0, 0x68, 0x1b, 0x19, 0xd9, 0xbe, 0xa9, 0x53, 0xe3, 0x14, 0x09, 0xc7, 0x15, 0x11, 0x45, 0xb8, 0x67, 0x81, 0x98, 0xd1, 0x35, 0x2b, 0xae, 0x90, 0x59, 0xd7, 0xac, 0xb8, 0x42, 0x86, 0xdf, 0xea, 0xff, 0xca, 0x41, 0x25, 0xdc, 0x08, 0xa5, 0xbd, 0x96, 0x5c, 0x86, 0xd7, 0xf2, 0x2e, 0x00, 0x27, 0x92, 0xae, 0x98, 0x70, 0xaf, 0xaa, 0x27, 0x78, 0x4c, 0xfc, 0xa9, 0x66, 0x98, 0xde, 0xc0, 0x3e, 0x23, 0xee, 0x85, 0x88, 0xef, 0xd4, 0x26, 0xfe, 0x74, 0x2f, 0x80, 0x51, 0x8f, 0x80, 0xae, 0xaa, 0xb4, 0x3f, 0x27, 0xb6, 0x11, 0x5c, 0x77, 0xa8, 0x0a, 0xd8, 0xa1, 0x6d, 0x10, 0x6a, 0xe7, 0x85, 0x27, 0x17, 0x5f, 0xe9, 0xea, 0x1c, 0xda, 0xca, 0xbe, 0x8a, 0x56, 0x0a, 0xae, 0x7d, 0x05, 0x57, 0xd1, 0xe8, 0x42, 0xe8, 0x0f, 0x1c, 0x6d, 0xe2, 0x79, 0xc2, 0xa3, 0x2d, 0xf9, 0x03, 0xe7, 0xd0, 0xf3, 0xd4, 0xc7, 0x50, 0x95, 0x36, 0x73, 0x68, 0x1b, 0x96, 0xe5, 0x9d, 0x5f, 0xdc, 0xd7, 0x58, 0x92, 0x76, 0x7a, 0xdc, 0xd1, 0x50, 0xff, 0xbc, 0x00, 0x8d, 0xc4, 0x76, 0xee, 0x72, 0x17, 0x48, 0x6c, 0x0a, 0x23, 0x15, 0xab, 0xe3, 0xaa, 0x80, 0xb1, 0xe1, 0xbb, 0x05, 0xd5, 0x53, 0x32, 0x76, 0x88, 0xab, 0xd9, 0xd6, 0x38, 0xe8, 0x36, 0xe0, 0xa0, 0xae, 0x35, 0x66, 0x4b, 0x9a, 0x41, 0x86, 0xc4, 0x75, 0xf5, 0x31, 0x67, 0xc2, 0x2f, 0xc1, 0xd5, 0x02, 0x20, 0xe3, 0xf2, 0x00, 0x56, 0xd8, 0xd5, 0x31, 0x71, 0x59, 0x55, 0x0b, 0xe4, 0xe1, 0xc1, 0xa7, 0x65, 0x19, 0xd7, 0x16, 0xb2, 0xfd, 0x18, 0x96, 0xc6, 0xb6, 0x35, 0x1a, 0xb3, 0xab, 0x69, 0x01, 0x7d, 0x89, 0x2f, 0xbf, 0x21, 0x22, 0x20, 0xde, 0x82, 0x25, 0x16, 0x55, 0xd5, 0x58, 0x8f, 0x78, 0x5a, 0xa8, 0x55, 0x75, 0xdc, 0x60, 0x08, 0xd6, 0xa7, 0x1e, 0x93, 0x65, 0x0b, 0x96, 0x98, 0x2f, 0x11, 0x6b, 0x39, 0xf7, 0x29, 0x1a, 0x14, 0x81, 0xa5, 0xd6, 0xdf, 0x85, 0x86, 0x4c, 0x1b, 0x6d, 0x05, 0x16, 0x25, 0x4a, 0xba, 0xfe, 0x87, 0x01, 0x52, 0x89, 0x12, 0x78, 0x60, 0x90, 0xc1, 0x25, 0x52, 0x04, 0x45, 0xa6, 0x5d, 0x3c, 0x84, 0xcc, 0xfe, 0xab, 0x9f, 0xc2, 0xfa, 0xa1, 0x93, 0x18, 0x37, 0x61, 0xef, 0x66, 0x8e, 0x9e, 0xfa, 0x1f, 0x73, 0xb0, 0x96, 0x2a, 0xc5, 0xad, 0xcb, 0xec, 0x21, 0x97, 0xd7, 0x71, 0x7e, 0x8c, 0x16, 0xad, 0x7c, 0xf1, 0xb5, 0x5a, 0x0c, 0xb5, 0xb4, 0x56, 0x7f, 0x0c, 0xcb, 0xe2, 0x6a, 0x9e, 0x6b, 0x9e, 0x68, 0x21, 0x9b, 0x62, 0xf0, 0x26, 0xc5, 0xe8, 0x0e, 0x59, 0x08, 0x29, 0x5c, 0x48, 0x1b, 0x12, 0x39, 0x5b, 0x53, 0xf9, 0x78, 0xd7, 0x02, 0xd2, 0x63, 0xaa, 0xb2, 0xbf, 0xcd, 0xc1, 0x52, 0xaa, 0x19, 0xe8, 0xf7, 0x12, 0x8b, 0xca, 0x7b, 0xd2, 0x3a, 0x9c, 0xdd, 0x53, 0xe1, 0xfa, 0xb2, 0x13, 0x5f, 0x5f, 0x6e, 0x5f, 0x52, 0x32, 0xb6, 0xd4, 0xb4, 0xa0, 0x2e, 0x42, 0x19, 0xa2, 0xeb, 0x67, 0xed, 0xdd, 0xa5, 0xde, 0xcd, 0xc7, 0x87, 0xe4, 0x1f, 0xe4, 0xa0, 0x26, 0x78, 0x84, 0x97, 0x4c, 0xdf, 0x8c, 0x05, 0x9d, 0x70, 0xbe, 0xed, 0x53, 0x43, 0x26, 0xae, 0x2b, 0x33, 0xd3, 0xc1, 0x40, 0x2c, 0x56, 0x42, 0x4d, 0x90, 0x20, 0x90, 0x23, 0xd0, 0x75, 0x5c, 0xe7, 0x34, 0x41, 0x14, 0xf1, 0x1f, 0x17, 0x60, 0x53, 0x58, 0x92, 0x31, 0xbf, 0x78, 0xcf, 0xc3, 0x9f, 0xc1, 0x3a, 0xfa, 0x11, 0x20, 0x7d, 0xfc, 0x9d, 0x7e, 0xe1, 0x51, 0x9f, 0xd5, 0xd1, 0x5d, 0xa2, 0x4d, 0xa2, 0xf7, 0x45, 0x1c, 0xb3, 0xcb, 0x11, 0x87, 0xc4, 0x40, 0x0f, 0x60, 0xd5, 0x1c, 0x59, 0xb6, 0x4b, 0x3d, 0x66, 0x26, 0x59, 0x70, 0x2c, 0x26, 0x6e, 0x0a, 0x70, 0x64, 0xcb, 0xa3, 0x22, 0xf2, 0xa3, 0x30, 0xba, 0xe7, 0x09, 0x0e, 0x36, 0xc2, 0x2a, 0xd8, 0xf4, 0x64, 0x7b, 0x1e, 0xae, 0x5d, 0xeb, 0x01, 0x85, 0xa8, 0x8a, 0x09, 0xec, 0x76, 0xe8, 0x2e, 0xf7, 0x46, 0xa8, 0x78, 0x9a, 0x69, 0xe9, 0x03, 0x9f, 0x5a, 0x65, 0x3e, 0xbb, 0x85, 0xc2, 0xad, 0x87, 0x04, 0x1d, 0x81, 0xe7, 0x93, 0x9c, 0xf6, 0x20, 0xef, 0x4c, 0x4d, 0x37, 0x47, 0x4e, 0x10, 0xe0, 0x16, 0x4f, 0xa6, 0xcc, 0x91, 0x83, 0xbe, 0x84, 0x0d, 0xd1, 0x18, 0x8b, 0x9c, 0xfb, 0x1a, 0x3b, 0x20, 0x19, 0x39, 0xda, 0x84, 0xf8, 0xae, 0x39, 0x10, 0x36, 0x66, 0x8d, 0x53, 0x1c, 0x91, 0x73, 0xff, 0x99, 0xed, 0x74, 0x46, 0xce, 0x21, 0xc3, 0xa2, 0xc7, 0xb0, 0x69, 0xf0, 0x5b, 0x82, 0xda, 0x09, 0xf1, 0x7c, 0xde, 0x17, 0x5e, 0xd0, 0xc5, 0xcc, 0xe6, 0x94, 0x71, 0x53, 0x90, 0x3c, 0x21, 0x1e, 0x0b, 0x33, 0x87, 0x43, 0xa0, 0xfe, 0xa3, 0x02, 0x6c, 0x64, 0x8e, 0x0a, 0x57, 0x97, 0xff, 0x3f, 0x28, 0xbf, 0x93, 0x41, 0xc9, 0xc1, 0x6a, 0xe6, 0xa0, 0xa0, 0xc7, 0x09, 0x2b, 0x74, 0x27, 0x15, 0x72, 0xcd, 0x9a, 0x5b, 0xa1, 0x25, 0xfa, 0x32, 0x6e, 0x89, 0xde, 0xbf, 0xa2, 0x74, 0xcc, 0x1a, 0x3d, 0x84, 0xb5, 0xe7, 0x1e, 0x61, 0x71, 0x0c, 0x67, 0xcc, 0x9e, 0x6a, 0x79, 0x57, 0xae, 0x08, 0x0f, 0x60, 0x35, 0x59, 0xe6, 0x8a, 0xf5, 0x40, 0xfd, 0x15, 0x40, 0xfb, 0x64, 0xe4, 0x08, 0xd6, 0x5b, 0xb0, 0xc4, 0x43, 0x37, 0x13, 0xc1, 0x83, 0x6e, 0x90, 0x79, 0x89, 0x06, 0x43, 0x04, 0xbc, 0x5b, 0x2c, 0x98, 0x34, 0xd1, 0xcf, 0x99, 0x43, 0x19, 0x1c, 0xb1, 0xb1, 0x85, 0x5f, 0x00, 0x79, 0x60, 0xf7, 0x0f, 0xa1, 0xd2, 0x0e, 0x37, 0xa1, 0x6f, 0x9d, 0xbb, 0x06, 0x45, 0xca, 0x1d, 0x7d, 0x94, 0x18, 0xa6, 0x95, 0xf8, 0xf1, 0x40, 0x62, 0x54, 0x66, 0xdf, 0xdb, 0x0e, 0x45, 0x0d, 0x06, 0xe1, 0x01, 0x40, 0x27, 0xea, 0x9d, 0x94, 0x4c, 0xb9, 0x0c, 0x99, 0x3e, 0x81, 0x4a, 0x27, 0x6c, 0xf1, 0xb5, 0x4a, 0x68, 0x50, 0xec, 0x5c, 0xd1, 0x8a, 0xce, 0x9b, 0xb4, 0xa2, 0x93, 0x6c, 0xc5, 0x5f, 0xe5, 0x40, 0x49, 0xea, 0x05, 0xfa, 0x22, 0x51, 0x9b, 0xb4, 0x4c, 0x66, 0xeb, 0x5d, 0x58, 0xf3, 0x4f, 0xe2, 0x35, 0xdf, 0x9a, 0x5d, 0x30, 0x76, 0xd1, 0x43, 0x85, 0x22, 0x39, 0x19, 0x39, 0xe9, 0xe7, 0x96, 0xb4, 0xd7, 0x31, 0xc3, 0x51, 0x1a, 0x93, 0xd2, 0xa4, 0x9e, 0x34, 0x76, 0x18, 0x0d, 0xc5, 0xa9, 0x4f, 0xc4, 0xba, 0xd6, 0xd7, 0xdd, 0x11, 0xf1, 0x0f, 0xc9, 0xe4, 0x84, 0xb8, 0xde, 0xa9, 0x29, 0x0d, 0x52, 0xdc, 0x1f, 0xcd, 0xa5, 0xfd, 0x51, 0xb5, 0x25, 0xac, 0x70, 0x92, 0x47, 0x38, 0x6a, 0x57, 0xb3, 0x08, 0x8d, 0x46, 0x92, 0xc7, 0x95, 0x46, 0x23, 0x5b, 0xf0, 0xeb, 0x1a, 0x8d, 0x4c, 0x91, 0x83, 0x91, 0xfe, 0x15, 0xdc, 0x3c, 0xb0, 0xad, 0xd1, 0x01, 0xf5, 0xbf, 0xde, 0xd0, 0x9d, 0xbc, 0xc6, 0x66, 0x40, 0xfd, 0xaf, 0x39, 0x78, 0x77, 0x16, 0xff, 0x1f, 0xd2, 0xf1, 0xcc, 0x74, 0xd9, 0x8b, 0xd9, 0x2e, 0xfb, 0x23, 0xd8, 0x48, 0xd1, 0xba, 0x1a, 0x39, 0x77, 0x4c, 0x37, 0xdc, 0x70, 0xac, 0x27, 0x0a, 0xb9, 0x6d, 0x8e, 0x56, 0xff, 0x69, 0x0e, 0x9a, 0xb3, 0x1a, 0x88, 0x7e, 0x9e, 0x18, 0x57, 0xe9, 0x25, 0xd7, 0xe5, 0x9d, 0x1e, 0x0e, 0xed, 0xe3, 0xf8, 0xd0, 0xde, 0xbd, 0x9a, 0x41, 0x6c, 0x74, 0xff, 0x74, 0x1e, 0x16, 0x84, 0x77, 0x89, 0xbe, 0x82, 0xe5, 0x89, 0xa3, 0xa5, 0xce, 0xf6, 0xb8, 0x64, 0x9b, 0x97, 0xb8, 0xbc, 0x78, 0x69, 0x92, 0x72, 0xb6, 0xef, 0x87, 0x2d, 0xe3, 0x82, 0xad, 0xa7, 0x0e, 0xf7, 0x12, 0x0d, 0x49, 0x1e, 0xfc, 0x16, 0xae, 0x7d, 0xf0, 0xfb, 0x0b, 0x58, 0x0f, 0x36, 0xb4, 0x62, 0xf1, 0x13, 0xe7, 0xf8, 0x41, 0xac, 0xf9, 0xd6, 0x15, 0x8b, 0x24, 0x5e, 0x75, 0x33, 0x97, 0xea, 0x67, 0x80, 0xa6, 0x1e, 0x89, 0x96, 0x16, 0x6e, 0x6f, 0xe7, 0x93, 0xa7, 0x77, 0x49, 0x13, 0x85, 0x95, 0x69, 0xd2, 0x32, 0xa6, 0x4e, 0x58, 0x4a, 0xc9, 0xd6, 0xcd, 0x3e, 0x61, 0x09, 0x9b, 0xe7, 0xb3, 0x69, 0xaa, 0x4d, 0xc2, 0x79, 0x2a, 0xce, 0x85, 0x6f, 0x5d, 0x31, 0x9d, 0x45, 0xf3, 0x52, 0x46, 0x45, 0x87, 0x4d, 0xba, 0xeb, 0xd5, 0xf8, 0x7e, 0x38, 0x35, 0xee, 0xfc, 0x1c, 0x59, 0xbd, 0x5a, 0xa1, 0x70, 0x73, 0x3c, 0x4b, 0xbf, 0x63, 0xa7, 0xb6, 0x95, 0x6b, 0x9c, 0xda, 0xb6, 0xc3, 0x97, 0xf9, 0x92, 0x6b, 0x22, 0x26, 0x75, 0x30, 0xfd, 0xc5, 0x27, 0xba, 0x01, 0x65, 0x16, 0x20, 0x9f, 0xe8, 0xe7, 0xc2, 0xb2, 0x2c, 0xd0, 0xef, 0x43, 0xfd, 0x5c, 0xdd, 0x63, 0x0f, 0x35, 0xe2, 0xde, 0xca, 0x9b, 0x73, 0xf9, 0x16, 0xca, 0x01, 0x17, 0xf4, 0x49, 0x62, 0xa6, 0x36, 0xd3, 0xcd, 0x48, 0x28, 0xf4, 0xc7, 0xf1, 0x99, 0xb9, 0x9e, 0x2e, 0x10, 0x9b, 0x89, 0x53, 0x28, 0x89, 0x6b, 0x2a, 0x9b, 0x50, 0x31, 0x1d, 0x2d, 0x76, 0x53, 0xa5, 0x6c, 0x06, 0x77, 0x58, 0x3e, 0x80, 0xc6, 0x44, 0xf7, 0xbe, 0x15, 0x6e, 0xb9, 0x36, 0x11, 0xaf, 0xcd, 0xeb, 0xb8, 0x4e, 0xc1, 0xdc, 0x25, 0x3f, 0x34, 0xad, 0x14, 0x9d, 0x7e, 0x2e, 0xf6, 0x7d, 0x32, 0x9d, 0x7e, 0xae, 0xfe, 0x69, 0x0e, 0x20, 0x7a, 0x96, 0xf0, 0xd7, 0x7c, 0x3b, 0x42, 0x61, 0x63, 0xd3, 0xf3, 0xd9, 0xed, 0xc9, 0x0a, 0x66, 0xff, 0xd9, 0x75, 0xf8, 0xf8, 0xa5, 0x15, 0x25, 0xa9, 0xf6, 0xd2, 0x4d, 0x95, 0x7d, 0x28, 0x1f, 0xea, 0xfe, 0xe0, 0x94, 0x0a, 0x73, 0x37, 0x26, 0x8c, 0xe4, 0x8e, 0x30, 0x8a, 0x2b, 0x9e, 0xb1, 0xbc, 0x80, 0x5a, 0x6c, 0x9b, 0xb2, 0x1d, 0x63, 0x26, 0x4d, 0x5f, 0x99, 0x4a, 0xe2, 0xb9, 0x06, 0x25, 0x69, 0xeb, 0x53, 0xc7, 0xe2, 0x4b, 0xfd, 0x27, 0xf3, 0x00, 0xbb, 0xb6, 0x65, 0x98, 0xdc, 0x46, 0x3c, 0x00, 0xf1, 0x70, 0x52, 0x8b, 0xde, 0x82, 0xa0, 0x84, 0xa4, 0xc7, 0xc4, 0xc7, 0x15, 0x4e, 0x45, 0x9b, 0xf5, 0x13, 0xa8, 0x85, 0x87, 0x5b, 0xb4, 0x50, 0x7e, 0x66, 0xa1, 0xf0, 0x92, 0x1e, 0x2d, 0xf6, 0x53, 0x58, 0x4c, 0xec, 0xc9, 0x0a, 0xc9, 0xd8, 0xb8, 0xdc, 0x14, 0x5c, 0xd3, 0xe5, 0xe6, 0x3f, 0x84, 0x6a, 0x50, 0x9a, 0xd6, 0x59, 0x9c, 0x2d, 0x28, 0x2f, 0x46, 0x6b, 0xfc, 0x3c, 0x7c, 0x25, 0xee, 0x5f, 0xb0, 0x52, 0xf3, 0x33, 0x4b, 0xd5, 0x42, 0x42, 0x5a, 0xf0, 0x67, 0xb0, 0x44, 0x37, 0x5c, 0xf1, 0xc2, 0xa5, 0x99, 0x85, 0x1b, 0xe4, 0xdc, 0xdf, 0x95, 0xcb, 0xdf, 0x82, 0xaa, 0xeb, 0x7c, 0x6b, 0x52, 0x53, 0x34, 0x1d, 0xfb, 0xcc, 0xcc, 0xcd, 0x63, 0x70, 0xf9, 0xab, 0xb5, 0xe9, 0xd8, 0x47, 0x8f, 0x01, 0xa2, 0xa7, 0x68, 0xe2, 0x6c, 0x5e, 0x3a, 0x7a, 0x8a, 0xc6, 0x47, 0x58, 0x44, 0x3a, 0xac, 0x95, 0xf0, 0xa5, 0x1a, 0x7a, 0x02, 0xcb, 0x63, 0x6a, 0x0d, 0x13, 0x12, 0x56, 0x66, 0x4a, 0xb8, 0xc4, 0xc8, 0x63, 0x32, 0xde, 0x05, 0x25, 0xda, 0x55, 0x5a, 0x1a, 0x53, 0x7b, 0x60, 0x6a, 0x5f, 0xb7, 0xc4, 0x66, 0xd2, 0x3a, 0x30, 0x3d, 0x5f, 0x3d, 0x85, 0x4a, 0x28, 0x04, 0x5a, 0x86, 0x06, 0xee, 0x3e, 0xef, 0xb7, 0xb5, 0xfe, 0x37, 0xbd, 0xf0, 0x22, 0xef, 0x3a, 0x2c, 0x4b, 0xc0, 0xce, 0x51, 0xbf, 0x8d, 0x8f, 0x5a, 0x07, 0x4a, 0x2e, 0x81, 0x68, 0xbf, 0x14, 0x88, 0x3c, 0x5a, 0x01, 0x45, 0x42, 0x88, 0xb7, 0xd9, 0xea, 0x10, 0x1a, 0xa1, 0x88, 0x2d, 0x9e, 0x18, 0xe1, 0x41, 0x4c, 0xeb, 0xdf, 0x95, 0xbb, 0x28, 0x46, 0x28, 0x29, 0xfe, 0x6d, 0xa8, 0x06, 0xdd, 0x62, 0x86, 0xcf, 0xfc, 0x64, 0x90, 0x7a, 0x04, 0x95, 0x43, 0x62, 0x88, 0x1a, 0x7e, 0x1c, 0xab, 0x61, 0x5d, 0x3e, 0xdb, 0x32, 0x52, 0xbc, 0x57, 0x60, 0xfe, 0x4c, 0x1f, 0x4f, 0x83, 0x57, 0xd0, 0xfc, 0x43, 0xd5, 0xa0, 0xd1, 0xf2, 0x7a, 0x2e, 0x71, 0x88, 0x15, 0x70, 0x55, 0xa0, 0xa0, 0x7b, 0x96, 0xf0, 0x92, 0xe9, 0x5f, 0x3a, 0x1f, 0x29, 0x85, 0x1e, 0x1e, 0x1a, 0xf1, 0x2f, 0xa4, 0x42, 0x9d, 0x2e, 0xd2, 0x63, 0x32, 0xf4, 0xb5, 0x89, 0xed, 0xf9, 0xc2, 0xd7, 0xab, 0x4e, 0x3d, 0x72, 0x40, 0x86, 0xfe, 0xa1, 0xcd, 0xae, 0xc6, 0xd7, 0xc5, 0xed, 0x54, 0xc1, 0xfe, 0xd2, 0x17, 0xa5, 0x1e, 0x19, 0x0f, 0x85, 0x3f, 0xc9, 0xfe, 0xab, 0x77, 0xa1, 0x71, 0xc0, 0xc2, 0xfe, 0x2e, 0x19, 0x0a, 0x06, 0x61, 0x43, 0xc4, 0xc1, 0x16, 0x6f, 0xc8, 0x7f, 0x2e, 0xc0, 0x02, 0x27, 0xf0, 0xa2, 0x0b, 0x56, 0x3a, 0x8f, 0x18, 0xa4, 0x2c, 0x2a, 0x53, 0x0a, 0x4e, 0x2d, 0x2e, 0x58, 0x09, 0xde, 0x9f, 0x43, 0x25, 0x3a, 0xf3, 0xcd, 0x27, 0x6f, 0x56, 0x25, 0x06, 0x0e, 0x47, 0xb4, 0xe8, 0x0e, 0x14, 0x26, 0xc2, 0xd9, 0x8d, 0xed, 0xde, 0xc2, 0x91, 0xc0, 0x14, 0x8f, 0xbe, 0x00, 0xa0, 0xa6, 0x80, 0xf7, 0xb7, 0xb0, 0x04, 0x37, 0x62, 0x46, 0x44, 0x1e, 0x0a, 0x66, 0x10, 0x38, 0x00, 0xfd, 0x0c, 0xea, 0xb1, 0x79, 0x2d, 0x0c, 0xc2, 0x25, 0xd2, 0xd5, 0xe4, 0xa9, 0x8d, 0x1e, 0xc0, 0x82, 0xb8, 0x3e, 0x2c, 0xac, 0x81, 0xa4, 0x2e, 0xb1, 0x01, 0xc2, 0x01, 0x1d, 0x15, 0x56, 0x1c, 0xc2, 0xb8, 0x64, 0x28, 0x1c, 0x9e, 0x1b, 0xb2, 0x4f, 0x12, 0x1b, 0x97, 0xe0, 0x7c, 0xc6, 0x25, 0x43, 0xf4, 0x04, 0x1a, 0x89, 0x49, 0x2e, 0x5c, 0x9a, 0x4b, 0xc4, 0x5d, 0x8c, 0xcf, 0x73, 0xf5, 0x37, 0x39, 0xa8, 0x84, 0xef, 0x79, 0xc2, 0x65, 0x26, 0x27, 0xad, 0x78, 0x9f, 0x01, 0x0c, 0x42, 0x6b, 0x23, 0x46, 0x6b, 0x25, 0xcb, 0x12, 0x61, 0x89, 0x0e, 0xfd, 0x18, 0x16, 0xb8, 0x5a, 0x78, 0x62, 0xb4, 0xe4, 0xbb, 0x6f, 0x1c, 0x81, 0x03, 0x0a, 0xf5, 0x6b, 0x28, 0x09, 0x4f, 0x37, 0x4b, 0x80, 0xf8, 0x8b, 0xc0, 0xfc, 0xf5, 0x5e, 0x04, 0xfe, 0xb7, 0x1c, 0x28, 0xc9, 0x4b, 0x67, 0xe8, 0x5e, 0x6c, 0x26, 0xaf, 0x24, 0xaf, 0xa7, 0x49, 0xd3, 0x58, 0x4e, 0xa0, 0x91, 0xbf, 0x46, 0x02, 0x8d, 0xac, 0xec, 0x4c, 0xf2, 0x2b, 0xb9, 0xe2, 0x55, 0xaf, 0xe4, 0xd0, 0x7d, 0x58, 0x30, 0xc8, 0x50, 0xa7, 0xab, 0xc1, 0xfc, 0x65, 0x13, 0x29, 0xa0, 0x52, 0xff, 0x61, 0x0e, 0x0a, 0xd8, 0xd6, 0xd1, 0x22, 0xe4, 0xf5, 0x20, 0x46, 0x92, 0xd7, 0x3d, 0xf4, 0x0e, 0x88, 0x95, 0x78, 0x4c, 0x02, 0xcf, 0x29, 0x02, 0x50, 0x23, 0x33, 0xd1, 0x19, 0x4a, 0x5c, 0xbc, 0xe5, 0x5f, 0xd2, 0x4d, 0xd7, 0x62, 0xec, 0xe6, 0x70, 0x70, 0xe7, 0x74, 0xfe, 0xf2, 0x77, 0xfd, 0xea, 0x5d, 0x7e, 0xff, 0xd9, 0xd6, 0xaf, 0x7a, 0xab, 0xcf, 0x9f, 0x25, 0x33, 0xc2, 0xe8, 0x59, 0xb2, 0x6b, 0xeb, 0x19, 0xcf, 0x92, 0x29, 0x11, 0x43, 0xa9, 0x1e, 0x14, 0x5e, 0xb8, 0xc3, 0x4c, 0xed, 0x58, 0x84, 0xbc, 0xcb, 0x37, 0xc7, 0x35, 0x9c, 0x77, 0x0d, 0xe6, 0x5b, 0xf2, 0xbb, 0x88, 0x2e, 0xf7, 0xd2, 0x6a, 0xb8, 0xcc, 0x01, 0x98, 0x25, 0x70, 0x11, 0x37, 0x1d, 0x5d, 0x9f, 0x8d, 0x49, 0x0d, 0x97, 0x39, 0x00, 0xfb, 0xe2, 0xd2, 0x18, 0xbf, 0x65, 0x97, 0x37, 0x0d, 0xf5, 0xb7, 0x39, 0x58, 0xd9, 0xe3, 0x9d, 0xcd, 0x06, 0x60, 0xcf, 0xf4, 0x7c, 0xdd, 0x1a, 0x10, 0xb4, 0x03, 0x61, 0xb4, 0x97, 0x07, 0x72, 0x35, 0x43, 0xa0, 0x44, 0x5b, 0x57, 0x03, 0x74, 0xaa, 0x1c, 0x3b, 0x37, 0xce, 0x28, 0xc7, 0xc7, 0x69, 0x35, 0x40, 0xc7, 0xca, 0xa9, 0xff, 0xae, 0x08, 0x25, 0xfe, 0x16, 0x29, 0x35, 0xd8, 0x9b, 0x50, 0x89, 0x22, 0xd1, 0x22, 0xeb, 0x8c, 0x1b, 0x84, 0x9e, 0x6f, 0x41, 0x95, 0x2e, 0xda, 0xc4, 0xe2, 0x07, 0xaa, 0x05, 0xee, 0x64, 0x70, 0x10, 0x3b, 0x50, 0xfd, 0x10, 0x14, 0x41, 0x20, 0x16, 0x07, 0xa1, 0xa9, 0x15, 0xdc, 0xe0, 0xf0, 0x56, 0x00, 0x8e, 0xdd, 0x68, 0x9e, 0x4f, 0xdc, 0x68, 0xfe, 0x28, 0x73, 0x17, 0x29, 0x8e, 0x1d, 0x53, 0x3b, 0xc5, 0x5f, 0xcd, 0xde, 0xcc, 0x2e, 0xbc, 0x49, 0xbc, 0x78, 0xc6, 0x96, 0xb6, 0x0f, 0x6b, 0x62, 0x86, 0x24, 0xfb, 0x98, 0xdb, 0xc6, 0x9b, 0x31, 0x8f, 0x3f, 0x35, 0xb8, 0x78, 0xc5, 0xc8, 0x1a, 0xf2, 0xc7, 0xec, 0xe6, 0xc1, 0x90, 0x18, 0xc4, 0xe5, 0x4f, 0x73, 0x2a, 0x49, 0xeb, 0xbe, 0x2b, 0xa3, 0x71, 0x9c, 0xfa, 0x2d, 0xdd, 0x28, 0x4e, 0x06, 0x10, 0xaa, 0xd7, 0x0d, 0x20, 0xa8, 0x36, 0xd4, 0x63, 0xf2, 0x5d, 0x12, 0x72, 0x8a, 0xbf, 0x6a, 0xc9, 0xa7, 0x5e, 0xb5, 0xbc, 0x0f, 0x8b, 0x7c, 0x7f, 0xae, 0xe9, 0x9e, 0x16, 0x6e, 0x85, 0xea, 0xb8, 0xc6, 0xa1, 0x2d, 0x8f, 0xb9, 0x84, 0x7f, 0x99, 0x83, 0x0a, 0xbb, 0xae, 0xdf, 0xb1, 0x86, 0xf6, 0x0f, 0xf2, 0x52, 0xe0, 0x2e, 0x34, 0xac, 0xe9, 0x44, 0x93, 0x5e, 0x69, 0x88, 0xbb, 0x18, 0x8b, 0xd6, 0x74, 0x22, 0xbf, 0x72, 0xb9, 0x01, 0x65, 0x4b, 0x84, 0x92, 0x83, 0xab, 0x3f, 0x16, 0x8f, 0x22, 0xa3, 0xf7, 0xa0, 0x46, 0x51, 0xe1, 0x3d, 0x2c, 0x7e, 0xd9, 0xa2, 0x6a, 0x4d, 0x27, 0x2d, 0x01, 0x52, 0x7f, 0xca, 0xde, 0x1c, 0x62, 0xf3, 0x84, 0x36, 0x24, 0xb0, 0x6d, 0xc1, 0x05, 0xf7, 0xd4, 0x93, 0xeb, 0xb0, 0xc9, 0xfc, 0x82, 0xbb, 0xfa, 0x98, 0xe5, 0x28, 0x0c, 0x4b, 0x0b, 0x83, 0x77, 0xdd, 0xe2, 0x5b, 0x7f, 0x54, 0x80, 0xd2, 0x53, 0xde, 0xdc, 0x1a, 0x94, 0x71, 0xfb, 0xb8, 0x8d, 0x5f, 0xb4, 0xf7, 0x94, 0x39, 0x04, 0x50, 0xec, 0xf4, 0xce, 0x3e, 0x53, 0x5e, 0xbf, 0x2a, 0x8a, 0xff, 0x3b, 0xca, 0xeb, 0x57, 0x65, 0x54, 0x87, 0x05, 0x0a, 0xd7, 0x0e, 0x77, 0x95, 0xdf, 0xbc, 0x2a, 0x8a, 0xcf, 0x1d, 0xfe, 0x59, 0x46, 0x0d, 0xa8, 0x70, 0x6c, 0xef, 0xe0, 0x58, 0xf9, 0xe3, 0x57, 0x45, 0x01, 0xd8, 0x09, 0x00, 0x65, 0xb4, 0x08, 0x65, 0x46, 0xf1, 0xa2, 0x77, 0xa4, 0xbc, 0x7a, 0x5d, 0x14, 0xdf, 0x3b, 0xe2, 0xbb, 0x8c, 0x96, 0xa0, 0x1a, 0xe0, 0x29, 0xd3, 0xd7, 0xaf, 0x8b, 0x02, 0xb4, 0x13, 0x81, 0xca, 0x54, 0xa2, 0x17, 0x94, 0xe3, 0x7f, 0x78, 0x65, 0xd0, 0xff, 0x6d, 0x5a, 0xfa, 0x2f, 0x5f, 0x19, 0xa8, 0x02, 0x05, 0xdc, 0xdf, 0x55, 0xfe, 0xf8, 0x75, 0x11, 0x29, 0x00, 0x8c, 0x51, 0xfb, 0x68, 0xb7, 0xd5, 0x53, 0xfe, 0xfe, 0xab, 0x00, 0xb2, 0x13, 0x42, 0xca, 0x68, 0x05, 0x16, 0x9f, 0x1e, 0x74, 0x7f, 0xa1, 0x1d, 0xf7, 0xda, 0xbb, 0x1a, 0x6b, 0xee, 0x9f, 0xbc, 0x2e, 0xa6, 0xa0, 0x3b, 0xca, 0x9f, 0xbc, 0x2e, 0xa3, 0x26, 0xa0, 0x38, 0x2d, 0x13, 0xf9, 0xb7, 0xaf, 0x8b, 0x29, 0xcc, 0x8e, 0xc0, 0x94, 0xd1, 0x1a, 0x28, 0x11, 0xe6, 0xe0, 0xa1, 0x80, 0x1b, 0x68, 0x11, 0x4a, 0xdd, 0x5e, 0xeb, 0xeb, 0xe7, 0x6d, 0xe5, 0x7f, 0xbc, 0xfe, 0xf3, 0x57, 0xc5, 0xad, 0x5d, 0x28, 0x07, 0x7a, 0x8a, 0x00, 0x4a, 0xfb, 0x07, 0xdd, 0x27, 0xad, 0x03, 0x65, 0x2e, 0xca, 0x19, 0xc5, 0x6e, 0xd1, 0xb5, 0xf6, 0xfe, 0x40, 0xeb, 0x1c, 0x29, 0x79, 0x54, 0x85, 0x05, 0xfa, 0xbf, 0xfb, 0xbc, 0xcf, 0x93, 0x49, 0xbd, 0xc0, 0x4f, 0x95, 0xe2, 0xd6, 0x41, 0xec, 0xb9, 0x0e, 0x37, 0x56, 0x48, 0x81, 0xda, 0x41, 0xb7, 0xfb, 0xd5, 0xf3, 0x9e, 0xd6, 0x7e, 0xd9, 0xda, 0xed, 0x2b, 0x73, 0x68, 0x09, 0xea, 0x02, 0x72, 0xd0, 0x3d, 0xda, 0x6f, 0x63, 0x25, 0x87, 0x10, 0x2c, 0x0a, 0xd0, 0xf1, 0xb3, 0x2e, 0xee, 0xb7, 0xb1, 0x92, 0xdf, 0xfa, 0x0d, 0x7b, 0xc9, 0x15, 0xc6, 0x2b, 0xd8, 0x2d, 0x3e, 0xdc, 0x7e, 0xda, 0x79, 0xa9, 0xcc, 0x51, 0x4d, 0x39, 0x6a, 0x77, 0xf6, 0x9f, 0x3d, 0xe9, 0xd2, 0xd2, 0x0b, 0x50, 0xe8, 0xb7, 0xf6, 0x85, 0x58, 0xc7, 0x5a, 0xaf, 0xd5, 0x7f, 0xa6, 0x14, 0x50, 0x1d, 0x2a, 0xbb, 0xdd, 0xc3, 0xc3, 0xe7, 0x47, 0x9d, 0xfe, 0x37, 0x0a, 0x1d, 0xc3, 0x7a, 0xfb, 0x65, 0x5f, 0x8b, 0x40, 0xf3, 0x74, 0x1b, 0x77, 0xd0, 0xc2, 0xfb, 0x6d, 0x09, 0x58, 0xe2, 0xac, 0x5f, 0xf6, 0xb5, 0x67, 0xdd, 0x9e, 0xb2, 0xb0, 0xf5, 0x21, 0x54, 0xc2, 0x30, 0x05, 0xbb, 0x58, 0x7c, 0xf4, 0x8d, 0x7c, 0xc3, 0x18, 0xa0, 0xd4, 0x39, 0x7a, 0xd1, 0xc6, 0x7d, 0x25, 0xbf, 0xb5, 0x05, 0x4a, 0x32, 0x08, 0x81, 0x4a, 0x90, 0x6f, 0x7f, 0xad, 0xcc, 0xd1, 0xdf, 0xfd, 0xb6, 0x92, 0xa3, 0xbf, 0x07, 0x6d, 0x25, 0xbf, 0x75, 0x5f, 0x5c, 0xe6, 0x11, 0x7b, 0x85, 0xe8, 0xee, 0x32, 0xed, 0xe4, 0xdd, 0xdd, 0x76, 0xaf, 0xcf, 0x99, 0xe3, 0xf6, 0x1f, 0xb4, 0x77, 0x29, 0xf3, 0xe7, 0xb0, 0x9c, 0xb1, 0xd7, 0xa3, 0x8d, 0x0a, 0x65, 0xd7, 0x5a, 0x7b, 0x74, 0xda, 0xac, 0x80, 0x12, 0x81, 0x70, 0xfb, 0xb0, 0xfb, 0x82, 0x56, 0xbc, 0x0a, 0x4b, 0x32, 0x54, 0x5c, 0x8a, 0xde, 0xfa, 0x18, 0xea, 0xb1, 0x0d, 0x1e, 0xed, 0xc1, 0xc3, 0xf6, 0x9e, 0x76, 0xd8, 0xa5, 0xac, 0x1a, 0x50, 0xa5, 0x1f, 0x01, 0x79, 0x6e, 0xeb, 0x23, 0x80, 0xc8, 0x8b, 0x0c, 0xd3, 0xf5, 0xd1, 0x4e, 0x38, 0xec, 0x75, 0xb1, 0x90, 0xb9, 0xfd, 0x92, 0xfd, 0xcf, 0x3f, 0xfc, 0x9f, 0xb7, 0xa1, 0xbc, 0x4f, 0xa7, 0x7d, 0xcb, 0x31, 0xd1, 0x01, 0x54, 0xa5, 0x87, 0xc5, 0xe8, 0x9d, 0x98, 0x6f, 0x9b, 0x78, 0xaf, 0xbc, 0xf1, 0xee, 0x0c, 0xac, 0x78, 0x82, 0x34, 0x87, 0x3a, 0x00, 0xd1, 0xd3, 0x63, 0xb4, 0x29, 0x93, 0x27, 0x5e, 0x29, 0x6f, 0xbc, 0x93, 0x8d, 0x0c, 0x59, 0x3d, 0x85, 0x4a, 0xf8, 0xe0, 0x1a, 0x49, 0x01, 0xa5, 0xe4, 0xcb, 0xec, 0x8d, 0xcd, 0x4c, 0x5c, 0xc8, 0xe7, 0x00, 0xaa, 0x52, 0xb2, 0x4b, 0xb9, 0x81, 0xe9, 0xec, 0x99, 0x72, 0x03, 0xb3, 0x32, 0x64, 0xce, 0xa1, 0xe7, 0xb0, 0x18, 0x4f, 0x73, 0x89, 0x6e, 0xc9, 0x6b, 0x7a, 0x46, 0xf6, 0xcc, 0x8d, 0xdb, 0xb3, 0x09, 0x64, 0xb6, 0xf1, 0xec, 0x95, 0x32, 0xdb, 0xcc, 0xec, 0x99, 0x32, 0xdb, 0xec, 0xc4, 0x97, 0xbc, 0xed, 0x52, 0x2a, 0x59, 0xb9, 0xed, 0xe9, 0xec, 0xb5, 0x72, 0xdb, 0x33, 0xf2, 0xcf, 0xaa, 0x73, 0x08, 0x43, 0x3d, 0x96, 0xe7, 0x11, 0xdd, 0x8c, 0x2d, 0xa6, 0x69, 0x8e, 0xb7, 0x66, 0xe2, 0x43, 0x9e, 0x7f, 0x13, 0x96, 0x52, 0xf9, 0x23, 0x91, 0x7a, 0x75, 0x1e, 0xcb, 0x8d, 0x1f, 0x5d, 0x4a, 0x13, 0xf2, 0xff, 0x1b, 0xa0, 0x24, 0xf3, 0x44, 0x22, 0xe9, 0x66, 0xd2, 0x8c, 0xf4, 0x94, 0x1b, 0xea, 0x65, 0x24, 0xf2, 0xa8, 0xc5, 0xb3, 0x46, 0xca, 0xa3, 0x96, 0x99, 0x82, 0x52, 0x1e, 0xb5, 0x19, 0x09, 0x27, 0xe7, 0xd0, 0x4b, 0x68, 0x24, 0x12, 0x43, 0x22, 0x59, 0x87, 0x32, 0xb3, 0x51, 0x6e, 0xbc, 0x77, 0x09, 0x45, 0xc8, 0xf9, 0x31, 0x94, 0xb8, 0x4b, 0x80, 0xd6, 0x63, 0x83, 0x1d, 0xbd, 0x5a, 0xdc, 0x68, 0xa6, 0x11, 0x61, 0xf1, 0xcf, 0x61, 0x41, 0x3c, 0xc3, 0x44, 0x71, 0x32, 0xe9, 0x65, 0xe6, 0x46, 0xe2, 0xc5, 0xae, 0x3a, 0xf7, 0x49, 0x8e, 0xea, 0xa1, 0xf4, 0x64, 0x51, 0xd6, 0xc3, 0xf4, 0xbb, 0x49, 0x59, 0x0f, 0xb3, 0xde, 0x39, 0xce, 0xa1, 0x9f, 0xc3, 0x82, 0x88, 0xf1, 0xa3, 0xf4, 0x39, 0x41, 0xc0, 0xe5, 0x46, 0x06, 0x46, 0x36, 0x53, 0x51, 0x42, 0x5d, 0xd9, 0x4c, 0xa5, 0x52, 0x02, 0xcb, 0x66, 0x2a, 0x23, 0x07, 0xef, 0x1c, 0xda, 0x03, 0x88, 0xf2, 0x27, 0xca, 0xac, 0x52, 0x59, 0x15, 0x37, 0xb2, 0x1f, 0xfb, 0xb2, 0x0e, 0x7a, 0x14, 0xe6, 0x8c, 0x8c, 0xde, 0x8d, 0x48, 0xbe, 0x59, 0x98, 0xd1, 0x79, 0x23, 0x91, 0x25, 0x97, 0x15, 0x7e, 0x0a, 0x95, 0x30, 0x89, 0xa7, 0x6c, 0x29, 0x93, 0x29, 0x44, 0x65, 0x4b, 0x99, 0xce, 0xfa, 0xc9, 0x7b, 0x25, 0x4c, 0xf1, 0x19, 0xeb, 0x95, 0x64, 0x36, 0xd0, 0x58, 0xaf, 0xa4, 0xb3, 0x82, 0xce, 0xa1, 0x67, 0x50, 0x09, 0xd3, 0x72, 0xca, 0x22, 0x25, 0x93, 0x85, 0xca, 0x22, 0xa5, 0xf3, 0x78, 0xce, 0xdd, 0xcb, 0x51, 0x95, 0xe5, 0x89, 0x30, 0xd1, 0xfa, 0x8c, 0x3c, 0x9c, 0x1b, 0xcd, 0x34, 0x42, 0x5e, 0x45, 0xc2, 0x9c, 0x97, 0xb2, 0x20, 0xc9, 0x54, 0x9a, 0x1b, 0x9b, 0x99, 0x38, 0x59, 0xe7, 0x44, 0x96, 0xbf, 0x84, 0xea, 0x4b, 0xe9, 0xe1, 0x64, 0x9d, 0x4b, 0xa4, 0x04, 0x0c, 0xb5, 0x36, 0xc9, 0x21, 0x9e, 0xfd, 0x2f, 0xa1, 0xb5, 0x09, 0x0e, 0xa1, 0xd6, 0x32, 0x26, 0x29, 0x81, 0x65, 0x3e, 0xef, 0x64, 0x23, 0x65, 0x56, 0x51, 0x02, 0x3e, 0x94, 0xd2, 0x8b, 0x19, 0xac, 0x32, 0x72, 0xf6, 0xb1, 0x35, 0x46, 0xca, 0xc2, 0x87, 0xd2, 0x9a, 0x21, 0x33, 0x7b, 0x77, 0x06, 0x56, 0x1e, 0xaf, 0x30, 0x87, 0x9e, 0x3c, 0x5e, 0xc9, 0x54, 0x7c, 0xf2, 0x78, 0xa5, 0x93, 0xee, 0xb1, 0xb5, 0x2a, 0x96, 0x8f, 0x4f, 0x5e, 0xab, 0xb2, 0x52, 0xfb, 0xc9, 0x6b, 0x55, 0x76, 0x22, 0xbf, 0xd0, 0x7a, 0xda, 0x7a, 0xd2, 0x7a, 0x86, 0x81, 0xa7, 0xa4, 0xf5, 0x8c, 0x02, 0x4d, 0xbc, 0xa3, 0xa4, 0xdc, 0x79, 0x28, 0xd5, 0xaf, 0x72, 0x7e, 0x40, 0xb9, 0xa3, 0xb2, 0x12, 0xee, 0xcd, 0x89, 0x79, 0xf1, 0xc2, 0x1d, 0x26, 0xe6, 0x45, 0x94, 0xf7, 0x2e, 0x31, 0x2f, 0xe4, 0xdc, 0x76, 0xd2, 0xbc, 0xa0, 0x1c, 0x52, 0xf3, 0x42, 0x62, 0xb2, 0x99, 0x89, 0x4b, 0xf4, 0x49, 0x42, 0x8c, 0x58, 0x2e, 0xc0, 0x44, 0x9f, 0xc4, 0x8b, 0x63, 0x16, 0xb9, 0x93, 0x4e, 0x48, 0x6f, 0xc6, 0x88, 0x53, 0x59, 0xe1, 0xe4, 0x61, 0xca, 0x4c, 0xa3, 0xc7, 0x79, 0xc6, 0xd2, 0xdb, 0xc9, 0x3c, 0xb3, 0xf2, 0xe6, 0xc9, 0x3c, 0xb3, 0xf3, 0xe2, 0x31, 0x37, 0x22, 0x99, 0xc4, 0x4e, 0x76, 0x23, 0x66, 0x64, 0xcd, 0x93, 0xdd, 0x88, 0x99, 0x39, 0xf0, 0x98, 0x0f, 0x94, 0xca, 0x60, 0x27, 0xfb, 0x40, 0xb3, 0x52, 0xe4, 0xc9, 0x3e, 0xd0, 0xec, 0x14, 0x78, 0x73, 0xa8, 0x0b, 0x35, 0x39, 0xdb, 0x1d, 0x8a, 0x3b, 0x7a, 0xc9, 0xc4, 0x6e, 0x1b, 0x37, 0x67, 0xa1, 0x65, 0x86, 0x72, 0x9e, 0x3a, 0x14, 0xf7, 0x9a, 0x2f, 0x63, 0x98, 0x99, 0xde, 0x8e, 0x7b, 0x3c, 0xf1, 0x0c, 0x74, 0x28, 0xe5, 0x35, 0xa7, 0xd8, 0xbe, 0x77, 0x09, 0x85, 0x3c, 0x70, 0xc9, 0x94, 0x73, 0xf2, 0xc0, 0xcd, 0x48, 0x6e, 0xb7, 0xa1, 0x5e, 0x46, 0x92, 0xd8, 0xa2, 0x88, 0xd3, 0x83, 0xf8, 0x16, 0x25, 0x96, 0x40, 0x2d, 0xb1, 0x45, 0x49, 0x64, 0x2b, 0x63, 0x7c, 0xc2, 0x04, 0x5d, 0x32, 0x9f, 0x64, 0xe6, 0x3a, 0x99, 0x4f, 0x3a, 0xb7, 0x1c, 0x1b, 0x17, 0x39, 0xb5, 0x96, 0x3c, 0x2e, 0x19, 0x49, 0xe7, 0x36, 0x6e, 0xce, 0x42, 0xc7, 0x3d, 0x7e, 0x29, 0x57, 0x56, 0xdc, 0xe3, 0x4f, 0x67, 0x8a, 0x8b, 0x7b, 0xfc, 0x59, 0xa9, 0xd9, 0xe6, 0x90, 0xc1, 0x52, 0x32, 0xa6, 0x8e, 0x47, 0xde, 0xcf, 0xe8, 0xa2, 0x54, 0xe2, 0xaf, 0x8d, 0x3b, 0x57, 0x50, 0xc9, 0xb5, 0x64, 0xe4, 0x3c, 0x93, 0x6b, 0x99, 0x9d, 0x6c, 0x4d, 0xae, 0xe5, 0xb2, 0xc4, 0x69, 0x73, 0x68, 0x12, 0x24, 0x66, 0x4c, 0x55, 0x74, 0x37, 0xbb, 0x6f, 0xd3, 0x75, 0xdd, 0xbb, 0x9a, 0x30, 0xac, 0xce, 0x09, 0xb3, 0x31, 0xa6, 0x4f, 0x97, 0x66, 0x74, 0x7c, 0xba, 0xc2, 0x0f, 0xaf, 0x41, 0x29, 0xfb, 0x09, 0x51, 0x0c, 0x11, 0x6d, 0x26, 0xf7, 0x06, 0x52, 0x5c, 0x72, 0xe3, 0x9d, 0x6c, 0x64, 0xc0, 0xea, 0xa4, 0xc4, 0x32, 0x03, 0x7d, 0xfa, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x09, 0xe0, 0x1f, 0x89, 0x6d, 0x65, 0x00, 0x00, }