// Copyright (C) 2015-2017 Nippon Telegraph and Telephone Corporation.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        (unknown)
// source: api/gobgp.proto

package api

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type TableType int32

const (
	TableType_TABLE_TYPE_UNSPECIFIED TableType = 0
	TableType_TABLE_TYPE_GLOBAL      TableType = 1
	TableType_TABLE_TYPE_LOCAL       TableType = 2
	TableType_TABLE_TYPE_ADJ_IN      TableType = 3
	TableType_TABLE_TYPE_ADJ_OUT     TableType = 4
	TableType_TABLE_TYPE_VRF         TableType = 5
)

// Enum value maps for TableType.
var (
	TableType_name = map[int32]string{
		0: "TABLE_TYPE_UNSPECIFIED",
		1: "TABLE_TYPE_GLOBAL",
		2: "TABLE_TYPE_LOCAL",
		3: "TABLE_TYPE_ADJ_IN",
		4: "TABLE_TYPE_ADJ_OUT",
		5: "TABLE_TYPE_VRF",
	}
	TableType_value = map[string]int32{
		"TABLE_TYPE_UNSPECIFIED": 0,
		"TABLE_TYPE_GLOBAL":      1,
		"TABLE_TYPE_LOCAL":       2,
		"TABLE_TYPE_ADJ_IN":      3,
		"TABLE_TYPE_ADJ_OUT":     4,
		"TABLE_TYPE_VRF":         5,
	}
)

func (x TableType) Enum() *TableType {
	p := new(TableType)
	*p = x
	return p
}

func (x TableType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TableType) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[0].Descriptor()
}

func (TableType) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[0]
}

func (x TableType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TableType.Descriptor instead.
func (TableType) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{0}
}

type ValidationState int32

const (
	ValidationState_VALIDATION_STATE_UNSPECIFIED ValidationState = 0
	ValidationState_VALIDATION_STATE_NONE        ValidationState = 1
	ValidationState_VALIDATION_STATE_NOT_FOUND   ValidationState = 2
	ValidationState_VALIDATION_STATE_VALID       ValidationState = 3
	ValidationState_VALIDATION_STATE_INVALID     ValidationState = 4
)

// Enum value maps for ValidationState.
var (
	ValidationState_name = map[int32]string{
		0: "VALIDATION_STATE_UNSPECIFIED",
		1: "VALIDATION_STATE_NONE",
		2: "VALIDATION_STATE_NOT_FOUND",
		3: "VALIDATION_STATE_VALID",
		4: "VALIDATION_STATE_INVALID",
	}
	ValidationState_value = map[string]int32{
		"VALIDATION_STATE_UNSPECIFIED": 0,
		"VALIDATION_STATE_NONE":        1,
		"VALIDATION_STATE_NOT_FOUND":   2,
		"VALIDATION_STATE_VALID":       3,
		"VALIDATION_STATE_INVALID":     4,
	}
)

func (x ValidationState) Enum() *ValidationState {
	p := new(ValidationState)
	*p = x
	return p
}

func (x ValidationState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ValidationState) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[1].Descriptor()
}

func (ValidationState) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[1]
}

func (x ValidationState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ValidationState.Descriptor instead.
func (ValidationState) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{1}
}

type PeerType int32

const (
	PeerType_PEER_TYPE_UNSPECIFIED PeerType = 0
	PeerType_PEER_TYPE_INTERNAL    PeerType = 1
	PeerType_PEER_TYPE_EXTERNAL    PeerType = 2
)

// Enum value maps for PeerType.
var (
	PeerType_name = map[int32]string{
		0: "PEER_TYPE_UNSPECIFIED",
		1: "PEER_TYPE_INTERNAL",
		2: "PEER_TYPE_EXTERNAL",
	}
	PeerType_value = map[string]int32{
		"PEER_TYPE_UNSPECIFIED": 0,
		"PEER_TYPE_INTERNAL":    1,
		"PEER_TYPE_EXTERNAL":    2,
	}
)

func (x PeerType) Enum() *PeerType {
	p := new(PeerType)
	*p = x
	return p
}

func (x PeerType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PeerType) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[2].Descriptor()
}

func (PeerType) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[2]
}

func (x PeerType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PeerType.Descriptor instead.
func (PeerType) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{2}
}

type RemovePrivate int32

const (
	RemovePrivate_REMOVE_PRIVATE_UNSPECIFIED RemovePrivate = 0
	RemovePrivate_REMOVE_PRIVATE_ALL         RemovePrivate = 1
	RemovePrivate_REMOVE_PRIVATE_REPLACE     RemovePrivate = 2
)

// Enum value maps for RemovePrivate.
var (
	RemovePrivate_name = map[int32]string{
		0: "REMOVE_PRIVATE_UNSPECIFIED",
		1: "REMOVE_PRIVATE_ALL",
		2: "REMOVE_PRIVATE_REPLACE",
	}
	RemovePrivate_value = map[string]int32{
		"REMOVE_PRIVATE_UNSPECIFIED": 0,
		"REMOVE_PRIVATE_ALL":         1,
		"REMOVE_PRIVATE_REPLACE":     2,
	}
)

func (x RemovePrivate) Enum() *RemovePrivate {
	p := new(RemovePrivate)
	*p = x
	return p
}

func (x RemovePrivate) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RemovePrivate) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[3].Descriptor()
}

func (RemovePrivate) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[3]
}

func (x RemovePrivate) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RemovePrivate.Descriptor instead.
func (RemovePrivate) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{3}
}

type DefinedType int32

const (
	DefinedType_DEFINED_TYPE_UNSPECIFIED     DefinedType = 0
	DefinedType_DEFINED_TYPE_PREFIX          DefinedType = 1
	DefinedType_DEFINED_TYPE_NEIGHBOR        DefinedType = 2
	DefinedType_DEFINED_TYPE_TAG             DefinedType = 3
	DefinedType_DEFINED_TYPE_AS_PATH         DefinedType = 4
	DefinedType_DEFINED_TYPE_COMMUNITY       DefinedType = 5
	DefinedType_DEFINED_TYPE_EXT_COMMUNITY   DefinedType = 6
	DefinedType_DEFINED_TYPE_LARGE_COMMUNITY DefinedType = 7
	DefinedType_DEFINED_TYPE_NEXT_HOP        DefinedType = 8
)

// Enum value maps for DefinedType.
var (
	DefinedType_name = map[int32]string{
		0: "DEFINED_TYPE_UNSPECIFIED",
		1: "DEFINED_TYPE_PREFIX",
		2: "DEFINED_TYPE_NEIGHBOR",
		3: "DEFINED_TYPE_TAG",
		4: "DEFINED_TYPE_AS_PATH",
		5: "DEFINED_TYPE_COMMUNITY",
		6: "DEFINED_TYPE_EXT_COMMUNITY",
		7: "DEFINED_TYPE_LARGE_COMMUNITY",
		8: "DEFINED_TYPE_NEXT_HOP",
	}
	DefinedType_value = map[string]int32{
		"DEFINED_TYPE_UNSPECIFIED":     0,
		"DEFINED_TYPE_PREFIX":          1,
		"DEFINED_TYPE_NEIGHBOR":        2,
		"DEFINED_TYPE_TAG":             3,
		"DEFINED_TYPE_AS_PATH":         4,
		"DEFINED_TYPE_COMMUNITY":       5,
		"DEFINED_TYPE_EXT_COMMUNITY":   6,
		"DEFINED_TYPE_LARGE_COMMUNITY": 7,
		"DEFINED_TYPE_NEXT_HOP":        8,
	}
)

func (x DefinedType) Enum() *DefinedType {
	p := new(DefinedType)
	*p = x
	return p
}

func (x DefinedType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DefinedType) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[4].Descriptor()
}

func (DefinedType) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[4]
}

func (x DefinedType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DefinedType.Descriptor instead.
func (DefinedType) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{4}
}

type Comparison int32

const (
	Comparison_COMPARISON_UNSPECIFIED Comparison = 0
	Comparison_COMPARISON_EQ          Comparison = 1
	Comparison_COMPARISON_GE          Comparison = 2
	Comparison_COMPARISON_LE          Comparison = 3
)

// Enum value maps for Comparison.
var (
	Comparison_name = map[int32]string{
		0: "COMPARISON_UNSPECIFIED",
		1: "COMPARISON_EQ",
		2: "COMPARISON_GE",
		3: "COMPARISON_LE",
	}
	Comparison_value = map[string]int32{
		"COMPARISON_UNSPECIFIED": 0,
		"COMPARISON_EQ":          1,
		"COMPARISON_GE":          2,
		"COMPARISON_LE":          3,
	}
)

func (x Comparison) Enum() *Comparison {
	p := new(Comparison)
	*p = x
	return p
}

func (x Comparison) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Comparison) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[5].Descriptor()
}

func (Comparison) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[5]
}

func (x Comparison) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Comparison.Descriptor instead.
func (Comparison) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{5}
}

type OriginType int32

const (
	OriginType_ORIGIN_TYPE_UNSPECIFIED OriginType = 0
	OriginType_ORIGIN_TYPE_IGP         OriginType = 1
	OriginType_ORIGIN_TYPE_EGP         OriginType = 2
	OriginType_ORIGIN_TYPE_INCOMPLETE  OriginType = 3
)

// Enum value maps for OriginType.
var (
	OriginType_name = map[int32]string{
		0: "ORIGIN_TYPE_UNSPECIFIED",
		1: "ORIGIN_TYPE_IGP",
		2: "ORIGIN_TYPE_EGP",
		3: "ORIGIN_TYPE_INCOMPLETE",
	}
	OriginType_value = map[string]int32{
		"ORIGIN_TYPE_UNSPECIFIED": 0,
		"ORIGIN_TYPE_IGP":         1,
		"ORIGIN_TYPE_EGP":         2,
		"ORIGIN_TYPE_INCOMPLETE":  3,
	}
)

func (x OriginType) Enum() *OriginType {
	p := new(OriginType)
	*p = x
	return p
}

func (x OriginType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (OriginType) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[6].Descriptor()
}

func (OriginType) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[6]
}

func (x OriginType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use OriginType.Descriptor instead.
func (OriginType) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{6}
}

type RouteAction int32

const (
	RouteAction_ROUTE_ACTION_UNSPECIFIED RouteAction = 0
	RouteAction_ROUTE_ACTION_ACCEPT      RouteAction = 1
	RouteAction_ROUTE_ACTION_REJECT      RouteAction = 2
)

// Enum value maps for RouteAction.
var (
	RouteAction_name = map[int32]string{
		0: "ROUTE_ACTION_UNSPECIFIED",
		1: "ROUTE_ACTION_ACCEPT",
		2: "ROUTE_ACTION_REJECT",
	}
	RouteAction_value = map[string]int32{
		"ROUTE_ACTION_UNSPECIFIED": 0,
		"ROUTE_ACTION_ACCEPT":      1,
		"ROUTE_ACTION_REJECT":      2,
	}
)

func (x RouteAction) Enum() *RouteAction {
	p := new(RouteAction)
	*p = x
	return p
}

func (x RouteAction) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RouteAction) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[7].Descriptor()
}

func (RouteAction) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[7]
}

func (x RouteAction) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RouteAction.Descriptor instead.
func (RouteAction) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{7}
}

type PolicyDirection int32

const (
	PolicyDirection_POLICY_DIRECTION_UNSPECIFIED PolicyDirection = 0
	PolicyDirection_POLICY_DIRECTION_IMPORT      PolicyDirection = 1
	PolicyDirection_POLICY_DIRECTION_EXPORT      PolicyDirection = 2
)

// Enum value maps for PolicyDirection.
var (
	PolicyDirection_name = map[int32]string{
		0: "POLICY_DIRECTION_UNSPECIFIED",
		1: "POLICY_DIRECTION_IMPORT",
		2: "POLICY_DIRECTION_EXPORT",
	}
	PolicyDirection_value = map[string]int32{
		"POLICY_DIRECTION_UNSPECIFIED": 0,
		"POLICY_DIRECTION_IMPORT":      1,
		"POLICY_DIRECTION_EXPORT":      2,
	}
)

func (x PolicyDirection) Enum() *PolicyDirection {
	p := new(PolicyDirection)
	*p = x
	return p
}

func (x PolicyDirection) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PolicyDirection) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[8].Descriptor()
}

func (PolicyDirection) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[8]
}

func (x PolicyDirection) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PolicyDirection.Descriptor instead.
func (PolicyDirection) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{8}
}

type BfdSessionState int32

const (
	BfdSessionState_BFD_SESSION_STATE_UNSPECIFIED BfdSessionState = 0
	BfdSessionState_BFD_SESSION_STATE_UP          BfdSessionState = 1
	BfdSessionState_BFD_SESSION_STATE_DOWN        BfdSessionState = 2
	BfdSessionState_BFD_SESSION_STATE_ADMIN_DOWN  BfdSessionState = 3
	BfdSessionState_BFD_SESSION_STATE_INIT        BfdSessionState = 4
)

// Enum value maps for BfdSessionState.
var (
	BfdSessionState_name = map[int32]string{
		0: "BFD_SESSION_STATE_UNSPECIFIED",
		1: "BFD_SESSION_STATE_UP",
		2: "BFD_SESSION_STATE_DOWN",
		3: "BFD_SESSION_STATE_ADMIN_DOWN",
		4: "BFD_SESSION_STATE_INIT",
	}
	BfdSessionState_value = map[string]int32{
		"BFD_SESSION_STATE_UNSPECIFIED": 0,
		"BFD_SESSION_STATE_UP":          1,
		"BFD_SESSION_STATE_DOWN":        2,
		"BFD_SESSION_STATE_ADMIN_DOWN":  3,
		"BFD_SESSION_STATE_INIT":        4,
	}
)

func (x BfdSessionState) Enum() *BfdSessionState {
	p := new(BfdSessionState)
	*p = x
	return p
}

func (x BfdSessionState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BfdSessionState) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[9].Descriptor()
}

func (BfdSessionState) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[9]
}

func (x BfdSessionState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BfdSessionState.Descriptor instead.
func (BfdSessionState) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{9}
}

// buf:lint:ignore ENUM_ZERO_VALUE_SUFFIX
// RFC 5880 §4.1 explicitly defines 0 as "No Diagnostic", not an unspecified state.
type BfdDiagnosticCode int32

const (
	BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_NO_DIAGNOSTIC                  BfdDiagnosticCode = 0
	BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_DETECTION_TIMEOUT              BfdDiagnosticCode = 1
	BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_ECHO_FAILED                    BfdDiagnosticCode = 2
	BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_NEIGHBOR_SIGNALED_SESSION_DOWN BfdDiagnosticCode = 3
	BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_FORWARDING_PLANE_RESET         BfdDiagnosticCode = 4
	BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_PATH_DOWN                      BfdDiagnosticCode = 5
	BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_CONCATENATED_PATH_DOWN         BfdDiagnosticCode = 6
	BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_ADMINISTRATIVELY_DOWN          BfdDiagnosticCode = 7
	BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_REVERSE_CONCATENATED_PATH_DOWN BfdDiagnosticCode = 8
)

// Enum value maps for BfdDiagnosticCode.
var (
	BfdDiagnosticCode_name = map[int32]string{
		0: "BFD_DIAGNOSTIC_CODE_NO_DIAGNOSTIC",
		1: "BFD_DIAGNOSTIC_CODE_DETECTION_TIMEOUT",
		2: "BFD_DIAGNOSTIC_CODE_ECHO_FAILED",
		3: "BFD_DIAGNOSTIC_CODE_NEIGHBOR_SIGNALED_SESSION_DOWN",
		4: "BFD_DIAGNOSTIC_CODE_FORWARDING_PLANE_RESET",
		5: "BFD_DIAGNOSTIC_CODE_PATH_DOWN",
		6: "BFD_DIAGNOSTIC_CODE_CONCATENATED_PATH_DOWN",
		7: "BFD_DIAGNOSTIC_CODE_ADMINISTRATIVELY_DOWN",
		8: "BFD_DIAGNOSTIC_CODE_REVERSE_CONCATENATED_PATH_DOWN",
	}
	BfdDiagnosticCode_value = map[string]int32{
		"BFD_DIAGNOSTIC_CODE_NO_DIAGNOSTIC":                  0,
		"BFD_DIAGNOSTIC_CODE_DETECTION_TIMEOUT":              1,
		"BFD_DIAGNOSTIC_CODE_ECHO_FAILED":                    2,
		"BFD_DIAGNOSTIC_CODE_NEIGHBOR_SIGNALED_SESSION_DOWN": 3,
		"BFD_DIAGNOSTIC_CODE_FORWARDING_PLANE_RESET":         4,
		"BFD_DIAGNOSTIC_CODE_PATH_DOWN":                      5,
		"BFD_DIAGNOSTIC_CODE_CONCATENATED_PATH_DOWN":         6,
		"BFD_DIAGNOSTIC_CODE_ADMINISTRATIVELY_DOWN":          7,
		"BFD_DIAGNOSTIC_CODE_REVERSE_CONCATENATED_PATH_DOWN": 8,
	}
)

func (x BfdDiagnosticCode) Enum() *BfdDiagnosticCode {
	p := new(BfdDiagnosticCode)
	*p = x
	return p
}

func (x BfdDiagnosticCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BfdDiagnosticCode) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[10].Descriptor()
}

func (BfdDiagnosticCode) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[10]
}

func (x BfdDiagnosticCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BfdDiagnosticCode.Descriptor instead.
func (BfdDiagnosticCode) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{10}
}

type WatchEventRequest_Table_Filter_Type int32

const (
	WatchEventRequest_Table_Filter_TYPE_UNSPECIFIED WatchEventRequest_Table_Filter_Type = 0
	WatchEventRequest_Table_Filter_TYPE_BEST        WatchEventRequest_Table_Filter_Type = 1
	WatchEventRequest_Table_Filter_TYPE_ADJIN       WatchEventRequest_Table_Filter_Type = 2
	WatchEventRequest_Table_Filter_TYPE_POST_POLICY WatchEventRequest_Table_Filter_Type = 3
	WatchEventRequest_Table_Filter_TYPE_EOR         WatchEventRequest_Table_Filter_Type = 4
)

// Enum value maps for WatchEventRequest_Table_Filter_Type.
var (
	WatchEventRequest_Table_Filter_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "TYPE_BEST",
		2: "TYPE_ADJIN",
		3: "TYPE_POST_POLICY",
		4: "TYPE_EOR",
	}
	WatchEventRequest_Table_Filter_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"TYPE_BEST":        1,
		"TYPE_ADJIN":       2,
		"TYPE_POST_POLICY": 3,
		"TYPE_EOR":         4,
	}
)

func (x WatchEventRequest_Table_Filter_Type) Enum() *WatchEventRequest_Table_Filter_Type {
	p := new(WatchEventRequest_Table_Filter_Type)
	*p = x
	return p
}

func (x WatchEventRequest_Table_Filter_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WatchEventRequest_Table_Filter_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[11].Descriptor()
}

func (WatchEventRequest_Table_Filter_Type) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[11]
}

func (x WatchEventRequest_Table_Filter_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WatchEventRequest_Table_Filter_Type.Descriptor instead.
func (WatchEventRequest_Table_Filter_Type) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{6, 1, 0, 0}
}

type WatchEventResponse_PeerEvent_Type int32

const (
	WatchEventResponse_PeerEvent_TYPE_UNSPECIFIED WatchEventResponse_PeerEvent_Type = 0
	WatchEventResponse_PeerEvent_TYPE_INIT        WatchEventResponse_PeerEvent_Type = 1
	WatchEventResponse_PeerEvent_TYPE_END_OF_INIT WatchEventResponse_PeerEvent_Type = 2
	WatchEventResponse_PeerEvent_TYPE_STATE       WatchEventResponse_PeerEvent_Type = 3
)

// Enum value maps for WatchEventResponse_PeerEvent_Type.
var (
	WatchEventResponse_PeerEvent_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "TYPE_INIT",
		2: "TYPE_END_OF_INIT",
		3: "TYPE_STATE",
	}
	WatchEventResponse_PeerEvent_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"TYPE_INIT":        1,
		"TYPE_END_OF_INIT": 2,
		"TYPE_STATE":       3,
	}
)

func (x WatchEventResponse_PeerEvent_Type) Enum() *WatchEventResponse_PeerEvent_Type {
	p := new(WatchEventResponse_PeerEvent_Type)
	*p = x
	return p
}

func (x WatchEventResponse_PeerEvent_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (WatchEventResponse_PeerEvent_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[12].Descriptor()
}

func (WatchEventResponse_PeerEvent_Type) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[12]
}

func (x WatchEventResponse_PeerEvent_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use WatchEventResponse_PeerEvent_Type.Descriptor instead.
func (WatchEventResponse_PeerEvent_Type) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{7, 0, 0}
}

type ResetPeerRequest_Direction int32

const (
	ResetPeerRequest_DIRECTION_UNSPECIFIED ResetPeerRequest_Direction = 0
	ResetPeerRequest_DIRECTION_IN          ResetPeerRequest_Direction = 1
	ResetPeerRequest_DIRECTION_OUT         ResetPeerRequest_Direction = 2
	ResetPeerRequest_DIRECTION_BOTH        ResetPeerRequest_Direction = 3
)

// Enum value maps for ResetPeerRequest_Direction.
var (
	ResetPeerRequest_Direction_name = map[int32]string{
		0: "DIRECTION_UNSPECIFIED",
		1: "DIRECTION_IN",
		2: "DIRECTION_OUT",
		3: "DIRECTION_BOTH",
	}
	ResetPeerRequest_Direction_value = map[string]int32{
		"DIRECTION_UNSPECIFIED": 0,
		"DIRECTION_IN":          1,
		"DIRECTION_OUT":         2,
		"DIRECTION_BOTH":        3,
	}
)

func (x ResetPeerRequest_Direction) Enum() *ResetPeerRequest_Direction {
	p := new(ResetPeerRequest_Direction)
	*p = x
	return p
}

func (x ResetPeerRequest_Direction) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ResetPeerRequest_Direction) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[13].Descriptor()
}

func (ResetPeerRequest_Direction) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[13]
}

func (x ResetPeerRequest_Direction) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ResetPeerRequest_Direction.Descriptor instead.
func (ResetPeerRequest_Direction) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{16, 0}
}

// API representation of table.LookupOption
type TableLookupPrefix_Type int32

const (
	TableLookupPrefix_TYPE_UNSPECIFIED TableLookupPrefix_Type = 0
	TableLookupPrefix_TYPE_EXACT       TableLookupPrefix_Type = 1
	TableLookupPrefix_TYPE_LONGER      TableLookupPrefix_Type = 2
	TableLookupPrefix_TYPE_SHORTER     TableLookupPrefix_Type = 3
)

// Enum value maps for TableLookupPrefix_Type.
var (
	TableLookupPrefix_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "TYPE_EXACT",
		2: "TYPE_LONGER",
		3: "TYPE_SHORTER",
	}
	TableLookupPrefix_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"TYPE_EXACT":       1,
		"TYPE_LONGER":      2,
		"TYPE_SHORTER":     3,
	}
)

func (x TableLookupPrefix_Type) Enum() *TableLookupPrefix_Type {
	p := new(TableLookupPrefix_Type)
	*p = x
	return p
}

func (x TableLookupPrefix_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TableLookupPrefix_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[14].Descriptor()
}

func (TableLookupPrefix_Type) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[14]
}

func (x TableLookupPrefix_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TableLookupPrefix_Type.Descriptor instead.
func (TableLookupPrefix_Type) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{42, 0}
}

type ListPathRequest_SortType int32

const (
	ListPathRequest_SORT_TYPE_UNSPECIFIED ListPathRequest_SortType = 0
	ListPathRequest_SORT_TYPE_PREFIX      ListPathRequest_SortType = 1
)

// Enum value maps for ListPathRequest_SortType.
var (
	ListPathRequest_SortType_name = map[int32]string{
		0: "SORT_TYPE_UNSPECIFIED",
		1: "SORT_TYPE_PREFIX",
	}
	ListPathRequest_SortType_value = map[string]int32{
		"SORT_TYPE_UNSPECIFIED": 0,
		"SORT_TYPE_PREFIX":      1,
	}
)

func (x ListPathRequest_SortType) Enum() *ListPathRequest_SortType {
	p := new(ListPathRequest_SortType)
	*p = x
	return p
}

func (x ListPathRequest_SortType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ListPathRequest_SortType) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[15].Descriptor()
}

func (ListPathRequest_SortType) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[15]
}

func (x ListPathRequest_SortType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ListPathRequest_SortType.Descriptor instead.
func (ListPathRequest_SortType) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{43, 0}
}

type EnableMrtRequest_DumpType int32

const (
	EnableMrtRequest_DUMP_TYPE_UNSPECIFIED EnableMrtRequest_DumpType = 0
	EnableMrtRequest_DUMP_TYPE_UPDATES     EnableMrtRequest_DumpType = 1
	EnableMrtRequest_DUMP_TYPE_TABLE       EnableMrtRequest_DumpType = 2
)

// Enum value maps for EnableMrtRequest_DumpType.
var (
	EnableMrtRequest_DumpType_name = map[int32]string{
		0: "DUMP_TYPE_UNSPECIFIED",
		1: "DUMP_TYPE_UPDATES",
		2: "DUMP_TYPE_TABLE",
	}
	EnableMrtRequest_DumpType_value = map[string]int32{
		"DUMP_TYPE_UNSPECIFIED": 0,
		"DUMP_TYPE_UPDATES":     1,
		"DUMP_TYPE_TABLE":       2,
	}
)

func (x EnableMrtRequest_DumpType) Enum() *EnableMrtRequest_DumpType {
	p := new(EnableMrtRequest_DumpType)
	*p = x
	return p
}

func (x EnableMrtRequest_DumpType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (EnableMrtRequest_DumpType) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[16].Descriptor()
}

func (EnableMrtRequest_DumpType) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[16]
}

func (x EnableMrtRequest_DumpType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use EnableMrtRequest_DumpType.Descriptor instead.
func (EnableMrtRequest_DumpType) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{99, 0}
}

type AddBmpRequest_MonitoringPolicy int32

const (
	AddBmpRequest_MONITORING_POLICY_UNSPECIFIED AddBmpRequest_MonitoringPolicy = 0
	AddBmpRequest_MONITORING_POLICY_PRE         AddBmpRequest_MonitoringPolicy = 1
	AddBmpRequest_MONITORING_POLICY_POST        AddBmpRequest_MonitoringPolicy = 2
	AddBmpRequest_MONITORING_POLICY_BOTH        AddBmpRequest_MonitoringPolicy = 3
	AddBmpRequest_MONITORING_POLICY_LOCAL       AddBmpRequest_MonitoringPolicy = 4
	AddBmpRequest_MONITORING_POLICY_ALL         AddBmpRequest_MonitoringPolicy = 5
)

// Enum value maps for AddBmpRequest_MonitoringPolicy.
var (
	AddBmpRequest_MonitoringPolicy_name = map[int32]string{
		0: "MONITORING_POLICY_UNSPECIFIED",
		1: "MONITORING_POLICY_PRE",
		2: "MONITORING_POLICY_POST",
		3: "MONITORING_POLICY_BOTH",
		4: "MONITORING_POLICY_LOCAL",
		5: "MONITORING_POLICY_ALL",
	}
	AddBmpRequest_MonitoringPolicy_value = map[string]int32{
		"MONITORING_POLICY_UNSPECIFIED": 0,
		"MONITORING_POLICY_PRE":         1,
		"MONITORING_POLICY_POST":        2,
		"MONITORING_POLICY_BOTH":        3,
		"MONITORING_POLICY_LOCAL":       4,
		"MONITORING_POLICY_ALL":         5,
	}
)

func (x AddBmpRequest_MonitoringPolicy) Enum() *AddBmpRequest_MonitoringPolicy {
	p := new(AddBmpRequest_MonitoringPolicy)
	*p = x
	return p
}

func (x AddBmpRequest_MonitoringPolicy) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (AddBmpRequest_MonitoringPolicy) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[17].Descriptor()
}

func (AddBmpRequest_MonitoringPolicy) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[17]
}

func (x AddBmpRequest_MonitoringPolicy) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use AddBmpRequest_MonitoringPolicy.Descriptor instead.
func (AddBmpRequest_MonitoringPolicy) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{103, 0}
}

type Validation_Reason int32

const (
	Validation_REASON_UNSPECIFIED Validation_Reason = 0
	Validation_REASON_NONE        Validation_Reason = 1
	Validation_REASON_ASN         Validation_Reason = 2
	Validation_REASON_LENGTH      Validation_Reason = 3
)

// Enum value maps for Validation_Reason.
var (
	Validation_Reason_name = map[int32]string{
		0: "REASON_UNSPECIFIED",
		1: "REASON_NONE",
		2: "REASON_ASN",
		3: "REASON_LENGTH",
	}
	Validation_Reason_value = map[string]int32{
		"REASON_UNSPECIFIED": 0,
		"REASON_NONE":        1,
		"REASON_ASN":         2,
		"REASON_LENGTH":      3,
	}
)

func (x Validation_Reason) Enum() *Validation_Reason {
	p := new(Validation_Reason)
	*p = x
	return p
}

func (x Validation_Reason) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Validation_Reason) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[18].Descriptor()
}

func (Validation_Reason) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[18]
}

func (x Validation_Reason) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Validation_Reason.Descriptor instead.
func (Validation_Reason) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{109, 0}
}

type PeerState_SessionState int32

const (
	PeerState_SESSION_STATE_UNSPECIFIED PeerState_SessionState = 0
	PeerState_SESSION_STATE_IDLE        PeerState_SessionState = 1
	PeerState_SESSION_STATE_CONNECT     PeerState_SessionState = 2
	PeerState_SESSION_STATE_ACTIVE      PeerState_SessionState = 3
	PeerState_SESSION_STATE_OPENSENT    PeerState_SessionState = 4
	PeerState_SESSION_STATE_OPENCONFIRM PeerState_SessionState = 5
	PeerState_SESSION_STATE_ESTABLISHED PeerState_SessionState = 6
)

// Enum value maps for PeerState_SessionState.
var (
	PeerState_SessionState_name = map[int32]string{
		0: "SESSION_STATE_UNSPECIFIED",
		1: "SESSION_STATE_IDLE",
		2: "SESSION_STATE_CONNECT",
		3: "SESSION_STATE_ACTIVE",
		4: "SESSION_STATE_OPENSENT",
		5: "SESSION_STATE_OPENCONFIRM",
		6: "SESSION_STATE_ESTABLISHED",
	}
	PeerState_SessionState_value = map[string]int32{
		"SESSION_STATE_UNSPECIFIED": 0,
		"SESSION_STATE_IDLE":        1,
		"SESSION_STATE_CONNECT":     2,
		"SESSION_STATE_ACTIVE":      3,
		"SESSION_STATE_OPENSENT":    4,
		"SESSION_STATE_OPENCONFIRM": 5,
		"SESSION_STATE_ESTABLISHED": 6,
	}
)

func (x PeerState_SessionState) Enum() *PeerState_SessionState {
	p := new(PeerState_SessionState)
	*p = x
	return p
}

func (x PeerState_SessionState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PeerState_SessionState) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[19].Descriptor()
}

func (PeerState_SessionState) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[19]
}

func (x PeerState_SessionState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PeerState_SessionState.Descriptor instead.
func (PeerState_SessionState) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{123, 0}
}

type PeerState_AdminState int32

const (
	PeerState_ADMIN_STATE_UNSPECIFIED PeerState_AdminState = 0
	PeerState_ADMIN_STATE_UP          PeerState_AdminState = 1
	PeerState_ADMIN_STATE_DOWN        PeerState_AdminState = 2
	PeerState_ADMIN_STATE_PFX_CT      PeerState_AdminState = 3 // prefix counter over limit
)

// Enum value maps for PeerState_AdminState.
var (
	PeerState_AdminState_name = map[int32]string{
		0: "ADMIN_STATE_UNSPECIFIED",
		1: "ADMIN_STATE_UP",
		2: "ADMIN_STATE_DOWN",
		3: "ADMIN_STATE_PFX_CT",
	}
	PeerState_AdminState_value = map[string]int32{
		"ADMIN_STATE_UNSPECIFIED": 0,
		"ADMIN_STATE_UP":          1,
		"ADMIN_STATE_DOWN":        2,
		"ADMIN_STATE_PFX_CT":      3,
	}
)

func (x PeerState_AdminState) Enum() *PeerState_AdminState {
	p := new(PeerState_AdminState)
	*p = x
	return p
}

func (x PeerState_AdminState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PeerState_AdminState) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[20].Descriptor()
}

func (PeerState_AdminState) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[20]
}

func (x PeerState_AdminState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PeerState_AdminState.Descriptor instead.
func (PeerState_AdminState) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{123, 1}
}

// State change reason information
type PeerState_DisconnectReason int32

const (
	PeerState_DISCONNECT_REASON_UNSPECIFIED           PeerState_DisconnectReason = 0
	PeerState_DISCONNECT_REASON_ADMIN_DOWN            PeerState_DisconnectReason = 1
	PeerState_DISCONNECT_REASON_HOLD_TIMER_EXPIRED    PeerState_DisconnectReason = 2
	PeerState_DISCONNECT_REASON_NOTIFICATION_SENT     PeerState_DisconnectReason = 3
	PeerState_DISCONNECT_REASON_NOTIFICATION_RECEIVED PeerState_DisconnectReason = 4
	PeerState_DISCONNECT_REASON_READ_FAILED           PeerState_DisconnectReason = 5
	PeerState_DISCONNECT_REASON_WRITE_FAILED          PeerState_DisconnectReason = 6
	PeerState_DISCONNECT_REASON_IDLE_TIMER_EXPIRED    PeerState_DisconnectReason = 7
	PeerState_DISCONNECT_REASON_RESTART_TIMER_EXPIRED PeerState_DisconnectReason = 8
	PeerState_DISCONNECT_REASON_GRACEFUL_RESTART      PeerState_DisconnectReason = 9
	PeerState_DISCONNECT_REASON_INVALID_MSG           PeerState_DisconnectReason = 10
	PeerState_DISCONNECT_REASON_HARD_RESET            PeerState_DisconnectReason = 11
	PeerState_DISCONNECT_REASON_DECONFIGURED          PeerState_DisconnectReason = 12
	PeerState_DISCONNECT_REASON_BAD_PEER_AS           PeerState_DisconnectReason = 13
)

// Enum value maps for PeerState_DisconnectReason.
var (
	PeerState_DisconnectReason_name = map[int32]string{
		0:  "DISCONNECT_REASON_UNSPECIFIED",
		1:  "DISCONNECT_REASON_ADMIN_DOWN",
		2:  "DISCONNECT_REASON_HOLD_TIMER_EXPIRED",
		3:  "DISCONNECT_REASON_NOTIFICATION_SENT",
		4:  "DISCONNECT_REASON_NOTIFICATION_RECEIVED",
		5:  "DISCONNECT_REASON_READ_FAILED",
		6:  "DISCONNECT_REASON_WRITE_FAILED",
		7:  "DISCONNECT_REASON_IDLE_TIMER_EXPIRED",
		8:  "DISCONNECT_REASON_RESTART_TIMER_EXPIRED",
		9:  "DISCONNECT_REASON_GRACEFUL_RESTART",
		10: "DISCONNECT_REASON_INVALID_MSG",
		11: "DISCONNECT_REASON_HARD_RESET",
		12: "DISCONNECT_REASON_DECONFIGURED",
		13: "DISCONNECT_REASON_BAD_PEER_AS",
	}
	PeerState_DisconnectReason_value = map[string]int32{
		"DISCONNECT_REASON_UNSPECIFIED":           0,
		"DISCONNECT_REASON_ADMIN_DOWN":            1,
		"DISCONNECT_REASON_HOLD_TIMER_EXPIRED":    2,
		"DISCONNECT_REASON_NOTIFICATION_SENT":     3,
		"DISCONNECT_REASON_NOTIFICATION_RECEIVED": 4,
		"DISCONNECT_REASON_READ_FAILED":           5,
		"DISCONNECT_REASON_WRITE_FAILED":          6,
		"DISCONNECT_REASON_IDLE_TIMER_EXPIRED":    7,
		"DISCONNECT_REASON_RESTART_TIMER_EXPIRED": 8,
		"DISCONNECT_REASON_GRACEFUL_RESTART":      9,
		"DISCONNECT_REASON_INVALID_MSG":           10,
		"DISCONNECT_REASON_HARD_RESET":            11,
		"DISCONNECT_REASON_DECONFIGURED":          12,
		"DISCONNECT_REASON_BAD_PEER_AS":           13,
	}
)

func (x PeerState_DisconnectReason) Enum() *PeerState_DisconnectReason {
	p := new(PeerState_DisconnectReason)
	*p = x
	return p
}

func (x PeerState_DisconnectReason) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PeerState_DisconnectReason) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[21].Descriptor()
}

func (PeerState_DisconnectReason) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[21]
}

func (x PeerState_DisconnectReason) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PeerState_DisconnectReason.Descriptor instead.
func (PeerState_DisconnectReason) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{123, 2}
}

type MatchSet_Type int32

const (
	MatchSet_TYPE_UNSPECIFIED MatchSet_Type = 0
	MatchSet_TYPE_ANY         MatchSet_Type = 1
	MatchSet_TYPE_ALL         MatchSet_Type = 2
	MatchSet_TYPE_INVERT      MatchSet_Type = 3
)

// Enum value maps for MatchSet_Type.
var (
	MatchSet_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "TYPE_ANY",
		2: "TYPE_ALL",
		3: "TYPE_INVERT",
	}
	MatchSet_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"TYPE_ANY":         1,
		"TYPE_ALL":         2,
		"TYPE_INVERT":      3,
	}
)

func (x MatchSet_Type) Enum() *MatchSet_Type {
	p := new(MatchSet_Type)
	*p = x
	return p
}

func (x MatchSet_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MatchSet_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[22].Descriptor()
}

func (MatchSet_Type) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[22]
}

func (x MatchSet_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MatchSet_Type.Descriptor instead.
func (MatchSet_Type) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{162, 0}
}

type Conditions_RouteType int32

const (
	Conditions_ROUTE_TYPE_UNSPECIFIED Conditions_RouteType = 0
	Conditions_ROUTE_TYPE_INTERNAL    Conditions_RouteType = 1
	Conditions_ROUTE_TYPE_EXTERNAL    Conditions_RouteType = 2
	Conditions_ROUTE_TYPE_LOCAL       Conditions_RouteType = 3
)

// Enum value maps for Conditions_RouteType.
var (
	Conditions_RouteType_name = map[int32]string{
		0: "ROUTE_TYPE_UNSPECIFIED",
		1: "ROUTE_TYPE_INTERNAL",
		2: "ROUTE_TYPE_EXTERNAL",
		3: "ROUTE_TYPE_LOCAL",
	}
	Conditions_RouteType_value = map[string]int32{
		"ROUTE_TYPE_UNSPECIFIED": 0,
		"ROUTE_TYPE_INTERNAL":    1,
		"ROUTE_TYPE_EXTERNAL":    2,
		"ROUTE_TYPE_LOCAL":       3,
	}
)

func (x Conditions_RouteType) Enum() *Conditions_RouteType {
	p := new(Conditions_RouteType)
	*p = x
	return p
}

func (x Conditions_RouteType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Conditions_RouteType) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[23].Descriptor()
}

func (Conditions_RouteType) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[23]
}

func (x Conditions_RouteType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Conditions_RouteType.Descriptor instead.
func (Conditions_RouteType) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{167, 0}
}

type CommunityAction_Type int32

const (
	CommunityAction_TYPE_UNSPECIFIED CommunityAction_Type = 0
	CommunityAction_TYPE_ADD         CommunityAction_Type = 1
	CommunityAction_TYPE_REMOVE      CommunityAction_Type = 2
	CommunityAction_TYPE_REPLACE     CommunityAction_Type = 3
)

// Enum value maps for CommunityAction_Type.
var (
	CommunityAction_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "TYPE_ADD",
		2: "TYPE_REMOVE",
		3: "TYPE_REPLACE",
	}
	CommunityAction_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"TYPE_ADD":         1,
		"TYPE_REMOVE":      2,
		"TYPE_REPLACE":     3,
	}
)

func (x CommunityAction_Type) Enum() *CommunityAction_Type {
	p := new(CommunityAction_Type)
	*p = x
	return p
}

func (x CommunityAction_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CommunityAction_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[24].Descriptor()
}

func (CommunityAction_Type) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[24]
}

func (x CommunityAction_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CommunityAction_Type.Descriptor instead.
func (CommunityAction_Type) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{168, 0}
}

type MedAction_Type int32

const (
	MedAction_TYPE_UNSPECIFIED MedAction_Type = 0
	MedAction_TYPE_MOD         MedAction_Type = 1
	MedAction_TYPE_REPLACE     MedAction_Type = 2
)

// Enum value maps for MedAction_Type.
var (
	MedAction_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "TYPE_MOD",
		2: "TYPE_REPLACE",
	}
	MedAction_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"TYPE_MOD":         1,
		"TYPE_REPLACE":     2,
	}
)

func (x MedAction_Type) Enum() *MedAction_Type {
	p := new(MedAction_Type)
	*p = x
	return p
}

func (x MedAction_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MedAction_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[25].Descriptor()
}

func (MedAction_Type) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[25]
}

func (x MedAction_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use MedAction_Type.Descriptor instead.
func (MedAction_Type) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{169, 0}
}

type SetLogLevelRequest_Level int32

const (
	SetLogLevelRequest_LEVEL_UNSPECIFIED SetLogLevelRequest_Level = 0
	SetLogLevelRequest_LEVEL_PANIC       SetLogLevelRequest_Level = 1
	SetLogLevelRequest_LEVEL_FATAL       SetLogLevelRequest_Level = 2
	SetLogLevelRequest_LEVEL_ERROR       SetLogLevelRequest_Level = 3
	SetLogLevelRequest_LEVEL_WARN        SetLogLevelRequest_Level = 4
	SetLogLevelRequest_LEVEL_INFO        SetLogLevelRequest_Level = 5
	SetLogLevelRequest_LEVEL_DEBUG       SetLogLevelRequest_Level = 6
	SetLogLevelRequest_LEVEL_TRACE       SetLogLevelRequest_Level = 7
)

// Enum value maps for SetLogLevelRequest_Level.
var (
	SetLogLevelRequest_Level_name = map[int32]string{
		0: "LEVEL_UNSPECIFIED",
		1: "LEVEL_PANIC",
		2: "LEVEL_FATAL",
		3: "LEVEL_ERROR",
		4: "LEVEL_WARN",
		5: "LEVEL_INFO",
		6: "LEVEL_DEBUG",
		7: "LEVEL_TRACE",
	}
	SetLogLevelRequest_Level_value = map[string]int32{
		"LEVEL_UNSPECIFIED": 0,
		"LEVEL_PANIC":       1,
		"LEVEL_FATAL":       2,
		"LEVEL_ERROR":       3,
		"LEVEL_WARN":        4,
		"LEVEL_INFO":        5,
		"LEVEL_DEBUG":       6,
		"LEVEL_TRACE":       7,
	}
)

func (x SetLogLevelRequest_Level) Enum() *SetLogLevelRequest_Level {
	p := new(SetLogLevelRequest_Level)
	*p = x
	return p
}

func (x SetLogLevelRequest_Level) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SetLogLevelRequest_Level) Descriptor() protoreflect.EnumDescriptor {
	return file_api_gobgp_proto_enumTypes[26].Descriptor()
}

func (SetLogLevelRequest_Level) Type() protoreflect.EnumType {
	return &file_api_gobgp_proto_enumTypes[26]
}

func (x SetLogLevelRequest_Level) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SetLogLevelRequest_Level.Descriptor instead.
func (SetLogLevelRequest_Level) EnumDescriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{187, 0}
}

type StartBgpRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Global        *Global                `protobuf:"bytes,1,opt,name=global,proto3" json:"global,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StartBgpRequest) Reset() {
	*x = StartBgpRequest{}
	mi := &file_api_gobgp_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StartBgpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StartBgpRequest) ProtoMessage() {}

func (x *StartBgpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StartBgpRequest.ProtoReflect.Descriptor instead.
func (*StartBgpRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{0}
}

func (x *StartBgpRequest) GetGlobal() *Global {
	if x != nil {
		return x.Global
	}
	return nil
}

type StartBgpResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StartBgpResponse) Reset() {
	*x = StartBgpResponse{}
	mi := &file_api_gobgp_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StartBgpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StartBgpResponse) ProtoMessage() {}

func (x *StartBgpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StartBgpResponse.ProtoReflect.Descriptor instead.
func (*StartBgpResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{1}
}

type StopBgpRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Allows the Graceful Restart procedure on the remote peers by not sending a NOTIFICATION message to GR-enabled peers.
	AllowGracefulRestart bool `protobuf:"varint,1,opt,name=allow_graceful_restart,json=allowGracefulRestart,proto3" json:"allow_graceful_restart,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *StopBgpRequest) Reset() {
	*x = StopBgpRequest{}
	mi := &file_api_gobgp_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StopBgpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StopBgpRequest) ProtoMessage() {}

func (x *StopBgpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopBgpRequest.ProtoReflect.Descriptor instead.
func (*StopBgpRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{2}
}

func (x *StopBgpRequest) GetAllowGracefulRestart() bool {
	if x != nil {
		return x.AllowGracefulRestart
	}
	return false
}

type StopBgpResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StopBgpResponse) Reset() {
	*x = StopBgpResponse{}
	mi := &file_api_gobgp_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StopBgpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StopBgpResponse) ProtoMessage() {}

func (x *StopBgpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopBgpResponse.ProtoReflect.Descriptor instead.
func (*StopBgpResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{3}
}

type GetBgpRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetBgpRequest) Reset() {
	*x = GetBgpRequest{}
	mi := &file_api_gobgp_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetBgpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBgpRequest) ProtoMessage() {}

func (x *GetBgpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetBgpRequest.ProtoReflect.Descriptor instead.
func (*GetBgpRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{4}
}

type GetBgpResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Global        *Global                `protobuf:"bytes,1,opt,name=global,proto3" json:"global,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetBgpResponse) Reset() {
	*x = GetBgpResponse{}
	mi := &file_api_gobgp_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetBgpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetBgpResponse) ProtoMessage() {}

func (x *GetBgpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetBgpResponse.ProtoReflect.Descriptor instead.
func (*GetBgpResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{5}
}

func (x *GetBgpResponse) GetGlobal() *Global {
	if x != nil {
		return x.Global
	}
	return nil
}

type WatchEventRequest struct {
	state protoimpl.MessageState   `protogen:"open.v1"`
	Peer  *WatchEventRequest_Peer  `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"`
	Table *WatchEventRequest_Table `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"`
	// Max number of paths to include in a single message. 0 for unlimited.
	BatchSize     uint32 `protobuf:"varint,3,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WatchEventRequest) Reset() {
	*x = WatchEventRequest{}
	mi := &file_api_gobgp_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WatchEventRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchEventRequest) ProtoMessage() {}

func (x *WatchEventRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchEventRequest.ProtoReflect.Descriptor instead.
func (*WatchEventRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{6}
}

func (x *WatchEventRequest) GetPeer() *WatchEventRequest_Peer {
	if x != nil {
		return x.Peer
	}
	return nil
}

func (x *WatchEventRequest) GetTable() *WatchEventRequest_Table {
	if x != nil {
		return x.Table
	}
	return nil
}

func (x *WatchEventRequest) GetBatchSize() uint32 {
	if x != nil {
		return x.BatchSize
	}
	return 0
}

type WatchEventResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Event:
	//
	//	*WatchEventResponse_Peer
	//	*WatchEventResponse_Table
	Event         isWatchEventResponse_Event `protobuf_oneof:"event"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WatchEventResponse) Reset() {
	*x = WatchEventResponse{}
	mi := &file_api_gobgp_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WatchEventResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchEventResponse) ProtoMessage() {}

func (x *WatchEventResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchEventResponse.ProtoReflect.Descriptor instead.
func (*WatchEventResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{7}
}

func (x *WatchEventResponse) GetEvent() isWatchEventResponse_Event {
	if x != nil {
		return x.Event
	}
	return nil
}

func (x *WatchEventResponse) GetPeer() *WatchEventResponse_PeerEvent {
	if x != nil {
		if x, ok := x.Event.(*WatchEventResponse_Peer); ok {
			return x.Peer
		}
	}
	return nil
}

func (x *WatchEventResponse) GetTable() *WatchEventResponse_TableEvent {
	if x != nil {
		if x, ok := x.Event.(*WatchEventResponse_Table); ok {
			return x.Table
		}
	}
	return nil
}

type isWatchEventResponse_Event interface {
	isWatchEventResponse_Event()
}

type WatchEventResponse_Peer struct {
	Peer *WatchEventResponse_PeerEvent `protobuf:"bytes,2,opt,name=peer,proto3,oneof"`
}

type WatchEventResponse_Table struct {
	Table *WatchEventResponse_TableEvent `protobuf:"bytes,3,opt,name=table,proto3,oneof"`
}

func (*WatchEventResponse_Peer) isWatchEventResponse_Event() {}

func (*WatchEventResponse_Table) isWatchEventResponse_Event() {}

type AddPeerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Peer          *Peer                  `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPeerRequest) Reset() {
	*x = AddPeerRequest{}
	mi := &file_api_gobgp_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPeerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPeerRequest) ProtoMessage() {}

func (x *AddPeerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPeerRequest.ProtoReflect.Descriptor instead.
func (*AddPeerRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{8}
}

func (x *AddPeerRequest) GetPeer() *Peer {
	if x != nil {
		return x.Peer
	}
	return nil
}

type AddPeerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPeerResponse) Reset() {
	*x = AddPeerResponse{}
	mi := &file_api_gobgp_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPeerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPeerResponse) ProtoMessage() {}

func (x *AddPeerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPeerResponse.ProtoReflect.Descriptor instead.
func (*AddPeerResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{9}
}

type DeletePeerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Interface     string                 `protobuf:"bytes,2,opt,name=interface,proto3" json:"interface,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePeerRequest) Reset() {
	*x = DeletePeerRequest{}
	mi := &file_api_gobgp_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePeerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePeerRequest) ProtoMessage() {}

func (x *DeletePeerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePeerRequest.ProtoReflect.Descriptor instead.
func (*DeletePeerRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{10}
}

func (x *DeletePeerRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *DeletePeerRequest) GetInterface() string {
	if x != nil {
		return x.Interface
	}
	return ""
}

type DeletePeerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePeerResponse) Reset() {
	*x = DeletePeerResponse{}
	mi := &file_api_gobgp_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePeerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePeerResponse) ProtoMessage() {}

func (x *DeletePeerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePeerResponse.ProtoReflect.Descriptor instead.
func (*DeletePeerResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{11}
}

type ListPeerRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Address          string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	EnableAdvertised bool                   `protobuf:"varint,2,opt,name=enable_advertised,json=enableAdvertised,proto3" json:"enable_advertised,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ListPeerRequest) Reset() {
	*x = ListPeerRequest{}
	mi := &file_api_gobgp_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPeerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPeerRequest) ProtoMessage() {}

func (x *ListPeerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPeerRequest.ProtoReflect.Descriptor instead.
func (*ListPeerRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{12}
}

func (x *ListPeerRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *ListPeerRequest) GetEnableAdvertised() bool {
	if x != nil {
		return x.EnableAdvertised
	}
	return false
}

type ListPeerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Peer          *Peer                  `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPeerResponse) Reset() {
	*x = ListPeerResponse{}
	mi := &file_api_gobgp_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPeerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPeerResponse) ProtoMessage() {}

func (x *ListPeerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPeerResponse.ProtoReflect.Descriptor instead.
func (*ListPeerResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{13}
}

func (x *ListPeerResponse) GetPeer() *Peer {
	if x != nil {
		return x.Peer
	}
	return nil
}

type UpdatePeerRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Peer  *Peer                  `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"`
	// Calls SoftResetIn after updating the peer configuration if needed.
	DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn,proto3" json:"do_soft_reset_in,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdatePeerRequest) Reset() {
	*x = UpdatePeerRequest{}
	mi := &file_api_gobgp_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdatePeerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdatePeerRequest) ProtoMessage() {}

func (x *UpdatePeerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdatePeerRequest.ProtoReflect.Descriptor instead.
func (*UpdatePeerRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{14}
}

func (x *UpdatePeerRequest) GetPeer() *Peer {
	if x != nil {
		return x.Peer
	}
	return nil
}

func (x *UpdatePeerRequest) GetDoSoftResetIn() bool {
	if x != nil {
		return x.DoSoftResetIn
	}
	return false
}

type UpdatePeerResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// 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,proto3" json:"needs_soft_reset_in,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *UpdatePeerResponse) Reset() {
	*x = UpdatePeerResponse{}
	mi := &file_api_gobgp_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdatePeerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdatePeerResponse) ProtoMessage() {}

func (x *UpdatePeerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdatePeerResponse.ProtoReflect.Descriptor instead.
func (*UpdatePeerResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{15}
}

func (x *UpdatePeerResponse) GetNeedsSoftResetIn() bool {
	if x != nil {
		return x.NeedsSoftResetIn
	}
	return false
}

type ResetPeerRequest struct {
	state         protoimpl.MessageState     `protogen:"open.v1"`
	Address       string                     `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Communication string                     `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"`
	Soft          bool                       `protobuf:"varint,3,opt,name=soft,proto3" json:"soft,omitempty"`
	Direction     ResetPeerRequest_Direction `protobuf:"varint,4,opt,name=direction,proto3,enum=api.ResetPeerRequest_Direction" json:"direction,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResetPeerRequest) Reset() {
	*x = ResetPeerRequest{}
	mi := &file_api_gobgp_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ResetPeerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetPeerRequest) ProtoMessage() {}

func (x *ResetPeerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetPeerRequest.ProtoReflect.Descriptor instead.
func (*ResetPeerRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{16}
}

func (x *ResetPeerRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *ResetPeerRequest) GetCommunication() string {
	if x != nil {
		return x.Communication
	}
	return ""
}

func (x *ResetPeerRequest) GetSoft() bool {
	if x != nil {
		return x.Soft
	}
	return false
}

func (x *ResetPeerRequest) GetDirection() ResetPeerRequest_Direction {
	if x != nil {
		return x.Direction
	}
	return ResetPeerRequest_DIRECTION_UNSPECIFIED
}

type ResetPeerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResetPeerResponse) Reset() {
	*x = ResetPeerResponse{}
	mi := &file_api_gobgp_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ResetPeerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetPeerResponse) ProtoMessage() {}

func (x *ResetPeerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetPeerResponse.ProtoReflect.Descriptor instead.
func (*ResetPeerResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{17}
}

type ShutdownPeerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Communication string                 `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ShutdownPeerRequest) Reset() {
	*x = ShutdownPeerRequest{}
	mi := &file_api_gobgp_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ShutdownPeerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ShutdownPeerRequest) ProtoMessage() {}

func (x *ShutdownPeerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ShutdownPeerRequest.ProtoReflect.Descriptor instead.
func (*ShutdownPeerRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{18}
}

func (x *ShutdownPeerRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *ShutdownPeerRequest) GetCommunication() string {
	if x != nil {
		return x.Communication
	}
	return ""
}

type ShutdownPeerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ShutdownPeerResponse) Reset() {
	*x = ShutdownPeerResponse{}
	mi := &file_api_gobgp_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ShutdownPeerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ShutdownPeerResponse) ProtoMessage() {}

func (x *ShutdownPeerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ShutdownPeerResponse.ProtoReflect.Descriptor instead.
func (*ShutdownPeerResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{19}
}

type EnablePeerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnablePeerRequest) Reset() {
	*x = EnablePeerRequest{}
	mi := &file_api_gobgp_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnablePeerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnablePeerRequest) ProtoMessage() {}

func (x *EnablePeerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnablePeerRequest.ProtoReflect.Descriptor instead.
func (*EnablePeerRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{20}
}

func (x *EnablePeerRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

type EnablePeerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnablePeerResponse) Reset() {
	*x = EnablePeerResponse{}
	mi := &file_api_gobgp_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnablePeerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnablePeerResponse) ProtoMessage() {}

func (x *EnablePeerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnablePeerResponse.ProtoReflect.Descriptor instead.
func (*EnablePeerResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{21}
}

type DisablePeerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Communication string                 `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DisablePeerRequest) Reset() {
	*x = DisablePeerRequest{}
	mi := &file_api_gobgp_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DisablePeerRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisablePeerRequest) ProtoMessage() {}

func (x *DisablePeerRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisablePeerRequest.ProtoReflect.Descriptor instead.
func (*DisablePeerRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{22}
}

func (x *DisablePeerRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *DisablePeerRequest) GetCommunication() string {
	if x != nil {
		return x.Communication
	}
	return ""
}

type DisablePeerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DisablePeerResponse) Reset() {
	*x = DisablePeerResponse{}
	mi := &file_api_gobgp_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DisablePeerResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisablePeerResponse) ProtoMessage() {}

func (x *DisablePeerResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisablePeerResponse.ProtoReflect.Descriptor instead.
func (*DisablePeerResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{23}
}

type AddPeerGroupRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PeerGroup     *PeerGroup             `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPeerGroupRequest) Reset() {
	*x = AddPeerGroupRequest{}
	mi := &file_api_gobgp_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPeerGroupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPeerGroupRequest) ProtoMessage() {}

func (x *AddPeerGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPeerGroupRequest.ProtoReflect.Descriptor instead.
func (*AddPeerGroupRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{24}
}

func (x *AddPeerGroupRequest) GetPeerGroup() *PeerGroup {
	if x != nil {
		return x.PeerGroup
	}
	return nil
}

type AddPeerGroupResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPeerGroupResponse) Reset() {
	*x = AddPeerGroupResponse{}
	mi := &file_api_gobgp_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPeerGroupResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPeerGroupResponse) ProtoMessage() {}

func (x *AddPeerGroupResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPeerGroupResponse.ProtoReflect.Descriptor instead.
func (*AddPeerGroupResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{25}
}

type DeletePeerGroupRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePeerGroupRequest) Reset() {
	*x = DeletePeerGroupRequest{}
	mi := &file_api_gobgp_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePeerGroupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePeerGroupRequest) ProtoMessage() {}

func (x *DeletePeerGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePeerGroupRequest.ProtoReflect.Descriptor instead.
func (*DeletePeerGroupRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{26}
}

func (x *DeletePeerGroupRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type DeletePeerGroupResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePeerGroupResponse) Reset() {
	*x = DeletePeerGroupResponse{}
	mi := &file_api_gobgp_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePeerGroupResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePeerGroupResponse) ProtoMessage() {}

func (x *DeletePeerGroupResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePeerGroupResponse.ProtoReflect.Descriptor instead.
func (*DeletePeerGroupResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{27}
}

type UpdatePeerGroupRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PeerGroup     *PeerGroup             `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"`
	DoSoftResetIn bool                   `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn,proto3" json:"do_soft_reset_in,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdatePeerGroupRequest) Reset() {
	*x = UpdatePeerGroupRequest{}
	mi := &file_api_gobgp_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdatePeerGroupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdatePeerGroupRequest) ProtoMessage() {}

func (x *UpdatePeerGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdatePeerGroupRequest.ProtoReflect.Descriptor instead.
func (*UpdatePeerGroupRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{28}
}

func (x *UpdatePeerGroupRequest) GetPeerGroup() *PeerGroup {
	if x != nil {
		return x.PeerGroup
	}
	return nil
}

func (x *UpdatePeerGroupRequest) GetDoSoftResetIn() bool {
	if x != nil {
		return x.DoSoftResetIn
	}
	return false
}

type UpdatePeerGroupResponse struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	NeedsSoftResetIn bool                   `protobuf:"varint,1,opt,name=needs_soft_reset_in,json=needsSoftResetIn,proto3" json:"needs_soft_reset_in,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *UpdatePeerGroupResponse) Reset() {
	*x = UpdatePeerGroupResponse{}
	mi := &file_api_gobgp_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UpdatePeerGroupResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdatePeerGroupResponse) ProtoMessage() {}

func (x *UpdatePeerGroupResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdatePeerGroupResponse.ProtoReflect.Descriptor instead.
func (*UpdatePeerGroupResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{29}
}

func (x *UpdatePeerGroupResponse) GetNeedsSoftResetIn() bool {
	if x != nil {
		return x.NeedsSoftResetIn
	}
	return false
}

type ListPeerGroupRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PeerGroupName string                 `protobuf:"bytes,1,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPeerGroupRequest) Reset() {
	*x = ListPeerGroupRequest{}
	mi := &file_api_gobgp_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPeerGroupRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPeerGroupRequest) ProtoMessage() {}

func (x *ListPeerGroupRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPeerGroupRequest.ProtoReflect.Descriptor instead.
func (*ListPeerGroupRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{30}
}

func (x *ListPeerGroupRequest) GetPeerGroupName() string {
	if x != nil {
		return x.PeerGroupName
	}
	return ""
}

type ListPeerGroupResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PeerGroup     *PeerGroup             `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPeerGroupResponse) Reset() {
	*x = ListPeerGroupResponse{}
	mi := &file_api_gobgp_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPeerGroupResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPeerGroupResponse) ProtoMessage() {}

func (x *ListPeerGroupResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPeerGroupResponse.ProtoReflect.Descriptor instead.
func (*ListPeerGroupResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{31}
}

func (x *ListPeerGroupResponse) GetPeerGroup() *PeerGroup {
	if x != nil {
		return x.PeerGroup
	}
	return nil
}

type AddDynamicNeighborRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	DynamicNeighbor *DynamicNeighbor       `protobuf:"bytes,1,opt,name=dynamic_neighbor,json=dynamicNeighbor,proto3" json:"dynamic_neighbor,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *AddDynamicNeighborRequest) Reset() {
	*x = AddDynamicNeighborRequest{}
	mi := &file_api_gobgp_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddDynamicNeighborRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddDynamicNeighborRequest) ProtoMessage() {}

func (x *AddDynamicNeighborRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddDynamicNeighborRequest.ProtoReflect.Descriptor instead.
func (*AddDynamicNeighborRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{32}
}

func (x *AddDynamicNeighborRequest) GetDynamicNeighbor() *DynamicNeighbor {
	if x != nil {
		return x.DynamicNeighbor
	}
	return nil
}

type AddDynamicNeighborResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddDynamicNeighborResponse) Reset() {
	*x = AddDynamicNeighborResponse{}
	mi := &file_api_gobgp_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddDynamicNeighborResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddDynamicNeighborResponse) ProtoMessage() {}

func (x *AddDynamicNeighborResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddDynamicNeighborResponse.ProtoReflect.Descriptor instead.
func (*AddDynamicNeighborResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{33}
}

type DeleteDynamicNeighborRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	PeerGroup     string                 `protobuf:"bytes,2,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteDynamicNeighborRequest) Reset() {
	*x = DeleteDynamicNeighborRequest{}
	mi := &file_api_gobgp_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteDynamicNeighborRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteDynamicNeighborRequest) ProtoMessage() {}

func (x *DeleteDynamicNeighborRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteDynamicNeighborRequest.ProtoReflect.Descriptor instead.
func (*DeleteDynamicNeighborRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{34}
}

func (x *DeleteDynamicNeighborRequest) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *DeleteDynamicNeighborRequest) GetPeerGroup() string {
	if x != nil {
		return x.PeerGroup
	}
	return ""
}

type DeleteDynamicNeighborResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteDynamicNeighborResponse) Reset() {
	*x = DeleteDynamicNeighborResponse{}
	mi := &file_api_gobgp_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteDynamicNeighborResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteDynamicNeighborResponse) ProtoMessage() {}

func (x *DeleteDynamicNeighborResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[35]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteDynamicNeighborResponse.ProtoReflect.Descriptor instead.
func (*DeleteDynamicNeighborResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{35}
}

type ListDynamicNeighborRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PeerGroup     string                 `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListDynamicNeighborRequest) Reset() {
	*x = ListDynamicNeighborRequest{}
	mi := &file_api_gobgp_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListDynamicNeighborRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListDynamicNeighborRequest) ProtoMessage() {}

func (x *ListDynamicNeighborRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[36]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListDynamicNeighborRequest.ProtoReflect.Descriptor instead.
func (*ListDynamicNeighborRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{36}
}

func (x *ListDynamicNeighborRequest) GetPeerGroup() string {
	if x != nil {
		return x.PeerGroup
	}
	return ""
}

type ListDynamicNeighborResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	DynamicNeighbor *DynamicNeighbor       `protobuf:"bytes,1,opt,name=dynamic_neighbor,json=dynamicNeighbor,proto3" json:"dynamic_neighbor,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ListDynamicNeighborResponse) Reset() {
	*x = ListDynamicNeighborResponse{}
	mi := &file_api_gobgp_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListDynamicNeighborResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListDynamicNeighborResponse) ProtoMessage() {}

func (x *ListDynamicNeighborResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[37]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListDynamicNeighborResponse.ProtoReflect.Descriptor instead.
func (*ListDynamicNeighborResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{37}
}

func (x *ListDynamicNeighborResponse) GetDynamicNeighbor() *DynamicNeighbor {
	if x != nil {
		return x.DynamicNeighbor
	}
	return nil
}

type AddPathRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TableType     TableType              `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=api.TableType" json:"table_type,omitempty"`
	VrfId         string                 `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	Path          *Path                  `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPathRequest) Reset() {
	*x = AddPathRequest{}
	mi := &file_api_gobgp_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPathRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPathRequest) ProtoMessage() {}

func (x *AddPathRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[38]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPathRequest.ProtoReflect.Descriptor instead.
func (*AddPathRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{38}
}

func (x *AddPathRequest) GetTableType() TableType {
	if x != nil {
		return x.TableType
	}
	return TableType_TABLE_TYPE_UNSPECIFIED
}

func (x *AddPathRequest) GetVrfId() string {
	if x != nil {
		return x.VrfId
	}
	return ""
}

func (x *AddPathRequest) GetPath() *Path {
	if x != nil {
		return x.Path
	}
	return nil
}

type AddPathResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Uuid          []byte                 `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPathResponse) Reset() {
	*x = AddPathResponse{}
	mi := &file_api_gobgp_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPathResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPathResponse) ProtoMessage() {}

func (x *AddPathResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[39]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPathResponse.ProtoReflect.Descriptor instead.
func (*AddPathResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{39}
}

func (x *AddPathResponse) GetUuid() []byte {
	if x != nil {
		return x.Uuid
	}
	return nil
}

type DeletePathRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TableType     TableType              `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=api.TableType" json:"table_type,omitempty"`
	VrfId         string                 `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	Family        *Family                `protobuf:"bytes,3,opt,name=family,proto3" json:"family,omitempty"`
	Path          *Path                  `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
	Uuid          []byte                 `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePathRequest) Reset() {
	*x = DeletePathRequest{}
	mi := &file_api_gobgp_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePathRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePathRequest) ProtoMessage() {}

func (x *DeletePathRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[40]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePathRequest.ProtoReflect.Descriptor instead.
func (*DeletePathRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{40}
}

func (x *DeletePathRequest) GetTableType() TableType {
	if x != nil {
		return x.TableType
	}
	return TableType_TABLE_TYPE_UNSPECIFIED
}

func (x *DeletePathRequest) GetVrfId() string {
	if x != nil {
		return x.VrfId
	}
	return ""
}

func (x *DeletePathRequest) GetFamily() *Family {
	if x != nil {
		return x.Family
	}
	return nil
}

func (x *DeletePathRequest) GetPath() *Path {
	if x != nil {
		return x.Path
	}
	return nil
}

func (x *DeletePathRequest) GetUuid() []byte {
	if x != nil {
		return x.Uuid
	}
	return nil
}

type DeletePathResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePathResponse) Reset() {
	*x = DeletePathResponse{}
	mi := &file_api_gobgp_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePathResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePathResponse) ProtoMessage() {}

func (x *DeletePathResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[41]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePathResponse.ProtoReflect.Descriptor instead.
func (*DeletePathResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{41}
}

// API representation of table.LookupPrefix
type TableLookupPrefix struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Type          TableLookupPrefix_Type `protobuf:"varint,2,opt,name=type,proto3,enum=api.TableLookupPrefix_Type" json:"type,omitempty"`
	Rd            string                 `protobuf:"bytes,3,opt,name=rd,proto3" json:"rd,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TableLookupPrefix) Reset() {
	*x = TableLookupPrefix{}
	mi := &file_api_gobgp_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TableLookupPrefix) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TableLookupPrefix) ProtoMessage() {}

func (x *TableLookupPrefix) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[42]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TableLookupPrefix.ProtoReflect.Descriptor instead.
func (*TableLookupPrefix) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{42}
}

func (x *TableLookupPrefix) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *TableLookupPrefix) GetType() TableLookupPrefix_Type {
	if x != nil {
		return x.Type
	}
	return TableLookupPrefix_TYPE_UNSPECIFIED
}

func (x *TableLookupPrefix) GetRd() string {
	if x != nil {
		return x.Rd
	}
	return ""
}

type ListPathRequest struct {
	state                 protoimpl.MessageState   `protogen:"open.v1"`
	TableType             TableType                `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=api.TableType" json:"table_type,omitempty"`
	Name                  string                   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Family                *Family                  `protobuf:"bytes,3,opt,name=family,proto3" json:"family,omitempty"`
	Prefixes              []*TableLookupPrefix     `protobuf:"bytes,4,rep,name=prefixes,proto3" json:"prefixes,omitempty"`
	SortType              ListPathRequest_SortType `protobuf:"varint,5,opt,name=sort_type,json=sortType,proto3,enum=api.ListPathRequest_SortType" json:"sort_type,omitempty"`
	EnableFiltered        bool                     `protobuf:"varint,6,opt,name=enable_filtered,json=enableFiltered,proto3" json:"enable_filtered,omitempty"`
	EnableNlriBinary      bool                     `protobuf:"varint,7,opt,name=enable_nlri_binary,json=enableNlriBinary,proto3" json:"enable_nlri_binary,omitempty"`
	EnableAttributeBinary bool                     `protobuf:"varint,8,opt,name=enable_attribute_binary,json=enableAttributeBinary,proto3" json:"enable_attribute_binary,omitempty"`
	// enable_only_binary == true means that only nlri_binary and pattrs_binary
	// will be used instead of nlri and pattrs for each Path in ListPathResponse.
	EnableOnlyBinary bool `protobuf:"varint,9,opt,name=enable_only_binary,json=enableOnlyBinary,proto3" json:"enable_only_binary,omitempty"`
	// max ammount of paths to be allocated, unlimited by default
	BatchSize     uint64 `protobuf:"varint,10,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPathRequest) Reset() {
	*x = ListPathRequest{}
	mi := &file_api_gobgp_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPathRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPathRequest) ProtoMessage() {}

func (x *ListPathRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[43]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPathRequest.ProtoReflect.Descriptor instead.
func (*ListPathRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{43}
}

func (x *ListPathRequest) GetTableType() TableType {
	if x != nil {
		return x.TableType
	}
	return TableType_TABLE_TYPE_UNSPECIFIED
}

func (x *ListPathRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ListPathRequest) GetFamily() *Family {
	if x != nil {
		return x.Family
	}
	return nil
}

func (x *ListPathRequest) GetPrefixes() []*TableLookupPrefix {
	if x != nil {
		return x.Prefixes
	}
	return nil
}

func (x *ListPathRequest) GetSortType() ListPathRequest_SortType {
	if x != nil {
		return x.SortType
	}
	return ListPathRequest_SORT_TYPE_UNSPECIFIED
}

func (x *ListPathRequest) GetEnableFiltered() bool {
	if x != nil {
		return x.EnableFiltered
	}
	return false
}

func (x *ListPathRequest) GetEnableNlriBinary() bool {
	if x != nil {
		return x.EnableNlriBinary
	}
	return false
}

func (x *ListPathRequest) GetEnableAttributeBinary() bool {
	if x != nil {
		return x.EnableAttributeBinary
	}
	return false
}

func (x *ListPathRequest) GetEnableOnlyBinary() bool {
	if x != nil {
		return x.EnableOnlyBinary
	}
	return false
}

func (x *ListPathRequest) GetBatchSize() uint64 {
	if x != nil {
		return x.BatchSize
	}
	return 0
}

type ListPathResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Destination   *Destination           `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPathResponse) Reset() {
	*x = ListPathResponse{}
	mi := &file_api_gobgp_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPathResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPathResponse) ProtoMessage() {}

func (x *ListPathResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[44]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPathResponse.ProtoReflect.Descriptor instead.
func (*ListPathResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{44}
}

func (x *ListPathResponse) GetDestination() *Destination {
	if x != nil {
		return x.Destination
	}
	return nil
}

type AddPathStreamRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TableType     TableType              `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=api.TableType" json:"table_type,omitempty"`
	VrfId         string                 `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
	Paths         []*Path                `protobuf:"bytes,3,rep,name=paths,proto3" json:"paths,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPathStreamRequest) Reset() {
	*x = AddPathStreamRequest{}
	mi := &file_api_gobgp_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPathStreamRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPathStreamRequest) ProtoMessage() {}

func (x *AddPathStreamRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[45]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPathStreamRequest.ProtoReflect.Descriptor instead.
func (*AddPathStreamRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{45}
}

func (x *AddPathStreamRequest) GetTableType() TableType {
	if x != nil {
		return x.TableType
	}
	return TableType_TABLE_TYPE_UNSPECIFIED
}

func (x *AddPathStreamRequest) GetVrfId() string {
	if x != nil {
		return x.VrfId
	}
	return ""
}

func (x *AddPathStreamRequest) GetPaths() []*Path {
	if x != nil {
		return x.Paths
	}
	return nil
}

type AddPathStreamResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPathStreamResponse) Reset() {
	*x = AddPathStreamResponse{}
	mi := &file_api_gobgp_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPathStreamResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPathStreamResponse) ProtoMessage() {}

func (x *AddPathStreamResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[46]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPathStreamResponse.ProtoReflect.Descriptor instead.
func (*AddPathStreamResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{46}
}

type GetTableRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TableType     TableType              `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=api.TableType" json:"table_type,omitempty"`
	Family        *Family                `protobuf:"bytes,2,opt,name=family,proto3" json:"family,omitempty"`
	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetTableRequest) Reset() {
	*x = GetTableRequest{}
	mi := &file_api_gobgp_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetTableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTableRequest) ProtoMessage() {}

func (x *GetTableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[47]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTableRequest.ProtoReflect.Descriptor instead.
func (*GetTableRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{47}
}

func (x *GetTableRequest) GetTableType() TableType {
	if x != nil {
		return x.TableType
	}
	return TableType_TABLE_TYPE_UNSPECIFIED
}

func (x *GetTableRequest) GetFamily() *Family {
	if x != nil {
		return x.Family
	}
	return nil
}

func (x *GetTableRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type GetTableResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	NumDestination uint64                 `protobuf:"varint,1,opt,name=num_destination,json=numDestination,proto3" json:"num_destination,omitempty"`
	NumPath        uint64                 `protobuf:"varint,2,opt,name=num_path,json=numPath,proto3" json:"num_path,omitempty"`
	NumAccepted    uint64                 `protobuf:"varint,3,opt,name=num_accepted,json=numAccepted,proto3" json:"num_accepted,omitempty"` // only meaningful when type == ADJ_IN
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GetTableResponse) Reset() {
	*x = GetTableResponse{}
	mi := &file_api_gobgp_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetTableResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTableResponse) ProtoMessage() {}

func (x *GetTableResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[48]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTableResponse.ProtoReflect.Descriptor instead.
func (*GetTableResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{48}
}

func (x *GetTableResponse) GetNumDestination() uint64 {
	if x != nil {
		return x.NumDestination
	}
	return 0
}

func (x *GetTableResponse) GetNumPath() uint64 {
	if x != nil {
		return x.NumPath
	}
	return 0
}

func (x *GetTableResponse) GetNumAccepted() uint64 {
	if x != nil {
		return x.NumAccepted
	}
	return 0
}

type AddVrfRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Vrf           *Vrf                   `protobuf:"bytes,1,opt,name=vrf,proto3" json:"vrf,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddVrfRequest) Reset() {
	*x = AddVrfRequest{}
	mi := &file_api_gobgp_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddVrfRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddVrfRequest) ProtoMessage() {}

func (x *AddVrfRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[49]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddVrfRequest.ProtoReflect.Descriptor instead.
func (*AddVrfRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{49}
}

func (x *AddVrfRequest) GetVrf() *Vrf {
	if x != nil {
		return x.Vrf
	}
	return nil
}

type AddVrfResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddVrfResponse) Reset() {
	*x = AddVrfResponse{}
	mi := &file_api_gobgp_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddVrfResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddVrfResponse) ProtoMessage() {}

func (x *AddVrfResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[50]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddVrfResponse.ProtoReflect.Descriptor instead.
func (*AddVrfResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{50}
}

type DeleteVrfRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteVrfRequest) Reset() {
	*x = DeleteVrfRequest{}
	mi := &file_api_gobgp_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteVrfRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteVrfRequest) ProtoMessage() {}

func (x *DeleteVrfRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[51]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteVrfRequest.ProtoReflect.Descriptor instead.
func (*DeleteVrfRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{51}
}

func (x *DeleteVrfRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type DeleteVrfResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteVrfResponse) Reset() {
	*x = DeleteVrfResponse{}
	mi := &file_api_gobgp_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteVrfResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteVrfResponse) ProtoMessage() {}

func (x *DeleteVrfResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[52]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteVrfResponse.ProtoReflect.Descriptor instead.
func (*DeleteVrfResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{52}
}

type ListVrfRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListVrfRequest) Reset() {
	*x = ListVrfRequest{}
	mi := &file_api_gobgp_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListVrfRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListVrfRequest) ProtoMessage() {}

func (x *ListVrfRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[53]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListVrfRequest.ProtoReflect.Descriptor instead.
func (*ListVrfRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{53}
}

func (x *ListVrfRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type ListVrfResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Vrf           *Vrf                   `protobuf:"bytes,1,opt,name=vrf,proto3" json:"vrf,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListVrfResponse) Reset() {
	*x = ListVrfResponse{}
	mi := &file_api_gobgp_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListVrfResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListVrfResponse) ProtoMessage() {}

func (x *ListVrfResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[54]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListVrfResponse.ProtoReflect.Descriptor instead.
func (*ListVrfResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{54}
}

func (x *ListVrfResponse) GetVrf() *Vrf {
	if x != nil {
		return x.Vrf
	}
	return nil
}

type AddPolicyRequest struct {
	state  protoimpl.MessageState `protogen:"open.v1"`
	Policy *Policy                `protobuf:"bytes,1,opt,name=policy,proto3" 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,proto3" json:"refer_existing_statements,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *AddPolicyRequest) Reset() {
	*x = AddPolicyRequest{}
	mi := &file_api_gobgp_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPolicyRequest) ProtoMessage() {}

func (x *AddPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[55]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPolicyRequest.ProtoReflect.Descriptor instead.
func (*AddPolicyRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{55}
}

func (x *AddPolicyRequest) GetPolicy() *Policy {
	if x != nil {
		return x.Policy
	}
	return nil
}

func (x *AddPolicyRequest) GetReferExistingStatements() bool {
	if x != nil {
		return x.ReferExistingStatements
	}
	return false
}

type AddPolicyResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPolicyResponse) Reset() {
	*x = AddPolicyResponse{}
	mi := &file_api_gobgp_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPolicyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPolicyResponse) ProtoMessage() {}

func (x *AddPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[56]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPolicyResponse.ProtoReflect.Descriptor instead.
func (*AddPolicyResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{56}
}

type DeletePolicyRequest struct {
	state  protoimpl.MessageState `protogen:"open.v1"`
	Policy *Policy                `protobuf:"bytes,1,opt,name=policy,proto3" 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,proto3" json:"preserve_statements,omitempty"`
	All                bool `protobuf:"varint,3,opt,name=all,proto3" json:"all,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *DeletePolicyRequest) Reset() {
	*x = DeletePolicyRequest{}
	mi := &file_api_gobgp_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePolicyRequest) ProtoMessage() {}

func (x *DeletePolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[57]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePolicyRequest.ProtoReflect.Descriptor instead.
func (*DeletePolicyRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{57}
}

func (x *DeletePolicyRequest) GetPolicy() *Policy {
	if x != nil {
		return x.Policy
	}
	return nil
}

func (x *DeletePolicyRequest) GetPreserveStatements() bool {
	if x != nil {
		return x.PreserveStatements
	}
	return false
}

func (x *DeletePolicyRequest) GetAll() bool {
	if x != nil {
		return x.All
	}
	return false
}

type DeletePolicyResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePolicyResponse) Reset() {
	*x = DeletePolicyResponse{}
	mi := &file_api_gobgp_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePolicyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePolicyResponse) ProtoMessage() {}

func (x *DeletePolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[58]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePolicyResponse.ProtoReflect.Descriptor instead.
func (*DeletePolicyResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{58}
}

type ListPolicyRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPolicyRequest) Reset() {
	*x = ListPolicyRequest{}
	mi := &file_api_gobgp_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPolicyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPolicyRequest) ProtoMessage() {}

func (x *ListPolicyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[59]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPolicyRequest.ProtoReflect.Descriptor instead.
func (*ListPolicyRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{59}
}

func (x *ListPolicyRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type ListPolicyResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Policy        *Policy                `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPolicyResponse) Reset() {
	*x = ListPolicyResponse{}
	mi := &file_api_gobgp_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPolicyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPolicyResponse) ProtoMessage() {}

func (x *ListPolicyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[60]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPolicyResponse.ProtoReflect.Descriptor instead.
func (*ListPolicyResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{60}
}

func (x *ListPolicyResponse) GetPolicy() *Policy {
	if x != nil {
		return x.Policy
	}
	return nil
}

type SetPoliciesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DefinedSets   []*DefinedSet          `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets,proto3" json:"defined_sets,omitempty"`
	Policies      []*Policy              `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty"`
	Assignments   []*PolicyAssignment    `protobuf:"bytes,3,rep,name=assignments,proto3" json:"assignments,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetPoliciesRequest) Reset() {
	*x = SetPoliciesRequest{}
	mi := &file_api_gobgp_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetPoliciesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetPoliciesRequest) ProtoMessage() {}

func (x *SetPoliciesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[61]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetPoliciesRequest.ProtoReflect.Descriptor instead.
func (*SetPoliciesRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{61}
}

func (x *SetPoliciesRequest) GetDefinedSets() []*DefinedSet {
	if x != nil {
		return x.DefinedSets
	}
	return nil
}

func (x *SetPoliciesRequest) GetPolicies() []*Policy {
	if x != nil {
		return x.Policies
	}
	return nil
}

func (x *SetPoliciesRequest) GetAssignments() []*PolicyAssignment {
	if x != nil {
		return x.Assignments
	}
	return nil
}

type SetPoliciesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetPoliciesResponse) Reset() {
	*x = SetPoliciesResponse{}
	mi := &file_api_gobgp_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetPoliciesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetPoliciesResponse) ProtoMessage() {}

func (x *SetPoliciesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[62]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetPoliciesResponse.ProtoReflect.Descriptor instead.
func (*SetPoliciesResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{62}
}

type AddDefinedSetRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DefinedSet    *DefinedSet            `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"`
	Replace       bool                   `protobuf:"varint,2,opt,name=replace,proto3" json:"replace,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddDefinedSetRequest) Reset() {
	*x = AddDefinedSetRequest{}
	mi := &file_api_gobgp_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddDefinedSetRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddDefinedSetRequest) ProtoMessage() {}

func (x *AddDefinedSetRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[63]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddDefinedSetRequest.ProtoReflect.Descriptor instead.
func (*AddDefinedSetRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{63}
}

func (x *AddDefinedSetRequest) GetDefinedSet() *DefinedSet {
	if x != nil {
		return x.DefinedSet
	}
	return nil
}

func (x *AddDefinedSetRequest) GetReplace() bool {
	if x != nil {
		return x.Replace
	}
	return false
}

type AddDefinedSetResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddDefinedSetResponse) Reset() {
	*x = AddDefinedSetResponse{}
	mi := &file_api_gobgp_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddDefinedSetResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddDefinedSetResponse) ProtoMessage() {}

func (x *AddDefinedSetResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[64]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddDefinedSetResponse.ProtoReflect.Descriptor instead.
func (*AddDefinedSetResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{64}
}

type DeleteDefinedSetRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DefinedSet    *DefinedSet            `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"`
	All           bool                   `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteDefinedSetRequest) Reset() {
	*x = DeleteDefinedSetRequest{}
	mi := &file_api_gobgp_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteDefinedSetRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteDefinedSetRequest) ProtoMessage() {}

func (x *DeleteDefinedSetRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[65]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteDefinedSetRequest.ProtoReflect.Descriptor instead.
func (*DeleteDefinedSetRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{65}
}

func (x *DeleteDefinedSetRequest) GetDefinedSet() *DefinedSet {
	if x != nil {
		return x.DefinedSet
	}
	return nil
}

func (x *DeleteDefinedSetRequest) GetAll() bool {
	if x != nil {
		return x.All
	}
	return false
}

type DeleteDefinedSetResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteDefinedSetResponse) Reset() {
	*x = DeleteDefinedSetResponse{}
	mi := &file_api_gobgp_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteDefinedSetResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteDefinedSetResponse) ProtoMessage() {}

func (x *DeleteDefinedSetResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[66]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteDefinedSetResponse.ProtoReflect.Descriptor instead.
func (*DeleteDefinedSetResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{66}
}

type ListDefinedSetRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DefinedType   DefinedType            `protobuf:"varint,1,opt,name=defined_type,json=definedType,proto3,enum=api.DefinedType" json:"defined_type,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListDefinedSetRequest) Reset() {
	*x = ListDefinedSetRequest{}
	mi := &file_api_gobgp_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListDefinedSetRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListDefinedSetRequest) ProtoMessage() {}

func (x *ListDefinedSetRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[67]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListDefinedSetRequest.ProtoReflect.Descriptor instead.
func (*ListDefinedSetRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{67}
}

func (x *ListDefinedSetRequest) GetDefinedType() DefinedType {
	if x != nil {
		return x.DefinedType
	}
	return DefinedType_DEFINED_TYPE_UNSPECIFIED
}

func (x *ListDefinedSetRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type ListDefinedSetResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DefinedSet    *DefinedSet            `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListDefinedSetResponse) Reset() {
	*x = ListDefinedSetResponse{}
	mi := &file_api_gobgp_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListDefinedSetResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListDefinedSetResponse) ProtoMessage() {}

func (x *ListDefinedSetResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[68]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListDefinedSetResponse.ProtoReflect.Descriptor instead.
func (*ListDefinedSetResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{68}
}

func (x *ListDefinedSetResponse) GetDefinedSet() *DefinedSet {
	if x != nil {
		return x.DefinedSet
	}
	return nil
}

type AddStatementRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Statement     *Statement             `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddStatementRequest) Reset() {
	*x = AddStatementRequest{}
	mi := &file_api_gobgp_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddStatementRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddStatementRequest) ProtoMessage() {}

func (x *AddStatementRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[69]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddStatementRequest.ProtoReflect.Descriptor instead.
func (*AddStatementRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{69}
}

func (x *AddStatementRequest) GetStatement() *Statement {
	if x != nil {
		return x.Statement
	}
	return nil
}

type AddStatementResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddStatementResponse) Reset() {
	*x = AddStatementResponse{}
	mi := &file_api_gobgp_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddStatementResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddStatementResponse) ProtoMessage() {}

func (x *AddStatementResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[70]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddStatementResponse.ProtoReflect.Descriptor instead.
func (*AddStatementResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{70}
}

type DeleteStatementRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Statement     *Statement             `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"`
	All           bool                   `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteStatementRequest) Reset() {
	*x = DeleteStatementRequest{}
	mi := &file_api_gobgp_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteStatementRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteStatementRequest) ProtoMessage() {}

func (x *DeleteStatementRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[71]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteStatementRequest.ProtoReflect.Descriptor instead.
func (*DeleteStatementRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{71}
}

func (x *DeleteStatementRequest) GetStatement() *Statement {
	if x != nil {
		return x.Statement
	}
	return nil
}

func (x *DeleteStatementRequest) GetAll() bool {
	if x != nil {
		return x.All
	}
	return false
}

type DeleteStatementResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteStatementResponse) Reset() {
	*x = DeleteStatementResponse{}
	mi := &file_api_gobgp_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteStatementResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteStatementResponse) ProtoMessage() {}

func (x *DeleteStatementResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[72]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteStatementResponse.ProtoReflect.Descriptor instead.
func (*DeleteStatementResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{72}
}

type ListStatementRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListStatementRequest) Reset() {
	*x = ListStatementRequest{}
	mi := &file_api_gobgp_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStatementRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStatementRequest) ProtoMessage() {}

func (x *ListStatementRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[73]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStatementRequest.ProtoReflect.Descriptor instead.
func (*ListStatementRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{73}
}

func (x *ListStatementRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type ListStatementResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Statement     *Statement             `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListStatementResponse) Reset() {
	*x = ListStatementResponse{}
	mi := &file_api_gobgp_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStatementResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStatementResponse) ProtoMessage() {}

func (x *ListStatementResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[74]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStatementResponse.ProtoReflect.Descriptor instead.
func (*ListStatementResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{74}
}

func (x *ListStatementResponse) GetStatement() *Statement {
	if x != nil {
		return x.Statement
	}
	return nil
}

type AddPolicyAssignmentRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Assignment    *PolicyAssignment      `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPolicyAssignmentRequest) Reset() {
	*x = AddPolicyAssignmentRequest{}
	mi := &file_api_gobgp_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPolicyAssignmentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPolicyAssignmentRequest) ProtoMessage() {}

func (x *AddPolicyAssignmentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[75]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPolicyAssignmentRequest.ProtoReflect.Descriptor instead.
func (*AddPolicyAssignmentRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{75}
}

func (x *AddPolicyAssignmentRequest) GetAssignment() *PolicyAssignment {
	if x != nil {
		return x.Assignment
	}
	return nil
}

type AddPolicyAssignmentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPolicyAssignmentResponse) Reset() {
	*x = AddPolicyAssignmentResponse{}
	mi := &file_api_gobgp_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPolicyAssignmentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPolicyAssignmentResponse) ProtoMessage() {}

func (x *AddPolicyAssignmentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[76]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPolicyAssignmentResponse.ProtoReflect.Descriptor instead.
func (*AddPolicyAssignmentResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{76}
}

type DeletePolicyAssignmentRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Assignment    *PolicyAssignment      `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"`
	All           bool                   `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePolicyAssignmentRequest) Reset() {
	*x = DeletePolicyAssignmentRequest{}
	mi := &file_api_gobgp_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePolicyAssignmentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePolicyAssignmentRequest) ProtoMessage() {}

func (x *DeletePolicyAssignmentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[77]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePolicyAssignmentRequest.ProtoReflect.Descriptor instead.
func (*DeletePolicyAssignmentRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{77}
}

func (x *DeletePolicyAssignmentRequest) GetAssignment() *PolicyAssignment {
	if x != nil {
		return x.Assignment
	}
	return nil
}

func (x *DeletePolicyAssignmentRequest) GetAll() bool {
	if x != nil {
		return x.All
	}
	return false
}

type DeletePolicyAssignmentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePolicyAssignmentResponse) Reset() {
	*x = DeletePolicyAssignmentResponse{}
	mi := &file_api_gobgp_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeletePolicyAssignmentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeletePolicyAssignmentResponse) ProtoMessage() {}

func (x *DeletePolicyAssignmentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[78]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeletePolicyAssignmentResponse.ProtoReflect.Descriptor instead.
func (*DeletePolicyAssignmentResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{78}
}

type ListPolicyAssignmentRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Direction     PolicyDirection        `protobuf:"varint,2,opt,name=direction,proto3,enum=api.PolicyDirection" json:"direction,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPolicyAssignmentRequest) Reset() {
	*x = ListPolicyAssignmentRequest{}
	mi := &file_api_gobgp_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPolicyAssignmentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPolicyAssignmentRequest) ProtoMessage() {}

func (x *ListPolicyAssignmentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[79]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPolicyAssignmentRequest.ProtoReflect.Descriptor instead.
func (*ListPolicyAssignmentRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{79}
}

func (x *ListPolicyAssignmentRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ListPolicyAssignmentRequest) GetDirection() PolicyDirection {
	if x != nil {
		return x.Direction
	}
	return PolicyDirection_POLICY_DIRECTION_UNSPECIFIED
}

type ListPolicyAssignmentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Assignment    *PolicyAssignment      `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPolicyAssignmentResponse) Reset() {
	*x = ListPolicyAssignmentResponse{}
	mi := &file_api_gobgp_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListPolicyAssignmentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListPolicyAssignmentResponse) ProtoMessage() {}

func (x *ListPolicyAssignmentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[80]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListPolicyAssignmentResponse.ProtoReflect.Descriptor instead.
func (*ListPolicyAssignmentResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{80}
}

func (x *ListPolicyAssignmentResponse) GetAssignment() *PolicyAssignment {
	if x != nil {
		return x.Assignment
	}
	return nil
}

type SetPolicyAssignmentRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Assignment    *PolicyAssignment      `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetPolicyAssignmentRequest) Reset() {
	*x = SetPolicyAssignmentRequest{}
	mi := &file_api_gobgp_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetPolicyAssignmentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetPolicyAssignmentRequest) ProtoMessage() {}

func (x *SetPolicyAssignmentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[81]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetPolicyAssignmentRequest.ProtoReflect.Descriptor instead.
func (*SetPolicyAssignmentRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{81}
}

func (x *SetPolicyAssignmentRequest) GetAssignment() *PolicyAssignment {
	if x != nil {
		return x.Assignment
	}
	return nil
}

type SetPolicyAssignmentResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetPolicyAssignmentResponse) Reset() {
	*x = SetPolicyAssignmentResponse{}
	mi := &file_api_gobgp_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetPolicyAssignmentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetPolicyAssignmentResponse) ProtoMessage() {}

func (x *SetPolicyAssignmentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[82]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetPolicyAssignmentResponse.ProtoReflect.Descriptor instead.
func (*SetPolicyAssignmentResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{82}
}

type AddRpkiRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port          uint32                 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	Lifetime      int64                  `protobuf:"varint,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddRpkiRequest) Reset() {
	*x = AddRpkiRequest{}
	mi := &file_api_gobgp_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddRpkiRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddRpkiRequest) ProtoMessage() {}

func (x *AddRpkiRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[83]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddRpkiRequest.ProtoReflect.Descriptor instead.
func (*AddRpkiRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{83}
}

func (x *AddRpkiRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *AddRpkiRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *AddRpkiRequest) GetLifetime() int64 {
	if x != nil {
		return x.Lifetime
	}
	return 0
}

type AddRpkiResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddRpkiResponse) Reset() {
	*x = AddRpkiResponse{}
	mi := &file_api_gobgp_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddRpkiResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddRpkiResponse) ProtoMessage() {}

func (x *AddRpkiResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[84]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddRpkiResponse.ProtoReflect.Descriptor instead.
func (*AddRpkiResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{84}
}

type DeleteRpkiRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port          uint32                 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteRpkiRequest) Reset() {
	*x = DeleteRpkiRequest{}
	mi := &file_api_gobgp_proto_msgTypes[85]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteRpkiRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteRpkiRequest) ProtoMessage() {}

func (x *DeleteRpkiRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[85]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteRpkiRequest.ProtoReflect.Descriptor instead.
func (*DeleteRpkiRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{85}
}

func (x *DeleteRpkiRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *DeleteRpkiRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

type DeleteRpkiResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteRpkiResponse) Reset() {
	*x = DeleteRpkiResponse{}
	mi := &file_api_gobgp_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteRpkiResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteRpkiResponse) ProtoMessage() {}

func (x *DeleteRpkiResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[86]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteRpkiResponse.ProtoReflect.Descriptor instead.
func (*DeleteRpkiResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{86}
}

type ListRpkiRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Family        *Family                `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRpkiRequest) Reset() {
	*x = ListRpkiRequest{}
	mi := &file_api_gobgp_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRpkiRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRpkiRequest) ProtoMessage() {}

func (x *ListRpkiRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[87]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRpkiRequest.ProtoReflect.Descriptor instead.
func (*ListRpkiRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{87}
}

func (x *ListRpkiRequest) GetFamily() *Family {
	if x != nil {
		return x.Family
	}
	return nil
}

type ListRpkiResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Server        *Rpki                  `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRpkiResponse) Reset() {
	*x = ListRpkiResponse{}
	mi := &file_api_gobgp_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRpkiResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRpkiResponse) ProtoMessage() {}

func (x *ListRpkiResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[88]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRpkiResponse.ProtoReflect.Descriptor instead.
func (*ListRpkiResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{88}
}

func (x *ListRpkiResponse) GetServer() *Rpki {
	if x != nil {
		return x.Server
	}
	return nil
}

type EnableRpkiRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port          uint32                 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnableRpkiRequest) Reset() {
	*x = EnableRpkiRequest{}
	mi := &file_api_gobgp_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnableRpkiRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnableRpkiRequest) ProtoMessage() {}

func (x *EnableRpkiRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[89]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnableRpkiRequest.ProtoReflect.Descriptor instead.
func (*EnableRpkiRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{89}
}

func (x *EnableRpkiRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *EnableRpkiRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

type EnableRpkiResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnableRpkiResponse) Reset() {
	*x = EnableRpkiResponse{}
	mi := &file_api_gobgp_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnableRpkiResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnableRpkiResponse) ProtoMessage() {}

func (x *EnableRpkiResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[90]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnableRpkiResponse.ProtoReflect.Descriptor instead.
func (*EnableRpkiResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{90}
}

type DisableRpkiRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port          uint32                 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DisableRpkiRequest) Reset() {
	*x = DisableRpkiRequest{}
	mi := &file_api_gobgp_proto_msgTypes[91]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DisableRpkiRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisableRpkiRequest) ProtoMessage() {}

func (x *DisableRpkiRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[91]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisableRpkiRequest.ProtoReflect.Descriptor instead.
func (*DisableRpkiRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{91}
}

func (x *DisableRpkiRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *DisableRpkiRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

type DisableRpkiResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DisableRpkiResponse) Reset() {
	*x = DisableRpkiResponse{}
	mi := &file_api_gobgp_proto_msgTypes[92]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DisableRpkiResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisableRpkiResponse) ProtoMessage() {}

func (x *DisableRpkiResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[92]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisableRpkiResponse.ProtoReflect.Descriptor instead.
func (*DisableRpkiResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{92}
}

type ResetRpkiRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port          uint32                 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	Soft          bool                   `protobuf:"varint,3,opt,name=soft,proto3" json:"soft,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResetRpkiRequest) Reset() {
	*x = ResetRpkiRequest{}
	mi := &file_api_gobgp_proto_msgTypes[93]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ResetRpkiRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetRpkiRequest) ProtoMessage() {}

func (x *ResetRpkiRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[93]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetRpkiRequest.ProtoReflect.Descriptor instead.
func (*ResetRpkiRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{93}
}

func (x *ResetRpkiRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *ResetRpkiRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *ResetRpkiRequest) GetSoft() bool {
	if x != nil {
		return x.Soft
	}
	return false
}

type ResetRpkiResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResetRpkiResponse) Reset() {
	*x = ResetRpkiResponse{}
	mi := &file_api_gobgp_proto_msgTypes[94]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ResetRpkiResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResetRpkiResponse) ProtoMessage() {}

func (x *ResetRpkiResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[94]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResetRpkiResponse.ProtoReflect.Descriptor instead.
func (*ResetRpkiResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{94}
}

type ListRpkiTableRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Family        *Family                `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRpkiTableRequest) Reset() {
	*x = ListRpkiTableRequest{}
	mi := &file_api_gobgp_proto_msgTypes[95]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRpkiTableRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRpkiTableRequest) ProtoMessage() {}

func (x *ListRpkiTableRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[95]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRpkiTableRequest.ProtoReflect.Descriptor instead.
func (*ListRpkiTableRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{95}
}

func (x *ListRpkiTableRequest) GetFamily() *Family {
	if x != nil {
		return x.Family
	}
	return nil
}

type ListRpkiTableResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Roa           *Roa                   `protobuf:"bytes,1,opt,name=roa,proto3" json:"roa,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRpkiTableResponse) Reset() {
	*x = ListRpkiTableResponse{}
	mi := &file_api_gobgp_proto_msgTypes[96]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRpkiTableResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRpkiTableResponse) ProtoMessage() {}

func (x *ListRpkiTableResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[96]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRpkiTableResponse.ProtoReflect.Descriptor instead.
func (*ListRpkiTableResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{96}
}

func (x *ListRpkiTableResponse) GetRoa() *Roa {
	if x != nil {
		return x.Roa
	}
	return nil
}

type EnableZebraRequest struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	Url                  string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	RouteTypes           []string               `protobuf:"bytes,2,rep,name=route_types,json=routeTypes,proto3" json:"route_types,omitempty"`
	Version              uint32                 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
	NexthopTriggerEnable bool                   `protobuf:"varint,4,opt,name=nexthop_trigger_enable,json=nexthopTriggerEnable,proto3" json:"nexthop_trigger_enable,omitempty"`
	NexthopTriggerDelay  uint32                 `protobuf:"varint,5,opt,name=nexthop_trigger_delay,json=nexthopTriggerDelay,proto3" json:"nexthop_trigger_delay,omitempty"`
	MplsLabelRangeSize   uint32                 `protobuf:"varint,6,opt,name=mpls_label_range_size,json=mplsLabelRangeSize,proto3" json:"mpls_label_range_size,omitempty"`
	SoftwareName         string                 `protobuf:"bytes,7,opt,name=software_name,json=softwareName,proto3" json:"software_name,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *EnableZebraRequest) Reset() {
	*x = EnableZebraRequest{}
	mi := &file_api_gobgp_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnableZebraRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnableZebraRequest) ProtoMessage() {}

func (x *EnableZebraRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[97]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnableZebraRequest.ProtoReflect.Descriptor instead.
func (*EnableZebraRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{97}
}

func (x *EnableZebraRequest) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *EnableZebraRequest) GetRouteTypes() []string {
	if x != nil {
		return x.RouteTypes
	}
	return nil
}

func (x *EnableZebraRequest) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *EnableZebraRequest) GetNexthopTriggerEnable() bool {
	if x != nil {
		return x.NexthopTriggerEnable
	}
	return false
}

func (x *EnableZebraRequest) GetNexthopTriggerDelay() uint32 {
	if x != nil {
		return x.NexthopTriggerDelay
	}
	return 0
}

func (x *EnableZebraRequest) GetMplsLabelRangeSize() uint32 {
	if x != nil {
		return x.MplsLabelRangeSize
	}
	return 0
}

func (x *EnableZebraRequest) GetSoftwareName() string {
	if x != nil {
		return x.SoftwareName
	}
	return ""
}

type EnableZebraResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnableZebraResponse) Reset() {
	*x = EnableZebraResponse{}
	mi := &file_api_gobgp_proto_msgTypes[98]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnableZebraResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnableZebraResponse) ProtoMessage() {}

func (x *EnableZebraResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[98]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnableZebraResponse.ProtoReflect.Descriptor instead.
func (*EnableZebraResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{98}
}

type EnableMrtRequest struct {
	state            protoimpl.MessageState    `protogen:"open.v1"`
	DumpType         EnableMrtRequest_DumpType `protobuf:"varint,1,opt,name=dump_type,json=dumpType,proto3,enum=api.EnableMrtRequest_DumpType" json:"dump_type,omitempty"`
	Filename         string                    `protobuf:"bytes,2,opt,name=filename,proto3" json:"filename,omitempty"`
	DumpInterval     uint64                    `protobuf:"varint,3,opt,name=dump_interval,json=dumpInterval,proto3" json:"dump_interval,omitempty"`
	RotationInterval uint64                    `protobuf:"varint,4,opt,name=rotation_interval,json=rotationInterval,proto3" json:"rotation_interval,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *EnableMrtRequest) Reset() {
	*x = EnableMrtRequest{}
	mi := &file_api_gobgp_proto_msgTypes[99]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnableMrtRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnableMrtRequest) ProtoMessage() {}

func (x *EnableMrtRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[99]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnableMrtRequest.ProtoReflect.Descriptor instead.
func (*EnableMrtRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{99}
}

func (x *EnableMrtRequest) GetDumpType() EnableMrtRequest_DumpType {
	if x != nil {
		return x.DumpType
	}
	return EnableMrtRequest_DUMP_TYPE_UNSPECIFIED
}

func (x *EnableMrtRequest) GetFilename() string {
	if x != nil {
		return x.Filename
	}
	return ""
}

func (x *EnableMrtRequest) GetDumpInterval() uint64 {
	if x != nil {
		return x.DumpInterval
	}
	return 0
}

func (x *EnableMrtRequest) GetRotationInterval() uint64 {
	if x != nil {
		return x.RotationInterval
	}
	return 0
}

type EnableMrtResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnableMrtResponse) Reset() {
	*x = EnableMrtResponse{}
	mi := &file_api_gobgp_proto_msgTypes[100]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnableMrtResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnableMrtResponse) ProtoMessage() {}

func (x *EnableMrtResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[100]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnableMrtResponse.ProtoReflect.Descriptor instead.
func (*EnableMrtResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{100}
}

type DisableMrtRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Filename      string                 `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DisableMrtRequest) Reset() {
	*x = DisableMrtRequest{}
	mi := &file_api_gobgp_proto_msgTypes[101]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DisableMrtRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisableMrtRequest) ProtoMessage() {}

func (x *DisableMrtRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[101]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisableMrtRequest.ProtoReflect.Descriptor instead.
func (*DisableMrtRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{101}
}

func (x *DisableMrtRequest) GetFilename() string {
	if x != nil {
		return x.Filename
	}
	return ""
}

type DisableMrtResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DisableMrtResponse) Reset() {
	*x = DisableMrtResponse{}
	mi := &file_api_gobgp_proto_msgTypes[102]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DisableMrtResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DisableMrtResponse) ProtoMessage() {}

func (x *DisableMrtResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[102]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DisableMrtResponse.ProtoReflect.Descriptor instead.
func (*DisableMrtResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{102}
}

type AddBmpRequest struct {
	state             protoimpl.MessageState         `protogen:"open.v1"`
	Address           string                         `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port              uint32                         `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	Policy            AddBmpRequest_MonitoringPolicy `protobuf:"varint,3,opt,name=policy,proto3,enum=api.AddBmpRequest_MonitoringPolicy" json:"policy,omitempty"`
	StatisticsTimeout int32                          `protobuf:"varint,4,opt,name=statistics_timeout,json=statisticsTimeout,proto3" json:"statistics_timeout,omitempty"`
	SysName           string                         `protobuf:"bytes,5,opt,name=sys_name,json=sysName,proto3" json:"sys_name,omitempty"`
	SysDescr          string                         `protobuf:"bytes,6,opt,name=sys_descr,json=sysDescr,proto3" json:"sys_descr,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *AddBmpRequest) Reset() {
	*x = AddBmpRequest{}
	mi := &file_api_gobgp_proto_msgTypes[103]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddBmpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddBmpRequest) ProtoMessage() {}

func (x *AddBmpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[103]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddBmpRequest.ProtoReflect.Descriptor instead.
func (*AddBmpRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{103}
}

func (x *AddBmpRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *AddBmpRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *AddBmpRequest) GetPolicy() AddBmpRequest_MonitoringPolicy {
	if x != nil {
		return x.Policy
	}
	return AddBmpRequest_MONITORING_POLICY_UNSPECIFIED
}

func (x *AddBmpRequest) GetStatisticsTimeout() int32 {
	if x != nil {
		return x.StatisticsTimeout
	}
	return 0
}

func (x *AddBmpRequest) GetSysName() string {
	if x != nil {
		return x.SysName
	}
	return ""
}

func (x *AddBmpRequest) GetSysDescr() string {
	if x != nil {
		return x.SysDescr
	}
	return ""
}

type AddBmpResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddBmpResponse) Reset() {
	*x = AddBmpResponse{}
	mi := &file_api_gobgp_proto_msgTypes[104]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddBmpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddBmpResponse) ProtoMessage() {}

func (x *AddBmpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[104]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddBmpResponse.ProtoReflect.Descriptor instead.
func (*AddBmpResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{104}
}

type DeleteBmpRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port          uint32                 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteBmpRequest) Reset() {
	*x = DeleteBmpRequest{}
	mi := &file_api_gobgp_proto_msgTypes[105]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteBmpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteBmpRequest) ProtoMessage() {}

func (x *DeleteBmpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[105]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteBmpRequest.ProtoReflect.Descriptor instead.
func (*DeleteBmpRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{105}
}

func (x *DeleteBmpRequest) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *DeleteBmpRequest) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

type DeleteBmpResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteBmpResponse) Reset() {
	*x = DeleteBmpResponse{}
	mi := &file_api_gobgp_proto_msgTypes[106]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteBmpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteBmpResponse) ProtoMessage() {}

func (x *DeleteBmpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[106]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteBmpResponse.ProtoReflect.Descriptor instead.
func (*DeleteBmpResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{106}
}

type ListBmpRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListBmpRequest) Reset() {
	*x = ListBmpRequest{}
	mi := &file_api_gobgp_proto_msgTypes[107]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListBmpRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBmpRequest) ProtoMessage() {}

func (x *ListBmpRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[107]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBmpRequest.ProtoReflect.Descriptor instead.
func (*ListBmpRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{107}
}

type ListBmpResponse struct {
	state         protoimpl.MessageState      `protogen:"open.v1"`
	Station       *ListBmpResponse_BmpStation `protobuf:"bytes,1,opt,name=station,proto3" json:"station,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListBmpResponse) Reset() {
	*x = ListBmpResponse{}
	mi := &file_api_gobgp_proto_msgTypes[108]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListBmpResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBmpResponse) ProtoMessage() {}

func (x *ListBmpResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[108]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBmpResponse.ProtoReflect.Descriptor instead.
func (*ListBmpResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{108}
}

func (x *ListBmpResponse) GetStation() *ListBmpResponse_BmpStation {
	if x != nil {
		return x.Station
	}
	return nil
}

type Validation struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	State           ValidationState        `protobuf:"varint,1,opt,name=state,proto3,enum=api.ValidationState" json:"state,omitempty"`
	Reason          Validation_Reason      `protobuf:"varint,2,opt,name=reason,proto3,enum=api.Validation_Reason" json:"reason,omitempty"`
	Matched         []*Roa                 `protobuf:"bytes,3,rep,name=matched,proto3" json:"matched,omitempty"`
	UnmatchedAsn    []*Roa                 `protobuf:"bytes,4,rep,name=unmatched_asn,json=unmatchedAsn,proto3" json:"unmatched_asn,omitempty"`
	UnmatchedLength []*Roa                 `protobuf:"bytes,5,rep,name=unmatched_length,json=unmatchedLength,proto3" json:"unmatched_length,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *Validation) Reset() {
	*x = Validation{}
	mi := &file_api_gobgp_proto_msgTypes[109]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Validation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Validation) ProtoMessage() {}

func (x *Validation) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[109]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Validation.ProtoReflect.Descriptor instead.
func (*Validation) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{109}
}

func (x *Validation) GetState() ValidationState {
	if x != nil {
		return x.State
	}
	return ValidationState_VALIDATION_STATE_UNSPECIFIED
}

func (x *Validation) GetReason() Validation_Reason {
	if x != nil {
		return x.Reason
	}
	return Validation_REASON_UNSPECIFIED
}

func (x *Validation) GetMatched() []*Roa {
	if x != nil {
		return x.Matched
	}
	return nil
}

func (x *Validation) GetUnmatchedAsn() []*Roa {
	if x != nil {
		return x.UnmatchedAsn
	}
	return nil
}

func (x *Validation) GetUnmatchedLength() []*Roa {
	if x != nil {
		return x.UnmatchedLength
	}
	return nil
}

type Path struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Nlri               *NLRI                  `protobuf:"bytes,1,opt,name=nlri,proto3" json:"nlri,omitempty"`
	Pattrs             []*Attribute           `protobuf:"bytes,2,rep,name=pattrs,proto3" json:"pattrs,omitempty"`
	Age                *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=age,proto3" json:"age,omitempty"`
	Best               bool                   `protobuf:"varint,4,opt,name=best,proto3" json:"best,omitempty"`
	IsWithdraw         bool                   `protobuf:"varint,5,opt,name=is_withdraw,json=isWithdraw,proto3" json:"is_withdraw,omitempty"`
	Validation         *Validation            `protobuf:"bytes,7,opt,name=validation,proto3" json:"validation,omitempty"`
	NoImplicitWithdraw bool                   `protobuf:"varint,8,opt,name=no_implicit_withdraw,json=noImplicitWithdraw,proto3" json:"no_implicit_withdraw,omitempty"`
	Family             *Family                `protobuf:"bytes,9,opt,name=family,proto3" json:"family,omitempty"`
	SourceAsn          uint32                 `protobuf:"varint,10,opt,name=source_asn,json=sourceAsn,proto3" json:"source_asn,omitempty"`
	SourceId           string                 `protobuf:"bytes,11,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
	Filtered           bool                   `protobuf:"varint,12,opt,name=filtered,proto3" json:"filtered,omitempty"`
	Stale              bool                   `protobuf:"varint,13,opt,name=stale,proto3" json:"stale,omitempty"`
	IsFromExternal     bool                   `protobuf:"varint,14,opt,name=is_from_external,json=isFromExternal,proto3" json:"is_from_external,omitempty"`
	NeighborIp         string                 `protobuf:"bytes,15,opt,name=neighbor_ip,json=neighborIp,proto3" json:"neighbor_ip,omitempty"`
	Uuid               []byte                 `protobuf:"bytes,16,opt,name=uuid,proto3" json:"uuid,omitempty"` // only paths installed by AddPath API have this
	IsNexthopInvalid   bool                   `protobuf:"varint,17,opt,name=is_nexthop_invalid,json=isNexthopInvalid,proto3" json:"is_nexthop_invalid,omitempty"`
	Identifier         uint32                 `protobuf:"varint,18,opt,name=identifier,proto3" json:"identifier,omitempty"`
	LocalIdentifier    uint32                 `protobuf:"varint,19,opt,name=local_identifier,json=localIdentifier,proto3" json:"local_identifier,omitempty"`
	NlriBinary         []byte                 `protobuf:"bytes,20,opt,name=nlri_binary,json=nlriBinary,proto3" json:"nlri_binary,omitempty"`
	PattrsBinary       [][]byte               `protobuf:"bytes,21,rep,name=pattrs_binary,json=pattrsBinary,proto3" json:"pattrs_binary,omitempty"`
	SendMaxFiltered    bool                   `protobuf:"varint,22,opt,name=send_max_filtered,json=sendMaxFiltered,proto3" json:"send_max_filtered,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Path) Reset() {
	*x = Path{}
	mi := &file_api_gobgp_proto_msgTypes[110]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Path) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Path) ProtoMessage() {}

func (x *Path) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[110]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Path.ProtoReflect.Descriptor instead.
func (*Path) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{110}
}

func (x *Path) GetNlri() *NLRI {
	if x != nil {
		return x.Nlri
	}
	return nil
}

func (x *Path) GetPattrs() []*Attribute {
	if x != nil {
		return x.Pattrs
	}
	return nil
}

func (x *Path) GetAge() *timestamppb.Timestamp {
	if x != nil {
		return x.Age
	}
	return nil
}

func (x *Path) GetBest() bool {
	if x != nil {
		return x.Best
	}
	return false
}

func (x *Path) GetIsWithdraw() bool {
	if x != nil {
		return x.IsWithdraw
	}
	return false
}

func (x *Path) GetValidation() *Validation {
	if x != nil {
		return x.Validation
	}
	return nil
}

func (x *Path) GetNoImplicitWithdraw() bool {
	if x != nil {
		return x.NoImplicitWithdraw
	}
	return false
}

func (x *Path) GetFamily() *Family {
	if x != nil {
		return x.Family
	}
	return nil
}

func (x *Path) GetSourceAsn() uint32 {
	if x != nil {
		return x.SourceAsn
	}
	return 0
}

func (x *Path) GetSourceId() string {
	if x != nil {
		return x.SourceId
	}
	return ""
}

func (x *Path) GetFiltered() bool {
	if x != nil {
		return x.Filtered
	}
	return false
}

func (x *Path) GetStale() bool {
	if x != nil {
		return x.Stale
	}
	return false
}

func (x *Path) GetIsFromExternal() bool {
	if x != nil {
		return x.IsFromExternal
	}
	return false
}

func (x *Path) GetNeighborIp() string {
	if x != nil {
		return x.NeighborIp
	}
	return ""
}

func (x *Path) GetUuid() []byte {
	if x != nil {
		return x.Uuid
	}
	return nil
}

func (x *Path) GetIsNexthopInvalid() bool {
	if x != nil {
		return x.IsNexthopInvalid
	}
	return false
}

func (x *Path) GetIdentifier() uint32 {
	if x != nil {
		return x.Identifier
	}
	return 0
}

func (x *Path) GetLocalIdentifier() uint32 {
	if x != nil {
		return x.LocalIdentifier
	}
	return 0
}

func (x *Path) GetNlriBinary() []byte {
	if x != nil {
		return x.NlriBinary
	}
	return nil
}

func (x *Path) GetPattrsBinary() [][]byte {
	if x != nil {
		return x.PattrsBinary
	}
	return nil
}

func (x *Path) GetSendMaxFiltered() bool {
	if x != nil {
		return x.SendMaxFiltered
	}
	return false
}

type Destination struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Paths         []*Path                `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Destination) Reset() {
	*x = Destination{}
	mi := &file_api_gobgp_proto_msgTypes[111]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Destination) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Destination) ProtoMessage() {}

func (x *Destination) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[111]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Destination.ProtoReflect.Descriptor instead.
func (*Destination) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{111}
}

func (x *Destination) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *Destination) GetPaths() []*Path {
	if x != nil {
		return x.Paths
	}
	return nil
}

type Peer struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ApplyPolicy     *ApplyPolicy           `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"`
	Conf            *PeerConf              `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"`
	EbgpMultihop    *EbgpMultihop          `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop,proto3" json:"ebgp_multihop,omitempty"`
	RouteReflector  *RouteReflector        `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector,proto3" json:"route_reflector,omitempty"`
	State           *PeerState             `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
	Timers          *Timers                `protobuf:"bytes,6,opt,name=timers,proto3" json:"timers,omitempty"`
	Transport       *Transport             `protobuf:"bytes,7,opt,name=transport,proto3" json:"transport,omitempty"`
	RouteServer     *RouteServer           `protobuf:"bytes,8,opt,name=route_server,json=routeServer,proto3" json:"route_server,omitempty"`
	GracefulRestart *GracefulRestart       `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"`
	AfiSafis        []*AfiSafi             `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis,proto3" json:"afi_safis,omitempty"`
	TtlSecurity     *TtlSecurity           `protobuf:"bytes,11,opt,name=ttl_security,json=ttlSecurity,proto3" json:"ttl_security,omitempty"`
	Bfd             *BfdPeerConfig         `protobuf:"bytes,12,opt,name=bfd,proto3" json:"bfd,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *Peer) Reset() {
	*x = Peer{}
	mi := &file_api_gobgp_proto_msgTypes[112]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Peer) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Peer) ProtoMessage() {}

func (x *Peer) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[112]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Peer.ProtoReflect.Descriptor instead.
func (*Peer) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{112}
}

func (x *Peer) GetApplyPolicy() *ApplyPolicy {
	if x != nil {
		return x.ApplyPolicy
	}
	return nil
}

func (x *Peer) GetConf() *PeerConf {
	if x != nil {
		return x.Conf
	}
	return nil
}

func (x *Peer) GetEbgpMultihop() *EbgpMultihop {
	if x != nil {
		return x.EbgpMultihop
	}
	return nil
}

func (x *Peer) GetRouteReflector() *RouteReflector {
	if x != nil {
		return x.RouteReflector
	}
	return nil
}

func (x *Peer) GetState() *PeerState {
	if x != nil {
		return x.State
	}
	return nil
}

func (x *Peer) GetTimers() *Timers {
	if x != nil {
		return x.Timers
	}
	return nil
}

func (x *Peer) GetTransport() *Transport {
	if x != nil {
		return x.Transport
	}
	return nil
}

func (x *Peer) GetRouteServer() *RouteServer {
	if x != nil {
		return x.RouteServer
	}
	return nil
}

func (x *Peer) GetGracefulRestart() *GracefulRestart {
	if x != nil {
		return x.GracefulRestart
	}
	return nil
}

func (x *Peer) GetAfiSafis() []*AfiSafi {
	if x != nil {
		return x.AfiSafis
	}
	return nil
}

func (x *Peer) GetTtlSecurity() *TtlSecurity {
	if x != nil {
		return x.TtlSecurity
	}
	return nil
}

func (x *Peer) GetBfd() *BfdPeerConfig {
	if x != nil {
		return x.Bfd
	}
	return nil
}

type PeerGroup struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ApplyPolicy     *ApplyPolicy           `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"`
	Conf            *PeerGroupConf         `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"`
	EbgpMultihop    *EbgpMultihop          `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop,proto3" json:"ebgp_multihop,omitempty"`
	RouteReflector  *RouteReflector        `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector,proto3" json:"route_reflector,omitempty"`
	Info            *PeerGroupState        `protobuf:"bytes,5,opt,name=info,proto3" json:"info,omitempty"`
	Timers          *Timers                `protobuf:"bytes,6,opt,name=timers,proto3" json:"timers,omitempty"`
	Transport       *Transport             `protobuf:"bytes,7,opt,name=transport,proto3" json:"transport,omitempty"`
	RouteServer     *RouteServer           `protobuf:"bytes,8,opt,name=route_server,json=routeServer,proto3" json:"route_server,omitempty"`
	GracefulRestart *GracefulRestart       `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"`
	AfiSafis        []*AfiSafi             `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis,proto3" json:"afi_safis,omitempty"`
	TtlSecurity     *TtlSecurity           `protobuf:"bytes,11,opt,name=ttl_security,json=ttlSecurity,proto3" json:"ttl_security,omitempty"`
	Bfd             *BfdPeerConfig         `protobuf:"bytes,12,opt,name=bfd,proto3" json:"bfd,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *PeerGroup) Reset() {
	*x = PeerGroup{}
	mi := &file_api_gobgp_proto_msgTypes[113]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PeerGroup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PeerGroup) ProtoMessage() {}

func (x *PeerGroup) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[113]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PeerGroup.ProtoReflect.Descriptor instead.
func (*PeerGroup) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{113}
}

func (x *PeerGroup) GetApplyPolicy() *ApplyPolicy {
	if x != nil {
		return x.ApplyPolicy
	}
	return nil
}

func (x *PeerGroup) GetConf() *PeerGroupConf {
	if x != nil {
		return x.Conf
	}
	return nil
}

func (x *PeerGroup) GetEbgpMultihop() *EbgpMultihop {
	if x != nil {
		return x.EbgpMultihop
	}
	return nil
}

func (x *PeerGroup) GetRouteReflector() *RouteReflector {
	if x != nil {
		return x.RouteReflector
	}
	return nil
}

func (x *PeerGroup) GetInfo() *PeerGroupState {
	if x != nil {
		return x.Info
	}
	return nil
}

func (x *PeerGroup) GetTimers() *Timers {
	if x != nil {
		return x.Timers
	}
	return nil
}

func (x *PeerGroup) GetTransport() *Transport {
	if x != nil {
		return x.Transport
	}
	return nil
}

func (x *PeerGroup) GetRouteServer() *RouteServer {
	if x != nil {
		return x.RouteServer
	}
	return nil
}

func (x *PeerGroup) GetGracefulRestart() *GracefulRestart {
	if x != nil {
		return x.GracefulRestart
	}
	return nil
}

func (x *PeerGroup) GetAfiSafis() []*AfiSafi {
	if x != nil {
		return x.AfiSafis
	}
	return nil
}

func (x *PeerGroup) GetTtlSecurity() *TtlSecurity {
	if x != nil {
		return x.TtlSecurity
	}
	return nil
}

func (x *PeerGroup) GetBfd() *BfdPeerConfig {
	if x != nil {
		return x.Bfd
	}
	return nil
}

type DynamicNeighbor struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prefix        string                 `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	PeerGroup     string                 `protobuf:"bytes,2,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DynamicNeighbor) Reset() {
	*x = DynamicNeighbor{}
	mi := &file_api_gobgp_proto_msgTypes[114]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DynamicNeighbor) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DynamicNeighbor) ProtoMessage() {}

func (x *DynamicNeighbor) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[114]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DynamicNeighbor.ProtoReflect.Descriptor instead.
func (*DynamicNeighbor) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{114}
}

func (x *DynamicNeighbor) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *DynamicNeighbor) GetPeerGroup() string {
	if x != nil {
		return x.PeerGroup
	}
	return ""
}

type ApplyPolicy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ExportPolicy  *PolicyAssignment      `protobuf:"bytes,1,opt,name=export_policy,json=exportPolicy,proto3" json:"export_policy,omitempty"`
	ImportPolicy  *PolicyAssignment      `protobuf:"bytes,2,opt,name=import_policy,json=importPolicy,proto3" json:"import_policy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ApplyPolicy) Reset() {
	*x = ApplyPolicy{}
	mi := &file_api_gobgp_proto_msgTypes[115]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ApplyPolicy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ApplyPolicy) ProtoMessage() {}

func (x *ApplyPolicy) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[115]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ApplyPolicy.ProtoReflect.Descriptor instead.
func (*ApplyPolicy) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{115}
}

func (x *ApplyPolicy) GetExportPolicy() *PolicyAssignment {
	if x != nil {
		return x.ExportPolicy
	}
	return nil
}

func (x *ApplyPolicy) GetImportPolicy() *PolicyAssignment {
	if x != nil {
		return x.ImportPolicy
	}
	return nil
}

type PrefixLimit struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	Family               *Family                `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
	MaxPrefixes          uint32                 `protobuf:"varint,2,opt,name=max_prefixes,json=maxPrefixes,proto3" json:"max_prefixes,omitempty"`
	ShutdownThresholdPct uint32                 `protobuf:"varint,3,opt,name=shutdown_threshold_pct,json=shutdownThresholdPct,proto3" json:"shutdown_threshold_pct,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *PrefixLimit) Reset() {
	*x = PrefixLimit{}
	mi := &file_api_gobgp_proto_msgTypes[116]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PrefixLimit) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrefixLimit) ProtoMessage() {}

func (x *PrefixLimit) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[116]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PrefixLimit.ProtoReflect.Descriptor instead.
func (*PrefixLimit) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{116}
}

func (x *PrefixLimit) GetFamily() *Family {
	if x != nil {
		return x.Family
	}
	return nil
}

func (x *PrefixLimit) GetMaxPrefixes() uint32 {
	if x != nil {
		return x.MaxPrefixes
	}
	return 0
}

func (x *PrefixLimit) GetShutdownThresholdPct() uint32 {
	if x != nil {
		return x.ShutdownThresholdPct
	}
	return 0
}

type PeerConf struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	AuthPassword         string                 `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"`
	Description          string                 `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	LocalAsn             uint32                 `protobuf:"varint,3,opt,name=local_asn,json=localAsn,proto3" json:"local_asn,omitempty"`
	NeighborAddress      string                 `protobuf:"bytes,4,opt,name=neighbor_address,json=neighborAddress,proto3" json:"neighbor_address,omitempty"`
	PeerAsn              uint32                 `protobuf:"varint,5,opt,name=peer_asn,json=peerAsn,proto3" json:"peer_asn,omitempty"`
	PeerGroup            string                 `protobuf:"bytes,6,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"`
	Type                 PeerType               `protobuf:"varint,7,opt,name=type,proto3,enum=api.PeerType" json:"type,omitempty"`
	RemovePrivate        RemovePrivate          `protobuf:"varint,8,opt,name=remove_private,json=removePrivate,proto3,enum=api.RemovePrivate" json:"remove_private,omitempty"`
	RouteFlapDamping     bool                   `protobuf:"varint,9,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"`
	SendCommunity        uint32                 `protobuf:"varint,10,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"`
	NeighborInterface    string                 `protobuf:"bytes,11,opt,name=neighbor_interface,json=neighborInterface,proto3" json:"neighbor_interface,omitempty"`
	Vrf                  string                 `protobuf:"bytes,12,opt,name=vrf,proto3" json:"vrf,omitempty"`
	AllowOwnAsn          uint32                 `protobuf:"varint,13,opt,name=allow_own_asn,json=allowOwnAsn,proto3" json:"allow_own_asn,omitempty"`
	ReplacePeerAsn       bool                   `protobuf:"varint,14,opt,name=replace_peer_asn,json=replacePeerAsn,proto3" json:"replace_peer_asn,omitempty"`
	AdminDown            bool                   `protobuf:"varint,15,opt,name=admin_down,json=adminDown,proto3" json:"admin_down,omitempty"`
	SendSoftwareVersion  bool                   `protobuf:"varint,16,opt,name=send_software_version,json=sendSoftwareVersion,proto3" json:"send_software_version,omitempty"`
	AllowAspathLoopLocal bool                   `protobuf:"varint,17,opt,name=allow_aspath_loop_local,json=allowAspathLoopLocal,proto3" json:"allow_aspath_loop_local,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *PeerConf) Reset() {
	*x = PeerConf{}
	mi := &file_api_gobgp_proto_msgTypes[117]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PeerConf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PeerConf) ProtoMessage() {}

func (x *PeerConf) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[117]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PeerConf.ProtoReflect.Descriptor instead.
func (*PeerConf) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{117}
}

func (x *PeerConf) GetAuthPassword() string {
	if x != nil {
		return x.AuthPassword
	}
	return ""
}

func (x *PeerConf) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *PeerConf) GetLocalAsn() uint32 {
	if x != nil {
		return x.LocalAsn
	}
	return 0
}

func (x *PeerConf) GetNeighborAddress() string {
	if x != nil {
		return x.NeighborAddress
	}
	return ""
}

func (x *PeerConf) GetPeerAsn() uint32 {
	if x != nil {
		return x.PeerAsn
	}
	return 0
}

func (x *PeerConf) GetPeerGroup() string {
	if x != nil {
		return x.PeerGroup
	}
	return ""
}

func (x *PeerConf) GetType() PeerType {
	if x != nil {
		return x.Type
	}
	return PeerType_PEER_TYPE_UNSPECIFIED
}

func (x *PeerConf) GetRemovePrivate() RemovePrivate {
	if x != nil {
		return x.RemovePrivate
	}
	return RemovePrivate_REMOVE_PRIVATE_UNSPECIFIED
}

func (x *PeerConf) GetRouteFlapDamping() bool {
	if x != nil {
		return x.RouteFlapDamping
	}
	return false
}

func (x *PeerConf) GetSendCommunity() uint32 {
	if x != nil {
		return x.SendCommunity
	}
	return 0
}

func (x *PeerConf) GetNeighborInterface() string {
	if x != nil {
		return x.NeighborInterface
	}
	return ""
}

func (x *PeerConf) GetVrf() string {
	if x != nil {
		return x.Vrf
	}
	return ""
}

func (x *PeerConf) GetAllowOwnAsn() uint32 {
	if x != nil {
		return x.AllowOwnAsn
	}
	return 0
}

func (x *PeerConf) GetReplacePeerAsn() bool {
	if x != nil {
		return x.ReplacePeerAsn
	}
	return false
}

func (x *PeerConf) GetAdminDown() bool {
	if x != nil {
		return x.AdminDown
	}
	return false
}

func (x *PeerConf) GetSendSoftwareVersion() bool {
	if x != nil {
		return x.SendSoftwareVersion
	}
	return false
}

func (x *PeerConf) GetAllowAspathLoopLocal() bool {
	if x != nil {
		return x.AllowAspathLoopLocal
	}
	return false
}

type PeerGroupConf struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	AuthPassword         string                 `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"`
	Description          string                 `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	LocalAsn             uint32                 `protobuf:"varint,3,opt,name=local_asn,json=localAsn,proto3" json:"local_asn,omitempty"`
	PeerAsn              uint32                 `protobuf:"varint,4,opt,name=peer_asn,json=peerAsn,proto3" json:"peer_asn,omitempty"`
	PeerGroupName        string                 `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"`
	Type                 PeerType               `protobuf:"varint,6,opt,name=type,proto3,enum=api.PeerType" json:"type,omitempty"`
	RemovePrivate        RemovePrivate          `protobuf:"varint,7,opt,name=remove_private,json=removePrivate,proto3,enum=api.RemovePrivate" json:"remove_private,omitempty"`
	RouteFlapDamping     bool                   `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"`
	SendCommunity        uint32                 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"`
	SendSoftwareVersion  bool                   `protobuf:"varint,10,opt,name=send_software_version,json=sendSoftwareVersion,proto3" json:"send_software_version,omitempty"`
	AllowOwnAsn          uint32                 `protobuf:"varint,11,opt,name=allow_own_asn,json=allowOwnAsn,proto3" json:"allow_own_asn,omitempty"`
	ReplacePeerAsn       bool                   `protobuf:"varint,12,opt,name=replace_peer_asn,json=replacePeerAsn,proto3" json:"replace_peer_asn,omitempty"`
	AllowAspathLoopLocal bool                   `protobuf:"varint,13,opt,name=allow_aspath_loop_local,json=allowAspathLoopLocal,proto3" json:"allow_aspath_loop_local,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *PeerGroupConf) Reset() {
	*x = PeerGroupConf{}
	mi := &file_api_gobgp_proto_msgTypes[118]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PeerGroupConf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PeerGroupConf) ProtoMessage() {}

func (x *PeerGroupConf) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[118]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PeerGroupConf.ProtoReflect.Descriptor instead.
func (*PeerGroupConf) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{118}
}

func (x *PeerGroupConf) GetAuthPassword() string {
	if x != nil {
		return x.AuthPassword
	}
	return ""
}

func (x *PeerGroupConf) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *PeerGroupConf) GetLocalAsn() uint32 {
	if x != nil {
		return x.LocalAsn
	}
	return 0
}

func (x *PeerGroupConf) GetPeerAsn() uint32 {
	if x != nil {
		return x.PeerAsn
	}
	return 0
}

func (x *PeerGroupConf) GetPeerGroupName() string {
	if x != nil {
		return x.PeerGroupName
	}
	return ""
}

func (x *PeerGroupConf) GetType() PeerType {
	if x != nil {
		return x.Type
	}
	return PeerType_PEER_TYPE_UNSPECIFIED
}

func (x *PeerGroupConf) GetRemovePrivate() RemovePrivate {
	if x != nil {
		return x.RemovePrivate
	}
	return RemovePrivate_REMOVE_PRIVATE_UNSPECIFIED
}

func (x *PeerGroupConf) GetRouteFlapDamping() bool {
	if x != nil {
		return x.RouteFlapDamping
	}
	return false
}

func (x *PeerGroupConf) GetSendCommunity() uint32 {
	if x != nil {
		return x.SendCommunity
	}
	return 0
}

func (x *PeerGroupConf) GetSendSoftwareVersion() bool {
	if x != nil {
		return x.SendSoftwareVersion
	}
	return false
}

func (x *PeerGroupConf) GetAllowOwnAsn() uint32 {
	if x != nil {
		return x.AllowOwnAsn
	}
	return 0
}

func (x *PeerGroupConf) GetReplacePeerAsn() bool {
	if x != nil {
		return x.ReplacePeerAsn
	}
	return false
}

func (x *PeerGroupConf) GetAllowAspathLoopLocal() bool {
	if x != nil {
		return x.AllowAspathLoopLocal
	}
	return false
}

type PeerGroupState struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	AuthPassword     string                 `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"`
	Description      string                 `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	LocalAsn         uint32                 `protobuf:"varint,3,opt,name=local_asn,json=localAsn,proto3" json:"local_asn,omitempty"`
	PeerAsn          uint32                 `protobuf:"varint,4,opt,name=peer_asn,json=peerAsn,proto3" json:"peer_asn,omitempty"`
	PeerGroupName    string                 `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"`
	Type             PeerType               `protobuf:"varint,6,opt,name=type,proto3,enum=api.PeerType" json:"type,omitempty"`
	RemovePrivate    RemovePrivate          `protobuf:"varint,7,opt,name=remove_private,json=removePrivate,proto3,enum=api.RemovePrivate" json:"remove_private,omitempty"`
	RouteFlapDamping bool                   `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"`
	SendCommunity    uint32                 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"`
	TotalPaths       uint32                 `protobuf:"varint,10,opt,name=total_paths,json=totalPaths,proto3" json:"total_paths,omitempty"`
	TotalPrefixes    uint32                 `protobuf:"varint,11,opt,name=total_prefixes,json=totalPrefixes,proto3" json:"total_prefixes,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *PeerGroupState) Reset() {
	*x = PeerGroupState{}
	mi := &file_api_gobgp_proto_msgTypes[119]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PeerGroupState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PeerGroupState) ProtoMessage() {}

func (x *PeerGroupState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[119]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PeerGroupState.ProtoReflect.Descriptor instead.
func (*PeerGroupState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{119}
}

func (x *PeerGroupState) GetAuthPassword() string {
	if x != nil {
		return x.AuthPassword
	}
	return ""
}

func (x *PeerGroupState) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *PeerGroupState) GetLocalAsn() uint32 {
	if x != nil {
		return x.LocalAsn
	}
	return 0
}

func (x *PeerGroupState) GetPeerAsn() uint32 {
	if x != nil {
		return x.PeerAsn
	}
	return 0
}

func (x *PeerGroupState) GetPeerGroupName() string {
	if x != nil {
		return x.PeerGroupName
	}
	return ""
}

func (x *PeerGroupState) GetType() PeerType {
	if x != nil {
		return x.Type
	}
	return PeerType_PEER_TYPE_UNSPECIFIED
}

func (x *PeerGroupState) GetRemovePrivate() RemovePrivate {
	if x != nil {
		return x.RemovePrivate
	}
	return RemovePrivate_REMOVE_PRIVATE_UNSPECIFIED
}

func (x *PeerGroupState) GetRouteFlapDamping() bool {
	if x != nil {
		return x.RouteFlapDamping
	}
	return false
}

func (x *PeerGroupState) GetSendCommunity() uint32 {
	if x != nil {
		return x.SendCommunity
	}
	return 0
}

func (x *PeerGroupState) GetTotalPaths() uint32 {
	if x != nil {
		return x.TotalPaths
	}
	return 0
}

func (x *PeerGroupState) GetTotalPrefixes() uint32 {
	if x != nil {
		return x.TotalPrefixes
	}
	return 0
}

type TtlSecurity struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	TtlMin        uint32                 `protobuf:"varint,2,opt,name=ttl_min,json=ttlMin,proto3" json:"ttl_min,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TtlSecurity) Reset() {
	*x = TtlSecurity{}
	mi := &file_api_gobgp_proto_msgTypes[120]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TtlSecurity) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TtlSecurity) ProtoMessage() {}

func (x *TtlSecurity) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[120]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TtlSecurity.ProtoReflect.Descriptor instead.
func (*TtlSecurity) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{120}
}

func (x *TtlSecurity) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *TtlSecurity) GetTtlMin() uint32 {
	if x != nil {
		return x.TtlMin
	}
	return 0
}

type EbgpMultihop struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	MultihopTtl   uint32                 `protobuf:"varint,2,opt,name=multihop_ttl,json=multihopTtl,proto3" json:"multihop_ttl,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EbgpMultihop) Reset() {
	*x = EbgpMultihop{}
	mi := &file_api_gobgp_proto_msgTypes[121]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EbgpMultihop) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EbgpMultihop) ProtoMessage() {}

func (x *EbgpMultihop) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[121]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EbgpMultihop.ProtoReflect.Descriptor instead.
func (*EbgpMultihop) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{121}
}

func (x *EbgpMultihop) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *EbgpMultihop) GetMultihopTtl() uint32 {
	if x != nil {
		return x.MultihopTtl
	}
	return 0
}

type RouteReflector struct {
	state                   protoimpl.MessageState `protogen:"open.v1"`
	RouteReflectorClient    bool                   `protobuf:"varint,1,opt,name=route_reflector_client,json=routeReflectorClient,proto3" json:"route_reflector_client,omitempty"`
	RouteReflectorClusterId string                 `protobuf:"bytes,2,opt,name=route_reflector_cluster_id,json=routeReflectorClusterId,proto3" json:"route_reflector_cluster_id,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *RouteReflector) Reset() {
	*x = RouteReflector{}
	mi := &file_api_gobgp_proto_msgTypes[122]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RouteReflector) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RouteReflector) ProtoMessage() {}

func (x *RouteReflector) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[122]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RouteReflector.ProtoReflect.Descriptor instead.
func (*RouteReflector) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{122}
}

func (x *RouteReflector) GetRouteReflectorClient() bool {
	if x != nil {
		return x.RouteReflectorClient
	}
	return false
}

func (x *RouteReflector) GetRouteReflectorClusterId() string {
	if x != nil {
		return x.RouteReflectorClusterId
	}
	return ""
}

type PeerState struct {
	state             protoimpl.MessageState     `protogen:"open.v1"`
	AuthPassword      string                     `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"`
	Description       string                     `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	LocalAsn          uint32                     `protobuf:"varint,3,opt,name=local_asn,json=localAsn,proto3" json:"local_asn,omitempty"`
	Messages          *Messages                  `protobuf:"bytes,4,opt,name=messages,proto3" json:"messages,omitempty"`
	NeighborAddress   string                     `protobuf:"bytes,5,opt,name=neighbor_address,json=neighborAddress,proto3" json:"neighbor_address,omitempty"`
	PeerAsn           uint32                     `protobuf:"varint,6,opt,name=peer_asn,json=peerAsn,proto3" json:"peer_asn,omitempty"`
	PeerGroup         string                     `protobuf:"bytes,7,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"`
	Type              PeerType                   `protobuf:"varint,8,opt,name=type,proto3,enum=api.PeerType" json:"type,omitempty"`
	Queues            *Queues                    `protobuf:"bytes,9,opt,name=queues,proto3" json:"queues,omitempty"`
	RemovePrivate     RemovePrivate              `protobuf:"varint,10,opt,name=remove_private,json=removePrivate,proto3,enum=api.RemovePrivate" json:"remove_private,omitempty"`
	RouteFlapDamping  bool                       `protobuf:"varint,11,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"`
	SendCommunity     uint32                     `protobuf:"varint,12,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"`
	SessionState      PeerState_SessionState     `protobuf:"varint,13,opt,name=session_state,json=sessionState,proto3,enum=api.PeerState_SessionState" json:"session_state,omitempty"`
	AdminState        PeerState_AdminState       `protobuf:"varint,15,opt,name=admin_state,json=adminState,proto3,enum=api.PeerState_AdminState" json:"admin_state,omitempty"`
	OutQ              uint32                     `protobuf:"varint,16,opt,name=out_q,json=outQ,proto3" json:"out_q,omitempty"`
	Flops             uint32                     `protobuf:"varint,17,opt,name=flops,proto3" json:"flops,omitempty"`
	RemoteCap         []*Capability              `protobuf:"bytes,18,rep,name=remote_cap,json=remoteCap,proto3" json:"remote_cap,omitempty"`
	LocalCap          []*Capability              `protobuf:"bytes,19,rep,name=local_cap,json=localCap,proto3" json:"local_cap,omitempty"`
	RouterId          string                     `protobuf:"bytes,20,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"`
	DisconnectReason  PeerState_DisconnectReason `protobuf:"varint,21,opt,name=disconnect_reason,json=disconnectReason,proto3,enum=api.PeerState_DisconnectReason" json:"disconnect_reason,omitempty"`
	DisconnectMessage string                     `protobuf:"bytes,22,opt,name=disconnect_message,json=disconnectMessage,proto3" json:"disconnect_message,omitempty"`
	BfdState          *BfdPeerState              `protobuf:"bytes,23,opt,name=bfd_state,json=bfdState,proto3" json:"bfd_state,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *PeerState) Reset() {
	*x = PeerState{}
	mi := &file_api_gobgp_proto_msgTypes[123]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PeerState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PeerState) ProtoMessage() {}

func (x *PeerState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[123]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PeerState.ProtoReflect.Descriptor instead.
func (*PeerState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{123}
}

func (x *PeerState) GetAuthPassword() string {
	if x != nil {
		return x.AuthPassword
	}
	return ""
}

func (x *PeerState) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *PeerState) GetLocalAsn() uint32 {
	if x != nil {
		return x.LocalAsn
	}
	return 0
}

func (x *PeerState) GetMessages() *Messages {
	if x != nil {
		return x.Messages
	}
	return nil
}

func (x *PeerState) GetNeighborAddress() string {
	if x != nil {
		return x.NeighborAddress
	}
	return ""
}

func (x *PeerState) GetPeerAsn() uint32 {
	if x != nil {
		return x.PeerAsn
	}
	return 0
}

func (x *PeerState) GetPeerGroup() string {
	if x != nil {
		return x.PeerGroup
	}
	return ""
}

func (x *PeerState) GetType() PeerType {
	if x != nil {
		return x.Type
	}
	return PeerType_PEER_TYPE_UNSPECIFIED
}

func (x *PeerState) GetQueues() *Queues {
	if x != nil {
		return x.Queues
	}
	return nil
}

func (x *PeerState) GetRemovePrivate() RemovePrivate {
	if x != nil {
		return x.RemovePrivate
	}
	return RemovePrivate_REMOVE_PRIVATE_UNSPECIFIED
}

func (x *PeerState) GetRouteFlapDamping() bool {
	if x != nil {
		return x.RouteFlapDamping
	}
	return false
}

func (x *PeerState) GetSendCommunity() uint32 {
	if x != nil {
		return x.SendCommunity
	}
	return 0
}

func (x *PeerState) GetSessionState() PeerState_SessionState {
	if x != nil {
		return x.SessionState
	}
	return PeerState_SESSION_STATE_UNSPECIFIED
}

func (x *PeerState) GetAdminState() PeerState_AdminState {
	if x != nil {
		return x.AdminState
	}
	return PeerState_ADMIN_STATE_UNSPECIFIED
}

func (x *PeerState) GetOutQ() uint32 {
	if x != nil {
		return x.OutQ
	}
	return 0
}

func (x *PeerState) GetFlops() uint32 {
	if x != nil {
		return x.Flops
	}
	return 0
}

func (x *PeerState) GetRemoteCap() []*Capability {
	if x != nil {
		return x.RemoteCap
	}
	return nil
}

func (x *PeerState) GetLocalCap() []*Capability {
	if x != nil {
		return x.LocalCap
	}
	return nil
}

func (x *PeerState) GetRouterId() string {
	if x != nil {
		return x.RouterId
	}
	return ""
}

func (x *PeerState) GetDisconnectReason() PeerState_DisconnectReason {
	if x != nil {
		return x.DisconnectReason
	}
	return PeerState_DISCONNECT_REASON_UNSPECIFIED
}

func (x *PeerState) GetDisconnectMessage() string {
	if x != nil {
		return x.DisconnectMessage
	}
	return ""
}

func (x *PeerState) GetBfdState() *BfdPeerState {
	if x != nil {
		return x.BfdState
	}
	return nil
}

type Messages struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Received      *Message               `protobuf:"bytes,1,opt,name=received,proto3" json:"received,omitempty"`
	Sent          *Message               `protobuf:"bytes,2,opt,name=sent,proto3" json:"sent,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Messages) Reset() {
	*x = Messages{}
	mi := &file_api_gobgp_proto_msgTypes[124]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Messages) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Messages) ProtoMessage() {}

func (x *Messages) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[124]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Messages.ProtoReflect.Descriptor instead.
func (*Messages) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{124}
}

func (x *Messages) GetReceived() *Message {
	if x != nil {
		return x.Received
	}
	return nil
}

func (x *Messages) GetSent() *Message {
	if x != nil {
		return x.Sent
	}
	return nil
}

type Message struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Notification   uint64                 `protobuf:"varint,1,opt,name=notification,proto3" json:"notification,omitempty"`
	Update         uint64                 `protobuf:"varint,2,opt,name=update,proto3" json:"update,omitempty"`
	Open           uint64                 `protobuf:"varint,3,opt,name=open,proto3" json:"open,omitempty"`
	Keepalive      uint64                 `protobuf:"varint,4,opt,name=keepalive,proto3" json:"keepalive,omitempty"`
	Refresh        uint64                 `protobuf:"varint,5,opt,name=refresh,proto3" json:"refresh,omitempty"`
	Discarded      uint64                 `protobuf:"varint,6,opt,name=discarded,proto3" json:"discarded,omitempty"`
	Total          uint64                 `protobuf:"varint,7,opt,name=total,proto3" json:"total,omitempty"`
	WithdrawUpdate uint64                 `protobuf:"varint,8,opt,name=withdraw_update,json=withdrawUpdate,proto3" json:"withdraw_update,omitempty"`
	WithdrawPrefix uint64                 `protobuf:"varint,9,opt,name=withdraw_prefix,json=withdrawPrefix,proto3" json:"withdraw_prefix,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *Message) Reset() {
	*x = Message{}
	mi := &file_api_gobgp_proto_msgTypes[125]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Message) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Message) ProtoMessage() {}

func (x *Message) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[125]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Message.ProtoReflect.Descriptor instead.
func (*Message) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{125}
}

func (x *Message) GetNotification() uint64 {
	if x != nil {
		return x.Notification
	}
	return 0
}

func (x *Message) GetUpdate() uint64 {
	if x != nil {
		return x.Update
	}
	return 0
}

func (x *Message) GetOpen() uint64 {
	if x != nil {
		return x.Open
	}
	return 0
}

func (x *Message) GetKeepalive() uint64 {
	if x != nil {
		return x.Keepalive
	}
	return 0
}

func (x *Message) GetRefresh() uint64 {
	if x != nil {
		return x.Refresh
	}
	return 0
}

func (x *Message) GetDiscarded() uint64 {
	if x != nil {
		return x.Discarded
	}
	return 0
}

func (x *Message) GetTotal() uint64 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *Message) GetWithdrawUpdate() uint64 {
	if x != nil {
		return x.WithdrawUpdate
	}
	return 0
}

func (x *Message) GetWithdrawPrefix() uint64 {
	if x != nil {
		return x.WithdrawPrefix
	}
	return 0
}

type Queues struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Input         uint32                 `protobuf:"varint,1,opt,name=input,proto3" json:"input,omitempty"`
	Output        uint32                 `protobuf:"varint,2,opt,name=output,proto3" json:"output,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Queues) Reset() {
	*x = Queues{}
	mi := &file_api_gobgp_proto_msgTypes[126]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Queues) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Queues) ProtoMessage() {}

func (x *Queues) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[126]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Queues.ProtoReflect.Descriptor instead.
func (*Queues) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{126}
}

func (x *Queues) GetInput() uint32 {
	if x != nil {
		return x.Input
	}
	return 0
}

func (x *Queues) GetOutput() uint32 {
	if x != nil {
		return x.Output
	}
	return 0
}

type Timers struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *TimersConfig          `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	State         *TimersState           `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Timers) Reset() {
	*x = Timers{}
	mi := &file_api_gobgp_proto_msgTypes[127]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Timers) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Timers) ProtoMessage() {}

func (x *Timers) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[127]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Timers.ProtoReflect.Descriptor instead.
func (*Timers) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{127}
}

func (x *Timers) GetConfig() *TimersConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *Timers) GetState() *TimersState {
	if x != nil {
		return x.State
	}
	return nil
}

type TimersConfig struct {
	state                        protoimpl.MessageState `protogen:"open.v1"`
	ConnectRetry                 uint64                 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"`
	HoldTime                     uint64                 `protobuf:"varint,2,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"`
	KeepaliveInterval            uint64                 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"`
	MinimumAdvertisementInterval uint64                 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval,proto3" json:"minimum_advertisement_interval,omitempty"`
	IdleHoldTimeAfterReset       uint64                 `protobuf:"varint,5,opt,name=idle_hold_time_after_reset,json=idleHoldTimeAfterReset,proto3" json:"idle_hold_time_after_reset,omitempty"`
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

func (x *TimersConfig) Reset() {
	*x = TimersConfig{}
	mi := &file_api_gobgp_proto_msgTypes[128]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TimersConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TimersConfig) ProtoMessage() {}

func (x *TimersConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[128]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TimersConfig.ProtoReflect.Descriptor instead.
func (*TimersConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{128}
}

func (x *TimersConfig) GetConnectRetry() uint64 {
	if x != nil {
		return x.ConnectRetry
	}
	return 0
}

func (x *TimersConfig) GetHoldTime() uint64 {
	if x != nil {
		return x.HoldTime
	}
	return 0
}

func (x *TimersConfig) GetKeepaliveInterval() uint64 {
	if x != nil {
		return x.KeepaliveInterval
	}
	return 0
}

func (x *TimersConfig) GetMinimumAdvertisementInterval() uint64 {
	if x != nil {
		return x.MinimumAdvertisementInterval
	}
	return 0
}

func (x *TimersConfig) GetIdleHoldTimeAfterReset() uint64 {
	if x != nil {
		return x.IdleHoldTimeAfterReset
	}
	return 0
}

type TimersState struct {
	state                        protoimpl.MessageState `protogen:"open.v1"`
	ConnectRetry                 uint64                 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"`
	HoldTime                     uint64                 `protobuf:"varint,2,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"`
	KeepaliveInterval            uint64                 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"`
	MinimumAdvertisementInterval uint64                 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval,proto3" json:"minimum_advertisement_interval,omitempty"`
	NegotiatedHoldTime           uint64                 `protobuf:"varint,5,opt,name=negotiated_hold_time,json=negotiatedHoldTime,proto3" json:"negotiated_hold_time,omitempty"`
	Uptime                       *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=uptime,proto3" json:"uptime,omitempty"`
	Downtime                     *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=downtime,proto3" json:"downtime,omitempty"`
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

func (x *TimersState) Reset() {
	*x = TimersState{}
	mi := &file_api_gobgp_proto_msgTypes[129]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TimersState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TimersState) ProtoMessage() {}

func (x *TimersState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[129]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TimersState.ProtoReflect.Descriptor instead.
func (*TimersState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{129}
}

func (x *TimersState) GetConnectRetry() uint64 {
	if x != nil {
		return x.ConnectRetry
	}
	return 0
}

func (x *TimersState) GetHoldTime() uint64 {
	if x != nil {
		return x.HoldTime
	}
	return 0
}

func (x *TimersState) GetKeepaliveInterval() uint64 {
	if x != nil {
		return x.KeepaliveInterval
	}
	return 0
}

func (x *TimersState) GetMinimumAdvertisementInterval() uint64 {
	if x != nil {
		return x.MinimumAdvertisementInterval
	}
	return 0
}

func (x *TimersState) GetNegotiatedHoldTime() uint64 {
	if x != nil {
		return x.NegotiatedHoldTime
	}
	return 0
}

func (x *TimersState) GetUptime() *timestamppb.Timestamp {
	if x != nil {
		return x.Uptime
	}
	return nil
}

func (x *TimersState) GetDowntime() *timestamppb.Timestamp {
	if x != nil {
		return x.Downtime
	}
	return nil
}

type Transport struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	LocalAddress  string                 `protobuf:"bytes,1,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"`
	LocalPort     uint32                 `protobuf:"varint,2,opt,name=local_port,json=localPort,proto3" json:"local_port,omitempty"`
	MtuDiscovery  bool                   `protobuf:"varint,3,opt,name=mtu_discovery,json=mtuDiscovery,proto3" json:"mtu_discovery,omitempty"`
	PassiveMode   bool                   `protobuf:"varint,4,opt,name=passive_mode,json=passiveMode,proto3" json:"passive_mode,omitempty"`
	RemoteAddress string                 `protobuf:"bytes,5,opt,name=remote_address,json=remoteAddress,proto3" json:"remote_address,omitempty"`
	RemotePort    uint32                 `protobuf:"varint,6,opt,name=remote_port,json=remotePort,proto3" json:"remote_port,omitempty"`
	TcpMss        uint32                 `protobuf:"varint,7,opt,name=tcp_mss,json=tcpMss,proto3" json:"tcp_mss,omitempty"`
	BindInterface string                 `protobuf:"bytes,8,opt,name=bind_interface,json=bindInterface,proto3" json:"bind_interface,omitempty"`
	IpTos         uint32                 `protobuf:"varint,9,opt,name=ip_tos,json=ipTos,proto3" json:"ip_tos,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Transport) Reset() {
	*x = Transport{}
	mi := &file_api_gobgp_proto_msgTypes[130]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Transport) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Transport) ProtoMessage() {}

func (x *Transport) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[130]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Transport.ProtoReflect.Descriptor instead.
func (*Transport) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{130}
}

func (x *Transport) GetLocalAddress() string {
	if x != nil {
		return x.LocalAddress
	}
	return ""
}

func (x *Transport) GetLocalPort() uint32 {
	if x != nil {
		return x.LocalPort
	}
	return 0
}

func (x *Transport) GetMtuDiscovery() bool {
	if x != nil {
		return x.MtuDiscovery
	}
	return false
}

func (x *Transport) GetPassiveMode() bool {
	if x != nil {
		return x.PassiveMode
	}
	return false
}

func (x *Transport) GetRemoteAddress() string {
	if x != nil {
		return x.RemoteAddress
	}
	return ""
}

func (x *Transport) GetRemotePort() uint32 {
	if x != nil {
		return x.RemotePort
	}
	return 0
}

func (x *Transport) GetTcpMss() uint32 {
	if x != nil {
		return x.TcpMss
	}
	return 0
}

func (x *Transport) GetBindInterface() string {
	if x != nil {
		return x.BindInterface
	}
	return ""
}

func (x *Transport) GetIpTos() uint32 {
	if x != nil {
		return x.IpTos
	}
	return 0
}

type RouteServer struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	RouteServerClient bool                   `protobuf:"varint,1,opt,name=route_server_client,json=routeServerClient,proto3" json:"route_server_client,omitempty"`
	SecondaryRoute    bool                   `protobuf:"varint,2,opt,name=secondary_route,json=secondaryRoute,proto3" json:"secondary_route,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *RouteServer) Reset() {
	*x = RouteServer{}
	mi := &file_api_gobgp_proto_msgTypes[131]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RouteServer) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RouteServer) ProtoMessage() {}

func (x *RouteServer) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[131]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RouteServer.ProtoReflect.Descriptor instead.
func (*RouteServer) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{131}
}

func (x *RouteServer) GetRouteServerClient() bool {
	if x != nil {
		return x.RouteServerClient
	}
	return false
}

func (x *RouteServer) GetSecondaryRoute() bool {
	if x != nil {
		return x.SecondaryRoute
	}
	return false
}

type GracefulRestart struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Enabled             bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	RestartTime         uint32                 `protobuf:"varint,2,opt,name=restart_time,json=restartTime,proto3" json:"restart_time,omitempty"`
	HelperOnly          bool                   `protobuf:"varint,3,opt,name=helper_only,json=helperOnly,proto3" json:"helper_only,omitempty"`
	DeferralTime        uint32                 `protobuf:"varint,4,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"`
	NotificationEnabled bool                   `protobuf:"varint,5,opt,name=notification_enabled,json=notificationEnabled,proto3" json:"notification_enabled,omitempty"`
	LonglivedEnabled    bool                   `protobuf:"varint,6,opt,name=longlived_enabled,json=longlivedEnabled,proto3" json:"longlived_enabled,omitempty"`
	StaleRoutesTime     uint32                 `protobuf:"varint,7,opt,name=stale_routes_time,json=staleRoutesTime,proto3" json:"stale_routes_time,omitempty"`
	PeerRestartTime     uint32                 `protobuf:"varint,8,opt,name=peer_restart_time,json=peerRestartTime,proto3" json:"peer_restart_time,omitempty"`
	PeerRestarting      bool                   `protobuf:"varint,9,opt,name=peer_restarting,json=peerRestarting,proto3" json:"peer_restarting,omitempty"`
	LocalRestarting     bool                   `protobuf:"varint,10,opt,name=local_restarting,json=localRestarting,proto3" json:"local_restarting,omitempty"`
	Mode                string                 `protobuf:"bytes,11,opt,name=mode,proto3" json:"mode,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *GracefulRestart) Reset() {
	*x = GracefulRestart{}
	mi := &file_api_gobgp_proto_msgTypes[132]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GracefulRestart) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GracefulRestart) ProtoMessage() {}

func (x *GracefulRestart) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[132]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GracefulRestart.ProtoReflect.Descriptor instead.
func (*GracefulRestart) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{132}
}

func (x *GracefulRestart) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *GracefulRestart) GetRestartTime() uint32 {
	if x != nil {
		return x.RestartTime
	}
	return 0
}

func (x *GracefulRestart) GetHelperOnly() bool {
	if x != nil {
		return x.HelperOnly
	}
	return false
}

func (x *GracefulRestart) GetDeferralTime() uint32 {
	if x != nil {
		return x.DeferralTime
	}
	return 0
}

func (x *GracefulRestart) GetNotificationEnabled() bool {
	if x != nil {
		return x.NotificationEnabled
	}
	return false
}

func (x *GracefulRestart) GetLonglivedEnabled() bool {
	if x != nil {
		return x.LonglivedEnabled
	}
	return false
}

func (x *GracefulRestart) GetStaleRoutesTime() uint32 {
	if x != nil {
		return x.StaleRoutesTime
	}
	return 0
}

func (x *GracefulRestart) GetPeerRestartTime() uint32 {
	if x != nil {
		return x.PeerRestartTime
	}
	return 0
}

func (x *GracefulRestart) GetPeerRestarting() bool {
	if x != nil {
		return x.PeerRestarting
	}
	return false
}

func (x *GracefulRestart) GetLocalRestarting() bool {
	if x != nil {
		return x.LocalRestarting
	}
	return false
}

func (x *GracefulRestart) GetMode() string {
	if x != nil {
		return x.Mode
	}
	return ""
}

type MpGracefulRestartConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MpGracefulRestartConfig) Reset() {
	*x = MpGracefulRestartConfig{}
	mi := &file_api_gobgp_proto_msgTypes[133]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MpGracefulRestartConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MpGracefulRestartConfig) ProtoMessage() {}

func (x *MpGracefulRestartConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[133]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MpGracefulRestartConfig.ProtoReflect.Descriptor instead.
func (*MpGracefulRestartConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{133}
}

func (x *MpGracefulRestartConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

type MpGracefulRestartState struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Enabled          bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Received         bool                   `protobuf:"varint,2,opt,name=received,proto3" json:"received,omitempty"`
	Advertised       bool                   `protobuf:"varint,3,opt,name=advertised,proto3" json:"advertised,omitempty"`
	EndOfRibReceived bool                   `protobuf:"varint,4,opt,name=end_of_rib_received,json=endOfRibReceived,proto3" json:"end_of_rib_received,omitempty"`
	EndOfRibSent     bool                   `protobuf:"varint,5,opt,name=end_of_rib_sent,json=endOfRibSent,proto3" json:"end_of_rib_sent,omitempty"`
	Running          bool                   `protobuf:"varint,6,opt,name=running,proto3" json:"running,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *MpGracefulRestartState) Reset() {
	*x = MpGracefulRestartState{}
	mi := &file_api_gobgp_proto_msgTypes[134]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MpGracefulRestartState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MpGracefulRestartState) ProtoMessage() {}

func (x *MpGracefulRestartState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[134]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MpGracefulRestartState.ProtoReflect.Descriptor instead.
func (*MpGracefulRestartState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{134}
}

func (x *MpGracefulRestartState) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *MpGracefulRestartState) GetReceived() bool {
	if x != nil {
		return x.Received
	}
	return false
}

func (x *MpGracefulRestartState) GetAdvertised() bool {
	if x != nil {
		return x.Advertised
	}
	return false
}

func (x *MpGracefulRestartState) GetEndOfRibReceived() bool {
	if x != nil {
		return x.EndOfRibReceived
	}
	return false
}

func (x *MpGracefulRestartState) GetEndOfRibSent() bool {
	if x != nil {
		return x.EndOfRibSent
	}
	return false
}

func (x *MpGracefulRestartState) GetRunning() bool {
	if x != nil {
		return x.Running
	}
	return false
}

type MpGracefulRestart struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Config        *MpGracefulRestartConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	State         *MpGracefulRestartState  `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MpGracefulRestart) Reset() {
	*x = MpGracefulRestart{}
	mi := &file_api_gobgp_proto_msgTypes[135]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MpGracefulRestart) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MpGracefulRestart) ProtoMessage() {}

func (x *MpGracefulRestart) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[135]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MpGracefulRestart.ProtoReflect.Descriptor instead.
func (*MpGracefulRestart) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{135}
}

func (x *MpGracefulRestart) GetConfig() *MpGracefulRestartConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *MpGracefulRestart) GetState() *MpGracefulRestartState {
	if x != nil {
		return x.State
	}
	return nil
}

type AfiSafiConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Family        *Family                `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
	Enabled       bool                   `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AfiSafiConfig) Reset() {
	*x = AfiSafiConfig{}
	mi := &file_api_gobgp_proto_msgTypes[136]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AfiSafiConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AfiSafiConfig) ProtoMessage() {}

func (x *AfiSafiConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[136]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AfiSafiConfig.ProtoReflect.Descriptor instead.
func (*AfiSafiConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{136}
}

func (x *AfiSafiConfig) GetFamily() *Family {
	if x != nil {
		return x.Family
	}
	return nil
}

func (x *AfiSafiConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

type AfiSafiState struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Family        *Family                `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
	Enabled       bool                   `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Received      uint64                 `protobuf:"varint,3,opt,name=received,proto3" json:"received,omitempty"`
	Accepted      uint64                 `protobuf:"varint,4,opt,name=accepted,proto3" json:"accepted,omitempty"`
	Advertised    uint64                 `protobuf:"varint,5,opt,name=advertised,proto3" json:"advertised,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AfiSafiState) Reset() {
	*x = AfiSafiState{}
	mi := &file_api_gobgp_proto_msgTypes[137]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AfiSafiState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AfiSafiState) ProtoMessage() {}

func (x *AfiSafiState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[137]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AfiSafiState.ProtoReflect.Descriptor instead.
func (*AfiSafiState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{137}
}

func (x *AfiSafiState) GetFamily() *Family {
	if x != nil {
		return x.Family
	}
	return nil
}

func (x *AfiSafiState) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *AfiSafiState) GetReceived() uint64 {
	if x != nil {
		return x.Received
	}
	return 0
}

func (x *AfiSafiState) GetAccepted() uint64 {
	if x != nil {
		return x.Accepted
	}
	return 0
}

func (x *AfiSafiState) GetAdvertised() uint64 {
	if x != nil {
		return x.Advertised
	}
	return 0
}

type RouteSelectionOptionsConfig struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	AlwaysCompareMed         bool                   `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed,proto3" json:"always_compare_med,omitempty"`
	IgnoreAsPathLength       bool                   `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength,proto3" json:"ignore_as_path_length,omitempty"`
	ExternalCompareRouterId  bool                   `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId,proto3" json:"external_compare_router_id,omitempty"`
	AdvertiseInactiveRoutes  bool                   `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes,proto3" json:"advertise_inactive_routes,omitempty"`
	EnableAigp               bool                   `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp,proto3" json:"enable_aigp,omitempty"`
	IgnoreNextHopIgpMetric   bool                   `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric,proto3" json:"ignore_next_hop_igp_metric,omitempty"`
	DisableBestPathSelection bool                   `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection,proto3" json:"disable_best_path_selection,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *RouteSelectionOptionsConfig) Reset() {
	*x = RouteSelectionOptionsConfig{}
	mi := &file_api_gobgp_proto_msgTypes[138]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RouteSelectionOptionsConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RouteSelectionOptionsConfig) ProtoMessage() {}

func (x *RouteSelectionOptionsConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[138]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RouteSelectionOptionsConfig.ProtoReflect.Descriptor instead.
func (*RouteSelectionOptionsConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{138}
}

func (x *RouteSelectionOptionsConfig) GetAlwaysCompareMed() bool {
	if x != nil {
		return x.AlwaysCompareMed
	}
	return false
}

func (x *RouteSelectionOptionsConfig) GetIgnoreAsPathLength() bool {
	if x != nil {
		return x.IgnoreAsPathLength
	}
	return false
}

func (x *RouteSelectionOptionsConfig) GetExternalCompareRouterId() bool {
	if x != nil {
		return x.ExternalCompareRouterId
	}
	return false
}

func (x *RouteSelectionOptionsConfig) GetAdvertiseInactiveRoutes() bool {
	if x != nil {
		return x.AdvertiseInactiveRoutes
	}
	return false
}

func (x *RouteSelectionOptionsConfig) GetEnableAigp() bool {
	if x != nil {
		return x.EnableAigp
	}
	return false
}

func (x *RouteSelectionOptionsConfig) GetIgnoreNextHopIgpMetric() bool {
	if x != nil {
		return x.IgnoreNextHopIgpMetric
	}
	return false
}

func (x *RouteSelectionOptionsConfig) GetDisableBestPathSelection() bool {
	if x != nil {
		return x.DisableBestPathSelection
	}
	return false
}

type RouteSelectionOptionsState struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	AlwaysCompareMed         bool                   `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed,proto3" json:"always_compare_med,omitempty"`
	IgnoreAsPathLength       bool                   `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength,proto3" json:"ignore_as_path_length,omitempty"`
	ExternalCompareRouterId  bool                   `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId,proto3" json:"external_compare_router_id,omitempty"`
	AdvertiseInactiveRoutes  bool                   `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes,proto3" json:"advertise_inactive_routes,omitempty"`
	EnableAigp               bool                   `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp,proto3" json:"enable_aigp,omitempty"`
	IgnoreNextHopIgpMetric   bool                   `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric,proto3" json:"ignore_next_hop_igp_metric,omitempty"`
	DisableBestPathSelection bool                   `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection,proto3" json:"disable_best_path_selection,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *RouteSelectionOptionsState) Reset() {
	*x = RouteSelectionOptionsState{}
	mi := &file_api_gobgp_proto_msgTypes[139]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RouteSelectionOptionsState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RouteSelectionOptionsState) ProtoMessage() {}

func (x *RouteSelectionOptionsState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[139]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RouteSelectionOptionsState.ProtoReflect.Descriptor instead.
func (*RouteSelectionOptionsState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{139}
}

func (x *RouteSelectionOptionsState) GetAlwaysCompareMed() bool {
	if x != nil {
		return x.AlwaysCompareMed
	}
	return false
}

func (x *RouteSelectionOptionsState) GetIgnoreAsPathLength() bool {
	if x != nil {
		return x.IgnoreAsPathLength
	}
	return false
}

func (x *RouteSelectionOptionsState) GetExternalCompareRouterId() bool {
	if x != nil {
		return x.ExternalCompareRouterId
	}
	return false
}

func (x *RouteSelectionOptionsState) GetAdvertiseInactiveRoutes() bool {
	if x != nil {
		return x.AdvertiseInactiveRoutes
	}
	return false
}

func (x *RouteSelectionOptionsState) GetEnableAigp() bool {
	if x != nil {
		return x.EnableAigp
	}
	return false
}

func (x *RouteSelectionOptionsState) GetIgnoreNextHopIgpMetric() bool {
	if x != nil {
		return x.IgnoreNextHopIgpMetric
	}
	return false
}

func (x *RouteSelectionOptionsState) GetDisableBestPathSelection() bool {
	if x != nil {
		return x.DisableBestPathSelection
	}
	return false
}

type RouteSelectionOptions struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Config        *RouteSelectionOptionsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	State         *RouteSelectionOptionsState  `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RouteSelectionOptions) Reset() {
	*x = RouteSelectionOptions{}
	mi := &file_api_gobgp_proto_msgTypes[140]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RouteSelectionOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RouteSelectionOptions) ProtoMessage() {}

func (x *RouteSelectionOptions) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[140]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RouteSelectionOptions.ProtoReflect.Descriptor instead.
func (*RouteSelectionOptions) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{140}
}

func (x *RouteSelectionOptions) GetConfig() *RouteSelectionOptionsConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *RouteSelectionOptions) GetState() *RouteSelectionOptionsState {
	if x != nil {
		return x.State
	}
	return nil
}

type UseMultiplePathsConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UseMultiplePathsConfig) Reset() {
	*x = UseMultiplePathsConfig{}
	mi := &file_api_gobgp_proto_msgTypes[141]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UseMultiplePathsConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UseMultiplePathsConfig) ProtoMessage() {}

func (x *UseMultiplePathsConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[141]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UseMultiplePathsConfig.ProtoReflect.Descriptor instead.
func (*UseMultiplePathsConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{141}
}

func (x *UseMultiplePathsConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

type UseMultiplePathsState struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UseMultiplePathsState) Reset() {
	*x = UseMultiplePathsState{}
	mi := &file_api_gobgp_proto_msgTypes[142]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UseMultiplePathsState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UseMultiplePathsState) ProtoMessage() {}

func (x *UseMultiplePathsState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[142]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UseMultiplePathsState.ProtoReflect.Descriptor instead.
func (*UseMultiplePathsState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{142}
}

func (x *UseMultiplePathsState) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

type EbgpConfig struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	AllowMultipleAsn bool                   `protobuf:"varint,1,opt,name=allow_multiple_asn,json=allowMultipleAsn,proto3" json:"allow_multiple_asn,omitempty"`
	MaximumPaths     uint32                 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *EbgpConfig) Reset() {
	*x = EbgpConfig{}
	mi := &file_api_gobgp_proto_msgTypes[143]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EbgpConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EbgpConfig) ProtoMessage() {}

func (x *EbgpConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[143]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EbgpConfig.ProtoReflect.Descriptor instead.
func (*EbgpConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{143}
}

func (x *EbgpConfig) GetAllowMultipleAsn() bool {
	if x != nil {
		return x.AllowMultipleAsn
	}
	return false
}

func (x *EbgpConfig) GetMaximumPaths() uint32 {
	if x != nil {
		return x.MaximumPaths
	}
	return 0
}

type EbgpState struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	AllowMultipleAsn bool                   `protobuf:"varint,1,opt,name=allow_multiple_asn,json=allowMultipleAsn,proto3" json:"allow_multiple_asn,omitempty"`
	MaximumPaths     uint32                 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *EbgpState) Reset() {
	*x = EbgpState{}
	mi := &file_api_gobgp_proto_msgTypes[144]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EbgpState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EbgpState) ProtoMessage() {}

func (x *EbgpState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[144]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EbgpState.ProtoReflect.Descriptor instead.
func (*EbgpState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{144}
}

func (x *EbgpState) GetAllowMultipleAsn() bool {
	if x != nil {
		return x.AllowMultipleAsn
	}
	return false
}

func (x *EbgpState) GetMaximumPaths() uint32 {
	if x != nil {
		return x.MaximumPaths
	}
	return 0
}

type Ebgp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *EbgpConfig            `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	State         *EbgpState             `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Ebgp) Reset() {
	*x = Ebgp{}
	mi := &file_api_gobgp_proto_msgTypes[145]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Ebgp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Ebgp) ProtoMessage() {}

func (x *Ebgp) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[145]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Ebgp.ProtoReflect.Descriptor instead.
func (*Ebgp) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{145}
}

func (x *Ebgp) GetConfig() *EbgpConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *Ebgp) GetState() *EbgpState {
	if x != nil {
		return x.State
	}
	return nil
}

type IbgpConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	MaximumPaths  uint32                 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *IbgpConfig) Reset() {
	*x = IbgpConfig{}
	mi := &file_api_gobgp_proto_msgTypes[146]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *IbgpConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*IbgpConfig) ProtoMessage() {}

func (x *IbgpConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[146]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use IbgpConfig.ProtoReflect.Descriptor instead.
func (*IbgpConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{146}
}

func (x *IbgpConfig) GetMaximumPaths() uint32 {
	if x != nil {
		return x.MaximumPaths
	}
	return 0
}

type IbgpState struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	MaximumPaths  uint32                 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *IbgpState) Reset() {
	*x = IbgpState{}
	mi := &file_api_gobgp_proto_msgTypes[147]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *IbgpState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*IbgpState) ProtoMessage() {}

func (x *IbgpState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[147]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use IbgpState.ProtoReflect.Descriptor instead.
func (*IbgpState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{147}
}

func (x *IbgpState) GetMaximumPaths() uint32 {
	if x != nil {
		return x.MaximumPaths
	}
	return 0
}

type Ibgp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *IbgpConfig            `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	State         *IbgpState             `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Ibgp) Reset() {
	*x = Ibgp{}
	mi := &file_api_gobgp_proto_msgTypes[148]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Ibgp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Ibgp) ProtoMessage() {}

func (x *Ibgp) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[148]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Ibgp.ProtoReflect.Descriptor instead.
func (*Ibgp) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{148}
}

func (x *Ibgp) GetConfig() *IbgpConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *Ibgp) GetState() *IbgpState {
	if x != nil {
		return x.State
	}
	return nil
}

type UseMultiplePaths struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	Config        *UseMultiplePathsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	State         *UseMultiplePathsState  `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	Ebgp          *Ebgp                   `protobuf:"bytes,3,opt,name=ebgp,proto3" json:"ebgp,omitempty"`
	Ibgp          *Ibgp                   `protobuf:"bytes,4,opt,name=ibgp,proto3" json:"ibgp,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UseMultiplePaths) Reset() {
	*x = UseMultiplePaths{}
	mi := &file_api_gobgp_proto_msgTypes[149]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UseMultiplePaths) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UseMultiplePaths) ProtoMessage() {}

func (x *UseMultiplePaths) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[149]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UseMultiplePaths.ProtoReflect.Descriptor instead.
func (*UseMultiplePaths) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{149}
}

func (x *UseMultiplePaths) GetConfig() *UseMultiplePathsConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *UseMultiplePaths) GetState() *UseMultiplePathsState {
	if x != nil {
		return x.State
	}
	return nil
}

func (x *UseMultiplePaths) GetEbgp() *Ebgp {
	if x != nil {
		return x.Ebgp
	}
	return nil
}

func (x *UseMultiplePaths) GetIbgp() *Ibgp {
	if x != nil {
		return x.Ibgp
	}
	return nil
}

type RouteTargetMembershipConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DeferralTime  uint32                 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RouteTargetMembershipConfig) Reset() {
	*x = RouteTargetMembershipConfig{}
	mi := &file_api_gobgp_proto_msgTypes[150]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RouteTargetMembershipConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RouteTargetMembershipConfig) ProtoMessage() {}

func (x *RouteTargetMembershipConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[150]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RouteTargetMembershipConfig.ProtoReflect.Descriptor instead.
func (*RouteTargetMembershipConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{150}
}

func (x *RouteTargetMembershipConfig) GetDeferralTime() uint32 {
	if x != nil {
		return x.DeferralTime
	}
	return 0
}

type RouteTargetMembershipState struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DeferralTime  uint32                 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RouteTargetMembershipState) Reset() {
	*x = RouteTargetMembershipState{}
	mi := &file_api_gobgp_proto_msgTypes[151]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RouteTargetMembershipState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RouteTargetMembershipState) ProtoMessage() {}

func (x *RouteTargetMembershipState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[151]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RouteTargetMembershipState.ProtoReflect.Descriptor instead.
func (*RouteTargetMembershipState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{151}
}

func (x *RouteTargetMembershipState) GetDeferralTime() uint32 {
	if x != nil {
		return x.DeferralTime
	}
	return 0
}

type RouteTargetMembership struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Config        *RouteTargetMembershipConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	State         *RouteTargetMembershipState  `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RouteTargetMembership) Reset() {
	*x = RouteTargetMembership{}
	mi := &file_api_gobgp_proto_msgTypes[152]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RouteTargetMembership) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RouteTargetMembership) ProtoMessage() {}

func (x *RouteTargetMembership) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[152]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RouteTargetMembership.ProtoReflect.Descriptor instead.
func (*RouteTargetMembership) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{152}
}

func (x *RouteTargetMembership) GetConfig() *RouteTargetMembershipConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *RouteTargetMembership) GetState() *RouteTargetMembershipState {
	if x != nil {
		return x.State
	}
	return nil
}

type LongLivedGracefulRestartConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	RestartTime   uint32                 `protobuf:"varint,2,opt,name=restart_time,json=restartTime,proto3" json:"restart_time,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LongLivedGracefulRestartConfig) Reset() {
	*x = LongLivedGracefulRestartConfig{}
	mi := &file_api_gobgp_proto_msgTypes[153]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LongLivedGracefulRestartConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LongLivedGracefulRestartConfig) ProtoMessage() {}

func (x *LongLivedGracefulRestartConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[153]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LongLivedGracefulRestartConfig.ProtoReflect.Descriptor instead.
func (*LongLivedGracefulRestartConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{153}
}

func (x *LongLivedGracefulRestartConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *LongLivedGracefulRestartConfig) GetRestartTime() uint32 {
	if x != nil {
		return x.RestartTime
	}
	return 0
}

type LongLivedGracefulRestartState struct {
	state                   protoimpl.MessageState `protogen:"open.v1"`
	Enabled                 bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Received                bool                   `protobuf:"varint,2,opt,name=received,proto3" json:"received,omitempty"`
	Advertised              bool                   `protobuf:"varint,3,opt,name=advertised,proto3" json:"advertised,omitempty"`
	PeerRestartTime         uint32                 `protobuf:"varint,4,opt,name=peer_restart_time,json=peerRestartTime,proto3" json:"peer_restart_time,omitempty"`
	PeerRestartTimerExpired bool                   `protobuf:"varint,5,opt,name=peer_restart_timer_expired,json=peerRestartTimerExpired,proto3" json:"peer_restart_timer_expired,omitempty"`
	Running                 bool                   `protobuf:"varint,6,opt,name=running,proto3" json:"running,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *LongLivedGracefulRestartState) Reset() {
	*x = LongLivedGracefulRestartState{}
	mi := &file_api_gobgp_proto_msgTypes[154]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LongLivedGracefulRestartState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LongLivedGracefulRestartState) ProtoMessage() {}

func (x *LongLivedGracefulRestartState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[154]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LongLivedGracefulRestartState.ProtoReflect.Descriptor instead.
func (*LongLivedGracefulRestartState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{154}
}

func (x *LongLivedGracefulRestartState) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *LongLivedGracefulRestartState) GetReceived() bool {
	if x != nil {
		return x.Received
	}
	return false
}

func (x *LongLivedGracefulRestartState) GetAdvertised() bool {
	if x != nil {
		return x.Advertised
	}
	return false
}

func (x *LongLivedGracefulRestartState) GetPeerRestartTime() uint32 {
	if x != nil {
		return x.PeerRestartTime
	}
	return 0
}

func (x *LongLivedGracefulRestartState) GetPeerRestartTimerExpired() bool {
	if x != nil {
		return x.PeerRestartTimerExpired
	}
	return false
}

func (x *LongLivedGracefulRestartState) GetRunning() bool {
	if x != nil {
		return x.Running
	}
	return false
}

type LongLivedGracefulRestart struct {
	state         protoimpl.MessageState          `protogen:"open.v1"`
	Config        *LongLivedGracefulRestartConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	State         *LongLivedGracefulRestartState  `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LongLivedGracefulRestart) Reset() {
	*x = LongLivedGracefulRestart{}
	mi := &file_api_gobgp_proto_msgTypes[155]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LongLivedGracefulRestart) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LongLivedGracefulRestart) ProtoMessage() {}

func (x *LongLivedGracefulRestart) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[155]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LongLivedGracefulRestart.ProtoReflect.Descriptor instead.
func (*LongLivedGracefulRestart) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{155}
}

func (x *LongLivedGracefulRestart) GetConfig() *LongLivedGracefulRestartConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *LongLivedGracefulRestart) GetState() *LongLivedGracefulRestartState {
	if x != nil {
		return x.State
	}
	return nil
}

type AfiSafi struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	MpGracefulRestart *MpGracefulRestart     `protobuf:"bytes,1,opt,name=mp_graceful_restart,json=mpGracefulRestart,proto3" json:"mp_graceful_restart,omitempty"`
	Config            *AfiSafiConfig         `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	State             *AfiSafiState          `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"`
	ApplyPolicy       *ApplyPolicy           `protobuf:"bytes,4,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"`
	// TODO:
	// Support the following structures:
	// - Ipv4Unicast
	// - Ipv6Unicast
	// - Ipv4LabelledUnicast
	// - Ipv6LabelledUnicast
	// - L3vpnIpv4Unicast
	// - L3vpnIpv6Unicast
	// - L3vpnIpv4Multicast
	// - L3vpnIpv6Multicast
	// - L2vpnVpls
	// - L2vpnEvpn
	RouteSelectionOptions    *RouteSelectionOptions    `protobuf:"bytes,5,opt,name=route_selection_options,json=routeSelectionOptions,proto3" json:"route_selection_options,omitempty"`
	UseMultiplePaths         *UseMultiplePaths         `protobuf:"bytes,6,opt,name=use_multiple_paths,json=useMultiplePaths,proto3" json:"use_multiple_paths,omitempty"`
	PrefixLimits             *PrefixLimit              `protobuf:"bytes,7,opt,name=prefix_limits,json=prefixLimits,proto3" json:"prefix_limits,omitempty"`
	RouteTargetMembership    *RouteTargetMembership    `protobuf:"bytes,8,opt,name=route_target_membership,json=routeTargetMembership,proto3" json:"route_target_membership,omitempty"`
	LongLivedGracefulRestart *LongLivedGracefulRestart `protobuf:"bytes,9,opt,name=long_lived_graceful_restart,json=longLivedGracefulRestart,proto3" json:"long_lived_graceful_restart,omitempty"`
	AddPaths                 *AddPaths                 `protobuf:"bytes,10,opt,name=add_paths,json=addPaths,proto3" json:"add_paths,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *AfiSafi) Reset() {
	*x = AfiSafi{}
	mi := &file_api_gobgp_proto_msgTypes[156]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AfiSafi) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AfiSafi) ProtoMessage() {}

func (x *AfiSafi) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[156]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AfiSafi.ProtoReflect.Descriptor instead.
func (*AfiSafi) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{156}
}

func (x *AfiSafi) GetMpGracefulRestart() *MpGracefulRestart {
	if x != nil {
		return x.MpGracefulRestart
	}
	return nil
}

func (x *AfiSafi) GetConfig() *AfiSafiConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *AfiSafi) GetState() *AfiSafiState {
	if x != nil {
		return x.State
	}
	return nil
}

func (x *AfiSafi) GetApplyPolicy() *ApplyPolicy {
	if x != nil {
		return x.ApplyPolicy
	}
	return nil
}

func (x *AfiSafi) GetRouteSelectionOptions() *RouteSelectionOptions {
	if x != nil {
		return x.RouteSelectionOptions
	}
	return nil
}

func (x *AfiSafi) GetUseMultiplePaths() *UseMultiplePaths {
	if x != nil {
		return x.UseMultiplePaths
	}
	return nil
}

func (x *AfiSafi) GetPrefixLimits() *PrefixLimit {
	if x != nil {
		return x.PrefixLimits
	}
	return nil
}

func (x *AfiSafi) GetRouteTargetMembership() *RouteTargetMembership {
	if x != nil {
		return x.RouteTargetMembership
	}
	return nil
}

func (x *AfiSafi) GetLongLivedGracefulRestart() *LongLivedGracefulRestart {
	if x != nil {
		return x.LongLivedGracefulRestart
	}
	return nil
}

func (x *AfiSafi) GetAddPaths() *AddPaths {
	if x != nil {
		return x.AddPaths
	}
	return nil
}

type AddPathsConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Receive       bool                   `protobuf:"varint,1,opt,name=receive,proto3" json:"receive,omitempty"`
	SendMax       uint32                 `protobuf:"varint,2,opt,name=send_max,json=sendMax,proto3" json:"send_max,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPathsConfig) Reset() {
	*x = AddPathsConfig{}
	mi := &file_api_gobgp_proto_msgTypes[157]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPathsConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPathsConfig) ProtoMessage() {}

func (x *AddPathsConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[157]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPathsConfig.ProtoReflect.Descriptor instead.
func (*AddPathsConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{157}
}

func (x *AddPathsConfig) GetReceive() bool {
	if x != nil {
		return x.Receive
	}
	return false
}

func (x *AddPathsConfig) GetSendMax() uint32 {
	if x != nil {
		return x.SendMax
	}
	return 0
}

type AddPathsState struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Receive       bool                   `protobuf:"varint,1,opt,name=receive,proto3" json:"receive,omitempty"`
	SendMax       uint32                 `protobuf:"varint,2,opt,name=send_max,json=sendMax,proto3" json:"send_max,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPathsState) Reset() {
	*x = AddPathsState{}
	mi := &file_api_gobgp_proto_msgTypes[158]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPathsState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPathsState) ProtoMessage() {}

func (x *AddPathsState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[158]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPathsState.ProtoReflect.Descriptor instead.
func (*AddPathsState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{158}
}

func (x *AddPathsState) GetReceive() bool {
	if x != nil {
		return x.Receive
	}
	return false
}

func (x *AddPathsState) GetSendMax() uint32 {
	if x != nil {
		return x.SendMax
	}
	return 0
}

type AddPaths struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Config        *AddPathsConfig        `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	State         *AddPathsState         `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AddPaths) Reset() {
	*x = AddPaths{}
	mi := &file_api_gobgp_proto_msgTypes[159]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AddPaths) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddPaths) ProtoMessage() {}

func (x *AddPaths) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[159]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AddPaths.ProtoReflect.Descriptor instead.
func (*AddPaths) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{159}
}

func (x *AddPaths) GetConfig() *AddPathsConfig {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *AddPaths) GetState() *AddPathsState {
	if x != nil {
		return x.State
	}
	return nil
}

type Prefix struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	IpPrefix      string                 `protobuf:"bytes,1,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"`
	MaskLengthMin uint32                 `protobuf:"varint,2,opt,name=mask_length_min,json=maskLengthMin,proto3" json:"mask_length_min,omitempty"`
	MaskLengthMax uint32                 `protobuf:"varint,3,opt,name=mask_length_max,json=maskLengthMax,proto3" json:"mask_length_max,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Prefix) Reset() {
	*x = Prefix{}
	mi := &file_api_gobgp_proto_msgTypes[160]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Prefix) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Prefix) ProtoMessage() {}

func (x *Prefix) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[160]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Prefix.ProtoReflect.Descriptor instead.
func (*Prefix) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{160}
}

func (x *Prefix) GetIpPrefix() string {
	if x != nil {
		return x.IpPrefix
	}
	return ""
}

func (x *Prefix) GetMaskLengthMin() uint32 {
	if x != nil {
		return x.MaskLengthMin
	}
	return 0
}

func (x *Prefix) GetMaskLengthMax() uint32 {
	if x != nil {
		return x.MaskLengthMax
	}
	return 0
}

type DefinedSet struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DefinedType   DefinedType            `protobuf:"varint,1,opt,name=defined_type,json=definedType,proto3,enum=api.DefinedType" json:"defined_type,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	List          []string               `protobuf:"bytes,3,rep,name=list,proto3" json:"list,omitempty"`
	Prefixes      []*Prefix              `protobuf:"bytes,4,rep,name=prefixes,proto3" json:"prefixes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DefinedSet) Reset() {
	*x = DefinedSet{}
	mi := &file_api_gobgp_proto_msgTypes[161]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DefinedSet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DefinedSet) ProtoMessage() {}

func (x *DefinedSet) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[161]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DefinedSet.ProtoReflect.Descriptor instead.
func (*DefinedSet) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{161}
}

func (x *DefinedSet) GetDefinedType() DefinedType {
	if x != nil {
		return x.DefinedType
	}
	return DefinedType_DEFINED_TYPE_UNSPECIFIED
}

func (x *DefinedSet) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *DefinedSet) GetList() []string {
	if x != nil {
		return x.List
	}
	return nil
}

func (x *DefinedSet) GetPrefixes() []*Prefix {
	if x != nil {
		return x.Prefixes
	}
	return nil
}

type MatchSet struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          MatchSet_Type          `protobuf:"varint,1,opt,name=type,proto3,enum=api.MatchSet_Type" json:"type,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MatchSet) Reset() {
	*x = MatchSet{}
	mi := &file_api_gobgp_proto_msgTypes[162]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MatchSet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MatchSet) ProtoMessage() {}

func (x *MatchSet) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[162]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MatchSet.ProtoReflect.Descriptor instead.
func (*MatchSet) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{162}
}

func (x *MatchSet) GetType() MatchSet_Type {
	if x != nil {
		return x.Type
	}
	return MatchSet_TYPE_UNSPECIFIED
}

func (x *MatchSet) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type AsPathLength struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          Comparison             `protobuf:"varint,1,opt,name=type,proto3,enum=api.Comparison" json:"type,omitempty"`
	Length        uint32                 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AsPathLength) Reset() {
	*x = AsPathLength{}
	mi := &file_api_gobgp_proto_msgTypes[163]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AsPathLength) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AsPathLength) ProtoMessage() {}

func (x *AsPathLength) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[163]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AsPathLength.ProtoReflect.Descriptor instead.
func (*AsPathLength) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{163}
}

func (x *AsPathLength) GetType() Comparison {
	if x != nil {
		return x.Type
	}
	return Comparison_COMPARISON_UNSPECIFIED
}

func (x *AsPathLength) GetLength() uint32 {
	if x != nil {
		return x.Length
	}
	return 0
}

type CommunityCount struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          Comparison             `protobuf:"varint,1,opt,name=type,proto3,enum=api.Comparison" json:"type,omitempty"`
	Count         uint32                 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CommunityCount) Reset() {
	*x = CommunityCount{}
	mi := &file_api_gobgp_proto_msgTypes[164]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CommunityCount) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommunityCount) ProtoMessage() {}

func (x *CommunityCount) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[164]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommunityCount.ProtoReflect.Descriptor instead.
func (*CommunityCount) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{164}
}

func (x *CommunityCount) GetType() Comparison {
	if x != nil {
		return x.Type
	}
	return Comparison_COMPARISON_UNSPECIFIED
}

func (x *CommunityCount) GetCount() uint32 {
	if x != nil {
		return x.Count
	}
	return 0
}

type LocalPrefEq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Value         uint32                 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LocalPrefEq) Reset() {
	*x = LocalPrefEq{}
	mi := &file_api_gobgp_proto_msgTypes[165]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LocalPrefEq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LocalPrefEq) ProtoMessage() {}

func (x *LocalPrefEq) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[165]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LocalPrefEq.ProtoReflect.Descriptor instead.
func (*LocalPrefEq) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{165}
}

func (x *LocalPrefEq) GetValue() uint32 {
	if x != nil {
		return x.Value
	}
	return 0
}

type MedEq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Value         uint32                 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MedEq) Reset() {
	*x = MedEq{}
	mi := &file_api_gobgp_proto_msgTypes[166]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MedEq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MedEq) ProtoMessage() {}

func (x *MedEq) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[166]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MedEq.ProtoReflect.Descriptor instead.
func (*MedEq) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{166}
}

func (x *MedEq) GetValue() uint32 {
	if x != nil {
		return x.Value
	}
	return 0
}

type Conditions struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	PrefixSet         *MatchSet              `protobuf:"bytes,1,opt,name=prefix_set,json=prefixSet,proto3" json:"prefix_set,omitempty"`
	NeighborSet       *MatchSet              `protobuf:"bytes,2,opt,name=neighbor_set,json=neighborSet,proto3" json:"neighbor_set,omitempty"`
	AsPathLength      *AsPathLength          `protobuf:"bytes,3,opt,name=as_path_length,json=asPathLength,proto3" json:"as_path_length,omitempty"`
	AsPathSet         *MatchSet              `protobuf:"bytes,4,opt,name=as_path_set,json=asPathSet,proto3" json:"as_path_set,omitempty"`
	CommunitySet      *MatchSet              `protobuf:"bytes,5,opt,name=community_set,json=communitySet,proto3" json:"community_set,omitempty"`
	ExtCommunitySet   *MatchSet              `protobuf:"bytes,6,opt,name=ext_community_set,json=extCommunitySet,proto3" json:"ext_community_set,omitempty"`
	RpkiResult        ValidationState        `protobuf:"varint,7,opt,name=rpki_result,json=rpkiResult,proto3,enum=api.ValidationState" json:"rpki_result,omitempty"`
	RouteType         Conditions_RouteType   `protobuf:"varint,8,opt,name=route_type,json=routeType,proto3,enum=api.Conditions_RouteType" json:"route_type,omitempty"`
	LargeCommunitySet *MatchSet              `protobuf:"bytes,9,opt,name=large_community_set,json=largeCommunitySet,proto3" json:"large_community_set,omitempty"`
	NextHopInList     []string               `protobuf:"bytes,10,rep,name=next_hop_in_list,json=nextHopInList,proto3" json:"next_hop_in_list,omitempty"`
	AfiSafiIn         []*Family              `protobuf:"bytes,11,rep,name=afi_safi_in,json=afiSafiIn,proto3" json:"afi_safi_in,omitempty"`
	CommunityCount    *CommunityCount        `protobuf:"bytes,12,opt,name=community_count,json=communityCount,proto3" json:"community_count,omitempty"`
	Origin            OriginType             `protobuf:"varint,13,opt,name=origin,proto3,enum=api.OriginType" json:"origin,omitempty"`
	LocalPrefEq       *LocalPrefEq           `protobuf:"bytes,14,opt,name=local_pref_eq,json=localPrefEq,proto3" json:"local_pref_eq,omitempty"`
	MedEq             *MedEq                 `protobuf:"bytes,15,opt,name=med_eq,json=medEq,proto3" json:"med_eq,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *Conditions) Reset() {
	*x = Conditions{}
	mi := &file_api_gobgp_proto_msgTypes[167]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Conditions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Conditions) ProtoMessage() {}

func (x *Conditions) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[167]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Conditions.ProtoReflect.Descriptor instead.
func (*Conditions) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{167}
}

func (x *Conditions) GetPrefixSet() *MatchSet {
	if x != nil {
		return x.PrefixSet
	}
	return nil
}

func (x *Conditions) GetNeighborSet() *MatchSet {
	if x != nil {
		return x.NeighborSet
	}
	return nil
}

func (x *Conditions) GetAsPathLength() *AsPathLength {
	if x != nil {
		return x.AsPathLength
	}
	return nil
}

func (x *Conditions) GetAsPathSet() *MatchSet {
	if x != nil {
		return x.AsPathSet
	}
	return nil
}

func (x *Conditions) GetCommunitySet() *MatchSet {
	if x != nil {
		return x.CommunitySet
	}
	return nil
}

func (x *Conditions) GetExtCommunitySet() *MatchSet {
	if x != nil {
		return x.ExtCommunitySet
	}
	return nil
}

func (x *Conditions) GetRpkiResult() ValidationState {
	if x != nil {
		return x.RpkiResult
	}
	return ValidationState_VALIDATION_STATE_UNSPECIFIED
}

func (x *Conditions) GetRouteType() Conditions_RouteType {
	if x != nil {
		return x.RouteType
	}
	return Conditions_ROUTE_TYPE_UNSPECIFIED
}

func (x *Conditions) GetLargeCommunitySet() *MatchSet {
	if x != nil {
		return x.LargeCommunitySet
	}
	return nil
}

func (x *Conditions) GetNextHopInList() []string {
	if x != nil {
		return x.NextHopInList
	}
	return nil
}

func (x *Conditions) GetAfiSafiIn() []*Family {
	if x != nil {
		return x.AfiSafiIn
	}
	return nil
}

func (x *Conditions) GetCommunityCount() *CommunityCount {
	if x != nil {
		return x.CommunityCount
	}
	return nil
}

func (x *Conditions) GetOrigin() OriginType {
	if x != nil {
		return x.Origin
	}
	return OriginType_ORIGIN_TYPE_UNSPECIFIED
}

func (x *Conditions) GetLocalPrefEq() *LocalPrefEq {
	if x != nil {
		return x.LocalPrefEq
	}
	return nil
}

func (x *Conditions) GetMedEq() *MedEq {
	if x != nil {
		return x.MedEq
	}
	return nil
}

type CommunityAction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          CommunityAction_Type   `protobuf:"varint,1,opt,name=type,proto3,enum=api.CommunityAction_Type" json:"type,omitempty"`
	Communities   []string               `protobuf:"bytes,2,rep,name=communities,proto3" json:"communities,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CommunityAction) Reset() {
	*x = CommunityAction{}
	mi := &file_api_gobgp_proto_msgTypes[168]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CommunityAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommunityAction) ProtoMessage() {}

func (x *CommunityAction) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[168]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommunityAction.ProtoReflect.Descriptor instead.
func (*CommunityAction) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{168}
}

func (x *CommunityAction) GetType() CommunityAction_Type {
	if x != nil {
		return x.Type
	}
	return CommunityAction_TYPE_UNSPECIFIED
}

func (x *CommunityAction) GetCommunities() []string {
	if x != nil {
		return x.Communities
	}
	return nil
}

type MedAction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Type          MedAction_Type         `protobuf:"varint,1,opt,name=type,proto3,enum=api.MedAction_Type" json:"type,omitempty"`
	Value         int64                  `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MedAction) Reset() {
	*x = MedAction{}
	mi := &file_api_gobgp_proto_msgTypes[169]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MedAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MedAction) ProtoMessage() {}

func (x *MedAction) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[169]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MedAction.ProtoReflect.Descriptor instead.
func (*MedAction) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{169}
}

func (x *MedAction) GetType() MedAction_Type {
	if x != nil {
		return x.Type
	}
	return MedAction_TYPE_UNSPECIFIED
}

func (x *MedAction) GetValue() int64 {
	if x != nil {
		return x.Value
	}
	return 0
}

type AsPrependAction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Asn           uint32                 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
	Repeat        uint32                 `protobuf:"varint,2,opt,name=repeat,proto3" json:"repeat,omitempty"`
	UseLeftMost   bool                   `protobuf:"varint,3,opt,name=use_left_most,json=useLeftMost,proto3" json:"use_left_most,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AsPrependAction) Reset() {
	*x = AsPrependAction{}
	mi := &file_api_gobgp_proto_msgTypes[170]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AsPrependAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AsPrependAction) ProtoMessage() {}

func (x *AsPrependAction) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[170]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AsPrependAction.ProtoReflect.Descriptor instead.
func (*AsPrependAction) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{170}
}

func (x *AsPrependAction) GetAsn() uint32 {
	if x != nil {
		return x.Asn
	}
	return 0
}

func (x *AsPrependAction) GetRepeat() uint32 {
	if x != nil {
		return x.Repeat
	}
	return 0
}

func (x *AsPrependAction) GetUseLeftMost() bool {
	if x != nil {
		return x.UseLeftMost
	}
	return false
}

type NexthopAction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Self          bool                   `protobuf:"varint,2,opt,name=self,proto3" json:"self,omitempty"`
	Unchanged     bool                   `protobuf:"varint,3,opt,name=unchanged,proto3" json:"unchanged,omitempty"`
	PeerAddress   bool                   `protobuf:"varint,4,opt,name=peer_address,json=peerAddress,proto3" json:"peer_address,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NexthopAction) Reset() {
	*x = NexthopAction{}
	mi := &file_api_gobgp_proto_msgTypes[171]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *NexthopAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NexthopAction) ProtoMessage() {}

func (x *NexthopAction) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[171]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NexthopAction.ProtoReflect.Descriptor instead.
func (*NexthopAction) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{171}
}

func (x *NexthopAction) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *NexthopAction) GetSelf() bool {
	if x != nil {
		return x.Self
	}
	return false
}

func (x *NexthopAction) GetUnchanged() bool {
	if x != nil {
		return x.Unchanged
	}
	return false
}

func (x *NexthopAction) GetPeerAddress() bool {
	if x != nil {
		return x.PeerAddress
	}
	return false
}

type LocalPrefAction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Value         uint32                 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LocalPrefAction) Reset() {
	*x = LocalPrefAction{}
	mi := &file_api_gobgp_proto_msgTypes[172]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LocalPrefAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LocalPrefAction) ProtoMessage() {}

func (x *LocalPrefAction) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[172]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LocalPrefAction.ProtoReflect.Descriptor instead.
func (*LocalPrefAction) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{172}
}

func (x *LocalPrefAction) GetValue() uint32 {
	if x != nil {
		return x.Value
	}
	return 0
}

type OriginAction struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Origin        OriginType             `protobuf:"varint,1,opt,name=origin,proto3,enum=api.OriginType" json:"origin,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OriginAction) Reset() {
	*x = OriginAction{}
	mi := &file_api_gobgp_proto_msgTypes[173]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OriginAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OriginAction) ProtoMessage() {}

func (x *OriginAction) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[173]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OriginAction.ProtoReflect.Descriptor instead.
func (*OriginAction) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{173}
}

func (x *OriginAction) GetOrigin() OriginType {
	if x != nil {
		return x.Origin
	}
	return OriginType_ORIGIN_TYPE_UNSPECIFIED
}

type Actions struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	RouteAction    RouteAction            `protobuf:"varint,1,opt,name=route_action,json=routeAction,proto3,enum=api.RouteAction" json:"route_action,omitempty"`
	Community      *CommunityAction       `protobuf:"bytes,2,opt,name=community,proto3" json:"community,omitempty"`
	Med            *MedAction             `protobuf:"bytes,3,opt,name=med,proto3" json:"med,omitempty"`
	AsPrepend      *AsPrependAction       `protobuf:"bytes,4,opt,name=as_prepend,json=asPrepend,proto3" json:"as_prepend,omitempty"`
	ExtCommunity   *CommunityAction       `protobuf:"bytes,5,opt,name=ext_community,json=extCommunity,proto3" json:"ext_community,omitempty"`
	Nexthop        *NexthopAction         `protobuf:"bytes,6,opt,name=nexthop,proto3" json:"nexthop,omitempty"`
	LocalPref      *LocalPrefAction       `protobuf:"bytes,7,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"`
	LargeCommunity *CommunityAction       `protobuf:"bytes,8,opt,name=large_community,json=largeCommunity,proto3" json:"large_community,omitempty"`
	OriginAction   *OriginAction          `protobuf:"bytes,9,opt,name=origin_action,json=originAction,proto3" json:"origin_action,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *Actions) Reset() {
	*x = Actions{}
	mi := &file_api_gobgp_proto_msgTypes[174]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Actions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Actions) ProtoMessage() {}

func (x *Actions) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[174]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Actions.ProtoReflect.Descriptor instead.
func (*Actions) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{174}
}

func (x *Actions) GetRouteAction() RouteAction {
	if x != nil {
		return x.RouteAction
	}
	return RouteAction_ROUTE_ACTION_UNSPECIFIED
}

func (x *Actions) GetCommunity() *CommunityAction {
	if x != nil {
		return x.Community
	}
	return nil
}

func (x *Actions) GetMed() *MedAction {
	if x != nil {
		return x.Med
	}
	return nil
}

func (x *Actions) GetAsPrepend() *AsPrependAction {
	if x != nil {
		return x.AsPrepend
	}
	return nil
}

func (x *Actions) GetExtCommunity() *CommunityAction {
	if x != nil {
		return x.ExtCommunity
	}
	return nil
}

func (x *Actions) GetNexthop() *NexthopAction {
	if x != nil {
		return x.Nexthop
	}
	return nil
}

func (x *Actions) GetLocalPref() *LocalPrefAction {
	if x != nil {
		return x.LocalPref
	}
	return nil
}

func (x *Actions) GetLargeCommunity() *CommunityAction {
	if x != nil {
		return x.LargeCommunity
	}
	return nil
}

func (x *Actions) GetOriginAction() *OriginAction {
	if x != nil {
		return x.OriginAction
	}
	return nil
}

type Statement struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Conditions    *Conditions            `protobuf:"bytes,2,opt,name=conditions,proto3" json:"conditions,omitempty"`
	Actions       *Actions               `protobuf:"bytes,3,opt,name=actions,proto3" json:"actions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Statement) Reset() {
	*x = Statement{}
	mi := &file_api_gobgp_proto_msgTypes[175]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Statement) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Statement) ProtoMessage() {}

func (x *Statement) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[175]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Statement.ProtoReflect.Descriptor instead.
func (*Statement) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{175}
}

func (x *Statement) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Statement) GetConditions() *Conditions {
	if x != nil {
		return x.Conditions
	}
	return nil
}

func (x *Statement) GetActions() *Actions {
	if x != nil {
		return x.Actions
	}
	return nil
}

type Policy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Statements    []*Statement           `protobuf:"bytes,2,rep,name=statements,proto3" json:"statements,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Policy) Reset() {
	*x = Policy{}
	mi := &file_api_gobgp_proto_msgTypes[176]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Policy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Policy) ProtoMessage() {}

func (x *Policy) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[176]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Policy.ProtoReflect.Descriptor instead.
func (*Policy) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{176}
}

func (x *Policy) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Policy) GetStatements() []*Statement {
	if x != nil {
		return x.Statements
	}
	return nil
}

type PolicyAssignment struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Direction     PolicyDirection        `protobuf:"varint,2,opt,name=direction,proto3,enum=api.PolicyDirection" json:"direction,omitempty"`
	Policies      []*Policy              `protobuf:"bytes,4,rep,name=policies,proto3" json:"policies,omitempty"`
	DefaultAction RouteAction            `protobuf:"varint,5,opt,name=default_action,json=defaultAction,proto3,enum=api.RouteAction" json:"default_action,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PolicyAssignment) Reset() {
	*x = PolicyAssignment{}
	mi := &file_api_gobgp_proto_msgTypes[177]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PolicyAssignment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PolicyAssignment) ProtoMessage() {}

func (x *PolicyAssignment) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[177]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PolicyAssignment.ProtoReflect.Descriptor instead.
func (*PolicyAssignment) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{177}
}

func (x *PolicyAssignment) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *PolicyAssignment) GetDirection() PolicyDirection {
	if x != nil {
		return x.Direction
	}
	return PolicyDirection_POLICY_DIRECTION_UNSPECIFIED
}

func (x *PolicyAssignment) GetPolicies() []*Policy {
	if x != nil {
		return x.Policies
	}
	return nil
}

func (x *PolicyAssignment) GetDefaultAction() RouteAction {
	if x != nil {
		return x.DefaultAction
	}
	return RouteAction_ROUTE_ACTION_UNSPECIFIED
}

type RoutingPolicy struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DefinedSets   []*DefinedSet          `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets,proto3" json:"defined_sets,omitempty"`
	Policies      []*Policy              `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RoutingPolicy) Reset() {
	*x = RoutingPolicy{}
	mi := &file_api_gobgp_proto_msgTypes[178]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RoutingPolicy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RoutingPolicy) ProtoMessage() {}

func (x *RoutingPolicy) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[178]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RoutingPolicy.ProtoReflect.Descriptor instead.
func (*RoutingPolicy) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{178}
}

func (x *RoutingPolicy) GetDefinedSets() []*DefinedSet {
	if x != nil {
		return x.DefinedSets
	}
	return nil
}

func (x *RoutingPolicy) GetPolicies() []*Policy {
	if x != nil {
		return x.Policies
	}
	return nil
}

type Roa struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Asn           uint32                 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
	Prefixlen     uint32                 `protobuf:"varint,2,opt,name=prefixlen,proto3" json:"prefixlen,omitempty"`
	Maxlen        uint32                 `protobuf:"varint,3,opt,name=maxlen,proto3" json:"maxlen,omitempty"`
	Prefix        string                 `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Conf          *RPKIConf              `protobuf:"bytes,5,opt,name=conf,proto3" json:"conf,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Roa) Reset() {
	*x = Roa{}
	mi := &file_api_gobgp_proto_msgTypes[179]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Roa) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Roa) ProtoMessage() {}

func (x *Roa) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[179]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Roa.ProtoReflect.Descriptor instead.
func (*Roa) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{179}
}

func (x *Roa) GetAsn() uint32 {
	if x != nil {
		return x.Asn
	}
	return 0
}

func (x *Roa) GetPrefixlen() uint32 {
	if x != nil {
		return x.Prefixlen
	}
	return 0
}

func (x *Roa) GetMaxlen() uint32 {
	if x != nil {
		return x.Maxlen
	}
	return 0
}

func (x *Roa) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *Roa) GetConf() *RPKIConf {
	if x != nil {
		return x.Conf
	}
	return nil
}

type Vrf struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Rd            *RouteDistinguisher    `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"`
	ImportRt      []*RouteTarget         `protobuf:"bytes,3,rep,name=import_rt,json=importRt,proto3" json:"import_rt,omitempty"`
	ExportRt      []*RouteTarget         `protobuf:"bytes,4,rep,name=export_rt,json=exportRt,proto3" json:"export_rt,omitempty"`
	Id            uint32                 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Vrf) Reset() {
	*x = Vrf{}
	mi := &file_api_gobgp_proto_msgTypes[180]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Vrf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Vrf) ProtoMessage() {}

func (x *Vrf) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[180]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Vrf.ProtoReflect.Descriptor instead.
func (*Vrf) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{180}
}

func (x *Vrf) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Vrf) GetRd() *RouteDistinguisher {
	if x != nil {
		return x.Rd
	}
	return nil
}

func (x *Vrf) GetImportRt() []*RouteTarget {
	if x != nil {
		return x.ImportRt
	}
	return nil
}

func (x *Vrf) GetExportRt() []*RouteTarget {
	if x != nil {
		return x.ExportRt
	}
	return nil
}

func (x *Vrf) GetId() uint32 {
	if x != nil {
		return x.Id
	}
	return 0
}

type DefaultRouteDistance struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	ExternalRouteDistance uint32                 `protobuf:"varint,1,opt,name=external_route_distance,json=externalRouteDistance,proto3" json:"external_route_distance,omitempty"`
	InternalRouteDistance uint32                 `protobuf:"varint,2,opt,name=internal_route_distance,json=internalRouteDistance,proto3" json:"internal_route_distance,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *DefaultRouteDistance) Reset() {
	*x = DefaultRouteDistance{}
	mi := &file_api_gobgp_proto_msgTypes[181]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DefaultRouteDistance) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DefaultRouteDistance) ProtoMessage() {}

func (x *DefaultRouteDistance) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[181]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DefaultRouteDistance.ProtoReflect.Descriptor instead.
func (*DefaultRouteDistance) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{181}
}

func (x *DefaultRouteDistance) GetExternalRouteDistance() uint32 {
	if x != nil {
		return x.ExternalRouteDistance
	}
	return 0
}

func (x *DefaultRouteDistance) GetInternalRouteDistance() uint32 {
	if x != nil {
		return x.InternalRouteDistance
	}
	return 0
}

type Global struct {
	state                 protoimpl.MessageState       `protogen:"open.v1"`
	Asn                   uint32                       `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
	RouterId              string                       `protobuf:"bytes,2,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"`
	ListenPort            int32                        `protobuf:"varint,3,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"`
	ListenAddresses       []string                     `protobuf:"bytes,4,rep,name=listen_addresses,json=listenAddresses,proto3" json:"listen_addresses,omitempty"`
	Families              []uint32                     `protobuf:"varint,5,rep,packed,name=families,proto3" json:"families,omitempty"`
	UseMultiplePaths      bool                         `protobuf:"varint,6,opt,name=use_multiple_paths,json=useMultiplePaths,proto3" json:"use_multiple_paths,omitempty"`
	RouteSelectionOptions *RouteSelectionOptionsConfig `protobuf:"bytes,7,opt,name=route_selection_options,json=routeSelectionOptions,proto3" json:"route_selection_options,omitempty"`
	DefaultRouteDistance  *DefaultRouteDistance        `protobuf:"bytes,8,opt,name=default_route_distance,json=defaultRouteDistance,proto3" json:"default_route_distance,omitempty"`
	Confederation         *Confederation               `protobuf:"bytes,9,opt,name=confederation,proto3" json:"confederation,omitempty"`
	GracefulRestart       *GracefulRestart             `protobuf:"bytes,10,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"`
	BindToDevice          string                       `protobuf:"bytes,11,opt,name=bind_to_device,json=bindToDevice,proto3" json:"bind_to_device,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *Global) Reset() {
	*x = Global{}
	mi := &file_api_gobgp_proto_msgTypes[182]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Global) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Global) ProtoMessage() {}

func (x *Global) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[182]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Global.ProtoReflect.Descriptor instead.
func (*Global) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{182}
}

func (x *Global) GetAsn() uint32 {
	if x != nil {
		return x.Asn
	}
	return 0
}

func (x *Global) GetRouterId() string {
	if x != nil {
		return x.RouterId
	}
	return ""
}

func (x *Global) GetListenPort() int32 {
	if x != nil {
		return x.ListenPort
	}
	return 0
}

func (x *Global) GetListenAddresses() []string {
	if x != nil {
		return x.ListenAddresses
	}
	return nil
}

func (x *Global) GetFamilies() []uint32 {
	if x != nil {
		return x.Families
	}
	return nil
}

func (x *Global) GetUseMultiplePaths() bool {
	if x != nil {
		return x.UseMultiplePaths
	}
	return false
}

func (x *Global) GetRouteSelectionOptions() *RouteSelectionOptionsConfig {
	if x != nil {
		return x.RouteSelectionOptions
	}
	return nil
}

func (x *Global) GetDefaultRouteDistance() *DefaultRouteDistance {
	if x != nil {
		return x.DefaultRouteDistance
	}
	return nil
}

func (x *Global) GetConfederation() *Confederation {
	if x != nil {
		return x.Confederation
	}
	return nil
}

func (x *Global) GetGracefulRestart() *GracefulRestart {
	if x != nil {
		return x.GracefulRestart
	}
	return nil
}

func (x *Global) GetBindToDevice() string {
	if x != nil {
		return x.BindToDevice
	}
	return ""
}

type Confederation struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Identifier    uint32                 `protobuf:"varint,2,opt,name=identifier,proto3" json:"identifier,omitempty"`
	MemberAsList  []uint32               `protobuf:"varint,3,rep,packed,name=member_as_list,json=memberAsList,proto3" json:"member_as_list,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Confederation) Reset() {
	*x = Confederation{}
	mi := &file_api_gobgp_proto_msgTypes[183]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Confederation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Confederation) ProtoMessage() {}

func (x *Confederation) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[183]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Confederation.ProtoReflect.Descriptor instead.
func (*Confederation) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{183}
}

func (x *Confederation) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *Confederation) GetIdentifier() uint32 {
	if x != nil {
		return x.Identifier
	}
	return 0
}

func (x *Confederation) GetMemberAsList() []uint32 {
	if x != nil {
		return x.MemberAsList
	}
	return nil
}

type RPKIConf struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	RemotePort    uint32                 `protobuf:"varint,2,opt,name=remote_port,json=remotePort,proto3" json:"remote_port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RPKIConf) Reset() {
	*x = RPKIConf{}
	mi := &file_api_gobgp_proto_msgTypes[184]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RPKIConf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RPKIConf) ProtoMessage() {}

func (x *RPKIConf) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[184]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RPKIConf.ProtoReflect.Descriptor instead.
func (*RPKIConf) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{184}
}

func (x *RPKIConf) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *RPKIConf) GetRemotePort() uint32 {
	if x != nil {
		return x.RemotePort
	}
	return 0
}

type RPKIState struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Uptime        *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=uptime,proto3" json:"uptime,omitempty"`
	Downtime      *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=downtime,proto3" json:"downtime,omitempty"`
	Up            bool                   `protobuf:"varint,3,opt,name=up,proto3" json:"up,omitempty"`
	RecordIpv4    uint32                 `protobuf:"varint,4,opt,name=record_ipv4,json=recordIpv4,proto3" json:"record_ipv4,omitempty"`
	RecordIpv6    uint32                 `protobuf:"varint,5,opt,name=record_ipv6,json=recordIpv6,proto3" json:"record_ipv6,omitempty"`
	PrefixIpv4    uint32                 `protobuf:"varint,6,opt,name=prefix_ipv4,json=prefixIpv4,proto3" json:"prefix_ipv4,omitempty"`
	PrefixIpv6    uint32                 `protobuf:"varint,7,opt,name=prefix_ipv6,json=prefixIpv6,proto3" json:"prefix_ipv6,omitempty"`
	Serial        uint32                 `protobuf:"varint,8,opt,name=serial,proto3" json:"serial,omitempty"`
	ReceivedIpv4  int64                  `protobuf:"varint,9,opt,name=received_ipv4,json=receivedIpv4,proto3" json:"received_ipv4,omitempty"`
	ReceivedIpv6  int64                  `protobuf:"varint,10,opt,name=received_ipv6,json=receivedIpv6,proto3" json:"received_ipv6,omitempty"`
	SerialNotify  int64                  `protobuf:"varint,11,opt,name=serial_notify,json=serialNotify,proto3" json:"serial_notify,omitempty"`
	CacheReset    int64                  `protobuf:"varint,12,opt,name=cache_reset,json=cacheReset,proto3" json:"cache_reset,omitempty"`
	CacheResponse int64                  `protobuf:"varint,13,opt,name=cache_response,json=cacheResponse,proto3" json:"cache_response,omitempty"`
	EndOfData     int64                  `protobuf:"varint,14,opt,name=end_of_data,json=endOfData,proto3" json:"end_of_data,omitempty"`
	Error         int64                  `protobuf:"varint,15,opt,name=error,proto3" json:"error,omitempty"`
	SerialQuery   int64                  `protobuf:"varint,16,opt,name=serial_query,json=serialQuery,proto3" json:"serial_query,omitempty"`
	ResetQuery    int64                  `protobuf:"varint,17,opt,name=reset_query,json=resetQuery,proto3" json:"reset_query,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RPKIState) Reset() {
	*x = RPKIState{}
	mi := &file_api_gobgp_proto_msgTypes[185]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RPKIState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RPKIState) ProtoMessage() {}

func (x *RPKIState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[185]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RPKIState.ProtoReflect.Descriptor instead.
func (*RPKIState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{185}
}

func (x *RPKIState) GetUptime() *timestamppb.Timestamp {
	if x != nil {
		return x.Uptime
	}
	return nil
}

func (x *RPKIState) GetDowntime() *timestamppb.Timestamp {
	if x != nil {
		return x.Downtime
	}
	return nil
}

func (x *RPKIState) GetUp() bool {
	if x != nil {
		return x.Up
	}
	return false
}

func (x *RPKIState) GetRecordIpv4() uint32 {
	if x != nil {
		return x.RecordIpv4
	}
	return 0
}

func (x *RPKIState) GetRecordIpv6() uint32 {
	if x != nil {
		return x.RecordIpv6
	}
	return 0
}

func (x *RPKIState) GetPrefixIpv4() uint32 {
	if x != nil {
		return x.PrefixIpv4
	}
	return 0
}

func (x *RPKIState) GetPrefixIpv6() uint32 {
	if x != nil {
		return x.PrefixIpv6
	}
	return 0
}

func (x *RPKIState) GetSerial() uint32 {
	if x != nil {
		return x.Serial
	}
	return 0
}

func (x *RPKIState) GetReceivedIpv4() int64 {
	if x != nil {
		return x.ReceivedIpv4
	}
	return 0
}

func (x *RPKIState) GetReceivedIpv6() int64 {
	if x != nil {
		return x.ReceivedIpv6
	}
	return 0
}

func (x *RPKIState) GetSerialNotify() int64 {
	if x != nil {
		return x.SerialNotify
	}
	return 0
}

func (x *RPKIState) GetCacheReset() int64 {
	if x != nil {
		return x.CacheReset
	}
	return 0
}

func (x *RPKIState) GetCacheResponse() int64 {
	if x != nil {
		return x.CacheResponse
	}
	return 0
}

func (x *RPKIState) GetEndOfData() int64 {
	if x != nil {
		return x.EndOfData
	}
	return 0
}

func (x *RPKIState) GetError() int64 {
	if x != nil {
		return x.Error
	}
	return 0
}

func (x *RPKIState) GetSerialQuery() int64 {
	if x != nil {
		return x.SerialQuery
	}
	return 0
}

func (x *RPKIState) GetResetQuery() int64 {
	if x != nil {
		return x.ResetQuery
	}
	return 0
}

type Rpki struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Conf          *RPKIConf              `protobuf:"bytes,1,opt,name=conf,proto3" json:"conf,omitempty"`
	State         *RPKIState             `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Rpki) Reset() {
	*x = Rpki{}
	mi := &file_api_gobgp_proto_msgTypes[186]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Rpki) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Rpki) ProtoMessage() {}

func (x *Rpki) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[186]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Rpki.ProtoReflect.Descriptor instead.
func (*Rpki) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{186}
}

func (x *Rpki) GetConf() *RPKIConf {
	if x != nil {
		return x.Conf
	}
	return nil
}

func (x *Rpki) GetState() *RPKIState {
	if x != nil {
		return x.State
	}
	return nil
}

type SetLogLevelRequest struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Level         SetLogLevelRequest_Level `protobuf:"varint,1,opt,name=level,proto3,enum=api.SetLogLevelRequest_Level" json:"level,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetLogLevelRequest) Reset() {
	*x = SetLogLevelRequest{}
	mi := &file_api_gobgp_proto_msgTypes[187]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetLogLevelRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetLogLevelRequest) ProtoMessage() {}

func (x *SetLogLevelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[187]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetLogLevelRequest.ProtoReflect.Descriptor instead.
func (*SetLogLevelRequest) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{187}
}

func (x *SetLogLevelRequest) GetLevel() SetLogLevelRequest_Level {
	if x != nil {
		return x.Level
	}
	return SetLogLevelRequest_LEVEL_UNSPECIFIED
}

type SetLogLevelResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetLogLevelResponse) Reset() {
	*x = SetLogLevelResponse{}
	mi := &file_api_gobgp_proto_msgTypes[188]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetLogLevelResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetLogLevelResponse) ProtoMessage() {}

func (x *SetLogLevelResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[188]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetLogLevelResponse.ProtoReflect.Descriptor instead.
func (*SetLogLevelResponse) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{188}
}

type BfdAsyncCounters struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	LastPacketTransmitted uint64                 `protobuf:"varint,1,opt,name=last_packet_transmitted,json=lastPacketTransmitted,proto3" json:"last_packet_transmitted,omitempty"`
	LastPacketReceived    uint64                 `protobuf:"varint,2,opt,name=last_packet_received,json=lastPacketReceived,proto3" json:"last_packet_received,omitempty"`
	TransmittedPackets    uint64                 `protobuf:"varint,3,opt,name=transmitted_packets,json=transmittedPackets,proto3" json:"transmitted_packets,omitempty"`
	ReceivedPackets       uint64                 `protobuf:"varint,4,opt,name=received_packets,json=receivedPackets,proto3" json:"received_packets,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *BfdAsyncCounters) Reset() {
	*x = BfdAsyncCounters{}
	mi := &file_api_gobgp_proto_msgTypes[189]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BfdAsyncCounters) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BfdAsyncCounters) ProtoMessage() {}

func (x *BfdAsyncCounters) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[189]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BfdAsyncCounters.ProtoReflect.Descriptor instead.
func (*BfdAsyncCounters) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{189}
}

func (x *BfdAsyncCounters) GetLastPacketTransmitted() uint64 {
	if x != nil {
		return x.LastPacketTransmitted
	}
	return 0
}

func (x *BfdAsyncCounters) GetLastPacketReceived() uint64 {
	if x != nil {
		return x.LastPacketReceived
	}
	return 0
}

func (x *BfdAsyncCounters) GetTransmittedPackets() uint64 {
	if x != nil {
		return x.TransmittedPackets
	}
	return 0
}

func (x *BfdAsyncCounters) GetReceivedPackets() uint64 {
	if x != nil {
		return x.ReceivedPackets
	}
	return 0
}

type BfdPeerState struct {
	state                        protoimpl.MessageState `protogen:"open.v1"`
	SessionState                 BfdSessionState        `protobuf:"varint,1,opt,name=session_state,json=sessionState,proto3,enum=api.BfdSessionState" json:"session_state,omitempty"`
	RemoteSessionState           BfdSessionState        `protobuf:"varint,2,opt,name=remote_session_state,json=remoteSessionState,proto3,enum=api.BfdSessionState" json:"remote_session_state,omitempty"`
	LastFailureTime              uint64                 `protobuf:"varint,3,opt,name=last_failure_time,json=lastFailureTime,proto3" json:"last_failure_time,omitempty"`
	FailureTransitions           uint64                 `protobuf:"varint,4,opt,name=failure_transitions,json=failureTransitions,proto3" json:"failure_transitions,omitempty"`
	LocalDiscriminator           uint32                 `protobuf:"varint,5,opt,name=local_discriminator,json=localDiscriminator,proto3" json:"local_discriminator,omitempty"`
	RemoteDiscriminator          uint32                 `protobuf:"varint,6,opt,name=remote_discriminator,json=remoteDiscriminator,proto3" json:"remote_discriminator,omitempty"`
	LocalDiagnosticCode          BfdDiagnosticCode      `protobuf:"varint,7,opt,name=local_diagnostic_code,json=localDiagnosticCode,proto3,enum=api.BfdDiagnosticCode" json:"local_diagnostic_code,omitempty"`
	RemoteDiagnosticCode         BfdDiagnosticCode      `protobuf:"varint,8,opt,name=remote_diagnostic_code,json=remoteDiagnosticCode,proto3,enum=api.BfdDiagnosticCode" json:"remote_diagnostic_code,omitempty"`
	RemoteMinimumReceiveInterval uint32                 `protobuf:"varint,9,opt,name=remote_minimum_receive_interval,json=remoteMinimumReceiveInterval,proto3" json:"remote_minimum_receive_interval,omitempty"`
	BfdAsync                     *BfdAsyncCounters      `protobuf:"bytes,10,opt,name=bfd_async,json=bfdAsync,proto3" json:"bfd_async,omitempty"`
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

func (x *BfdPeerState) Reset() {
	*x = BfdPeerState{}
	mi := &file_api_gobgp_proto_msgTypes[190]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BfdPeerState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BfdPeerState) ProtoMessage() {}

func (x *BfdPeerState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[190]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BfdPeerState.ProtoReflect.Descriptor instead.
func (*BfdPeerState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{190}
}

func (x *BfdPeerState) GetSessionState() BfdSessionState {
	if x != nil {
		return x.SessionState
	}
	return BfdSessionState_BFD_SESSION_STATE_UNSPECIFIED
}

func (x *BfdPeerState) GetRemoteSessionState() BfdSessionState {
	if x != nil {
		return x.RemoteSessionState
	}
	return BfdSessionState_BFD_SESSION_STATE_UNSPECIFIED
}

func (x *BfdPeerState) GetLastFailureTime() uint64 {
	if x != nil {
		return x.LastFailureTime
	}
	return 0
}

func (x *BfdPeerState) GetFailureTransitions() uint64 {
	if x != nil {
		return x.FailureTransitions
	}
	return 0
}

func (x *BfdPeerState) GetLocalDiscriminator() uint32 {
	if x != nil {
		return x.LocalDiscriminator
	}
	return 0
}

func (x *BfdPeerState) GetRemoteDiscriminator() uint32 {
	if x != nil {
		return x.RemoteDiscriminator
	}
	return 0
}

func (x *BfdPeerState) GetLocalDiagnosticCode() BfdDiagnosticCode {
	if x != nil {
		return x.LocalDiagnosticCode
	}
	return BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_NO_DIAGNOSTIC
}

func (x *BfdPeerState) GetRemoteDiagnosticCode() BfdDiagnosticCode {
	if x != nil {
		return x.RemoteDiagnosticCode
	}
	return BfdDiagnosticCode_BFD_DIAGNOSTIC_CODE_NO_DIAGNOSTIC
}

func (x *BfdPeerState) GetRemoteMinimumReceiveInterval() uint32 {
	if x != nil {
		return x.RemoteMinimumReceiveInterval
	}
	return 0
}

func (x *BfdPeerState) GetBfdAsync() *BfdAsyncCounters {
	if x != nil {
		return x.BfdAsync
	}
	return nil
}

type BfdPeerConfig struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	Enabled                  bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Port                     uint32                 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	DesiredMinimumTxInterval uint32                 `protobuf:"varint,3,opt,name=desired_minimum_tx_interval,json=desiredMinimumTxInterval,proto3" json:"desired_minimum_tx_interval,omitempty"`
	RequiredMinimumReceive   uint32                 `protobuf:"varint,4,opt,name=required_minimum_receive,json=requiredMinimumReceive,proto3" json:"required_minimum_receive,omitempty"`
	DetectionMultiplier      uint32                 `protobuf:"varint,5,opt,name=detection_multiplier,json=detectionMultiplier,proto3" json:"detection_multiplier,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *BfdPeerConfig) Reset() {
	*x = BfdPeerConfig{}
	mi := &file_api_gobgp_proto_msgTypes[191]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BfdPeerConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BfdPeerConfig) ProtoMessage() {}

func (x *BfdPeerConfig) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[191]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BfdPeerConfig.ProtoReflect.Descriptor instead.
func (*BfdPeerConfig) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{191}
}

func (x *BfdPeerConfig) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *BfdPeerConfig) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *BfdPeerConfig) GetDesiredMinimumTxInterval() uint32 {
	if x != nil {
		return x.DesiredMinimumTxInterval
	}
	return 0
}

func (x *BfdPeerConfig) GetRequiredMinimumReceive() uint32 {
	if x != nil {
		return x.RequiredMinimumReceive
	}
	return 0
}

func (x *BfdPeerConfig) GetDetectionMultiplier() uint32 {
	if x != nil {
		return x.DetectionMultiplier
	}
	return 0
}

type BfdState struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ReceivedPacket uint64                 `protobuf:"varint,1,opt,name=received_packet,json=receivedPacket,proto3" json:"received_packet,omitempty"`
	ReceivedDrop   uint64                 `protobuf:"varint,2,opt,name=received_drop,json=receivedDrop,proto3" json:"received_drop,omitempty"`
	ReceivedError  uint64                 `protobuf:"varint,3,opt,name=received_error,json=receivedError,proto3" json:"received_error,omitempty"`
	InvalidPacket  uint64                 `protobuf:"varint,4,opt,name=invalid_packet,json=invalidPacket,proto3" json:"invalid_packet,omitempty"`
	UnknownPeer    uint64                 `protobuf:"varint,5,opt,name=unknown_peer,json=unknownPeer,proto3" json:"unknown_peer,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *BfdState) Reset() {
	*x = BfdState{}
	mi := &file_api_gobgp_proto_msgTypes[192]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BfdState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BfdState) ProtoMessage() {}

func (x *BfdState) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[192]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BfdState.ProtoReflect.Descriptor instead.
func (*BfdState) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{192}
}

func (x *BfdState) GetReceivedPacket() uint64 {
	if x != nil {
		return x.ReceivedPacket
	}
	return 0
}

func (x *BfdState) GetReceivedDrop() uint64 {
	if x != nil {
		return x.ReceivedDrop
	}
	return 0
}

func (x *BfdState) GetReceivedError() uint64 {
	if x != nil {
		return x.ReceivedError
	}
	return 0
}

func (x *BfdState) GetInvalidPacket() uint64 {
	if x != nil {
		return x.InvalidPacket
	}
	return 0
}

func (x *BfdState) GetUnknownPeer() uint64 {
	if x != nil {
		return x.UnknownPeer
	}
	return 0
}

type WatchEventRequest_Peer struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WatchEventRequest_Peer) Reset() {
	*x = WatchEventRequest_Peer{}
	mi := &file_api_gobgp_proto_msgTypes[193]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WatchEventRequest_Peer) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchEventRequest_Peer) ProtoMessage() {}

func (x *WatchEventRequest_Peer) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[193]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchEventRequest_Peer.ProtoReflect.Descriptor instead.
func (*WatchEventRequest_Peer) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{6, 0}
}

type WatchEventRequest_Table struct {
	state         protoimpl.MessageState            `protogen:"open.v1"`
	Filters       []*WatchEventRequest_Table_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WatchEventRequest_Table) Reset() {
	*x = WatchEventRequest_Table{}
	mi := &file_api_gobgp_proto_msgTypes[194]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WatchEventRequest_Table) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchEventRequest_Table) ProtoMessage() {}

func (x *WatchEventRequest_Table) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[194]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchEventRequest_Table.ProtoReflect.Descriptor instead.
func (*WatchEventRequest_Table) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{6, 1}
}

func (x *WatchEventRequest_Table) GetFilters() []*WatchEventRequest_Table_Filter {
	if x != nil {
		return x.Filters
	}
	return nil
}

type WatchEventRequest_Table_Filter struct {
	state         protoimpl.MessageState              `protogen:"open.v1"`
	Type          WatchEventRequest_Table_Filter_Type `protobuf:"varint,1,opt,name=type,proto3,enum=api.WatchEventRequest_Table_Filter_Type" json:"type,omitempty"`
	Init          bool                                `protobuf:"varint,2,opt,name=init,proto3" json:"init,omitempty"`
	PeerAddress   string                              `protobuf:"bytes,3,opt,name=peer_address,json=peerAddress,proto3" json:"peer_address,omitempty"`
	PeerGroup     string                              `protobuf:"bytes,4,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WatchEventRequest_Table_Filter) Reset() {
	*x = WatchEventRequest_Table_Filter{}
	mi := &file_api_gobgp_proto_msgTypes[195]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WatchEventRequest_Table_Filter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchEventRequest_Table_Filter) ProtoMessage() {}

func (x *WatchEventRequest_Table_Filter) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[195]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchEventRequest_Table_Filter.ProtoReflect.Descriptor instead.
func (*WatchEventRequest_Table_Filter) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{6, 1, 0}
}

func (x *WatchEventRequest_Table_Filter) GetType() WatchEventRequest_Table_Filter_Type {
	if x != nil {
		return x.Type
	}
	return WatchEventRequest_Table_Filter_TYPE_UNSPECIFIED
}

func (x *WatchEventRequest_Table_Filter) GetInit() bool {
	if x != nil {
		return x.Init
	}
	return false
}

func (x *WatchEventRequest_Table_Filter) GetPeerAddress() string {
	if x != nil {
		return x.PeerAddress
	}
	return ""
}

func (x *WatchEventRequest_Table_Filter) GetPeerGroup() string {
	if x != nil {
		return x.PeerGroup
	}
	return ""
}

type WatchEventResponse_PeerEvent struct {
	state         protoimpl.MessageState            `protogen:"open.v1"`
	Type          WatchEventResponse_PeerEvent_Type `protobuf:"varint,1,opt,name=type,proto3,enum=api.WatchEventResponse_PeerEvent_Type" json:"type,omitempty"`
	Peer          *Peer                             `protobuf:"bytes,2,opt,name=peer,proto3" json:"peer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WatchEventResponse_PeerEvent) Reset() {
	*x = WatchEventResponse_PeerEvent{}
	mi := &file_api_gobgp_proto_msgTypes[196]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WatchEventResponse_PeerEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchEventResponse_PeerEvent) ProtoMessage() {}

func (x *WatchEventResponse_PeerEvent) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[196]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchEventResponse_PeerEvent.ProtoReflect.Descriptor instead.
func (*WatchEventResponse_PeerEvent) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{7, 0}
}

func (x *WatchEventResponse_PeerEvent) GetType() WatchEventResponse_PeerEvent_Type {
	if x != nil {
		return x.Type
	}
	return WatchEventResponse_PeerEvent_TYPE_UNSPECIFIED
}

func (x *WatchEventResponse_PeerEvent) GetPeer() *Peer {
	if x != nil {
		return x.Peer
	}
	return nil
}

type WatchEventResponse_TableEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Paths         []*Path                `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WatchEventResponse_TableEvent) Reset() {
	*x = WatchEventResponse_TableEvent{}
	mi := &file_api_gobgp_proto_msgTypes[197]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WatchEventResponse_TableEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WatchEventResponse_TableEvent) ProtoMessage() {}

func (x *WatchEventResponse_TableEvent) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[197]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WatchEventResponse_TableEvent.ProtoReflect.Descriptor instead.
func (*WatchEventResponse_TableEvent) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{7, 1}
}

func (x *WatchEventResponse_TableEvent) GetPaths() []*Path {
	if x != nil {
		return x.Paths
	}
	return nil
}

type ListBmpResponse_BmpStation struct {
	state         protoimpl.MessageState            `protogen:"open.v1"`
	Conf          *ListBmpResponse_BmpStation_Conf  `protobuf:"bytes,1,opt,name=conf,proto3" json:"conf,omitempty"`
	State         *ListBmpResponse_BmpStation_State `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListBmpResponse_BmpStation) Reset() {
	*x = ListBmpResponse_BmpStation{}
	mi := &file_api_gobgp_proto_msgTypes[198]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListBmpResponse_BmpStation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBmpResponse_BmpStation) ProtoMessage() {}

func (x *ListBmpResponse_BmpStation) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[198]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBmpResponse_BmpStation.ProtoReflect.Descriptor instead.
func (*ListBmpResponse_BmpStation) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{108, 0}
}

func (x *ListBmpResponse_BmpStation) GetConf() *ListBmpResponse_BmpStation_Conf {
	if x != nil {
		return x.Conf
	}
	return nil
}

func (x *ListBmpResponse_BmpStation) GetState() *ListBmpResponse_BmpStation_State {
	if x != nil {
		return x.State
	}
	return nil
}

type ListBmpResponse_BmpStation_Conf struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Address       string                 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	Port          uint32                 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListBmpResponse_BmpStation_Conf) Reset() {
	*x = ListBmpResponse_BmpStation_Conf{}
	mi := &file_api_gobgp_proto_msgTypes[199]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListBmpResponse_BmpStation_Conf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBmpResponse_BmpStation_Conf) ProtoMessage() {}

func (x *ListBmpResponse_BmpStation_Conf) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[199]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBmpResponse_BmpStation_Conf.ProtoReflect.Descriptor instead.
func (*ListBmpResponse_BmpStation_Conf) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{108, 0, 0}
}

func (x *ListBmpResponse_BmpStation_Conf) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *ListBmpResponse_BmpStation_Conf) GetPort() uint32 {
	if x != nil {
		return x.Port
	}
	return 0
}

type ListBmpResponse_BmpStation_State struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Uptime        *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=uptime,proto3" json:"uptime,omitempty"`
	Downtime      *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=downtime,proto3" json:"downtime,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListBmpResponse_BmpStation_State) Reset() {
	*x = ListBmpResponse_BmpStation_State{}
	mi := &file_api_gobgp_proto_msgTypes[200]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListBmpResponse_BmpStation_State) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBmpResponse_BmpStation_State) ProtoMessage() {}

func (x *ListBmpResponse_BmpStation_State) ProtoReflect() protoreflect.Message {
	mi := &file_api_gobgp_proto_msgTypes[200]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBmpResponse_BmpStation_State.ProtoReflect.Descriptor instead.
func (*ListBmpResponse_BmpStation_State) Descriptor() ([]byte, []int) {
	return file_api_gobgp_proto_rawDescGZIP(), []int{108, 0, 1}
}

func (x *ListBmpResponse_BmpStation_State) GetUptime() *timestamppb.Timestamp {
	if x != nil {
		return x.Uptime
	}
	return nil
}

func (x *ListBmpResponse_BmpStation_State) GetDowntime() *timestamppb.Timestamp {
	if x != nil {
		return x.Downtime
	}
	return nil
}

var File_api_gobgp_proto protoreflect.FileDescriptor

const file_api_gobgp_proto_rawDesc = "" +
	"\n" +
	"\x0fapi/gobgp.proto\x12\x03api\x1a\x13api/attribute.proto\x1a\x14api/capability.proto\x1a\x10api/common.proto\x1a\x10api/extcom.proto\x1a\x0eapi/nlri.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"6\n" +
	"\x0fStartBgpRequest\x12#\n" +
	"\x06global\x18\x01 \x01(\v2\v.api.GlobalR\x06global\"\x12\n" +
	"\x10StartBgpResponse\"F\n" +
	"\x0eStopBgpRequest\x124\n" +
	"\x16allow_graceful_restart\x18\x01 \x01(\bR\x14allowGracefulRestart\"\x11\n" +
	"\x0fStopBgpResponse\"\x0f\n" +
	"\rGetBgpRequest\"5\n" +
	"\x0eGetBgpResponse\x12#\n" +
	"\x06global\x18\x01 \x01(\v2\v.api.GlobalR\x06global\"\xe8\x03\n" +
	"\x11WatchEventRequest\x12/\n" +
	"\x04peer\x18\x01 \x01(\v2\x1b.api.WatchEventRequest.PeerR\x04peer\x122\n" +
	"\x05table\x18\x02 \x01(\v2\x1c.api.WatchEventRequest.TableR\x05table\x12\x1d\n" +
	"\n" +
	"batch_size\x18\x03 \x01(\rR\tbatchSize\x1a\x06\n" +
	"\x04Peer\x1a\xc6\x02\n" +
	"\x05Table\x12=\n" +
	"\afilters\x18\x01 \x03(\v2#.api.WatchEventRequest.Table.FilterR\afilters\x1a\xfd\x01\n" +
	"\x06Filter\x12<\n" +
	"\x04type\x18\x01 \x01(\x0e2(.api.WatchEventRequest.Table.Filter.TypeR\x04type\x12\x12\n" +
	"\x04init\x18\x02 \x01(\bR\x04init\x12!\n" +
	"\fpeer_address\x18\x03 \x01(\tR\vpeerAddress\x12\x1d\n" +
	"\n" +
	"peer_group\x18\x04 \x01(\tR\tpeerGroup\"_\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\r\n" +
	"\tTYPE_BEST\x10\x01\x12\x0e\n" +
	"\n" +
	"TYPE_ADJIN\x10\x02\x12\x14\n" +
	"\x10TYPE_POST_POLICY\x10\x03\x12\f\n" +
	"\bTYPE_EOR\x10\x04\"\xfd\x02\n" +
	"\x12WatchEventResponse\x127\n" +
	"\x04peer\x18\x02 \x01(\v2!.api.WatchEventResponse.PeerEventH\x00R\x04peer\x12:\n" +
	"\x05table\x18\x03 \x01(\v2\".api.WatchEventResponse.TableEventH\x00R\x05table\x1a\xb9\x01\n" +
	"\tPeerEvent\x12:\n" +
	"\x04type\x18\x01 \x01(\x0e2&.api.WatchEventResponse.PeerEvent.TypeR\x04type\x12\x1d\n" +
	"\x04peer\x18\x02 \x01(\v2\t.api.PeerR\x04peer\"Q\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\r\n" +
	"\tTYPE_INIT\x10\x01\x12\x14\n" +
	"\x10TYPE_END_OF_INIT\x10\x02\x12\x0e\n" +
	"\n" +
	"TYPE_STATE\x10\x03\x1a-\n" +
	"\n" +
	"TableEvent\x12\x1f\n" +
	"\x05paths\x18\x02 \x03(\v2\t.api.PathR\x05pathsB\a\n" +
	"\x05event\"/\n" +
	"\x0eAddPeerRequest\x12\x1d\n" +
	"\x04peer\x18\x01 \x01(\v2\t.api.PeerR\x04peer\"\x11\n" +
	"\x0fAddPeerResponse\"K\n" +
	"\x11DeletePeerRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x1c\n" +
	"\tinterface\x18\x02 \x01(\tR\tinterface\"\x14\n" +
	"\x12DeletePeerResponse\"X\n" +
	"\x0fListPeerRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12+\n" +
	"\x11enable_advertised\x18\x02 \x01(\bR\x10enableAdvertised\"1\n" +
	"\x10ListPeerResponse\x12\x1d\n" +
	"\x04peer\x18\x01 \x01(\v2\t.api.PeerR\x04peer\"[\n" +
	"\x11UpdatePeerRequest\x12\x1d\n" +
	"\x04peer\x18\x01 \x01(\v2\t.api.PeerR\x04peer\x12'\n" +
	"\x10do_soft_reset_in\x18\x02 \x01(\bR\rdoSoftResetIn\"C\n" +
	"\x12UpdatePeerResponse\x12-\n" +
	"\x13needs_soft_reset_in\x18\x01 \x01(\bR\x10needsSoftResetIn\"\x86\x02\n" +
	"\x10ResetPeerRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12$\n" +
	"\rcommunication\x18\x02 \x01(\tR\rcommunication\x12\x12\n" +
	"\x04soft\x18\x03 \x01(\bR\x04soft\x12=\n" +
	"\tdirection\x18\x04 \x01(\x0e2\x1f.api.ResetPeerRequest.DirectionR\tdirection\"_\n" +
	"\tDirection\x12\x19\n" +
	"\x15DIRECTION_UNSPECIFIED\x10\x00\x12\x10\n" +
	"\fDIRECTION_IN\x10\x01\x12\x11\n" +
	"\rDIRECTION_OUT\x10\x02\x12\x12\n" +
	"\x0eDIRECTION_BOTH\x10\x03\"\x13\n" +
	"\x11ResetPeerResponse\"U\n" +
	"\x13ShutdownPeerRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12$\n" +
	"\rcommunication\x18\x02 \x01(\tR\rcommunication\"\x16\n" +
	"\x14ShutdownPeerResponse\"-\n" +
	"\x11EnablePeerRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\"\x14\n" +
	"\x12EnablePeerResponse\"T\n" +
	"\x12DisablePeerRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12$\n" +
	"\rcommunication\x18\x02 \x01(\tR\rcommunication\"\x15\n" +
	"\x13DisablePeerResponse\"D\n" +
	"\x13AddPeerGroupRequest\x12-\n" +
	"\n" +
	"peer_group\x18\x01 \x01(\v2\x0e.api.PeerGroupR\tpeerGroup\"\x16\n" +
	"\x14AddPeerGroupResponse\",\n" +
	"\x16DeletePeerGroupRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"\x19\n" +
	"\x17DeletePeerGroupResponse\"p\n" +
	"\x16UpdatePeerGroupRequest\x12-\n" +
	"\n" +
	"peer_group\x18\x01 \x01(\v2\x0e.api.PeerGroupR\tpeerGroup\x12'\n" +
	"\x10do_soft_reset_in\x18\x02 \x01(\bR\rdoSoftResetIn\"H\n" +
	"\x17UpdatePeerGroupResponse\x12-\n" +
	"\x13needs_soft_reset_in\x18\x01 \x01(\bR\x10needsSoftResetIn\">\n" +
	"\x14ListPeerGroupRequest\x12&\n" +
	"\x0fpeer_group_name\x18\x01 \x01(\tR\rpeerGroupName\"F\n" +
	"\x15ListPeerGroupResponse\x12-\n" +
	"\n" +
	"peer_group\x18\x01 \x01(\v2\x0e.api.PeerGroupR\tpeerGroup\"\\\n" +
	"\x19AddDynamicNeighborRequest\x12?\n" +
	"\x10dynamic_neighbor\x18\x01 \x01(\v2\x14.api.DynamicNeighborR\x0fdynamicNeighbor\"\x1c\n" +
	"\x1aAddDynamicNeighborResponse\"U\n" +
	"\x1cDeleteDynamicNeighborRequest\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x1d\n" +
	"\n" +
	"peer_group\x18\x02 \x01(\tR\tpeerGroup\"\x1f\n" +
	"\x1dDeleteDynamicNeighborResponse\";\n" +
	"\x1aListDynamicNeighborRequest\x12\x1d\n" +
	"\n" +
	"peer_group\x18\x01 \x01(\tR\tpeerGroup\"^\n" +
	"\x1bListDynamicNeighborResponse\x12?\n" +
	"\x10dynamic_neighbor\x18\x01 \x01(\v2\x14.api.DynamicNeighborR\x0fdynamicNeighbor\"u\n" +
	"\x0eAddPathRequest\x12-\n" +
	"\n" +
	"table_type\x18\x01 \x01(\x0e2\x0e.api.TableTypeR\ttableType\x12\x15\n" +
	"\x06vrf_id\x18\x02 \x01(\tR\x05vrfId\x12\x1d\n" +
	"\x04path\x18\x03 \x01(\v2\t.api.PathR\x04path\"%\n" +
	"\x0fAddPathResponse\x12\x12\n" +
	"\x04uuid\x18\x01 \x01(\fR\x04uuid\"\xb1\x01\n" +
	"\x11DeletePathRequest\x12-\n" +
	"\n" +
	"table_type\x18\x01 \x01(\x0e2\x0e.api.TableTypeR\ttableType\x12\x15\n" +
	"\x06vrf_id\x18\x02 \x01(\tR\x05vrfId\x12#\n" +
	"\x06family\x18\x03 \x01(\v2\v.api.FamilyR\x06family\x12\x1d\n" +
	"\x04path\x18\x04 \x01(\v2\t.api.PathR\x04path\x12\x12\n" +
	"\x04uuid\x18\x05 \x01(\fR\x04uuid\"\x14\n" +
	"\x12DeletePathResponse\"\xbd\x01\n" +
	"\x11TableLookupPrefix\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12/\n" +
	"\x04type\x18\x02 \x01(\x0e2\x1b.api.TableLookupPrefix.TypeR\x04type\x12\x0e\n" +
	"\x02rd\x18\x03 \x01(\tR\x02rd\"O\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\x0e\n" +
	"\n" +
	"TYPE_EXACT\x10\x01\x12\x0f\n" +
	"\vTYPE_LONGER\x10\x02\x12\x10\n" +
	"\fTYPE_SHORTER\x10\x03\"\x82\x04\n" +
	"\x0fListPathRequest\x12-\n" +
	"\n" +
	"table_type\x18\x01 \x01(\x0e2\x0e.api.TableTypeR\ttableType\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12#\n" +
	"\x06family\x18\x03 \x01(\v2\v.api.FamilyR\x06family\x122\n" +
	"\bprefixes\x18\x04 \x03(\v2\x16.api.TableLookupPrefixR\bprefixes\x12:\n" +
	"\tsort_type\x18\x05 \x01(\x0e2\x1d.api.ListPathRequest.SortTypeR\bsortType\x12'\n" +
	"\x0fenable_filtered\x18\x06 \x01(\bR\x0eenableFiltered\x12,\n" +
	"\x12enable_nlri_binary\x18\a \x01(\bR\x10enableNlriBinary\x126\n" +
	"\x17enable_attribute_binary\x18\b \x01(\bR\x15enableAttributeBinary\x12,\n" +
	"\x12enable_only_binary\x18\t \x01(\bR\x10enableOnlyBinary\x12\x1d\n" +
	"\n" +
	"batch_size\x18\n" +
	" \x01(\x04R\tbatchSize\";\n" +
	"\bSortType\x12\x19\n" +
	"\x15SORT_TYPE_UNSPECIFIED\x10\x00\x12\x14\n" +
	"\x10SORT_TYPE_PREFIX\x10\x01\"F\n" +
	"\x10ListPathResponse\x122\n" +
	"\vdestination\x18\x01 \x01(\v2\x10.api.DestinationR\vdestination\"}\n" +
	"\x14AddPathStreamRequest\x12-\n" +
	"\n" +
	"table_type\x18\x01 \x01(\x0e2\x0e.api.TableTypeR\ttableType\x12\x15\n" +
	"\x06vrf_id\x18\x02 \x01(\tR\x05vrfId\x12\x1f\n" +
	"\x05paths\x18\x03 \x03(\v2\t.api.PathR\x05paths\"\x17\n" +
	"\x15AddPathStreamResponse\"y\n" +
	"\x0fGetTableRequest\x12-\n" +
	"\n" +
	"table_type\x18\x01 \x01(\x0e2\x0e.api.TableTypeR\ttableType\x12#\n" +
	"\x06family\x18\x02 \x01(\v2\v.api.FamilyR\x06family\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\"y\n" +
	"\x10GetTableResponse\x12'\n" +
	"\x0fnum_destination\x18\x01 \x01(\x04R\x0enumDestination\x12\x19\n" +
	"\bnum_path\x18\x02 \x01(\x04R\anumPath\x12!\n" +
	"\fnum_accepted\x18\x03 \x01(\x04R\vnumAccepted\"+\n" +
	"\rAddVrfRequest\x12\x1a\n" +
	"\x03vrf\x18\x01 \x01(\v2\b.api.VrfR\x03vrf\"\x10\n" +
	"\x0eAddVrfResponse\"&\n" +
	"\x10DeleteVrfRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"\x13\n" +
	"\x11DeleteVrfResponse\"$\n" +
	"\x0eListVrfRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"-\n" +
	"\x0fListVrfResponse\x12\x1a\n" +
	"\x03vrf\x18\x01 \x01(\v2\b.api.VrfR\x03vrf\"s\n" +
	"\x10AddPolicyRequest\x12#\n" +
	"\x06policy\x18\x01 \x01(\v2\v.api.PolicyR\x06policy\x12:\n" +
	"\x19refer_existing_statements\x18\x02 \x01(\bR\x17referExistingStatements\"\x13\n" +
	"\x11AddPolicyResponse\"}\n" +
	"\x13DeletePolicyRequest\x12#\n" +
	"\x06policy\x18\x01 \x01(\v2\v.api.PolicyR\x06policy\x12/\n" +
	"\x13preserve_statements\x18\x02 \x01(\bR\x12preserveStatements\x12\x10\n" +
	"\x03all\x18\x03 \x01(\bR\x03all\"\x16\n" +
	"\x14DeletePolicyResponse\"'\n" +
	"\x11ListPolicyRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"9\n" +
	"\x12ListPolicyResponse\x12#\n" +
	"\x06policy\x18\x01 \x01(\v2\v.api.PolicyR\x06policy\"\xaa\x01\n" +
	"\x12SetPoliciesRequest\x122\n" +
	"\fdefined_sets\x18\x01 \x03(\v2\x0f.api.DefinedSetR\vdefinedSets\x12'\n" +
	"\bpolicies\x18\x02 \x03(\v2\v.api.PolicyR\bpolicies\x127\n" +
	"\vassignments\x18\x03 \x03(\v2\x15.api.PolicyAssignmentR\vassignments\"\x15\n" +
	"\x13SetPoliciesResponse\"b\n" +
	"\x14AddDefinedSetRequest\x120\n" +
	"\vdefined_set\x18\x01 \x01(\v2\x0f.api.DefinedSetR\n" +
	"definedSet\x12\x18\n" +
	"\areplace\x18\x02 \x01(\bR\areplace\"\x17\n" +
	"\x15AddDefinedSetResponse\"]\n" +
	"\x17DeleteDefinedSetRequest\x120\n" +
	"\vdefined_set\x18\x01 \x01(\v2\x0f.api.DefinedSetR\n" +
	"definedSet\x12\x10\n" +
	"\x03all\x18\x02 \x01(\bR\x03all\"\x1a\n" +
	"\x18DeleteDefinedSetResponse\"`\n" +
	"\x15ListDefinedSetRequest\x123\n" +
	"\fdefined_type\x18\x01 \x01(\x0e2\x10.api.DefinedTypeR\vdefinedType\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\"J\n" +
	"\x16ListDefinedSetResponse\x120\n" +
	"\vdefined_set\x18\x01 \x01(\v2\x0f.api.DefinedSetR\n" +
	"definedSet\"C\n" +
	"\x13AddStatementRequest\x12,\n" +
	"\tstatement\x18\x01 \x01(\v2\x0e.api.StatementR\tstatement\"\x16\n" +
	"\x14AddStatementResponse\"X\n" +
	"\x16DeleteStatementRequest\x12,\n" +
	"\tstatement\x18\x01 \x01(\v2\x0e.api.StatementR\tstatement\x12\x10\n" +
	"\x03all\x18\x02 \x01(\bR\x03all\"\x19\n" +
	"\x17DeleteStatementResponse\"*\n" +
	"\x14ListStatementRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\"E\n" +
	"\x15ListStatementResponse\x12,\n" +
	"\tstatement\x18\x01 \x01(\v2\x0e.api.StatementR\tstatement\"S\n" +
	"\x1aAddPolicyAssignmentRequest\x125\n" +
	"\n" +
	"assignment\x18\x01 \x01(\v2\x15.api.PolicyAssignmentR\n" +
	"assignment\"\x1d\n" +
	"\x1bAddPolicyAssignmentResponse\"h\n" +
	"\x1dDeletePolicyAssignmentRequest\x125\n" +
	"\n" +
	"assignment\x18\x01 \x01(\v2\x15.api.PolicyAssignmentR\n" +
	"assignment\x12\x10\n" +
	"\x03all\x18\x02 \x01(\bR\x03all\" \n" +
	"\x1eDeletePolicyAssignmentResponse\"e\n" +
	"\x1bListPolicyAssignmentRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x122\n" +
	"\tdirection\x18\x02 \x01(\x0e2\x14.api.PolicyDirectionR\tdirection\"U\n" +
	"\x1cListPolicyAssignmentResponse\x125\n" +
	"\n" +
	"assignment\x18\x01 \x01(\v2\x15.api.PolicyAssignmentR\n" +
	"assignment\"S\n" +
	"\x1aSetPolicyAssignmentRequest\x125\n" +
	"\n" +
	"assignment\x18\x01 \x01(\v2\x15.api.PolicyAssignmentR\n" +
	"assignment\"\x1d\n" +
	"\x1bSetPolicyAssignmentResponse\"Z\n" +
	"\x0eAddRpkiRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x12\n" +
	"\x04port\x18\x02 \x01(\rR\x04port\x12\x1a\n" +
	"\blifetime\x18\x03 \x01(\x03R\blifetime\"\x11\n" +
	"\x0fAddRpkiResponse\"A\n" +
	"\x11DeleteRpkiRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x12\n" +
	"\x04port\x18\x02 \x01(\rR\x04port\"\x14\n" +
	"\x12DeleteRpkiResponse\"6\n" +
	"\x0fListRpkiRequest\x12#\n" +
	"\x06family\x18\x01 \x01(\v2\v.api.FamilyR\x06family\"5\n" +
	"\x10ListRpkiResponse\x12!\n" +
	"\x06server\x18\x01 \x01(\v2\t.api.RpkiR\x06server\"A\n" +
	"\x11EnableRpkiRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x12\n" +
	"\x04port\x18\x02 \x01(\rR\x04port\"\x14\n" +
	"\x12EnableRpkiResponse\"B\n" +
	"\x12DisableRpkiRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x12\n" +
	"\x04port\x18\x02 \x01(\rR\x04port\"\x15\n" +
	"\x13DisableRpkiResponse\"T\n" +
	"\x10ResetRpkiRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x12\n" +
	"\x04port\x18\x02 \x01(\rR\x04port\x12\x12\n" +
	"\x04soft\x18\x03 \x01(\bR\x04soft\"\x13\n" +
	"\x11ResetRpkiResponse\";\n" +
	"\x14ListRpkiTableRequest\x12#\n" +
	"\x06family\x18\x01 \x01(\v2\v.api.FamilyR\x06family\"3\n" +
	"\x15ListRpkiTableResponse\x12\x1a\n" +
	"\x03roa\x18\x01 \x01(\v2\b.api.RoaR\x03roa\"\xa3\x02\n" +
	"\x12EnableZebraRequest\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\x12\x1f\n" +
	"\vroute_types\x18\x02 \x03(\tR\n" +
	"routeTypes\x12\x18\n" +
	"\aversion\x18\x03 \x01(\rR\aversion\x124\n" +
	"\x16nexthop_trigger_enable\x18\x04 \x01(\bR\x14nexthopTriggerEnable\x122\n" +
	"\x15nexthop_trigger_delay\x18\x05 \x01(\rR\x13nexthopTriggerDelay\x121\n" +
	"\x15mpls_label_range_size\x18\x06 \x01(\rR\x12mplsLabelRangeSize\x12#\n" +
	"\rsoftware_name\x18\a \x01(\tR\fsoftwareName\"\x15\n" +
	"\x13EnableZebraResponse\"\x90\x02\n" +
	"\x10EnableMrtRequest\x12;\n" +
	"\tdump_type\x18\x01 \x01(\x0e2\x1e.api.EnableMrtRequest.DumpTypeR\bdumpType\x12\x1a\n" +
	"\bfilename\x18\x02 \x01(\tR\bfilename\x12#\n" +
	"\rdump_interval\x18\x03 \x01(\x04R\fdumpInterval\x12+\n" +
	"\x11rotation_interval\x18\x04 \x01(\x04R\x10rotationInterval\"Q\n" +
	"\bDumpType\x12\x19\n" +
	"\x15DUMP_TYPE_UNSPECIFIED\x10\x00\x12\x15\n" +
	"\x11DUMP_TYPE_UPDATES\x10\x01\x12\x13\n" +
	"\x0fDUMP_TYPE_TABLE\x10\x02\"\x13\n" +
	"\x11EnableMrtResponse\"/\n" +
	"\x11DisableMrtRequest\x12\x1a\n" +
	"\bfilename\x18\x01 \x01(\tR\bfilename\"\x14\n" +
	"\x12DisableMrtResponse\"\xa4\x03\n" +
	"\rAddBmpRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x12\n" +
	"\x04port\x18\x02 \x01(\rR\x04port\x12;\n" +
	"\x06policy\x18\x03 \x01(\x0e2#.api.AddBmpRequest.MonitoringPolicyR\x06policy\x12-\n" +
	"\x12statistics_timeout\x18\x04 \x01(\x05R\x11statisticsTimeout\x12\x19\n" +
	"\bsys_name\x18\x05 \x01(\tR\asysName\x12\x1b\n" +
	"\tsys_descr\x18\x06 \x01(\tR\bsysDescr\"\xc0\x01\n" +
	"\x10MonitoringPolicy\x12!\n" +
	"\x1dMONITORING_POLICY_UNSPECIFIED\x10\x00\x12\x19\n" +
	"\x15MONITORING_POLICY_PRE\x10\x01\x12\x1a\n" +
	"\x16MONITORING_POLICY_POST\x10\x02\x12\x1a\n" +
	"\x16MONITORING_POLICY_BOTH\x10\x03\x12\x1b\n" +
	"\x17MONITORING_POLICY_LOCAL\x10\x04\x12\x19\n" +
	"\x15MONITORING_POLICY_ALL\x10\x05\"\x10\n" +
	"\x0eAddBmpResponse\"@\n" +
	"\x10DeleteBmpRequest\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x12\n" +
	"\x04port\x18\x02 \x01(\rR\x04port\"\x13\n" +
	"\x11DeleteBmpResponse\"\x10\n" +
	"\x0eListBmpRequest\"\xfd\x02\n" +
	"\x0fListBmpResponse\x129\n" +
	"\astation\x18\x01 \x01(\v2\x1f.api.ListBmpResponse.BmpStationR\astation\x1a\xae\x02\n" +
	"\n" +
	"BmpStation\x128\n" +
	"\x04conf\x18\x01 \x01(\v2$.api.ListBmpResponse.BmpStation.ConfR\x04conf\x12;\n" +
	"\x05state\x18\x02 \x01(\v2%.api.ListBmpResponse.BmpStation.StateR\x05state\x1a4\n" +
	"\x04Conf\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x12\n" +
	"\x04port\x18\x02 \x01(\rR\x04port\x1as\n" +
	"\x05State\x122\n" +
	"\x06uptime\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x06uptime\x126\n" +
	"\bdowntime\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\bdowntime\"\xc6\x02\n" +
	"\n" +
	"Validation\x12*\n" +
	"\x05state\x18\x01 \x01(\x0e2\x14.api.ValidationStateR\x05state\x12.\n" +
	"\x06reason\x18\x02 \x01(\x0e2\x16.api.Validation.ReasonR\x06reason\x12\"\n" +
	"\amatched\x18\x03 \x03(\v2\b.api.RoaR\amatched\x12-\n" +
	"\runmatched_asn\x18\x04 \x03(\v2\b.api.RoaR\funmatchedAsn\x123\n" +
	"\x10unmatched_length\x18\x05 \x03(\v2\b.api.RoaR\x0funmatchedLength\"T\n" +
	"\x06Reason\x12\x16\n" +
	"\x12REASON_UNSPECIFIED\x10\x00\x12\x0f\n" +
	"\vREASON_NONE\x10\x01\x12\x0e\n" +
	"\n" +
	"REASON_ASN\x10\x02\x12\x11\n" +
	"\rREASON_LENGTH\x10\x03\"\xf0\x05\n" +
	"\x04Path\x12\x1d\n" +
	"\x04nlri\x18\x01 \x01(\v2\t.api.NLRIR\x04nlri\x12&\n" +
	"\x06pattrs\x18\x02 \x03(\v2\x0e.api.AttributeR\x06pattrs\x12,\n" +
	"\x03age\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x03age\x12\x12\n" +
	"\x04best\x18\x04 \x01(\bR\x04best\x12\x1f\n" +
	"\vis_withdraw\x18\x05 \x01(\bR\n" +
	"isWithdraw\x12/\n" +
	"\n" +
	"validation\x18\a \x01(\v2\x0f.api.ValidationR\n" +
	"validation\x120\n" +
	"\x14no_implicit_withdraw\x18\b \x01(\bR\x12noImplicitWithdraw\x12#\n" +
	"\x06family\x18\t \x01(\v2\v.api.FamilyR\x06family\x12\x1d\n" +
	"\n" +
	"source_asn\x18\n" +
	" \x01(\rR\tsourceAsn\x12\x1b\n" +
	"\tsource_id\x18\v \x01(\tR\bsourceId\x12\x1a\n" +
	"\bfiltered\x18\f \x01(\bR\bfiltered\x12\x14\n" +
	"\x05stale\x18\r \x01(\bR\x05stale\x12(\n" +
	"\x10is_from_external\x18\x0e \x01(\bR\x0eisFromExternal\x12\x1f\n" +
	"\vneighbor_ip\x18\x0f \x01(\tR\n" +
	"neighborIp\x12\x12\n" +
	"\x04uuid\x18\x10 \x01(\fR\x04uuid\x12,\n" +
	"\x12is_nexthop_invalid\x18\x11 \x01(\bR\x10isNexthopInvalid\x12\x1e\n" +
	"\n" +
	"identifier\x18\x12 \x01(\rR\n" +
	"identifier\x12)\n" +
	"\x10local_identifier\x18\x13 \x01(\rR\x0flocalIdentifier\x12\x1f\n" +
	"\vnlri_binary\x18\x14 \x01(\fR\n" +
	"nlriBinary\x12#\n" +
	"\rpattrs_binary\x18\x15 \x03(\fR\fpattrsBinary\x12*\n" +
	"\x11send_max_filtered\x18\x16 \x01(\bR\x0fsendMaxFiltered\"F\n" +
	"\vDestination\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x1f\n" +
	"\x05paths\x18\x02 \x03(\v2\t.api.PathR\x05paths\"\xc9\x04\n" +
	"\x04Peer\x123\n" +
	"\fapply_policy\x18\x01 \x01(\v2\x10.api.ApplyPolicyR\vapplyPolicy\x12!\n" +
	"\x04conf\x18\x02 \x01(\v2\r.api.PeerConfR\x04conf\x126\n" +
	"\rebgp_multihop\x18\x03 \x01(\v2\x11.api.EbgpMultihopR\febgpMultihop\x12<\n" +
	"\x0froute_reflector\x18\x04 \x01(\v2\x13.api.RouteReflectorR\x0erouteReflector\x12$\n" +
	"\x05state\x18\x05 \x01(\v2\x0e.api.PeerStateR\x05state\x12#\n" +
	"\x06timers\x18\x06 \x01(\v2\v.api.TimersR\x06timers\x12,\n" +
	"\ttransport\x18\a \x01(\v2\x0e.api.TransportR\ttransport\x123\n" +
	"\froute_server\x18\b \x01(\v2\x10.api.RouteServerR\vrouteServer\x12?\n" +
	"\x10graceful_restart\x18\t \x01(\v2\x14.api.GracefulRestartR\x0fgracefulRestart\x12)\n" +
	"\tafi_safis\x18\n" +
	" \x03(\v2\f.api.AfiSafiR\bafiSafis\x123\n" +
	"\fttl_security\x18\v \x01(\v2\x10.api.TtlSecurityR\vttlSecurity\x12$\n" +
	"\x03bfd\x18\f \x01(\v2\x12.api.BfdPeerConfigR\x03bfd\"\xd6\x04\n" +
	"\tPeerGroup\x123\n" +
	"\fapply_policy\x18\x01 \x01(\v2\x10.api.ApplyPolicyR\vapplyPolicy\x12&\n" +
	"\x04conf\x18\x02 \x01(\v2\x12.api.PeerGroupConfR\x04conf\x126\n" +
	"\rebgp_multihop\x18\x03 \x01(\v2\x11.api.EbgpMultihopR\febgpMultihop\x12<\n" +
	"\x0froute_reflector\x18\x04 \x01(\v2\x13.api.RouteReflectorR\x0erouteReflector\x12'\n" +
	"\x04info\x18\x05 \x01(\v2\x13.api.PeerGroupStateR\x04info\x12#\n" +
	"\x06timers\x18\x06 \x01(\v2\v.api.TimersR\x06timers\x12,\n" +
	"\ttransport\x18\a \x01(\v2\x0e.api.TransportR\ttransport\x123\n" +
	"\froute_server\x18\b \x01(\v2\x10.api.RouteServerR\vrouteServer\x12?\n" +
	"\x10graceful_restart\x18\t \x01(\v2\x14.api.GracefulRestartR\x0fgracefulRestart\x12)\n" +
	"\tafi_safis\x18\n" +
	" \x03(\v2\f.api.AfiSafiR\bafiSafis\x123\n" +
	"\fttl_security\x18\v \x01(\v2\x10.api.TtlSecurityR\vttlSecurity\x12$\n" +
	"\x03bfd\x18\f \x01(\v2\x12.api.BfdPeerConfigR\x03bfd\"H\n" +
	"\x0fDynamicNeighbor\x12\x16\n" +
	"\x06prefix\x18\x01 \x01(\tR\x06prefix\x12\x1d\n" +
	"\n" +
	"peer_group\x18\x02 \x01(\tR\tpeerGroup\"\x85\x01\n" +
	"\vApplyPolicy\x12:\n" +
	"\rexport_policy\x18\x01 \x01(\v2\x15.api.PolicyAssignmentR\fexportPolicy\x12:\n" +
	"\rimport_policy\x18\x02 \x01(\v2\x15.api.PolicyAssignmentR\fimportPolicy\"\x8b\x01\n" +
	"\vPrefixLimit\x12#\n" +
	"\x06family\x18\x01 \x01(\v2\v.api.FamilyR\x06family\x12!\n" +
	"\fmax_prefixes\x18\x02 \x01(\rR\vmaxPrefixes\x124\n" +
	"\x16shutdown_threshold_pct\x18\x03 \x01(\rR\x14shutdownThresholdPct\"\x9f\x05\n" +
	"\bPeerConf\x12#\n" +
	"\rauth_password\x18\x01 \x01(\tR\fauthPassword\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12\x1b\n" +
	"\tlocal_asn\x18\x03 \x01(\rR\blocalAsn\x12)\n" +
	"\x10neighbor_address\x18\x04 \x01(\tR\x0fneighborAddress\x12\x19\n" +
	"\bpeer_asn\x18\x05 \x01(\rR\apeerAsn\x12\x1d\n" +
	"\n" +
	"peer_group\x18\x06 \x01(\tR\tpeerGroup\x12!\n" +
	"\x04type\x18\a \x01(\x0e2\r.api.PeerTypeR\x04type\x129\n" +
	"\x0eremove_private\x18\b \x01(\x0e2\x12.api.RemovePrivateR\rremovePrivate\x12,\n" +
	"\x12route_flap_damping\x18\t \x01(\bR\x10routeFlapDamping\x12%\n" +
	"\x0esend_community\x18\n" +
	" \x01(\rR\rsendCommunity\x12-\n" +
	"\x12neighbor_interface\x18\v \x01(\tR\x11neighborInterface\x12\x10\n" +
	"\x03vrf\x18\f \x01(\tR\x03vrf\x12\"\n" +
	"\rallow_own_asn\x18\r \x01(\rR\vallowOwnAsn\x12(\n" +
	"\x10replace_peer_asn\x18\x0e \x01(\bR\x0ereplacePeerAsn\x12\x1d\n" +
	"\n" +
	"admin_down\x18\x0f \x01(\bR\tadminDown\x122\n" +
	"\x15send_software_version\x18\x10 \x01(\bR\x13sendSoftwareVersion\x125\n" +
	"\x17allow_aspath_loop_local\x18\x11 \x01(\bR\x14allowAspathLoopLocal\"\xa2\x04\n" +
	"\rPeerGroupConf\x12#\n" +
	"\rauth_password\x18\x01 \x01(\tR\fauthPassword\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12\x1b\n" +
	"\tlocal_asn\x18\x03 \x01(\rR\blocalAsn\x12\x19\n" +
	"\bpeer_asn\x18\x04 \x01(\rR\apeerAsn\x12&\n" +
	"\x0fpeer_group_name\x18\x05 \x01(\tR\rpeerGroupName\x12!\n" +
	"\x04type\x18\x06 \x01(\x0e2\r.api.PeerTypeR\x04type\x129\n" +
	"\x0eremove_private\x18\a \x01(\x0e2\x12.api.RemovePrivateR\rremovePrivate\x12,\n" +
	"\x12route_flap_damping\x18\b \x01(\bR\x10routeFlapDamping\x12%\n" +
	"\x0esend_community\x18\t \x01(\rR\rsendCommunity\x122\n" +
	"\x15send_software_version\x18\n" +
	" \x01(\bR\x13sendSoftwareVersion\x12\"\n" +
	"\rallow_own_asn\x18\v \x01(\rR\vallowOwnAsn\x12(\n" +
	"\x10replace_peer_asn\x18\f \x01(\bR\x0ereplacePeerAsn\x125\n" +
	"\x17allow_aspath_loop_local\x18\r \x01(\bR\x14allowAspathLoopLocal\"\xb2\x03\n" +
	"\x0ePeerGroupState\x12#\n" +
	"\rauth_password\x18\x01 \x01(\tR\fauthPassword\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12\x1b\n" +
	"\tlocal_asn\x18\x03 \x01(\rR\blocalAsn\x12\x19\n" +
	"\bpeer_asn\x18\x04 \x01(\rR\apeerAsn\x12&\n" +
	"\x0fpeer_group_name\x18\x05 \x01(\tR\rpeerGroupName\x12!\n" +
	"\x04type\x18\x06 \x01(\x0e2\r.api.PeerTypeR\x04type\x129\n" +
	"\x0eremove_private\x18\a \x01(\x0e2\x12.api.RemovePrivateR\rremovePrivate\x12,\n" +
	"\x12route_flap_damping\x18\b \x01(\bR\x10routeFlapDamping\x12%\n" +
	"\x0esend_community\x18\t \x01(\rR\rsendCommunity\x12\x1f\n" +
	"\vtotal_paths\x18\n" +
	" \x01(\rR\n" +
	"totalPaths\x12%\n" +
	"\x0etotal_prefixes\x18\v \x01(\rR\rtotalPrefixes\"@\n" +
	"\vTtlSecurity\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12\x17\n" +
	"\attl_min\x18\x02 \x01(\rR\x06ttlMin\"K\n" +
	"\fEbgpMultihop\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12!\n" +
	"\fmultihop_ttl\x18\x02 \x01(\rR\vmultihopTtl\"\x83\x01\n" +
	"\x0eRouteReflector\x124\n" +
	"\x16route_reflector_client\x18\x01 \x01(\bR\x14routeReflectorClient\x12;\n" +
	"\x1aroute_reflector_cluster_id\x18\x02 \x01(\tR\x17routeReflectorClusterId\"\x98\x0e\n" +
	"\tPeerState\x12#\n" +
	"\rauth_password\x18\x01 \x01(\tR\fauthPassword\x12 \n" +
	"\vdescription\x18\x02 \x01(\tR\vdescription\x12\x1b\n" +
	"\tlocal_asn\x18\x03 \x01(\rR\blocalAsn\x12)\n" +
	"\bmessages\x18\x04 \x01(\v2\r.api.MessagesR\bmessages\x12)\n" +
	"\x10neighbor_address\x18\x05 \x01(\tR\x0fneighborAddress\x12\x19\n" +
	"\bpeer_asn\x18\x06 \x01(\rR\apeerAsn\x12\x1d\n" +
	"\n" +
	"peer_group\x18\a \x01(\tR\tpeerGroup\x12!\n" +
	"\x04type\x18\b \x01(\x0e2\r.api.PeerTypeR\x04type\x12#\n" +
	"\x06queues\x18\t \x01(\v2\v.api.QueuesR\x06queues\x129\n" +
	"\x0eremove_private\x18\n" +
	" \x01(\x0e2\x12.api.RemovePrivateR\rremovePrivate\x12,\n" +
	"\x12route_flap_damping\x18\v \x01(\bR\x10routeFlapDamping\x12%\n" +
	"\x0esend_community\x18\f \x01(\rR\rsendCommunity\x12@\n" +
	"\rsession_state\x18\r \x01(\x0e2\x1b.api.PeerState.SessionStateR\fsessionState\x12:\n" +
	"\vadmin_state\x18\x0f \x01(\x0e2\x19.api.PeerState.AdminStateR\n" +
	"adminState\x12\x13\n" +
	"\x05out_q\x18\x10 \x01(\rR\x04outQ\x12\x14\n" +
	"\x05flops\x18\x11 \x01(\rR\x05flops\x12.\n" +
	"\n" +
	"remote_cap\x18\x12 \x03(\v2\x0f.api.CapabilityR\tremoteCap\x12,\n" +
	"\tlocal_cap\x18\x13 \x03(\v2\x0f.api.CapabilityR\blocalCap\x12\x1b\n" +
	"\trouter_id\x18\x14 \x01(\tR\brouterId\x12L\n" +
	"\x11disconnect_reason\x18\x15 \x01(\x0e2\x1f.api.PeerState.DisconnectReasonR\x10disconnectReason\x12-\n" +
	"\x12disconnect_message\x18\x16 \x01(\tR\x11disconnectMessage\x12.\n" +
	"\tbfd_state\x18\x17 \x01(\v2\x11.api.BfdPeerStateR\bbfdState\"\xd4\x01\n" +
	"\fSessionState\x12\x1d\n" +
	"\x19SESSION_STATE_UNSPECIFIED\x10\x00\x12\x16\n" +
	"\x12SESSION_STATE_IDLE\x10\x01\x12\x19\n" +
	"\x15SESSION_STATE_CONNECT\x10\x02\x12\x18\n" +
	"\x14SESSION_STATE_ACTIVE\x10\x03\x12\x1a\n" +
	"\x16SESSION_STATE_OPENSENT\x10\x04\x12\x1d\n" +
	"\x19SESSION_STATE_OPENCONFIRM\x10\x05\x12\x1d\n" +
	"\x19SESSION_STATE_ESTABLISHED\x10\x06\"k\n" +
	"\n" +
	"AdminState\x12\x1b\n" +
	"\x17ADMIN_STATE_UNSPECIFIED\x10\x00\x12\x12\n" +
	"\x0eADMIN_STATE_UP\x10\x01\x12\x14\n" +
	"\x10ADMIN_STATE_DOWN\x10\x02\x12\x16\n" +
	"\x12ADMIN_STATE_PFX_CT\x10\x03\"\xa9\x04\n" +
	"\x10DisconnectReason\x12!\n" +
	"\x1dDISCONNECT_REASON_UNSPECIFIED\x10\x00\x12 \n" +
	"\x1cDISCONNECT_REASON_ADMIN_DOWN\x10\x01\x12(\n" +
	"$DISCONNECT_REASON_HOLD_TIMER_EXPIRED\x10\x02\x12'\n" +
	"#DISCONNECT_REASON_NOTIFICATION_SENT\x10\x03\x12+\n" +
	"'DISCONNECT_REASON_NOTIFICATION_RECEIVED\x10\x04\x12!\n" +
	"\x1dDISCONNECT_REASON_READ_FAILED\x10\x05\x12\"\n" +
	"\x1eDISCONNECT_REASON_WRITE_FAILED\x10\x06\x12(\n" +
	"$DISCONNECT_REASON_IDLE_TIMER_EXPIRED\x10\a\x12+\n" +
	"'DISCONNECT_REASON_RESTART_TIMER_EXPIRED\x10\b\x12&\n" +
	"\"DISCONNECT_REASON_GRACEFUL_RESTART\x10\t\x12!\n" +
	"\x1dDISCONNECT_REASON_INVALID_MSG\x10\n" +
	"\x12 \n" +
	"\x1cDISCONNECT_REASON_HARD_RESET\x10\v\x12\"\n" +
	"\x1eDISCONNECT_REASON_DECONFIGURED\x10\f\x12!\n" +
	"\x1dDISCONNECT_REASON_BAD_PEER_AS\x10\r\"V\n" +
	"\bMessages\x12(\n" +
	"\breceived\x18\x01 \x01(\v2\f.api.MessageR\breceived\x12 \n" +
	"\x04sent\x18\x02 \x01(\v2\f.api.MessageR\x04sent\"\x97\x02\n" +
	"\aMessage\x12\"\n" +
	"\fnotification\x18\x01 \x01(\x04R\fnotification\x12\x16\n" +
	"\x06update\x18\x02 \x01(\x04R\x06update\x12\x12\n" +
	"\x04open\x18\x03 \x01(\x04R\x04open\x12\x1c\n" +
	"\tkeepalive\x18\x04 \x01(\x04R\tkeepalive\x12\x18\n" +
	"\arefresh\x18\x05 \x01(\x04R\arefresh\x12\x1c\n" +
	"\tdiscarded\x18\x06 \x01(\x04R\tdiscarded\x12\x14\n" +
	"\x05total\x18\a \x01(\x04R\x05total\x12'\n" +
	"\x0fwithdraw_update\x18\b \x01(\x04R\x0ewithdrawUpdate\x12'\n" +
	"\x0fwithdraw_prefix\x18\t \x01(\x04R\x0ewithdrawPrefix\"6\n" +
	"\x06Queues\x12\x14\n" +
	"\x05input\x18\x01 \x01(\rR\x05input\x12\x16\n" +
	"\x06output\x18\x02 \x01(\rR\x06output\"[\n" +
	"\x06Timers\x12)\n" +
	"\x06config\x18\x01 \x01(\v2\x11.api.TimersConfigR\x06config\x12&\n" +
	"\x05state\x18\x02 \x01(\v2\x10.api.TimersStateR\x05state\"\x81\x02\n" +
	"\fTimersConfig\x12#\n" +
	"\rconnect_retry\x18\x01 \x01(\x04R\fconnectRetry\x12\x1b\n" +
	"\thold_time\x18\x02 \x01(\x04R\bholdTime\x12-\n" +
	"\x12keepalive_interval\x18\x03 \x01(\x04R\x11keepaliveInterval\x12D\n" +
	"\x1eminimum_advertisement_interval\x18\x04 \x01(\x04R\x1cminimumAdvertisementInterval\x12:\n" +
	"\x1aidle_hold_time_after_reset\x18\x05 \x01(\x04R\x16idleHoldTimeAfterReset\"\xe2\x02\n" +
	"\vTimersState\x12#\n" +
	"\rconnect_retry\x18\x01 \x01(\x04R\fconnectRetry\x12\x1b\n" +
	"\thold_time\x18\x02 \x01(\x04R\bholdTime\x12-\n" +
	"\x12keepalive_interval\x18\x03 \x01(\x04R\x11keepaliveInterval\x12D\n" +
	"\x1eminimum_advertisement_interval\x18\x04 \x01(\x04R\x1cminimumAdvertisementInterval\x120\n" +
	"\x14negotiated_hold_time\x18\x05 \x01(\x04R\x12negotiatedHoldTime\x122\n" +
	"\x06uptime\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x06uptime\x126\n" +
	"\bdowntime\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\bdowntime\"\xb6\x02\n" +
	"\tTransport\x12#\n" +
	"\rlocal_address\x18\x01 \x01(\tR\flocalAddress\x12\x1d\n" +
	"\n" +
	"local_port\x18\x02 \x01(\rR\tlocalPort\x12#\n" +
	"\rmtu_discovery\x18\x03 \x01(\bR\fmtuDiscovery\x12!\n" +
	"\fpassive_mode\x18\x04 \x01(\bR\vpassiveMode\x12%\n" +
	"\x0eremote_address\x18\x05 \x01(\tR\rremoteAddress\x12\x1f\n" +
	"\vremote_port\x18\x06 \x01(\rR\n" +
	"remotePort\x12\x17\n" +
	"\atcp_mss\x18\a \x01(\rR\x06tcpMss\x12%\n" +
	"\x0ebind_interface\x18\b \x01(\tR\rbindInterface\x12\x15\n" +
	"\x06ip_tos\x18\t \x01(\rR\x05ipTos\"f\n" +
	"\vRouteServer\x12.\n" +
	"\x13route_server_client\x18\x01 \x01(\bR\x11routeServerClient\x12'\n" +
	"\x0fsecondary_route\x18\x02 \x01(\bR\x0esecondaryRoute\"\xb4\x03\n" +
	"\x0fGracefulRestart\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12!\n" +
	"\frestart_time\x18\x02 \x01(\rR\vrestartTime\x12\x1f\n" +
	"\vhelper_only\x18\x03 \x01(\bR\n" +
	"helperOnly\x12#\n" +
	"\rdeferral_time\x18\x04 \x01(\rR\fdeferralTime\x121\n" +
	"\x14notification_enabled\x18\x05 \x01(\bR\x13notificationEnabled\x12+\n" +
	"\x11longlived_enabled\x18\x06 \x01(\bR\x10longlivedEnabled\x12*\n" +
	"\x11stale_routes_time\x18\a \x01(\rR\x0fstaleRoutesTime\x12*\n" +
	"\x11peer_restart_time\x18\b \x01(\rR\x0fpeerRestartTime\x12'\n" +
	"\x0fpeer_restarting\x18\t \x01(\bR\x0epeerRestarting\x12)\n" +
	"\x10local_restarting\x18\n" +
	" \x01(\bR\x0flocalRestarting\x12\x12\n" +
	"\x04mode\x18\v \x01(\tR\x04mode\"3\n" +
	"\x17MpGracefulRestartConfig\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\"\xde\x01\n" +
	"\x16MpGracefulRestartState\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12\x1a\n" +
	"\breceived\x18\x02 \x01(\bR\breceived\x12\x1e\n" +
	"\n" +
	"advertised\x18\x03 \x01(\bR\n" +
	"advertised\x12-\n" +
	"\x13end_of_rib_received\x18\x04 \x01(\bR\x10endOfRibReceived\x12%\n" +
	"\x0fend_of_rib_sent\x18\x05 \x01(\bR\fendOfRibSent\x12\x18\n" +
	"\arunning\x18\x06 \x01(\bR\arunning\"|\n" +
	"\x11MpGracefulRestart\x124\n" +
	"\x06config\x18\x01 \x01(\v2\x1c.api.MpGracefulRestartConfigR\x06config\x121\n" +
	"\x05state\x18\x02 \x01(\v2\x1b.api.MpGracefulRestartStateR\x05state\"N\n" +
	"\rAfiSafiConfig\x12#\n" +
	"\x06family\x18\x01 \x01(\v2\v.api.FamilyR\x06family\x12\x18\n" +
	"\aenabled\x18\x02 \x01(\bR\aenabled\"\xa5\x01\n" +
	"\fAfiSafiState\x12#\n" +
	"\x06family\x18\x01 \x01(\v2\v.api.FamilyR\x06family\x12\x18\n" +
	"\aenabled\x18\x02 \x01(\bR\aenabled\x12\x1a\n" +
	"\breceived\x18\x03 \x01(\x04R\breceived\x12\x1a\n" +
	"\baccepted\x18\x04 \x01(\x04R\baccepted\x12\x1e\n" +
	"\n" +
	"advertised\x18\x05 \x01(\x04R\n" +
	"advertised\"\x93\x03\n" +
	"\x1bRouteSelectionOptionsConfig\x12,\n" +
	"\x12always_compare_med\x18\x01 \x01(\bR\x10alwaysCompareMed\x121\n" +
	"\x15ignore_as_path_length\x18\x02 \x01(\bR\x12ignoreAsPathLength\x12;\n" +
	"\x1aexternal_compare_router_id\x18\x03 \x01(\bR\x17externalCompareRouterId\x12:\n" +
	"\x19advertise_inactive_routes\x18\x04 \x01(\bR\x17advertiseInactiveRoutes\x12\x1f\n" +
	"\venable_aigp\x18\x05 \x01(\bR\n" +
	"enableAigp\x12:\n" +
	"\x1aignore_next_hop_igp_metric\x18\x06 \x01(\bR\x16ignoreNextHopIgpMetric\x12=\n" +
	"\x1bdisable_best_path_selection\x18\a \x01(\bR\x18disableBestPathSelection\"\x92\x03\n" +
	"\x1aRouteSelectionOptionsState\x12,\n" +
	"\x12always_compare_med\x18\x01 \x01(\bR\x10alwaysCompareMed\x121\n" +
	"\x15ignore_as_path_length\x18\x02 \x01(\bR\x12ignoreAsPathLength\x12;\n" +
	"\x1aexternal_compare_router_id\x18\x03 \x01(\bR\x17externalCompareRouterId\x12:\n" +
	"\x19advertise_inactive_routes\x18\x04 \x01(\bR\x17advertiseInactiveRoutes\x12\x1f\n" +
	"\venable_aigp\x18\x05 \x01(\bR\n" +
	"enableAigp\x12:\n" +
	"\x1aignore_next_hop_igp_metric\x18\x06 \x01(\bR\x16ignoreNextHopIgpMetric\x12=\n" +
	"\x1bdisable_best_path_selection\x18\a \x01(\bR\x18disableBestPathSelection\"\x88\x01\n" +
	"\x15RouteSelectionOptions\x128\n" +
	"\x06config\x18\x01 \x01(\v2 .api.RouteSelectionOptionsConfigR\x06config\x125\n" +
	"\x05state\x18\x02 \x01(\v2\x1f.api.RouteSelectionOptionsStateR\x05state\"2\n" +
	"\x16UseMultiplePathsConfig\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\"1\n" +
	"\x15UseMultiplePathsState\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\"_\n" +
	"\n" +
	"EbgpConfig\x12,\n" +
	"\x12allow_multiple_asn\x18\x01 \x01(\bR\x10allowMultipleAsn\x12#\n" +
	"\rmaximum_paths\x18\x02 \x01(\rR\fmaximumPaths\"^\n" +
	"\tEbgpState\x12,\n" +
	"\x12allow_multiple_asn\x18\x01 \x01(\bR\x10allowMultipleAsn\x12#\n" +
	"\rmaximum_paths\x18\x02 \x01(\rR\fmaximumPaths\"U\n" +
	"\x04Ebgp\x12'\n" +
	"\x06config\x18\x01 \x01(\v2\x0f.api.EbgpConfigR\x06config\x12$\n" +
	"\x05state\x18\x02 \x01(\v2\x0e.api.EbgpStateR\x05state\"1\n" +
	"\n" +
	"IbgpConfig\x12#\n" +
	"\rmaximum_paths\x18\x01 \x01(\rR\fmaximumPaths\"0\n" +
	"\tIbgpState\x12#\n" +
	"\rmaximum_paths\x18\x01 \x01(\rR\fmaximumPaths\"U\n" +
	"\x04Ibgp\x12'\n" +
	"\x06config\x18\x01 \x01(\v2\x0f.api.IbgpConfigR\x06config\x12$\n" +
	"\x05state\x18\x02 \x01(\v2\x0e.api.IbgpStateR\x05state\"\xb7\x01\n" +
	"\x10UseMultiplePaths\x123\n" +
	"\x06config\x18\x01 \x01(\v2\x1b.api.UseMultiplePathsConfigR\x06config\x120\n" +
	"\x05state\x18\x02 \x01(\v2\x1a.api.UseMultiplePathsStateR\x05state\x12\x1d\n" +
	"\x04ebgp\x18\x03 \x01(\v2\t.api.EbgpR\x04ebgp\x12\x1d\n" +
	"\x04ibgp\x18\x04 \x01(\v2\t.api.IbgpR\x04ibgp\"B\n" +
	"\x1bRouteTargetMembershipConfig\x12#\n" +
	"\rdeferral_time\x18\x01 \x01(\rR\fdeferralTime\"A\n" +
	"\x1aRouteTargetMembershipState\x12#\n" +
	"\rdeferral_time\x18\x01 \x01(\rR\fdeferralTime\"\x88\x01\n" +
	"\x15RouteTargetMembership\x128\n" +
	"\x06config\x18\x01 \x01(\v2 .api.RouteTargetMembershipConfigR\x06config\x125\n" +
	"\x05state\x18\x02 \x01(\v2\x1f.api.RouteTargetMembershipStateR\x05state\"]\n" +
	"\x1eLongLivedGracefulRestartConfig\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12!\n" +
	"\frestart_time\x18\x02 \x01(\rR\vrestartTime\"\xf8\x01\n" +
	"\x1dLongLivedGracefulRestartState\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12\x1a\n" +
	"\breceived\x18\x02 \x01(\bR\breceived\x12\x1e\n" +
	"\n" +
	"advertised\x18\x03 \x01(\bR\n" +
	"advertised\x12*\n" +
	"\x11peer_restart_time\x18\x04 \x01(\rR\x0fpeerRestartTime\x12;\n" +
	"\x1apeer_restart_timer_expired\x18\x05 \x01(\bR\x17peerRestartTimerExpired\x12\x18\n" +
	"\arunning\x18\x06 \x01(\bR\arunning\"\x91\x01\n" +
	"\x18LongLivedGracefulRestart\x12;\n" +
	"\x06config\x18\x01 \x01(\v2#.api.LongLivedGracefulRestartConfigR\x06config\x128\n" +
	"\x05state\x18\x02 \x01(\v2\".api.LongLivedGracefulRestartStateR\x05state\"\x89\x05\n" +
	"\aAfiSafi\x12F\n" +
	"\x13mp_graceful_restart\x18\x01 \x01(\v2\x16.api.MpGracefulRestartR\x11mpGracefulRestart\x12*\n" +
	"\x06config\x18\x02 \x01(\v2\x12.api.AfiSafiConfigR\x06config\x12'\n" +
	"\x05state\x18\x03 \x01(\v2\x11.api.AfiSafiStateR\x05state\x123\n" +
	"\fapply_policy\x18\x04 \x01(\v2\x10.api.ApplyPolicyR\vapplyPolicy\x12R\n" +
	"\x17route_selection_options\x18\x05 \x01(\v2\x1a.api.RouteSelectionOptionsR\x15routeSelectionOptions\x12C\n" +
	"\x12use_multiple_paths\x18\x06 \x01(\v2\x15.api.UseMultiplePathsR\x10useMultiplePaths\x125\n" +
	"\rprefix_limits\x18\a \x01(\v2\x10.api.PrefixLimitR\fprefixLimits\x12R\n" +
	"\x17route_target_membership\x18\b \x01(\v2\x1a.api.RouteTargetMembershipR\x15routeTargetMembership\x12\\\n" +
	"\x1blong_lived_graceful_restart\x18\t \x01(\v2\x1d.api.LongLivedGracefulRestartR\x18longLivedGracefulRestart\x12*\n" +
	"\tadd_paths\x18\n" +
	" \x01(\v2\r.api.AddPathsR\baddPaths\"E\n" +
	"\x0eAddPathsConfig\x12\x18\n" +
	"\areceive\x18\x01 \x01(\bR\areceive\x12\x19\n" +
	"\bsend_max\x18\x02 \x01(\rR\asendMax\"D\n" +
	"\rAddPathsState\x12\x18\n" +
	"\areceive\x18\x01 \x01(\bR\areceive\x12\x19\n" +
	"\bsend_max\x18\x02 \x01(\rR\asendMax\"a\n" +
	"\bAddPaths\x12+\n" +
	"\x06config\x18\x01 \x01(\v2\x13.api.AddPathsConfigR\x06config\x12(\n" +
	"\x05state\x18\x02 \x01(\v2\x12.api.AddPathsStateR\x05state\"u\n" +
	"\x06Prefix\x12\x1b\n" +
	"\tip_prefix\x18\x01 \x01(\tR\bipPrefix\x12&\n" +
	"\x0fmask_length_min\x18\x02 \x01(\rR\rmaskLengthMin\x12&\n" +
	"\x0fmask_length_max\x18\x03 \x01(\rR\rmaskLengthMax\"\x92\x01\n" +
	"\n" +
	"DefinedSet\x123\n" +
	"\fdefined_type\x18\x01 \x01(\x0e2\x10.api.DefinedTypeR\vdefinedType\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
	"\x04list\x18\x03 \x03(\tR\x04list\x12'\n" +
	"\bprefixes\x18\x04 \x03(\v2\v.api.PrefixR\bprefixes\"\x91\x01\n" +
	"\bMatchSet\x12&\n" +
	"\x04type\x18\x01 \x01(\x0e2\x12.api.MatchSet.TypeR\x04type\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\"I\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bTYPE_ANY\x10\x01\x12\f\n" +
	"\bTYPE_ALL\x10\x02\x12\x0f\n" +
	"\vTYPE_INVERT\x10\x03\"K\n" +
	"\fAsPathLength\x12#\n" +
	"\x04type\x18\x01 \x01(\x0e2\x0f.api.ComparisonR\x04type\x12\x16\n" +
	"\x06length\x18\x02 \x01(\rR\x06length\"K\n" +
	"\x0eCommunityCount\x12#\n" +
	"\x04type\x18\x01 \x01(\x0e2\x0f.api.ComparisonR\x04type\x12\x14\n" +
	"\x05count\x18\x02 \x01(\rR\x05count\"#\n" +
	"\vLocalPrefEq\x12\x14\n" +
	"\x05value\x18\x01 \x01(\rR\x05value\"\x1d\n" +
	"\x05MedEq\x12\x14\n" +
	"\x05value\x18\x01 \x01(\rR\x05value\"\xfa\x06\n" +
	"\n" +
	"Conditions\x12,\n" +
	"\n" +
	"prefix_set\x18\x01 \x01(\v2\r.api.MatchSetR\tprefixSet\x120\n" +
	"\fneighbor_set\x18\x02 \x01(\v2\r.api.MatchSetR\vneighborSet\x127\n" +
	"\x0eas_path_length\x18\x03 \x01(\v2\x11.api.AsPathLengthR\fasPathLength\x12-\n" +
	"\vas_path_set\x18\x04 \x01(\v2\r.api.MatchSetR\tasPathSet\x122\n" +
	"\rcommunity_set\x18\x05 \x01(\v2\r.api.MatchSetR\fcommunitySet\x129\n" +
	"\x11ext_community_set\x18\x06 \x01(\v2\r.api.MatchSetR\x0fextCommunitySet\x125\n" +
	"\vrpki_result\x18\a \x01(\x0e2\x14.api.ValidationStateR\n" +
	"rpkiResult\x128\n" +
	"\n" +
	"route_type\x18\b \x01(\x0e2\x19.api.Conditions.RouteTypeR\trouteType\x12=\n" +
	"\x13large_community_set\x18\t \x01(\v2\r.api.MatchSetR\x11largeCommunitySet\x12'\n" +
	"\x10next_hop_in_list\x18\n" +
	" \x03(\tR\rnextHopInList\x12+\n" +
	"\vafi_safi_in\x18\v \x03(\v2\v.api.FamilyR\tafiSafiIn\x12<\n" +
	"\x0fcommunity_count\x18\f \x01(\v2\x13.api.CommunityCountR\x0ecommunityCount\x12'\n" +
	"\x06origin\x18\r \x01(\x0e2\x0f.api.OriginTypeR\x06origin\x124\n" +
	"\rlocal_pref_eq\x18\x0e \x01(\v2\x10.api.LocalPrefEqR\vlocalPrefEq\x12!\n" +
	"\x06med_eq\x18\x0f \x01(\v2\n" +
	".api.MedEqR\x05medEq\"o\n" +
	"\tRouteType\x12\x1a\n" +
	"\x16ROUTE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" +
	"\x13ROUTE_TYPE_INTERNAL\x10\x01\x12\x17\n" +
	"\x13ROUTE_TYPE_EXTERNAL\x10\x02\x12\x14\n" +
	"\x10ROUTE_TYPE_LOCAL\x10\x03\"\xb1\x01\n" +
	"\x0fCommunityAction\x12-\n" +
	"\x04type\x18\x01 \x01(\x0e2\x19.api.CommunityAction.TypeR\x04type\x12 \n" +
	"\vcommunities\x18\x02 \x03(\tR\vcommunities\"M\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bTYPE_ADD\x10\x01\x12\x0f\n" +
	"\vTYPE_REMOVE\x10\x02\x12\x10\n" +
	"\fTYPE_REPLACE\x10\x03\"\x88\x01\n" +
	"\tMedAction\x12'\n" +
	"\x04type\x18\x01 \x01(\x0e2\x13.api.MedAction.TypeR\x04type\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x03R\x05value\"<\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bTYPE_MOD\x10\x01\x12\x10\n" +
	"\fTYPE_REPLACE\x10\x02\"_\n" +
	"\x0fAsPrependAction\x12\x10\n" +
	"\x03asn\x18\x01 \x01(\rR\x03asn\x12\x16\n" +
	"\x06repeat\x18\x02 \x01(\rR\x06repeat\x12\"\n" +
	"\ruse_left_most\x18\x03 \x01(\bR\vuseLeftMost\"~\n" +
	"\rNexthopAction\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x12\n" +
	"\x04self\x18\x02 \x01(\bR\x04self\x12\x1c\n" +
	"\tunchanged\x18\x03 \x01(\bR\tunchanged\x12!\n" +
	"\fpeer_address\x18\x04 \x01(\bR\vpeerAddress\"'\n" +
	"\x0fLocalPrefAction\x12\x14\n" +
	"\x05value\x18\x01 \x01(\rR\x05value\"7\n" +
	"\fOriginAction\x12'\n" +
	"\x06origin\x18\x01 \x01(\x0e2\x0f.api.OriginTypeR\x06origin\"\xde\x03\n" +
	"\aActions\x123\n" +
	"\froute_action\x18\x01 \x01(\x0e2\x10.api.RouteActionR\vrouteAction\x122\n" +
	"\tcommunity\x18\x02 \x01(\v2\x14.api.CommunityActionR\tcommunity\x12 \n" +
	"\x03med\x18\x03 \x01(\v2\x0e.api.MedActionR\x03med\x123\n" +
	"\n" +
	"as_prepend\x18\x04 \x01(\v2\x14.api.AsPrependActionR\tasPrepend\x129\n" +
	"\rext_community\x18\x05 \x01(\v2\x14.api.CommunityActionR\fextCommunity\x12,\n" +
	"\anexthop\x18\x06 \x01(\v2\x12.api.NexthopActionR\anexthop\x123\n" +
	"\n" +
	"local_pref\x18\a \x01(\v2\x14.api.LocalPrefActionR\tlocalPref\x12=\n" +
	"\x0flarge_community\x18\b \x01(\v2\x14.api.CommunityActionR\x0elargeCommunity\x126\n" +
	"\rorigin_action\x18\t \x01(\v2\x11.api.OriginActionR\foriginAction\"x\n" +
	"\tStatement\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12/\n" +
	"\n" +
	"conditions\x18\x02 \x01(\v2\x0f.api.ConditionsR\n" +
	"conditions\x12&\n" +
	"\aactions\x18\x03 \x01(\v2\f.api.ActionsR\aactions\"L\n" +
	"\x06Policy\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12.\n" +
	"\n" +
	"statements\x18\x02 \x03(\v2\x0e.api.StatementR\n" +
	"statements\"\xbc\x01\n" +
	"\x10PolicyAssignment\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x122\n" +
	"\tdirection\x18\x02 \x01(\x0e2\x14.api.PolicyDirectionR\tdirection\x12'\n" +
	"\bpolicies\x18\x04 \x03(\v2\v.api.PolicyR\bpolicies\x127\n" +
	"\x0edefault_action\x18\x05 \x01(\x0e2\x10.api.RouteActionR\rdefaultAction\"l\n" +
	"\rRoutingPolicy\x122\n" +
	"\fdefined_sets\x18\x01 \x03(\v2\x0f.api.DefinedSetR\vdefinedSets\x12'\n" +
	"\bpolicies\x18\x02 \x03(\v2\v.api.PolicyR\bpolicies\"\x88\x01\n" +
	"\x03Roa\x12\x10\n" +
	"\x03asn\x18\x01 \x01(\rR\x03asn\x12\x1c\n" +
	"\tprefixlen\x18\x02 \x01(\rR\tprefixlen\x12\x16\n" +
	"\x06maxlen\x18\x03 \x01(\rR\x06maxlen\x12\x16\n" +
	"\x06prefix\x18\x04 \x01(\tR\x06prefix\x12!\n" +
	"\x04conf\x18\x05 \x01(\v2\r.api.RPKIConfR\x04conf\"\xb0\x01\n" +
	"\x03Vrf\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12'\n" +
	"\x02rd\x18\x02 \x01(\v2\x17.api.RouteDistinguisherR\x02rd\x12-\n" +
	"\timport_rt\x18\x03 \x03(\v2\x10.api.RouteTargetR\bimportRt\x12-\n" +
	"\texport_rt\x18\x04 \x03(\v2\x10.api.RouteTargetR\bexportRt\x12\x0e\n" +
	"\x02id\x18\x05 \x01(\rR\x02id\"\x86\x01\n" +
	"\x14DefaultRouteDistance\x126\n" +
	"\x17external_route_distance\x18\x01 \x01(\rR\x15externalRouteDistance\x126\n" +
	"\x17internal_route_distance\x18\x02 \x01(\rR\x15internalRouteDistance\"\x99\x04\n" +
	"\x06Global\x12\x10\n" +
	"\x03asn\x18\x01 \x01(\rR\x03asn\x12\x1b\n" +
	"\trouter_id\x18\x02 \x01(\tR\brouterId\x12\x1f\n" +
	"\vlisten_port\x18\x03 \x01(\x05R\n" +
	"listenPort\x12)\n" +
	"\x10listen_addresses\x18\x04 \x03(\tR\x0flistenAddresses\x12\x1a\n" +
	"\bfamilies\x18\x05 \x03(\rR\bfamilies\x12,\n" +
	"\x12use_multiple_paths\x18\x06 \x01(\bR\x10useMultiplePaths\x12X\n" +
	"\x17route_selection_options\x18\a \x01(\v2 .api.RouteSelectionOptionsConfigR\x15routeSelectionOptions\x12O\n" +
	"\x16default_route_distance\x18\b \x01(\v2\x19.api.DefaultRouteDistanceR\x14defaultRouteDistance\x128\n" +
	"\rconfederation\x18\t \x01(\v2\x12.api.ConfederationR\rconfederation\x12?\n" +
	"\x10graceful_restart\x18\n" +
	" \x01(\v2\x14.api.GracefulRestartR\x0fgracefulRestart\x12$\n" +
	"\x0ebind_to_device\x18\v \x01(\tR\fbindToDevice\"o\n" +
	"\rConfederation\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12\x1e\n" +
	"\n" +
	"identifier\x18\x02 \x01(\rR\n" +
	"identifier\x12$\n" +
	"\x0emember_as_list\x18\x03 \x03(\rR\fmemberAsList\"E\n" +
	"\bRPKIConf\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x1f\n" +
	"\vremote_port\x18\x02 \x01(\rR\n" +
	"remotePort\"\xd4\x04\n" +
	"\tRPKIState\x122\n" +
	"\x06uptime\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x06uptime\x126\n" +
	"\bdowntime\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\bdowntime\x12\x0e\n" +
	"\x02up\x18\x03 \x01(\bR\x02up\x12\x1f\n" +
	"\vrecord_ipv4\x18\x04 \x01(\rR\n" +
	"recordIpv4\x12\x1f\n" +
	"\vrecord_ipv6\x18\x05 \x01(\rR\n" +
	"recordIpv6\x12\x1f\n" +
	"\vprefix_ipv4\x18\x06 \x01(\rR\n" +
	"prefixIpv4\x12\x1f\n" +
	"\vprefix_ipv6\x18\a \x01(\rR\n" +
	"prefixIpv6\x12\x16\n" +
	"\x06serial\x18\b \x01(\rR\x06serial\x12#\n" +
	"\rreceived_ipv4\x18\t \x01(\x03R\freceivedIpv4\x12#\n" +
	"\rreceived_ipv6\x18\n" +
	" \x01(\x03R\freceivedIpv6\x12#\n" +
	"\rserial_notify\x18\v \x01(\x03R\fserialNotify\x12\x1f\n" +
	"\vcache_reset\x18\f \x01(\x03R\n" +
	"cacheReset\x12%\n" +
	"\x0ecache_response\x18\r \x01(\x03R\rcacheResponse\x12\x1e\n" +
	"\vend_of_data\x18\x0e \x01(\x03R\tendOfData\x12\x14\n" +
	"\x05error\x18\x0f \x01(\x03R\x05error\x12!\n" +
	"\fserial_query\x18\x10 \x01(\x03R\vserialQuery\x12\x1f\n" +
	"\vreset_query\x18\x11 \x01(\x03R\n" +
	"resetQuery\"O\n" +
	"\x04Rpki\x12!\n" +
	"\x04conf\x18\x01 \x01(\v2\r.api.RPKIConfR\x04conf\x12$\n" +
	"\x05state\x18\x02 \x01(\v2\x0e.api.RPKIStateR\x05state\"\xdf\x01\n" +
	"\x12SetLogLevelRequest\x123\n" +
	"\x05level\x18\x01 \x01(\x0e2\x1d.api.SetLogLevelRequest.LevelR\x05level\"\x93\x01\n" +
	"\x05Level\x12\x15\n" +
	"\x11LEVEL_UNSPECIFIED\x10\x00\x12\x0f\n" +
	"\vLEVEL_PANIC\x10\x01\x12\x0f\n" +
	"\vLEVEL_FATAL\x10\x02\x12\x0f\n" +
	"\vLEVEL_ERROR\x10\x03\x12\x0e\n" +
	"\n" +
	"LEVEL_WARN\x10\x04\x12\x0e\n" +
	"\n" +
	"LEVEL_INFO\x10\x05\x12\x0f\n" +
	"\vLEVEL_DEBUG\x10\x06\x12\x0f\n" +
	"\vLEVEL_TRACE\x10\a\"\x15\n" +
	"\x13SetLogLevelResponse\"\xd8\x01\n" +
	"\x10BfdAsyncCounters\x126\n" +
	"\x17last_packet_transmitted\x18\x01 \x01(\x04R\x15lastPacketTransmitted\x120\n" +
	"\x14last_packet_received\x18\x02 \x01(\x04R\x12lastPacketReceived\x12/\n" +
	"\x13transmitted_packets\x18\x03 \x01(\x04R\x12transmittedPackets\x12)\n" +
	"\x10received_packets\x18\x04 \x01(\x04R\x0freceivedPackets\"\xe7\x04\n" +
	"\fBfdPeerState\x129\n" +
	"\rsession_state\x18\x01 \x01(\x0e2\x14.api.BfdSessionStateR\fsessionState\x12F\n" +
	"\x14remote_session_state\x18\x02 \x01(\x0e2\x14.api.BfdSessionStateR\x12remoteSessionState\x12*\n" +
	"\x11last_failure_time\x18\x03 \x01(\x04R\x0flastFailureTime\x12/\n" +
	"\x13failure_transitions\x18\x04 \x01(\x04R\x12failureTransitions\x12/\n" +
	"\x13local_discriminator\x18\x05 \x01(\rR\x12localDiscriminator\x121\n" +
	"\x14remote_discriminator\x18\x06 \x01(\rR\x13remoteDiscriminator\x12J\n" +
	"\x15local_diagnostic_code\x18\a \x01(\x0e2\x16.api.BfdDiagnosticCodeR\x13localDiagnosticCode\x12L\n" +
	"\x16remote_diagnostic_code\x18\b \x01(\x0e2\x16.api.BfdDiagnosticCodeR\x14remoteDiagnosticCode\x12E\n" +
	"\x1fremote_minimum_receive_interval\x18\t \x01(\rR\x1cremoteMinimumReceiveInterval\x122\n" +
	"\tbfd_async\x18\n" +
	" \x01(\v2\x15.api.BfdAsyncCountersR\bbfdAsync\"\xe9\x01\n" +
	"\rBfdPeerConfig\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12\x12\n" +
	"\x04port\x18\x02 \x01(\rR\x04port\x12=\n" +
	"\x1bdesired_minimum_tx_interval\x18\x03 \x01(\rR\x18desiredMinimumTxInterval\x128\n" +
	"\x18required_minimum_receive\x18\x04 \x01(\rR\x16requiredMinimumReceive\x121\n" +
	"\x14detection_multiplier\x18\x05 \x01(\rR\x13detectionMultiplier\"\xc9\x01\n" +
	"\bBfdState\x12'\n" +
	"\x0freceived_packet\x18\x01 \x01(\x04R\x0ereceivedPacket\x12#\n" +
	"\rreceived_drop\x18\x02 \x01(\x04R\freceivedDrop\x12%\n" +
	"\x0ereceived_error\x18\x03 \x01(\x04R\rreceivedError\x12%\n" +
	"\x0einvalid_packet\x18\x04 \x01(\x04R\rinvalidPacket\x12!\n" +
	"\funknown_peer\x18\x05 \x01(\x04R\vunknownPeer*\x97\x01\n" +
	"\tTableType\x12\x1a\n" +
	"\x16TABLE_TYPE_UNSPECIFIED\x10\x00\x12\x15\n" +
	"\x11TABLE_TYPE_GLOBAL\x10\x01\x12\x14\n" +
	"\x10TABLE_TYPE_LOCAL\x10\x02\x12\x15\n" +
	"\x11TABLE_TYPE_ADJ_IN\x10\x03\x12\x16\n" +
	"\x12TABLE_TYPE_ADJ_OUT\x10\x04\x12\x12\n" +
	"\x0eTABLE_TYPE_VRF\x10\x05*\xa8\x01\n" +
	"\x0fValidationState\x12 \n" +
	"\x1cVALIDATION_STATE_UNSPECIFIED\x10\x00\x12\x19\n" +
	"\x15VALIDATION_STATE_NONE\x10\x01\x12\x1e\n" +
	"\x1aVALIDATION_STATE_NOT_FOUND\x10\x02\x12\x1a\n" +
	"\x16VALIDATION_STATE_VALID\x10\x03\x12\x1c\n" +
	"\x18VALIDATION_STATE_INVALID\x10\x04*U\n" +
	"\bPeerType\x12\x19\n" +
	"\x15PEER_TYPE_UNSPECIFIED\x10\x00\x12\x16\n" +
	"\x12PEER_TYPE_INTERNAL\x10\x01\x12\x16\n" +
	"\x12PEER_TYPE_EXTERNAL\x10\x02*c\n" +
	"\rRemovePrivate\x12\x1e\n" +
	"\x1aREMOVE_PRIVATE_UNSPECIFIED\x10\x00\x12\x16\n" +
	"\x12REMOVE_PRIVATE_ALL\x10\x01\x12\x1a\n" +
	"\x16REMOVE_PRIVATE_REPLACE\x10\x02*\x88\x02\n" +
	"\vDefinedType\x12\x1c\n" +
	"\x18DEFINED_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" +
	"\x13DEFINED_TYPE_PREFIX\x10\x01\x12\x19\n" +
	"\x15DEFINED_TYPE_NEIGHBOR\x10\x02\x12\x14\n" +
	"\x10DEFINED_TYPE_TAG\x10\x03\x12\x18\n" +
	"\x14DEFINED_TYPE_AS_PATH\x10\x04\x12\x1a\n" +
	"\x16DEFINED_TYPE_COMMUNITY\x10\x05\x12\x1e\n" +
	"\x1aDEFINED_TYPE_EXT_COMMUNITY\x10\x06\x12 \n" +
	"\x1cDEFINED_TYPE_LARGE_COMMUNITY\x10\a\x12\x19\n" +
	"\x15DEFINED_TYPE_NEXT_HOP\x10\b*a\n" +
	"\n" +
	"Comparison\x12\x1a\n" +
	"\x16COMPARISON_UNSPECIFIED\x10\x00\x12\x11\n" +
	"\rCOMPARISON_EQ\x10\x01\x12\x11\n" +
	"\rCOMPARISON_GE\x10\x02\x12\x11\n" +
	"\rCOMPARISON_LE\x10\x03*o\n" +
	"\n" +
	"OriginType\x12\x1b\n" +
	"\x17ORIGIN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n" +
	"\x0fORIGIN_TYPE_IGP\x10\x01\x12\x13\n" +
	"\x0fORIGIN_TYPE_EGP\x10\x02\x12\x1a\n" +
	"\x16ORIGIN_TYPE_INCOMPLETE\x10\x03*]\n" +
	"\vRouteAction\x12\x1c\n" +
	"\x18ROUTE_ACTION_UNSPECIFIED\x10\x00\x12\x17\n" +
	"\x13ROUTE_ACTION_ACCEPT\x10\x01\x12\x17\n" +
	"\x13ROUTE_ACTION_REJECT\x10\x02*m\n" +
	"\x0fPolicyDirection\x12 \n" +
	"\x1cPOLICY_DIRECTION_UNSPECIFIED\x10\x00\x12\x1b\n" +
	"\x17POLICY_DIRECTION_IMPORT\x10\x01\x12\x1b\n" +
	"\x17POLICY_DIRECTION_EXPORT\x10\x02*\xa8\x01\n" +
	"\x0fBfdSessionState\x12!\n" +
	"\x1dBFD_SESSION_STATE_UNSPECIFIED\x10\x00\x12\x18\n" +
	"\x14BFD_SESSION_STATE_UP\x10\x01\x12\x1a\n" +
	"\x16BFD_SESSION_STATE_DOWN\x10\x02\x12 \n" +
	"\x1cBFD_SESSION_STATE_ADMIN_DOWN\x10\x03\x12\x1a\n" +
	"\x16BFD_SESSION_STATE_INIT\x10\x04*\xac\x03\n" +
	"\x11BfdDiagnosticCode\x12%\n" +
	"!BFD_DIAGNOSTIC_CODE_NO_DIAGNOSTIC\x10\x00\x12)\n" +
	"%BFD_DIAGNOSTIC_CODE_DETECTION_TIMEOUT\x10\x01\x12#\n" +
	"\x1fBFD_DIAGNOSTIC_CODE_ECHO_FAILED\x10\x02\x126\n" +
	"2BFD_DIAGNOSTIC_CODE_NEIGHBOR_SIGNALED_SESSION_DOWN\x10\x03\x12.\n" +
	"*BFD_DIAGNOSTIC_CODE_FORWARDING_PLANE_RESET\x10\x04\x12!\n" +
	"\x1dBFD_DIAGNOSTIC_CODE_PATH_DOWN\x10\x05\x12.\n" +
	"*BFD_DIAGNOSTIC_CODE_CONCATENATED_PATH_DOWN\x10\x06\x12-\n" +
	")BFD_DIAGNOSTIC_CODE_ADMINISTRATIVELY_DOWN\x10\a\x126\n" +
	"2BFD_DIAGNOSTIC_CODE_REVERSE_CONCATENATED_PATH_DOWN\x10\b2\x94\x1d\n" +
	"\fGoBgpService\x127\n" +
	"\bStartBgp\x12\x14.api.StartBgpRequest\x1a\x15.api.StartBgpResponse\x124\n" +
	"\aStopBgp\x12\x13.api.StopBgpRequest\x1a\x14.api.StopBgpResponse\x121\n" +
	"\x06GetBgp\x12\x12.api.GetBgpRequest\x1a\x13.api.GetBgpResponse\x12?\n" +
	"\n" +
	"WatchEvent\x12\x16.api.WatchEventRequest\x1a\x17.api.WatchEventResponse0\x01\x124\n" +
	"\aAddPeer\x12\x13.api.AddPeerRequest\x1a\x14.api.AddPeerResponse\x12=\n" +
	"\n" +
	"DeletePeer\x12\x16.api.DeletePeerRequest\x1a\x17.api.DeletePeerResponse\x129\n" +
	"\bListPeer\x12\x14.api.ListPeerRequest\x1a\x15.api.ListPeerResponse0\x01\x12=\n" +
	"\n" +
	"UpdatePeer\x12\x16.api.UpdatePeerRequest\x1a\x17.api.UpdatePeerResponse\x12:\n" +
	"\tResetPeer\x12\x15.api.ResetPeerRequest\x1a\x16.api.ResetPeerResponse\x12C\n" +
	"\fShutdownPeer\x12\x18.api.ShutdownPeerRequest\x1a\x19.api.ShutdownPeerResponse\x12=\n" +
	"\n" +
	"EnablePeer\x12\x16.api.EnablePeerRequest\x1a\x17.api.EnablePeerResponse\x12@\n" +
	"\vDisablePeer\x12\x17.api.DisablePeerRequest\x1a\x18.api.DisablePeerResponse\x12C\n" +
	"\fAddPeerGroup\x12\x18.api.AddPeerGroupRequest\x1a\x19.api.AddPeerGroupResponse\x12L\n" +
	"\x0fDeletePeerGroup\x12\x1b.api.DeletePeerGroupRequest\x1a\x1c.api.DeletePeerGroupResponse\x12H\n" +
	"\rListPeerGroup\x12\x19.api.ListPeerGroupRequest\x1a\x1a.api.ListPeerGroupResponse0\x01\x12L\n" +
	"\x0fUpdatePeerGroup\x12\x1b.api.UpdatePeerGroupRequest\x1a\x1c.api.UpdatePeerGroupResponse\x12U\n" +
	"\x12AddDynamicNeighbor\x12\x1e.api.AddDynamicNeighborRequest\x1a\x1f.api.AddDynamicNeighborResponse\x12Z\n" +
	"\x13ListDynamicNeighbor\x12\x1f.api.ListDynamicNeighborRequest\x1a .api.ListDynamicNeighborResponse0\x01\x12^\n" +
	"\x15DeleteDynamicNeighbor\x12!.api.DeleteDynamicNeighborRequest\x1a\".api.DeleteDynamicNeighborResponse\x124\n" +
	"\aAddPath\x12\x13.api.AddPathRequest\x1a\x14.api.AddPathResponse\x12=\n" +
	"\n" +
	"DeletePath\x12\x16.api.DeletePathRequest\x1a\x17.api.DeletePathResponse\x129\n" +
	"\bListPath\x12\x14.api.ListPathRequest\x1a\x15.api.ListPathResponse0\x01\x12H\n" +
	"\rAddPathStream\x12\x19.api.AddPathStreamRequest\x1a\x1a.api.AddPathStreamResponse(\x01\x127\n" +
	"\bGetTable\x12\x14.api.GetTableRequest\x1a\x15.api.GetTableResponse\x121\n" +
	"\x06AddVrf\x12\x12.api.AddVrfRequest\x1a\x13.api.AddVrfResponse\x12:\n" +
	"\tDeleteVrf\x12\x15.api.DeleteVrfRequest\x1a\x16.api.DeleteVrfResponse\x126\n" +
	"\aListVrf\x12\x13.api.ListVrfRequest\x1a\x14.api.ListVrfResponse0\x01\x12:\n" +
	"\tAddPolicy\x12\x15.api.AddPolicyRequest\x1a\x16.api.AddPolicyResponse\x12C\n" +
	"\fDeletePolicy\x12\x18.api.DeletePolicyRequest\x1a\x19.api.DeletePolicyResponse\x12?\n" +
	"\n" +
	"ListPolicy\x12\x16.api.ListPolicyRequest\x1a\x17.api.ListPolicyResponse0\x01\x12@\n" +
	"\vSetPolicies\x12\x17.api.SetPoliciesRequest\x1a\x18.api.SetPoliciesResponse\x12F\n" +
	"\rAddDefinedSet\x12\x19.api.AddDefinedSetRequest\x1a\x1a.api.AddDefinedSetResponse\x12O\n" +
	"\x10DeleteDefinedSet\x12\x1c.api.DeleteDefinedSetRequest\x1a\x1d.api.DeleteDefinedSetResponse\x12K\n" +
	"\x0eListDefinedSet\x12\x1a.api.ListDefinedSetRequest\x1a\x1b.api.ListDefinedSetResponse0\x01\x12C\n" +
	"\fAddStatement\x12\x18.api.AddStatementRequest\x1a\x19.api.AddStatementResponse\x12L\n" +
	"\x0fDeleteStatement\x12\x1b.api.DeleteStatementRequest\x1a\x1c.api.DeleteStatementResponse\x12H\n" +
	"\rListStatement\x12\x19.api.ListStatementRequest\x1a\x1a.api.ListStatementResponse0\x01\x12X\n" +
	"\x13AddPolicyAssignment\x12\x1f.api.AddPolicyAssignmentRequest\x1a .api.AddPolicyAssignmentResponse\x12a\n" +
	"\x16DeletePolicyAssignment\x12\".api.DeletePolicyAssignmentRequest\x1a#.api.DeletePolicyAssignmentResponse\x12]\n" +
	"\x14ListPolicyAssignment\x12 .api.ListPolicyAssignmentRequest\x1a!.api.ListPolicyAssignmentResponse0\x01\x12X\n" +
	"\x13SetPolicyAssignment\x12\x1f.api.SetPolicyAssignmentRequest\x1a .api.SetPolicyAssignmentResponse\x124\n" +
	"\aAddRpki\x12\x13.api.AddRpkiRequest\x1a\x14.api.AddRpkiResponse\x12=\n" +
	"\n" +
	"DeleteRpki\x12\x16.api.DeleteRpkiRequest\x1a\x17.api.DeleteRpkiResponse\x129\n" +
	"\bListRpki\x12\x14.api.ListRpkiRequest\x1a\x15.api.ListRpkiResponse0\x01\x12=\n" +
	"\n" +
	"EnableRpki\x12\x16.api.EnableRpkiRequest\x1a\x17.api.EnableRpkiResponse\x12@\n" +
	"\vDisableRpki\x12\x17.api.DisableRpkiRequest\x1a\x18.api.DisableRpkiResponse\x12:\n" +
	"\tResetRpki\x12\x15.api.ResetRpkiRequest\x1a\x16.api.ResetRpkiResponse\x12H\n" +
	"\rListRpkiTable\x12\x19.api.ListRpkiTableRequest\x1a\x1a.api.ListRpkiTableResponse0\x01\x12@\n" +
	"\vEnableZebra\x12\x17.api.EnableZebraRequest\x1a\x18.api.EnableZebraResponse\x12:\n" +
	"\tEnableMrt\x12\x15.api.EnableMrtRequest\x1a\x16.api.EnableMrtResponse\x12=\n" +
	"\n" +
	"DisableMrt\x12\x16.api.DisableMrtRequest\x1a\x17.api.DisableMrtResponse\x121\n" +
	"\x06AddBmp\x12\x12.api.AddBmpRequest\x1a\x13.api.AddBmpResponse\x12:\n" +
	"\tDeleteBmp\x12\x15.api.DeleteBmpRequest\x1a\x16.api.DeleteBmpResponse\x126\n" +
	"\aListBmp\x12\x13.api.ListBmpRequest\x1a\x14.api.ListBmpResponse0\x01\x12@\n" +
	"\vSetLogLevel\x12\x17.api.SetLogLevelRequest\x1a\x18.api.SetLogLevelResponseB\"Z github.com/osrg/gobgp/v4/api;apib\x06proto3"

var (
	file_api_gobgp_proto_rawDescOnce sync.Once
	file_api_gobgp_proto_rawDescData []byte
)

func file_api_gobgp_proto_rawDescGZIP() []byte {
	file_api_gobgp_proto_rawDescOnce.Do(func() {
		file_api_gobgp_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_gobgp_proto_rawDesc), len(file_api_gobgp_proto_rawDesc)))
	})
	return file_api_gobgp_proto_rawDescData
}

var file_api_gobgp_proto_enumTypes = make([]protoimpl.EnumInfo, 27)
var file_api_gobgp_proto_msgTypes = make([]protoimpl.MessageInfo, 201)
var file_api_gobgp_proto_goTypes = []any{
	(TableType)(0),                           // 0: api.TableType
	(ValidationState)(0),                     // 1: api.ValidationState
	(PeerType)(0),                            // 2: api.PeerType
	(RemovePrivate)(0),                       // 3: api.RemovePrivate
	(DefinedType)(0),                         // 4: api.DefinedType
	(Comparison)(0),                          // 5: api.Comparison
	(OriginType)(0),                          // 6: api.OriginType
	(RouteAction)(0),                         // 7: api.RouteAction
	(PolicyDirection)(0),                     // 8: api.PolicyDirection
	(BfdSessionState)(0),                     // 9: api.BfdSessionState
	(BfdDiagnosticCode)(0),                   // 10: api.BfdDiagnosticCode
	(WatchEventRequest_Table_Filter_Type)(0), // 11: api.WatchEventRequest.Table.Filter.Type
	(WatchEventResponse_PeerEvent_Type)(0),   // 12: api.WatchEventResponse.PeerEvent.Type
	(ResetPeerRequest_Direction)(0),          // 13: api.ResetPeerRequest.Direction
	(TableLookupPrefix_Type)(0),              // 14: api.TableLookupPrefix.Type
	(ListPathRequest_SortType)(0),            // 15: api.ListPathRequest.SortType
	(EnableMrtRequest_DumpType)(0),           // 16: api.EnableMrtRequest.DumpType
	(AddBmpRequest_MonitoringPolicy)(0),      // 17: api.AddBmpRequest.MonitoringPolicy
	(Validation_Reason)(0),                   // 18: api.Validation.Reason
	(PeerState_SessionState)(0),              // 19: api.PeerState.SessionState
	(PeerState_AdminState)(0),                // 20: api.PeerState.AdminState
	(PeerState_DisconnectReason)(0),          // 21: api.PeerState.DisconnectReason
	(MatchSet_Type)(0),                       // 22: api.MatchSet.Type
	(Conditions_RouteType)(0),                // 23: api.Conditions.RouteType
	(CommunityAction_Type)(0),                // 24: api.CommunityAction.Type
	(MedAction_Type)(0),                      // 25: api.MedAction.Type
	(SetLogLevelRequest_Level)(0),            // 26: api.SetLogLevelRequest.Level
	(*StartBgpRequest)(nil),                  // 27: api.StartBgpRequest
	(*StartBgpResponse)(nil),                 // 28: api.StartBgpResponse
	(*StopBgpRequest)(nil),                   // 29: api.StopBgpRequest
	(*StopBgpResponse)(nil),                  // 30: api.StopBgpResponse
	(*GetBgpRequest)(nil),                    // 31: api.GetBgpRequest
	(*GetBgpResponse)(nil),                   // 32: api.GetBgpResponse
	(*WatchEventRequest)(nil),                // 33: api.WatchEventRequest
	(*WatchEventResponse)(nil),               // 34: api.WatchEventResponse
	(*AddPeerRequest)(nil),                   // 35: api.AddPeerRequest
	(*AddPeerResponse)(nil),                  // 36: api.AddPeerResponse
	(*DeletePeerRequest)(nil),                // 37: api.DeletePeerRequest
	(*DeletePeerResponse)(nil),               // 38: api.DeletePeerResponse
	(*ListPeerRequest)(nil),                  // 39: api.ListPeerRequest
	(*ListPeerResponse)(nil),                 // 40: api.ListPeerResponse
	(*UpdatePeerRequest)(nil),                // 41: api.UpdatePeerRequest
	(*UpdatePeerResponse)(nil),               // 42: api.UpdatePeerResponse
	(*ResetPeerRequest)(nil),                 // 43: api.ResetPeerRequest
	(*ResetPeerResponse)(nil),                // 44: api.ResetPeerResponse
	(*ShutdownPeerRequest)(nil),              // 45: api.ShutdownPeerRequest
	(*ShutdownPeerResponse)(nil),             // 46: api.ShutdownPeerResponse
	(*EnablePeerRequest)(nil),                // 47: api.EnablePeerRequest
	(*EnablePeerResponse)(nil),               // 48: api.EnablePeerResponse
	(*DisablePeerRequest)(nil),               // 49: api.DisablePeerRequest
	(*DisablePeerResponse)(nil),              // 50: api.DisablePeerResponse
	(*AddPeerGroupRequest)(nil),              // 51: api.AddPeerGroupRequest
	(*AddPeerGroupResponse)(nil),             // 52: api.AddPeerGroupResponse
	(*DeletePeerGroupRequest)(nil),           // 53: api.DeletePeerGroupRequest
	(*DeletePeerGroupResponse)(nil),          // 54: api.DeletePeerGroupResponse
	(*UpdatePeerGroupRequest)(nil),           // 55: api.UpdatePeerGroupRequest
	(*UpdatePeerGroupResponse)(nil),          // 56: api.UpdatePeerGroupResponse
	(*ListPeerGroupRequest)(nil),             // 57: api.ListPeerGroupRequest
	(*ListPeerGroupResponse)(nil),            // 58: api.ListPeerGroupResponse
	(*AddDynamicNeighborRequest)(nil),        // 59: api.AddDynamicNeighborRequest
	(*AddDynamicNeighborResponse)(nil),       // 60: api.AddDynamicNeighborResponse
	(*DeleteDynamicNeighborRequest)(nil),     // 61: api.DeleteDynamicNeighborRequest
	(*DeleteDynamicNeighborResponse)(nil),    // 62: api.DeleteDynamicNeighborResponse
	(*ListDynamicNeighborRequest)(nil),       // 63: api.ListDynamicNeighborRequest
	(*ListDynamicNeighborResponse)(nil),      // 64: api.ListDynamicNeighborResponse
	(*AddPathRequest)(nil),                   // 65: api.AddPathRequest
	(*AddPathResponse)(nil),                  // 66: api.AddPathResponse
	(*DeletePathRequest)(nil),                // 67: api.DeletePathRequest
	(*DeletePathResponse)(nil),               // 68: api.DeletePathResponse
	(*TableLookupPrefix)(nil),                // 69: api.TableLookupPrefix
	(*ListPathRequest)(nil),                  // 70: api.ListPathRequest
	(*ListPathResponse)(nil),                 // 71: api.ListPathResponse
	(*AddPathStreamRequest)(nil),             // 72: api.AddPathStreamRequest
	(*AddPathStreamResponse)(nil),            // 73: api.AddPathStreamResponse
	(*GetTableRequest)(nil),                  // 74: api.GetTableRequest
	(*GetTableResponse)(nil),                 // 75: api.GetTableResponse
	(*AddVrfRequest)(nil),                    // 76: api.AddVrfRequest
	(*AddVrfResponse)(nil),                   // 77: api.AddVrfResponse
	(*DeleteVrfRequest)(nil),                 // 78: api.DeleteVrfRequest
	(*DeleteVrfResponse)(nil),                // 79: api.DeleteVrfResponse
	(*ListVrfRequest)(nil),                   // 80: api.ListVrfRequest
	(*ListVrfResponse)(nil),                  // 81: api.ListVrfResponse
	(*AddPolicyRequest)(nil),                 // 82: api.AddPolicyRequest
	(*AddPolicyResponse)(nil),                // 83: api.AddPolicyResponse
	(*DeletePolicyRequest)(nil),              // 84: api.DeletePolicyRequest
	(*DeletePolicyResponse)(nil),             // 85: api.DeletePolicyResponse
	(*ListPolicyRequest)(nil),                // 86: api.ListPolicyRequest
	(*ListPolicyResponse)(nil),               // 87: api.ListPolicyResponse
	(*SetPoliciesRequest)(nil),               // 88: api.SetPoliciesRequest
	(*SetPoliciesResponse)(nil),              // 89: api.SetPoliciesResponse
	(*AddDefinedSetRequest)(nil),             // 90: api.AddDefinedSetRequest
	(*AddDefinedSetResponse)(nil),            // 91: api.AddDefinedSetResponse
	(*DeleteDefinedSetRequest)(nil),          // 92: api.DeleteDefinedSetRequest
	(*DeleteDefinedSetResponse)(nil),         // 93: api.DeleteDefinedSetResponse
	(*ListDefinedSetRequest)(nil),            // 94: api.ListDefinedSetRequest
	(*ListDefinedSetResponse)(nil),           // 95: api.ListDefinedSetResponse
	(*AddStatementRequest)(nil),              // 96: api.AddStatementRequest
	(*AddStatementResponse)(nil),             // 97: api.AddStatementResponse
	(*DeleteStatementRequest)(nil),           // 98: api.DeleteStatementRequest
	(*DeleteStatementResponse)(nil),          // 99: api.DeleteStatementResponse
	(*ListStatementRequest)(nil),             // 100: api.ListStatementRequest
	(*ListStatementResponse)(nil),            // 101: api.ListStatementResponse
	(*AddPolicyAssignmentRequest)(nil),       // 102: api.AddPolicyAssignmentRequest
	(*AddPolicyAssignmentResponse)(nil),      // 103: api.AddPolicyAssignmentResponse
	(*DeletePolicyAssignmentRequest)(nil),    // 104: api.DeletePolicyAssignmentRequest
	(*DeletePolicyAssignmentResponse)(nil),   // 105: api.DeletePolicyAssignmentResponse
	(*ListPolicyAssignmentRequest)(nil),      // 106: api.ListPolicyAssignmentRequest
	(*ListPolicyAssignmentResponse)(nil),     // 107: api.ListPolicyAssignmentResponse
	(*SetPolicyAssignmentRequest)(nil),       // 108: api.SetPolicyAssignmentRequest
	(*SetPolicyAssignmentResponse)(nil),      // 109: api.SetPolicyAssignmentResponse
	(*AddRpkiRequest)(nil),                   // 110: api.AddRpkiRequest
	(*AddRpkiResponse)(nil),                  // 111: api.AddRpkiResponse
	(*DeleteRpkiRequest)(nil),                // 112: api.DeleteRpkiRequest
	(*DeleteRpkiResponse)(nil),               // 113: api.DeleteRpkiResponse
	(*ListRpkiRequest)(nil),                  // 114: api.ListRpkiRequest
	(*ListRpkiResponse)(nil),                 // 115: api.ListRpkiResponse
	(*EnableRpkiRequest)(nil),                // 116: api.EnableRpkiRequest
	(*EnableRpkiResponse)(nil),               // 117: api.EnableRpkiResponse
	(*DisableRpkiRequest)(nil),               // 118: api.DisableRpkiRequest
	(*DisableRpkiResponse)(nil),              // 119: api.DisableRpkiResponse
	(*ResetRpkiRequest)(nil),                 // 120: api.ResetRpkiRequest
	(*ResetRpkiResponse)(nil),                // 121: api.ResetRpkiResponse
	(*ListRpkiTableRequest)(nil),             // 122: api.ListRpkiTableRequest
	(*ListRpkiTableResponse)(nil),            // 123: api.ListRpkiTableResponse
	(*EnableZebraRequest)(nil),               // 124: api.EnableZebraRequest
	(*EnableZebraResponse)(nil),              // 125: api.EnableZebraResponse
	(*EnableMrtRequest)(nil),                 // 126: api.EnableMrtRequest
	(*EnableMrtResponse)(nil),                // 127: api.EnableMrtResponse
	(*DisableMrtRequest)(nil),                // 128: api.DisableMrtRequest
	(*DisableMrtResponse)(nil),               // 129: api.DisableMrtResponse
	(*AddBmpRequest)(nil),                    // 130: api.AddBmpRequest
	(*AddBmpResponse)(nil),                   // 131: api.AddBmpResponse
	(*DeleteBmpRequest)(nil),                 // 132: api.DeleteBmpRequest
	(*DeleteBmpResponse)(nil),                // 133: api.DeleteBmpResponse
	(*ListBmpRequest)(nil),                   // 134: api.ListBmpRequest
	(*ListBmpResponse)(nil),                  // 135: api.ListBmpResponse
	(*Validation)(nil),                       // 136: api.Validation
	(*Path)(nil),                             // 137: api.Path
	(*Destination)(nil),                      // 138: api.Destination
	(*Peer)(nil),                             // 139: api.Peer
	(*PeerGroup)(nil),                        // 140: api.PeerGroup
	(*DynamicNeighbor)(nil),                  // 141: api.DynamicNeighbor
	(*ApplyPolicy)(nil),                      // 142: api.ApplyPolicy
	(*PrefixLimit)(nil),                      // 143: api.PrefixLimit
	(*PeerConf)(nil),                         // 144: api.PeerConf
	(*PeerGroupConf)(nil),                    // 145: api.PeerGroupConf
	(*PeerGroupState)(nil),                   // 146: api.PeerGroupState
	(*TtlSecurity)(nil),                      // 147: api.TtlSecurity
	(*EbgpMultihop)(nil),                     // 148: api.EbgpMultihop
	(*RouteReflector)(nil),                   // 149: api.RouteReflector
	(*PeerState)(nil),                        // 150: api.PeerState
	(*Messages)(nil),                         // 151: api.Messages
	(*Message)(nil),                          // 152: api.Message
	(*Queues)(nil),                           // 153: api.Queues
	(*Timers)(nil),                           // 154: api.Timers
	(*TimersConfig)(nil),                     // 155: api.TimersConfig
	(*TimersState)(nil),                      // 156: api.TimersState
	(*Transport)(nil),                        // 157: api.Transport
	(*RouteServer)(nil),                      // 158: api.RouteServer
	(*GracefulRestart)(nil),                  // 159: api.GracefulRestart
	(*MpGracefulRestartConfig)(nil),          // 160: api.MpGracefulRestartConfig
	(*MpGracefulRestartState)(nil),           // 161: api.MpGracefulRestartState
	(*MpGracefulRestart)(nil),                // 162: api.MpGracefulRestart
	(*AfiSafiConfig)(nil),                    // 163: api.AfiSafiConfig
	(*AfiSafiState)(nil),                     // 164: api.AfiSafiState
	(*RouteSelectionOptionsConfig)(nil),      // 165: api.RouteSelectionOptionsConfig
	(*RouteSelectionOptionsState)(nil),       // 166: api.RouteSelectionOptionsState
	(*RouteSelectionOptions)(nil),            // 167: api.RouteSelectionOptions
	(*UseMultiplePathsConfig)(nil),           // 168: api.UseMultiplePathsConfig
	(*UseMultiplePathsState)(nil),            // 169: api.UseMultiplePathsState
	(*EbgpConfig)(nil),                       // 170: api.EbgpConfig
	(*EbgpState)(nil),                        // 171: api.EbgpState
	(*Ebgp)(nil),                             // 172: api.Ebgp
	(*IbgpConfig)(nil),                       // 173: api.IbgpConfig
	(*IbgpState)(nil),                        // 174: api.IbgpState
	(*Ibgp)(nil),                             // 175: api.Ibgp
	(*UseMultiplePaths)(nil),                 // 176: api.UseMultiplePaths
	(*RouteTargetMembershipConfig)(nil),      // 177: api.RouteTargetMembershipConfig
	(*RouteTargetMembershipState)(nil),       // 178: api.RouteTargetMembershipState
	(*RouteTargetMembership)(nil),            // 179: api.RouteTargetMembership
	(*LongLivedGracefulRestartConfig)(nil),   // 180: api.LongLivedGracefulRestartConfig
	(*LongLivedGracefulRestartState)(nil),    // 181: api.LongLivedGracefulRestartState
	(*LongLivedGracefulRestart)(nil),         // 182: api.LongLivedGracefulRestart
	(*AfiSafi)(nil),                          // 183: api.AfiSafi
	(*AddPathsConfig)(nil),                   // 184: api.AddPathsConfig
	(*AddPathsState)(nil),                    // 185: api.AddPathsState
	(*AddPaths)(nil),                         // 186: api.AddPaths
	(*Prefix)(nil),                           // 187: api.Prefix
	(*DefinedSet)(nil),                       // 188: api.DefinedSet
	(*MatchSet)(nil),                         // 189: api.MatchSet
	(*AsPathLength)(nil),                     // 190: api.AsPathLength
	(*CommunityCount)(nil),                   // 191: api.CommunityCount
	(*LocalPrefEq)(nil),                      // 192: api.LocalPrefEq
	(*MedEq)(nil),                            // 193: api.MedEq
	(*Conditions)(nil),                       // 194: api.Conditions
	(*CommunityAction)(nil),                  // 195: api.CommunityAction
	(*MedAction)(nil),                        // 196: api.MedAction
	(*AsPrependAction)(nil),                  // 197: api.AsPrependAction
	(*NexthopAction)(nil),                    // 198: api.NexthopAction
	(*LocalPrefAction)(nil),                  // 199: api.LocalPrefAction
	(*OriginAction)(nil),                     // 200: api.OriginAction
	(*Actions)(nil),                          // 201: api.Actions
	(*Statement)(nil),                        // 202: api.Statement
	(*Policy)(nil),                           // 203: api.Policy
	(*PolicyAssignment)(nil),                 // 204: api.PolicyAssignment
	(*RoutingPolicy)(nil),                    // 205: api.RoutingPolicy
	(*Roa)(nil),                              // 206: api.Roa
	(*Vrf)(nil),                              // 207: api.Vrf
	(*DefaultRouteDistance)(nil),             // 208: api.DefaultRouteDistance
	(*Global)(nil),                           // 209: api.Global
	(*Confederation)(nil),                    // 210: api.Confederation
	(*RPKIConf)(nil),                         // 211: api.RPKIConf
	(*RPKIState)(nil),                        // 212: api.RPKIState
	(*Rpki)(nil),                             // 213: api.Rpki
	(*SetLogLevelRequest)(nil),               // 214: api.SetLogLevelRequest
	(*SetLogLevelResponse)(nil),              // 215: api.SetLogLevelResponse
	(*BfdAsyncCounters)(nil),                 // 216: api.BfdAsyncCounters
	(*BfdPeerState)(nil),                     // 217: api.BfdPeerState
	(*BfdPeerConfig)(nil),                    // 218: api.BfdPeerConfig
	(*BfdState)(nil),                         // 219: api.BfdState
	(*WatchEventRequest_Peer)(nil),           // 220: api.WatchEventRequest.Peer
	(*WatchEventRequest_Table)(nil),          // 221: api.WatchEventRequest.Table
	(*WatchEventRequest_Table_Filter)(nil),   // 222: api.WatchEventRequest.Table.Filter
	(*WatchEventResponse_PeerEvent)(nil),     // 223: api.WatchEventResponse.PeerEvent
	(*WatchEventResponse_TableEvent)(nil),    // 224: api.WatchEventResponse.TableEvent
	(*ListBmpResponse_BmpStation)(nil),       // 225: api.ListBmpResponse.BmpStation
	(*ListBmpResponse_BmpStation_Conf)(nil),  // 226: api.ListBmpResponse.BmpStation.Conf
	(*ListBmpResponse_BmpStation_State)(nil), // 227: api.ListBmpResponse.BmpStation.State
	(*Family)(nil),                           // 228: api.Family
	(*NLRI)(nil),                             // 229: api.NLRI
	(*Attribute)(nil),                        // 230: api.Attribute
	(*timestamppb.Timestamp)(nil),            // 231: google.protobuf.Timestamp
	(*Capability)(nil),                       // 232: api.Capability
	(*RouteDistinguisher)(nil),               // 233: api.RouteDistinguisher
	(*RouteTarget)(nil),                      // 234: api.RouteTarget
}
var file_api_gobgp_proto_depIdxs = []int32{
	209, // 0: api.StartBgpRequest.global:type_name -> api.Global
	209, // 1: api.GetBgpResponse.global:type_name -> api.Global
	220, // 2: api.WatchEventRequest.peer:type_name -> api.WatchEventRequest.Peer
	221, // 3: api.WatchEventRequest.table:type_name -> api.WatchEventRequest.Table
	223, // 4: api.WatchEventResponse.peer:type_name -> api.WatchEventResponse.PeerEvent
	224, // 5: api.WatchEventResponse.table:type_name -> api.WatchEventResponse.TableEvent
	139, // 6: api.AddPeerRequest.peer:type_name -> api.Peer
	139, // 7: api.ListPeerResponse.peer:type_name -> api.Peer
	139, // 8: api.UpdatePeerRequest.peer:type_name -> api.Peer
	13,  // 9: api.ResetPeerRequest.direction:type_name -> api.ResetPeerRequest.Direction
	140, // 10: api.AddPeerGroupRequest.peer_group:type_name -> api.PeerGroup
	140, // 11: api.UpdatePeerGroupRequest.peer_group:type_name -> api.PeerGroup
	140, // 12: api.ListPeerGroupResponse.peer_group:type_name -> api.PeerGroup
	141, // 13: api.AddDynamicNeighborRequest.dynamic_neighbor:type_name -> api.DynamicNeighbor
	141, // 14: api.ListDynamicNeighborResponse.dynamic_neighbor:type_name -> api.DynamicNeighbor
	0,   // 15: api.AddPathRequest.table_type:type_name -> api.TableType
	137, // 16: api.AddPathRequest.path:type_name -> api.Path
	0,   // 17: api.DeletePathRequest.table_type:type_name -> api.TableType
	228, // 18: api.DeletePathRequest.family:type_name -> api.Family
	137, // 19: api.DeletePathRequest.path:type_name -> api.Path
	14,  // 20: api.TableLookupPrefix.type:type_name -> api.TableLookupPrefix.Type
	0,   // 21: api.ListPathRequest.table_type:type_name -> api.TableType
	228, // 22: api.ListPathRequest.family:type_name -> api.Family
	69,  // 23: api.ListPathRequest.prefixes:type_name -> api.TableLookupPrefix
	15,  // 24: api.ListPathRequest.sort_type:type_name -> api.ListPathRequest.SortType
	138, // 25: api.ListPathResponse.destination:type_name -> api.Destination
	0,   // 26: api.AddPathStreamRequest.table_type:type_name -> api.TableType
	137, // 27: api.AddPathStreamRequest.paths:type_name -> api.Path
	0,   // 28: api.GetTableRequest.table_type:type_name -> api.TableType
	228, // 29: api.GetTableRequest.family:type_name -> api.Family
	207, // 30: api.AddVrfRequest.vrf:type_name -> api.Vrf
	207, // 31: api.ListVrfResponse.vrf:type_name -> api.Vrf
	203, // 32: api.AddPolicyRequest.policy:type_name -> api.Policy
	203, // 33: api.DeletePolicyRequest.policy:type_name -> api.Policy
	203, // 34: api.ListPolicyResponse.policy:type_name -> api.Policy
	188, // 35: api.SetPoliciesRequest.defined_sets:type_name -> api.DefinedSet
	203, // 36: api.SetPoliciesRequest.policies:type_name -> api.Policy
	204, // 37: api.SetPoliciesRequest.assignments:type_name -> api.PolicyAssignment
	188, // 38: api.AddDefinedSetRequest.defined_set:type_name -> api.DefinedSet
	188, // 39: api.DeleteDefinedSetRequest.defined_set:type_name -> api.DefinedSet
	4,   // 40: api.ListDefinedSetRequest.defined_type:type_name -> api.DefinedType
	188, // 41: api.ListDefinedSetResponse.defined_set:type_name -> api.DefinedSet
	202, // 42: api.AddStatementRequest.statement:type_name -> api.Statement
	202, // 43: api.DeleteStatementRequest.statement:type_name -> api.Statement
	202, // 44: api.ListStatementResponse.statement:type_name -> api.Statement
	204, // 45: api.AddPolicyAssignmentRequest.assignment:type_name -> api.PolicyAssignment
	204, // 46: api.DeletePolicyAssignmentRequest.assignment:type_name -> api.PolicyAssignment
	8,   // 47: api.ListPolicyAssignmentRequest.direction:type_name -> api.PolicyDirection
	204, // 48: api.ListPolicyAssignmentResponse.assignment:type_name -> api.PolicyAssignment
	204, // 49: api.SetPolicyAssignmentRequest.assignment:type_name -> api.PolicyAssignment
	228, // 50: api.ListRpkiRequest.family:type_name -> api.Family
	213, // 51: api.ListRpkiResponse.server:type_name -> api.Rpki
	228, // 52: api.ListRpkiTableRequest.family:type_name -> api.Family
	206, // 53: api.ListRpkiTableResponse.roa:type_name -> api.Roa
	16,  // 54: api.EnableMrtRequest.dump_type:type_name -> api.EnableMrtRequest.DumpType
	17,  // 55: api.AddBmpRequest.policy:type_name -> api.AddBmpRequest.MonitoringPolicy
	225, // 56: api.ListBmpResponse.station:type_name -> api.ListBmpResponse.BmpStation
	1,   // 57: api.Validation.state:type_name -> api.ValidationState
	18,  // 58: api.Validation.reason:type_name -> api.Validation.Reason
	206, // 59: api.Validation.matched:type_name -> api.Roa
	206, // 60: api.Validation.unmatched_asn:type_name -> api.Roa
	206, // 61: api.Validation.unmatched_length:type_name -> api.Roa
	229, // 62: api.Path.nlri:type_name -> api.NLRI
	230, // 63: api.Path.pattrs:type_name -> api.Attribute
	231, // 64: api.Path.age:type_name -> google.protobuf.Timestamp
	136, // 65: api.Path.validation:type_name -> api.Validation
	228, // 66: api.Path.family:type_name -> api.Family
	137, // 67: api.Destination.paths:type_name -> api.Path
	142, // 68: api.Peer.apply_policy:type_name -> api.ApplyPolicy
	144, // 69: api.Peer.conf:type_name -> api.PeerConf
	148, // 70: api.Peer.ebgp_multihop:type_name -> api.EbgpMultihop
	149, // 71: api.Peer.route_reflector:type_name -> api.RouteReflector
	150, // 72: api.Peer.state:type_name -> api.PeerState
	154, // 73: api.Peer.timers:type_name -> api.Timers
	157, // 74: api.Peer.transport:type_name -> api.Transport
	158, // 75: api.Peer.route_server:type_name -> api.RouteServer
	159, // 76: api.Peer.graceful_restart:type_name -> api.GracefulRestart
	183, // 77: api.Peer.afi_safis:type_name -> api.AfiSafi
	147, // 78: api.Peer.ttl_security:type_name -> api.TtlSecurity
	218, // 79: api.Peer.bfd:type_name -> api.BfdPeerConfig
	142, // 80: api.PeerGroup.apply_policy:type_name -> api.ApplyPolicy
	145, // 81: api.PeerGroup.conf:type_name -> api.PeerGroupConf
	148, // 82: api.PeerGroup.ebgp_multihop:type_name -> api.EbgpMultihop
	149, // 83: api.PeerGroup.route_reflector:type_name -> api.RouteReflector
	146, // 84: api.PeerGroup.info:type_name -> api.PeerGroupState
	154, // 85: api.PeerGroup.timers:type_name -> api.Timers
	157, // 86: api.PeerGroup.transport:type_name -> api.Transport
	158, // 87: api.PeerGroup.route_server:type_name -> api.RouteServer
	159, // 88: api.PeerGroup.graceful_restart:type_name -> api.GracefulRestart
	183, // 89: api.PeerGroup.afi_safis:type_name -> api.AfiSafi
	147, // 90: api.PeerGroup.ttl_security:type_name -> api.TtlSecurity
	218, // 91: api.PeerGroup.bfd:type_name -> api.BfdPeerConfig
	204, // 92: api.ApplyPolicy.export_policy:type_name -> api.PolicyAssignment
	204, // 93: api.ApplyPolicy.import_policy:type_name -> api.PolicyAssignment
	228, // 94: api.PrefixLimit.family:type_name -> api.Family
	2,   // 95: api.PeerConf.type:type_name -> api.PeerType
	3,   // 96: api.PeerConf.remove_private:type_name -> api.RemovePrivate
	2,   // 97: api.PeerGroupConf.type:type_name -> api.PeerType
	3,   // 98: api.PeerGroupConf.remove_private:type_name -> api.RemovePrivate
	2,   // 99: api.PeerGroupState.type:type_name -> api.PeerType
	3,   // 100: api.PeerGroupState.remove_private:type_name -> api.RemovePrivate
	151, // 101: api.PeerState.messages:type_name -> api.Messages
	2,   // 102: api.PeerState.type:type_name -> api.PeerType
	153, // 103: api.PeerState.queues:type_name -> api.Queues
	3,   // 104: api.PeerState.remove_private:type_name -> api.RemovePrivate
	19,  // 105: api.PeerState.session_state:type_name -> api.PeerState.SessionState
	20,  // 106: api.PeerState.admin_state:type_name -> api.PeerState.AdminState
	232, // 107: api.PeerState.remote_cap:type_name -> api.Capability
	232, // 108: api.PeerState.local_cap:type_name -> api.Capability
	21,  // 109: api.PeerState.disconnect_reason:type_name -> api.PeerState.DisconnectReason
	217, // 110: api.PeerState.bfd_state:type_name -> api.BfdPeerState
	152, // 111: api.Messages.received:type_name -> api.Message
	152, // 112: api.Messages.sent:type_name -> api.Message
	155, // 113: api.Timers.config:type_name -> api.TimersConfig
	156, // 114: api.Timers.state:type_name -> api.TimersState
	231, // 115: api.TimersState.uptime:type_name -> google.protobuf.Timestamp
	231, // 116: api.TimersState.downtime:type_name -> google.protobuf.Timestamp
	160, // 117: api.MpGracefulRestart.config:type_name -> api.MpGracefulRestartConfig
	161, // 118: api.MpGracefulRestart.state:type_name -> api.MpGracefulRestartState
	228, // 119: api.AfiSafiConfig.family:type_name -> api.Family
	228, // 120: api.AfiSafiState.family:type_name -> api.Family
	165, // 121: api.RouteSelectionOptions.config:type_name -> api.RouteSelectionOptionsConfig
	166, // 122: api.RouteSelectionOptions.state:type_name -> api.RouteSelectionOptionsState
	170, // 123: api.Ebgp.config:type_name -> api.EbgpConfig
	171, // 124: api.Ebgp.state:type_name -> api.EbgpState
	173, // 125: api.Ibgp.config:type_name -> api.IbgpConfig
	174, // 126: api.Ibgp.state:type_name -> api.IbgpState
	168, // 127: api.UseMultiplePaths.config:type_name -> api.UseMultiplePathsConfig
	169, // 128: api.UseMultiplePaths.state:type_name -> api.UseMultiplePathsState
	172, // 129: api.UseMultiplePaths.ebgp:type_name -> api.Ebgp
	175, // 130: api.UseMultiplePaths.ibgp:type_name -> api.Ibgp
	177, // 131: api.RouteTargetMembership.config:type_name -> api.RouteTargetMembershipConfig
	178, // 132: api.RouteTargetMembership.state:type_name -> api.RouteTargetMembershipState
	180, // 133: api.LongLivedGracefulRestart.config:type_name -> api.LongLivedGracefulRestartConfig
	181, // 134: api.LongLivedGracefulRestart.state:type_name -> api.LongLivedGracefulRestartState
	162, // 135: api.AfiSafi.mp_graceful_restart:type_name -> api.MpGracefulRestart
	163, // 136: api.AfiSafi.config:type_name -> api.AfiSafiConfig
	164, // 137: api.AfiSafi.state:type_name -> api.AfiSafiState
	142, // 138: api.AfiSafi.apply_policy:type_name -> api.ApplyPolicy
	167, // 139: api.AfiSafi.route_selection_options:type_name -> api.RouteSelectionOptions
	176, // 140: api.AfiSafi.use_multiple_paths:type_name -> api.UseMultiplePaths
	143, // 141: api.AfiSafi.prefix_limits:type_name -> api.PrefixLimit
	179, // 142: api.AfiSafi.route_target_membership:type_name -> api.RouteTargetMembership
	182, // 143: api.AfiSafi.long_lived_graceful_restart:type_name -> api.LongLivedGracefulRestart
	186, // 144: api.AfiSafi.add_paths:type_name -> api.AddPaths
	184, // 145: api.AddPaths.config:type_name -> api.AddPathsConfig
	185, // 146: api.AddPaths.state:type_name -> api.AddPathsState
	4,   // 147: api.DefinedSet.defined_type:type_name -> api.DefinedType
	187, // 148: api.DefinedSet.prefixes:type_name -> api.Prefix
	22,  // 149: api.MatchSet.type:type_name -> api.MatchSet.Type
	5,   // 150: api.AsPathLength.type:type_name -> api.Comparison
	5,   // 151: api.CommunityCount.type:type_name -> api.Comparison
	189, // 152: api.Conditions.prefix_set:type_name -> api.MatchSet
	189, // 153: api.Conditions.neighbor_set:type_name -> api.MatchSet
	190, // 154: api.Conditions.as_path_length:type_name -> api.AsPathLength
	189, // 155: api.Conditions.as_path_set:type_name -> api.MatchSet
	189, // 156: api.Conditions.community_set:type_name -> api.MatchSet
	189, // 157: api.Conditions.ext_community_set:type_name -> api.MatchSet
	1,   // 158: api.Conditions.rpki_result:type_name -> api.ValidationState
	23,  // 159: api.Conditions.route_type:type_name -> api.Conditions.RouteType
	189, // 160: api.Conditions.large_community_set:type_name -> api.MatchSet
	228, // 161: api.Conditions.afi_safi_in:type_name -> api.Family
	191, // 162: api.Conditions.community_count:type_name -> api.CommunityCount
	6,   // 163: api.Conditions.origin:type_name -> api.OriginType
	192, // 164: api.Conditions.local_pref_eq:type_name -> api.LocalPrefEq
	193, // 165: api.Conditions.med_eq:type_name -> api.MedEq
	24,  // 166: api.CommunityAction.type:type_name -> api.CommunityAction.Type
	25,  // 167: api.MedAction.type:type_name -> api.MedAction.Type
	6,   // 168: api.OriginAction.origin:type_name -> api.OriginType
	7,   // 169: api.Actions.route_action:type_name -> api.RouteAction
	195, // 170: api.Actions.community:type_name -> api.CommunityAction
	196, // 171: api.Actions.med:type_name -> api.MedAction
	197, // 172: api.Actions.as_prepend:type_name -> api.AsPrependAction
	195, // 173: api.Actions.ext_community:type_name -> api.CommunityAction
	198, // 174: api.Actions.nexthop:type_name -> api.NexthopAction
	199, // 175: api.Actions.local_pref:type_name -> api.LocalPrefAction
	195, // 176: api.Actions.large_community:type_name -> api.CommunityAction
	200, // 177: api.Actions.origin_action:type_name -> api.OriginAction
	194, // 178: api.Statement.conditions:type_name -> api.Conditions
	201, // 179: api.Statement.actions:type_name -> api.Actions
	202, // 180: api.Policy.statements:type_name -> api.Statement
	8,   // 181: api.PolicyAssignment.direction:type_name -> api.PolicyDirection
	203, // 182: api.PolicyAssignment.policies:type_name -> api.Policy
	7,   // 183: api.PolicyAssignment.default_action:type_name -> api.RouteAction
	188, // 184: api.RoutingPolicy.defined_sets:type_name -> api.DefinedSet
	203, // 185: api.RoutingPolicy.policies:type_name -> api.Policy
	211, // 186: api.Roa.conf:type_name -> api.RPKIConf
	233, // 187: api.Vrf.rd:type_name -> api.RouteDistinguisher
	234, // 188: api.Vrf.import_rt:type_name -> api.RouteTarget
	234, // 189: api.Vrf.export_rt:type_name -> api.RouteTarget
	165, // 190: api.Global.route_selection_options:type_name -> api.RouteSelectionOptionsConfig
	208, // 191: api.Global.default_route_distance:type_name -> api.DefaultRouteDistance
	210, // 192: api.Global.confederation:type_name -> api.Confederation
	159, // 193: api.Global.graceful_restart:type_name -> api.GracefulRestart
	231, // 194: api.RPKIState.uptime:type_name -> google.protobuf.Timestamp
	231, // 195: api.RPKIState.downtime:type_name -> google.protobuf.Timestamp
	211, // 196: api.Rpki.conf:type_name -> api.RPKIConf
	212, // 197: api.Rpki.state:type_name -> api.RPKIState
	26,  // 198: api.SetLogLevelRequest.level:type_name -> api.SetLogLevelRequest.Level
	9,   // 199: api.BfdPeerState.session_state:type_name -> api.BfdSessionState
	9,   // 200: api.BfdPeerState.remote_session_state:type_name -> api.BfdSessionState
	10,  // 201: api.BfdPeerState.local_diagnostic_code:type_name -> api.BfdDiagnosticCode
	10,  // 202: api.BfdPeerState.remote_diagnostic_code:type_name -> api.BfdDiagnosticCode
	216, // 203: api.BfdPeerState.bfd_async:type_name -> api.BfdAsyncCounters
	222, // 204: api.WatchEventRequest.Table.filters:type_name -> api.WatchEventRequest.Table.Filter
	11,  // 205: api.WatchEventRequest.Table.Filter.type:type_name -> api.WatchEventRequest.Table.Filter.Type
	12,  // 206: api.WatchEventResponse.PeerEvent.type:type_name -> api.WatchEventResponse.PeerEvent.Type
	139, // 207: api.WatchEventResponse.PeerEvent.peer:type_name -> api.Peer
	137, // 208: api.WatchEventResponse.TableEvent.paths:type_name -> api.Path
	226, // 209: api.ListBmpResponse.BmpStation.conf:type_name -> api.ListBmpResponse.BmpStation.Conf
	227, // 210: api.ListBmpResponse.BmpStation.state:type_name -> api.ListBmpResponse.BmpStation.State
	231, // 211: api.ListBmpResponse.BmpStation.State.uptime:type_name -> google.protobuf.Timestamp
	231, // 212: api.ListBmpResponse.BmpStation.State.downtime:type_name -> google.protobuf.Timestamp
	27,  // 213: api.GoBgpService.StartBgp:input_type -> api.StartBgpRequest
	29,  // 214: api.GoBgpService.StopBgp:input_type -> api.StopBgpRequest
	31,  // 215: api.GoBgpService.GetBgp:input_type -> api.GetBgpRequest
	33,  // 216: api.GoBgpService.WatchEvent:input_type -> api.WatchEventRequest
	35,  // 217: api.GoBgpService.AddPeer:input_type -> api.AddPeerRequest
	37,  // 218: api.GoBgpService.DeletePeer:input_type -> api.DeletePeerRequest
	39,  // 219: api.GoBgpService.ListPeer:input_type -> api.ListPeerRequest
	41,  // 220: api.GoBgpService.UpdatePeer:input_type -> api.UpdatePeerRequest
	43,  // 221: api.GoBgpService.ResetPeer:input_type -> api.ResetPeerRequest
	45,  // 222: api.GoBgpService.ShutdownPeer:input_type -> api.ShutdownPeerRequest
	47,  // 223: api.GoBgpService.EnablePeer:input_type -> api.EnablePeerRequest
	49,  // 224: api.GoBgpService.DisablePeer:input_type -> api.DisablePeerRequest
	51,  // 225: api.GoBgpService.AddPeerGroup:input_type -> api.AddPeerGroupRequest
	53,  // 226: api.GoBgpService.DeletePeerGroup:input_type -> api.DeletePeerGroupRequest
	57,  // 227: api.GoBgpService.ListPeerGroup:input_type -> api.ListPeerGroupRequest
	55,  // 228: api.GoBgpService.UpdatePeerGroup:input_type -> api.UpdatePeerGroupRequest
	59,  // 229: api.GoBgpService.AddDynamicNeighbor:input_type -> api.AddDynamicNeighborRequest
	63,  // 230: api.GoBgpService.ListDynamicNeighbor:input_type -> api.ListDynamicNeighborRequest
	61,  // 231: api.GoBgpService.DeleteDynamicNeighbor:input_type -> api.DeleteDynamicNeighborRequest
	65,  // 232: api.GoBgpService.AddPath:input_type -> api.AddPathRequest
	67,  // 233: api.GoBgpService.DeletePath:input_type -> api.DeletePathRequest
	70,  // 234: api.GoBgpService.ListPath:input_type -> api.ListPathRequest
	72,  // 235: api.GoBgpService.AddPathStream:input_type -> api.AddPathStreamRequest
	74,  // 236: api.GoBgpService.GetTable:input_type -> api.GetTableRequest
	76,  // 237: api.GoBgpService.AddVrf:input_type -> api.AddVrfRequest
	78,  // 238: api.GoBgpService.DeleteVrf:input_type -> api.DeleteVrfRequest
	80,  // 239: api.GoBgpService.ListVrf:input_type -> api.ListVrfRequest
	82,  // 240: api.GoBgpService.AddPolicy:input_type -> api.AddPolicyRequest
	84,  // 241: api.GoBgpService.DeletePolicy:input_type -> api.DeletePolicyRequest
	86,  // 242: api.GoBgpService.ListPolicy:input_type -> api.ListPolicyRequest
	88,  // 243: api.GoBgpService.SetPolicies:input_type -> api.SetPoliciesRequest
	90,  // 244: api.GoBgpService.AddDefinedSet:input_type -> api.AddDefinedSetRequest
	92,  // 245: api.GoBgpService.DeleteDefinedSet:input_type -> api.DeleteDefinedSetRequest
	94,  // 246: api.GoBgpService.ListDefinedSet:input_type -> api.ListDefinedSetRequest
	96,  // 247: api.GoBgpService.AddStatement:input_type -> api.AddStatementRequest
	98,  // 248: api.GoBgpService.DeleteStatement:input_type -> api.DeleteStatementRequest
	100, // 249: api.GoBgpService.ListStatement:input_type -> api.ListStatementRequest
	102, // 250: api.GoBgpService.AddPolicyAssignment:input_type -> api.AddPolicyAssignmentRequest
	104, // 251: api.GoBgpService.DeletePolicyAssignment:input_type -> api.DeletePolicyAssignmentRequest
	106, // 252: api.GoBgpService.ListPolicyAssignment:input_type -> api.ListPolicyAssignmentRequest
	108, // 253: api.GoBgpService.SetPolicyAssignment:input_type -> api.SetPolicyAssignmentRequest
	110, // 254: api.GoBgpService.AddRpki:input_type -> api.AddRpkiRequest
	112, // 255: api.GoBgpService.DeleteRpki:input_type -> api.DeleteRpkiRequest
	114, // 256: api.GoBgpService.ListRpki:input_type -> api.ListRpkiRequest
	116, // 257: api.GoBgpService.EnableRpki:input_type -> api.EnableRpkiRequest
	118, // 258: api.GoBgpService.DisableRpki:input_type -> api.DisableRpkiRequest
	120, // 259: api.GoBgpService.ResetRpki:input_type -> api.ResetRpkiRequest
	122, // 260: api.GoBgpService.ListRpkiTable:input_type -> api.ListRpkiTableRequest
	124, // 261: api.GoBgpService.EnableZebra:input_type -> api.EnableZebraRequest
	126, // 262: api.GoBgpService.EnableMrt:input_type -> api.EnableMrtRequest
	128, // 263: api.GoBgpService.DisableMrt:input_type -> api.DisableMrtRequest
	130, // 264: api.GoBgpService.AddBmp:input_type -> api.AddBmpRequest
	132, // 265: api.GoBgpService.DeleteBmp:input_type -> api.DeleteBmpRequest
	134, // 266: api.GoBgpService.ListBmp:input_type -> api.ListBmpRequest
	214, // 267: api.GoBgpService.SetLogLevel:input_type -> api.SetLogLevelRequest
	28,  // 268: api.GoBgpService.StartBgp:output_type -> api.StartBgpResponse
	30,  // 269: api.GoBgpService.StopBgp:output_type -> api.StopBgpResponse
	32,  // 270: api.GoBgpService.GetBgp:output_type -> api.GetBgpResponse
	34,  // 271: api.GoBgpService.WatchEvent:output_type -> api.WatchEventResponse
	36,  // 272: api.GoBgpService.AddPeer:output_type -> api.AddPeerResponse
	38,  // 273: api.GoBgpService.DeletePeer:output_type -> api.DeletePeerResponse
	40,  // 274: api.GoBgpService.ListPeer:output_type -> api.ListPeerResponse
	42,  // 275: api.GoBgpService.UpdatePeer:output_type -> api.UpdatePeerResponse
	44,  // 276: api.GoBgpService.ResetPeer:output_type -> api.ResetPeerResponse
	46,  // 277: api.GoBgpService.ShutdownPeer:output_type -> api.ShutdownPeerResponse
	48,  // 278: api.GoBgpService.EnablePeer:output_type -> api.EnablePeerResponse
	50,  // 279: api.GoBgpService.DisablePeer:output_type -> api.DisablePeerResponse
	52,  // 280: api.GoBgpService.AddPeerGroup:output_type -> api.AddPeerGroupResponse
	54,  // 281: api.GoBgpService.DeletePeerGroup:output_type -> api.DeletePeerGroupResponse
	58,  // 282: api.GoBgpService.ListPeerGroup:output_type -> api.ListPeerGroupResponse
	56,  // 283: api.GoBgpService.UpdatePeerGroup:output_type -> api.UpdatePeerGroupResponse
	60,  // 284: api.GoBgpService.AddDynamicNeighbor:output_type -> api.AddDynamicNeighborResponse
	64,  // 285: api.GoBgpService.ListDynamicNeighbor:output_type -> api.ListDynamicNeighborResponse
	62,  // 286: api.GoBgpService.DeleteDynamicNeighbor:output_type -> api.DeleteDynamicNeighborResponse
	66,  // 287: api.GoBgpService.AddPath:output_type -> api.AddPathResponse
	68,  // 288: api.GoBgpService.DeletePath:output_type -> api.DeletePathResponse
	71,  // 289: api.GoBgpService.ListPath:output_type -> api.ListPathResponse
	73,  // 290: api.GoBgpService.AddPathStream:output_type -> api.AddPathStreamResponse
	75,  // 291: api.GoBgpService.GetTable:output_type -> api.GetTableResponse
	77,  // 292: api.GoBgpService.AddVrf:output_type -> api.AddVrfResponse
	79,  // 293: api.GoBgpService.DeleteVrf:output_type -> api.DeleteVrfResponse
	81,  // 294: api.GoBgpService.ListVrf:output_type -> api.ListVrfResponse
	83,  // 295: api.GoBgpService.AddPolicy:output_type -> api.AddPolicyResponse
	85,  // 296: api.GoBgpService.DeletePolicy:output_type -> api.DeletePolicyResponse
	87,  // 297: api.GoBgpService.ListPolicy:output_type -> api.ListPolicyResponse
	89,  // 298: api.GoBgpService.SetPolicies:output_type -> api.SetPoliciesResponse
	91,  // 299: api.GoBgpService.AddDefinedSet:output_type -> api.AddDefinedSetResponse
	93,  // 300: api.GoBgpService.DeleteDefinedSet:output_type -> api.DeleteDefinedSetResponse
	95,  // 301: api.GoBgpService.ListDefinedSet:output_type -> api.ListDefinedSetResponse
	97,  // 302: api.GoBgpService.AddStatement:output_type -> api.AddStatementResponse
	99,  // 303: api.GoBgpService.DeleteStatement:output_type -> api.DeleteStatementResponse
	101, // 304: api.GoBgpService.ListStatement:output_type -> api.ListStatementResponse
	103, // 305: api.GoBgpService.AddPolicyAssignment:output_type -> api.AddPolicyAssignmentResponse
	105, // 306: api.GoBgpService.DeletePolicyAssignment:output_type -> api.DeletePolicyAssignmentResponse
	107, // 307: api.GoBgpService.ListPolicyAssignment:output_type -> api.ListPolicyAssignmentResponse
	109, // 308: api.GoBgpService.SetPolicyAssignment:output_type -> api.SetPolicyAssignmentResponse
	111, // 309: api.GoBgpService.AddRpki:output_type -> api.AddRpkiResponse
	113, // 310: api.GoBgpService.DeleteRpki:output_type -> api.DeleteRpkiResponse
	115, // 311: api.GoBgpService.ListRpki:output_type -> api.ListRpkiResponse
	117, // 312: api.GoBgpService.EnableRpki:output_type -> api.EnableRpkiResponse
	119, // 313: api.GoBgpService.DisableRpki:output_type -> api.DisableRpkiResponse
	121, // 314: api.GoBgpService.ResetRpki:output_type -> api.ResetRpkiResponse
	123, // 315: api.GoBgpService.ListRpkiTable:output_type -> api.ListRpkiTableResponse
	125, // 316: api.GoBgpService.EnableZebra:output_type -> api.EnableZebraResponse
	127, // 317: api.GoBgpService.EnableMrt:output_type -> api.EnableMrtResponse
	129, // 318: api.GoBgpService.DisableMrt:output_type -> api.DisableMrtResponse
	131, // 319: api.GoBgpService.AddBmp:output_type -> api.AddBmpResponse
	133, // 320: api.GoBgpService.DeleteBmp:output_type -> api.DeleteBmpResponse
	135, // 321: api.GoBgpService.ListBmp:output_type -> api.ListBmpResponse
	215, // 322: api.GoBgpService.SetLogLevel:output_type -> api.SetLogLevelResponse
	268, // [268:323] is the sub-list for method output_type
	213, // [213:268] is the sub-list for method input_type
	213, // [213:213] is the sub-list for extension type_name
	213, // [213:213] is the sub-list for extension extendee
	0,   // [0:213] is the sub-list for field type_name
}

func init() { file_api_gobgp_proto_init() }
func file_api_gobgp_proto_init() {
	if File_api_gobgp_proto != nil {
		return
	}
	file_api_attribute_proto_init()
	file_api_capability_proto_init()
	file_api_common_proto_init()
	file_api_extcom_proto_init()
	file_api_nlri_proto_init()
	file_api_gobgp_proto_msgTypes[7].OneofWrappers = []any{
		(*WatchEventResponse_Peer)(nil),
		(*WatchEventResponse_Table)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_gobgp_proto_rawDesc), len(file_api_gobgp_proto_rawDesc)),
			NumEnums:      27,
			NumMessages:   201,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_api_gobgp_proto_goTypes,
		DependencyIndexes: file_api_gobgp_proto_depIdxs,
		EnumInfos:         file_api_gobgp_proto_enumTypes,
		MessageInfos:      file_api_gobgp_proto_msgTypes,
	}.Build()
	File_api_gobgp_proto = out.File
	file_api_gobgp_proto_goTypes = nil
	file_api_gobgp_proto_depIdxs = nil
}
