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

package nlaapi

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	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

//
// Message Source
//
type NlMsgSrc int32

const (
	NlMsgSrc_NOP NlMsgSrc = 0
	NlMsgSrc_KNL NlMsgSrc = 1
	NlMsgSrc_API NlMsgSrc = 2
)

var NlMsgSrc_name = map[int32]string{
	0: "NOP",
	1: "KNL",
	2: "API",
}

var NlMsgSrc_value = map[string]int32{
	"NOP": 0,
	"KNL": 1,
	"API": 2,
}

func (x NlMsgSrc) String() string {
	return proto.EnumName(NlMsgSrc_name, int32(x))
}

func (NlMsgSrc) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{0}
}

type LinkOperState int32

const (
	LinkOperState_OperUnknown        LinkOperState = 0
	LinkOperState_OperNotPresent     LinkOperState = 1
	LinkOperState_OperDown           LinkOperState = 2
	LinkOperState_OperLowerLayerDown LinkOperState = 3
	LinkOperState_OperTesting        LinkOperState = 4
	LinkOperState_OperDormant        LinkOperState = 5
	LinkOperState_OperUp             LinkOperState = 6
)

var LinkOperState_name = map[int32]string{
	0: "OperUnknown",
	1: "OperNotPresent",
	2: "OperDown",
	3: "OperLowerLayerDown",
	4: "OperTesting",
	5: "OperDormant",
	6: "OperUp",
}

var LinkOperState_value = map[string]int32{
	"OperUnknown":        0,
	"OperNotPresent":     1,
	"OperDown":           2,
	"OperLowerLayerDown": 3,
	"OperTesting":        4,
	"OperDormant":        5,
	"OperUp":             6,
}

func (x LinkOperState) String() string {
	return proto.EnumName(LinkOperState_name, int32(x))
}

func (LinkOperState) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{1}
}

type BondLinkState int32

const (
	BondLinkState_BOND_LINK_UP      BondLinkState = 0
	BondLinkState_BOND_LINK_FAIL    BondLinkState = 1
	BondLinkState_BOND_LINK_DOWN    BondLinkState = 2
	BondLinkState_BOND_LINK_BACK    BondLinkState = 3
	BondLinkState_BOND_LINK_UNKNOWN BondLinkState = -1
)

var BondLinkState_name = map[int32]string{
	0:  "BOND_LINK_UP",
	1:  "BOND_LINK_FAIL",
	2:  "BOND_LINK_DOWN",
	3:  "BOND_LINK_BACK",
	-1: "BOND_LINK_UNKNOWN",
}

var BondLinkState_value = map[string]int32{
	"BOND_LINK_UP":      0,
	"BOND_LINK_FAIL":    1,
	"BOND_LINK_DOWN":    2,
	"BOND_LINK_BACK":    3,
	"BOND_LINK_UNKNOWN": -1,
}

func (x BondLinkState) String() string {
	return proto.EnumName(BondLinkState_name, int32(x))
}

func (BondLinkState) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{2}
}

type BondState int32

const (
	BondState_BOND_STATE_ACTIVE  BondState = 0
	BondState_BOND_STATE_BACKUP  BondState = 1
	BondState_BOND_STATE_UNKNOWN BondState = -1
)

var BondState_name = map[int32]string{
	0:  "BOND_STATE_ACTIVE",
	1:  "BOND_STATE_BACKUP",
	-1: "BOND_STATE_UNKNOWN",
}

var BondState_value = map[string]int32{
	"BOND_STATE_ACTIVE":  0,
	"BOND_STATE_BACKUP":  1,
	"BOND_STATE_UNKNOWN": -1,
}

func (x BondState) String() string {
	return proto.EnumName(BondState_name, int32(x))
}

func (BondState) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{3}
}

type BondMode int32

const (
	BondMode_BOND_MODE_BALANCE_RR    BondMode = 0
	BondMode_BOND_MODE_ACTIVE_BACKUP BondMode = 1
	BondMode_BOND_MODE_BALANCE_XOR   BondMode = 2
	BondMode_BOND_MODE_BROADCAST     BondMode = 3
	BondMode_BOND_MODE_802_3AD       BondMode = 4
	BondMode_BOND_MODE_BALANCE_TLB   BondMode = 5
	BondMode_BOND_MODE_BALANCE_ALB   BondMode = 6
	BondMode_BOND_MODE_UNKNOWN       BondMode = 7
)

var BondMode_name = map[int32]string{
	0: "BOND_MODE_BALANCE_RR",
	1: "BOND_MODE_ACTIVE_BACKUP",
	2: "BOND_MODE_BALANCE_XOR",
	3: "BOND_MODE_BROADCAST",
	4: "BOND_MODE_802_3AD",
	5: "BOND_MODE_BALANCE_TLB",
	6: "BOND_MODE_BALANCE_ALB",
	7: "BOND_MODE_UNKNOWN",
}

var BondMode_value = map[string]int32{
	"BOND_MODE_BALANCE_RR":    0,
	"BOND_MODE_ACTIVE_BACKUP": 1,
	"BOND_MODE_BALANCE_XOR":   2,
	"BOND_MODE_BROADCAST":     3,
	"BOND_MODE_802_3AD":       4,
	"BOND_MODE_BALANCE_TLB":   5,
	"BOND_MODE_BALANCE_ALB":   6,
	"BOND_MODE_UNKNOWN":       7,
}

func (x BondMode) String() string {
	return proto.EnumName(BondMode_name, int32(x))
}

func (BondMode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{4}
}

type BondArpValidate int32

const (
	BondArpValidate_BOND_ARP_VALIDATE_NONE   BondArpValidate = 0
	BondArpValidate_BOND_ARP_VALIDATE_ACTIVE BondArpValidate = 1
	BondArpValidate_BOND_ARP_VALIDATE_BACKUP BondArpValidate = 2
	BondArpValidate_BOND_ARP_VALIDATE_ALL    BondArpValidate = 3
)

var BondArpValidate_name = map[int32]string{
	0: "BOND_ARP_VALIDATE_NONE",
	1: "BOND_ARP_VALIDATE_ACTIVE",
	2: "BOND_ARP_VALIDATE_BACKUP",
	3: "BOND_ARP_VALIDATE_ALL",
}

var BondArpValidate_value = map[string]int32{
	"BOND_ARP_VALIDATE_NONE":   0,
	"BOND_ARP_VALIDATE_ACTIVE": 1,
	"BOND_ARP_VALIDATE_BACKUP": 2,
	"BOND_ARP_VALIDATE_ALL":    3,
}

func (x BondArpValidate) String() string {
	return proto.EnumName(BondArpValidate_name, int32(x))
}

func (BondArpValidate) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{5}
}

type BondArpAllTargets int32

const (
	BondArpAllTargets_BOND_ARP_ALL_TARGETS_ANY BondArpAllTargets = 0
	BondArpAllTargets_BOND_ARP_ALL_TARGETS_ALL BondArpAllTargets = 1
)

var BondArpAllTargets_name = map[int32]string{
	0: "BOND_ARP_ALL_TARGETS_ANY",
	1: "BOND_ARP_ALL_TARGETS_ALL",
}

var BondArpAllTargets_value = map[string]int32{
	"BOND_ARP_ALL_TARGETS_ANY": 0,
	"BOND_ARP_ALL_TARGETS_ALL": 1,
}

func (x BondArpAllTargets) String() string {
	return proto.EnumName(BondArpAllTargets_name, int32(x))
}

func (BondArpAllTargets) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{6}
}

type BondPrimaryReselect int32

const (
	BondPrimaryReselect_BOND_PRIMARY_RESELECT_ALWAYS  BondPrimaryReselect = 0
	BondPrimaryReselect_BOND_PRIMARY_RESELECT_BETTER  BondPrimaryReselect = 1
	BondPrimaryReselect_BOND_PRIMARY_RESELECT_FAILURE BondPrimaryReselect = 2
)

var BondPrimaryReselect_name = map[int32]string{
	0: "BOND_PRIMARY_RESELECT_ALWAYS",
	1: "BOND_PRIMARY_RESELECT_BETTER",
	2: "BOND_PRIMARY_RESELECT_FAILURE",
}

var BondPrimaryReselect_value = map[string]int32{
	"BOND_PRIMARY_RESELECT_ALWAYS":  0,
	"BOND_PRIMARY_RESELECT_BETTER":  1,
	"BOND_PRIMARY_RESELECT_FAILURE": 2,
}

func (x BondPrimaryReselect) String() string {
	return proto.EnumName(BondPrimaryReselect_name, int32(x))
}

func (BondPrimaryReselect) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{7}
}

type BondFailOverMac int32

const (
	BondFailOverMac_BOND_FAIL_OVER_MAC_NONE   BondFailOverMac = 0
	BondFailOverMac_BOND_FAIL_OVER_MAC_ACTIVE BondFailOverMac = 1
	BondFailOverMac_BOND_FAIL_OVER_MAC_FOLLOW BondFailOverMac = 2
)

var BondFailOverMac_name = map[int32]string{
	0: "BOND_FAIL_OVER_MAC_NONE",
	1: "BOND_FAIL_OVER_MAC_ACTIVE",
	2: "BOND_FAIL_OVER_MAC_FOLLOW",
}

var BondFailOverMac_value = map[string]int32{
	"BOND_FAIL_OVER_MAC_NONE":   0,
	"BOND_FAIL_OVER_MAC_ACTIVE": 1,
	"BOND_FAIL_OVER_MAC_FOLLOW": 2,
}

func (x BondFailOverMac) String() string {
	return proto.EnumName(BondFailOverMac_name, int32(x))
}

func (BondFailOverMac) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{8}
}

type BondXmitHashPolicy int32

const (
	BondXmitHashPolicy_BOND_XMIT_HASH_POLICY_LAYER2   BondXmitHashPolicy = 0
	BondXmitHashPolicy_BOND_XMIT_HASH_POLICY_LAYER3_4 BondXmitHashPolicy = 1
	BondXmitHashPolicy_BOND_XMIT_HASH_POLICY_LAYER2_3 BondXmitHashPolicy = 2
	BondXmitHashPolicy_BOND_XMIT_HASH_POLICY_ENCAP2_3 BondXmitHashPolicy = 3
	BondXmitHashPolicy_BOND_XMIT_HASH_POLICY_ENCAP3_4 BondXmitHashPolicy = 4
	BondXmitHashPolicy_BOND_XMIT_HASH_POLICY_UNKNOWN  BondXmitHashPolicy = 5
)

var BondXmitHashPolicy_name = map[int32]string{
	0: "BOND_XMIT_HASH_POLICY_LAYER2",
	1: "BOND_XMIT_HASH_POLICY_LAYER3_4",
	2: "BOND_XMIT_HASH_POLICY_LAYER2_3",
	3: "BOND_XMIT_HASH_POLICY_ENCAP2_3",
	4: "BOND_XMIT_HASH_POLICY_ENCAP3_4",
	5: "BOND_XMIT_HASH_POLICY_UNKNOWN",
}

var BondXmitHashPolicy_value = map[string]int32{
	"BOND_XMIT_HASH_POLICY_LAYER2":   0,
	"BOND_XMIT_HASH_POLICY_LAYER3_4": 1,
	"BOND_XMIT_HASH_POLICY_LAYER2_3": 2,
	"BOND_XMIT_HASH_POLICY_ENCAP2_3": 3,
	"BOND_XMIT_HASH_POLICY_ENCAP3_4": 4,
	"BOND_XMIT_HASH_POLICY_UNKNOWN":  5,
}

func (x BondXmitHashPolicy) String() string {
	return proto.EnumName(BondXmitHashPolicy_name, int32(x))
}

func (BondXmitHashPolicy) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{9}
}

type BondLacpRate int32

const (
	BondLacpRate_BOND_LACP_RATE_SLOW    BondLacpRate = 0
	BondLacpRate_BOND_LACP_RATE_FAST    BondLacpRate = 1
	BondLacpRate_BOND_LACP_RATE_UNKNOWN BondLacpRate = 2
)

var BondLacpRate_name = map[int32]string{
	0: "BOND_LACP_RATE_SLOW",
	1: "BOND_LACP_RATE_FAST",
	2: "BOND_LACP_RATE_UNKNOWN",
}

var BondLacpRate_value = map[string]int32{
	"BOND_LACP_RATE_SLOW":    0,
	"BOND_LACP_RATE_FAST":    1,
	"BOND_LACP_RATE_UNKNOWN": 2,
}

func (x BondLacpRate) String() string {
	return proto.EnumName(BondLacpRate_name, int32(x))
}

func (BondLacpRate) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{10}
}

type BondAdSelect int32

const (
	BondAdSelect_BOND_AD_SELECT_STABLE    BondAdSelect = 0
	BondAdSelect_BOND_AD_SELECT_BANDWIDTH BondAdSelect = 1
	BondAdSelect_BOND_AD_SELECT_COUNT     BondAdSelect = 2
)

var BondAdSelect_name = map[int32]string{
	0: "BOND_AD_SELECT_STABLE",
	1: "BOND_AD_SELECT_BANDWIDTH",
	2: "BOND_AD_SELECT_COUNT",
}

var BondAdSelect_value = map[string]int32{
	"BOND_AD_SELECT_STABLE":    0,
	"BOND_AD_SELECT_BANDWIDTH": 1,
	"BOND_AD_SELECT_COUNT":     2,
}

func (x BondAdSelect) String() string {
	return proto.EnumName(BondAdSelect_name, int32(x))
}

func (BondAdSelect) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{11}
}

type BridgeVlanInfo_Flags int32

const (
	BridgeVlanInfo_NOP         BridgeVlanInfo_Flags = 0
	BridgeVlanInfo_MASTER      BridgeVlanInfo_Flags = 1
	BridgeVlanInfo_PVID        BridgeVlanInfo_Flags = 2
	BridgeVlanInfo_UNTAGGED    BridgeVlanInfo_Flags = 4
	BridgeVlanInfo_RANGE_BEGIN BridgeVlanInfo_Flags = 8
	BridgeVlanInfo_RANGE_END   BridgeVlanInfo_Flags = 16
)

var BridgeVlanInfo_Flags_name = map[int32]string{
	0:  "NOP",
	1:  "MASTER",
	2:  "PVID",
	4:  "UNTAGGED",
	8:  "RANGE_BEGIN",
	16: "RANGE_END",
}

var BridgeVlanInfo_Flags_value = map[string]int32{
	"NOP":         0,
	"MASTER":      1,
	"PVID":        2,
	"UNTAGGED":    4,
	"RANGE_BEGIN": 8,
	"RANGE_END":   16,
}

func (x BridgeVlanInfo_Flags) String() string {
	return proto.EnumName(BridgeVlanInfo_Flags_name, int32(x))
}

func (BridgeVlanInfo_Flags) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{33, 0}
}

type BridgeVlanInfo_PortType int32

const (
	BridgeVlanInfo_NONE_PORT   BridgeVlanInfo_PortType = 0
	BridgeVlanInfo_ACCESS_PORT BridgeVlanInfo_PortType = 1
	BridgeVlanInfo_TRUNK_PORT  BridgeVlanInfo_PortType = 2
	BridgeVlanInfo_MASTER_PORT BridgeVlanInfo_PortType = 3
)

var BridgeVlanInfo_PortType_name = map[int32]string{
	0: "NONE_PORT",
	1: "ACCESS_PORT",
	2: "TRUNK_PORT",
	3: "MASTER_PORT",
}

var BridgeVlanInfo_PortType_value = map[string]int32{
	"NONE_PORT":   0,
	"ACCESS_PORT": 1,
	"TRUNK_PORT":  2,
	"MASTER_PORT": 3,
}

func (x BridgeVlanInfo_PortType) String() string {
	return proto.EnumName(BridgeVlanInfo_PortType_name, int32(x))
}

func (BridgeVlanInfo_PortType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_0d5eb4a10391811b, []int{33, 1}
}

//
// Common
//
type NlMsghdr struct {
	Len                  uint32   `protobuf:"varint,1,opt,name=len,proto3" json:"len,omitempty"`
	Type                 uint32   `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"`
	Flags                uint32   `protobuf:"varint,3,opt,name=flags,proto3" json:"flags,omitempty"`
	Seq                  uint32   `protobuf:"varint,4,opt,name=seq,proto3" json:"seq,omitempty"`
	Pid                  uint32   `protobuf:"varint,5,opt,name=pid,proto3" json:"pid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_NlMsghdr proto.InternalMessageInfo

func (m *NlMsghdr) GetLen() uint32 {
	if m != nil {
		return m.Len
	}
	return 0
}

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

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

func (m *NlMsghdr) GetSeq() uint32 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *NlMsghdr) GetPid() uint32 {
	if m != nil {
		return m.Pid
	}
	return 0
}

type NetlinkMessage struct {
	Header               *NlMsghdr `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Data                 []byte    `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	NId                  uint32    `protobuf:"varint,3,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	Src                  NlMsgSrc  `protobuf:"varint,4,opt,name=src,proto3,enum=nlaapi.NlMsgSrc" json:"src,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

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

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

var xxx_messageInfo_NetlinkMessage proto.InternalMessageInfo

func (m *NetlinkMessage) GetHeader() *NlMsghdr {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *NetlinkMessage) GetData() []byte {
	if m != nil {
		return m.Data
	}
	return nil
}

func (m *NetlinkMessage) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *NetlinkMessage) GetSrc() NlMsgSrc {
	if m != nil {
		return m.Src
	}
	return NlMsgSrc_NOP
}

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

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

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

var xxx_messageInfo_NetlinkMessageReply proto.InternalMessageInfo

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

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

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

var xxx_messageInfo_MonNetlinkRequest proto.InternalMessageInfo

type NlMsgUni struct {
	// Types that are valid to be assigned to Msg:
	//	*NlMsgUni_Link
	//	*NlMsgUni_Addr
	//	*NlMsgUni_Neigh
	//	*NlMsgUni_Route
	//	*NlMsgUni_Node
	//	*NlMsgUni_Vpn
	//	*NlMsgUni_BrVlanInfo
	Msg                  isNlMsgUni_Msg `protobuf_oneof:"msg"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

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

var xxx_messageInfo_NlMsgUni proto.InternalMessageInfo

type isNlMsgUni_Msg interface {
	isNlMsgUni_Msg()
}

type NlMsgUni_Link struct {
	Link *Link `protobuf:"bytes,1,opt,name=link,proto3,oneof"`
}

type NlMsgUni_Addr struct {
	Addr *Addr `protobuf:"bytes,2,opt,name=addr,proto3,oneof"`
}

type NlMsgUni_Neigh struct {
	Neigh *Neigh `protobuf:"bytes,3,opt,name=neigh,proto3,oneof"`
}

type NlMsgUni_Route struct {
	Route *Route `protobuf:"bytes,4,opt,name=route,proto3,oneof"`
}

type NlMsgUni_Node struct {
	Node *Node `protobuf:"bytes,5,opt,name=node,proto3,oneof"`
}

type NlMsgUni_Vpn struct {
	Vpn *Vpn `protobuf:"bytes,6,opt,name=vpn,proto3,oneof"`
}

type NlMsgUni_BrVlanInfo struct {
	BrVlanInfo *BridgeVlanInfo `protobuf:"bytes,7,opt,name=br_vlan_info,json=brVlanInfo,proto3,oneof"`
}

func (*NlMsgUni_Link) isNlMsgUni_Msg() {}

func (*NlMsgUni_Addr) isNlMsgUni_Msg() {}

func (*NlMsgUni_Neigh) isNlMsgUni_Msg() {}

func (*NlMsgUni_Route) isNlMsgUni_Msg() {}

func (*NlMsgUni_Node) isNlMsgUni_Msg() {}

func (*NlMsgUni_Vpn) isNlMsgUni_Msg() {}

func (*NlMsgUni_BrVlanInfo) isNlMsgUni_Msg() {}

func (m *NlMsgUni) GetMsg() isNlMsgUni_Msg {
	if m != nil {
		return m.Msg
	}
	return nil
}

func (m *NlMsgUni) GetLink() *Link {
	if x, ok := m.GetMsg().(*NlMsgUni_Link); ok {
		return x.Link
	}
	return nil
}

func (m *NlMsgUni) GetAddr() *Addr {
	if x, ok := m.GetMsg().(*NlMsgUni_Addr); ok {
		return x.Addr
	}
	return nil
}

func (m *NlMsgUni) GetNeigh() *Neigh {
	if x, ok := m.GetMsg().(*NlMsgUni_Neigh); ok {
		return x.Neigh
	}
	return nil
}

func (m *NlMsgUni) GetRoute() *Route {
	if x, ok := m.GetMsg().(*NlMsgUni_Route); ok {
		return x.Route
	}
	return nil
}

func (m *NlMsgUni) GetNode() *Node {
	if x, ok := m.GetMsg().(*NlMsgUni_Node); ok {
		return x.Node
	}
	return nil
}

func (m *NlMsgUni) GetVpn() *Vpn {
	if x, ok := m.GetMsg().(*NlMsgUni_Vpn); ok {
		return x.Vpn
	}
	return nil
}

func (m *NlMsgUni) GetBrVlanInfo() *BridgeVlanInfo {
	if x, ok := m.GetMsg().(*NlMsgUni_BrVlanInfo); ok {
		return x.BrVlanInfo
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*NlMsgUni) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*NlMsgUni_Link)(nil),
		(*NlMsgUni_Addr)(nil),
		(*NlMsgUni_Neigh)(nil),
		(*NlMsgUni_Route)(nil),
		(*NlMsgUni_Node)(nil),
		(*NlMsgUni_Vpn)(nil),
		(*NlMsgUni_BrVlanInfo)(nil),
	}
}

type NetlinkMessageUnion struct {
	Header               *NlMsghdr `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	Msg                  *NlMsgUni `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	NId                  uint32    `protobuf:"varint,3,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	Src                  NlMsgSrc  `protobuf:"varint,4,opt,name=src,proto3,enum=nlaapi.NlMsgSrc" json:"src,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

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

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

var xxx_messageInfo_NetlinkMessageUnion proto.InternalMessageInfo

func (m *NetlinkMessageUnion) GetHeader() *NlMsghdr {
	if m != nil {
		return m.Header
	}
	return nil
}

func (m *NetlinkMessageUnion) GetMsg() *NlMsgUni {
	if m != nil {
		return m.Msg
	}
	return nil
}

func (m *NetlinkMessageUnion) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *NetlinkMessageUnion) GetSrc() NlMsgSrc {
	if m != nil {
		return m.Src
	}
	return NlMsgSrc_NOP
}

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

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

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

var xxx_messageInfo_ModVpnRequest proto.InternalMessageInfo

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

func (m *ModVpnRequest) GetVpn() *Vpn {
	if m != nil {
		return m.Vpn
	}
	return nil
}

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

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

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

var xxx_messageInfo_ModVpnReply proto.InternalMessageInfo

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

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

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

var xxx_messageInfo_ModNetlinkReply proto.InternalMessageInfo

type GetLinksRequest struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_GetLinksRequest proto.InternalMessageInfo

func (m *GetLinksRequest) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

type GetAddrsRequest struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_GetAddrsRequest proto.InternalMessageInfo

func (m *GetAddrsRequest) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

type GetNeighsRequest struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_GetNeighsRequest proto.InternalMessageInfo

func (m *GetNeighsRequest) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

type GetRoutesRequest struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_GetRoutesRequest proto.InternalMessageInfo

func (m *GetRoutesRequest) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

type GetMplssRequest struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_GetMplssRequest proto.InternalMessageInfo

func (m *GetMplssRequest) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

type GetBridgeVlanInfosRequest struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_GetBridgeVlanInfosRequest proto.InternalMessageInfo

func (m *GetBridgeVlanInfosRequest) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

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

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

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

var xxx_messageInfo_GetNodesRequest proto.InternalMessageInfo

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

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

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

var xxx_messageInfo_GetVpnsRequest proto.InternalMessageInfo

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

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

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

var xxx_messageInfo_GetEncapInfosRequest proto.InternalMessageInfo

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

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

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

var xxx_messageInfo_GetIptunsRequest proto.InternalMessageInfo

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

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

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

var xxx_messageInfo_GetStatsRequest proto.InternalMessageInfo

type LinkKey struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	Index                int32    `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_LinkKey proto.InternalMessageInfo

func (m *LinkKey) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *LinkKey) GetIndex() int32 {
	if m != nil {
		return m.Index
	}
	return 0
}

type AddrKey struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	Addr                 string   `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_AddrKey proto.InternalMessageInfo

func (m *AddrKey) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *AddrKey) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

type NeighKey struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	Addr                 string   `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	Ifindex              int32    `protobuf:"varint,3,opt,name=ifindex,proto3" json:"ifindex,omitempty"`
	VlanId               int32    `protobuf:"varint,4,opt,name=vlan_id,json=vlanId,proto3" json:"vlan_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_NeighKey proto.InternalMessageInfo

func (m *NeighKey) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *NeighKey) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

func (m *NeighKey) GetIfindex() int32 {
	if m != nil {
		return m.Ifindex
	}
	return 0
}

func (m *NeighKey) GetVlanId() int32 {
	if m != nil {
		return m.VlanId
	}
	return 0
}

type RouteKey struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	Addr                 string   `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_RouteKey proto.InternalMessageInfo

func (m *RouteKey) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *RouteKey) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

type MplsKey struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	LLabel               uint32   `protobuf:"varint,2,opt,name=l_label,json=lLabel,proto3" json:"l_label,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_MplsKey proto.InternalMessageInfo

func (m *MplsKey) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *MplsKey) GetLLabel() uint32 {
	if m != nil {
		return m.LLabel
	}
	return 0
}

type NodeKey struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_NodeKey proto.InternalMessageInfo

func (m *NodeKey) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

type VpnKey struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	Dst                  string   `protobuf:"bytes,2,opt,name=dst,proto3" json:"dst,omitempty"`
	Gw                   string   `protobuf:"bytes,3,opt,name=gw,proto3" json:"gw,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_VpnKey proto.InternalMessageInfo

func (m *VpnKey) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *VpnKey) GetDst() string {
	if m != nil {
		return m.Dst
	}
	return ""
}

func (m *VpnKey) GetGw() string {
	if m != nil {
		return m.Gw
	}
	return ""
}

type IptunKey struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	Remote               []byte   `protobuf:"bytes,2,opt,name=remote,proto3" json:"remote,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_IptunKey proto.InternalMessageInfo

func (m *IptunKey) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *IptunKey) GetRemote() []byte {
	if m != nil {
		return m.Remote
	}
	return nil
}

type BridgeVlanInfoKey struct {
	NId                  uint32   `protobuf:"varint,1,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	Index                int32    `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
	Vid                  uint32   `protobuf:"varint,3,opt,name=vid,proto3" json:"vid,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_BridgeVlanInfoKey proto.InternalMessageInfo

func (m *BridgeVlanInfoKey) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *BridgeVlanInfoKey) GetIndex() int32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *BridgeVlanInfoKey) GetVid() uint32 {
	if m != nil {
		return m.Vid
	}
	return 0
}

//
// Messages
//
type Stat struct {
	Key                  string   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Val                  uint64   `protobuf:"varint,2,opt,name=val,proto3" json:"val,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Stat proto.InternalMessageInfo

func (m *Stat) GetKey() string {
	if m != nil {
		return m.Key
	}
	return ""
}

func (m *Stat) GetVal() uint64 {
	if m != nil {
		return m.Val
	}
	return 0
}

type Node struct {
	Ip                   []byte   `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
	NId                  uint32   `protobuf:"varint,2,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Node proto.InternalMessageInfo

func (m *Node) GetIp() []byte {
	if m != nil {
		return m.Ip
	}
	return nil
}

func (m *Node) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

type Vpn struct {
	Ip                   []byte   `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
	Mask                 []byte   `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"`
	Gw                   []byte   `protobuf:"bytes,3,opt,name=gw,proto3" json:"gw,omitempty"`
	Label                uint32   `protobuf:"varint,4,opt,name=label,proto3" json:"label,omitempty"`
	VpnGw                []byte   `protobuf:"bytes,5,opt,name=vpn_gw,json=vpnGw,proto3" json:"vpn_gw,omitempty"`
	NId                  uint32   `protobuf:"varint,6,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	VpnId                uint32   `protobuf:"varint,7,opt,name=vpn_id,json=vpnId,proto3" json:"vpn_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Vpn proto.InternalMessageInfo

func (m *Vpn) GetIp() []byte {
	if m != nil {
		return m.Ip
	}
	return nil
}

func (m *Vpn) GetMask() []byte {
	if m != nil {
		return m.Mask
	}
	return nil
}

func (m *Vpn) GetGw() []byte {
	if m != nil {
		return m.Gw
	}
	return nil
}

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

func (m *Vpn) GetVpnGw() []byte {
	if m != nil {
		return m.VpnGw
	}
	return nil
}

func (m *Vpn) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *Vpn) GetVpnId() uint32 {
	if m != nil {
		return m.VpnId
	}
	return 0
}

type Iptun struct {
	Link                 *Link    `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"`
	LocalMac             []byte   `protobuf:"bytes,2,opt,name=local_mac,json=localMac,proto3" json:"local_mac,omitempty"`
	NId                  uint32   `protobuf:"varint,3,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	TnlId                uint32   `protobuf:"varint,4,opt,name=tnl_id,json=tnlId,proto3" json:"tnl_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Iptun proto.InternalMessageInfo

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

func (m *Iptun) GetLocalMac() []byte {
	if m != nil {
		return m.LocalMac
	}
	return nil
}

func (m *Iptun) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *Iptun) GetTnlId() uint32 {
	if m != nil {
		return m.TnlId
	}
	return 0
}

type BridgeVlanInfo struct {
	Flags                BridgeVlanInfo_Flags `protobuf:"varint,1,opt,name=flags,proto3,enum=nlaapi.BridgeVlanInfo_Flags" json:"flags,omitempty"`
	Vid                  uint32               `protobuf:"varint,2,opt,name=vid,proto3" json:"vid,omitempty"`
	Index                int32                `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
	Name                 string               `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	MasterIndex          int32                `protobuf:"varint,5,opt,name=master_index,json=masterIndex,proto3" json:"master_index,omitempty"`
	Mtu                  uint32               `protobuf:"varint,6,opt,name=mtu,proto3" json:"mtu,omitempty"`
	NId                  uint32               `protobuf:"varint,7,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	BrId                 uint32               `protobuf:"varint,8,opt,name=br_id,json=brId,proto3" json:"br_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

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

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

var xxx_messageInfo_BridgeVlanInfo proto.InternalMessageInfo

func (m *BridgeVlanInfo) GetFlags() BridgeVlanInfo_Flags {
	if m != nil {
		return m.Flags
	}
	return BridgeVlanInfo_NOP
}

func (m *BridgeVlanInfo) GetVid() uint32 {
	if m != nil {
		return m.Vid
	}
	return 0
}

func (m *BridgeVlanInfo) GetIndex() int32 {
	if m != nil {
		return m.Index
	}
	return 0
}

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

func (m *BridgeVlanInfo) GetMasterIndex() int32 {
	if m != nil {
		return m.MasterIndex
	}
	return 0
}

func (m *BridgeVlanInfo) GetMtu() uint32 {
	if m != nil {
		return m.Mtu
	}
	return 0
}

func (m *BridgeVlanInfo) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *BridgeVlanInfo) GetBrId() uint32 {
	if m != nil {
		return m.BrId
	}
	return 0
}

type BondSlaveInfo struct {
	State                  BondState     `protobuf:"varint,1,opt,name=state,proto3,enum=nlaapi.BondState" json:"state,omitempty"`
	MiiStatus              BondLinkState `protobuf:"varint,2,opt,name=mii_status,json=miiStatus,proto3,enum=nlaapi.BondLinkState" json:"mii_status,omitempty"`
	LinkFailureCount       uint32        `protobuf:"varint,3,opt,name=link_failure_count,json=linkFailureCount,proto3" json:"link_failure_count,omitempty"`
	PermanentHwAddr        []byte        `protobuf:"bytes,4,opt,name=permanent_hw_addr,json=permanentHwAddr,proto3" json:"permanent_hw_addr,omitempty"`
	QueueId                int32         `protobuf:"varint,5,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"`
	AggregatorId           int32         `protobuf:"varint,6,opt,name=aggregator_id,json=aggregatorId,proto3" json:"aggregator_id,omitempty"`
	ActorOperPortState     int32         `protobuf:"varint,7,opt,name=actor_oper_port_state,json=actorOperPortState,proto3" json:"actor_oper_port_state,omitempty"`
	AdPartnerOperPortState int32         `protobuf:"varint,8,opt,name=ad_partner_oper_port_state,json=adPartnerOperPortState,proto3" json:"ad_partner_oper_port_state,omitempty"`
	XXX_NoUnkeyedLiteral   struct{}      `json:"-"`
	XXX_unrecognized       []byte        `json:"-"`
	XXX_sizecache          int32         `json:"-"`
}

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

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

var xxx_messageInfo_BondSlaveInfo proto.InternalMessageInfo

func (m *BondSlaveInfo) GetState() BondState {
	if m != nil {
		return m.State
	}
	return BondState_BOND_STATE_ACTIVE
}

func (m *BondSlaveInfo) GetMiiStatus() BondLinkState {
	if m != nil {
		return m.MiiStatus
	}
	return BondLinkState_BOND_LINK_UP
}

func (m *BondSlaveInfo) GetLinkFailureCount() uint32 {
	if m != nil {
		return m.LinkFailureCount
	}
	return 0
}

func (m *BondSlaveInfo) GetPermanentHwAddr() []byte {
	if m != nil {
		return m.PermanentHwAddr
	}
	return nil
}

func (m *BondSlaveInfo) GetQueueId() int32 {
	if m != nil {
		return m.QueueId
	}
	return 0
}

func (m *BondSlaveInfo) GetAggregatorId() int32 {
	if m != nil {
		return m.AggregatorId
	}
	return 0
}

func (m *BondSlaveInfo) GetActorOperPortState() int32 {
	if m != nil {
		return m.ActorOperPortState
	}
	return 0
}

func (m *BondSlaveInfo) GetAdPartnerOperPortState() int32 {
	if m != nil {
		return m.AdPartnerOperPortState
	}
	return 0
}

type LinkAttrs struct {
	Index        int32         `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
	Mtu          int32         `protobuf:"varint,2,opt,name=mtu,proto3" json:"mtu,omitempty"`
	TxQLen       int32         `protobuf:"varint,3,opt,name=tx_q_len,json=txQLen,proto3" json:"tx_q_len,omitempty"`
	Name         string        `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	HardwareAddr []byte        `protobuf:"bytes,5,opt,name=hardware_addr,json=hardwareAddr,proto3" json:"hardware_addr,omitempty"`
	Flags        uint32        `protobuf:"varint,6,opt,name=flags,proto3" json:"flags,omitempty"`
	RawFlags     uint32        `protobuf:"varint,7,opt,name=raw_flags,json=rawFlags,proto3" json:"raw_flags,omitempty"`
	ParentIndex  int32         `protobuf:"varint,8,opt,name=parent_index,json=parentIndex,proto3" json:"parent_index,omitempty"`
	MasterIndex  int32         `protobuf:"varint,9,opt,name=master_index,json=masterIndex,proto3" json:"master_index,omitempty"`
	Alias        string        `protobuf:"bytes,10,opt,name=alias,proto3" json:"alias,omitempty"`
	Promisc      int32         `protobuf:"varint,11,opt,name=promisc,proto3" json:"promisc,omitempty"`
	EncapType    string        `protobuf:"bytes,12,opt,name=encap_type,json=encapType,proto3" json:"encap_type,omitempty"`
	OperState    LinkOperState `protobuf:"varint,13,opt,name=oper_state,json=operState,proto3,enum=nlaapi.LinkOperState" json:"oper_state,omitempty"`
	// Types that are valid to be assigned to SlaveInfo:
	//	*LinkAttrs_BondSlaveInfo
	SlaveInfo            isLinkAttrs_SlaveInfo `protobuf_oneof:"slave_info"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

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

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

var xxx_messageInfo_LinkAttrs proto.InternalMessageInfo

func (m *LinkAttrs) GetIndex() int32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *LinkAttrs) GetMtu() int32 {
	if m != nil {
		return m.Mtu
	}
	return 0
}

func (m *LinkAttrs) GetTxQLen() int32 {
	if m != nil {
		return m.TxQLen
	}
	return 0
}

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

func (m *LinkAttrs) GetHardwareAddr() []byte {
	if m != nil {
		return m.HardwareAddr
	}
	return nil
}

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

func (m *LinkAttrs) GetRawFlags() uint32 {
	if m != nil {
		return m.RawFlags
	}
	return 0
}

func (m *LinkAttrs) GetParentIndex() int32 {
	if m != nil {
		return m.ParentIndex
	}
	return 0
}

func (m *LinkAttrs) GetMasterIndex() int32 {
	if m != nil {
		return m.MasterIndex
	}
	return 0
}

func (m *LinkAttrs) GetAlias() string {
	if m != nil {
		return m.Alias
	}
	return ""
}

func (m *LinkAttrs) GetPromisc() int32 {
	if m != nil {
		return m.Promisc
	}
	return 0
}

func (m *LinkAttrs) GetEncapType() string {
	if m != nil {
		return m.EncapType
	}
	return ""
}

func (m *LinkAttrs) GetOperState() LinkOperState {
	if m != nil {
		return m.OperState
	}
	return LinkOperState_OperUnknown
}

type isLinkAttrs_SlaveInfo interface {
	isLinkAttrs_SlaveInfo()
}

type LinkAttrs_BondSlaveInfo struct {
	BondSlaveInfo *BondSlaveInfo `protobuf:"bytes,14,opt,name=bond_slave_info,json=bondSlaveInfo,proto3,oneof"`
}

func (*LinkAttrs_BondSlaveInfo) isLinkAttrs_SlaveInfo() {}

func (m *LinkAttrs) GetSlaveInfo() isLinkAttrs_SlaveInfo {
	if m != nil {
		return m.SlaveInfo
	}
	return nil
}

func (m *LinkAttrs) GetBondSlaveInfo() *BondSlaveInfo {
	if x, ok := m.GetSlaveInfo().(*LinkAttrs_BondSlaveInfo); ok {
		return x.BondSlaveInfo
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*LinkAttrs) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*LinkAttrs_BondSlaveInfo)(nil),
	}
}

type GenericLinkAttrs struct {
	LinkAttrs            *LinkAttrs `protobuf:"bytes,1,opt,name=link_attrs,json=linkAttrs,proto3" json:"link_attrs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

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

var xxx_messageInfo_GenericLinkAttrs proto.InternalMessageInfo

func (m *GenericLinkAttrs) GetLinkAttrs() *LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

type DeviceLinkAttrs struct {
	LinkAttrs            *LinkAttrs `protobuf:"bytes,1,opt,name=link_attrs,json=linkAttrs,proto3" json:"link_attrs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

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

var xxx_messageInfo_DeviceLinkAttrs proto.InternalMessageInfo

func (m *DeviceLinkAttrs) GetLinkAttrs() *LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

type BridgeLinkAttrs struct {
	LinkAttrs            *LinkAttrs `protobuf:"bytes,1,opt,name=link_attrs,json=linkAttrs,proto3" json:"link_attrs,omitempty"`
	MulticastSnooping    bool       `protobuf:"varint,2,opt,name=multicast_snooping,json=multicastSnooping,proto3" json:"multicast_snooping,omitempty"`
	HelloTime            uint32     `protobuf:"varint,3,opt,name=hello_time,json=helloTime,proto3" json:"hello_time,omitempty"`
	VlanFiltering        bool       `protobuf:"varint,4,opt,name=vlan_filtering,json=vlanFiltering,proto3" json:"vlan_filtering,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

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

var xxx_messageInfo_BridgeLinkAttrs proto.InternalMessageInfo

func (m *BridgeLinkAttrs) GetLinkAttrs() *LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

func (m *BridgeLinkAttrs) GetMulticastSnooping() bool {
	if m != nil {
		return m.MulticastSnooping
	}
	return false
}

func (m *BridgeLinkAttrs) GetHelloTime() uint32 {
	if m != nil {
		return m.HelloTime
	}
	return 0
}

func (m *BridgeLinkAttrs) GetVlanFiltering() bool {
	if m != nil {
		return m.VlanFiltering
	}
	return false
}

type VlanLinkAttrs struct {
	LinkAttrs            *LinkAttrs `protobuf:"bytes,1,opt,name=link_attrs,json=linkAttrs,proto3" json:"link_attrs,omitempty"`
	VlanId               int32      `protobuf:"varint,2,opt,name=vlan_id,json=vlanId,proto3" json:"vlan_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

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

var xxx_messageInfo_VlanLinkAttrs proto.InternalMessageInfo

func (m *VlanLinkAttrs) GetLinkAttrs() *LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

func (m *VlanLinkAttrs) GetVlanId() int32 {
	if m != nil {
		return m.VlanId
	}
	return 0
}

type VxlanLinkAttrs struct {
	LinkAttrs            *LinkAttrs `protobuf:"bytes,1,opt,name=link_attrs,json=linkAttrs,proto3" json:"link_attrs,omitempty"`
	VxlanId              int32      `protobuf:"varint,2,opt,name=vxlan_id,json=vxlanId,proto3" json:"vxlan_id,omitempty"`
	VtepDevIndex         int32      `protobuf:"varint,3,opt,name=vtep_dev_index,json=vtepDevIndex,proto3" json:"vtep_dev_index,omitempty"`
	SrcAddr              []byte     `protobuf:"bytes,4,opt,name=src_addr,json=srcAddr,proto3" json:"src_addr,omitempty"`
	Group                []byte     `protobuf:"bytes,5,opt,name=group,proto3" json:"group,omitempty"`
	Ttl                  int32      `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
	Tos                  int32      `protobuf:"varint,7,opt,name=tos,proto3" json:"tos,omitempty"`
	Learning             bool       `protobuf:"varint,8,opt,name=learning,proto3" json:"learning,omitempty"`
	Proxy                bool       `protobuf:"varint,9,opt,name=proxy,proto3" json:"proxy,omitempty"`
	Rsc                  bool       `protobuf:"varint,10,opt,name=rsc,proto3" json:"rsc,omitempty"`
	L2Miss               bool       `protobuf:"varint,11,opt,name=l2miss,proto3" json:"l2miss,omitempty"`
	L3Miss               bool       `protobuf:"varint,12,opt,name=l3miss,proto3" json:"l3miss,omitempty"`
	UdpCSum              bool       `protobuf:"varint,13,opt,name=udp_c_sum,json=udpCSum,proto3" json:"udp_c_sum,omitempty"`
	NoAge                bool       `protobuf:"varint,14,opt,name=no_age,json=noAge,proto3" json:"no_age,omitempty"`
	Gbp                  bool       `protobuf:"varint,15,opt,name=gbp,proto3" json:"gbp,omitempty"`
	Age                  int32      `protobuf:"varint,16,opt,name=age,proto3" json:"age,omitempty"`
	Limit                int32      `protobuf:"varint,17,opt,name=limit,proto3" json:"limit,omitempty"`
	Port                 int32      `protobuf:"varint,18,opt,name=port,proto3" json:"port,omitempty"`
	PortLow              int32      `protobuf:"varint,19,opt,name=port_low,json=portLow,proto3" json:"port_low,omitempty"`
	PortHigh             int32      `protobuf:"varint,20,opt,name=port_high,json=portHigh,proto3" json:"port_high,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

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

var xxx_messageInfo_VxlanLinkAttrs proto.InternalMessageInfo

func (m *VxlanLinkAttrs) GetLinkAttrs() *LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

func (m *VxlanLinkAttrs) GetVxlanId() int32 {
	if m != nil {
		return m.VxlanId
	}
	return 0
}

func (m *VxlanLinkAttrs) GetVtepDevIndex() int32 {
	if m != nil {
		return m.VtepDevIndex
	}
	return 0
}

func (m *VxlanLinkAttrs) GetSrcAddr() []byte {
	if m != nil {
		return m.SrcAddr
	}
	return nil
}

func (m *VxlanLinkAttrs) GetGroup() []byte {
	if m != nil {
		return m.Group
	}
	return nil
}

func (m *VxlanLinkAttrs) GetTtl() int32 {
	if m != nil {
		return m.Ttl
	}
	return 0
}

func (m *VxlanLinkAttrs) GetTos() int32 {
	if m != nil {
		return m.Tos
	}
	return 0
}

func (m *VxlanLinkAttrs) GetLearning() bool {
	if m != nil {
		return m.Learning
	}
	return false
}

func (m *VxlanLinkAttrs) GetProxy() bool {
	if m != nil {
		return m.Proxy
	}
	return false
}

func (m *VxlanLinkAttrs) GetRsc() bool {
	if m != nil {
		return m.Rsc
	}
	return false
}

func (m *VxlanLinkAttrs) GetL2Miss() bool {
	if m != nil {
		return m.L2Miss
	}
	return false
}

func (m *VxlanLinkAttrs) GetL3Miss() bool {
	if m != nil {
		return m.L3Miss
	}
	return false
}

func (m *VxlanLinkAttrs) GetUdpCSum() bool {
	if m != nil {
		return m.UdpCSum
	}
	return false
}

func (m *VxlanLinkAttrs) GetNoAge() bool {
	if m != nil {
		return m.NoAge
	}
	return false
}

func (m *VxlanLinkAttrs) GetGbp() bool {
	if m != nil {
		return m.Gbp
	}
	return false
}

func (m *VxlanLinkAttrs) GetAge() int32 {
	if m != nil {
		return m.Age
	}
	return 0
}

func (m *VxlanLinkAttrs) GetLimit() int32 {
	if m != nil {
		return m.Limit
	}
	return 0
}

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

func (m *VxlanLinkAttrs) GetPortLow() int32 {
	if m != nil {
		return m.PortLow
	}
	return 0
}

func (m *VxlanLinkAttrs) GetPortHigh() int32 {
	if m != nil {
		return m.PortHigh
	}
	return 0
}

type VtiLinkAttrs struct {
	LinkAttrs            *LinkAttrs `protobuf:"bytes,1,opt,name=link_attrs,json=linkAttrs,proto3" json:"link_attrs,omitempty"`
	IKey                 uint32     `protobuf:"varint,2,opt,name=i_key,json=iKey,proto3" json:"i_key,omitempty"`
	OKey                 uint32     `protobuf:"varint,3,opt,name=o_key,json=oKey,proto3" json:"o_key,omitempty"`
	Link                 uint32     `protobuf:"varint,4,opt,name=link,proto3" json:"link,omitempty"`
	Local                []byte     `protobuf:"bytes,5,opt,name=local,proto3" json:"local,omitempty"`
	Remote               []byte     `protobuf:"bytes,6,opt,name=remote,proto3" json:"remote,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

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

var xxx_messageInfo_VtiLinkAttrs proto.InternalMessageInfo

func (m *VtiLinkAttrs) GetLinkAttrs() *LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

func (m *VtiLinkAttrs) GetIKey() uint32 {
	if m != nil {
		return m.IKey
	}
	return 0
}

func (m *VtiLinkAttrs) GetOKey() uint32 {
	if m != nil {
		return m.OKey
	}
	return 0
}

func (m *VtiLinkAttrs) GetLink() uint32 {
	if m != nil {
		return m.Link
	}
	return 0
}

func (m *VtiLinkAttrs) GetLocal() []byte {
	if m != nil {
		return m.Local
	}
	return nil
}

func (m *VtiLinkAttrs) GetRemote() []byte {
	if m != nil {
		return m.Remote
	}
	return nil
}

type VethLinkAttrs struct {
	LinkAttrs            *LinkAttrs `protobuf:"bytes,1,opt,name=link_attrs,json=linkAttrs,proto3" json:"link_attrs,omitempty"`
	PeerName             string     `protobuf:"bytes,2,opt,name=peer_name,json=peerName,proto3" json:"peer_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

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

var xxx_messageInfo_VethLinkAttrs proto.InternalMessageInfo

func (m *VethLinkAttrs) GetLinkAttrs() *LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

func (m *VethLinkAttrs) GetPeerName() string {
	if m != nil {
		return m.PeerName
	}
	return ""
}

type BondAdInfo struct {
	AggregatorId         int32    `protobuf:"varint,1,opt,name=aggregator_id,json=aggregatorId,proto3" json:"aggregator_id,omitempty"`
	NumPorts             int32    `protobuf:"varint,2,opt,name=num_ports,json=numPorts,proto3" json:"num_ports,omitempty"`
	ActorKey             int32    `protobuf:"varint,3,opt,name=actor_key,json=actorKey,proto3" json:"actor_key,omitempty"`
	PartnerKey           int32    `protobuf:"varint,4,opt,name=partner_key,json=partnerKey,proto3" json:"partner_key,omitempty"`
	PartnerMac           []byte   `protobuf:"bytes,5,opt,name=partner_mac,json=partnerMac,proto3" json:"partner_mac,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_BondAdInfo proto.InternalMessageInfo

func (m *BondAdInfo) GetAggregatorId() int32 {
	if m != nil {
		return m.AggregatorId
	}
	return 0
}

func (m *BondAdInfo) GetNumPorts() int32 {
	if m != nil {
		return m.NumPorts
	}
	return 0
}

func (m *BondAdInfo) GetActorKey() int32 {
	if m != nil {
		return m.ActorKey
	}
	return 0
}

func (m *BondAdInfo) GetPartnerKey() int32 {
	if m != nil {
		return m.PartnerKey
	}
	return 0
}

func (m *BondAdInfo) GetPartnerMac() []byte {
	if m != nil {
		return m.PartnerMac
	}
	return nil
}

type BondLinkAttrs struct {
	LinkAttrs            *LinkAttrs          `protobuf:"bytes,1,opt,name=link_attrs,json=linkAttrs,proto3" json:"link_attrs,omitempty"`
	Mode                 BondMode            `protobuf:"varint,2,opt,name=mode,proto3,enum=nlaapi.BondMode" json:"mode,omitempty"`
	ActiveSlave          int32               `protobuf:"varint,3,opt,name=active_slave,json=activeSlave,proto3" json:"active_slave,omitempty"`
	Miimon               int32               `protobuf:"varint,4,opt,name=miimon,proto3" json:"miimon,omitempty"`
	UpDelay              int32               `protobuf:"varint,5,opt,name=up_delay,json=upDelay,proto3" json:"up_delay,omitempty"`
	DownDelay            int32               `protobuf:"varint,6,opt,name=down_delay,json=downDelay,proto3" json:"down_delay,omitempty"`
	UseCarrier           int32               `protobuf:"varint,7,opt,name=use_carrier,json=useCarrier,proto3" json:"use_carrier,omitempty"`
	ArpInterval          int32               `protobuf:"varint,8,opt,name=arp_interval,json=arpInterval,proto3" json:"arp_interval,omitempty"`
	ArpIpTargets         [][]byte            `protobuf:"bytes,9,rep,name=arp_ip_targets,json=arpIpTargets,proto3" json:"arp_ip_targets,omitempty"`
	ArpValidate          BondArpValidate     `protobuf:"varint,10,opt,name=arp_validate,json=arpValidate,proto3,enum=nlaapi.BondArpValidate" json:"arp_validate,omitempty"`
	ArpAllTargets        BondArpAllTargets   `protobuf:"varint,11,opt,name=arp_all_targets,json=arpAllTargets,proto3,enum=nlaapi.BondArpAllTargets" json:"arp_all_targets,omitempty"`
	Primary              int32               `protobuf:"varint,12,opt,name=primary,proto3" json:"primary,omitempty"`
	PrimaryReselect      BondPrimaryReselect `protobuf:"varint,13,opt,name=primary_reselect,json=primaryReselect,proto3,enum=nlaapi.BondPrimaryReselect" json:"primary_reselect,omitempty"`
	FailOverMac          BondFailOverMac     `protobuf:"varint,14,opt,name=fail_over_mac,json=failOverMac,proto3,enum=nlaapi.BondFailOverMac" json:"fail_over_mac,omitempty"`
	XmitHashPolicy       BondXmitHashPolicy  `protobuf:"varint,15,opt,name=xmit_hash_policy,json=xmitHashPolicy,proto3,enum=nlaapi.BondXmitHashPolicy" json:"xmit_hash_policy,omitempty"`
	ResendIgmp           int32               `protobuf:"varint,16,opt,name=resend_igmp,json=resendIgmp,proto3" json:"resend_igmp,omitempty"`
	NumPeerNotif         int32               `protobuf:"varint,17,opt,name=num_peer_notif,json=numPeerNotif,proto3" json:"num_peer_notif,omitempty"`
	AllSlavesActive      int32               `protobuf:"varint,18,opt,name=all_slaves_active,json=allSlavesActive,proto3" json:"all_slaves_active,omitempty"`
	MinLinks             int32               `protobuf:"varint,19,opt,name=min_links,json=minLinks,proto3" json:"min_links,omitempty"`
	LpInterval           int32               `protobuf:"varint,20,opt,name=lp_interval,json=lpInterval,proto3" json:"lp_interval,omitempty"`
	PackersPerSlave      int32               `protobuf:"varint,21,opt,name=packers_per_slave,json=packersPerSlave,proto3" json:"packers_per_slave,omitempty"`
	LacpRate             BondLacpRate        `protobuf:"varint,22,opt,name=lacp_rate,json=lacpRate,proto3,enum=nlaapi.BondLacpRate" json:"lacp_rate,omitempty"`
	AdSelect             BondAdSelect        `protobuf:"varint,23,opt,name=ad_select,json=adSelect,proto3,enum=nlaapi.BondAdSelect" json:"ad_select,omitempty"`
	AdInfo               *BondAdInfo         `protobuf:"bytes,24,opt,name=ad_info,json=adInfo,proto3" json:"ad_info,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

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

var xxx_messageInfo_BondLinkAttrs proto.InternalMessageInfo

func (m *BondLinkAttrs) GetLinkAttrs() *LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

func (m *BondLinkAttrs) GetMode() BondMode {
	if m != nil {
		return m.Mode
	}
	return BondMode_BOND_MODE_BALANCE_RR
}

func (m *BondLinkAttrs) GetActiveSlave() int32 {
	if m != nil {
		return m.ActiveSlave
	}
	return 0
}

func (m *BondLinkAttrs) GetMiimon() int32 {
	if m != nil {
		return m.Miimon
	}
	return 0
}

func (m *BondLinkAttrs) GetUpDelay() int32 {
	if m != nil {
		return m.UpDelay
	}
	return 0
}

func (m *BondLinkAttrs) GetDownDelay() int32 {
	if m != nil {
		return m.DownDelay
	}
	return 0
}

func (m *BondLinkAttrs) GetUseCarrier() int32 {
	if m != nil {
		return m.UseCarrier
	}
	return 0
}

func (m *BondLinkAttrs) GetArpInterval() int32 {
	if m != nil {
		return m.ArpInterval
	}
	return 0
}

func (m *BondLinkAttrs) GetArpIpTargets() [][]byte {
	if m != nil {
		return m.ArpIpTargets
	}
	return nil
}

func (m *BondLinkAttrs) GetArpValidate() BondArpValidate {
	if m != nil {
		return m.ArpValidate
	}
	return BondArpValidate_BOND_ARP_VALIDATE_NONE
}

func (m *BondLinkAttrs) GetArpAllTargets() BondArpAllTargets {
	if m != nil {
		return m.ArpAllTargets
	}
	return BondArpAllTargets_BOND_ARP_ALL_TARGETS_ANY
}

func (m *BondLinkAttrs) GetPrimary() int32 {
	if m != nil {
		return m.Primary
	}
	return 0
}

func (m *BondLinkAttrs) GetPrimaryReselect() BondPrimaryReselect {
	if m != nil {
		return m.PrimaryReselect
	}
	return BondPrimaryReselect_BOND_PRIMARY_RESELECT_ALWAYS
}

func (m *BondLinkAttrs) GetFailOverMac() BondFailOverMac {
	if m != nil {
		return m.FailOverMac
	}
	return BondFailOverMac_BOND_FAIL_OVER_MAC_NONE
}

func (m *BondLinkAttrs) GetXmitHashPolicy() BondXmitHashPolicy {
	if m != nil {
		return m.XmitHashPolicy
	}
	return BondXmitHashPolicy_BOND_XMIT_HASH_POLICY_LAYER2
}

func (m *BondLinkAttrs) GetResendIgmp() int32 {
	if m != nil {
		return m.ResendIgmp
	}
	return 0
}

func (m *BondLinkAttrs) GetNumPeerNotif() int32 {
	if m != nil {
		return m.NumPeerNotif
	}
	return 0
}

func (m *BondLinkAttrs) GetAllSlavesActive() int32 {
	if m != nil {
		return m.AllSlavesActive
	}
	return 0
}

func (m *BondLinkAttrs) GetMinLinks() int32 {
	if m != nil {
		return m.MinLinks
	}
	return 0
}

func (m *BondLinkAttrs) GetLpInterval() int32 {
	if m != nil {
		return m.LpInterval
	}
	return 0
}

func (m *BondLinkAttrs) GetPackersPerSlave() int32 {
	if m != nil {
		return m.PackersPerSlave
	}
	return 0
}

func (m *BondLinkAttrs) GetLacpRate() BondLacpRate {
	if m != nil {
		return m.LacpRate
	}
	return BondLacpRate_BOND_LACP_RATE_SLOW
}

func (m *BondLinkAttrs) GetAdSelect() BondAdSelect {
	if m != nil {
		return m.AdSelect
	}
	return BondAdSelect_BOND_AD_SELECT_STABLE
}

func (m *BondLinkAttrs) GetAdInfo() *BondAdInfo {
	if m != nil {
		return m.AdInfo
	}
	return nil
}

type IptunLinkAttrs struct {
	LinkAttrs            *LinkAttrs `protobuf:"bytes,1,opt,name=link_attrs,json=linkAttrs,proto3" json:"link_attrs,omitempty"`
	Ttl                  uint32     `protobuf:"varint,2,opt,name=ttl,proto3" json:"ttl,omitempty"`
	Tos                  uint32     `protobuf:"varint,3,opt,name=tos,proto3" json:"tos,omitempty"`
	PMtuDisc             uint32     `protobuf:"varint,4,opt,name=p_mtu_disc,json=pMtuDisc,proto3" json:"p_mtu_disc,omitempty"`
	Link                 uint32     `protobuf:"varint,5,opt,name=link,proto3" json:"link,omitempty"`
	Local                []byte     `protobuf:"bytes,6,opt,name=local,proto3" json:"local,omitempty"`
	Remote               []byte     `protobuf:"bytes,7,opt,name=remote,proto3" json:"remote,omitempty"`
	EncapSport           uint32     `protobuf:"varint,8,opt,name=encap_sport,json=encapSport,proto3" json:"encap_sport,omitempty"`
	EncapDport           uint32     `protobuf:"varint,9,opt,name=encap_dport,json=encapDport,proto3" json:"encap_dport,omitempty"`
	EncapType            uint32     `protobuf:"varint,10,opt,name=encap_type,json=encapType,proto3" json:"encap_type,omitempty"`
	EncapFlags           uint32     `protobuf:"varint,11,opt,name=encap_flags,json=encapFlags,proto3" json:"encap_flags,omitempty"`
	FlowBased            bool       `protobuf:"varint,12,opt,name=flow_based,json=flowBased,proto3" json:"flow_based,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

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

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

var xxx_messageInfo_IptunLinkAttrs proto.InternalMessageInfo

func (m *IptunLinkAttrs) GetLinkAttrs() *LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

func (m *IptunLinkAttrs) GetTtl() uint32 {
	if m != nil {
		return m.Ttl
	}
	return 0
}

func (m *IptunLinkAttrs) GetTos() uint32 {
	if m != nil {
		return m.Tos
	}
	return 0
}

func (m *IptunLinkAttrs) GetPMtuDisc() uint32 {
	if m != nil {
		return m.PMtuDisc
	}
	return 0
}

func (m *IptunLinkAttrs) GetLink() uint32 {
	if m != nil {
		return m.Link
	}
	return 0
}

func (m *IptunLinkAttrs) GetLocal() []byte {
	if m != nil {
		return m.Local
	}
	return nil
}

func (m *IptunLinkAttrs) GetRemote() []byte {
	if m != nil {
		return m.Remote
	}
	return nil
}

func (m *IptunLinkAttrs) GetEncapSport() uint32 {
	if m != nil {
		return m.EncapSport
	}
	return 0
}

func (m *IptunLinkAttrs) GetEncapDport() uint32 {
	if m != nil {
		return m.EncapDport
	}
	return 0
}

func (m *IptunLinkAttrs) GetEncapType() uint32 {
	if m != nil {
		return m.EncapType
	}
	return 0
}

func (m *IptunLinkAttrs) GetEncapFlags() uint32 {
	if m != nil {
		return m.EncapFlags
	}
	return 0
}

func (m *IptunLinkAttrs) GetFlowBased() bool {
	if m != nil {
		return m.FlowBased
	}
	return false
}

type Link struct {
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// Types that are valid to be assigned to LinkAttrs:
	//	*Link_Device
	//	*Link_Bridge
	//	*Link_Vlan
	//	*Link_Vxlan
	//	*Link_Vti
	//	*Link_Veth
	//	*Link_Bond
	//	*Link_Generic
	//	*Link_Iptun
	LinkAttrs            isLink_LinkAttrs `protobuf_oneof:"link_attrs"`
	NId                  uint32           `protobuf:"varint,2,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	LnId                 uint32           `protobuf:"varint,3,opt,name=ln_id,json=lnId,proto3" json:"ln_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

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

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

var xxx_messageInfo_Link proto.InternalMessageInfo

func (m *Link) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

type isLink_LinkAttrs interface {
	isLink_LinkAttrs()
}

type Link_Device struct {
	Device *DeviceLinkAttrs `protobuf:"bytes,4,opt,name=device,proto3,oneof"`
}

type Link_Bridge struct {
	Bridge *BridgeLinkAttrs `protobuf:"bytes,5,opt,name=bridge,proto3,oneof"`
}

type Link_Vlan struct {
	Vlan *VlanLinkAttrs `protobuf:"bytes,6,opt,name=vlan,proto3,oneof"`
}

type Link_Vxlan struct {
	Vxlan *VxlanLinkAttrs `protobuf:"bytes,7,opt,name=vxlan,proto3,oneof"`
}

type Link_Vti struct {
	Vti *VtiLinkAttrs `protobuf:"bytes,8,opt,name=vti,proto3,oneof"`
}

type Link_Veth struct {
	Veth *VethLinkAttrs `protobuf:"bytes,9,opt,name=veth,proto3,oneof"`
}

type Link_Bond struct {
	Bond *BondLinkAttrs `protobuf:"bytes,10,opt,name=bond,proto3,oneof"`
}

type Link_Generic struct {
	Generic *GenericLinkAttrs `protobuf:"bytes,11,opt,name=generic,proto3,oneof"`
}

type Link_Iptun struct {
	Iptun *IptunLinkAttrs `protobuf:"bytes,12,opt,name=iptun,proto3,oneof"`
}

func (*Link_Device) isLink_LinkAttrs() {}

func (*Link_Bridge) isLink_LinkAttrs() {}

func (*Link_Vlan) isLink_LinkAttrs() {}

func (*Link_Vxlan) isLink_LinkAttrs() {}

func (*Link_Vti) isLink_LinkAttrs() {}

func (*Link_Veth) isLink_LinkAttrs() {}

func (*Link_Bond) isLink_LinkAttrs() {}

func (*Link_Generic) isLink_LinkAttrs() {}

func (*Link_Iptun) isLink_LinkAttrs() {}

func (m *Link) GetLinkAttrs() isLink_LinkAttrs {
	if m != nil {
		return m.LinkAttrs
	}
	return nil
}

func (m *Link) GetDevice() *DeviceLinkAttrs {
	if x, ok := m.GetLinkAttrs().(*Link_Device); ok {
		return x.Device
	}
	return nil
}

func (m *Link) GetBridge() *BridgeLinkAttrs {
	if x, ok := m.GetLinkAttrs().(*Link_Bridge); ok {
		return x.Bridge
	}
	return nil
}

func (m *Link) GetVlan() *VlanLinkAttrs {
	if x, ok := m.GetLinkAttrs().(*Link_Vlan); ok {
		return x.Vlan
	}
	return nil
}

func (m *Link) GetVxlan() *VxlanLinkAttrs {
	if x, ok := m.GetLinkAttrs().(*Link_Vxlan); ok {
		return x.Vxlan
	}
	return nil
}

func (m *Link) GetVti() *VtiLinkAttrs {
	if x, ok := m.GetLinkAttrs().(*Link_Vti); ok {
		return x.Vti
	}
	return nil
}

func (m *Link) GetVeth() *VethLinkAttrs {
	if x, ok := m.GetLinkAttrs().(*Link_Veth); ok {
		return x.Veth
	}
	return nil
}

func (m *Link) GetBond() *BondLinkAttrs {
	if x, ok := m.GetLinkAttrs().(*Link_Bond); ok {
		return x.Bond
	}
	return nil
}

func (m *Link) GetGeneric() *GenericLinkAttrs {
	if x, ok := m.GetLinkAttrs().(*Link_Generic); ok {
		return x.Generic
	}
	return nil
}

func (m *Link) GetIptun() *IptunLinkAttrs {
	if x, ok := m.GetLinkAttrs().(*Link_Iptun); ok {
		return x.Iptun
	}
	return nil
}

func (m *Link) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *Link) GetLnId() uint32 {
	if m != nil {
		return m.LnId
	}
	return 0
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*Link) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Link_Device)(nil),
		(*Link_Bridge)(nil),
		(*Link_Vlan)(nil),
		(*Link_Vxlan)(nil),
		(*Link_Vti)(nil),
		(*Link_Veth)(nil),
		(*Link_Bond)(nil),
		(*Link_Generic)(nil),
		(*Link_Iptun)(nil),
	}
}

type Addr struct {
	Ip                   []byte   `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
	IpMask               []byte   `protobuf:"bytes,2,opt,name=ip_mask,json=ipMask,proto3" json:"ip_mask,omitempty"`
	Label                string   `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
	Flags                int32    `protobuf:"varint,4,opt,name=flags,proto3" json:"flags,omitempty"`
	Scope                int32    `protobuf:"varint,5,opt,name=scope,proto3" json:"scope,omitempty"`
	Peer                 []byte   `protobuf:"bytes,6,opt,name=peer,proto3" json:"peer,omitempty"`
	PeerMask             []byte   `protobuf:"bytes,7,opt,name=peer_mask,json=peerMask,proto3" json:"peer_mask,omitempty"`
	Broadcast            []byte   `protobuf:"bytes,8,opt,name=broadcast,proto3" json:"broadcast,omitempty"`
	Index                int32    `protobuf:"varint,9,opt,name=index,proto3" json:"index,omitempty"`
	Family               int32    `protobuf:"varint,10,opt,name=family,proto3" json:"family,omitempty"`
	NId                  uint32   `protobuf:"varint,11,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	AdId                 uint32   `protobuf:"varint,12,opt,name=ad_id,json=adId,proto3" json:"ad_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Addr proto.InternalMessageInfo

func (m *Addr) GetIp() []byte {
	if m != nil {
		return m.Ip
	}
	return nil
}

func (m *Addr) GetIpMask() []byte {
	if m != nil {
		return m.IpMask
	}
	return nil
}

func (m *Addr) GetLabel() string {
	if m != nil {
		return m.Label
	}
	return ""
}

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

func (m *Addr) GetScope() int32 {
	if m != nil {
		return m.Scope
	}
	return 0
}

func (m *Addr) GetPeer() []byte {
	if m != nil {
		return m.Peer
	}
	return nil
}

func (m *Addr) GetPeerMask() []byte {
	if m != nil {
		return m.PeerMask
	}
	return nil
}

func (m *Addr) GetBroadcast() []byte {
	if m != nil {
		return m.Broadcast
	}
	return nil
}

func (m *Addr) GetIndex() int32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *Addr) GetFamily() int32 {
	if m != nil {
		return m.Family
	}
	return 0
}

func (m *Addr) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *Addr) GetAdId() uint32 {
	if m != nil {
		return m.AdId
	}
	return 0
}

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

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

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

var xxx_messageInfo_NeighNotun proto.InternalMessageInfo

type NeighIptun struct {
	TunType              string   `protobuf:"bytes,1,opt,name=tun_type,json=tunType,proto3" json:"tun_type,omitempty"`
	SrcIp                []byte   `protobuf:"bytes,2,opt,name=src_ip,json=srcIp,proto3" json:"src_ip,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_NeighIptun proto.InternalMessageInfo

func (m *NeighIptun) GetTunType() string {
	if m != nil {
		return m.TunType
	}
	return ""
}

func (m *NeighIptun) GetSrcIp() []byte {
	if m != nil {
		return m.SrcIp
	}
	return nil
}

type Neigh struct {
	LinkIndex    int32  `protobuf:"varint,1,opt,name=link_index,json=linkIndex,proto3" json:"link_index,omitempty"`
	Family       int32  `protobuf:"varint,2,opt,name=family,proto3" json:"family,omitempty"`
	State        int32  `protobuf:"varint,3,opt,name=state,proto3" json:"state,omitempty"`
	Type         int32  `protobuf:"varint,4,opt,name=type,proto3" json:"type,omitempty"`
	Flags        int32  `protobuf:"varint,5,opt,name=flags,proto3" json:"flags,omitempty"`
	Ip           []byte `protobuf:"bytes,6,opt,name=ip,proto3" json:"ip,omitempty"`
	HardwareAddr []byte `protobuf:"bytes,7,opt,name=hardware_addr,json=hardwareAddr,proto3" json:"hardware_addr,omitempty"`
	LlIpAddr     []byte `protobuf:"bytes,8,opt,name=ll_ip_addr,json=llIpAddr,proto3" json:"ll_ip_addr,omitempty"`
	VlanId       int32  `protobuf:"varint,9,opt,name=vlan_id,json=vlanId,proto3" json:"vlan_id,omitempty"`
	Vni          int32  `protobuf:"varint,10,opt,name=vni,proto3" json:"vni,omitempty"`
	NId          uint32 `protobuf:"varint,11,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	NeId         uint32 `protobuf:"varint,12,opt,name=ne_id,json=neId,proto3" json:"ne_id,omitempty"`
	PhyLink      int32  `protobuf:"varint,13,opt,name=phy_link,json=phyLink,proto3" json:"phy_link,omitempty"`
	// Types that are valid to be assigned to Tunnel:
	//	*Neigh_Notun
	//	*Neigh_Iptun
	Tunnel               isNeigh_Tunnel `protobuf_oneof:"tunnel"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

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

var xxx_messageInfo_Neigh proto.InternalMessageInfo

func (m *Neigh) GetLinkIndex() int32 {
	if m != nil {
		return m.LinkIndex
	}
	return 0
}

func (m *Neigh) GetFamily() int32 {
	if m != nil {
		return m.Family
	}
	return 0
}

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

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

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

func (m *Neigh) GetIp() []byte {
	if m != nil {
		return m.Ip
	}
	return nil
}

func (m *Neigh) GetHardwareAddr() []byte {
	if m != nil {
		return m.HardwareAddr
	}
	return nil
}

func (m *Neigh) GetLlIpAddr() []byte {
	if m != nil {
		return m.LlIpAddr
	}
	return nil
}

func (m *Neigh) GetVlanId() int32 {
	if m != nil {
		return m.VlanId
	}
	return 0
}

func (m *Neigh) GetVni() int32 {
	if m != nil {
		return m.Vni
	}
	return 0
}

func (m *Neigh) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *Neigh) GetNeId() uint32 {
	if m != nil {
		return m.NeId
	}
	return 0
}

func (m *Neigh) GetPhyLink() int32 {
	if m != nil {
		return m.PhyLink
	}
	return 0
}

type isNeigh_Tunnel interface {
	isNeigh_Tunnel()
}

type Neigh_Notun struct {
	Notun *NeighNotun `protobuf:"bytes,14,opt,name=notun,proto3,oneof"`
}

type Neigh_Iptun struct {
	Iptun *NeighIptun `protobuf:"bytes,15,opt,name=iptun,proto3,oneof"`
}

func (*Neigh_Notun) isNeigh_Tunnel() {}

func (*Neigh_Iptun) isNeigh_Tunnel() {}

func (m *Neigh) GetTunnel() isNeigh_Tunnel {
	if m != nil {
		return m.Tunnel
	}
	return nil
}

func (m *Neigh) GetNotun() *NeighNotun {
	if x, ok := m.GetTunnel().(*Neigh_Notun); ok {
		return x.Notun
	}
	return nil
}

func (m *Neigh) GetIptun() *NeighIptun {
	if x, ok := m.GetTunnel().(*Neigh_Iptun); ok {
		return x.Iptun
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*Neigh) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Neigh_Notun)(nil),
		(*Neigh_Iptun)(nil),
	}
}

type NexthopInfo struct {
	LinkIndex            int32        `protobuf:"varint,1,opt,name=link_index,json=linkIndex,proto3" json:"link_index,omitempty"`
	Hops                 int32        `protobuf:"varint,2,opt,name=hops,proto3" json:"hops,omitempty"`
	Gw                   []byte       `protobuf:"bytes,3,opt,name=gw,proto3" json:"gw,omitempty"`
	Flags                int32        `protobuf:"varint,4,opt,name=flags,proto3" json:"flags,omitempty"`
	NewDst               *Destination `protobuf:"bytes,5,opt,name=new_dst,json=newDst,proto3" json:"new_dst,omitempty"`
	Encap                *Encap       `protobuf:"bytes,6,opt,name=encap,proto3" json:"encap,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

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

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

var xxx_messageInfo_NexthopInfo proto.InternalMessageInfo

func (m *NexthopInfo) GetLinkIndex() int32 {
	if m != nil {
		return m.LinkIndex
	}
	return 0
}

func (m *NexthopInfo) GetHops() int32 {
	if m != nil {
		return m.Hops
	}
	return 0
}

func (m *NexthopInfo) GetGw() []byte {
	if m != nil {
		return m.Gw
	}
	return nil
}

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

func (m *NexthopInfo) GetNewDst() *Destination {
	if m != nil {
		return m.NewDst
	}
	return nil
}

func (m *NexthopInfo) GetEncap() *Encap {
	if m != nil {
		return m.Encap
	}
	return nil
}

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

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

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

var xxx_messageInfo_MPLSDestination proto.InternalMessageInfo

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

type Destination struct {
	Family int32 `protobuf:"varint,1,opt,name=family,proto3" json:"family,omitempty"`
	// Types that are valid to be assigned to Dest:
	//	*Destination_Mpls
	Dest                 isDestination_Dest `protobuf_oneof:"dest"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

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

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

var xxx_messageInfo_Destination proto.InternalMessageInfo

func (m *Destination) GetFamily() int32 {
	if m != nil {
		return m.Family
	}
	return 0
}

type isDestination_Dest interface {
	isDestination_Dest()
}

type Destination_Mpls struct {
	Mpls *MPLSDestination `protobuf:"bytes,2,opt,name=mpls,proto3,oneof"`
}

func (*Destination_Mpls) isDestination_Dest() {}

func (m *Destination) GetDest() isDestination_Dest {
	if m != nil {
		return m.Dest
	}
	return nil
}

func (m *Destination) GetMpls() *MPLSDestination {
	if x, ok := m.GetDest().(*Destination_Mpls); ok {
		return x.Mpls
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*Destination) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Destination_Mpls)(nil),
	}
}

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

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

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

var xxx_messageInfo_MPLSEncap proto.InternalMessageInfo

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

type Encap struct {
	Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
	// Types that are valid to be assigned to Encap:
	//	*Encap_Mpls
	Encap                isEncap_Encap `protobuf_oneof:"encap"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

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

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

var xxx_messageInfo_Encap proto.InternalMessageInfo

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

type isEncap_Encap interface {
	isEncap_Encap()
}

type Encap_Mpls struct {
	Mpls *MPLSEncap `protobuf:"bytes,2,opt,name=mpls,proto3,oneof"`
}

func (*Encap_Mpls) isEncap_Encap() {}

func (m *Encap) GetEncap() isEncap_Encap {
	if m != nil {
		return m.Encap
	}
	return nil
}

func (m *Encap) GetMpls() *MPLSEncap {
	if x, ok := m.GetEncap().(*Encap_Mpls); ok {
		return x.Mpls
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*Encap) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Encap_Mpls)(nil),
	}
}

type EncapInfoKey struct {
	Dst                  string   `protobuf:"bytes,1,opt,name=dst,proto3" json:"dst,omitempty"`
	Vrf                  uint32   `protobuf:"varint,2,opt,name=vrf,proto3" json:"vrf,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_EncapInfoKey proto.InternalMessageInfo

func (m *EncapInfoKey) GetDst() string {
	if m != nil {
		return m.Dst
	}
	return ""
}

func (m *EncapInfoKey) GetVrf() uint32 {
	if m != nil {
		return m.Vrf
	}
	return 0
}

type EncapInfo struct {
	Ip                   []byte   `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
	Mask                 []byte   `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"`
	Vrf                  uint32   `protobuf:"varint,3,opt,name=vrf,proto3" json:"vrf,omitempty"`
	EnId                 uint32   `protobuf:"varint,4,opt,name=en_id,json=enId,proto3" json:"en_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_EncapInfo proto.InternalMessageInfo

func (m *EncapInfo) GetIp() []byte {
	if m != nil {
		return m.Ip
	}
	return nil
}

func (m *EncapInfo) GetMask() []byte {
	if m != nil {
		return m.Mask
	}
	return nil
}

func (m *EncapInfo) GetVrf() uint32 {
	if m != nil {
		return m.Vrf
	}
	return 0
}

func (m *EncapInfo) GetEnId() uint32 {
	if m != nil {
		return m.EnId
	}
	return 0
}

type Route struct {
	LinkIndex            int32          `protobuf:"varint,1,opt,name=link_index,json=linkIndex,proto3" json:"link_index,omitempty"`
	ILinkIndex           int32          `protobuf:"varint,2,opt,name=i_link_index,json=iLinkIndex,proto3" json:"i_link_index,omitempty"`
	Scope                int32          `protobuf:"varint,3,opt,name=scope,proto3" json:"scope,omitempty"`
	Dst                  []byte         `protobuf:"bytes,4,opt,name=dst,proto3" json:"dst,omitempty"`
	DstMask              []byte         `protobuf:"bytes,5,opt,name=dst_mask,json=dstMask,proto3" json:"dst_mask,omitempty"`
	Src                  []byte         `protobuf:"bytes,6,opt,name=src,proto3" json:"src,omitempty"`
	Gw                   []byte         `protobuf:"bytes,7,opt,name=gw,proto3" json:"gw,omitempty"`
	MultiPath            []*NexthopInfo `protobuf:"bytes,8,rep,name=multi_path,json=multiPath,proto3" json:"multi_path,omitempty"`
	Protocol             int32          `protobuf:"varint,9,opt,name=protocol,proto3" json:"protocol,omitempty"`
	Priority             int32          `protobuf:"varint,10,opt,name=priority,proto3" json:"priority,omitempty"`
	Table                int32          `protobuf:"varint,11,opt,name=table,proto3" json:"table,omitempty"`
	Type                 int32          `protobuf:"varint,12,opt,name=type,proto3" json:"type,omitempty"`
	Tos                  int32          `protobuf:"varint,13,opt,name=tos,proto3" json:"tos,omitempty"`
	Flags                int32          `protobuf:"varint,14,opt,name=flags,proto3" json:"flags,omitempty"`
	MplsDst              int32          `protobuf:"varint,15,opt,name=mpls_dst,json=mplsDst,proto3" json:"mpls_dst,omitempty"`
	NewDst               *Destination   `protobuf:"bytes,16,opt,name=new_dst,json=newDst,proto3" json:"new_dst,omitempty"`
	Encap                *Encap         `protobuf:"bytes,17,opt,name=encap,proto3" json:"encap,omitempty"`
	NId                  uint32         `protobuf:"varint,18,opt,name=n_id,json=nId,proto3" json:"n_id,omitempty"`
	RtId                 uint32         `protobuf:"varint,19,opt,name=rt_id,json=rtId,proto3" json:"rt_id,omitempty"`
	VpnGw                []byte         `protobuf:"bytes,20,opt,name=vpn_gw,json=vpnGw,proto3" json:"vpn_gw,omitempty"`
	EnIds                []uint32       `protobuf:"varint,21,rep,packed,name=en_ids,json=enIds,proto3" json:"en_ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

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

var xxx_messageInfo_Route proto.InternalMessageInfo

func (m *Route) GetLinkIndex() int32 {
	if m != nil {
		return m.LinkIndex
	}
	return 0
}

func (m *Route) GetILinkIndex() int32 {
	if m != nil {
		return m.ILinkIndex
	}
	return 0
}

func (m *Route) GetScope() int32 {
	if m != nil {
		return m.Scope
	}
	return 0
}

func (m *Route) GetDst() []byte {
	if m != nil {
		return m.Dst
	}
	return nil
}

func (m *Route) GetDstMask() []byte {
	if m != nil {
		return m.DstMask
	}
	return nil
}

func (m *Route) GetSrc() []byte {
	if m != nil {
		return m.Src
	}
	return nil
}

func (m *Route) GetGw() []byte {
	if m != nil {
		return m.Gw
	}
	return nil
}

func (m *Route) GetMultiPath() []*NexthopInfo {
	if m != nil {
		return m.MultiPath
	}
	return nil
}

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

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

func (m *Route) GetTable() int32 {
	if m != nil {
		return m.Table
	}
	return 0
}

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

func (m *Route) GetTos() int32 {
	if m != nil {
		return m.Tos
	}
	return 0
}

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

func (m *Route) GetMplsDst() int32 {
	if m != nil {
		return m.MplsDst
	}
	return 0
}

func (m *Route) GetNewDst() *Destination {
	if m != nil {
		return m.NewDst
	}
	return nil
}

func (m *Route) GetEncap() *Encap {
	if m != nil {
		return m.Encap
	}
	return nil
}

func (m *Route) GetNId() uint32 {
	if m != nil {
		return m.NId
	}
	return 0
}

func (m *Route) GetRtId() uint32 {
	if m != nil {
		return m.RtId
	}
	return 0
}

func (m *Route) GetVpnGw() []byte {
	if m != nil {
		return m.VpnGw
	}
	return nil
}

func (m *Route) GetEnIds() []uint32 {
	if m != nil {
		return m.EnIds
	}
	return nil
}

func init() {
	proto.RegisterEnum("nlaapi.NlMsgSrc", NlMsgSrc_name, NlMsgSrc_value)
	proto.RegisterEnum("nlaapi.LinkOperState", LinkOperState_name, LinkOperState_value)
	proto.RegisterEnum("nlaapi.BondLinkState", BondLinkState_name, BondLinkState_value)
	proto.RegisterEnum("nlaapi.BondState", BondState_name, BondState_value)
	proto.RegisterEnum("nlaapi.BondMode", BondMode_name, BondMode_value)
	proto.RegisterEnum("nlaapi.BondArpValidate", BondArpValidate_name, BondArpValidate_value)
	proto.RegisterEnum("nlaapi.BondArpAllTargets", BondArpAllTargets_name, BondArpAllTargets_value)
	proto.RegisterEnum("nlaapi.BondPrimaryReselect", BondPrimaryReselect_name, BondPrimaryReselect_value)
	proto.RegisterEnum("nlaapi.BondFailOverMac", BondFailOverMac_name, BondFailOverMac_value)
	proto.RegisterEnum("nlaapi.BondXmitHashPolicy", BondXmitHashPolicy_name, BondXmitHashPolicy_value)
	proto.RegisterEnum("nlaapi.BondLacpRate", BondLacpRate_name, BondLacpRate_value)
	proto.RegisterEnum("nlaapi.BondAdSelect", BondAdSelect_name, BondAdSelect_value)
	proto.RegisterEnum("nlaapi.BridgeVlanInfo_Flags", BridgeVlanInfo_Flags_name, BridgeVlanInfo_Flags_value)
	proto.RegisterEnum("nlaapi.BridgeVlanInfo_PortType", BridgeVlanInfo_PortType_name, BridgeVlanInfo_PortType_value)
	proto.RegisterType((*NlMsghdr)(nil), "nlaapi.NlMsghdr")
	proto.RegisterType((*NetlinkMessage)(nil), "nlaapi.NetlinkMessage")
	proto.RegisterType((*NetlinkMessageReply)(nil), "nlaapi.NetlinkMessageReply")
	proto.RegisterType((*MonNetlinkRequest)(nil), "nlaapi.MonNetlinkRequest")
	proto.RegisterType((*NlMsgUni)(nil), "nlaapi.NlMsgUni")
	proto.RegisterType((*NetlinkMessageUnion)(nil), "nlaapi.NetlinkMessageUnion")
	proto.RegisterType((*ModVpnRequest)(nil), "nlaapi.ModVpnRequest")
	proto.RegisterType((*ModVpnReply)(nil), "nlaapi.ModVpnReply")
	proto.RegisterType((*ModNetlinkReply)(nil), "nlaapi.ModNetlinkReply")
	proto.RegisterType((*GetLinksRequest)(nil), "nlaapi.GetLinksRequest")
	proto.RegisterType((*GetAddrsRequest)(nil), "nlaapi.GetAddrsRequest")
	proto.RegisterType((*GetNeighsRequest)(nil), "nlaapi.GetNeighsRequest")
	proto.RegisterType((*GetRoutesRequest)(nil), "nlaapi.GetRoutesRequest")
	proto.RegisterType((*GetMplssRequest)(nil), "nlaapi.GetMplssRequest")
	proto.RegisterType((*GetBridgeVlanInfosRequest)(nil), "nlaapi.GetBridgeVlanInfosRequest")
	proto.RegisterType((*GetNodesRequest)(nil), "nlaapi.GetNodesRequest")
	proto.RegisterType((*GetVpnsRequest)(nil), "nlaapi.GetVpnsRequest")
	proto.RegisterType((*GetEncapInfosRequest)(nil), "nlaapi.GetEncapInfosRequest")
	proto.RegisterType((*GetIptunsRequest)(nil), "nlaapi.GetIptunsRequest")
	proto.RegisterType((*GetStatsRequest)(nil), "nlaapi.GetStatsRequest")
	proto.RegisterType((*LinkKey)(nil), "nlaapi.LinkKey")
	proto.RegisterType((*AddrKey)(nil), "nlaapi.AddrKey")
	proto.RegisterType((*NeighKey)(nil), "nlaapi.NeighKey")
	proto.RegisterType((*RouteKey)(nil), "nlaapi.RouteKey")
	proto.RegisterType((*MplsKey)(nil), "nlaapi.MplsKey")
	proto.RegisterType((*NodeKey)(nil), "nlaapi.NodeKey")
	proto.RegisterType((*VpnKey)(nil), "nlaapi.VpnKey")
	proto.RegisterType((*IptunKey)(nil), "nlaapi.IptunKey")
	proto.RegisterType((*BridgeVlanInfoKey)(nil), "nlaapi.BridgeVlanInfoKey")
	proto.RegisterType((*Stat)(nil), "nlaapi.Stat")
	proto.RegisterType((*Node)(nil), "nlaapi.Node")
	proto.RegisterType((*Vpn)(nil), "nlaapi.Vpn")
	proto.RegisterType((*Iptun)(nil), "nlaapi.Iptun")
	proto.RegisterType((*BridgeVlanInfo)(nil), "nlaapi.BridgeVlanInfo")
	proto.RegisterType((*BondSlaveInfo)(nil), "nlaapi.BondSlaveInfo")
	proto.RegisterType((*LinkAttrs)(nil), "nlaapi.LinkAttrs")
	proto.RegisterType((*GenericLinkAttrs)(nil), "nlaapi.GenericLinkAttrs")
	proto.RegisterType((*DeviceLinkAttrs)(nil), "nlaapi.DeviceLinkAttrs")
	proto.RegisterType((*BridgeLinkAttrs)(nil), "nlaapi.BridgeLinkAttrs")
	proto.RegisterType((*VlanLinkAttrs)(nil), "nlaapi.VlanLinkAttrs")
	proto.RegisterType((*VxlanLinkAttrs)(nil), "nlaapi.VxlanLinkAttrs")
	proto.RegisterType((*VtiLinkAttrs)(nil), "nlaapi.VtiLinkAttrs")
	proto.RegisterType((*VethLinkAttrs)(nil), "nlaapi.VethLinkAttrs")
	proto.RegisterType((*BondAdInfo)(nil), "nlaapi.BondAdInfo")
	proto.RegisterType((*BondLinkAttrs)(nil), "nlaapi.BondLinkAttrs")
	proto.RegisterType((*IptunLinkAttrs)(nil), "nlaapi.IptunLinkAttrs")
	proto.RegisterType((*Link)(nil), "nlaapi.Link")
	proto.RegisterType((*Addr)(nil), "nlaapi.Addr")
	proto.RegisterType((*NeighNotun)(nil), "nlaapi.NeighNotun")
	proto.RegisterType((*NeighIptun)(nil), "nlaapi.NeighIptun")
	proto.RegisterType((*Neigh)(nil), "nlaapi.Neigh")
	proto.RegisterType((*NexthopInfo)(nil), "nlaapi.NexthopInfo")
	proto.RegisterType((*MPLSDestination)(nil), "nlaapi.MPLSDestination")
	proto.RegisterType((*Destination)(nil), "nlaapi.Destination")
	proto.RegisterType((*MPLSEncap)(nil), "nlaapi.MPLSEncap")
	proto.RegisterType((*Encap)(nil), "nlaapi.Encap")
	proto.RegisterType((*EncapInfoKey)(nil), "nlaapi.EncapInfoKey")
	proto.RegisterType((*EncapInfo)(nil), "nlaapi.EncapInfo")
	proto.RegisterType((*Route)(nil), "nlaapi.Route")
}

func init() { proto.RegisterFile("nlaapi.proto", fileDescriptor_0d5eb4a10391811b) }

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

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// NLACoreApiClient is the client API for NLACoreApi service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NLACoreApiClient interface {
	SendNetlinkMessage(ctx context.Context, in *NetlinkMessage, opts ...grpc.CallOption) (*NetlinkMessageReply, error)
	MonNetlinkMessage(ctx context.Context, in *Node, opts ...grpc.CallOption) (NLACoreApi_MonNetlinkMessageClient, error)
}

type nLACoreApiClient struct {
	cc *grpc.ClientConn
}

func NewNLACoreApiClient(cc *grpc.ClientConn) NLACoreApiClient {
	return &nLACoreApiClient{cc}
}

func (c *nLACoreApiClient) SendNetlinkMessage(ctx context.Context, in *NetlinkMessage, opts ...grpc.CallOption) (*NetlinkMessageReply, error) {
	out := new(NetlinkMessageReply)
	err := c.cc.Invoke(ctx, "/nlaapi.NLACoreApi/SendNetlinkMessage", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLACoreApiClient) MonNetlinkMessage(ctx context.Context, in *Node, opts ...grpc.CallOption) (NLACoreApi_MonNetlinkMessageClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLACoreApi_serviceDesc.Streams[0], "/nlaapi.NLACoreApi/MonNetlinkMessage", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLACoreApiMonNetlinkMessageClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLACoreApi_MonNetlinkMessageClient interface {
	Recv() (*NetlinkMessageUnion, error)
	grpc.ClientStream
}

type nLACoreApiMonNetlinkMessageClient struct {
	grpc.ClientStream
}

func (x *nLACoreApiMonNetlinkMessageClient) Recv() (*NetlinkMessageUnion, error) {
	m := new(NetlinkMessageUnion)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

// NLACoreApiServer is the server API for NLACoreApi service.
type NLACoreApiServer interface {
	SendNetlinkMessage(context.Context, *NetlinkMessage) (*NetlinkMessageReply, error)
	MonNetlinkMessage(*Node, NLACoreApi_MonNetlinkMessageServer) error
}

// UnimplementedNLACoreApiServer can be embedded to have forward compatible implementations.
type UnimplementedNLACoreApiServer struct {
}

func (*UnimplementedNLACoreApiServer) SendNetlinkMessage(ctx context.Context, req *NetlinkMessage) (*NetlinkMessageReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendNetlinkMessage not implemented")
}
func (*UnimplementedNLACoreApiServer) MonNetlinkMessage(req *Node, srv NLACoreApi_MonNetlinkMessageServer) error {
	return status.Errorf(codes.Unimplemented, "method MonNetlinkMessage not implemented")
}

func RegisterNLACoreApiServer(s *grpc.Server, srv NLACoreApiServer) {
	s.RegisterService(&_NLACoreApi_serviceDesc, srv)
}

func _NLACoreApi_SendNetlinkMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NetlinkMessage)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLACoreApiServer).SendNetlinkMessage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLACoreApi/SendNetlinkMessage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLACoreApiServer).SendNetlinkMessage(ctx, req.(*NetlinkMessage))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLACoreApi_MonNetlinkMessage_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(Node)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLACoreApiServer).MonNetlinkMessage(m, &nLACoreApiMonNetlinkMessageServer{stream})
}

type NLACoreApi_MonNetlinkMessageServer interface {
	Send(*NetlinkMessageUnion) error
	grpc.ServerStream
}

type nLACoreApiMonNetlinkMessageServer struct {
	grpc.ServerStream
}

func (x *nLACoreApiMonNetlinkMessageServer) Send(m *NetlinkMessageUnion) error {
	return x.ServerStream.SendMsg(m)
}

var _NLACoreApi_serviceDesc = grpc.ServiceDesc{
	ServiceName: "nlaapi.NLACoreApi",
	HandlerType: (*NLACoreApiServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "SendNetlinkMessage",
			Handler:    _NLACoreApi_SendNetlinkMessage_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "MonNetlinkMessage",
			Handler:       _NLACoreApi_MonNetlinkMessage_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "nlaapi.proto",
}

// NLAApiClient is the client API for NLAApi service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NLAApiClient interface {
	ModVpn(ctx context.Context, in *ModVpnRequest, opts ...grpc.CallOption) (*ModVpnReply, error)
	ModNetlink(ctx context.Context, in *NetlinkMessageUnion, opts ...grpc.CallOption) (*ModNetlinkReply, error)
	MonNetlink(ctx context.Context, in *MonNetlinkRequest, opts ...grpc.CallOption) (NLAApi_MonNetlinkClient, error)
	GetLink(ctx context.Context, in *LinkKey, opts ...grpc.CallOption) (*Link, error)
	GetAddr(ctx context.Context, in *AddrKey, opts ...grpc.CallOption) (*Addr, error)
	GetNeigh(ctx context.Context, in *NeighKey, opts ...grpc.CallOption) (*Neigh, error)
	GetRoute(ctx context.Context, in *RouteKey, opts ...grpc.CallOption) (*Route, error)
	GetMpls(ctx context.Context, in *MplsKey, opts ...grpc.CallOption) (*Route, error)
	GetNode(ctx context.Context, in *NodeKey, opts ...grpc.CallOption) (*Node, error)
	GetVpn(ctx context.Context, in *VpnKey, opts ...grpc.CallOption) (*Vpn, error)
	GetEncapInfo(ctx context.Context, in *EncapInfoKey, opts ...grpc.CallOption) (*EncapInfo, error)
	GetIptun(ctx context.Context, in *IptunKey, opts ...grpc.CallOption) (*Iptun, error)
	GetBridgeVlanInfo(ctx context.Context, in *BridgeVlanInfoKey, opts ...grpc.CallOption) (*BridgeVlanInfo, error)
	GetLinks(ctx context.Context, in *GetLinksRequest, opts ...grpc.CallOption) (NLAApi_GetLinksClient, error)
	GetAddrs(ctx context.Context, in *GetAddrsRequest, opts ...grpc.CallOption) (NLAApi_GetAddrsClient, error)
	GetNeighs(ctx context.Context, in *GetNeighsRequest, opts ...grpc.CallOption) (NLAApi_GetNeighsClient, error)
	GetRoutes(ctx context.Context, in *GetRoutesRequest, opts ...grpc.CallOption) (NLAApi_GetRoutesClient, error)
	GetMplss(ctx context.Context, in *GetMplssRequest, opts ...grpc.CallOption) (NLAApi_GetMplssClient, error)
	GetNodes(ctx context.Context, in *GetNodesRequest, opts ...grpc.CallOption) (NLAApi_GetNodesClient, error)
	GetVpns(ctx context.Context, in *GetVpnsRequest, opts ...grpc.CallOption) (NLAApi_GetVpnsClient, error)
	GetEncapInfos(ctx context.Context, in *GetEncapInfosRequest, opts ...grpc.CallOption) (NLAApi_GetEncapInfosClient, error)
	GetIptuns(ctx context.Context, in *GetIptunsRequest, opts ...grpc.CallOption) (NLAApi_GetIptunsClient, error)
	GetBridgeVlanInfos(ctx context.Context, in *GetBridgeVlanInfosRequest, opts ...grpc.CallOption) (NLAApi_GetBridgeVlanInfosClient, error)
	GetStats(ctx context.Context, in *GetStatsRequest, opts ...grpc.CallOption) (NLAApi_GetStatsClient, error)
}

type nLAApiClient struct {
	cc *grpc.ClientConn
}

func NewNLAApiClient(cc *grpc.ClientConn) NLAApiClient {
	return &nLAApiClient{cc}
}

func (c *nLAApiClient) ModVpn(ctx context.Context, in *ModVpnRequest, opts ...grpc.CallOption) (*ModVpnReply, error) {
	out := new(ModVpnReply)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/ModVpn", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) ModNetlink(ctx context.Context, in *NetlinkMessageUnion, opts ...grpc.CallOption) (*ModNetlinkReply, error) {
	out := new(ModNetlinkReply)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/ModNetlink", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) MonNetlink(ctx context.Context, in *MonNetlinkRequest, opts ...grpc.CallOption) (NLAApi_MonNetlinkClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[0], "/nlaapi.NLAApi/MonNetlink", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiMonNetlinkClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_MonNetlinkClient interface {
	Recv() (*NetlinkMessageUnion, error)
	grpc.ClientStream
}

type nLAApiMonNetlinkClient struct {
	grpc.ClientStream
}

func (x *nLAApiMonNetlinkClient) Recv() (*NetlinkMessageUnion, error) {
	m := new(NetlinkMessageUnion)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetLink(ctx context.Context, in *LinkKey, opts ...grpc.CallOption) (*Link, error) {
	out := new(Link)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetLink", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetAddr(ctx context.Context, in *AddrKey, opts ...grpc.CallOption) (*Addr, error) {
	out := new(Addr)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetAddr", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetNeigh(ctx context.Context, in *NeighKey, opts ...grpc.CallOption) (*Neigh, error) {
	out := new(Neigh)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetNeigh", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetRoute(ctx context.Context, in *RouteKey, opts ...grpc.CallOption) (*Route, error) {
	out := new(Route)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetRoute", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetMpls(ctx context.Context, in *MplsKey, opts ...grpc.CallOption) (*Route, error) {
	out := new(Route)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetMpls", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetNode(ctx context.Context, in *NodeKey, opts ...grpc.CallOption) (*Node, error) {
	out := new(Node)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetNode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetVpn(ctx context.Context, in *VpnKey, opts ...grpc.CallOption) (*Vpn, error) {
	out := new(Vpn)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetVpn", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetEncapInfo(ctx context.Context, in *EncapInfoKey, opts ...grpc.CallOption) (*EncapInfo, error) {
	out := new(EncapInfo)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetEncapInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetIptun(ctx context.Context, in *IptunKey, opts ...grpc.CallOption) (*Iptun, error) {
	out := new(Iptun)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetIptun", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetBridgeVlanInfo(ctx context.Context, in *BridgeVlanInfoKey, opts ...grpc.CallOption) (*BridgeVlanInfo, error) {
	out := new(BridgeVlanInfo)
	err := c.cc.Invoke(ctx, "/nlaapi.NLAApi/GetBridgeVlanInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nLAApiClient) GetLinks(ctx context.Context, in *GetLinksRequest, opts ...grpc.CallOption) (NLAApi_GetLinksClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[1], "/nlaapi.NLAApi/GetLinks", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetLinksClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetLinksClient interface {
	Recv() (*Link, error)
	grpc.ClientStream
}

type nLAApiGetLinksClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetLinksClient) Recv() (*Link, error) {
	m := new(Link)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetAddrs(ctx context.Context, in *GetAddrsRequest, opts ...grpc.CallOption) (NLAApi_GetAddrsClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[2], "/nlaapi.NLAApi/GetAddrs", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetAddrsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetAddrsClient interface {
	Recv() (*Addr, error)
	grpc.ClientStream
}

type nLAApiGetAddrsClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetAddrsClient) Recv() (*Addr, error) {
	m := new(Addr)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetNeighs(ctx context.Context, in *GetNeighsRequest, opts ...grpc.CallOption) (NLAApi_GetNeighsClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[3], "/nlaapi.NLAApi/GetNeighs", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetNeighsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetNeighsClient interface {
	Recv() (*Neigh, error)
	grpc.ClientStream
}

type nLAApiGetNeighsClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetNeighsClient) Recv() (*Neigh, error) {
	m := new(Neigh)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetRoutes(ctx context.Context, in *GetRoutesRequest, opts ...grpc.CallOption) (NLAApi_GetRoutesClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[4], "/nlaapi.NLAApi/GetRoutes", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetRoutesClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetRoutesClient interface {
	Recv() (*Route, error)
	grpc.ClientStream
}

type nLAApiGetRoutesClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetRoutesClient) Recv() (*Route, error) {
	m := new(Route)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetMplss(ctx context.Context, in *GetMplssRequest, opts ...grpc.CallOption) (NLAApi_GetMplssClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[5], "/nlaapi.NLAApi/GetMplss", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetMplssClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetMplssClient interface {
	Recv() (*Route, error)
	grpc.ClientStream
}

type nLAApiGetMplssClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetMplssClient) Recv() (*Route, error) {
	m := new(Route)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetNodes(ctx context.Context, in *GetNodesRequest, opts ...grpc.CallOption) (NLAApi_GetNodesClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[6], "/nlaapi.NLAApi/GetNodes", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetNodesClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetNodesClient interface {
	Recv() (*Node, error)
	grpc.ClientStream
}

type nLAApiGetNodesClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetNodesClient) Recv() (*Node, error) {
	m := new(Node)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetVpns(ctx context.Context, in *GetVpnsRequest, opts ...grpc.CallOption) (NLAApi_GetVpnsClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[7], "/nlaapi.NLAApi/GetVpns", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetVpnsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetVpnsClient interface {
	Recv() (*Vpn, error)
	grpc.ClientStream
}

type nLAApiGetVpnsClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetVpnsClient) Recv() (*Vpn, error) {
	m := new(Vpn)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetEncapInfos(ctx context.Context, in *GetEncapInfosRequest, opts ...grpc.CallOption) (NLAApi_GetEncapInfosClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[8], "/nlaapi.NLAApi/GetEncapInfos", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetEncapInfosClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetEncapInfosClient interface {
	Recv() (*EncapInfo, error)
	grpc.ClientStream
}

type nLAApiGetEncapInfosClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetEncapInfosClient) Recv() (*EncapInfo, error) {
	m := new(EncapInfo)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetIptuns(ctx context.Context, in *GetIptunsRequest, opts ...grpc.CallOption) (NLAApi_GetIptunsClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[9], "/nlaapi.NLAApi/GetIptuns", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetIptunsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetIptunsClient interface {
	Recv() (*Iptun, error)
	grpc.ClientStream
}

type nLAApiGetIptunsClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetIptunsClient) Recv() (*Iptun, error) {
	m := new(Iptun)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetBridgeVlanInfos(ctx context.Context, in *GetBridgeVlanInfosRequest, opts ...grpc.CallOption) (NLAApi_GetBridgeVlanInfosClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[10], "/nlaapi.NLAApi/GetBridgeVlanInfos", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetBridgeVlanInfosClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetBridgeVlanInfosClient interface {
	Recv() (*BridgeVlanInfo, error)
	grpc.ClientStream
}

type nLAApiGetBridgeVlanInfosClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetBridgeVlanInfosClient) Recv() (*BridgeVlanInfo, error) {
	m := new(BridgeVlanInfo)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *nLAApiClient) GetStats(ctx context.Context, in *GetStatsRequest, opts ...grpc.CallOption) (NLAApi_GetStatsClient, error) {
	stream, err := c.cc.NewStream(ctx, &_NLAApi_serviceDesc.Streams[11], "/nlaapi.NLAApi/GetStats", opts...)
	if err != nil {
		return nil, err
	}
	x := &nLAApiGetStatsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type NLAApi_GetStatsClient interface {
	Recv() (*Stat, error)
	grpc.ClientStream
}

type nLAApiGetStatsClient struct {
	grpc.ClientStream
}

func (x *nLAApiGetStatsClient) Recv() (*Stat, error) {
	m := new(Stat)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

// NLAApiServer is the server API for NLAApi service.
type NLAApiServer interface {
	ModVpn(context.Context, *ModVpnRequest) (*ModVpnReply, error)
	ModNetlink(context.Context, *NetlinkMessageUnion) (*ModNetlinkReply, error)
	MonNetlink(*MonNetlinkRequest, NLAApi_MonNetlinkServer) error
	GetLink(context.Context, *LinkKey) (*Link, error)
	GetAddr(context.Context, *AddrKey) (*Addr, error)
	GetNeigh(context.Context, *NeighKey) (*Neigh, error)
	GetRoute(context.Context, *RouteKey) (*Route, error)
	GetMpls(context.Context, *MplsKey) (*Route, error)
	GetNode(context.Context, *NodeKey) (*Node, error)
	GetVpn(context.Context, *VpnKey) (*Vpn, error)
	GetEncapInfo(context.Context, *EncapInfoKey) (*EncapInfo, error)
	GetIptun(context.Context, *IptunKey) (*Iptun, error)
	GetBridgeVlanInfo(context.Context, *BridgeVlanInfoKey) (*BridgeVlanInfo, error)
	GetLinks(*GetLinksRequest, NLAApi_GetLinksServer) error
	GetAddrs(*GetAddrsRequest, NLAApi_GetAddrsServer) error
	GetNeighs(*GetNeighsRequest, NLAApi_GetNeighsServer) error
	GetRoutes(*GetRoutesRequest, NLAApi_GetRoutesServer) error
	GetMplss(*GetMplssRequest, NLAApi_GetMplssServer) error
	GetNodes(*GetNodesRequest, NLAApi_GetNodesServer) error
	GetVpns(*GetVpnsRequest, NLAApi_GetVpnsServer) error
	GetEncapInfos(*GetEncapInfosRequest, NLAApi_GetEncapInfosServer) error
	GetIptuns(*GetIptunsRequest, NLAApi_GetIptunsServer) error
	GetBridgeVlanInfos(*GetBridgeVlanInfosRequest, NLAApi_GetBridgeVlanInfosServer) error
	GetStats(*GetStatsRequest, NLAApi_GetStatsServer) error
}

// UnimplementedNLAApiServer can be embedded to have forward compatible implementations.
type UnimplementedNLAApiServer struct {
}

func (*UnimplementedNLAApiServer) ModVpn(ctx context.Context, req *ModVpnRequest) (*ModVpnReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ModVpn not implemented")
}
func (*UnimplementedNLAApiServer) ModNetlink(ctx context.Context, req *NetlinkMessageUnion) (*ModNetlinkReply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ModNetlink not implemented")
}
func (*UnimplementedNLAApiServer) MonNetlink(req *MonNetlinkRequest, srv NLAApi_MonNetlinkServer) error {
	return status.Errorf(codes.Unimplemented, "method MonNetlink not implemented")
}
func (*UnimplementedNLAApiServer) GetLink(ctx context.Context, req *LinkKey) (*Link, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetLink not implemented")
}
func (*UnimplementedNLAApiServer) GetAddr(ctx context.Context, req *AddrKey) (*Addr, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAddr not implemented")
}
func (*UnimplementedNLAApiServer) GetNeigh(ctx context.Context, req *NeighKey) (*Neigh, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNeigh not implemented")
}
func (*UnimplementedNLAApiServer) GetRoute(ctx context.Context, req *RouteKey) (*Route, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRoute not implemented")
}
func (*UnimplementedNLAApiServer) GetMpls(ctx context.Context, req *MplsKey) (*Route, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetMpls not implemented")
}
func (*UnimplementedNLAApiServer) GetNode(ctx context.Context, req *NodeKey) (*Node, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetNode not implemented")
}
func (*UnimplementedNLAApiServer) GetVpn(ctx context.Context, req *VpnKey) (*Vpn, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetVpn not implemented")
}
func (*UnimplementedNLAApiServer) GetEncapInfo(ctx context.Context, req *EncapInfoKey) (*EncapInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetEncapInfo not implemented")
}
func (*UnimplementedNLAApiServer) GetIptun(ctx context.Context, req *IptunKey) (*Iptun, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetIptun not implemented")
}
func (*UnimplementedNLAApiServer) GetBridgeVlanInfo(ctx context.Context, req *BridgeVlanInfoKey) (*BridgeVlanInfo, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBridgeVlanInfo not implemented")
}
func (*UnimplementedNLAApiServer) GetLinks(req *GetLinksRequest, srv NLAApi_GetLinksServer) error {
	return status.Errorf(codes.Unimplemented, "method GetLinks not implemented")
}
func (*UnimplementedNLAApiServer) GetAddrs(req *GetAddrsRequest, srv NLAApi_GetAddrsServer) error {
	return status.Errorf(codes.Unimplemented, "method GetAddrs not implemented")
}
func (*UnimplementedNLAApiServer) GetNeighs(req *GetNeighsRequest, srv NLAApi_GetNeighsServer) error {
	return status.Errorf(codes.Unimplemented, "method GetNeighs not implemented")
}
func (*UnimplementedNLAApiServer) GetRoutes(req *GetRoutesRequest, srv NLAApi_GetRoutesServer) error {
	return status.Errorf(codes.Unimplemented, "method GetRoutes not implemented")
}
func (*UnimplementedNLAApiServer) GetMplss(req *GetMplssRequest, srv NLAApi_GetMplssServer) error {
	return status.Errorf(codes.Unimplemented, "method GetMplss not implemented")
}
func (*UnimplementedNLAApiServer) GetNodes(req *GetNodesRequest, srv NLAApi_GetNodesServer) error {
	return status.Errorf(codes.Unimplemented, "method GetNodes not implemented")
}
func (*UnimplementedNLAApiServer) GetVpns(req *GetVpnsRequest, srv NLAApi_GetVpnsServer) error {
	return status.Errorf(codes.Unimplemented, "method GetVpns not implemented")
}
func (*UnimplementedNLAApiServer) GetEncapInfos(req *GetEncapInfosRequest, srv NLAApi_GetEncapInfosServer) error {
	return status.Errorf(codes.Unimplemented, "method GetEncapInfos not implemented")
}
func (*UnimplementedNLAApiServer) GetIptuns(req *GetIptunsRequest, srv NLAApi_GetIptunsServer) error {
	return status.Errorf(codes.Unimplemented, "method GetIptuns not implemented")
}
func (*UnimplementedNLAApiServer) GetBridgeVlanInfos(req *GetBridgeVlanInfosRequest, srv NLAApi_GetBridgeVlanInfosServer) error {
	return status.Errorf(codes.Unimplemented, "method GetBridgeVlanInfos not implemented")
}
func (*UnimplementedNLAApiServer) GetStats(req *GetStatsRequest, srv NLAApi_GetStatsServer) error {
	return status.Errorf(codes.Unimplemented, "method GetStats not implemented")
}

func RegisterNLAApiServer(s *grpc.Server, srv NLAApiServer) {
	s.RegisterService(&_NLAApi_serviceDesc, srv)
}

func _NLAApi_ModVpn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ModVpnRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).ModVpn(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/ModVpn",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).ModVpn(ctx, req.(*ModVpnRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_ModNetlink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NetlinkMessageUnion)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).ModNetlink(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/ModNetlink",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).ModNetlink(ctx, req.(*NetlinkMessageUnion))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_MonNetlink_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(MonNetlinkRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).MonNetlink(m, &nLAApiMonNetlinkServer{stream})
}

type NLAApi_MonNetlinkServer interface {
	Send(*NetlinkMessageUnion) error
	grpc.ServerStream
}

type nLAApiMonNetlinkServer struct {
	grpc.ServerStream
}

func (x *nLAApiMonNetlinkServer) Send(m *NetlinkMessageUnion) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LinkKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetLink(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetLink",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetLink(ctx, req.(*LinkKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetAddr_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AddrKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetAddr(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetAddr",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetAddr(ctx, req.(*AddrKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetNeigh_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NeighKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetNeigh(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetNeigh",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetNeigh(ctx, req.(*NeighKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetRoute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RouteKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetRoute(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetRoute",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetRoute(ctx, req.(*RouteKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetMpls_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MplsKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetMpls(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetMpls",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetMpls(ctx, req.(*MplsKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetNode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetNode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetNode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetNode(ctx, req.(*NodeKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetVpn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VpnKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetVpn(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetVpn",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetVpn(ctx, req.(*VpnKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetEncapInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EncapInfoKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetEncapInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetEncapInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetEncapInfo(ctx, req.(*EncapInfoKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetIptun_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(IptunKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetIptun(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetIptun",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetIptun(ctx, req.(*IptunKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetBridgeVlanInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BridgeVlanInfoKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NLAApiServer).GetBridgeVlanInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nlaapi.NLAApi/GetBridgeVlanInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NLAApiServer).GetBridgeVlanInfo(ctx, req.(*BridgeVlanInfoKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _NLAApi_GetLinks_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetLinksRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetLinks(m, &nLAApiGetLinksServer{stream})
}

type NLAApi_GetLinksServer interface {
	Send(*Link) error
	grpc.ServerStream
}

type nLAApiGetLinksServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetLinksServer) Send(m *Link) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetAddrs_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetAddrsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetAddrs(m, &nLAApiGetAddrsServer{stream})
}

type NLAApi_GetAddrsServer interface {
	Send(*Addr) error
	grpc.ServerStream
}

type nLAApiGetAddrsServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetAddrsServer) Send(m *Addr) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetNeighs_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetNeighsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetNeighs(m, &nLAApiGetNeighsServer{stream})
}

type NLAApi_GetNeighsServer interface {
	Send(*Neigh) error
	grpc.ServerStream
}

type nLAApiGetNeighsServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetNeighsServer) Send(m *Neigh) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetRoutes_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetRoutesRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetRoutes(m, &nLAApiGetRoutesServer{stream})
}

type NLAApi_GetRoutesServer interface {
	Send(*Route) error
	grpc.ServerStream
}

type nLAApiGetRoutesServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetRoutesServer) Send(m *Route) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetMplss_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetMplssRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetMplss(m, &nLAApiGetMplssServer{stream})
}

type NLAApi_GetMplssServer interface {
	Send(*Route) error
	grpc.ServerStream
}

type nLAApiGetMplssServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetMplssServer) Send(m *Route) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetNodes_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetNodesRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetNodes(m, &nLAApiGetNodesServer{stream})
}

type NLAApi_GetNodesServer interface {
	Send(*Node) error
	grpc.ServerStream
}

type nLAApiGetNodesServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetNodesServer) Send(m *Node) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetVpns_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetVpnsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetVpns(m, &nLAApiGetVpnsServer{stream})
}

type NLAApi_GetVpnsServer interface {
	Send(*Vpn) error
	grpc.ServerStream
}

type nLAApiGetVpnsServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetVpnsServer) Send(m *Vpn) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetEncapInfos_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetEncapInfosRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetEncapInfos(m, &nLAApiGetEncapInfosServer{stream})
}

type NLAApi_GetEncapInfosServer interface {
	Send(*EncapInfo) error
	grpc.ServerStream
}

type nLAApiGetEncapInfosServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetEncapInfosServer) Send(m *EncapInfo) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetIptuns_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetIptunsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetIptuns(m, &nLAApiGetIptunsServer{stream})
}

type NLAApi_GetIptunsServer interface {
	Send(*Iptun) error
	grpc.ServerStream
}

type nLAApiGetIptunsServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetIptunsServer) Send(m *Iptun) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetBridgeVlanInfos_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetBridgeVlanInfosRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetBridgeVlanInfos(m, &nLAApiGetBridgeVlanInfosServer{stream})
}

type NLAApi_GetBridgeVlanInfosServer interface {
	Send(*BridgeVlanInfo) error
	grpc.ServerStream
}

type nLAApiGetBridgeVlanInfosServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetBridgeVlanInfosServer) Send(m *BridgeVlanInfo) error {
	return x.ServerStream.SendMsg(m)
}

func _NLAApi_GetStats_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetStatsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(NLAApiServer).GetStats(m, &nLAApiGetStatsServer{stream})
}

type NLAApi_GetStatsServer interface {
	Send(*Stat) error
	grpc.ServerStream
}

type nLAApiGetStatsServer struct {
	grpc.ServerStream
}

func (x *nLAApiGetStatsServer) Send(m *Stat) error {
	return x.ServerStream.SendMsg(m)
}

var _NLAApi_serviceDesc = grpc.ServiceDesc{
	ServiceName: "nlaapi.NLAApi",
	HandlerType: (*NLAApiServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ModVpn",
			Handler:    _NLAApi_ModVpn_Handler,
		},
		{
			MethodName: "ModNetlink",
			Handler:    _NLAApi_ModNetlink_Handler,
		},
		{
			MethodName: "GetLink",
			Handler:    _NLAApi_GetLink_Handler,
		},
		{
			MethodName: "GetAddr",
			Handler:    _NLAApi_GetAddr_Handler,
		},
		{
			MethodName: "GetNeigh",
			Handler:    _NLAApi_GetNeigh_Handler,
		},
		{
			MethodName: "GetRoute",
			Handler:    _NLAApi_GetRoute_Handler,
		},
		{
			MethodName: "GetMpls",
			Handler:    _NLAApi_GetMpls_Handler,
		},
		{
			MethodName: "GetNode",
			Handler:    _NLAApi_GetNode_Handler,
		},
		{
			MethodName: "GetVpn",
			Handler:    _NLAApi_GetVpn_Handler,
		},
		{
			MethodName: "GetEncapInfo",
			Handler:    _NLAApi_GetEncapInfo_Handler,
		},
		{
			MethodName: "GetIptun",
			Handler:    _NLAApi_GetIptun_Handler,
		},
		{
			MethodName: "GetBridgeVlanInfo",
			Handler:    _NLAApi_GetBridgeVlanInfo_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "MonNetlink",
			Handler:       _NLAApi_MonNetlink_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetLinks",
			Handler:       _NLAApi_GetLinks_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetAddrs",
			Handler:       _NLAApi_GetAddrs_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetNeighs",
			Handler:       _NLAApi_GetNeighs_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetRoutes",
			Handler:       _NLAApi_GetRoutes_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetMplss",
			Handler:       _NLAApi_GetMplss_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetNodes",
			Handler:       _NLAApi_GetNodes_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetVpns",
			Handler:       _NLAApi_GetVpns_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetEncapInfos",
			Handler:       _NLAApi_GetEncapInfos_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetIptuns",
			Handler:       _NLAApi_GetIptuns_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetBridgeVlanInfos",
			Handler:       _NLAApi_GetBridgeVlanInfos_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetStats",
			Handler:       _NLAApi_GetStats_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "nlaapi.proto",
}
