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

package gobgpapi

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	any "github.com/golang/protobuf/ptypes/any"
	math "math"
)

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

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Based om RFC 7752, Table 1.
type LsNLRIType int32

const (
	LsNLRIType_LS_NLRI_UNKNOWN   LsNLRIType = 0
	LsNLRIType_LS_NLRI_NODE      LsNLRIType = 1
	LsNLRIType_LS_NLRI_LINK      LsNLRIType = 2
	LsNLRIType_LS_NLRI_PREFIX_V4 LsNLRIType = 3
	LsNLRIType_LS_NLRI_PREFIX_V6 LsNLRIType = 4
)

var LsNLRIType_name = map[int32]string{
	0: "LS_NLRI_UNKNOWN",
	1: "LS_NLRI_NODE",
	2: "LS_NLRI_LINK",
	3: "LS_NLRI_PREFIX_V4",
	4: "LS_NLRI_PREFIX_V6",
}

var LsNLRIType_value = map[string]int32{
	"LS_NLRI_UNKNOWN":   0,
	"LS_NLRI_NODE":      1,
	"LS_NLRI_LINK":      2,
	"LS_NLRI_PREFIX_V4": 3,
	"LS_NLRI_PREFIX_V6": 4,
}

func (x LsNLRIType) String() string {
	return proto.EnumName(LsNLRIType_name, int32(x))
}

func (LsNLRIType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{0}
}

type LsProtocolID int32

const (
	LsProtocolID_LS_PROTOCOL_UNKNOWN LsProtocolID = 0
	LsProtocolID_LS_PROTOCOL_ISIS_L1 LsProtocolID = 1
	LsProtocolID_LS_PROTOCOL_ISIS_L2 LsProtocolID = 2
	LsProtocolID_LS_PROTOCOL_OSPF_V2 LsProtocolID = 3
	LsProtocolID_LS_PROTOCOL_DIRECT  LsProtocolID = 4
	LsProtocolID_LS_PROTOCOL_STATIC  LsProtocolID = 5
	LsProtocolID_LS_PROTOCOL_OSPF_V3 LsProtocolID = 6
)

var LsProtocolID_name = map[int32]string{
	0: "LS_PROTOCOL_UNKNOWN",
	1: "LS_PROTOCOL_ISIS_L1",
	2: "LS_PROTOCOL_ISIS_L2",
	3: "LS_PROTOCOL_OSPF_V2",
	4: "LS_PROTOCOL_DIRECT",
	5: "LS_PROTOCOL_STATIC",
	6: "LS_PROTOCOL_OSPF_V3",
}

var LsProtocolID_value = map[string]int32{
	"LS_PROTOCOL_UNKNOWN": 0,
	"LS_PROTOCOL_ISIS_L1": 1,
	"LS_PROTOCOL_ISIS_L2": 2,
	"LS_PROTOCOL_OSPF_V2": 3,
	"LS_PROTOCOL_DIRECT":  4,
	"LS_PROTOCOL_STATIC":  5,
	"LS_PROTOCOL_OSPF_V3": 6,
}

func (x LsProtocolID) String() string {
	return proto.EnumName(LsProtocolID_name, int32(x))
}

func (LsProtocolID) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{1}
}

type SRv6Behavior int32

const (
	SRv6Behavior_RESERVED              SRv6Behavior = 0
	SRv6Behavior_END                   SRv6Behavior = 1
	SRv6Behavior_END_WITH_PSP          SRv6Behavior = 2
	SRv6Behavior_END_WITH_USP          SRv6Behavior = 3
	SRv6Behavior_END_WITH_PSP_USP      SRv6Behavior = 4
	SRv6Behavior_ENDX                  SRv6Behavior = 5
	SRv6Behavior_ENDX_WITH_PSP         SRv6Behavior = 6
	SRv6Behavior_ENDX_WITH_USP         SRv6Behavior = 7
	SRv6Behavior_ENDX_WITH_PSP_USP     SRv6Behavior = 8
	SRv6Behavior_ENDT                  SRv6Behavior = 9
	SRv6Behavior_ENDT_WITH_PSP         SRv6Behavior = 10
	SRv6Behavior_ENDT_WITH_USP         SRv6Behavior = 11
	SRv6Behavior_ENDT_WITH_PSP_USP     SRv6Behavior = 12
	SRv6Behavior_END_B6_ENCAPS         SRv6Behavior = 14
	SRv6Behavior_END_BM                SRv6Behavior = 15
	SRv6Behavior_END_DX6               SRv6Behavior = 16
	SRv6Behavior_END_DX4               SRv6Behavior = 17
	SRv6Behavior_END_DT6               SRv6Behavior = 18
	SRv6Behavior_END_DT4               SRv6Behavior = 19
	SRv6Behavior_END_DT46              SRv6Behavior = 20
	SRv6Behavior_END_DX2               SRv6Behavior = 21
	SRv6Behavior_END_DX2V              SRv6Behavior = 22
	SRv6Behavior_END_DT2U              SRv6Behavior = 23
	SRv6Behavior_END_DT2M              SRv6Behavior = 24
	SRv6Behavior_END_B6_ENCAPS_Red     SRv6Behavior = 27
	SRv6Behavior_END_WITH_USD          SRv6Behavior = 28
	SRv6Behavior_END_WITH_PSP_USD      SRv6Behavior = 29
	SRv6Behavior_END_WITH_USP_USD      SRv6Behavior = 30
	SRv6Behavior_END_WITH_PSP_USP_USD  SRv6Behavior = 31
	SRv6Behavior_ENDX_WITH_USD         SRv6Behavior = 32
	SRv6Behavior_ENDX_WITH_PSP_USD     SRv6Behavior = 33
	SRv6Behavior_ENDX_WITH_USP_USD     SRv6Behavior = 34
	SRv6Behavior_ENDX_WITH_PSP_USP_USD SRv6Behavior = 35
	SRv6Behavior_ENDT_WITH_USD         SRv6Behavior = 36
	SRv6Behavior_ENDT_WITH_PSP_USD     SRv6Behavior = 37
	SRv6Behavior_ENDT_WITH_USP_USD     SRv6Behavior = 38
	SRv6Behavior_ENDT_WITH_PSP_USP_USD SRv6Behavior = 39
)

var SRv6Behavior_name = map[int32]string{
	0:  "RESERVED",
	1:  "END",
	2:  "END_WITH_PSP",
	3:  "END_WITH_USP",
	4:  "END_WITH_PSP_USP",
	5:  "ENDX",
	6:  "ENDX_WITH_PSP",
	7:  "ENDX_WITH_USP",
	8:  "ENDX_WITH_PSP_USP",
	9:  "ENDT",
	10: "ENDT_WITH_PSP",
	11: "ENDT_WITH_USP",
	12: "ENDT_WITH_PSP_USP",
	14: "END_B6_ENCAPS",
	15: "END_BM",
	16: "END_DX6",
	17: "END_DX4",
	18: "END_DT6",
	19: "END_DT4",
	20: "END_DT46",
	21: "END_DX2",
	22: "END_DX2V",
	23: "END_DT2U",
	24: "END_DT2M",
	27: "END_B6_ENCAPS_Red",
	28: "END_WITH_USD",
	29: "END_WITH_PSP_USD",
	30: "END_WITH_USP_USD",
	31: "END_WITH_PSP_USP_USD",
	32: "ENDX_WITH_USD",
	33: "ENDX_WITH_PSP_USD",
	34: "ENDX_WITH_USP_USD",
	35: "ENDX_WITH_PSP_USP_USD",
	36: "ENDT_WITH_USD",
	37: "ENDT_WITH_PSP_USD",
	38: "ENDT_WITH_USP_USD",
	39: "ENDT_WITH_PSP_USP_USD",
}

var SRv6Behavior_value = map[string]int32{
	"RESERVED":              0,
	"END":                   1,
	"END_WITH_PSP":          2,
	"END_WITH_USP":          3,
	"END_WITH_PSP_USP":      4,
	"ENDX":                  5,
	"ENDX_WITH_PSP":         6,
	"ENDX_WITH_USP":         7,
	"ENDX_WITH_PSP_USP":     8,
	"ENDT":                  9,
	"ENDT_WITH_PSP":         10,
	"ENDT_WITH_USP":         11,
	"ENDT_WITH_PSP_USP":     12,
	"END_B6_ENCAPS":         14,
	"END_BM":                15,
	"END_DX6":               16,
	"END_DX4":               17,
	"END_DT6":               18,
	"END_DT4":               19,
	"END_DT46":              20,
	"END_DX2":               21,
	"END_DX2V":              22,
	"END_DT2U":              23,
	"END_DT2M":              24,
	"END_B6_ENCAPS_Red":     27,
	"END_WITH_USD":          28,
	"END_WITH_PSP_USD":      29,
	"END_WITH_USP_USD":      30,
	"END_WITH_PSP_USP_USD":  31,
	"ENDX_WITH_USD":         32,
	"ENDX_WITH_PSP_USD":     33,
	"ENDX_WITH_USP_USD":     34,
	"ENDX_WITH_PSP_USP_USD": 35,
	"ENDT_WITH_USD":         36,
	"ENDT_WITH_PSP_USD":     37,
	"ENDT_WITH_USP_USD":     38,
	"ENDT_WITH_PSP_USP_USD": 39,
}

func (x SRv6Behavior) String() string {
	return proto.EnumName(SRv6Behavior_name, int32(x))
}

func (SRv6Behavior) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{2}
}

type ENLPType int32

const (
	ENLPType_Reserved ENLPType = 0
	ENLPType_Type1    ENLPType = 1
	ENLPType_Type2    ENLPType = 2
	ENLPType_Type3    ENLPType = 3
	ENLPType_Type4    ENLPType = 4
)

var ENLPType_name = map[int32]string{
	0: "Reserved",
	1: "Type1",
	2: "Type2",
	3: "Type3",
	4: "Type4",
}

var ENLPType_value = map[string]int32{
	"Reserved": 0,
	"Type1":    1,
	"Type2":    2,
	"Type3":    3,
	"Type4":    4,
}

func (x ENLPType) String() string {
	return proto.EnumName(ENLPType_name, int32(x))
}

func (ENLPType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{3}
}

type OriginAttribute struct {
	Origin               uint32   `protobuf:"varint,1,opt,name=origin,proto3" json:"origin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *OriginAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OriginAttribute.Unmarshal(m, b)
}
func (m *OriginAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OriginAttribute.Marshal(b, m, deterministic)
}
func (m *OriginAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OriginAttribute.Merge(m, src)
}
func (m *OriginAttribute) XXX_Size() int {
	return xxx_messageInfo_OriginAttribute.Size(m)
}
func (m *OriginAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_OriginAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_OriginAttribute proto.InternalMessageInfo

func (m *OriginAttribute) GetOrigin() uint32 {
	if m != nil {
		return m.Origin
	}
	return 0
}

type AsSegment struct {
	Type                 uint32   `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Numbers              []uint32 `protobuf:"varint,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *AsSegment) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AsSegment.Unmarshal(m, b)
}
func (m *AsSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AsSegment.Marshal(b, m, deterministic)
}
func (m *AsSegment) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AsSegment.Merge(m, src)
}
func (m *AsSegment) XXX_Size() int {
	return xxx_messageInfo_AsSegment.Size(m)
}
func (m *AsSegment) XXX_DiscardUnknown() {
	xxx_messageInfo_AsSegment.DiscardUnknown(m)
}

var xxx_messageInfo_AsSegment proto.InternalMessageInfo

func (m *AsSegment) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *AsSegment) GetNumbers() []uint32 {
	if m != nil {
		return m.Numbers
	}
	return nil
}

type AsPathAttribute struct {
	Segments             []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

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

func (m *AsPathAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AsPathAttribute.Unmarshal(m, b)
}
func (m *AsPathAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AsPathAttribute.Marshal(b, m, deterministic)
}
func (m *AsPathAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AsPathAttribute.Merge(m, src)
}
func (m *AsPathAttribute) XXX_Size() int {
	return xxx_messageInfo_AsPathAttribute.Size(m)
}
func (m *AsPathAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_AsPathAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_AsPathAttribute proto.InternalMessageInfo

func (m *AsPathAttribute) GetSegments() []*AsSegment {
	if m != nil {
		return m.Segments
	}
	return nil
}

type NextHopAttribute struct {
	NextHop              string   `protobuf:"bytes,1,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *NextHopAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NextHopAttribute.Unmarshal(m, b)
}
func (m *NextHopAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NextHopAttribute.Marshal(b, m, deterministic)
}
func (m *NextHopAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NextHopAttribute.Merge(m, src)
}
func (m *NextHopAttribute) XXX_Size() int {
	return xxx_messageInfo_NextHopAttribute.Size(m)
}
func (m *NextHopAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_NextHopAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_NextHopAttribute proto.InternalMessageInfo

func (m *NextHopAttribute) GetNextHop() string {
	if m != nil {
		return m.NextHop
	}
	return ""
}

type MultiExitDiscAttribute struct {
	Med                  uint32   `protobuf:"varint,1,opt,name=med,proto3" json:"med,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *MultiExitDiscAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MultiExitDiscAttribute.Unmarshal(m, b)
}
func (m *MultiExitDiscAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MultiExitDiscAttribute.Marshal(b, m, deterministic)
}
func (m *MultiExitDiscAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MultiExitDiscAttribute.Merge(m, src)
}
func (m *MultiExitDiscAttribute) XXX_Size() int {
	return xxx_messageInfo_MultiExitDiscAttribute.Size(m)
}
func (m *MultiExitDiscAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_MultiExitDiscAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_MultiExitDiscAttribute proto.InternalMessageInfo

func (m *MultiExitDiscAttribute) GetMed() uint32 {
	if m != nil {
		return m.Med
	}
	return 0
}

type LocalPrefAttribute struct {
	LocalPref            uint32   `protobuf:"varint,1,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *LocalPrefAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LocalPrefAttribute.Unmarshal(m, b)
}
func (m *LocalPrefAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LocalPrefAttribute.Marshal(b, m, deterministic)
}
func (m *LocalPrefAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LocalPrefAttribute.Merge(m, src)
}
func (m *LocalPrefAttribute) XXX_Size() int {
	return xxx_messageInfo_LocalPrefAttribute.Size(m)
}
func (m *LocalPrefAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_LocalPrefAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_LocalPrefAttribute proto.InternalMessageInfo

func (m *LocalPrefAttribute) GetLocalPref() uint32 {
	if m != nil {
		return m.LocalPref
	}
	return 0
}

type AtomicAggregateAttribute struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *AtomicAggregateAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AtomicAggregateAttribute.Unmarshal(m, b)
}
func (m *AtomicAggregateAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AtomicAggregateAttribute.Marshal(b, m, deterministic)
}
func (m *AtomicAggregateAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AtomicAggregateAttribute.Merge(m, src)
}
func (m *AtomicAggregateAttribute) XXX_Size() int {
	return xxx_messageInfo_AtomicAggregateAttribute.Size(m)
}
func (m *AtomicAggregateAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_AtomicAggregateAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_AtomicAggregateAttribute proto.InternalMessageInfo

type AggregatorAttribute struct {
	As                   uint32   `protobuf:"varint,2,opt,name=as,proto3" json:"as,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *AggregatorAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AggregatorAttribute.Unmarshal(m, b)
}
func (m *AggregatorAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AggregatorAttribute.Marshal(b, m, deterministic)
}
func (m *AggregatorAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AggregatorAttribute.Merge(m, src)
}
func (m *AggregatorAttribute) XXX_Size() int {
	return xxx_messageInfo_AggregatorAttribute.Size(m)
}
func (m *AggregatorAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_AggregatorAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_AggregatorAttribute proto.InternalMessageInfo

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

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

type CommunitiesAttribute struct {
	Communities          []uint32 `protobuf:"varint,1,rep,packed,name=communities,proto3" json:"communities,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *CommunitiesAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CommunitiesAttribute.Unmarshal(m, b)
}
func (m *CommunitiesAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CommunitiesAttribute.Marshal(b, m, deterministic)
}
func (m *CommunitiesAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CommunitiesAttribute.Merge(m, src)
}
func (m *CommunitiesAttribute) XXX_Size() int {
	return xxx_messageInfo_CommunitiesAttribute.Size(m)
}
func (m *CommunitiesAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_CommunitiesAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_CommunitiesAttribute proto.InternalMessageInfo

func (m *CommunitiesAttribute) GetCommunities() []uint32 {
	if m != nil {
		return m.Communities
	}
	return nil
}

type OriginatorIdAttribute struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *OriginatorIdAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OriginatorIdAttribute.Unmarshal(m, b)
}
func (m *OriginatorIdAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OriginatorIdAttribute.Marshal(b, m, deterministic)
}
func (m *OriginatorIdAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OriginatorIdAttribute.Merge(m, src)
}
func (m *OriginatorIdAttribute) XXX_Size() int {
	return xxx_messageInfo_OriginatorIdAttribute.Size(m)
}
func (m *OriginatorIdAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_OriginatorIdAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_OriginatorIdAttribute proto.InternalMessageInfo

func (m *OriginatorIdAttribute) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

type ClusterListAttribute struct {
	Ids                  []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *ClusterListAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ClusterListAttribute.Unmarshal(m, b)
}
func (m *ClusterListAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ClusterListAttribute.Marshal(b, m, deterministic)
}
func (m *ClusterListAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClusterListAttribute.Merge(m, src)
}
func (m *ClusterListAttribute) XXX_Size() int {
	return xxx_messageInfo_ClusterListAttribute.Size(m)
}
func (m *ClusterListAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_ClusterListAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_ClusterListAttribute proto.InternalMessageInfo

func (m *ClusterListAttribute) GetIds() []string {
	if m != nil {
		return m.Ids
	}
	return nil
}

// IPAddressPrefix represents the NLRI for:
// - AFI=1, SAFI=1
// - AFI=2, SAFI=1
type IPAddressPrefix struct {
	PrefixLen            uint32   `protobuf:"varint,1,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
	Prefix               string   `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *IPAddressPrefix) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IPAddressPrefix.Unmarshal(m, b)
}
func (m *IPAddressPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IPAddressPrefix.Marshal(b, m, deterministic)
}
func (m *IPAddressPrefix) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IPAddressPrefix.Merge(m, src)
}
func (m *IPAddressPrefix) XXX_Size() int {
	return xxx_messageInfo_IPAddressPrefix.Size(m)
}
func (m *IPAddressPrefix) XXX_DiscardUnknown() {
	xxx_messageInfo_IPAddressPrefix.DiscardUnknown(m)
}

var xxx_messageInfo_IPAddressPrefix proto.InternalMessageInfo

func (m *IPAddressPrefix) GetPrefixLen() uint32 {
	if m != nil {
		return m.PrefixLen
	}
	return 0
}

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

// LabeledIPAddressPrefix represents the NLRI for:
// - AFI=1, SAFI=4
// - AFI=2, SAFI=4
type LabeledIPAddressPrefix struct {
	Labels               []uint32 `protobuf:"varint,1,rep,packed,name=labels,proto3" json:"labels,omitempty"`
	PrefixLen            uint32   `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
	Prefix               string   `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *LabeledIPAddressPrefix) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LabeledIPAddressPrefix.Unmarshal(m, b)
}
func (m *LabeledIPAddressPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LabeledIPAddressPrefix.Marshal(b, m, deterministic)
}
func (m *LabeledIPAddressPrefix) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LabeledIPAddressPrefix.Merge(m, src)
}
func (m *LabeledIPAddressPrefix) XXX_Size() int {
	return xxx_messageInfo_LabeledIPAddressPrefix.Size(m)
}
func (m *LabeledIPAddressPrefix) XXX_DiscardUnknown() {
	xxx_messageInfo_LabeledIPAddressPrefix.DiscardUnknown(m)
}

var xxx_messageInfo_LabeledIPAddressPrefix proto.InternalMessageInfo

func (m *LabeledIPAddressPrefix) GetLabels() []uint32 {
	if m != nil {
		return m.Labels
	}
	return nil
}

func (m *LabeledIPAddressPrefix) GetPrefixLen() uint32 {
	if m != nil {
		return m.PrefixLen
	}
	return 0
}

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

// EncapsulationNLRI represents the NLRI for:
// - AFI=1, SAFI=7
// - AFI=2, SAFI=7
type EncapsulationNLRI struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *EncapsulationNLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EncapsulationNLRI.Unmarshal(m, b)
}
func (m *EncapsulationNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EncapsulationNLRI.Marshal(b, m, deterministic)
}
func (m *EncapsulationNLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EncapsulationNLRI.Merge(m, src)
}
func (m *EncapsulationNLRI) XXX_Size() int {
	return xxx_messageInfo_EncapsulationNLRI.Size(m)
}
func (m *EncapsulationNLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_EncapsulationNLRI.DiscardUnknown(m)
}

var xxx_messageInfo_EncapsulationNLRI proto.InternalMessageInfo

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

type RouteDistinguisherTwoOctetAS struct {
	Admin                uint32   `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"`
	Assigned             uint32   `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (m *RouteDistinguisherTwoOctetAS) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RouteDistinguisherTwoOctetAS.Unmarshal(m, b)
}
func (m *RouteDistinguisherTwoOctetAS) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RouteDistinguisherTwoOctetAS.Marshal(b, m, deterministic)
}
func (m *RouteDistinguisherTwoOctetAS) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RouteDistinguisherTwoOctetAS.Merge(m, src)
}
func (m *RouteDistinguisherTwoOctetAS) XXX_Size() int {
	return xxx_messageInfo_RouteDistinguisherTwoOctetAS.Size(m)
}
func (m *RouteDistinguisherTwoOctetAS) XXX_DiscardUnknown() {
	xxx_messageInfo_RouteDistinguisherTwoOctetAS.DiscardUnknown(m)
}

var xxx_messageInfo_RouteDistinguisherTwoOctetAS proto.InternalMessageInfo

func (m *RouteDistinguisherTwoOctetAS) GetAdmin() uint32 {
	if m != nil {
		return m.Admin
	}
	return 0
}

func (m *RouteDistinguisherTwoOctetAS) GetAssigned() uint32 {
	if m != nil {
		return m.Assigned
	}
	return 0
}

type RouteDistinguisherIPAddress struct {
	Admin                string   `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"`
	Assigned             uint32   `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RouteDistinguisherIPAddress) Reset()         { *m = RouteDistinguisherIPAddress{} }
func (m *RouteDistinguisherIPAddress) String() string { return proto.CompactTextString(m) }
func (*RouteDistinguisherIPAddress) ProtoMessage()    {}
func (*RouteDistinguisherIPAddress) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{15}
}

func (m *RouteDistinguisherIPAddress) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RouteDistinguisherIPAddress.Unmarshal(m, b)
}
func (m *RouteDistinguisherIPAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RouteDistinguisherIPAddress.Marshal(b, m, deterministic)
}
func (m *RouteDistinguisherIPAddress) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RouteDistinguisherIPAddress.Merge(m, src)
}
func (m *RouteDistinguisherIPAddress) XXX_Size() int {
	return xxx_messageInfo_RouteDistinguisherIPAddress.Size(m)
}
func (m *RouteDistinguisherIPAddress) XXX_DiscardUnknown() {
	xxx_messageInfo_RouteDistinguisherIPAddress.DiscardUnknown(m)
}

var xxx_messageInfo_RouteDistinguisherIPAddress proto.InternalMessageInfo

func (m *RouteDistinguisherIPAddress) GetAdmin() string {
	if m != nil {
		return m.Admin
	}
	return ""
}

func (m *RouteDistinguisherIPAddress) GetAssigned() uint32 {
	if m != nil {
		return m.Assigned
	}
	return 0
}

type RouteDistinguisherFourOctetAS struct {
	Admin                uint32   `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"`
	Assigned             uint32   `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RouteDistinguisherFourOctetAS) Reset()         { *m = RouteDistinguisherFourOctetAS{} }
func (m *RouteDistinguisherFourOctetAS) String() string { return proto.CompactTextString(m) }
func (*RouteDistinguisherFourOctetAS) ProtoMessage()    {}
func (*RouteDistinguisherFourOctetAS) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{16}
}

func (m *RouteDistinguisherFourOctetAS) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RouteDistinguisherFourOctetAS.Unmarshal(m, b)
}
func (m *RouteDistinguisherFourOctetAS) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RouteDistinguisherFourOctetAS.Marshal(b, m, deterministic)
}
func (m *RouteDistinguisherFourOctetAS) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RouteDistinguisherFourOctetAS.Merge(m, src)
}
func (m *RouteDistinguisherFourOctetAS) XXX_Size() int {
	return xxx_messageInfo_RouteDistinguisherFourOctetAS.Size(m)
}
func (m *RouteDistinguisherFourOctetAS) XXX_DiscardUnknown() {
	xxx_messageInfo_RouteDistinguisherFourOctetAS.DiscardUnknown(m)
}

var xxx_messageInfo_RouteDistinguisherFourOctetAS proto.InternalMessageInfo

func (m *RouteDistinguisherFourOctetAS) GetAdmin() uint32 {
	if m != nil {
		return m.Admin
	}
	return 0
}

func (m *RouteDistinguisherFourOctetAS) GetAssigned() uint32 {
	if m != nil {
		return m.Assigned
	}
	return 0
}

type EthernetSegmentIdentifier struct {
	Type                 uint32   `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Value                []byte   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EthernetSegmentIdentifier) Reset()         { *m = EthernetSegmentIdentifier{} }
func (m *EthernetSegmentIdentifier) String() string { return proto.CompactTextString(m) }
func (*EthernetSegmentIdentifier) ProtoMessage()    {}
func (*EthernetSegmentIdentifier) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{17}
}

func (m *EthernetSegmentIdentifier) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EthernetSegmentIdentifier.Unmarshal(m, b)
}
func (m *EthernetSegmentIdentifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EthernetSegmentIdentifier.Marshal(b, m, deterministic)
}
func (m *EthernetSegmentIdentifier) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EthernetSegmentIdentifier.Merge(m, src)
}
func (m *EthernetSegmentIdentifier) XXX_Size() int {
	return xxx_messageInfo_EthernetSegmentIdentifier.Size(m)
}
func (m *EthernetSegmentIdentifier) XXX_DiscardUnknown() {
	xxx_messageInfo_EthernetSegmentIdentifier.DiscardUnknown(m)
}

var xxx_messageInfo_EthernetSegmentIdentifier proto.InternalMessageInfo

func (m *EthernetSegmentIdentifier) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

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

// EVPNEthernetAutoDiscoveryRoute represents the NLRI for:
// - AFI=25, SAFI=70, RouteType=1
type EVPNEthernetAutoDiscoveryRoute struct {
	// One of:
	// - RouteDistinguisherTwoOctetAS
	// - RouteDistinguisherIPAddressAS
	// - RouteDistinguisherFourOctetAS
	Rd                   *any.Any                   `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
	Esi                  *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"`
	EthernetTag          uint32                     `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
	Label                uint32                     `protobuf:"varint,4,opt,name=label,proto3" json:"label,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *EVPNEthernetAutoDiscoveryRoute) Reset()         { *m = EVPNEthernetAutoDiscoveryRoute{} }
func (m *EVPNEthernetAutoDiscoveryRoute) String() string { return proto.CompactTextString(m) }
func (*EVPNEthernetAutoDiscoveryRoute) ProtoMessage()    {}
func (*EVPNEthernetAutoDiscoveryRoute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{18}
}

func (m *EVPNEthernetAutoDiscoveryRoute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.Unmarshal(m, b)
}
func (m *EVPNEthernetAutoDiscoveryRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.Marshal(b, m, deterministic)
}
func (m *EVPNEthernetAutoDiscoveryRoute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.Merge(m, src)
}
func (m *EVPNEthernetAutoDiscoveryRoute) XXX_Size() int {
	return xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.Size(m)
}
func (m *EVPNEthernetAutoDiscoveryRoute) XXX_DiscardUnknown() {
	xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute.DiscardUnknown(m)
}

var xxx_messageInfo_EVPNEthernetAutoDiscoveryRoute proto.InternalMessageInfo

func (m *EVPNEthernetAutoDiscoveryRoute) GetRd() *any.Any {
	if m != nil {
		return m.Rd
	}
	return nil
}

func (m *EVPNEthernetAutoDiscoveryRoute) GetEsi() *EthernetSegmentIdentifier {
	if m != nil {
		return m.Esi
	}
	return nil
}

func (m *EVPNEthernetAutoDiscoveryRoute) GetEthernetTag() uint32 {
	if m != nil {
		return m.EthernetTag
	}
	return 0
}

func (m *EVPNEthernetAutoDiscoveryRoute) GetLabel() uint32 {
	if m != nil {
		return m.Label
	}
	return 0
}

// EVPNMACIPAdvertisementRoute represents the NLRI for:
// - AFI=25, SAFI=70, RouteType=2
type EVPNMACIPAdvertisementRoute struct {
	// One of:
	// - RouteDistinguisherTwoOctetAS
	// - RouteDistinguisherIPAddressAS
	// - RouteDistinguisherFourOctetAS
	Rd                   *any.Any                   `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
	Esi                  *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"`
	EthernetTag          uint32                     `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
	MacAddress           string                     `protobuf:"bytes,4,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"`
	IpAddress            string                     `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
	Labels               []uint32                   `protobuf:"varint,6,rep,packed,name=labels,proto3" json:"labels,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *EVPNMACIPAdvertisementRoute) Reset()         { *m = EVPNMACIPAdvertisementRoute{} }
func (m *EVPNMACIPAdvertisementRoute) String() string { return proto.CompactTextString(m) }
func (*EVPNMACIPAdvertisementRoute) ProtoMessage()    {}
func (*EVPNMACIPAdvertisementRoute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{19}
}

func (m *EVPNMACIPAdvertisementRoute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EVPNMACIPAdvertisementRoute.Unmarshal(m, b)
}
func (m *EVPNMACIPAdvertisementRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EVPNMACIPAdvertisementRoute.Marshal(b, m, deterministic)
}
func (m *EVPNMACIPAdvertisementRoute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EVPNMACIPAdvertisementRoute.Merge(m, src)
}
func (m *EVPNMACIPAdvertisementRoute) XXX_Size() int {
	return xxx_messageInfo_EVPNMACIPAdvertisementRoute.Size(m)
}
func (m *EVPNMACIPAdvertisementRoute) XXX_DiscardUnknown() {
	xxx_messageInfo_EVPNMACIPAdvertisementRoute.DiscardUnknown(m)
}

var xxx_messageInfo_EVPNMACIPAdvertisementRoute proto.InternalMessageInfo

func (m *EVPNMACIPAdvertisementRoute) GetRd() *any.Any {
	if m != nil {
		return m.Rd
	}
	return nil
}

func (m *EVPNMACIPAdvertisementRoute) GetEsi() *EthernetSegmentIdentifier {
	if m != nil {
		return m.Esi
	}
	return nil
}

func (m *EVPNMACIPAdvertisementRoute) GetEthernetTag() uint32 {
	if m != nil {
		return m.EthernetTag
	}
	return 0
}

func (m *EVPNMACIPAdvertisementRoute) GetMacAddress() string {
	if m != nil {
		return m.MacAddress
	}
	return ""
}

func (m *EVPNMACIPAdvertisementRoute) GetIpAddress() string {
	if m != nil {
		return m.IpAddress
	}
	return ""
}

func (m *EVPNMACIPAdvertisementRoute) GetLabels() []uint32 {
	if m != nil {
		return m.Labels
	}
	return nil
}

// EVPNInclusiveMulticastEthernetTagRoute represents the NLRI for:
// - AFI=25, SAFI=70, RouteType=3
type EVPNInclusiveMulticastEthernetTagRoute struct {
	// One of:
	// - RouteDistinguisherTwoOctetAS
	// - RouteDistinguisherIPAddressAS
	// - RouteDistinguisherFourOctetAS
	Rd                   *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
	EthernetTag          uint32   `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
	IpAddress            string   `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EVPNInclusiveMulticastEthernetTagRoute) Reset() {
	*m = EVPNInclusiveMulticastEthernetTagRoute{}
}
func (m *EVPNInclusiveMulticastEthernetTagRoute) String() string { return proto.CompactTextString(m) }
func (*EVPNInclusiveMulticastEthernetTagRoute) ProtoMessage()    {}
func (*EVPNInclusiveMulticastEthernetTagRoute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{20}
}

func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.Unmarshal(m, b)
}
func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.Marshal(b, m, deterministic)
}
func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.Merge(m, src)
}
func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_Size() int {
	return xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.Size(m)
}
func (m *EVPNInclusiveMulticastEthernetTagRoute) XXX_DiscardUnknown() {
	xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute.DiscardUnknown(m)
}

var xxx_messageInfo_EVPNInclusiveMulticastEthernetTagRoute proto.InternalMessageInfo

func (m *EVPNInclusiveMulticastEthernetTagRoute) GetRd() *any.Any {
	if m != nil {
		return m.Rd
	}
	return nil
}

func (m *EVPNInclusiveMulticastEthernetTagRoute) GetEthernetTag() uint32 {
	if m != nil {
		return m.EthernetTag
	}
	return 0
}

func (m *EVPNInclusiveMulticastEthernetTagRoute) GetIpAddress() string {
	if m != nil {
		return m.IpAddress
	}
	return ""
}

// EVPNEthernetSegmentRoute represents the NLRI for:
// - AFI=25, SAFI=70, RouteType=4
type EVPNEthernetSegmentRoute struct {
	// One of:
	// - RouteDistinguisherTwoOctetAS
	// - RouteDistinguisherIPAddressAS
	// - RouteDistinguisherFourOctetAS
	Rd                   *any.Any                   `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
	Esi                  *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"`
	IpAddress            string                     `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *EVPNEthernetSegmentRoute) Reset()         { *m = EVPNEthernetSegmentRoute{} }
func (m *EVPNEthernetSegmentRoute) String() string { return proto.CompactTextString(m) }
func (*EVPNEthernetSegmentRoute) ProtoMessage()    {}
func (*EVPNEthernetSegmentRoute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{21}
}

func (m *EVPNEthernetSegmentRoute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EVPNEthernetSegmentRoute.Unmarshal(m, b)
}
func (m *EVPNEthernetSegmentRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EVPNEthernetSegmentRoute.Marshal(b, m, deterministic)
}
func (m *EVPNEthernetSegmentRoute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EVPNEthernetSegmentRoute.Merge(m, src)
}
func (m *EVPNEthernetSegmentRoute) XXX_Size() int {
	return xxx_messageInfo_EVPNEthernetSegmentRoute.Size(m)
}
func (m *EVPNEthernetSegmentRoute) XXX_DiscardUnknown() {
	xxx_messageInfo_EVPNEthernetSegmentRoute.DiscardUnknown(m)
}

var xxx_messageInfo_EVPNEthernetSegmentRoute proto.InternalMessageInfo

func (m *EVPNEthernetSegmentRoute) GetRd() *any.Any {
	if m != nil {
		return m.Rd
	}
	return nil
}

func (m *EVPNEthernetSegmentRoute) GetEsi() *EthernetSegmentIdentifier {
	if m != nil {
		return m.Esi
	}
	return nil
}

func (m *EVPNEthernetSegmentRoute) GetIpAddress() string {
	if m != nil {
		return m.IpAddress
	}
	return ""
}

// EVPNIPPrefixRoute represents the NLRI for:
// - AFI=25, SAFI=70, RouteType=5
type EVPNIPPrefixRoute struct {
	// One of:
	// - RouteDistinguisherTwoOctetAS
	// - RouteDistinguisherIPAddressAS
	// - RouteDistinguisherFourOctetAS
	Rd                   *any.Any                   `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
	Esi                  *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"`
	EthernetTag          uint32                     `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
	IpPrefix             string                     `protobuf:"bytes,4,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"`
	IpPrefixLen          uint32                     `protobuf:"varint,5,opt,name=ip_prefix_len,json=ipPrefixLen,proto3" json:"ip_prefix_len,omitempty"`
	GwAddress            string                     `protobuf:"bytes,6,opt,name=gw_address,json=gwAddress,proto3" json:"gw_address,omitempty"`
	Label                uint32                     `protobuf:"varint,7,opt,name=label,proto3" json:"label,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *EVPNIPPrefixRoute) Reset()         { *m = EVPNIPPrefixRoute{} }
func (m *EVPNIPPrefixRoute) String() string { return proto.CompactTextString(m) }
func (*EVPNIPPrefixRoute) ProtoMessage()    {}
func (*EVPNIPPrefixRoute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{22}
}

func (m *EVPNIPPrefixRoute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EVPNIPPrefixRoute.Unmarshal(m, b)
}
func (m *EVPNIPPrefixRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EVPNIPPrefixRoute.Marshal(b, m, deterministic)
}
func (m *EVPNIPPrefixRoute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EVPNIPPrefixRoute.Merge(m, src)
}
func (m *EVPNIPPrefixRoute) XXX_Size() int {
	return xxx_messageInfo_EVPNIPPrefixRoute.Size(m)
}
func (m *EVPNIPPrefixRoute) XXX_DiscardUnknown() {
	xxx_messageInfo_EVPNIPPrefixRoute.DiscardUnknown(m)
}

var xxx_messageInfo_EVPNIPPrefixRoute proto.InternalMessageInfo

func (m *EVPNIPPrefixRoute) GetRd() *any.Any {
	if m != nil {
		return m.Rd
	}
	return nil
}

func (m *EVPNIPPrefixRoute) GetEsi() *EthernetSegmentIdentifier {
	if m != nil {
		return m.Esi
	}
	return nil
}

func (m *EVPNIPPrefixRoute) GetEthernetTag() uint32 {
	if m != nil {
		return m.EthernetTag
	}
	return 0
}

func (m *EVPNIPPrefixRoute) GetIpPrefix() string {
	if m != nil {
		return m.IpPrefix
	}
	return ""
}

func (m *EVPNIPPrefixRoute) GetIpPrefixLen() uint32 {
	if m != nil {
		return m.IpPrefixLen
	}
	return 0
}

func (m *EVPNIPPrefixRoute) GetGwAddress() string {
	if m != nil {
		return m.GwAddress
	}
	return ""
}

func (m *EVPNIPPrefixRoute) GetLabel() uint32 {
	if m != nil {
		return m.Label
	}
	return 0
}

// EVPNIPMSIRoute represents the NLRI for:
// - AFI=25, SAFI=70, RouteType=9
type EVPNIPMSIRoute struct {
	// One of:
	// - RouteDistinguisherTwoOctetAS
	// - RouteDistinguisherIPAddressAS
	// - RouteDistinguisherFourOctetAS
	Rd                   *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
	EthernetTag          uint32   `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"`
	Rt                   *any.Any `protobuf:"bytes,3,opt,name=rt,proto3" json:"rt,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EVPNIPMSIRoute) Reset()         { *m = EVPNIPMSIRoute{} }
func (m *EVPNIPMSIRoute) String() string { return proto.CompactTextString(m) }
func (*EVPNIPMSIRoute) ProtoMessage()    {}
func (*EVPNIPMSIRoute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{23}
}

func (m *EVPNIPMSIRoute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EVPNIPMSIRoute.Unmarshal(m, b)
}
func (m *EVPNIPMSIRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EVPNIPMSIRoute.Marshal(b, m, deterministic)
}
func (m *EVPNIPMSIRoute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EVPNIPMSIRoute.Merge(m, src)
}
func (m *EVPNIPMSIRoute) XXX_Size() int {
	return xxx_messageInfo_EVPNIPMSIRoute.Size(m)
}
func (m *EVPNIPMSIRoute) XXX_DiscardUnknown() {
	xxx_messageInfo_EVPNIPMSIRoute.DiscardUnknown(m)
}

var xxx_messageInfo_EVPNIPMSIRoute proto.InternalMessageInfo

func (m *EVPNIPMSIRoute) GetRd() *any.Any {
	if m != nil {
		return m.Rd
	}
	return nil
}

func (m *EVPNIPMSIRoute) GetEthernetTag() uint32 {
	if m != nil {
		return m.EthernetTag
	}
	return 0
}

func (m *EVPNIPMSIRoute) GetRt() *any.Any {
	if m != nil {
		return m.Rt
	}
	return nil
}

// SRPolicyNLRI represents the NLRI for:
// - AFI=1, SAFI=73
// - AFI=2, SAFI=73
type SRPolicyNLRI struct {
	// length field carries the length of NLRI portion expressed in bits
	Length uint32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
	// distinguisher field carries 4-octet value uniquely identifying the policy
	// in the context of <color, endpoint> tuple.
	Distinguisher uint32 `protobuf:"varint,2,opt,name=distinguisher,proto3" json:"distinguisher,omitempty"`
	// color field carries 4-octet value identifying (with the endpoint) the
	// policy.  The color is used to match the color of the destination
	// prefixes to steer traffic into the SR Policy
	Color uint32 `protobuf:"varint,3,opt,name=color,proto3" json:"color,omitempty"`
	// endpoint field identifies the endpoint of a policy.  The Endpoint may
	// represent a single node or a set of nodes (e.g., an anycast
	// address).  The Endpoint is an IPv4 (4-octet) address or an IPv6
	// (16-octet) address according to the AFI of the NLRI.
	Endpoint             []byte   `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SRPolicyNLRI) Reset()         { *m = SRPolicyNLRI{} }
func (m *SRPolicyNLRI) String() string { return proto.CompactTextString(m) }
func (*SRPolicyNLRI) ProtoMessage()    {}
func (*SRPolicyNLRI) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{24}
}

func (m *SRPolicyNLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRPolicyNLRI.Unmarshal(m, b)
}
func (m *SRPolicyNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRPolicyNLRI.Marshal(b, m, deterministic)
}
func (m *SRPolicyNLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRPolicyNLRI.Merge(m, src)
}
func (m *SRPolicyNLRI) XXX_Size() int {
	return xxx_messageInfo_SRPolicyNLRI.Size(m)
}
func (m *SRPolicyNLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_SRPolicyNLRI.DiscardUnknown(m)
}

var xxx_messageInfo_SRPolicyNLRI proto.InternalMessageInfo

func (m *SRPolicyNLRI) GetLength() uint32 {
	if m != nil {
		return m.Length
	}
	return 0
}

func (m *SRPolicyNLRI) GetDistinguisher() uint32 {
	if m != nil {
		return m.Distinguisher
	}
	return 0
}

func (m *SRPolicyNLRI) GetColor() uint32 {
	if m != nil {
		return m.Color
	}
	return 0
}

func (m *SRPolicyNLRI) GetEndpoint() []byte {
	if m != nil {
		return m.Endpoint
	}
	return nil
}

// LabeledVPNIPAddressPrefix represents the NLRI for:
// - AFI=1, SAFI=128
// - AFI=2, SAFI=128
type LabeledVPNIPAddressPrefix struct {
	Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels,proto3" json:"labels,omitempty"`
	// One of:
	// - TwoOctetAsSpecificExtended
	// - IPv4AddressSpecificExtended
	// - FourOctetAsSpecificExtended
	Rd                   *any.Any `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"`
	PrefixLen            uint32   `protobuf:"varint,3,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
	Prefix               string   `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LabeledVPNIPAddressPrefix) Reset()         { *m = LabeledVPNIPAddressPrefix{} }
func (m *LabeledVPNIPAddressPrefix) String() string { return proto.CompactTextString(m) }
func (*LabeledVPNIPAddressPrefix) ProtoMessage()    {}
func (*LabeledVPNIPAddressPrefix) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{25}
}

func (m *LabeledVPNIPAddressPrefix) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LabeledVPNIPAddressPrefix.Unmarshal(m, b)
}
func (m *LabeledVPNIPAddressPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LabeledVPNIPAddressPrefix.Marshal(b, m, deterministic)
}
func (m *LabeledVPNIPAddressPrefix) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LabeledVPNIPAddressPrefix.Merge(m, src)
}
func (m *LabeledVPNIPAddressPrefix) XXX_Size() int {
	return xxx_messageInfo_LabeledVPNIPAddressPrefix.Size(m)
}
func (m *LabeledVPNIPAddressPrefix) XXX_DiscardUnknown() {
	xxx_messageInfo_LabeledVPNIPAddressPrefix.DiscardUnknown(m)
}

var xxx_messageInfo_LabeledVPNIPAddressPrefix proto.InternalMessageInfo

func (m *LabeledVPNIPAddressPrefix) GetLabels() []uint32 {
	if m != nil {
		return m.Labels
	}
	return nil
}

func (m *LabeledVPNIPAddressPrefix) GetRd() *any.Any {
	if m != nil {
		return m.Rd
	}
	return nil
}

func (m *LabeledVPNIPAddressPrefix) GetPrefixLen() uint32 {
	if m != nil {
		return m.PrefixLen
	}
	return 0
}

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

// RouteTargetMembershipNLRI represents the NLRI for:
// - AFI=1, SAFI=132
type RouteTargetMembershipNLRI struct {
	As uint32 `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"`
	// One of:
	// - TwoOctetAsSpecificExtended
	// - IPv4AddressSpecificExtended
	// - FourOctetAsSpecificExtended
	Rt                   *any.Any `protobuf:"bytes,2,opt,name=rt,proto3" json:"rt,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RouteTargetMembershipNLRI) Reset()         { *m = RouteTargetMembershipNLRI{} }
func (m *RouteTargetMembershipNLRI) String() string { return proto.CompactTextString(m) }
func (*RouteTargetMembershipNLRI) ProtoMessage()    {}
func (*RouteTargetMembershipNLRI) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{26}
}

func (m *RouteTargetMembershipNLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RouteTargetMembershipNLRI.Unmarshal(m, b)
}
func (m *RouteTargetMembershipNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RouteTargetMembershipNLRI.Marshal(b, m, deterministic)
}
func (m *RouteTargetMembershipNLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RouteTargetMembershipNLRI.Merge(m, src)
}
func (m *RouteTargetMembershipNLRI) XXX_Size() int {
	return xxx_messageInfo_RouteTargetMembershipNLRI.Size(m)
}
func (m *RouteTargetMembershipNLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_RouteTargetMembershipNLRI.DiscardUnknown(m)
}

var xxx_messageInfo_RouteTargetMembershipNLRI proto.InternalMessageInfo

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

func (m *RouteTargetMembershipNLRI) GetRt() *any.Any {
	if m != nil {
		return m.Rt
	}
	return nil
}

type FlowSpecIPPrefix struct {
	Type      uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
	Prefix    string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// IPv6 only
	Offset               uint32   `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FlowSpecIPPrefix) Reset()         { *m = FlowSpecIPPrefix{} }
func (m *FlowSpecIPPrefix) String() string { return proto.CompactTextString(m) }
func (*FlowSpecIPPrefix) ProtoMessage()    {}
func (*FlowSpecIPPrefix) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{27}
}

func (m *FlowSpecIPPrefix) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlowSpecIPPrefix.Unmarshal(m, b)
}
func (m *FlowSpecIPPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlowSpecIPPrefix.Marshal(b, m, deterministic)
}
func (m *FlowSpecIPPrefix) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlowSpecIPPrefix.Merge(m, src)
}
func (m *FlowSpecIPPrefix) XXX_Size() int {
	return xxx_messageInfo_FlowSpecIPPrefix.Size(m)
}
func (m *FlowSpecIPPrefix) XXX_DiscardUnknown() {
	xxx_messageInfo_FlowSpecIPPrefix.DiscardUnknown(m)
}

var xxx_messageInfo_FlowSpecIPPrefix proto.InternalMessageInfo

func (m *FlowSpecIPPrefix) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *FlowSpecIPPrefix) GetPrefixLen() uint32 {
	if m != nil {
		return m.PrefixLen
	}
	return 0
}

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

func (m *FlowSpecIPPrefix) GetOffset() uint32 {
	if m != nil {
		return m.Offset
	}
	return 0
}

type FlowSpecMAC struct {
	Type                 uint32   `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Address              string   `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FlowSpecMAC) Reset()         { *m = FlowSpecMAC{} }
func (m *FlowSpecMAC) String() string { return proto.CompactTextString(m) }
func (*FlowSpecMAC) ProtoMessage()    {}
func (*FlowSpecMAC) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{28}
}

func (m *FlowSpecMAC) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlowSpecMAC.Unmarshal(m, b)
}
func (m *FlowSpecMAC) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlowSpecMAC.Marshal(b, m, deterministic)
}
func (m *FlowSpecMAC) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlowSpecMAC.Merge(m, src)
}
func (m *FlowSpecMAC) XXX_Size() int {
	return xxx_messageInfo_FlowSpecMAC.Size(m)
}
func (m *FlowSpecMAC) XXX_DiscardUnknown() {
	xxx_messageInfo_FlowSpecMAC.DiscardUnknown(m)
}

var xxx_messageInfo_FlowSpecMAC proto.InternalMessageInfo

func (m *FlowSpecMAC) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

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

type FlowSpecComponentItem struct {
	// Operator for Numeric type, Operand for Bitmask type
	Op                   uint32   `protobuf:"varint,1,opt,name=op,proto3" json:"op,omitempty"`
	Value                uint64   `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FlowSpecComponentItem) Reset()         { *m = FlowSpecComponentItem{} }
func (m *FlowSpecComponentItem) String() string { return proto.CompactTextString(m) }
func (*FlowSpecComponentItem) ProtoMessage()    {}
func (*FlowSpecComponentItem) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{29}
}

func (m *FlowSpecComponentItem) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlowSpecComponentItem.Unmarshal(m, b)
}
func (m *FlowSpecComponentItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlowSpecComponentItem.Marshal(b, m, deterministic)
}
func (m *FlowSpecComponentItem) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlowSpecComponentItem.Merge(m, src)
}
func (m *FlowSpecComponentItem) XXX_Size() int {
	return xxx_messageInfo_FlowSpecComponentItem.Size(m)
}
func (m *FlowSpecComponentItem) XXX_DiscardUnknown() {
	xxx_messageInfo_FlowSpecComponentItem.DiscardUnknown(m)
}

var xxx_messageInfo_FlowSpecComponentItem proto.InternalMessageInfo

func (m *FlowSpecComponentItem) GetOp() uint32 {
	if m != nil {
		return m.Op
	}
	return 0
}

func (m *FlowSpecComponentItem) GetValue() uint64 {
	if m != nil {
		return m.Value
	}
	return 0
}

type FlowSpecComponent struct {
	Type                 uint32                   `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Items                []*FlowSpecComponentItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *FlowSpecComponent) Reset()         { *m = FlowSpecComponent{} }
func (m *FlowSpecComponent) String() string { return proto.CompactTextString(m) }
func (*FlowSpecComponent) ProtoMessage()    {}
func (*FlowSpecComponent) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{30}
}

func (m *FlowSpecComponent) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlowSpecComponent.Unmarshal(m, b)
}
func (m *FlowSpecComponent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlowSpecComponent.Marshal(b, m, deterministic)
}
func (m *FlowSpecComponent) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlowSpecComponent.Merge(m, src)
}
func (m *FlowSpecComponent) XXX_Size() int {
	return xxx_messageInfo_FlowSpecComponent.Size(m)
}
func (m *FlowSpecComponent) XXX_DiscardUnknown() {
	xxx_messageInfo_FlowSpecComponent.DiscardUnknown(m)
}

var xxx_messageInfo_FlowSpecComponent proto.InternalMessageInfo

func (m *FlowSpecComponent) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *FlowSpecComponent) GetItems() []*FlowSpecComponentItem {
	if m != nil {
		return m.Items
	}
	return nil
}

// FlowSpecNLRI represents the NLRI for:
// - AFI=1, SAFI=133
// - AFI=2, SAFI=133
type FlowSpecNLRI struct {
	// One of:
	// - FlowSpecIPPrefix
	// - FlowSpecMAC
	// - FlowSpecComponent
	Rules                []*any.Any `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *FlowSpecNLRI) Reset()         { *m = FlowSpecNLRI{} }
func (m *FlowSpecNLRI) String() string { return proto.CompactTextString(m) }
func (*FlowSpecNLRI) ProtoMessage()    {}
func (*FlowSpecNLRI) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{31}
}

func (m *FlowSpecNLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FlowSpecNLRI.Unmarshal(m, b)
}
func (m *FlowSpecNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FlowSpecNLRI.Marshal(b, m, deterministic)
}
func (m *FlowSpecNLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FlowSpecNLRI.Merge(m, src)
}
func (m *FlowSpecNLRI) XXX_Size() int {
	return xxx_messageInfo_FlowSpecNLRI.Size(m)
}
func (m *FlowSpecNLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_FlowSpecNLRI.DiscardUnknown(m)
}

var xxx_messageInfo_FlowSpecNLRI proto.InternalMessageInfo

func (m *FlowSpecNLRI) GetRules() []*any.Any {
	if m != nil {
		return m.Rules
	}
	return nil
}

// VPNFlowSpecNLRI represents the NLRI for:
// - AFI=1, SAFI=134
// - AFI=2, SAFI=134
// - AFI=25, SAFI=134
type VPNFlowSpecNLRI struct {
	// One of:
	// - RouteDistinguisherTwoOctetAS
	// - RouteDistinguisherIPAddressAS
	// - RouteDistinguisherFourOctetAS
	Rd *any.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"`
	// One of:
	// - FlowSpecIPPrefix
	// - FlowSpecMAC
	// - FlowSpecComponent
	Rules                []*any.Any `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *VPNFlowSpecNLRI) Reset()         { *m = VPNFlowSpecNLRI{} }
func (m *VPNFlowSpecNLRI) String() string { return proto.CompactTextString(m) }
func (*VPNFlowSpecNLRI) ProtoMessage()    {}
func (*VPNFlowSpecNLRI) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{32}
}

func (m *VPNFlowSpecNLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VPNFlowSpecNLRI.Unmarshal(m, b)
}
func (m *VPNFlowSpecNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VPNFlowSpecNLRI.Marshal(b, m, deterministic)
}
func (m *VPNFlowSpecNLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VPNFlowSpecNLRI.Merge(m, src)
}
func (m *VPNFlowSpecNLRI) XXX_Size() int {
	return xxx_messageInfo_VPNFlowSpecNLRI.Size(m)
}
func (m *VPNFlowSpecNLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_VPNFlowSpecNLRI.DiscardUnknown(m)
}

var xxx_messageInfo_VPNFlowSpecNLRI proto.InternalMessageInfo

func (m *VPNFlowSpecNLRI) GetRd() *any.Any {
	if m != nil {
		return m.Rd
	}
	return nil
}

func (m *VPNFlowSpecNLRI) GetRules() []*any.Any {
	if m != nil {
		return m.Rules
	}
	return nil
}

// OpaqueNLRI represents the NLRI for:
// - AFI=16397, SAFI=241
type OpaqueNLRI struct {
	Key                  []byte   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value                []byte   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *OpaqueNLRI) Reset()         { *m = OpaqueNLRI{} }
func (m *OpaqueNLRI) String() string { return proto.CompactTextString(m) }
func (*OpaqueNLRI) ProtoMessage()    {}
func (*OpaqueNLRI) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{33}
}

func (m *OpaqueNLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OpaqueNLRI.Unmarshal(m, b)
}
func (m *OpaqueNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OpaqueNLRI.Marshal(b, m, deterministic)
}
func (m *OpaqueNLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OpaqueNLRI.Merge(m, src)
}
func (m *OpaqueNLRI) XXX_Size() int {
	return xxx_messageInfo_OpaqueNLRI.Size(m)
}
func (m *OpaqueNLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_OpaqueNLRI.DiscardUnknown(m)
}

var xxx_messageInfo_OpaqueNLRI proto.InternalMessageInfo

func (m *OpaqueNLRI) GetKey() []byte {
	if m != nil {
		return m.Key
	}
	return nil
}

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

type LsNodeDescriptor struct {
	Asn                  uint32   `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"`
	BgpLsId              uint32   `protobuf:"varint,2,opt,name=bgp_ls_id,json=bgpLsId,proto3" json:"bgp_ls_id,omitempty"`
	OspfAreaId           uint32   `protobuf:"varint,3,opt,name=ospf_area_id,json=ospfAreaId,proto3" json:"ospf_area_id,omitempty"`
	Pseudonode           bool     `protobuf:"varint,4,opt,name=pseudonode,proto3" json:"pseudonode,omitempty"`
	IgpRouterId          string   `protobuf:"bytes,5,opt,name=igp_router_id,json=igpRouterId,proto3" json:"igp_router_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LsNodeDescriptor) Reset()         { *m = LsNodeDescriptor{} }
func (m *LsNodeDescriptor) String() string { return proto.CompactTextString(m) }
func (*LsNodeDescriptor) ProtoMessage()    {}
func (*LsNodeDescriptor) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{34}
}

func (m *LsNodeDescriptor) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsNodeDescriptor.Unmarshal(m, b)
}
func (m *LsNodeDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsNodeDescriptor.Marshal(b, m, deterministic)
}
func (m *LsNodeDescriptor) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsNodeDescriptor.Merge(m, src)
}
func (m *LsNodeDescriptor) XXX_Size() int {
	return xxx_messageInfo_LsNodeDescriptor.Size(m)
}
func (m *LsNodeDescriptor) XXX_DiscardUnknown() {
	xxx_messageInfo_LsNodeDescriptor.DiscardUnknown(m)
}

var xxx_messageInfo_LsNodeDescriptor proto.InternalMessageInfo

func (m *LsNodeDescriptor) GetAsn() uint32 {
	if m != nil {
		return m.Asn
	}
	return 0
}

func (m *LsNodeDescriptor) GetBgpLsId() uint32 {
	if m != nil {
		return m.BgpLsId
	}
	return 0
}

func (m *LsNodeDescriptor) GetOspfAreaId() uint32 {
	if m != nil {
		return m.OspfAreaId
	}
	return 0
}

func (m *LsNodeDescriptor) GetPseudonode() bool {
	if m != nil {
		return m.Pseudonode
	}
	return false
}

func (m *LsNodeDescriptor) GetIgpRouterId() string {
	if m != nil {
		return m.IgpRouterId
	}
	return ""
}

type LsLinkDescriptor struct {
	LinkLocalId          uint32   `protobuf:"varint,1,opt,name=link_local_id,json=linkLocalId,proto3" json:"link_local_id,omitempty"`
	LinkRemoteId         uint32   `protobuf:"varint,2,opt,name=link_remote_id,json=linkRemoteId,proto3" json:"link_remote_id,omitempty"`
	InterfaceAddrIpv4    string   `protobuf:"bytes,3,opt,name=interface_addr_ipv4,json=interfaceAddrIpv4,proto3" json:"interface_addr_ipv4,omitempty"`
	NeighborAddrIpv4     string   `protobuf:"bytes,4,opt,name=neighbor_addr_ipv4,json=neighborAddrIpv4,proto3" json:"neighbor_addr_ipv4,omitempty"`
	InterfaceAddrIpv6    string   `protobuf:"bytes,5,opt,name=interface_addr_ipv6,json=interfaceAddrIpv6,proto3" json:"interface_addr_ipv6,omitempty"`
	NeighborAddrIpv6     string   `protobuf:"bytes,6,opt,name=neighbor_addr_ipv6,json=neighborAddrIpv6,proto3" json:"neighbor_addr_ipv6,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LsLinkDescriptor) Reset()         { *m = LsLinkDescriptor{} }
func (m *LsLinkDescriptor) String() string { return proto.CompactTextString(m) }
func (*LsLinkDescriptor) ProtoMessage()    {}
func (*LsLinkDescriptor) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{35}
}

func (m *LsLinkDescriptor) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsLinkDescriptor.Unmarshal(m, b)
}
func (m *LsLinkDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsLinkDescriptor.Marshal(b, m, deterministic)
}
func (m *LsLinkDescriptor) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsLinkDescriptor.Merge(m, src)
}
func (m *LsLinkDescriptor) XXX_Size() int {
	return xxx_messageInfo_LsLinkDescriptor.Size(m)
}
func (m *LsLinkDescriptor) XXX_DiscardUnknown() {
	xxx_messageInfo_LsLinkDescriptor.DiscardUnknown(m)
}

var xxx_messageInfo_LsLinkDescriptor proto.InternalMessageInfo

func (m *LsLinkDescriptor) GetLinkLocalId() uint32 {
	if m != nil {
		return m.LinkLocalId
	}
	return 0
}

func (m *LsLinkDescriptor) GetLinkRemoteId() uint32 {
	if m != nil {
		return m.LinkRemoteId
	}
	return 0
}

func (m *LsLinkDescriptor) GetInterfaceAddrIpv4() string {
	if m != nil {
		return m.InterfaceAddrIpv4
	}
	return ""
}

func (m *LsLinkDescriptor) GetNeighborAddrIpv4() string {
	if m != nil {
		return m.NeighborAddrIpv4
	}
	return ""
}

func (m *LsLinkDescriptor) GetInterfaceAddrIpv6() string {
	if m != nil {
		return m.InterfaceAddrIpv6
	}
	return ""
}

func (m *LsLinkDescriptor) GetNeighborAddrIpv6() string {
	if m != nil {
		return m.NeighborAddrIpv6
	}
	return ""
}

type LsPrefixDescriptor struct {
	IpReachability       []string `protobuf:"bytes,1,rep,name=ip_reachability,json=ipReachability,proto3" json:"ip_reachability,omitempty"`
	OspfRouteType        string   `protobuf:"bytes,2,opt,name=ospf_route_type,json=ospfRouteType,proto3" json:"ospf_route_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LsPrefixDescriptor) Reset()         { *m = LsPrefixDescriptor{} }
func (m *LsPrefixDescriptor) String() string { return proto.CompactTextString(m) }
func (*LsPrefixDescriptor) ProtoMessage()    {}
func (*LsPrefixDescriptor) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{36}
}

func (m *LsPrefixDescriptor) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsPrefixDescriptor.Unmarshal(m, b)
}
func (m *LsPrefixDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsPrefixDescriptor.Marshal(b, m, deterministic)
}
func (m *LsPrefixDescriptor) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsPrefixDescriptor.Merge(m, src)
}
func (m *LsPrefixDescriptor) XXX_Size() int {
	return xxx_messageInfo_LsPrefixDescriptor.Size(m)
}
func (m *LsPrefixDescriptor) XXX_DiscardUnknown() {
	xxx_messageInfo_LsPrefixDescriptor.DiscardUnknown(m)
}

var xxx_messageInfo_LsPrefixDescriptor proto.InternalMessageInfo

func (m *LsPrefixDescriptor) GetIpReachability() []string {
	if m != nil {
		return m.IpReachability
	}
	return nil
}

func (m *LsPrefixDescriptor) GetOspfRouteType() string {
	if m != nil {
		return m.OspfRouteType
	}
	return ""
}

type LsNodeNLRI struct {
	LocalNode            *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *LsNodeNLRI) Reset()         { *m = LsNodeNLRI{} }
func (m *LsNodeNLRI) String() string { return proto.CompactTextString(m) }
func (*LsNodeNLRI) ProtoMessage()    {}
func (*LsNodeNLRI) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{37}
}

func (m *LsNodeNLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsNodeNLRI.Unmarshal(m, b)
}
func (m *LsNodeNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsNodeNLRI.Marshal(b, m, deterministic)
}
func (m *LsNodeNLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsNodeNLRI.Merge(m, src)
}
func (m *LsNodeNLRI) XXX_Size() int {
	return xxx_messageInfo_LsNodeNLRI.Size(m)
}
func (m *LsNodeNLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_LsNodeNLRI.DiscardUnknown(m)
}

var xxx_messageInfo_LsNodeNLRI proto.InternalMessageInfo

func (m *LsNodeNLRI) GetLocalNode() *LsNodeDescriptor {
	if m != nil {
		return m.LocalNode
	}
	return nil
}

type LsLinkNLRI struct {
	LocalNode            *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"`
	RemoteNode           *LsNodeDescriptor `protobuf:"bytes,2,opt,name=remote_node,json=remoteNode,proto3" json:"remote_node,omitempty"`
	LinkDescriptor       *LsLinkDescriptor `protobuf:"bytes,3,opt,name=link_descriptor,json=linkDescriptor,proto3" json:"link_descriptor,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *LsLinkNLRI) Reset()         { *m = LsLinkNLRI{} }
func (m *LsLinkNLRI) String() string { return proto.CompactTextString(m) }
func (*LsLinkNLRI) ProtoMessage()    {}
func (*LsLinkNLRI) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{38}
}

func (m *LsLinkNLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsLinkNLRI.Unmarshal(m, b)
}
func (m *LsLinkNLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsLinkNLRI.Marshal(b, m, deterministic)
}
func (m *LsLinkNLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsLinkNLRI.Merge(m, src)
}
func (m *LsLinkNLRI) XXX_Size() int {
	return xxx_messageInfo_LsLinkNLRI.Size(m)
}
func (m *LsLinkNLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_LsLinkNLRI.DiscardUnknown(m)
}

var xxx_messageInfo_LsLinkNLRI proto.InternalMessageInfo

func (m *LsLinkNLRI) GetLocalNode() *LsNodeDescriptor {
	if m != nil {
		return m.LocalNode
	}
	return nil
}

func (m *LsLinkNLRI) GetRemoteNode() *LsNodeDescriptor {
	if m != nil {
		return m.RemoteNode
	}
	return nil
}

func (m *LsLinkNLRI) GetLinkDescriptor() *LsLinkDescriptor {
	if m != nil {
		return m.LinkDescriptor
	}
	return nil
}

type LsPrefixV4NLRI struct {
	LocalNode            *LsNodeDescriptor   `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"`
	PrefixDescriptor     *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *LsPrefixV4NLRI) Reset()         { *m = LsPrefixV4NLRI{} }
func (m *LsPrefixV4NLRI) String() string { return proto.CompactTextString(m) }
func (*LsPrefixV4NLRI) ProtoMessage()    {}
func (*LsPrefixV4NLRI) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{39}
}

func (m *LsPrefixV4NLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsPrefixV4NLRI.Unmarshal(m, b)
}
func (m *LsPrefixV4NLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsPrefixV4NLRI.Marshal(b, m, deterministic)
}
func (m *LsPrefixV4NLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsPrefixV4NLRI.Merge(m, src)
}
func (m *LsPrefixV4NLRI) XXX_Size() int {
	return xxx_messageInfo_LsPrefixV4NLRI.Size(m)
}
func (m *LsPrefixV4NLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_LsPrefixV4NLRI.DiscardUnknown(m)
}

var xxx_messageInfo_LsPrefixV4NLRI proto.InternalMessageInfo

func (m *LsPrefixV4NLRI) GetLocalNode() *LsNodeDescriptor {
	if m != nil {
		return m.LocalNode
	}
	return nil
}

func (m *LsPrefixV4NLRI) GetPrefixDescriptor() *LsPrefixDescriptor {
	if m != nil {
		return m.PrefixDescriptor
	}
	return nil
}

type LsPrefixV6NLRI struct {
	LocalNode            *LsNodeDescriptor   `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"`
	PrefixDescriptor     *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *LsPrefixV6NLRI) Reset()         { *m = LsPrefixV6NLRI{} }
func (m *LsPrefixV6NLRI) String() string { return proto.CompactTextString(m) }
func (*LsPrefixV6NLRI) ProtoMessage()    {}
func (*LsPrefixV6NLRI) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{40}
}

func (m *LsPrefixV6NLRI) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsPrefixV6NLRI.Unmarshal(m, b)
}
func (m *LsPrefixV6NLRI) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsPrefixV6NLRI.Marshal(b, m, deterministic)
}
func (m *LsPrefixV6NLRI) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsPrefixV6NLRI.Merge(m, src)
}
func (m *LsPrefixV6NLRI) XXX_Size() int {
	return xxx_messageInfo_LsPrefixV6NLRI.Size(m)
}
func (m *LsPrefixV6NLRI) XXX_DiscardUnknown() {
	xxx_messageInfo_LsPrefixV6NLRI.DiscardUnknown(m)
}

var xxx_messageInfo_LsPrefixV6NLRI proto.InternalMessageInfo

func (m *LsPrefixV6NLRI) GetLocalNode() *LsNodeDescriptor {
	if m != nil {
		return m.LocalNode
	}
	return nil
}

func (m *LsPrefixV6NLRI) GetPrefixDescriptor() *LsPrefixDescriptor {
	if m != nil {
		return m.PrefixDescriptor
	}
	return nil
}

// LsAddrPrefix represents the NLRI for:
// - AFI=16388, SAFI=71
type LsAddrPrefix struct {
	Type LsNLRIType `protobuf:"varint,1,opt,name=type,proto3,enum=gobgpapi.LsNLRIType" json:"type,omitempty"`
	// One of:
	// - LsNodeNLRI
	// - LsLinkNLRI
	// - LsPrefixV4NLRI
	// - LsPrefixV6NLRI
	Nlri                 *any.Any     `protobuf:"bytes,2,opt,name=nlri,proto3" json:"nlri,omitempty"`
	Length               uint32       `protobuf:"varint,3,opt,name=length,proto3" json:"length,omitempty"`
	ProtocolId           LsProtocolID `protobuf:"varint,4,opt,name=protocol_id,json=protocolId,proto3,enum=gobgpapi.LsProtocolID" json:"protocol_id,omitempty"`
	Identifier           uint64       `protobuf:"varint,5,opt,name=identifier,proto3" json:"identifier,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *LsAddrPrefix) Reset()         { *m = LsAddrPrefix{} }
func (m *LsAddrPrefix) String() string { return proto.CompactTextString(m) }
func (*LsAddrPrefix) ProtoMessage()    {}
func (*LsAddrPrefix) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{41}
}

func (m *LsAddrPrefix) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsAddrPrefix.Unmarshal(m, b)
}
func (m *LsAddrPrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsAddrPrefix.Marshal(b, m, deterministic)
}
func (m *LsAddrPrefix) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsAddrPrefix.Merge(m, src)
}
func (m *LsAddrPrefix) XXX_Size() int {
	return xxx_messageInfo_LsAddrPrefix.Size(m)
}
func (m *LsAddrPrefix) XXX_DiscardUnknown() {
	xxx_messageInfo_LsAddrPrefix.DiscardUnknown(m)
}

var xxx_messageInfo_LsAddrPrefix proto.InternalMessageInfo

func (m *LsAddrPrefix) GetType() LsNLRIType {
	if m != nil {
		return m.Type
	}
	return LsNLRIType_LS_NLRI_UNKNOWN
}

func (m *LsAddrPrefix) GetNlri() *any.Any {
	if m != nil {
		return m.Nlri
	}
	return nil
}

func (m *LsAddrPrefix) GetLength() uint32 {
	if m != nil {
		return m.Length
	}
	return 0
}

func (m *LsAddrPrefix) GetProtocolId() LsProtocolID {
	if m != nil {
		return m.ProtocolId
	}
	return LsProtocolID_LS_PROTOCOL_UNKNOWN
}

func (m *LsAddrPrefix) GetIdentifier() uint64 {
	if m != nil {
		return m.Identifier
	}
	return 0
}

type MpReachNLRIAttribute struct {
	Family   *Family  `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
	NextHops []string `protobuf:"bytes,2,rep,name=next_hops,json=nextHops,proto3" json:"next_hops,omitempty"`
	// Each NLRI must be one of:
	// - IPAddressPrefix
	// - LabeledIPAddressPrefix
	// - EncapsulationNLRI
	// - EVPNEthernetAutoDiscoveryRoute
	// - EVPNMACIPAdvertisementRoute
	// - EVPNInclusiveMulticastEthernetTagRoute
	// - EVPNEthernetSegmentRoute
	// - EVPNIPPrefixRoute
	// - EVPNIPMSIRoute
	// - LabeledVPNIPAddressPrefix
	// - RouteTargetMembershipNLRI
	// - FlowSpecNLRI
	// - VPNFlowSpecNLRI
	// - OpaqueNLRI
	// - LsAddrPrefix
	// - SR Policy NLRI
	Nlris                []*any.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *MpReachNLRIAttribute) Reset()         { *m = MpReachNLRIAttribute{} }
func (m *MpReachNLRIAttribute) String() string { return proto.CompactTextString(m) }
func (*MpReachNLRIAttribute) ProtoMessage()    {}
func (*MpReachNLRIAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{42}
}

func (m *MpReachNLRIAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MpReachNLRIAttribute.Unmarshal(m, b)
}
func (m *MpReachNLRIAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MpReachNLRIAttribute.Marshal(b, m, deterministic)
}
func (m *MpReachNLRIAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MpReachNLRIAttribute.Merge(m, src)
}
func (m *MpReachNLRIAttribute) XXX_Size() int {
	return xxx_messageInfo_MpReachNLRIAttribute.Size(m)
}
func (m *MpReachNLRIAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_MpReachNLRIAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_MpReachNLRIAttribute proto.InternalMessageInfo

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

func (m *MpReachNLRIAttribute) GetNextHops() []string {
	if m != nil {
		return m.NextHops
	}
	return nil
}

func (m *MpReachNLRIAttribute) GetNlris() []*any.Any {
	if m != nil {
		return m.Nlris
	}
	return nil
}

type MpUnreachNLRIAttribute struct {
	Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"`
	// The same as NLRI field of MpReachNLRIAttribute
	Nlris                []*any.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *MpUnreachNLRIAttribute) Reset()         { *m = MpUnreachNLRIAttribute{} }
func (m *MpUnreachNLRIAttribute) String() string { return proto.CompactTextString(m) }
func (*MpUnreachNLRIAttribute) ProtoMessage()    {}
func (*MpUnreachNLRIAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{43}
}

func (m *MpUnreachNLRIAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MpUnreachNLRIAttribute.Unmarshal(m, b)
}
func (m *MpUnreachNLRIAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MpUnreachNLRIAttribute.Marshal(b, m, deterministic)
}
func (m *MpUnreachNLRIAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MpUnreachNLRIAttribute.Merge(m, src)
}
func (m *MpUnreachNLRIAttribute) XXX_Size() int {
	return xxx_messageInfo_MpUnreachNLRIAttribute.Size(m)
}
func (m *MpUnreachNLRIAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_MpUnreachNLRIAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_MpUnreachNLRIAttribute proto.InternalMessageInfo

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

func (m *MpUnreachNLRIAttribute) GetNlris() []*any.Any {
	if m != nil {
		return m.Nlris
	}
	return nil
}

type TwoOctetAsSpecificExtended struct {
	IsTransitive         bool     `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
	SubType              uint32   `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
	As                   uint32   `protobuf:"varint,3,opt,name=as,proto3" json:"as,omitempty"`
	LocalAdmin           uint32   `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TwoOctetAsSpecificExtended) Reset()         { *m = TwoOctetAsSpecificExtended{} }
func (m *TwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*TwoOctetAsSpecificExtended) ProtoMessage()    {}
func (*TwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{44}
}

func (m *TwoOctetAsSpecificExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TwoOctetAsSpecificExtended.Unmarshal(m, b)
}
func (m *TwoOctetAsSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TwoOctetAsSpecificExtended.Marshal(b, m, deterministic)
}
func (m *TwoOctetAsSpecificExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TwoOctetAsSpecificExtended.Merge(m, src)
}
func (m *TwoOctetAsSpecificExtended) XXX_Size() int {
	return xxx_messageInfo_TwoOctetAsSpecificExtended.Size(m)
}
func (m *TwoOctetAsSpecificExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_TwoOctetAsSpecificExtended.DiscardUnknown(m)
}

var xxx_messageInfo_TwoOctetAsSpecificExtended proto.InternalMessageInfo

func (m *TwoOctetAsSpecificExtended) GetIsTransitive() bool {
	if m != nil {
		return m.IsTransitive
	}
	return false
}

func (m *TwoOctetAsSpecificExtended) GetSubType() uint32 {
	if m != nil {
		return m.SubType
	}
	return 0
}

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

func (m *TwoOctetAsSpecificExtended) GetLocalAdmin() uint32 {
	if m != nil {
		return m.LocalAdmin
	}
	return 0
}

type IPv4AddressSpecificExtended struct {
	IsTransitive         bool     `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
	SubType              uint32   `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	LocalAdmin           uint32   `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *IPv4AddressSpecificExtended) Reset()         { *m = IPv4AddressSpecificExtended{} }
func (m *IPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*IPv4AddressSpecificExtended) ProtoMessage()    {}
func (*IPv4AddressSpecificExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{45}
}

func (m *IPv4AddressSpecificExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IPv4AddressSpecificExtended.Unmarshal(m, b)
}
func (m *IPv4AddressSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IPv4AddressSpecificExtended.Marshal(b, m, deterministic)
}
func (m *IPv4AddressSpecificExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IPv4AddressSpecificExtended.Merge(m, src)
}
func (m *IPv4AddressSpecificExtended) XXX_Size() int {
	return xxx_messageInfo_IPv4AddressSpecificExtended.Size(m)
}
func (m *IPv4AddressSpecificExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_IPv4AddressSpecificExtended.DiscardUnknown(m)
}

var xxx_messageInfo_IPv4AddressSpecificExtended proto.InternalMessageInfo

func (m *IPv4AddressSpecificExtended) GetIsTransitive() bool {
	if m != nil {
		return m.IsTransitive
	}
	return false
}

func (m *IPv4AddressSpecificExtended) GetSubType() uint32 {
	if m != nil {
		return m.SubType
	}
	return 0
}

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

func (m *IPv4AddressSpecificExtended) GetLocalAdmin() uint32 {
	if m != nil {
		return m.LocalAdmin
	}
	return 0
}

type FourOctetAsSpecificExtended struct {
	IsTransitive         bool     `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
	SubType              uint32   `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
	As                   uint32   `protobuf:"varint,3,opt,name=as,proto3" json:"as,omitempty"`
	LocalAdmin           uint32   `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *FourOctetAsSpecificExtended) Reset()         { *m = FourOctetAsSpecificExtended{} }
func (m *FourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*FourOctetAsSpecificExtended) ProtoMessage()    {}
func (*FourOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{46}
}

func (m *FourOctetAsSpecificExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FourOctetAsSpecificExtended.Unmarshal(m, b)
}
func (m *FourOctetAsSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FourOctetAsSpecificExtended.Marshal(b, m, deterministic)
}
func (m *FourOctetAsSpecificExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FourOctetAsSpecificExtended.Merge(m, src)
}
func (m *FourOctetAsSpecificExtended) XXX_Size() int {
	return xxx_messageInfo_FourOctetAsSpecificExtended.Size(m)
}
func (m *FourOctetAsSpecificExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_FourOctetAsSpecificExtended.DiscardUnknown(m)
}

var xxx_messageInfo_FourOctetAsSpecificExtended proto.InternalMessageInfo

func (m *FourOctetAsSpecificExtended) GetIsTransitive() bool {
	if m != nil {
		return m.IsTransitive
	}
	return false
}

func (m *FourOctetAsSpecificExtended) GetSubType() uint32 {
	if m != nil {
		return m.SubType
	}
	return 0
}

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

func (m *FourOctetAsSpecificExtended) GetLocalAdmin() uint32 {
	if m != nil {
		return m.LocalAdmin
	}
	return 0
}

type LinkBandiwdthExtended struct {
	As                   uint32   `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"`
	Bandwidth            float32  `protobuf:"fixed32,2,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LinkBandiwdthExtended) Reset()         { *m = LinkBandiwdthExtended{} }
func (m *LinkBandiwdthExtended) String() string { return proto.CompactTextString(m) }
func (*LinkBandiwdthExtended) ProtoMessage()    {}
func (*LinkBandiwdthExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{47}
}

func (m *LinkBandiwdthExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LinkBandiwdthExtended.Unmarshal(m, b)
}
func (m *LinkBandiwdthExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LinkBandiwdthExtended.Marshal(b, m, deterministic)
}
func (m *LinkBandiwdthExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LinkBandiwdthExtended.Merge(m, src)
}
func (m *LinkBandiwdthExtended) XXX_Size() int {
	return xxx_messageInfo_LinkBandiwdthExtended.Size(m)
}
func (m *LinkBandiwdthExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_LinkBandiwdthExtended.DiscardUnknown(m)
}

var xxx_messageInfo_LinkBandiwdthExtended proto.InternalMessageInfo

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

func (m *LinkBandiwdthExtended) GetBandwidth() float32 {
	if m != nil {
		return m.Bandwidth
	}
	return 0
}

type ValidationExtended struct {
	State                uint32   `protobuf:"varint,1,opt,name=state,proto3" json:"state,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ValidationExtended) Reset()         { *m = ValidationExtended{} }
func (m *ValidationExtended) String() string { return proto.CompactTextString(m) }
func (*ValidationExtended) ProtoMessage()    {}
func (*ValidationExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{48}
}

func (m *ValidationExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ValidationExtended.Unmarshal(m, b)
}
func (m *ValidationExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ValidationExtended.Marshal(b, m, deterministic)
}
func (m *ValidationExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ValidationExtended.Merge(m, src)
}
func (m *ValidationExtended) XXX_Size() int {
	return xxx_messageInfo_ValidationExtended.Size(m)
}
func (m *ValidationExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_ValidationExtended.DiscardUnknown(m)
}

var xxx_messageInfo_ValidationExtended proto.InternalMessageInfo

func (m *ValidationExtended) GetState() uint32 {
	if m != nil {
		return m.State
	}
	return 0
}

type ColorExtended struct {
	Color                uint32   `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ColorExtended) Reset()         { *m = ColorExtended{} }
func (m *ColorExtended) String() string { return proto.CompactTextString(m) }
func (*ColorExtended) ProtoMessage()    {}
func (*ColorExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{49}
}

func (m *ColorExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ColorExtended.Unmarshal(m, b)
}
func (m *ColorExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ColorExtended.Marshal(b, m, deterministic)
}
func (m *ColorExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ColorExtended.Merge(m, src)
}
func (m *ColorExtended) XXX_Size() int {
	return xxx_messageInfo_ColorExtended.Size(m)
}
func (m *ColorExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_ColorExtended.DiscardUnknown(m)
}

var xxx_messageInfo_ColorExtended proto.InternalMessageInfo

func (m *ColorExtended) GetColor() uint32 {
	if m != nil {
		return m.Color
	}
	return 0
}

type EncapExtended struct {
	TunnelType           uint32   `protobuf:"varint,1,opt,name=tunnel_type,json=tunnelType,proto3" json:"tunnel_type,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *EncapExtended) Reset()         { *m = EncapExtended{} }
func (m *EncapExtended) String() string { return proto.CompactTextString(m) }
func (*EncapExtended) ProtoMessage()    {}
func (*EncapExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{50}
}

func (m *EncapExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_EncapExtended.Unmarshal(m, b)
}
func (m *EncapExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_EncapExtended.Marshal(b, m, deterministic)
}
func (m *EncapExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_EncapExtended.Merge(m, src)
}
func (m *EncapExtended) XXX_Size() int {
	return xxx_messageInfo_EncapExtended.Size(m)
}
func (m *EncapExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_EncapExtended.DiscardUnknown(m)
}

var xxx_messageInfo_EncapExtended proto.InternalMessageInfo

func (m *EncapExtended) GetTunnelType() uint32 {
	if m != nil {
		return m.TunnelType
	}
	return 0
}

type DefaultGatewayExtended struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DefaultGatewayExtended) Reset()         { *m = DefaultGatewayExtended{} }
func (m *DefaultGatewayExtended) String() string { return proto.CompactTextString(m) }
func (*DefaultGatewayExtended) ProtoMessage()    {}
func (*DefaultGatewayExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{51}
}

func (m *DefaultGatewayExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DefaultGatewayExtended.Unmarshal(m, b)
}
func (m *DefaultGatewayExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DefaultGatewayExtended.Marshal(b, m, deterministic)
}
func (m *DefaultGatewayExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DefaultGatewayExtended.Merge(m, src)
}
func (m *DefaultGatewayExtended) XXX_Size() int {
	return xxx_messageInfo_DefaultGatewayExtended.Size(m)
}
func (m *DefaultGatewayExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_DefaultGatewayExtended.DiscardUnknown(m)
}

var xxx_messageInfo_DefaultGatewayExtended proto.InternalMessageInfo

type OpaqueExtended struct {
	IsTransitive         bool     `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
	Value                []byte   `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *OpaqueExtended) Reset()         { *m = OpaqueExtended{} }
func (m *OpaqueExtended) String() string { return proto.CompactTextString(m) }
func (*OpaqueExtended) ProtoMessage()    {}
func (*OpaqueExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{52}
}

func (m *OpaqueExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_OpaqueExtended.Unmarshal(m, b)
}
func (m *OpaqueExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_OpaqueExtended.Marshal(b, m, deterministic)
}
func (m *OpaqueExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OpaqueExtended.Merge(m, src)
}
func (m *OpaqueExtended) XXX_Size() int {
	return xxx_messageInfo_OpaqueExtended.Size(m)
}
func (m *OpaqueExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_OpaqueExtended.DiscardUnknown(m)
}

var xxx_messageInfo_OpaqueExtended proto.InternalMessageInfo

func (m *OpaqueExtended) GetIsTransitive() bool {
	if m != nil {
		return m.IsTransitive
	}
	return false
}

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

type ESILabelExtended struct {
	IsSingleActive       bool     `protobuf:"varint,1,opt,name=is_single_active,json=isSingleActive,proto3" json:"is_single_active,omitempty"`
	Label                uint32   `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ESILabelExtended) Reset()         { *m = ESILabelExtended{} }
func (m *ESILabelExtended) String() string { return proto.CompactTextString(m) }
func (*ESILabelExtended) ProtoMessage()    {}
func (*ESILabelExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{53}
}

func (m *ESILabelExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ESILabelExtended.Unmarshal(m, b)
}
func (m *ESILabelExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ESILabelExtended.Marshal(b, m, deterministic)
}
func (m *ESILabelExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ESILabelExtended.Merge(m, src)
}
func (m *ESILabelExtended) XXX_Size() int {
	return xxx_messageInfo_ESILabelExtended.Size(m)
}
func (m *ESILabelExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_ESILabelExtended.DiscardUnknown(m)
}

var xxx_messageInfo_ESILabelExtended proto.InternalMessageInfo

func (m *ESILabelExtended) GetIsSingleActive() bool {
	if m != nil {
		return m.IsSingleActive
	}
	return false
}

func (m *ESILabelExtended) GetLabel() uint32 {
	if m != nil {
		return m.Label
	}
	return 0
}

type ESImportRouteTarget struct {
	EsImport             string   `protobuf:"bytes,1,opt,name=es_import,json=esImport,proto3" json:"es_import,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ESImportRouteTarget) Reset()         { *m = ESImportRouteTarget{} }
func (m *ESImportRouteTarget) String() string { return proto.CompactTextString(m) }
func (*ESImportRouteTarget) ProtoMessage()    {}
func (*ESImportRouteTarget) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{54}
}

func (m *ESImportRouteTarget) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ESImportRouteTarget.Unmarshal(m, b)
}
func (m *ESImportRouteTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ESImportRouteTarget.Marshal(b, m, deterministic)
}
func (m *ESImportRouteTarget) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ESImportRouteTarget.Merge(m, src)
}
func (m *ESImportRouteTarget) XXX_Size() int {
	return xxx_messageInfo_ESImportRouteTarget.Size(m)
}
func (m *ESImportRouteTarget) XXX_DiscardUnknown() {
	xxx_messageInfo_ESImportRouteTarget.DiscardUnknown(m)
}

var xxx_messageInfo_ESImportRouteTarget proto.InternalMessageInfo

func (m *ESImportRouteTarget) GetEsImport() string {
	if m != nil {
		return m.EsImport
	}
	return ""
}

type MacMobilityExtended struct {
	IsSticky             bool     `protobuf:"varint,1,opt,name=is_sticky,json=isSticky,proto3" json:"is_sticky,omitempty"`
	SequenceNum          uint32   `protobuf:"varint,2,opt,name=sequence_num,json=sequenceNum,proto3" json:"sequence_num,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MacMobilityExtended) Reset()         { *m = MacMobilityExtended{} }
func (m *MacMobilityExtended) String() string { return proto.CompactTextString(m) }
func (*MacMobilityExtended) ProtoMessage()    {}
func (*MacMobilityExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{55}
}

func (m *MacMobilityExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MacMobilityExtended.Unmarshal(m, b)
}
func (m *MacMobilityExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MacMobilityExtended.Marshal(b, m, deterministic)
}
func (m *MacMobilityExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MacMobilityExtended.Merge(m, src)
}
func (m *MacMobilityExtended) XXX_Size() int {
	return xxx_messageInfo_MacMobilityExtended.Size(m)
}
func (m *MacMobilityExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_MacMobilityExtended.DiscardUnknown(m)
}

var xxx_messageInfo_MacMobilityExtended proto.InternalMessageInfo

func (m *MacMobilityExtended) GetIsSticky() bool {
	if m != nil {
		return m.IsSticky
	}
	return false
}

func (m *MacMobilityExtended) GetSequenceNum() uint32 {
	if m != nil {
		return m.SequenceNum
	}
	return 0
}

type RouterMacExtended struct {
	Mac                  string   `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RouterMacExtended) Reset()         { *m = RouterMacExtended{} }
func (m *RouterMacExtended) String() string { return proto.CompactTextString(m) }
func (*RouterMacExtended) ProtoMessage()    {}
func (*RouterMacExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{56}
}

func (m *RouterMacExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RouterMacExtended.Unmarshal(m, b)
}
func (m *RouterMacExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RouterMacExtended.Marshal(b, m, deterministic)
}
func (m *RouterMacExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RouterMacExtended.Merge(m, src)
}
func (m *RouterMacExtended) XXX_Size() int {
	return xxx_messageInfo_RouterMacExtended.Size(m)
}
func (m *RouterMacExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_RouterMacExtended.DiscardUnknown(m)
}

var xxx_messageInfo_RouterMacExtended proto.InternalMessageInfo

func (m *RouterMacExtended) GetMac() string {
	if m != nil {
		return m.Mac
	}
	return ""
}

type TrafficRateExtended struct {
	As                   uint32   `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"`
	Rate                 float32  `protobuf:"fixed32,2,opt,name=rate,proto3" json:"rate,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TrafficRateExtended) Reset()         { *m = TrafficRateExtended{} }
func (m *TrafficRateExtended) String() string { return proto.CompactTextString(m) }
func (*TrafficRateExtended) ProtoMessage()    {}
func (*TrafficRateExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{57}
}

func (m *TrafficRateExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TrafficRateExtended.Unmarshal(m, b)
}
func (m *TrafficRateExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TrafficRateExtended.Marshal(b, m, deterministic)
}
func (m *TrafficRateExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TrafficRateExtended.Merge(m, src)
}
func (m *TrafficRateExtended) XXX_Size() int {
	return xxx_messageInfo_TrafficRateExtended.Size(m)
}
func (m *TrafficRateExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_TrafficRateExtended.DiscardUnknown(m)
}

var xxx_messageInfo_TrafficRateExtended proto.InternalMessageInfo

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

func (m *TrafficRateExtended) GetRate() float32 {
	if m != nil {
		return m.Rate
	}
	return 0
}

type TrafficActionExtended struct {
	Terminal             bool     `protobuf:"varint,1,opt,name=terminal,proto3" json:"terminal,omitempty"`
	Sample               bool     `protobuf:"varint,2,opt,name=sample,proto3" json:"sample,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TrafficActionExtended) Reset()         { *m = TrafficActionExtended{} }
func (m *TrafficActionExtended) String() string { return proto.CompactTextString(m) }
func (*TrafficActionExtended) ProtoMessage()    {}
func (*TrafficActionExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{58}
}

func (m *TrafficActionExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TrafficActionExtended.Unmarshal(m, b)
}
func (m *TrafficActionExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TrafficActionExtended.Marshal(b, m, deterministic)
}
func (m *TrafficActionExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TrafficActionExtended.Merge(m, src)
}
func (m *TrafficActionExtended) XXX_Size() int {
	return xxx_messageInfo_TrafficActionExtended.Size(m)
}
func (m *TrafficActionExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_TrafficActionExtended.DiscardUnknown(m)
}

var xxx_messageInfo_TrafficActionExtended proto.InternalMessageInfo

func (m *TrafficActionExtended) GetTerminal() bool {
	if m != nil {
		return m.Terminal
	}
	return false
}

func (m *TrafficActionExtended) GetSample() bool {
	if m != nil {
		return m.Sample
	}
	return false
}

type RedirectTwoOctetAsSpecificExtended struct {
	As                   uint32   `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"`
	LocalAdmin           uint32   `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RedirectTwoOctetAsSpecificExtended) Reset()         { *m = RedirectTwoOctetAsSpecificExtended{} }
func (m *RedirectTwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*RedirectTwoOctetAsSpecificExtended) ProtoMessage()    {}
func (*RedirectTwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{59}
}

func (m *RedirectTwoOctetAsSpecificExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.Unmarshal(m, b)
}
func (m *RedirectTwoOctetAsSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.Marshal(b, m, deterministic)
}
func (m *RedirectTwoOctetAsSpecificExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.Merge(m, src)
}
func (m *RedirectTwoOctetAsSpecificExtended) XXX_Size() int {
	return xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.Size(m)
}
func (m *RedirectTwoOctetAsSpecificExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_RedirectTwoOctetAsSpecificExtended.DiscardUnknown(m)
}

var xxx_messageInfo_RedirectTwoOctetAsSpecificExtended proto.InternalMessageInfo

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

func (m *RedirectTwoOctetAsSpecificExtended) GetLocalAdmin() uint32 {
	if m != nil {
		return m.LocalAdmin
	}
	return 0
}

type RedirectIPv4AddressSpecificExtended struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	LocalAdmin           uint32   `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RedirectIPv4AddressSpecificExtended) Reset()         { *m = RedirectIPv4AddressSpecificExtended{} }
func (m *RedirectIPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*RedirectIPv4AddressSpecificExtended) ProtoMessage()    {}
func (*RedirectIPv4AddressSpecificExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{60}
}

func (m *RedirectIPv4AddressSpecificExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RedirectIPv4AddressSpecificExtended.Unmarshal(m, b)
}
func (m *RedirectIPv4AddressSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RedirectIPv4AddressSpecificExtended.Marshal(b, m, deterministic)
}
func (m *RedirectIPv4AddressSpecificExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RedirectIPv4AddressSpecificExtended.Merge(m, src)
}
func (m *RedirectIPv4AddressSpecificExtended) XXX_Size() int {
	return xxx_messageInfo_RedirectIPv4AddressSpecificExtended.Size(m)
}
func (m *RedirectIPv4AddressSpecificExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_RedirectIPv4AddressSpecificExtended.DiscardUnknown(m)
}

var xxx_messageInfo_RedirectIPv4AddressSpecificExtended proto.InternalMessageInfo

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

func (m *RedirectIPv4AddressSpecificExtended) GetLocalAdmin() uint32 {
	if m != nil {
		return m.LocalAdmin
	}
	return 0
}

type RedirectFourOctetAsSpecificExtended struct {
	As                   uint32   `protobuf:"varint,1,opt,name=as,proto3" json:"as,omitempty"`
	LocalAdmin           uint32   `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RedirectFourOctetAsSpecificExtended) Reset()         { *m = RedirectFourOctetAsSpecificExtended{} }
func (m *RedirectFourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*RedirectFourOctetAsSpecificExtended) ProtoMessage()    {}
func (*RedirectFourOctetAsSpecificExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{61}
}

func (m *RedirectFourOctetAsSpecificExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RedirectFourOctetAsSpecificExtended.Unmarshal(m, b)
}
func (m *RedirectFourOctetAsSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RedirectFourOctetAsSpecificExtended.Marshal(b, m, deterministic)
}
func (m *RedirectFourOctetAsSpecificExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RedirectFourOctetAsSpecificExtended.Merge(m, src)
}
func (m *RedirectFourOctetAsSpecificExtended) XXX_Size() int {
	return xxx_messageInfo_RedirectFourOctetAsSpecificExtended.Size(m)
}
func (m *RedirectFourOctetAsSpecificExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_RedirectFourOctetAsSpecificExtended.DiscardUnknown(m)
}

var xxx_messageInfo_RedirectFourOctetAsSpecificExtended proto.InternalMessageInfo

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

func (m *RedirectFourOctetAsSpecificExtended) GetLocalAdmin() uint32 {
	if m != nil {
		return m.LocalAdmin
	}
	return 0
}

type TrafficRemarkExtended struct {
	Dscp                 uint32   `protobuf:"varint,1,opt,name=dscp,proto3" json:"dscp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TrafficRemarkExtended) Reset()         { *m = TrafficRemarkExtended{} }
func (m *TrafficRemarkExtended) String() string { return proto.CompactTextString(m) }
func (*TrafficRemarkExtended) ProtoMessage()    {}
func (*TrafficRemarkExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{62}
}

func (m *TrafficRemarkExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TrafficRemarkExtended.Unmarshal(m, b)
}
func (m *TrafficRemarkExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TrafficRemarkExtended.Marshal(b, m, deterministic)
}
func (m *TrafficRemarkExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TrafficRemarkExtended.Merge(m, src)
}
func (m *TrafficRemarkExtended) XXX_Size() int {
	return xxx_messageInfo_TrafficRemarkExtended.Size(m)
}
func (m *TrafficRemarkExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_TrafficRemarkExtended.DiscardUnknown(m)
}

var xxx_messageInfo_TrafficRemarkExtended proto.InternalMessageInfo

func (m *TrafficRemarkExtended) GetDscp() uint32 {
	if m != nil {
		return m.Dscp
	}
	return 0
}

type UnknownExtended struct {
	Type                 uint32   `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Value                []byte   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UnknownExtended) Reset()         { *m = UnknownExtended{} }
func (m *UnknownExtended) String() string { return proto.CompactTextString(m) }
func (*UnknownExtended) ProtoMessage()    {}
func (*UnknownExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{63}
}

func (m *UnknownExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UnknownExtended.Unmarshal(m, b)
}
func (m *UnknownExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UnknownExtended.Marshal(b, m, deterministic)
}
func (m *UnknownExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UnknownExtended.Merge(m, src)
}
func (m *UnknownExtended) XXX_Size() int {
	return xxx_messageInfo_UnknownExtended.Size(m)
}
func (m *UnknownExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_UnknownExtended.DiscardUnknown(m)
}

var xxx_messageInfo_UnknownExtended proto.InternalMessageInfo

func (m *UnknownExtended) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

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

type ExtendedCommunitiesAttribute struct {
	// Each Community must be one of:
	// - TwoOctetAsSpecificExtended
	// - IPv4AddressSpecificExtended
	// - FourOctetAsSpecificExtended
	// - OpaqueExtended
	// - ESILabelExtended
	// - MacMobilityExtended
	// - RouterMacExtended
	// - TrafficRateExtended
	// - TrafficActionExtended
	// - RedirectTwoOctetAsSpecificExtended
	// - RedirectIPv4AddressSpecificExtended
	// - RedirectFourOctetAsSpecificExtended
	// - TrafficRemarkExtended
	// - UnknownExtended
	Communities          []*any.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *ExtendedCommunitiesAttribute) Reset()         { *m = ExtendedCommunitiesAttribute{} }
func (m *ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) }
func (*ExtendedCommunitiesAttribute) ProtoMessage()    {}
func (*ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{64}
}

func (m *ExtendedCommunitiesAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ExtendedCommunitiesAttribute.Unmarshal(m, b)
}
func (m *ExtendedCommunitiesAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ExtendedCommunitiesAttribute.Marshal(b, m, deterministic)
}
func (m *ExtendedCommunitiesAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ExtendedCommunitiesAttribute.Merge(m, src)
}
func (m *ExtendedCommunitiesAttribute) XXX_Size() int {
	return xxx_messageInfo_ExtendedCommunitiesAttribute.Size(m)
}
func (m *ExtendedCommunitiesAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_ExtendedCommunitiesAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_ExtendedCommunitiesAttribute proto.InternalMessageInfo

func (m *ExtendedCommunitiesAttribute) GetCommunities() []*any.Any {
	if m != nil {
		return m.Communities
	}
	return nil
}

type As4PathAttribute struct {
	Segments             []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *As4PathAttribute) Reset()         { *m = As4PathAttribute{} }
func (m *As4PathAttribute) String() string { return proto.CompactTextString(m) }
func (*As4PathAttribute) ProtoMessage()    {}
func (*As4PathAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{65}
}

func (m *As4PathAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_As4PathAttribute.Unmarshal(m, b)
}
func (m *As4PathAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_As4PathAttribute.Marshal(b, m, deterministic)
}
func (m *As4PathAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_As4PathAttribute.Merge(m, src)
}
func (m *As4PathAttribute) XXX_Size() int {
	return xxx_messageInfo_As4PathAttribute.Size(m)
}
func (m *As4PathAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_As4PathAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_As4PathAttribute proto.InternalMessageInfo

func (m *As4PathAttribute) GetSegments() []*AsSegment {
	if m != nil {
		return m.Segments
	}
	return nil
}

type As4AggregatorAttribute struct {
	As                   uint32   `protobuf:"varint,2,opt,name=as,proto3" json:"as,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *As4AggregatorAttribute) Reset()         { *m = As4AggregatorAttribute{} }
func (m *As4AggregatorAttribute) String() string { return proto.CompactTextString(m) }
func (*As4AggregatorAttribute) ProtoMessage()    {}
func (*As4AggregatorAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{66}
}

func (m *As4AggregatorAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_As4AggregatorAttribute.Unmarshal(m, b)
}
func (m *As4AggregatorAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_As4AggregatorAttribute.Marshal(b, m, deterministic)
}
func (m *As4AggregatorAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_As4AggregatorAttribute.Merge(m, src)
}
func (m *As4AggregatorAttribute) XXX_Size() int {
	return xxx_messageInfo_As4AggregatorAttribute.Size(m)
}
func (m *As4AggregatorAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_As4AggregatorAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_As4AggregatorAttribute proto.InternalMessageInfo

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

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

type PmsiTunnelAttribute struct {
	Flags                uint32   `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
	Type                 uint32   `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
	Label                uint32   `protobuf:"varint,3,opt,name=label,proto3" json:"label,omitempty"`
	Id                   []byte   `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *PmsiTunnelAttribute) Reset()         { *m = PmsiTunnelAttribute{} }
func (m *PmsiTunnelAttribute) String() string { return proto.CompactTextString(m) }
func (*PmsiTunnelAttribute) ProtoMessage()    {}
func (*PmsiTunnelAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{67}
}

func (m *PmsiTunnelAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PmsiTunnelAttribute.Unmarshal(m, b)
}
func (m *PmsiTunnelAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PmsiTunnelAttribute.Marshal(b, m, deterministic)
}
func (m *PmsiTunnelAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PmsiTunnelAttribute.Merge(m, src)
}
func (m *PmsiTunnelAttribute) XXX_Size() int {
	return xxx_messageInfo_PmsiTunnelAttribute.Size(m)
}
func (m *PmsiTunnelAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_PmsiTunnelAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_PmsiTunnelAttribute proto.InternalMessageInfo

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

func (m *PmsiTunnelAttribute) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *PmsiTunnelAttribute) GetLabel() uint32 {
	if m != nil {
		return m.Label
	}
	return 0
}

func (m *PmsiTunnelAttribute) GetId() []byte {
	if m != nil {
		return m.Id
	}
	return nil
}

type TunnelEncapSubTLVEncapsulation struct {
	Key                  uint32   `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
	Cookie               []byte   `protobuf:"bytes,2,opt,name=cookie,proto3" json:"cookie,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVEncapsulation) Reset()         { *m = TunnelEncapSubTLVEncapsulation{} }
func (m *TunnelEncapSubTLVEncapsulation) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVEncapsulation) ProtoMessage()    {}
func (*TunnelEncapSubTLVEncapsulation) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{68}
}

func (m *TunnelEncapSubTLVEncapsulation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVEncapsulation.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVEncapsulation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVEncapsulation.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVEncapsulation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVEncapsulation.Merge(m, src)
}
func (m *TunnelEncapSubTLVEncapsulation) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVEncapsulation.Size(m)
}
func (m *TunnelEncapSubTLVEncapsulation) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVEncapsulation.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVEncapsulation proto.InternalMessageInfo

func (m *TunnelEncapSubTLVEncapsulation) GetKey() uint32 {
	if m != nil {
		return m.Key
	}
	return 0
}

func (m *TunnelEncapSubTLVEncapsulation) GetCookie() []byte {
	if m != nil {
		return m.Cookie
	}
	return nil
}

type TunnelEncapSubTLVProtocol struct {
	Protocol             uint32   `protobuf:"varint,1,opt,name=protocol,proto3" json:"protocol,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVProtocol) Reset()         { *m = TunnelEncapSubTLVProtocol{} }
func (m *TunnelEncapSubTLVProtocol) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVProtocol) ProtoMessage()    {}
func (*TunnelEncapSubTLVProtocol) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{69}
}

func (m *TunnelEncapSubTLVProtocol) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVProtocol.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVProtocol) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVProtocol.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVProtocol) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVProtocol.Merge(m, src)
}
func (m *TunnelEncapSubTLVProtocol) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVProtocol.Size(m)
}
func (m *TunnelEncapSubTLVProtocol) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVProtocol.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVProtocol proto.InternalMessageInfo

func (m *TunnelEncapSubTLVProtocol) GetProtocol() uint32 {
	if m != nil {
		return m.Protocol
	}
	return 0
}

type TunnelEncapSubTLVColor struct {
	Color                uint32   `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVColor) Reset()         { *m = TunnelEncapSubTLVColor{} }
func (m *TunnelEncapSubTLVColor) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVColor) ProtoMessage()    {}
func (*TunnelEncapSubTLVColor) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{70}
}

func (m *TunnelEncapSubTLVColor) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVColor.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVColor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVColor.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVColor) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVColor.Merge(m, src)
}
func (m *TunnelEncapSubTLVColor) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVColor.Size(m)
}
func (m *TunnelEncapSubTLVColor) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVColor.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVColor proto.InternalMessageInfo

func (m *TunnelEncapSubTLVColor) GetColor() uint32 {
	if m != nil {
		return m.Color
	}
	return 0
}

type TunnelEncapSubTLVSRPreference struct {
	Flags                uint32   `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
	Preference           uint32   `protobuf:"varint,2,opt,name=preference,proto3" json:"preference,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVSRPreference) Reset()         { *m = TunnelEncapSubTLVSRPreference{} }
func (m *TunnelEncapSubTLVSRPreference) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVSRPreference) ProtoMessage()    {}
func (*TunnelEncapSubTLVSRPreference) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{71}
}

func (m *TunnelEncapSubTLVSRPreference) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVSRPreference.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVSRPreference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVSRPreference.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVSRPreference) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVSRPreference.Merge(m, src)
}
func (m *TunnelEncapSubTLVSRPreference) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVSRPreference.Size(m)
}
func (m *TunnelEncapSubTLVSRPreference) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVSRPreference.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVSRPreference proto.InternalMessageInfo

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

func (m *TunnelEncapSubTLVSRPreference) GetPreference() uint32 {
	if m != nil {
		return m.Preference
	}
	return 0
}

type TunnelEncapSubTLVSRCandidatePathName struct {
	CandidatePathName    string   `protobuf:"bytes,1,opt,name=candidate_path_name,json=candidatePathName,proto3" json:"candidate_path_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVSRCandidatePathName) Reset()         { *m = TunnelEncapSubTLVSRCandidatePathName{} }
func (m *TunnelEncapSubTLVSRCandidatePathName) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVSRCandidatePathName) ProtoMessage()    {}
func (*TunnelEncapSubTLVSRCandidatePathName) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{72}
}

func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.Merge(m, src)
}
func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.Size(m)
}
func (m *TunnelEncapSubTLVSRCandidatePathName) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVSRCandidatePathName proto.InternalMessageInfo

func (m *TunnelEncapSubTLVSRCandidatePathName) GetCandidatePathName() string {
	if m != nil {
		return m.CandidatePathName
	}
	return ""
}

type TunnelEncapSubTLVSRPriority struct {
	Priority             uint32   `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVSRPriority) Reset()         { *m = TunnelEncapSubTLVSRPriority{} }
func (m *TunnelEncapSubTLVSRPriority) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVSRPriority) ProtoMessage()    {}
func (*TunnelEncapSubTLVSRPriority) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{73}
}

func (m *TunnelEncapSubTLVSRPriority) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVSRPriority.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVSRPriority) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVSRPriority.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVSRPriority) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVSRPriority.Merge(m, src)
}
func (m *TunnelEncapSubTLVSRPriority) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVSRPriority.Size(m)
}
func (m *TunnelEncapSubTLVSRPriority) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVSRPriority.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVSRPriority proto.InternalMessageInfo

func (m *TunnelEncapSubTLVSRPriority) GetPriority() uint32 {
	if m != nil {
		return m.Priority
	}
	return 0
}

type TunnelEncapSubTLVSRBindingSID struct {
	// bsid must be one of:
	// - SRBindingSID
	// - SRv6BindingSID
	Bsid                 *any.Any `protobuf:"bytes,1,opt,name=bsid,proto3" json:"bsid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVSRBindingSID) Reset()         { *m = TunnelEncapSubTLVSRBindingSID{} }
func (m *TunnelEncapSubTLVSRBindingSID) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVSRBindingSID) ProtoMessage()    {}
func (*TunnelEncapSubTLVSRBindingSID) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{74}
}

func (m *TunnelEncapSubTLVSRBindingSID) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVSRBindingSID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVSRBindingSID) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.Merge(m, src)
}
func (m *TunnelEncapSubTLVSRBindingSID) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.Size(m)
}
func (m *TunnelEncapSubTLVSRBindingSID) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVSRBindingSID.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVSRBindingSID proto.InternalMessageInfo

func (m *TunnelEncapSubTLVSRBindingSID) GetBsid() *any.Any {
	if m != nil {
		return m.Bsid
	}
	return nil
}

type SRBindingSID struct {
	SFlag                bool     `protobuf:"varint,1,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"`
	IFlag                bool     `protobuf:"varint,2,opt,name=i_flag,json=iFlag,proto3" json:"i_flag,omitempty"`
	Sid                  []byte   `protobuf:"bytes,3,opt,name=sid,proto3" json:"sid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SRBindingSID) Reset()         { *m = SRBindingSID{} }
func (m *SRBindingSID) String() string { return proto.CompactTextString(m) }
func (*SRBindingSID) ProtoMessage()    {}
func (*SRBindingSID) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{75}
}

func (m *SRBindingSID) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRBindingSID.Unmarshal(m, b)
}
func (m *SRBindingSID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRBindingSID.Marshal(b, m, deterministic)
}
func (m *SRBindingSID) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRBindingSID.Merge(m, src)
}
func (m *SRBindingSID) XXX_Size() int {
	return xxx_messageInfo_SRBindingSID.Size(m)
}
func (m *SRBindingSID) XXX_DiscardUnknown() {
	xxx_messageInfo_SRBindingSID.DiscardUnknown(m)
}

var xxx_messageInfo_SRBindingSID proto.InternalMessageInfo

func (m *SRBindingSID) GetSFlag() bool {
	if m != nil {
		return m.SFlag
	}
	return false
}

func (m *SRBindingSID) GetIFlag() bool {
	if m != nil {
		return m.IFlag
	}
	return false
}

func (m *SRBindingSID) GetSid() []byte {
	if m != nil {
		return m.Sid
	}
	return nil
}

type SRv6EndPointBehavior struct {
	Behavior             SRv6Behavior `protobuf:"varint,1,opt,name=behavior,proto3,enum=gobgpapi.SRv6Behavior" json:"behavior,omitempty"`
	BlockLen             uint32       `protobuf:"varint,2,opt,name=block_len,json=blockLen,proto3" json:"block_len,omitempty"`
	NodeLen              uint32       `protobuf:"varint,3,opt,name=node_len,json=nodeLen,proto3" json:"node_len,omitempty"`
	FuncLen              uint32       `protobuf:"varint,4,opt,name=func_len,json=funcLen,proto3" json:"func_len,omitempty"`
	ArgLen               uint32       `protobuf:"varint,5,opt,name=arg_len,json=argLen,proto3" json:"arg_len,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *SRv6EndPointBehavior) Reset()         { *m = SRv6EndPointBehavior{} }
func (m *SRv6EndPointBehavior) String() string { return proto.CompactTextString(m) }
func (*SRv6EndPointBehavior) ProtoMessage()    {}
func (*SRv6EndPointBehavior) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{76}
}

func (m *SRv6EndPointBehavior) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRv6EndPointBehavior.Unmarshal(m, b)
}
func (m *SRv6EndPointBehavior) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRv6EndPointBehavior.Marshal(b, m, deterministic)
}
func (m *SRv6EndPointBehavior) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRv6EndPointBehavior.Merge(m, src)
}
func (m *SRv6EndPointBehavior) XXX_Size() int {
	return xxx_messageInfo_SRv6EndPointBehavior.Size(m)
}
func (m *SRv6EndPointBehavior) XXX_DiscardUnknown() {
	xxx_messageInfo_SRv6EndPointBehavior.DiscardUnknown(m)
}

var xxx_messageInfo_SRv6EndPointBehavior proto.InternalMessageInfo

func (m *SRv6EndPointBehavior) GetBehavior() SRv6Behavior {
	if m != nil {
		return m.Behavior
	}
	return SRv6Behavior_RESERVED
}

func (m *SRv6EndPointBehavior) GetBlockLen() uint32 {
	if m != nil {
		return m.BlockLen
	}
	return 0
}

func (m *SRv6EndPointBehavior) GetNodeLen() uint32 {
	if m != nil {
		return m.NodeLen
	}
	return 0
}

func (m *SRv6EndPointBehavior) GetFuncLen() uint32 {
	if m != nil {
		return m.FuncLen
	}
	return 0
}

func (m *SRv6EndPointBehavior) GetArgLen() uint32 {
	if m != nil {
		return m.ArgLen
	}
	return 0
}

type SRv6BindingSID struct {
	SFlag                     bool                  `protobuf:"varint,1,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"`
	IFlag                     bool                  `protobuf:"varint,2,opt,name=i_flag,json=iFlag,proto3" json:"i_flag,omitempty"`
	BFlag                     bool                  `protobuf:"varint,3,opt,name=b_flag,json=bFlag,proto3" json:"b_flag,omitempty"`
	Sid                       []byte                `protobuf:"bytes,4,opt,name=sid,proto3" json:"sid,omitempty"`
	EndpointBehaviorStructure *SRv6EndPointBehavior `protobuf:"bytes,5,opt,name=endpoint_behavior_structure,json=endpointBehaviorStructure,proto3" json:"endpoint_behavior_structure,omitempty"`
	XXX_NoUnkeyedLiteral      struct{}              `json:"-"`
	XXX_unrecognized          []byte                `json:"-"`
	XXX_sizecache             int32                 `json:"-"`
}

func (m *SRv6BindingSID) Reset()         { *m = SRv6BindingSID{} }
func (m *SRv6BindingSID) String() string { return proto.CompactTextString(m) }
func (*SRv6BindingSID) ProtoMessage()    {}
func (*SRv6BindingSID) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{77}
}

func (m *SRv6BindingSID) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRv6BindingSID.Unmarshal(m, b)
}
func (m *SRv6BindingSID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRv6BindingSID.Marshal(b, m, deterministic)
}
func (m *SRv6BindingSID) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRv6BindingSID.Merge(m, src)
}
func (m *SRv6BindingSID) XXX_Size() int {
	return xxx_messageInfo_SRv6BindingSID.Size(m)
}
func (m *SRv6BindingSID) XXX_DiscardUnknown() {
	xxx_messageInfo_SRv6BindingSID.DiscardUnknown(m)
}

var xxx_messageInfo_SRv6BindingSID proto.InternalMessageInfo

func (m *SRv6BindingSID) GetSFlag() bool {
	if m != nil {
		return m.SFlag
	}
	return false
}

func (m *SRv6BindingSID) GetIFlag() bool {
	if m != nil {
		return m.IFlag
	}
	return false
}

func (m *SRv6BindingSID) GetBFlag() bool {
	if m != nil {
		return m.BFlag
	}
	return false
}

func (m *SRv6BindingSID) GetSid() []byte {
	if m != nil {
		return m.Sid
	}
	return nil
}

func (m *SRv6BindingSID) GetEndpointBehaviorStructure() *SRv6EndPointBehavior {
	if m != nil {
		return m.EndpointBehaviorStructure
	}
	return nil
}

type TunnelEncapSubTLVSRENLP struct {
	Flags                uint32   `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
	Enlp                 ENLPType `protobuf:"varint,2,opt,name=enlp,proto3,enum=gobgpapi.ENLPType" json:"enlp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVSRENLP) Reset()         { *m = TunnelEncapSubTLVSRENLP{} }
func (m *TunnelEncapSubTLVSRENLP) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVSRENLP) ProtoMessage()    {}
func (*TunnelEncapSubTLVSRENLP) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{78}
}

func (m *TunnelEncapSubTLVSRENLP) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVSRENLP.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVSRENLP) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVSRENLP.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVSRENLP) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVSRENLP.Merge(m, src)
}
func (m *TunnelEncapSubTLVSRENLP) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVSRENLP.Size(m)
}
func (m *TunnelEncapSubTLVSRENLP) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVSRENLP.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVSRENLP proto.InternalMessageInfo

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

func (m *TunnelEncapSubTLVSRENLP) GetEnlp() ENLPType {
	if m != nil {
		return m.Enlp
	}
	return ENLPType_Reserved
}

type SRWeight struct {
	Flags                uint32   `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
	Weight               uint32   `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SRWeight) Reset()         { *m = SRWeight{} }
func (m *SRWeight) String() string { return proto.CompactTextString(m) }
func (*SRWeight) ProtoMessage()    {}
func (*SRWeight) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{79}
}

func (m *SRWeight) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRWeight.Unmarshal(m, b)
}
func (m *SRWeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRWeight.Marshal(b, m, deterministic)
}
func (m *SRWeight) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRWeight.Merge(m, src)
}
func (m *SRWeight) XXX_Size() int {
	return xxx_messageInfo_SRWeight.Size(m)
}
func (m *SRWeight) XXX_DiscardUnknown() {
	xxx_messageInfo_SRWeight.DiscardUnknown(m)
}

var xxx_messageInfo_SRWeight proto.InternalMessageInfo

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

func (m *SRWeight) GetWeight() uint32 {
	if m != nil {
		return m.Weight
	}
	return 0
}

type SegmentFlags struct {
	VFlag                bool     `protobuf:"varint,1,opt,name=v_flag,json=vFlag,proto3" json:"v_flag,omitempty"`
	AFlag                bool     `protobuf:"varint,2,opt,name=a_flag,json=aFlag,proto3" json:"a_flag,omitempty"`
	SFlag                bool     `protobuf:"varint,3,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"`
	BFlag                bool     `protobuf:"varint,4,opt,name=b_flag,json=bFlag,proto3" json:"b_flag,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SegmentFlags) Reset()         { *m = SegmentFlags{} }
func (m *SegmentFlags) String() string { return proto.CompactTextString(m) }
func (*SegmentFlags) ProtoMessage()    {}
func (*SegmentFlags) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{80}
}

func (m *SegmentFlags) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SegmentFlags.Unmarshal(m, b)
}
func (m *SegmentFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SegmentFlags.Marshal(b, m, deterministic)
}
func (m *SegmentFlags) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SegmentFlags.Merge(m, src)
}
func (m *SegmentFlags) XXX_Size() int {
	return xxx_messageInfo_SegmentFlags.Size(m)
}
func (m *SegmentFlags) XXX_DiscardUnknown() {
	xxx_messageInfo_SegmentFlags.DiscardUnknown(m)
}

var xxx_messageInfo_SegmentFlags proto.InternalMessageInfo

func (m *SegmentFlags) GetVFlag() bool {
	if m != nil {
		return m.VFlag
	}
	return false
}

func (m *SegmentFlags) GetAFlag() bool {
	if m != nil {
		return m.AFlag
	}
	return false
}

func (m *SegmentFlags) GetSFlag() bool {
	if m != nil {
		return m.SFlag
	}
	return false
}

func (m *SegmentFlags) GetBFlag() bool {
	if m != nil {
		return m.BFlag
	}
	return false
}

type SegmentTypeA struct {
	Flags                *SegmentFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"`
	Label                uint32        `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *SegmentTypeA) Reset()         { *m = SegmentTypeA{} }
func (m *SegmentTypeA) String() string { return proto.CompactTextString(m) }
func (*SegmentTypeA) ProtoMessage()    {}
func (*SegmentTypeA) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{81}
}

func (m *SegmentTypeA) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SegmentTypeA.Unmarshal(m, b)
}
func (m *SegmentTypeA) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SegmentTypeA.Marshal(b, m, deterministic)
}
func (m *SegmentTypeA) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SegmentTypeA.Merge(m, src)
}
func (m *SegmentTypeA) XXX_Size() int {
	return xxx_messageInfo_SegmentTypeA.Size(m)
}
func (m *SegmentTypeA) XXX_DiscardUnknown() {
	xxx_messageInfo_SegmentTypeA.DiscardUnknown(m)
}

var xxx_messageInfo_SegmentTypeA proto.InternalMessageInfo

func (m *SegmentTypeA) GetFlags() *SegmentFlags {
	if m != nil {
		return m.Flags
	}
	return nil
}

func (m *SegmentTypeA) GetLabel() uint32 {
	if m != nil {
		return m.Label
	}
	return 0
}

type SegmentTypeB struct {
	Flags                     *SegmentFlags         `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"`
	Sid                       []byte                `protobuf:"bytes,2,opt,name=sid,proto3" json:"sid,omitempty"`
	EndpointBehaviorStructure *SRv6EndPointBehavior `protobuf:"bytes,3,opt,name=endpoint_behavior_structure,json=endpointBehaviorStructure,proto3" json:"endpoint_behavior_structure,omitempty"`
	XXX_NoUnkeyedLiteral      struct{}              `json:"-"`
	XXX_unrecognized          []byte                `json:"-"`
	XXX_sizecache             int32                 `json:"-"`
}

func (m *SegmentTypeB) Reset()         { *m = SegmentTypeB{} }
func (m *SegmentTypeB) String() string { return proto.CompactTextString(m) }
func (*SegmentTypeB) ProtoMessage()    {}
func (*SegmentTypeB) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{82}
}

func (m *SegmentTypeB) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SegmentTypeB.Unmarshal(m, b)
}
func (m *SegmentTypeB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SegmentTypeB.Marshal(b, m, deterministic)
}
func (m *SegmentTypeB) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SegmentTypeB.Merge(m, src)
}
func (m *SegmentTypeB) XXX_Size() int {
	return xxx_messageInfo_SegmentTypeB.Size(m)
}
func (m *SegmentTypeB) XXX_DiscardUnknown() {
	xxx_messageInfo_SegmentTypeB.DiscardUnknown(m)
}

var xxx_messageInfo_SegmentTypeB proto.InternalMessageInfo

func (m *SegmentTypeB) GetFlags() *SegmentFlags {
	if m != nil {
		return m.Flags
	}
	return nil
}

func (m *SegmentTypeB) GetSid() []byte {
	if m != nil {
		return m.Sid
	}
	return nil
}

func (m *SegmentTypeB) GetEndpointBehaviorStructure() *SRv6EndPointBehavior {
	if m != nil {
		return m.EndpointBehaviorStructure
	}
	return nil
}

type TunnelEncapSubTLVSRSegmentList struct {
	Weight *SRWeight `protobuf:"bytes,1,opt,name=weight,proto3" json:"weight,omitempty"`
	// segments must be one of:
	// - SegmentTypeA
	// - SegmentTypeB
	Segments             []*any.Any `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *TunnelEncapSubTLVSRSegmentList) Reset()         { *m = TunnelEncapSubTLVSRSegmentList{} }
func (m *TunnelEncapSubTLVSRSegmentList) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVSRSegmentList) ProtoMessage()    {}
func (*TunnelEncapSubTLVSRSegmentList) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{83}
}

func (m *TunnelEncapSubTLVSRSegmentList) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVSRSegmentList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVSRSegmentList) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.Merge(m, src)
}
func (m *TunnelEncapSubTLVSRSegmentList) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.Size(m)
}
func (m *TunnelEncapSubTLVSRSegmentList) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVSRSegmentList.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVSRSegmentList proto.InternalMessageInfo

func (m *TunnelEncapSubTLVSRSegmentList) GetWeight() *SRWeight {
	if m != nil {
		return m.Weight
	}
	return nil
}

func (m *TunnelEncapSubTLVSRSegmentList) GetSegments() []*any.Any {
	if m != nil {
		return m.Segments
	}
	return nil
}

type TunnelEncapSubTLVEgressEndpoint struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVEgressEndpoint) Reset()         { *m = TunnelEncapSubTLVEgressEndpoint{} }
func (m *TunnelEncapSubTLVEgressEndpoint) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVEgressEndpoint) ProtoMessage()    {}
func (*TunnelEncapSubTLVEgressEndpoint) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{84}
}

func (m *TunnelEncapSubTLVEgressEndpoint) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVEgressEndpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVEgressEndpoint) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.Merge(m, src)
}
func (m *TunnelEncapSubTLVEgressEndpoint) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.Size(m)
}
func (m *TunnelEncapSubTLVEgressEndpoint) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVEgressEndpoint proto.InternalMessageInfo

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

type TunnelEncapSubTLVUDPDestPort struct {
	Port                 uint32   `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVUDPDestPort) Reset()         { *m = TunnelEncapSubTLVUDPDestPort{} }
func (m *TunnelEncapSubTLVUDPDestPort) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVUDPDestPort) ProtoMessage()    {}
func (*TunnelEncapSubTLVUDPDestPort) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{85}
}

func (m *TunnelEncapSubTLVUDPDestPort) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVUDPDestPort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVUDPDestPort) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.Merge(m, src)
}
func (m *TunnelEncapSubTLVUDPDestPort) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.Size(m)
}
func (m *TunnelEncapSubTLVUDPDestPort) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVUDPDestPort.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVUDPDestPort proto.InternalMessageInfo

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

type TunnelEncapSubTLVUnknown struct {
	Type                 uint32   `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Value                []byte   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TunnelEncapSubTLVUnknown) Reset()         { *m = TunnelEncapSubTLVUnknown{} }
func (m *TunnelEncapSubTLVUnknown) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapSubTLVUnknown) ProtoMessage()    {}
func (*TunnelEncapSubTLVUnknown) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{86}
}

func (m *TunnelEncapSubTLVUnknown) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapSubTLVUnknown.Unmarshal(m, b)
}
func (m *TunnelEncapSubTLVUnknown) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapSubTLVUnknown.Marshal(b, m, deterministic)
}
func (m *TunnelEncapSubTLVUnknown) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapSubTLVUnknown.Merge(m, src)
}
func (m *TunnelEncapSubTLVUnknown) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapSubTLVUnknown.Size(m)
}
func (m *TunnelEncapSubTLVUnknown) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapSubTLVUnknown.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapSubTLVUnknown proto.InternalMessageInfo

func (m *TunnelEncapSubTLVUnknown) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

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

type TunnelEncapTLV struct {
	Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	// Each TLV must be one of:
	// - TunnelEncapSubTLVEncapsulation
	// - TunnelEncapSubTLVProtocol
	// - TunnelEncapSubTLVColor
	// - TunnelEncapSubTLVSRPolicy
	// - TunnelEncapSubTLVUnknown
	Tlvs                 []*any.Any `protobuf:"bytes,2,rep,name=tlvs,proto3" json:"tlvs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *TunnelEncapTLV) Reset()         { *m = TunnelEncapTLV{} }
func (m *TunnelEncapTLV) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapTLV) ProtoMessage()    {}
func (*TunnelEncapTLV) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{87}
}

func (m *TunnelEncapTLV) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapTLV.Unmarshal(m, b)
}
func (m *TunnelEncapTLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapTLV.Marshal(b, m, deterministic)
}
func (m *TunnelEncapTLV) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapTLV.Merge(m, src)
}
func (m *TunnelEncapTLV) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapTLV.Size(m)
}
func (m *TunnelEncapTLV) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapTLV.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapTLV proto.InternalMessageInfo

func (m *TunnelEncapTLV) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

func (m *TunnelEncapTLV) GetTlvs() []*any.Any {
	if m != nil {
		return m.Tlvs
	}
	return nil
}

type TunnelEncapAttribute struct {
	Tlvs                 []*TunnelEncapTLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *TunnelEncapAttribute) Reset()         { *m = TunnelEncapAttribute{} }
func (m *TunnelEncapAttribute) String() string { return proto.CompactTextString(m) }
func (*TunnelEncapAttribute) ProtoMessage()    {}
func (*TunnelEncapAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{88}
}

func (m *TunnelEncapAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TunnelEncapAttribute.Unmarshal(m, b)
}
func (m *TunnelEncapAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TunnelEncapAttribute.Marshal(b, m, deterministic)
}
func (m *TunnelEncapAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TunnelEncapAttribute.Merge(m, src)
}
func (m *TunnelEncapAttribute) XXX_Size() int {
	return xxx_messageInfo_TunnelEncapAttribute.Size(m)
}
func (m *TunnelEncapAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_TunnelEncapAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_TunnelEncapAttribute proto.InternalMessageInfo

func (m *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV {
	if m != nil {
		return m.Tlvs
	}
	return nil
}

type IPv6AddressSpecificExtended struct {
	IsTransitive         bool     `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"`
	SubType              uint32   `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"`
	Address              string   `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	LocalAdmin           uint32   `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *IPv6AddressSpecificExtended) Reset()         { *m = IPv6AddressSpecificExtended{} }
func (m *IPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*IPv6AddressSpecificExtended) ProtoMessage()    {}
func (*IPv6AddressSpecificExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{89}
}

func (m *IPv6AddressSpecificExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IPv6AddressSpecificExtended.Unmarshal(m, b)
}
func (m *IPv6AddressSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IPv6AddressSpecificExtended.Marshal(b, m, deterministic)
}
func (m *IPv6AddressSpecificExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IPv6AddressSpecificExtended.Merge(m, src)
}
func (m *IPv6AddressSpecificExtended) XXX_Size() int {
	return xxx_messageInfo_IPv6AddressSpecificExtended.Size(m)
}
func (m *IPv6AddressSpecificExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_IPv6AddressSpecificExtended.DiscardUnknown(m)
}

var xxx_messageInfo_IPv6AddressSpecificExtended proto.InternalMessageInfo

func (m *IPv6AddressSpecificExtended) GetIsTransitive() bool {
	if m != nil {
		return m.IsTransitive
	}
	return false
}

func (m *IPv6AddressSpecificExtended) GetSubType() uint32 {
	if m != nil {
		return m.SubType
	}
	return 0
}

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

func (m *IPv6AddressSpecificExtended) GetLocalAdmin() uint32 {
	if m != nil {
		return m.LocalAdmin
	}
	return 0
}

type RedirectIPv6AddressSpecificExtended struct {
	Address              string   `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	LocalAdmin           uint32   `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RedirectIPv6AddressSpecificExtended) Reset()         { *m = RedirectIPv6AddressSpecificExtended{} }
func (m *RedirectIPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) }
func (*RedirectIPv6AddressSpecificExtended) ProtoMessage()    {}
func (*RedirectIPv6AddressSpecificExtended) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{90}
}

func (m *RedirectIPv6AddressSpecificExtended) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RedirectIPv6AddressSpecificExtended.Unmarshal(m, b)
}
func (m *RedirectIPv6AddressSpecificExtended) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RedirectIPv6AddressSpecificExtended.Marshal(b, m, deterministic)
}
func (m *RedirectIPv6AddressSpecificExtended) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RedirectIPv6AddressSpecificExtended.Merge(m, src)
}
func (m *RedirectIPv6AddressSpecificExtended) XXX_Size() int {
	return xxx_messageInfo_RedirectIPv6AddressSpecificExtended.Size(m)
}
func (m *RedirectIPv6AddressSpecificExtended) XXX_DiscardUnknown() {
	xxx_messageInfo_RedirectIPv6AddressSpecificExtended.DiscardUnknown(m)
}

var xxx_messageInfo_RedirectIPv6AddressSpecificExtended proto.InternalMessageInfo

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

func (m *RedirectIPv6AddressSpecificExtended) GetLocalAdmin() uint32 {
	if m != nil {
		return m.LocalAdmin
	}
	return 0
}

type IP6ExtendedCommunitiesAttribute struct {
	// Each Community must be one of:
	// - IPv6AddressSpecificExtended
	// - RedirectIPv6AddressSpecificExtended
	Communities          []*any.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *IP6ExtendedCommunitiesAttribute) Reset()         { *m = IP6ExtendedCommunitiesAttribute{} }
func (m *IP6ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) }
func (*IP6ExtendedCommunitiesAttribute) ProtoMessage()    {}
func (*IP6ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{91}
}

func (m *IP6ExtendedCommunitiesAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_IP6ExtendedCommunitiesAttribute.Unmarshal(m, b)
}
func (m *IP6ExtendedCommunitiesAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_IP6ExtendedCommunitiesAttribute.Marshal(b, m, deterministic)
}
func (m *IP6ExtendedCommunitiesAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_IP6ExtendedCommunitiesAttribute.Merge(m, src)
}
func (m *IP6ExtendedCommunitiesAttribute) XXX_Size() int {
	return xxx_messageInfo_IP6ExtendedCommunitiesAttribute.Size(m)
}
func (m *IP6ExtendedCommunitiesAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_IP6ExtendedCommunitiesAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_IP6ExtendedCommunitiesAttribute proto.InternalMessageInfo

func (m *IP6ExtendedCommunitiesAttribute) GetCommunities() []*any.Any {
	if m != nil {
		return m.Communities
	}
	return nil
}

type AigpTLVIGPMetric struct {
	Metric               uint64   `protobuf:"varint,1,opt,name=metric,proto3" json:"metric,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AigpTLVIGPMetric) Reset()         { *m = AigpTLVIGPMetric{} }
func (m *AigpTLVIGPMetric) String() string { return proto.CompactTextString(m) }
func (*AigpTLVIGPMetric) ProtoMessage()    {}
func (*AigpTLVIGPMetric) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{92}
}

func (m *AigpTLVIGPMetric) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AigpTLVIGPMetric.Unmarshal(m, b)
}
func (m *AigpTLVIGPMetric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AigpTLVIGPMetric.Marshal(b, m, deterministic)
}
func (m *AigpTLVIGPMetric) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AigpTLVIGPMetric.Merge(m, src)
}
func (m *AigpTLVIGPMetric) XXX_Size() int {
	return xxx_messageInfo_AigpTLVIGPMetric.Size(m)
}
func (m *AigpTLVIGPMetric) XXX_DiscardUnknown() {
	xxx_messageInfo_AigpTLVIGPMetric.DiscardUnknown(m)
}

var xxx_messageInfo_AigpTLVIGPMetric proto.InternalMessageInfo

func (m *AigpTLVIGPMetric) GetMetric() uint64 {
	if m != nil {
		return m.Metric
	}
	return 0
}

type AigpTLVUnknown struct {
	Type                 uint32   `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	Value                []byte   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AigpTLVUnknown) Reset()         { *m = AigpTLVUnknown{} }
func (m *AigpTLVUnknown) String() string { return proto.CompactTextString(m) }
func (*AigpTLVUnknown) ProtoMessage()    {}
func (*AigpTLVUnknown) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{93}
}

func (m *AigpTLVUnknown) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AigpTLVUnknown.Unmarshal(m, b)
}
func (m *AigpTLVUnknown) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AigpTLVUnknown.Marshal(b, m, deterministic)
}
func (m *AigpTLVUnknown) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AigpTLVUnknown.Merge(m, src)
}
func (m *AigpTLVUnknown) XXX_Size() int {
	return xxx_messageInfo_AigpTLVUnknown.Size(m)
}
func (m *AigpTLVUnknown) XXX_DiscardUnknown() {
	xxx_messageInfo_AigpTLVUnknown.DiscardUnknown(m)
}

var xxx_messageInfo_AigpTLVUnknown proto.InternalMessageInfo

func (m *AigpTLVUnknown) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

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

type AigpAttribute struct {
	// Each TLV must be one of:
	// - AigpTLVIGPMetric
	// - AigpTLVUnknown
	Tlvs                 []*any.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *AigpAttribute) Reset()         { *m = AigpAttribute{} }
func (m *AigpAttribute) String() string { return proto.CompactTextString(m) }
func (*AigpAttribute) ProtoMessage()    {}
func (*AigpAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{94}
}

func (m *AigpAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AigpAttribute.Unmarshal(m, b)
}
func (m *AigpAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AigpAttribute.Marshal(b, m, deterministic)
}
func (m *AigpAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AigpAttribute.Merge(m, src)
}
func (m *AigpAttribute) XXX_Size() int {
	return xxx_messageInfo_AigpAttribute.Size(m)
}
func (m *AigpAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_AigpAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_AigpAttribute proto.InternalMessageInfo

func (m *AigpAttribute) GetTlvs() []*any.Any {
	if m != nil {
		return m.Tlvs
	}
	return nil
}

type LargeCommunity struct {
	GlobalAdmin          uint32   `protobuf:"varint,1,opt,name=global_admin,json=globalAdmin,proto3" json:"global_admin,omitempty"`
	LocalData1           uint32   `protobuf:"varint,2,opt,name=local_data1,json=localData1,proto3" json:"local_data1,omitempty"`
	LocalData2           uint32   `protobuf:"varint,3,opt,name=local_data2,json=localData2,proto3" json:"local_data2,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LargeCommunity) Reset()         { *m = LargeCommunity{} }
func (m *LargeCommunity) String() string { return proto.CompactTextString(m) }
func (*LargeCommunity) ProtoMessage()    {}
func (*LargeCommunity) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{95}
}

func (m *LargeCommunity) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LargeCommunity.Unmarshal(m, b)
}
func (m *LargeCommunity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LargeCommunity.Marshal(b, m, deterministic)
}
func (m *LargeCommunity) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LargeCommunity.Merge(m, src)
}
func (m *LargeCommunity) XXX_Size() int {
	return xxx_messageInfo_LargeCommunity.Size(m)
}
func (m *LargeCommunity) XXX_DiscardUnknown() {
	xxx_messageInfo_LargeCommunity.DiscardUnknown(m)
}

var xxx_messageInfo_LargeCommunity proto.InternalMessageInfo

func (m *LargeCommunity) GetGlobalAdmin() uint32 {
	if m != nil {
		return m.GlobalAdmin
	}
	return 0
}

func (m *LargeCommunity) GetLocalData1() uint32 {
	if m != nil {
		return m.LocalData1
	}
	return 0
}

func (m *LargeCommunity) GetLocalData2() uint32 {
	if m != nil {
		return m.LocalData2
	}
	return 0
}

type LargeCommunitiesAttribute struct {
	Communities          []*LargeCommunity `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *LargeCommunitiesAttribute) Reset()         { *m = LargeCommunitiesAttribute{} }
func (m *LargeCommunitiesAttribute) String() string { return proto.CompactTextString(m) }
func (*LargeCommunitiesAttribute) ProtoMessage()    {}
func (*LargeCommunitiesAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{96}
}

func (m *LargeCommunitiesAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LargeCommunitiesAttribute.Unmarshal(m, b)
}
func (m *LargeCommunitiesAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LargeCommunitiesAttribute.Marshal(b, m, deterministic)
}
func (m *LargeCommunitiesAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LargeCommunitiesAttribute.Merge(m, src)
}
func (m *LargeCommunitiesAttribute) XXX_Size() int {
	return xxx_messageInfo_LargeCommunitiesAttribute.Size(m)
}
func (m *LargeCommunitiesAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_LargeCommunitiesAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_LargeCommunitiesAttribute proto.InternalMessageInfo

func (m *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity {
	if m != nil {
		return m.Communities
	}
	return nil
}

type LsNodeFlags struct {
	Overload             bool     `protobuf:"varint,1,opt,name=overload,proto3" json:"overload,omitempty"`
	Attached             bool     `protobuf:"varint,2,opt,name=attached,proto3" json:"attached,omitempty"`
	External             bool     `protobuf:"varint,3,opt,name=external,proto3" json:"external,omitempty"`
	Abr                  bool     `protobuf:"varint,4,opt,name=abr,proto3" json:"abr,omitempty"`
	Router               bool     `protobuf:"varint,5,opt,name=router,proto3" json:"router,omitempty"`
	V6                   bool     `protobuf:"varint,6,opt,name=v6,proto3" json:"v6,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LsNodeFlags) Reset()         { *m = LsNodeFlags{} }
func (m *LsNodeFlags) String() string { return proto.CompactTextString(m) }
func (*LsNodeFlags) ProtoMessage()    {}
func (*LsNodeFlags) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{97}
}

func (m *LsNodeFlags) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsNodeFlags.Unmarshal(m, b)
}
func (m *LsNodeFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsNodeFlags.Marshal(b, m, deterministic)
}
func (m *LsNodeFlags) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsNodeFlags.Merge(m, src)
}
func (m *LsNodeFlags) XXX_Size() int {
	return xxx_messageInfo_LsNodeFlags.Size(m)
}
func (m *LsNodeFlags) XXX_DiscardUnknown() {
	xxx_messageInfo_LsNodeFlags.DiscardUnknown(m)
}

var xxx_messageInfo_LsNodeFlags proto.InternalMessageInfo

func (m *LsNodeFlags) GetOverload() bool {
	if m != nil {
		return m.Overload
	}
	return false
}

func (m *LsNodeFlags) GetAttached() bool {
	if m != nil {
		return m.Attached
	}
	return false
}

func (m *LsNodeFlags) GetExternal() bool {
	if m != nil {
		return m.External
	}
	return false
}

func (m *LsNodeFlags) GetAbr() bool {
	if m != nil {
		return m.Abr
	}
	return false
}

func (m *LsNodeFlags) GetRouter() bool {
	if m != nil {
		return m.Router
	}
	return false
}

func (m *LsNodeFlags) GetV6() bool {
	if m != nil {
		return m.V6
	}
	return false
}

type LsIGPFlags struct {
	Down                 bool     `protobuf:"varint,1,opt,name=down,proto3" json:"down,omitempty"`
	NoUnicast            bool     `protobuf:"varint,2,opt,name=no_unicast,json=noUnicast,proto3" json:"no_unicast,omitempty"`
	LocalAddress         bool     `protobuf:"varint,3,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"`
	PropagateNssa        bool     `protobuf:"varint,4,opt,name=propagate_nssa,json=propagateNssa,proto3" json:"propagate_nssa,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LsIGPFlags) Reset()         { *m = LsIGPFlags{} }
func (m *LsIGPFlags) String() string { return proto.CompactTextString(m) }
func (*LsIGPFlags) ProtoMessage()    {}
func (*LsIGPFlags) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{98}
}

func (m *LsIGPFlags) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsIGPFlags.Unmarshal(m, b)
}
func (m *LsIGPFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsIGPFlags.Marshal(b, m, deterministic)
}
func (m *LsIGPFlags) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsIGPFlags.Merge(m, src)
}
func (m *LsIGPFlags) XXX_Size() int {
	return xxx_messageInfo_LsIGPFlags.Size(m)
}
func (m *LsIGPFlags) XXX_DiscardUnknown() {
	xxx_messageInfo_LsIGPFlags.DiscardUnknown(m)
}

var xxx_messageInfo_LsIGPFlags proto.InternalMessageInfo

func (m *LsIGPFlags) GetDown() bool {
	if m != nil {
		return m.Down
	}
	return false
}

func (m *LsIGPFlags) GetNoUnicast() bool {
	if m != nil {
		return m.NoUnicast
	}
	return false
}

func (m *LsIGPFlags) GetLocalAddress() bool {
	if m != nil {
		return m.LocalAddress
	}
	return false
}

func (m *LsIGPFlags) GetPropagateNssa() bool {
	if m != nil {
		return m.PropagateNssa
	}
	return false
}

type LsSrRange struct {
	Begin                uint32   `protobuf:"varint,1,opt,name=begin,proto3" json:"begin,omitempty"`
	End                  uint32   `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LsSrRange) Reset()         { *m = LsSrRange{} }
func (m *LsSrRange) String() string { return proto.CompactTextString(m) }
func (*LsSrRange) ProtoMessage()    {}
func (*LsSrRange) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{99}
}

func (m *LsSrRange) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsSrRange.Unmarshal(m, b)
}
func (m *LsSrRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsSrRange.Marshal(b, m, deterministic)
}
func (m *LsSrRange) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsSrRange.Merge(m, src)
}
func (m *LsSrRange) XXX_Size() int {
	return xxx_messageInfo_LsSrRange.Size(m)
}
func (m *LsSrRange) XXX_DiscardUnknown() {
	xxx_messageInfo_LsSrRange.DiscardUnknown(m)
}

var xxx_messageInfo_LsSrRange proto.InternalMessageInfo

func (m *LsSrRange) GetBegin() uint32 {
	if m != nil {
		return m.Begin
	}
	return 0
}

func (m *LsSrRange) GetEnd() uint32 {
	if m != nil {
		return m.End
	}
	return 0
}

type LsSrCapabilities struct {
	Ipv4Supported        bool         `protobuf:"varint,1,opt,name=ipv4_supported,json=ipv4Supported,proto3" json:"ipv4_supported,omitempty"`
	Ipv6Supported        bool         `protobuf:"varint,2,opt,name=ipv6_supported,json=ipv6Supported,proto3" json:"ipv6_supported,omitempty"`
	Ranges               []*LsSrRange `protobuf:"bytes,3,rep,name=ranges,proto3" json:"ranges,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *LsSrCapabilities) Reset()         { *m = LsSrCapabilities{} }
func (m *LsSrCapabilities) String() string { return proto.CompactTextString(m) }
func (*LsSrCapabilities) ProtoMessage()    {}
func (*LsSrCapabilities) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{100}
}

func (m *LsSrCapabilities) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsSrCapabilities.Unmarshal(m, b)
}
func (m *LsSrCapabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsSrCapabilities.Marshal(b, m, deterministic)
}
func (m *LsSrCapabilities) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsSrCapabilities.Merge(m, src)
}
func (m *LsSrCapabilities) XXX_Size() int {
	return xxx_messageInfo_LsSrCapabilities.Size(m)
}
func (m *LsSrCapabilities) XXX_DiscardUnknown() {
	xxx_messageInfo_LsSrCapabilities.DiscardUnknown(m)
}

var xxx_messageInfo_LsSrCapabilities proto.InternalMessageInfo

func (m *LsSrCapabilities) GetIpv4Supported() bool {
	if m != nil {
		return m.Ipv4Supported
	}
	return false
}

func (m *LsSrCapabilities) GetIpv6Supported() bool {
	if m != nil {
		return m.Ipv6Supported
	}
	return false
}

func (m *LsSrCapabilities) GetRanges() []*LsSrRange {
	if m != nil {
		return m.Ranges
	}
	return nil
}

type LsSrLocalBlock struct {
	Ranges               []*LsSrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *LsSrLocalBlock) Reset()         { *m = LsSrLocalBlock{} }
func (m *LsSrLocalBlock) String() string { return proto.CompactTextString(m) }
func (*LsSrLocalBlock) ProtoMessage()    {}
func (*LsSrLocalBlock) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{101}
}

func (m *LsSrLocalBlock) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsSrLocalBlock.Unmarshal(m, b)
}
func (m *LsSrLocalBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsSrLocalBlock.Marshal(b, m, deterministic)
}
func (m *LsSrLocalBlock) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsSrLocalBlock.Merge(m, src)
}
func (m *LsSrLocalBlock) XXX_Size() int {
	return xxx_messageInfo_LsSrLocalBlock.Size(m)
}
func (m *LsSrLocalBlock) XXX_DiscardUnknown() {
	xxx_messageInfo_LsSrLocalBlock.DiscardUnknown(m)
}

var xxx_messageInfo_LsSrLocalBlock proto.InternalMessageInfo

func (m *LsSrLocalBlock) GetRanges() []*LsSrRange {
	if m != nil {
		return m.Ranges
	}
	return nil
}

type LsAttributeNode struct {
	Name                 string            `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Flags                *LsNodeFlags      `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"`
	LocalRouterId        string            `protobuf:"bytes,3,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"`
	LocalRouterIdV6      string            `protobuf:"bytes,4,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"`
	IsisArea             []byte            `protobuf:"bytes,5,opt,name=isis_area,json=isisArea,proto3" json:"isis_area,omitempty"`
	Opaque               []byte            `protobuf:"bytes,6,opt,name=opaque,proto3" json:"opaque,omitempty"`
	SrCapabilities       *LsSrCapabilities `protobuf:"bytes,7,opt,name=sr_capabilities,json=srCapabilities,proto3" json:"sr_capabilities,omitempty"`
	SrAlgorithms         []byte            `protobuf:"bytes,8,opt,name=sr_algorithms,json=srAlgorithms,proto3" json:"sr_algorithms,omitempty"`
	SrLocalBlock         *LsSrLocalBlock   `protobuf:"bytes,9,opt,name=sr_local_block,json=srLocalBlock,proto3" json:"sr_local_block,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *LsAttributeNode) Reset()         { *m = LsAttributeNode{} }
func (m *LsAttributeNode) String() string { return proto.CompactTextString(m) }
func (*LsAttributeNode) ProtoMessage()    {}
func (*LsAttributeNode) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{102}
}

func (m *LsAttributeNode) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsAttributeNode.Unmarshal(m, b)
}
func (m *LsAttributeNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsAttributeNode.Marshal(b, m, deterministic)
}
func (m *LsAttributeNode) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsAttributeNode.Merge(m, src)
}
func (m *LsAttributeNode) XXX_Size() int {
	return xxx_messageInfo_LsAttributeNode.Size(m)
}
func (m *LsAttributeNode) XXX_DiscardUnknown() {
	xxx_messageInfo_LsAttributeNode.DiscardUnknown(m)
}

var xxx_messageInfo_LsAttributeNode proto.InternalMessageInfo

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

func (m *LsAttributeNode) GetFlags() *LsNodeFlags {
	if m != nil {
		return m.Flags
	}
	return nil
}

func (m *LsAttributeNode) GetLocalRouterId() string {
	if m != nil {
		return m.LocalRouterId
	}
	return ""
}

func (m *LsAttributeNode) GetLocalRouterIdV6() string {
	if m != nil {
		return m.LocalRouterIdV6
	}
	return ""
}

func (m *LsAttributeNode) GetIsisArea() []byte {
	if m != nil {
		return m.IsisArea
	}
	return nil
}

func (m *LsAttributeNode) GetOpaque() []byte {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *LsAttributeNode) GetSrCapabilities() *LsSrCapabilities {
	if m != nil {
		return m.SrCapabilities
	}
	return nil
}

func (m *LsAttributeNode) GetSrAlgorithms() []byte {
	if m != nil {
		return m.SrAlgorithms
	}
	return nil
}

func (m *LsAttributeNode) GetSrLocalBlock() *LsSrLocalBlock {
	if m != nil {
		return m.SrLocalBlock
	}
	return nil
}

type LsAttributeLink struct {
	Name                 string    `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	LocalRouterId        string    `protobuf:"bytes,2,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"`
	LocalRouterIdV6      string    `protobuf:"bytes,3,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"`
	RemoteRouterId       string    `protobuf:"bytes,4,opt,name=remote_router_id,json=remoteRouterId,proto3" json:"remote_router_id,omitempty"`
	RemoteRouterIdV6     string    `protobuf:"bytes,5,opt,name=remote_router_id_v6,json=remoteRouterIdV6,proto3" json:"remote_router_id_v6,omitempty"`
	AdminGroup           uint32    `protobuf:"varint,6,opt,name=admin_group,json=adminGroup,proto3" json:"admin_group,omitempty"`
	DefaultTeMetric      uint32    `protobuf:"varint,7,opt,name=default_te_metric,json=defaultTeMetric,proto3" json:"default_te_metric,omitempty"`
	IgpMetric            uint32    `protobuf:"varint,8,opt,name=igp_metric,json=igpMetric,proto3" json:"igp_metric,omitempty"`
	Opaque               []byte    `protobuf:"bytes,9,opt,name=opaque,proto3" json:"opaque,omitempty"`
	Bandwidth            float32   `protobuf:"fixed32,10,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
	ReservableBandwidth  float32   `protobuf:"fixed32,11,opt,name=reservable_bandwidth,json=reservableBandwidth,proto3" json:"reservable_bandwidth,omitempty"`
	UnreservedBandwidth  []float32 `protobuf:"fixed32,12,rep,packed,name=unreserved_bandwidth,json=unreservedBandwidth,proto3" json:"unreserved_bandwidth,omitempty"`
	SrAdjacencySid       uint32    `protobuf:"varint,13,opt,name=sr_adjacency_sid,json=srAdjacencySid,proto3" json:"sr_adjacency_sid,omitempty"`
	Srlgs                []uint32  `protobuf:"varint,14,rep,packed,name=srlgs,proto3" json:"srlgs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *LsAttributeLink) Reset()         { *m = LsAttributeLink{} }
func (m *LsAttributeLink) String() string { return proto.CompactTextString(m) }
func (*LsAttributeLink) ProtoMessage()    {}
func (*LsAttributeLink) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{103}
}

func (m *LsAttributeLink) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsAttributeLink.Unmarshal(m, b)
}
func (m *LsAttributeLink) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsAttributeLink.Marshal(b, m, deterministic)
}
func (m *LsAttributeLink) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsAttributeLink.Merge(m, src)
}
func (m *LsAttributeLink) XXX_Size() int {
	return xxx_messageInfo_LsAttributeLink.Size(m)
}
func (m *LsAttributeLink) XXX_DiscardUnknown() {
	xxx_messageInfo_LsAttributeLink.DiscardUnknown(m)
}

var xxx_messageInfo_LsAttributeLink proto.InternalMessageInfo

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

func (m *LsAttributeLink) GetLocalRouterId() string {
	if m != nil {
		return m.LocalRouterId
	}
	return ""
}

func (m *LsAttributeLink) GetLocalRouterIdV6() string {
	if m != nil {
		return m.LocalRouterIdV6
	}
	return ""
}

func (m *LsAttributeLink) GetRemoteRouterId() string {
	if m != nil {
		return m.RemoteRouterId
	}
	return ""
}

func (m *LsAttributeLink) GetRemoteRouterIdV6() string {
	if m != nil {
		return m.RemoteRouterIdV6
	}
	return ""
}

func (m *LsAttributeLink) GetAdminGroup() uint32 {
	if m != nil {
		return m.AdminGroup
	}
	return 0
}

func (m *LsAttributeLink) GetDefaultTeMetric() uint32 {
	if m != nil {
		return m.DefaultTeMetric
	}
	return 0
}

func (m *LsAttributeLink) GetIgpMetric() uint32 {
	if m != nil {
		return m.IgpMetric
	}
	return 0
}

func (m *LsAttributeLink) GetOpaque() []byte {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *LsAttributeLink) GetBandwidth() float32 {
	if m != nil {
		return m.Bandwidth
	}
	return 0
}

func (m *LsAttributeLink) GetReservableBandwidth() float32 {
	if m != nil {
		return m.ReservableBandwidth
	}
	return 0
}

func (m *LsAttributeLink) GetUnreservedBandwidth() []float32 {
	if m != nil {
		return m.UnreservedBandwidth
	}
	return nil
}

func (m *LsAttributeLink) GetSrAdjacencySid() uint32 {
	if m != nil {
		return m.SrAdjacencySid
	}
	return 0
}

func (m *LsAttributeLink) GetSrlgs() []uint32 {
	if m != nil {
		return m.Srlgs
	}
	return nil
}

type LsAttributePrefix struct {
	IgpFlags             *LsIGPFlags `protobuf:"bytes,1,opt,name=igp_flags,json=igpFlags,proto3" json:"igp_flags,omitempty"`
	Opaque               []byte      `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
	SrPrefixSid          uint32      `protobuf:"varint,3,opt,name=sr_prefix_sid,json=srPrefixSid,proto3" json:"sr_prefix_sid,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *LsAttributePrefix) Reset()         { *m = LsAttributePrefix{} }
func (m *LsAttributePrefix) String() string { return proto.CompactTextString(m) }
func (*LsAttributePrefix) ProtoMessage()    {}
func (*LsAttributePrefix) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{104}
}

func (m *LsAttributePrefix) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsAttributePrefix.Unmarshal(m, b)
}
func (m *LsAttributePrefix) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsAttributePrefix.Marshal(b, m, deterministic)
}
func (m *LsAttributePrefix) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsAttributePrefix.Merge(m, src)
}
func (m *LsAttributePrefix) XXX_Size() int {
	return xxx_messageInfo_LsAttributePrefix.Size(m)
}
func (m *LsAttributePrefix) XXX_DiscardUnknown() {
	xxx_messageInfo_LsAttributePrefix.DiscardUnknown(m)
}

var xxx_messageInfo_LsAttributePrefix proto.InternalMessageInfo

func (m *LsAttributePrefix) GetIgpFlags() *LsIGPFlags {
	if m != nil {
		return m.IgpFlags
	}
	return nil
}

func (m *LsAttributePrefix) GetOpaque() []byte {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *LsAttributePrefix) GetSrPrefixSid() uint32 {
	if m != nil {
		return m.SrPrefixSid
	}
	return 0
}

type LsAttribute struct {
	Node                 *LsAttributeNode   `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	Link                 *LsAttributeLink   `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"`
	Prefix               *LsAttributePrefix `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *LsAttribute) Reset()         { *m = LsAttribute{} }
func (m *LsAttribute) String() string { return proto.CompactTextString(m) }
func (*LsAttribute) ProtoMessage()    {}
func (*LsAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{105}
}

func (m *LsAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LsAttribute.Unmarshal(m, b)
}
func (m *LsAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LsAttribute.Marshal(b, m, deterministic)
}
func (m *LsAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LsAttribute.Merge(m, src)
}
func (m *LsAttribute) XXX_Size() int {
	return xxx_messageInfo_LsAttribute.Size(m)
}
func (m *LsAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_LsAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_LsAttribute proto.InternalMessageInfo

func (m *LsAttribute) GetNode() *LsAttributeNode {
	if m != nil {
		return m.Node
	}
	return nil
}

func (m *LsAttribute) GetLink() *LsAttributeLink {
	if m != nil {
		return m.Link
	}
	return nil
}

func (m *LsAttribute) GetPrefix() *LsAttributePrefix {
	if m != nil {
		return m.Prefix
	}
	return nil
}

type UnknownAttribute struct {
	Flags                uint32   `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"`
	Type                 uint32   `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
	Value                []byte   `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *UnknownAttribute) Reset()         { *m = UnknownAttribute{} }
func (m *UnknownAttribute) String() string { return proto.CompactTextString(m) }
func (*UnknownAttribute) ProtoMessage()    {}
func (*UnknownAttribute) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{106}
}

func (m *UnknownAttribute) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UnknownAttribute.Unmarshal(m, b)
}
func (m *UnknownAttribute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UnknownAttribute.Marshal(b, m, deterministic)
}
func (m *UnknownAttribute) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UnknownAttribute.Merge(m, src)
}
func (m *UnknownAttribute) XXX_Size() int {
	return xxx_messageInfo_UnknownAttribute.Size(m)
}
func (m *UnknownAttribute) XXX_DiscardUnknown() {
	xxx_messageInfo_UnknownAttribute.DiscardUnknown(m)
}

var xxx_messageInfo_UnknownAttribute proto.InternalMessageInfo

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

func (m *UnknownAttribute) GetType() uint32 {
	if m != nil {
		return m.Type
	}
	return 0
}

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

// https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2.1.1
type SRv6StructureSubSubTLV struct {
	LocalBlockLength     uint32   `protobuf:"varint,1,opt,name=local_block_length,json=localBlockLength,proto3" json:"local_block_length,omitempty"`
	LocalNodeLength      uint32   `protobuf:"varint,2,opt,name=local_node_length,json=localNodeLength,proto3" json:"local_node_length,omitempty"`
	FunctionLength       uint32   `protobuf:"varint,3,opt,name=function_length,json=functionLength,proto3" json:"function_length,omitempty"`
	ArgumentLength       uint32   `protobuf:"varint,4,opt,name=argument_length,json=argumentLength,proto3" json:"argument_length,omitempty"`
	TranspositionLength  uint32   `protobuf:"varint,5,opt,name=transposition_length,json=transpositionLength,proto3" json:"transposition_length,omitempty"`
	TranspositionOffset  uint32   `protobuf:"varint,6,opt,name=transposition_offset,json=transpositionOffset,proto3" json:"transposition_offset,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SRv6StructureSubSubTLV) Reset()         { *m = SRv6StructureSubSubTLV{} }
func (m *SRv6StructureSubSubTLV) String() string { return proto.CompactTextString(m) }
func (*SRv6StructureSubSubTLV) ProtoMessage()    {}
func (*SRv6StructureSubSubTLV) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{107}
}

func (m *SRv6StructureSubSubTLV) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRv6StructureSubSubTLV.Unmarshal(m, b)
}
func (m *SRv6StructureSubSubTLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRv6StructureSubSubTLV.Marshal(b, m, deterministic)
}
func (m *SRv6StructureSubSubTLV) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRv6StructureSubSubTLV.Merge(m, src)
}
func (m *SRv6StructureSubSubTLV) XXX_Size() int {
	return xxx_messageInfo_SRv6StructureSubSubTLV.Size(m)
}
func (m *SRv6StructureSubSubTLV) XXX_DiscardUnknown() {
	xxx_messageInfo_SRv6StructureSubSubTLV.DiscardUnknown(m)
}

var xxx_messageInfo_SRv6StructureSubSubTLV proto.InternalMessageInfo

func (m *SRv6StructureSubSubTLV) GetLocalBlockLength() uint32 {
	if m != nil {
		return m.LocalBlockLength
	}
	return 0
}

func (m *SRv6StructureSubSubTLV) GetLocalNodeLength() uint32 {
	if m != nil {
		return m.LocalNodeLength
	}
	return 0
}

func (m *SRv6StructureSubSubTLV) GetFunctionLength() uint32 {
	if m != nil {
		return m.FunctionLength
	}
	return 0
}

func (m *SRv6StructureSubSubTLV) GetArgumentLength() uint32 {
	if m != nil {
		return m.ArgumentLength
	}
	return 0
}

func (m *SRv6StructureSubSubTLV) GetTranspositionLength() uint32 {
	if m != nil {
		return m.TranspositionLength
	}
	return 0
}

func (m *SRv6StructureSubSubTLV) GetTranspositionOffset() uint32 {
	if m != nil {
		return m.TranspositionOffset
	}
	return 0
}

type SRv6SIDFlags struct {
	// Placeholder for future sid flags
	Flag_1               bool     `protobuf:"varint,1,opt,name=flag_1,json=flag1,proto3" json:"flag_1,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SRv6SIDFlags) Reset()         { *m = SRv6SIDFlags{} }
func (m *SRv6SIDFlags) String() string { return proto.CompactTextString(m) }
func (*SRv6SIDFlags) ProtoMessage()    {}
func (*SRv6SIDFlags) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{108}
}

func (m *SRv6SIDFlags) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRv6SIDFlags.Unmarshal(m, b)
}
func (m *SRv6SIDFlags) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRv6SIDFlags.Marshal(b, m, deterministic)
}
func (m *SRv6SIDFlags) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRv6SIDFlags.Merge(m, src)
}
func (m *SRv6SIDFlags) XXX_Size() int {
	return xxx_messageInfo_SRv6SIDFlags.Size(m)
}
func (m *SRv6SIDFlags) XXX_DiscardUnknown() {
	xxx_messageInfo_SRv6SIDFlags.DiscardUnknown(m)
}

var xxx_messageInfo_SRv6SIDFlags proto.InternalMessageInfo

func (m *SRv6SIDFlags) GetFlag_1() bool {
	if m != nil {
		return m.Flag_1
	}
	return false
}

type SRv6TLV struct {
	Tlv                  []*any.Any `protobuf:"bytes,1,rep,name=tlv,proto3" json:"tlv,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *SRv6TLV) Reset()         { *m = SRv6TLV{} }
func (m *SRv6TLV) String() string { return proto.CompactTextString(m) }
func (*SRv6TLV) ProtoMessage()    {}
func (*SRv6TLV) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{109}
}

func (m *SRv6TLV) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRv6TLV.Unmarshal(m, b)
}
func (m *SRv6TLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRv6TLV.Marshal(b, m, deterministic)
}
func (m *SRv6TLV) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRv6TLV.Merge(m, src)
}
func (m *SRv6TLV) XXX_Size() int {
	return xxx_messageInfo_SRv6TLV.Size(m)
}
func (m *SRv6TLV) XXX_DiscardUnknown() {
	xxx_messageInfo_SRv6TLV.DiscardUnknown(m)
}

var xxx_messageInfo_SRv6TLV proto.InternalMessageInfo

func (m *SRv6TLV) GetTlv() []*any.Any {
	if m != nil {
		return m.Tlv
	}
	return nil
}

// https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2.1.1
type SRv6InformationSubTLV struct {
	Sid              []byte        `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"`
	Flags            *SRv6SIDFlags `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"`
	EndpointBehavior uint32        `protobuf:"varint,3,opt,name=endpoint_behavior,json=endpointBehavior,proto3" json:"endpoint_behavior,omitempty"`
	// SRv6TLV is one of:
	// - SRv6StructureSubSubTLV
	SubSubTlvs           map[uint32]*SRv6TLV `protobuf:"bytes,4,rep,name=sub_sub_tlvs,json=subSubTlvs,proto3" json:"sub_sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *SRv6InformationSubTLV) Reset()         { *m = SRv6InformationSubTLV{} }
func (m *SRv6InformationSubTLV) String() string { return proto.CompactTextString(m) }
func (*SRv6InformationSubTLV) ProtoMessage()    {}
func (*SRv6InformationSubTLV) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{110}
}

func (m *SRv6InformationSubTLV) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRv6InformationSubTLV.Unmarshal(m, b)
}
func (m *SRv6InformationSubTLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRv6InformationSubTLV.Marshal(b, m, deterministic)
}
func (m *SRv6InformationSubTLV) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRv6InformationSubTLV.Merge(m, src)
}
func (m *SRv6InformationSubTLV) XXX_Size() int {
	return xxx_messageInfo_SRv6InformationSubTLV.Size(m)
}
func (m *SRv6InformationSubTLV) XXX_DiscardUnknown() {
	xxx_messageInfo_SRv6InformationSubTLV.DiscardUnknown(m)
}

var xxx_messageInfo_SRv6InformationSubTLV proto.InternalMessageInfo

func (m *SRv6InformationSubTLV) GetSid() []byte {
	if m != nil {
		return m.Sid
	}
	return nil
}

func (m *SRv6InformationSubTLV) GetFlags() *SRv6SIDFlags {
	if m != nil {
		return m.Flags
	}
	return nil
}

func (m *SRv6InformationSubTLV) GetEndpointBehavior() uint32 {
	if m != nil {
		return m.EndpointBehavior
	}
	return 0
}

func (m *SRv6InformationSubTLV) GetSubSubTlvs() map[uint32]*SRv6TLV {
	if m != nil {
		return m.SubSubTlvs
	}
	return nil
}

// https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2
type SRv6L3ServiceTLV struct {
	// SRv6TLV is one of:
	// - SRv6InformationSubTLV
	SubTlvs              map[uint32]*SRv6TLV `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs,proto3" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *SRv6L3ServiceTLV) Reset()         { *m = SRv6L3ServiceTLV{} }
func (m *SRv6L3ServiceTLV) String() string { return proto.CompactTextString(m) }
func (*SRv6L3ServiceTLV) ProtoMessage()    {}
func (*SRv6L3ServiceTLV) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{111}
}

func (m *SRv6L3ServiceTLV) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SRv6L3ServiceTLV.Unmarshal(m, b)
}
func (m *SRv6L3ServiceTLV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SRv6L3ServiceTLV.Marshal(b, m, deterministic)
}
func (m *SRv6L3ServiceTLV) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SRv6L3ServiceTLV.Merge(m, src)
}
func (m *SRv6L3ServiceTLV) XXX_Size() int {
	return xxx_messageInfo_SRv6L3ServiceTLV.Size(m)
}
func (m *SRv6L3ServiceTLV) XXX_DiscardUnknown() {
	xxx_messageInfo_SRv6L3ServiceTLV.DiscardUnknown(m)
}

var xxx_messageInfo_SRv6L3ServiceTLV proto.InternalMessageInfo

func (m *SRv6L3ServiceTLV) GetSubTlvs() map[uint32]*SRv6TLV {
	if m != nil {
		return m.SubTlvs
	}
	return nil
}

// https://tools.ietf.org/html/rfc8669
type PrefixSID struct {
	// tlv is one of:
	// - IndexLabelTLV Type 1 (not yet implemented)
	// - OriginatorSRGBTLV Type 3 (not yet implemented)
	// - SRv6L3ServiceTLV Type 5
	// - SRv6L2ServiceTLV Type 6 (not yet implemented)
	Tlvs                 []*any.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *PrefixSID) Reset()         { *m = PrefixSID{} }
func (m *PrefixSID) String() string { return proto.CompactTextString(m) }
func (*PrefixSID) ProtoMessage()    {}
func (*PrefixSID) Descriptor() ([]byte, []int) {
	return fileDescriptor_64cfbe2f04478930, []int{112}
}

func (m *PrefixSID) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PrefixSID.Unmarshal(m, b)
}
func (m *PrefixSID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PrefixSID.Marshal(b, m, deterministic)
}
func (m *PrefixSID) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PrefixSID.Merge(m, src)
}
func (m *PrefixSID) XXX_Size() int {
	return xxx_messageInfo_PrefixSID.Size(m)
}
func (m *PrefixSID) XXX_DiscardUnknown() {
	xxx_messageInfo_PrefixSID.DiscardUnknown(m)
}

var xxx_messageInfo_PrefixSID proto.InternalMessageInfo

func (m *PrefixSID) GetTlvs() []*any.Any {
	if m != nil {
		return m.Tlvs
	}
	return nil
}

func init() {
	proto.RegisterEnum("gobgpapi.LsNLRIType", LsNLRIType_name, LsNLRIType_value)
	proto.RegisterEnum("gobgpapi.LsProtocolID", LsProtocolID_name, LsProtocolID_value)
	proto.RegisterEnum("gobgpapi.SRv6Behavior", SRv6Behavior_name, SRv6Behavior_value)
	proto.RegisterEnum("gobgpapi.ENLPType", ENLPType_name, ENLPType_value)
	proto.RegisterType((*OriginAttribute)(nil), "gobgpapi.OriginAttribute")
	proto.RegisterType((*AsSegment)(nil), "gobgpapi.AsSegment")
	proto.RegisterType((*AsPathAttribute)(nil), "gobgpapi.AsPathAttribute")
	proto.RegisterType((*NextHopAttribute)(nil), "gobgpapi.NextHopAttribute")
	proto.RegisterType((*MultiExitDiscAttribute)(nil), "gobgpapi.MultiExitDiscAttribute")
	proto.RegisterType((*LocalPrefAttribute)(nil), "gobgpapi.LocalPrefAttribute")
	proto.RegisterType((*AtomicAggregateAttribute)(nil), "gobgpapi.AtomicAggregateAttribute")
	proto.RegisterType((*AggregatorAttribute)(nil), "gobgpapi.AggregatorAttribute")
	proto.RegisterType((*CommunitiesAttribute)(nil), "gobgpapi.CommunitiesAttribute")
	proto.RegisterType((*OriginatorIdAttribute)(nil), "gobgpapi.OriginatorIdAttribute")
	proto.RegisterType((*ClusterListAttribute)(nil), "gobgpapi.ClusterListAttribute")
	proto.RegisterType((*IPAddressPrefix)(nil), "gobgpapi.IPAddressPrefix")
	proto.RegisterType((*LabeledIPAddressPrefix)(nil), "gobgpapi.LabeledIPAddressPrefix")
	proto.RegisterType((*EncapsulationNLRI)(nil), "gobgpapi.EncapsulationNLRI")
	proto.RegisterType((*RouteDistinguisherTwoOctetAS)(nil), "gobgpapi.RouteDistinguisherTwoOctetAS")
	proto.RegisterType((*RouteDistinguisherIPAddress)(nil), "gobgpapi.RouteDistinguisherIPAddress")
	proto.RegisterType((*RouteDistinguisherFourOctetAS)(nil), "gobgpapi.RouteDistinguisherFourOctetAS")
	proto.RegisterType((*EthernetSegmentIdentifier)(nil), "gobgpapi.EthernetSegmentIdentifier")
	proto.RegisterType((*EVPNEthernetAutoDiscoveryRoute)(nil), "gobgpapi.EVPNEthernetAutoDiscoveryRoute")
	proto.RegisterType((*EVPNMACIPAdvertisementRoute)(nil), "gobgpapi.EVPNMACIPAdvertisementRoute")
	proto.RegisterType((*EVPNInclusiveMulticastEthernetTagRoute)(nil), "gobgpapi.EVPNInclusiveMulticastEthernetTagRoute")
	proto.RegisterType((*EVPNEthernetSegmentRoute)(nil), "gobgpapi.EVPNEthernetSegmentRoute")
	proto.RegisterType((*EVPNIPPrefixRoute)(nil), "gobgpapi.EVPNIPPrefixRoute")
	proto.RegisterType((*EVPNIPMSIRoute)(nil), "gobgpapi.EVPNIPMSIRoute")
	proto.RegisterType((*SRPolicyNLRI)(nil), "gobgpapi.SRPolicyNLRI")
	proto.RegisterType((*LabeledVPNIPAddressPrefix)(nil), "gobgpapi.LabeledVPNIPAddressPrefix")
	proto.RegisterType((*RouteTargetMembershipNLRI)(nil), "gobgpapi.RouteTargetMembershipNLRI")
	proto.RegisterType((*FlowSpecIPPrefix)(nil), "gobgpapi.FlowSpecIPPrefix")
	proto.RegisterType((*FlowSpecMAC)(nil), "gobgpapi.FlowSpecMAC")
	proto.RegisterType((*FlowSpecComponentItem)(nil), "gobgpapi.FlowSpecComponentItem")
	proto.RegisterType((*FlowSpecComponent)(nil), "gobgpapi.FlowSpecComponent")
	proto.RegisterType((*FlowSpecNLRI)(nil), "gobgpapi.FlowSpecNLRI")
	proto.RegisterType((*VPNFlowSpecNLRI)(nil), "gobgpapi.VPNFlowSpecNLRI")
	proto.RegisterType((*OpaqueNLRI)(nil), "gobgpapi.OpaqueNLRI")
	proto.RegisterType((*LsNodeDescriptor)(nil), "gobgpapi.LsNodeDescriptor")
	proto.RegisterType((*LsLinkDescriptor)(nil), "gobgpapi.LsLinkDescriptor")
	proto.RegisterType((*LsPrefixDescriptor)(nil), "gobgpapi.LsPrefixDescriptor")
	proto.RegisterType((*LsNodeNLRI)(nil), "gobgpapi.LsNodeNLRI")
	proto.RegisterType((*LsLinkNLRI)(nil), "gobgpapi.LsLinkNLRI")
	proto.RegisterType((*LsPrefixV4NLRI)(nil), "gobgpapi.LsPrefixV4NLRI")
	proto.RegisterType((*LsPrefixV6NLRI)(nil), "gobgpapi.LsPrefixV6NLRI")
	proto.RegisterType((*LsAddrPrefix)(nil), "gobgpapi.LsAddrPrefix")
	proto.RegisterType((*MpReachNLRIAttribute)(nil), "gobgpapi.MpReachNLRIAttribute")
	proto.RegisterType((*MpUnreachNLRIAttribute)(nil), "gobgpapi.MpUnreachNLRIAttribute")
	proto.RegisterType((*TwoOctetAsSpecificExtended)(nil), "gobgpapi.TwoOctetAsSpecificExtended")
	proto.RegisterType((*IPv4AddressSpecificExtended)(nil), "gobgpapi.IPv4AddressSpecificExtended")
	proto.RegisterType((*FourOctetAsSpecificExtended)(nil), "gobgpapi.FourOctetAsSpecificExtended")
	proto.RegisterType((*LinkBandiwdthExtended)(nil), "gobgpapi.LinkBandiwdthExtended")
	proto.RegisterType((*ValidationExtended)(nil), "gobgpapi.ValidationExtended")
	proto.RegisterType((*ColorExtended)(nil), "gobgpapi.ColorExtended")
	proto.RegisterType((*EncapExtended)(nil), "gobgpapi.EncapExtended")
	proto.RegisterType((*DefaultGatewayExtended)(nil), "gobgpapi.DefaultGatewayExtended")
	proto.RegisterType((*OpaqueExtended)(nil), "gobgpapi.OpaqueExtended")
	proto.RegisterType((*ESILabelExtended)(nil), "gobgpapi.ESILabelExtended")
	proto.RegisterType((*ESImportRouteTarget)(nil), "gobgpapi.ESImportRouteTarget")
	proto.RegisterType((*MacMobilityExtended)(nil), "gobgpapi.MacMobilityExtended")
	proto.RegisterType((*RouterMacExtended)(nil), "gobgpapi.RouterMacExtended")
	proto.RegisterType((*TrafficRateExtended)(nil), "gobgpapi.TrafficRateExtended")
	proto.RegisterType((*TrafficActionExtended)(nil), "gobgpapi.TrafficActionExtended")
	proto.RegisterType((*RedirectTwoOctetAsSpecificExtended)(nil), "gobgpapi.RedirectTwoOctetAsSpecificExtended")
	proto.RegisterType((*RedirectIPv4AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv4AddressSpecificExtended")
	proto.RegisterType((*RedirectFourOctetAsSpecificExtended)(nil), "gobgpapi.RedirectFourOctetAsSpecificExtended")
	proto.RegisterType((*TrafficRemarkExtended)(nil), "gobgpapi.TrafficRemarkExtended")
	proto.RegisterType((*UnknownExtended)(nil), "gobgpapi.UnknownExtended")
	proto.RegisterType((*ExtendedCommunitiesAttribute)(nil), "gobgpapi.ExtendedCommunitiesAttribute")
	proto.RegisterType((*As4PathAttribute)(nil), "gobgpapi.As4PathAttribute")
	proto.RegisterType((*As4AggregatorAttribute)(nil), "gobgpapi.As4AggregatorAttribute")
	proto.RegisterType((*PmsiTunnelAttribute)(nil), "gobgpapi.PmsiTunnelAttribute")
	proto.RegisterType((*TunnelEncapSubTLVEncapsulation)(nil), "gobgpapi.TunnelEncapSubTLVEncapsulation")
	proto.RegisterType((*TunnelEncapSubTLVProtocol)(nil), "gobgpapi.TunnelEncapSubTLVProtocol")
	proto.RegisterType((*TunnelEncapSubTLVColor)(nil), "gobgpapi.TunnelEncapSubTLVColor")
	proto.RegisterType((*TunnelEncapSubTLVSRPreference)(nil), "gobgpapi.TunnelEncapSubTLVSRPreference")
	proto.RegisterType((*TunnelEncapSubTLVSRCandidatePathName)(nil), "gobgpapi.TunnelEncapSubTLVSRCandidatePathName")
	proto.RegisterType((*TunnelEncapSubTLVSRPriority)(nil), "gobgpapi.TunnelEncapSubTLVSRPriority")
	proto.RegisterType((*TunnelEncapSubTLVSRBindingSID)(nil), "gobgpapi.TunnelEncapSubTLVSRBindingSID")
	proto.RegisterType((*SRBindingSID)(nil), "gobgpapi.SRBindingSID")
	proto.RegisterType((*SRv6EndPointBehavior)(nil), "gobgpapi.SRv6EndPointBehavior")
	proto.RegisterType((*SRv6BindingSID)(nil), "gobgpapi.SRv6BindingSID")
	proto.RegisterType((*TunnelEncapSubTLVSRENLP)(nil), "gobgpapi.TunnelEncapSubTLVSRENLP")
	proto.RegisterType((*SRWeight)(nil), "gobgpapi.SRWeight")
	proto.RegisterType((*SegmentFlags)(nil), "gobgpapi.SegmentFlags")
	proto.RegisterType((*SegmentTypeA)(nil), "gobgpapi.SegmentTypeA")
	proto.RegisterType((*SegmentTypeB)(nil), "gobgpapi.SegmentTypeB")
	proto.RegisterType((*TunnelEncapSubTLVSRSegmentList)(nil), "gobgpapi.TunnelEncapSubTLVSRSegmentList")
	proto.RegisterType((*TunnelEncapSubTLVEgressEndpoint)(nil), "gobgpapi.TunnelEncapSubTLVEgressEndpoint")
	proto.RegisterType((*TunnelEncapSubTLVUDPDestPort)(nil), "gobgpapi.TunnelEncapSubTLVUDPDestPort")
	proto.RegisterType((*TunnelEncapSubTLVUnknown)(nil), "gobgpapi.TunnelEncapSubTLVUnknown")
	proto.RegisterType((*TunnelEncapTLV)(nil), "gobgpapi.TunnelEncapTLV")
	proto.RegisterType((*TunnelEncapAttribute)(nil), "gobgpapi.TunnelEncapAttribute")
	proto.RegisterType((*IPv6AddressSpecificExtended)(nil), "gobgpapi.IPv6AddressSpecificExtended")
	proto.RegisterType((*RedirectIPv6AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv6AddressSpecificExtended")
	proto.RegisterType((*IP6ExtendedCommunitiesAttribute)(nil), "gobgpapi.IP6ExtendedCommunitiesAttribute")
	proto.RegisterType((*AigpTLVIGPMetric)(nil), "gobgpapi.AigpTLVIGPMetric")
	proto.RegisterType((*AigpTLVUnknown)(nil), "gobgpapi.AigpTLVUnknown")
	proto.RegisterType((*AigpAttribute)(nil), "gobgpapi.AigpAttribute")
	proto.RegisterType((*LargeCommunity)(nil), "gobgpapi.LargeCommunity")
	proto.RegisterType((*LargeCommunitiesAttribute)(nil), "gobgpapi.LargeCommunitiesAttribute")
	proto.RegisterType((*LsNodeFlags)(nil), "gobgpapi.LsNodeFlags")
	proto.RegisterType((*LsIGPFlags)(nil), "gobgpapi.LsIGPFlags")
	proto.RegisterType((*LsSrRange)(nil), "gobgpapi.LsSrRange")
	proto.RegisterType((*LsSrCapabilities)(nil), "gobgpapi.LsSrCapabilities")
	proto.RegisterType((*LsSrLocalBlock)(nil), "gobgpapi.LsSrLocalBlock")
	proto.RegisterType((*LsAttributeNode)(nil), "gobgpapi.LsAttributeNode")
	proto.RegisterType((*LsAttributeLink)(nil), "gobgpapi.LsAttributeLink")
	proto.RegisterType((*LsAttributePrefix)(nil), "gobgpapi.LsAttributePrefix")
	proto.RegisterType((*LsAttribute)(nil), "gobgpapi.LsAttribute")
	proto.RegisterType((*UnknownAttribute)(nil), "gobgpapi.UnknownAttribute")
	proto.RegisterType((*SRv6StructureSubSubTLV)(nil), "gobgpapi.SRv6StructureSubSubTLV")
	proto.RegisterType((*SRv6SIDFlags)(nil), "gobgpapi.SRv6SIDFlags")
	proto.RegisterType((*SRv6TLV)(nil), "gobgpapi.SRv6TLV")
	proto.RegisterType((*SRv6InformationSubTLV)(nil), "gobgpapi.SRv6InformationSubTLV")
	proto.RegisterMapType((map[uint32]*SRv6TLV)(nil), "gobgpapi.SRv6InformationSubTLV.SubSubTlvsEntry")
	proto.RegisterType((*SRv6L3ServiceTLV)(nil), "gobgpapi.SRv6L3ServiceTLV")
	proto.RegisterMapType((map[uint32]*SRv6TLV)(nil), "gobgpapi.SRv6L3ServiceTLV.SubTlvsEntry")
	proto.RegisterType((*PrefixSID)(nil), "gobgpapi.PrefixSID")
}

func init() { proto.RegisterFile("attribute.proto", fileDescriptor_64cfbe2f04478930) }

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