// Code generated by protoc-gen-go.
// source: capability.proto
// DO NOT EDIT!

package gobgpapi

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

type AddPathMode int32

const (
	AddPathMode_MODE_NONE    AddPathMode = 0
	AddPathMode_MODE_RECEIVE AddPathMode = 1
	AddPathMode_MODE_SEND    AddPathMode = 2
	AddPathMode_MODE_BOTH    AddPathMode = 3
)

var AddPathMode_name = map[int32]string{
	0: "MODE_NONE",
	1: "MODE_RECEIVE",
	2: "MODE_SEND",
	3: "MODE_BOTH",
}
var AddPathMode_value = map[string]int32{
	"MODE_NONE":    0,
	"MODE_RECEIVE": 1,
	"MODE_SEND":    2,
	"MODE_BOTH":    3,
}

func (x AddPathMode) String() string {
	return proto.EnumName(AddPathMode_name, int32(x))
}
func (AddPathMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }

type MultiProtocolCapability struct {
	Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"`
}

func (m *MultiProtocolCapability) Reset()                    { *m = MultiProtocolCapability{} }
func (m *MultiProtocolCapability) String() string            { return proto.CompactTextString(m) }
func (*MultiProtocolCapability) ProtoMessage()               {}
func (*MultiProtocolCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }

func (m *MultiProtocolCapability) GetFamily() *Family {
	if m != nil {
		return m.Family
	}
	return nil
}

type RouteRefreshCapability struct {
}

func (m *RouteRefreshCapability) Reset()                    { *m = RouteRefreshCapability{} }
func (m *RouteRefreshCapability) String() string            { return proto.CompactTextString(m) }
func (*RouteRefreshCapability) ProtoMessage()               {}
func (*RouteRefreshCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }

type CarryingLabelInfoCapability struct {
}

func (m *CarryingLabelInfoCapability) Reset()                    { *m = CarryingLabelInfoCapability{} }
func (m *CarryingLabelInfoCapability) String() string            { return proto.CompactTextString(m) }
func (*CarryingLabelInfoCapability) ProtoMessage()               {}
func (*CarryingLabelInfoCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }

type ExtendedNexthopCapabilityTuple struct {
	NlriFamily *Family `protobuf:"bytes,1,opt,name=nlri_family,json=nlriFamily" json:"nlri_family,omitempty"`
	// Nexthop AFI must be either
	// gobgp.IPv4 or
	// gobgp.IPv6.
	NexthopFamily *Family `protobuf:"bytes,2,opt,name=nexthop_family,json=nexthopFamily" json:"nexthop_family,omitempty"`
}

func (m *ExtendedNexthopCapabilityTuple) Reset()                    { *m = ExtendedNexthopCapabilityTuple{} }
func (m *ExtendedNexthopCapabilityTuple) String() string            { return proto.CompactTextString(m) }
func (*ExtendedNexthopCapabilityTuple) ProtoMessage()               {}
func (*ExtendedNexthopCapabilityTuple) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }

func (m *ExtendedNexthopCapabilityTuple) GetNlriFamily() *Family {
	if m != nil {
		return m.NlriFamily
	}
	return nil
}

func (m *ExtendedNexthopCapabilityTuple) GetNexthopFamily() *Family {
	if m != nil {
		return m.NexthopFamily
	}
	return nil
}

type ExtendedNexthopCapability struct {
	Tuples []*ExtendedNexthopCapabilityTuple `protobuf:"bytes,1,rep,name=tuples" json:"tuples,omitempty"`
}

func (m *ExtendedNexthopCapability) Reset()                    { *m = ExtendedNexthopCapability{} }
func (m *ExtendedNexthopCapability) String() string            { return proto.CompactTextString(m) }
func (*ExtendedNexthopCapability) ProtoMessage()               {}
func (*ExtendedNexthopCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }

func (m *ExtendedNexthopCapability) GetTuples() []*ExtendedNexthopCapabilityTuple {
	if m != nil {
		return m.Tuples
	}
	return nil
}

type GracefulRestartCapabilityTuple struct {
	Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"`
	Flags  uint32  `protobuf:"varint,2,opt,name=flags" json:"flags,omitempty"`
}

func (m *GracefulRestartCapabilityTuple) Reset()                    { *m = GracefulRestartCapabilityTuple{} }
func (m *GracefulRestartCapabilityTuple) String() string            { return proto.CompactTextString(m) }
func (*GracefulRestartCapabilityTuple) ProtoMessage()               {}
func (*GracefulRestartCapabilityTuple) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }

func (m *GracefulRestartCapabilityTuple) GetFamily() *Family {
	if m != nil {
		return m.Family
	}
	return nil
}

func (m *GracefulRestartCapabilityTuple) GetFlags() uint32 {
	if m != nil {
		return m.Flags
	}
	return 0
}

type GracefulRestartCapability struct {
	Flags  uint32                            `protobuf:"varint,1,opt,name=flags" json:"flags,omitempty"`
	Time   uint32                            `protobuf:"varint,2,opt,name=time" json:"time,omitempty"`
	Tuples []*GracefulRestartCapabilityTuple `protobuf:"bytes,3,rep,name=tuples" json:"tuples,omitempty"`
}

func (m *GracefulRestartCapability) Reset()                    { *m = GracefulRestartCapability{} }
func (m *GracefulRestartCapability) String() string            { return proto.CompactTextString(m) }
func (*GracefulRestartCapability) ProtoMessage()               {}
func (*GracefulRestartCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }

func (m *GracefulRestartCapability) GetFlags() uint32 {
	if m != nil {
		return m.Flags
	}
	return 0
}

func (m *GracefulRestartCapability) GetTime() uint32 {
	if m != nil {
		return m.Time
	}
	return 0
}

func (m *GracefulRestartCapability) GetTuples() []*GracefulRestartCapabilityTuple {
	if m != nil {
		return m.Tuples
	}
	return nil
}

type FourOctetASNumberCapability struct {
	As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"`
}

func (m *FourOctetASNumberCapability) Reset()                    { *m = FourOctetASNumberCapability{} }
func (m *FourOctetASNumberCapability) String() string            { return proto.CompactTextString(m) }
func (*FourOctetASNumberCapability) ProtoMessage()               {}
func (*FourOctetASNumberCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }

func (m *FourOctetASNumberCapability) GetAs() uint32 {
	if m != nil {
		return m.As
	}
	return 0
}

type AddPathCapabilityTuple struct {
	Family *Family     `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"`
	Mode   AddPathMode `protobuf:"varint,2,opt,name=mode,enum=gobgpapi.AddPathMode" json:"mode,omitempty"`
}

func (m *AddPathCapabilityTuple) Reset()                    { *m = AddPathCapabilityTuple{} }
func (m *AddPathCapabilityTuple) String() string            { return proto.CompactTextString(m) }
func (*AddPathCapabilityTuple) ProtoMessage()               {}
func (*AddPathCapabilityTuple) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }

func (m *AddPathCapabilityTuple) GetFamily() *Family {
	if m != nil {
		return m.Family
	}
	return nil
}

func (m *AddPathCapabilityTuple) GetMode() AddPathMode {
	if m != nil {
		return m.Mode
	}
	return AddPathMode_MODE_NONE
}

type AddPathCapability struct {
	Tuples []*AddPathCapabilityTuple `protobuf:"bytes,1,rep,name=tuples" json:"tuples,omitempty"`
}

func (m *AddPathCapability) Reset()                    { *m = AddPathCapability{} }
func (m *AddPathCapability) String() string            { return proto.CompactTextString(m) }
func (*AddPathCapability) ProtoMessage()               {}
func (*AddPathCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }

func (m *AddPathCapability) GetTuples() []*AddPathCapabilityTuple {
	if m != nil {
		return m.Tuples
	}
	return nil
}

type EnhancedRouteRefreshCapability struct {
}

func (m *EnhancedRouteRefreshCapability) Reset()                    { *m = EnhancedRouteRefreshCapability{} }
func (m *EnhancedRouteRefreshCapability) String() string            { return proto.CompactTextString(m) }
func (*EnhancedRouteRefreshCapability) ProtoMessage()               {}
func (*EnhancedRouteRefreshCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{10} }

type LongLivedGracefulRestartCapabilityTuple struct {
	Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"`
	Flags  uint32  `protobuf:"varint,2,opt,name=flags" json:"flags,omitempty"`
	Time   uint32  `protobuf:"varint,3,opt,name=time" json:"time,omitempty"`
}

func (m *LongLivedGracefulRestartCapabilityTuple) Reset() {
	*m = LongLivedGracefulRestartCapabilityTuple{}
}
func (m *LongLivedGracefulRestartCapabilityTuple) String() string { return proto.CompactTextString(m) }
func (*LongLivedGracefulRestartCapabilityTuple) ProtoMessage()    {}
func (*LongLivedGracefulRestartCapabilityTuple) Descriptor() ([]byte, []int) {
	return fileDescriptor2, []int{11}
}

func (m *LongLivedGracefulRestartCapabilityTuple) GetFamily() *Family {
	if m != nil {
		return m.Family
	}
	return nil
}

func (m *LongLivedGracefulRestartCapabilityTuple) GetFlags() uint32 {
	if m != nil {
		return m.Flags
	}
	return 0
}

func (m *LongLivedGracefulRestartCapabilityTuple) GetTime() uint32 {
	if m != nil {
		return m.Time
	}
	return 0
}

type LongLivedGracefulRestartCapability struct {
	Tuples []*LongLivedGracefulRestartCapabilityTuple `protobuf:"bytes,1,rep,name=tuples" json:"tuples,omitempty"`
}

func (m *LongLivedGracefulRestartCapability) Reset()         { *m = LongLivedGracefulRestartCapability{} }
func (m *LongLivedGracefulRestartCapability) String() string { return proto.CompactTextString(m) }
func (*LongLivedGracefulRestartCapability) ProtoMessage()    {}
func (*LongLivedGracefulRestartCapability) Descriptor() ([]byte, []int) {
	return fileDescriptor2, []int{12}
}

func (m *LongLivedGracefulRestartCapability) GetTuples() []*LongLivedGracefulRestartCapabilityTuple {
	if m != nil {
		return m.Tuples
	}
	return nil
}

type RouteRefreshCiscoCapability struct {
}

func (m *RouteRefreshCiscoCapability) Reset()                    { *m = RouteRefreshCiscoCapability{} }
func (m *RouteRefreshCiscoCapability) String() string            { return proto.CompactTextString(m) }
func (*RouteRefreshCiscoCapability) ProtoMessage()               {}
func (*RouteRefreshCiscoCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{13} }

type UnknownCapability struct {
	Code  uint32 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"`
	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *UnknownCapability) Reset()                    { *m = UnknownCapability{} }
func (m *UnknownCapability) String() string            { return proto.CompactTextString(m) }
func (*UnknownCapability) ProtoMessage()               {}
func (*UnknownCapability) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{14} }

func (m *UnknownCapability) GetCode() uint32 {
	if m != nil {
		return m.Code
	}
	return 0
}

func (m *UnknownCapability) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

func init() {
	proto.RegisterType((*MultiProtocolCapability)(nil), "gobgpapi.MultiProtocolCapability")
	proto.RegisterType((*RouteRefreshCapability)(nil), "gobgpapi.RouteRefreshCapability")
	proto.RegisterType((*CarryingLabelInfoCapability)(nil), "gobgpapi.CarryingLabelInfoCapability")
	proto.RegisterType((*ExtendedNexthopCapabilityTuple)(nil), "gobgpapi.ExtendedNexthopCapabilityTuple")
	proto.RegisterType((*ExtendedNexthopCapability)(nil), "gobgpapi.ExtendedNexthopCapability")
	proto.RegisterType((*GracefulRestartCapabilityTuple)(nil), "gobgpapi.GracefulRestartCapabilityTuple")
	proto.RegisterType((*GracefulRestartCapability)(nil), "gobgpapi.GracefulRestartCapability")
	proto.RegisterType((*FourOctetASNumberCapability)(nil), "gobgpapi.FourOctetASNumberCapability")
	proto.RegisterType((*AddPathCapabilityTuple)(nil), "gobgpapi.AddPathCapabilityTuple")
	proto.RegisterType((*AddPathCapability)(nil), "gobgpapi.AddPathCapability")
	proto.RegisterType((*EnhancedRouteRefreshCapability)(nil), "gobgpapi.EnhancedRouteRefreshCapability")
	proto.RegisterType((*LongLivedGracefulRestartCapabilityTuple)(nil), "gobgpapi.LongLivedGracefulRestartCapabilityTuple")
	proto.RegisterType((*LongLivedGracefulRestartCapability)(nil), "gobgpapi.LongLivedGracefulRestartCapability")
	proto.RegisterType((*RouteRefreshCiscoCapability)(nil), "gobgpapi.RouteRefreshCiscoCapability")
	proto.RegisterType((*UnknownCapability)(nil), "gobgpapi.UnknownCapability")
	proto.RegisterEnum("gobgpapi.AddPathMode", AddPathMode_name, AddPathMode_value)
}

func init() { proto.RegisterFile("capability.proto", fileDescriptor2) }

var fileDescriptor2 = []byte{
	// 520 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x54, 0x4d, 0x6f, 0xd3, 0x40,
	0x10, 0xc5, 0x49, 0x88, 0x60, 0xd2, 0x44, 0xee, 0x0a, 0x4a, 0x4a, 0xd4, 0x28, 0xda, 0x0b, 0x01,
	0x89, 0x48, 0x0d, 0x07, 0xb8, 0x20, 0x51, 0x52, 0x17, 0x22, 0xe5, 0xa3, 0x72, 0x0b, 0x37, 0x54,
	0x36, 0xf6, 0xc6, 0x59, 0xb1, 0xde, 0xb5, 0xec, 0x75, 0x69, 0x0e, 0x9c, 0xb9, 0xf0, 0xa3, 0x91,
	0x3f, 0x62, 0x9b, 0x54, 0x6e, 0x2b, 0xa4, 0xde, 0x66, 0xbc, 0x33, 0x6f, 0xde, 0x9b, 0xb7, 0x6b,
	0xd0, 0x2d, 0xe2, 0x91, 0x05, 0xe3, 0x4c, 0xad, 0x07, 0x9e, 0x2f, 0x95, 0x44, 0x8f, 0x1c, 0xb9,
	0x70, 0x3c, 0xe2, 0xb1, 0xe7, 0x8d, 0x38, 0x4a, 0x3e, 0xe3, 0x11, 0x3c, 0x9b, 0x86, 0x5c, 0xb1,
	0xd3, 0x28, 0xb3, 0x24, 0x1f, 0x65, 0x7d, 0xa8, 0x0f, 0xf5, 0x25, 0x71, 0x19, 0x5f, 0xb7, 0xb5,
	0x9e, 0xd6, 0x6f, 0x0c, 0xf5, 0xc1, 0x06, 0x62, 0x70, 0x12, 0x7f, 0x37, 0xd3, 0x73, 0xdc, 0x86,
	0x3d, 0x53, 0x86, 0x8a, 0x9a, 0x74, 0xe9, 0xd3, 0x60, 0x95, 0x63, 0xe0, 0x03, 0xe8, 0x8c, 0x88,
	0xef, 0xaf, 0x99, 0x70, 0x26, 0x64, 0x41, 0xf9, 0x58, 0x2c, 0x65, 0xe1, 0xf8, 0x8f, 0x06, 0x5d,
	0xe3, 0x4a, 0x51, 0x61, 0x53, 0x7b, 0x46, 0xaf, 0xd4, 0x4a, 0x7a, 0xf9, 0xe9, 0x79, 0xe8, 0x71,
	0x8a, 0x0e, 0xa1, 0x21, 0xb8, 0xcf, 0x2e, 0x6e, 0xa1, 0x02, 0x51, 0x51, 0x12, 0xa3, 0xb7, 0xd0,
	0x12, 0x09, 0xd8, 0xa6, 0xab, 0x52, 0xd2, 0xd5, 0x4c, 0xeb, 0x92, 0x14, 0x7f, 0x83, 0xfd, 0x52,
	0x36, 0xe8, 0x03, 0xd4, 0x55, 0xc4, 0x28, 0x68, 0x6b, 0xbd, 0x6a, 0xbf, 0x31, 0xec, 0xe7, 0x68,
	0x37, 0x4b, 0x30, 0xd3, 0x3e, 0xfc, 0x1d, 0xba, 0x9f, 0x7c, 0x62, 0xd1, 0x65, 0xc8, 0x4d, 0x1a,
	0x28, 0xe2, 0xab, 0x6d, 0xb1, 0x77, 0x5e, 0x39, 0x7a, 0x02, 0x0f, 0x97, 0x9c, 0x38, 0x41, 0x2c,
	0xad, 0x69, 0x26, 0x09, 0xfe, 0xad, 0xc1, 0x7e, 0xe9, 0x88, 0xbc, 0x47, 0x2b, 0xf4, 0x20, 0x04,
	0x35, 0xc5, 0x5c, 0x9a, 0x02, 0xc5, 0x71, 0x41, 0x6b, 0x75, 0x5b, 0xeb, 0xcd, 0x0a, 0x32, 0xad,
	0xaf, 0xa1, 0x73, 0x22, 0x43, 0x7f, 0x6e, 0x29, 0xaa, 0x8e, 0xce, 0x66, 0xa1, 0xbb, 0xa0, 0x7e,
	0x81, 0x4a, 0x0b, 0x2a, 0x64, 0xc3, 0xa3, 0x42, 0x02, 0xec, 0xc2, 0xde, 0x91, 0x6d, 0x9f, 0x12,
	0xb5, 0xfa, 0xff, 0x95, 0xbc, 0x84, 0x9a, 0x2b, 0xed, 0x44, 0x48, 0x6b, 0xf8, 0x34, 0xaf, 0x4b,
	0x91, 0xa7, 0xd2, 0xa6, 0x66, 0x5c, 0x82, 0xa7, 0xb0, 0x7b, 0x6d, 0x1c, 0x7a, 0xb7, 0x65, 0x70,
	0xef, 0x1a, 0x42, 0x99, 0xd8, 0x1e, 0x74, 0x0d, 0xb1, 0x22, 0xc2, 0xa2, 0x76, 0xc9, 0x3b, 0xf8,
	0x05, 0x2f, 0x26, 0x52, 0x38, 0x13, 0x76, 0x49, 0xed, 0xfb, 0xbd, 0x03, 0x99, 0x9f, 0xd5, 0xdc,
	0x4f, 0x2c, 0x01, 0xdf, 0x3e, 0x1e, 0x8d, 0xb7, 0x16, 0x70, 0x98, 0x4f, 0xbe, 0x23, 0xf9, 0x6c,
	0x23, 0x07, 0xd0, 0xf9, 0x67, 0x13, 0x2c, 0xb0, 0x8a, 0xef, 0xfe, 0x3d, 0xec, 0x7e, 0x11, 0x3f,
	0x84, 0xfc, 0x29, 0x0a, 0xe3, 0x11, 0xd4, 0xac, 0xc8, 0xbf, 0xe4, 0x56, 0xc4, 0x71, 0x24, 0xf1,
	0x92, 0xf0, 0x30, 0x31, 0x75, 0xc7, 0x4c, 0x92, 0x57, 0x13, 0x68, 0x14, 0x3c, 0x45, 0x4d, 0x78,
	0x3c, 0x9d, 0x1f, 0x1b, 0x17, 0xb3, 0xf9, 0xcc, 0xd0, 0x1f, 0x20, 0x1d, 0x76, 0xe2, 0xd4, 0x34,
	0x46, 0xc6, 0xf8, 0xab, 0xa1, 0x6b, 0x59, 0xc1, 0x99, 0x31, 0x3b, 0xd6, 0x2b, 0x59, 0xfa, 0x71,
	0x7e, 0xfe, 0x59, 0xaf, 0x2e, 0xea, 0xf1, 0x9f, 0xf0, 0xcd, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff,
	0x3b, 0xec, 0xd3, 0x4d, 0x34, 0x05, 0x00, 0x00,
}
