go.ligato.io/vpp-agent/v3@v3.5.0/proto/ligato/linux/interfaces/interface.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.27.1
     4  // 	protoc        v3.17.3
     5  // source: ligato/linux/interfaces/interface.proto
     6  
     7  package linux_interfaces
     8  
     9  import (
    10  	_ "go.ligato.io/vpp-agent/v3/proto/ligato"
    11  	namespace "go.ligato.io/vpp-agent/v3/proto/ligato/linux/namespace"
    12  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    13  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    14  	reflect "reflect"
    15  	sync "sync"
    16  )
    17  
    18  const (
    19  	// Verify that this generated code is sufficiently up-to-date.
    20  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    21  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    22  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    23  )
    24  
    25  type Interface_Type int32
    26  
    27  const (
    28  	Interface_UNDEFINED  Interface_Type = 0
    29  	Interface_VETH       Interface_Type = 1
    30  	Interface_TAP_TO_VPP Interface_Type = 2 // TAP created by VPP to have the Linux-side further configured
    31  	// LOOPBACK is used to attach configuration to an existing "lo" interface,
    32  	// but unlike EXISTING type it is not limited to the default network namespace
    33  	// (i.e. loopbacks in other containers can be referenced also).
    34  	// To create an additional interface which effectively acts as a loopback,
    35  	// use DUMMY interface (see below).
    36  	Interface_LOOPBACK Interface_Type = 3
    37  	// Wait for and potentially attach additional network configuration to an interface
    38  	// created externally (i.e. not by this agent) in the default network namespace
    39  	// (i.e. same as used by the agent).
    40  	// Behaviour of the EXISTING interface depends on the values of ip_addresses and
    41  	// link_only attributes as follows:
    42  	// 1. link_only=false and ip_addresses are empty: agent waits for interface to be created
    43  	//    externally and then configures it in the L2-only mode (resync will remove any IP addresses
    44  	//    configured from outside of the agent)
    45  	// 2. link_only=false and ip_addresses are non-empty: agent waits for interface to be created
    46  	//    externally and then attaches the selected IP addresses to it (resync removes any other
    47  	//    IPs added externally)
    48  	// 3. link_only=true and ip_addresses are empty: agent only waits for the interface
    49  	//    to exists (it doesn't wait for or change any IP addresses attached to it)
    50  	// 4. link_only=true and ip_addresses are non empty: agent waits for the interface
    51  	//    to exists and the selected IP addresses to be assigned (i.e. there will be derived
    52  	//    value for each expected IP address in the PENDING state until the address is assigned
    53  	//    to the interface externally)
    54  	Interface_EXISTING Interface_Type = 4
    55  	// In Linux, VRF is implemented as yet another type of netdevice (i.e. listed with `ip link show`).
    56  	// Network interfaces are then assigned to VRF simply by enslaving them to the VRF device.
    57  	// For more information, visit: https://www.kernel.org/doc/Documentation/networking/vrf.txt
    58  	Interface_VRF_DEVICE Interface_Type = 5
    59  	// Create a dummy Linux interface which effectively behaves just like the loopback.
    60  	Interface_DUMMY Interface_Type = 6
    61  )
    62  
    63  // Enum value maps for Interface_Type.
    64  var (
    65  	Interface_Type_name = map[int32]string{
    66  		0: "UNDEFINED",
    67  		1: "VETH",
    68  		2: "TAP_TO_VPP",
    69  		3: "LOOPBACK",
    70  		4: "EXISTING",
    71  		5: "VRF_DEVICE",
    72  		6: "DUMMY",
    73  	}
    74  	Interface_Type_value = map[string]int32{
    75  		"UNDEFINED":  0,
    76  		"VETH":       1,
    77  		"TAP_TO_VPP": 2,
    78  		"LOOPBACK":   3,
    79  		"EXISTING":   4,
    80  		"VRF_DEVICE": 5,
    81  		"DUMMY":      6,
    82  	}
    83  )
    84  
    85  func (x Interface_Type) Enum() *Interface_Type {
    86  	p := new(Interface_Type)
    87  	*p = x
    88  	return p
    89  }
    90  
    91  func (x Interface_Type) String() string {
    92  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    93  }
    94  
    95  func (Interface_Type) Descriptor() protoreflect.EnumDescriptor {
    96  	return file_ligato_linux_interfaces_interface_proto_enumTypes[0].Descriptor()
    97  }
    98  
    99  func (Interface_Type) Type() protoreflect.EnumType {
   100  	return &file_ligato_linux_interfaces_interface_proto_enumTypes[0]
   101  }
   102  
   103  func (x Interface_Type) Number() protoreflect.EnumNumber {
   104  	return protoreflect.EnumNumber(x)
   105  }
   106  
   107  // Deprecated: Use Interface_Type.Descriptor instead.
   108  func (Interface_Type) EnumDescriptor() ([]byte, []int) {
   109  	return file_ligato_linux_interfaces_interface_proto_rawDescGZIP(), []int{0, 0}
   110  }
   111  
   112  type VethLink_ChecksumOffloading int32
   113  
   114  const (
   115  	VethLink_CHKSM_OFFLOAD_DEFAULT  VethLink_ChecksumOffloading = 0
   116  	VethLink_CHKSM_OFFLOAD_ENABLED  VethLink_ChecksumOffloading = 1
   117  	VethLink_CHKSM_OFFLOAD_DISABLED VethLink_ChecksumOffloading = 2
   118  )
   119  
   120  // Enum value maps for VethLink_ChecksumOffloading.
   121  var (
   122  	VethLink_ChecksumOffloading_name = map[int32]string{
   123  		0: "CHKSM_OFFLOAD_DEFAULT",
   124  		1: "CHKSM_OFFLOAD_ENABLED",
   125  		2: "CHKSM_OFFLOAD_DISABLED",
   126  	}
   127  	VethLink_ChecksumOffloading_value = map[string]int32{
   128  		"CHKSM_OFFLOAD_DEFAULT":  0,
   129  		"CHKSM_OFFLOAD_ENABLED":  1,
   130  		"CHKSM_OFFLOAD_DISABLED": 2,
   131  	}
   132  )
   133  
   134  func (x VethLink_ChecksumOffloading) Enum() *VethLink_ChecksumOffloading {
   135  	p := new(VethLink_ChecksumOffloading)
   136  	*p = x
   137  	return p
   138  }
   139  
   140  func (x VethLink_ChecksumOffloading) String() string {
   141  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   142  }
   143  
   144  func (VethLink_ChecksumOffloading) Descriptor() protoreflect.EnumDescriptor {
   145  	return file_ligato_linux_interfaces_interface_proto_enumTypes[1].Descriptor()
   146  }
   147  
   148  func (VethLink_ChecksumOffloading) Type() protoreflect.EnumType {
   149  	return &file_ligato_linux_interfaces_interface_proto_enumTypes[1]
   150  }
   151  
   152  func (x VethLink_ChecksumOffloading) Number() protoreflect.EnumNumber {
   153  	return protoreflect.EnumNumber(x)
   154  }
   155  
   156  // Deprecated: Use VethLink_ChecksumOffloading.Descriptor instead.
   157  func (VethLink_ChecksumOffloading) EnumDescriptor() ([]byte, []int) {
   158  	return file_ligato_linux_interfaces_interface_proto_rawDescGZIP(), []int{1, 0}
   159  }
   160  
   161  type Interface struct {
   162  	state         protoimpl.MessageState
   163  	sizeCache     protoimpl.SizeCache
   164  	unknownFields protoimpl.UnknownFields
   165  
   166  	// Name is mandatory field representing logical name for the interface.
   167  	// It must be unique across all configured interfaces.
   168  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   169  	// Type represents the type of interface and It must match with actual Link.
   170  	Type Interface_Type `protobuf:"varint,2,opt,name=type,proto3,enum=ligato.linux.interfaces.Interface_Type" json:"type,omitempty"`
   171  	// Namespace is a reference to a Linux network namespace where the interface
   172  	// should be put into.
   173  	Namespace *namespace.NetNamespace `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
   174  	// Name of the interface in the host OS. If not set, the host name will be
   175  	// the same as the interface logical name.
   176  	HostIfName string `protobuf:"bytes,4,opt,name=host_if_name,json=hostIfName,proto3" json:"host_if_name,omitempty"`
   177  	// Enabled controls if the interface should be UP.
   178  	Enabled bool `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
   179  	// IPAddresses define list of IP addresses for the interface and must be
   180  	// defined in the following format: <ipAddress>/<ipPrefix>.
   181  	// Interface IP address can be also allocated via netalloc plugin and
   182  	// referenced here, see: api/models/netalloc/netalloc.proto
   183  	IpAddresses []string `protobuf:"bytes,6,rep,name=ip_addresses,json=ipAddresses,proto3" json:"ip_addresses,omitempty"`
   184  	// PhysAddress represents physical address (MAC) of the interface.
   185  	// Random address will be assigned if left empty.
   186  	// Not used (and not supported) by VRF devices.
   187  	PhysAddress string `protobuf:"bytes,7,opt,name=phys_address,json=physAddress,proto3" json:"phys_address,omitempty"`
   188  	// MTU is the maximum transmission unit value.
   189  	Mtu uint32 `protobuf:"varint,8,opt,name=mtu,proto3" json:"mtu,omitempty"`
   190  	// Types that are assignable to Link:
   191  	//	*Interface_Veth
   192  	//	*Interface_Tap
   193  	//	*Interface_VrfDev
   194  	Link isInterface_Link `protobuf_oneof:"link"`
   195  	// Configure/Resync link only. IP/MAC addresses are expected to be configured
   196  	// externally - i.e. by a different agent or manually via CLI.
   197  	LinkOnly bool `protobuf:"varint,9,opt,name=link_only,json=linkOnly,proto3" json:"link_only,omitempty"`
   198  	// Reference to the logical name of a VRF_DEVICE interface.
   199  	// If defined, this interface will be enslaved to the VRF device and will thus become
   200  	// part of the VRF (L3-level separation) that the device represents.
   201  	// Interfaces enslaved to the same VRF_DEVICE master interface therefore
   202  	// comprise single VRF with a separate routing table.
   203  	VrfMasterInterface string `protobuf:"bytes,10,opt,name=vrf_master_interface,json=vrfMasterInterface,proto3" json:"vrf_master_interface,omitempty"`
   204  }
   205  
   206  func (x *Interface) Reset() {
   207  	*x = Interface{}
   208  	if protoimpl.UnsafeEnabled {
   209  		mi := &file_ligato_linux_interfaces_interface_proto_msgTypes[0]
   210  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   211  		ms.StoreMessageInfo(mi)
   212  	}
   213  }
   214  
   215  func (x *Interface) String() string {
   216  	return protoimpl.X.MessageStringOf(x)
   217  }
   218  
   219  func (*Interface) ProtoMessage() {}
   220  
   221  func (x *Interface) ProtoReflect() protoreflect.Message {
   222  	mi := &file_ligato_linux_interfaces_interface_proto_msgTypes[0]
   223  	if protoimpl.UnsafeEnabled && x != nil {
   224  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   225  		if ms.LoadMessageInfo() == nil {
   226  			ms.StoreMessageInfo(mi)
   227  		}
   228  		return ms
   229  	}
   230  	return mi.MessageOf(x)
   231  }
   232  
   233  // Deprecated: Use Interface.ProtoReflect.Descriptor instead.
   234  func (*Interface) Descriptor() ([]byte, []int) {
   235  	return file_ligato_linux_interfaces_interface_proto_rawDescGZIP(), []int{0}
   236  }
   237  
   238  func (x *Interface) GetName() string {
   239  	if x != nil {
   240  		return x.Name
   241  	}
   242  	return ""
   243  }
   244  
   245  func (x *Interface) GetType() Interface_Type {
   246  	if x != nil {
   247  		return x.Type
   248  	}
   249  	return Interface_UNDEFINED
   250  }
   251  
   252  func (x *Interface) GetNamespace() *namespace.NetNamespace {
   253  	if x != nil {
   254  		return x.Namespace
   255  	}
   256  	return nil
   257  }
   258  
   259  func (x *Interface) GetHostIfName() string {
   260  	if x != nil {
   261  		return x.HostIfName
   262  	}
   263  	return ""
   264  }
   265  
   266  func (x *Interface) GetEnabled() bool {
   267  	if x != nil {
   268  		return x.Enabled
   269  	}
   270  	return false
   271  }
   272  
   273  func (x *Interface) GetIpAddresses() []string {
   274  	if x != nil {
   275  		return x.IpAddresses
   276  	}
   277  	return nil
   278  }
   279  
   280  func (x *Interface) GetPhysAddress() string {
   281  	if x != nil {
   282  		return x.PhysAddress
   283  	}
   284  	return ""
   285  }
   286  
   287  func (x *Interface) GetMtu() uint32 {
   288  	if x != nil {
   289  		return x.Mtu
   290  	}
   291  	return 0
   292  }
   293  
   294  func (m *Interface) GetLink() isInterface_Link {
   295  	if m != nil {
   296  		return m.Link
   297  	}
   298  	return nil
   299  }
   300  
   301  func (x *Interface) GetVeth() *VethLink {
   302  	if x, ok := x.GetLink().(*Interface_Veth); ok {
   303  		return x.Veth
   304  	}
   305  	return nil
   306  }
   307  
   308  func (x *Interface) GetTap() *TapLink {
   309  	if x, ok := x.GetLink().(*Interface_Tap); ok {
   310  		return x.Tap
   311  	}
   312  	return nil
   313  }
   314  
   315  func (x *Interface) GetVrfDev() *VrfDevLink {
   316  	if x, ok := x.GetLink().(*Interface_VrfDev); ok {
   317  		return x.VrfDev
   318  	}
   319  	return nil
   320  }
   321  
   322  func (x *Interface) GetLinkOnly() bool {
   323  	if x != nil {
   324  		return x.LinkOnly
   325  	}
   326  	return false
   327  }
   328  
   329  func (x *Interface) GetVrfMasterInterface() string {
   330  	if x != nil {
   331  		return x.VrfMasterInterface
   332  	}
   333  	return ""
   334  }
   335  
   336  type isInterface_Link interface {
   337  	isInterface_Link()
   338  }
   339  
   340  type Interface_Veth struct {
   341  	// VETH-specific configuration
   342  	Veth *VethLink `protobuf:"bytes,20,opt,name=veth,proto3,oneof"`
   343  }
   344  
   345  type Interface_Tap struct {
   346  	// TAP_TO_VPP-specific configuration
   347  	Tap *TapLink `protobuf:"bytes,21,opt,name=tap,proto3,oneof"`
   348  }
   349  
   350  type Interface_VrfDev struct {
   351  	// VRF_DEVICE-specific configuration
   352  	VrfDev *VrfDevLink `protobuf:"bytes,22,opt,name=vrf_dev,json=vrfDev,proto3,oneof"`
   353  }
   354  
   355  func (*Interface_Veth) isInterface_Link() {}
   356  
   357  func (*Interface_Tap) isInterface_Link() {}
   358  
   359  func (*Interface_VrfDev) isInterface_Link() {}
   360  
   361  type VethLink struct {
   362  	state         protoimpl.MessageState
   363  	sizeCache     protoimpl.SizeCache
   364  	unknownFields protoimpl.UnknownFields
   365  
   366  	// Name of the VETH peer, i.e. other end of the linux veth (mandatory for VETH)
   367  	PeerIfName string `protobuf:"bytes,1,opt,name=peer_if_name,json=peerIfName,proto3" json:"peer_if_name,omitempty"`
   368  	// Checksum offloading - Rx side (enabled by default)
   369  	RxChecksumOffloading VethLink_ChecksumOffloading `protobuf:"varint,2,opt,name=rx_checksum_offloading,json=rxChecksumOffloading,proto3,enum=ligato.linux.interfaces.VethLink_ChecksumOffloading" json:"rx_checksum_offloading,omitempty"`
   370  	// Checksum offloading - Tx side (enabled by default)
   371  	TxChecksumOffloading VethLink_ChecksumOffloading `protobuf:"varint,3,opt,name=tx_checksum_offloading,json=txChecksumOffloading,proto3,enum=ligato.linux.interfaces.VethLink_ChecksumOffloading" json:"tx_checksum_offloading,omitempty"`
   372  }
   373  
   374  func (x *VethLink) Reset() {
   375  	*x = VethLink{}
   376  	if protoimpl.UnsafeEnabled {
   377  		mi := &file_ligato_linux_interfaces_interface_proto_msgTypes[1]
   378  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   379  		ms.StoreMessageInfo(mi)
   380  	}
   381  }
   382  
   383  func (x *VethLink) String() string {
   384  	return protoimpl.X.MessageStringOf(x)
   385  }
   386  
   387  func (*VethLink) ProtoMessage() {}
   388  
   389  func (x *VethLink) ProtoReflect() protoreflect.Message {
   390  	mi := &file_ligato_linux_interfaces_interface_proto_msgTypes[1]
   391  	if protoimpl.UnsafeEnabled && x != nil {
   392  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   393  		if ms.LoadMessageInfo() == nil {
   394  			ms.StoreMessageInfo(mi)
   395  		}
   396  		return ms
   397  	}
   398  	return mi.MessageOf(x)
   399  }
   400  
   401  // Deprecated: Use VethLink.ProtoReflect.Descriptor instead.
   402  func (*VethLink) Descriptor() ([]byte, []int) {
   403  	return file_ligato_linux_interfaces_interface_proto_rawDescGZIP(), []int{1}
   404  }
   405  
   406  func (x *VethLink) GetPeerIfName() string {
   407  	if x != nil {
   408  		return x.PeerIfName
   409  	}
   410  	return ""
   411  }
   412  
   413  func (x *VethLink) GetRxChecksumOffloading() VethLink_ChecksumOffloading {
   414  	if x != nil {
   415  		return x.RxChecksumOffloading
   416  	}
   417  	return VethLink_CHKSM_OFFLOAD_DEFAULT
   418  }
   419  
   420  func (x *VethLink) GetTxChecksumOffloading() VethLink_ChecksumOffloading {
   421  	if x != nil {
   422  		return x.TxChecksumOffloading
   423  	}
   424  	return VethLink_CHKSM_OFFLOAD_DEFAULT
   425  }
   426  
   427  type TapLink struct {
   428  	state         protoimpl.MessageState
   429  	sizeCache     protoimpl.SizeCache
   430  	unknownFields protoimpl.UnknownFields
   431  
   432  	// Logical name of the VPP TAP interface (mandatory for TAP_TO_VPP)
   433  	VppTapIfName string `protobuf:"bytes,1,opt,name=vpp_tap_if_name,json=vppTapIfName,proto3" json:"vpp_tap_if_name,omitempty"`
   434  }
   435  
   436  func (x *TapLink) Reset() {
   437  	*x = TapLink{}
   438  	if protoimpl.UnsafeEnabled {
   439  		mi := &file_ligato_linux_interfaces_interface_proto_msgTypes[2]
   440  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   441  		ms.StoreMessageInfo(mi)
   442  	}
   443  }
   444  
   445  func (x *TapLink) String() string {
   446  	return protoimpl.X.MessageStringOf(x)
   447  }
   448  
   449  func (*TapLink) ProtoMessage() {}
   450  
   451  func (x *TapLink) ProtoReflect() protoreflect.Message {
   452  	mi := &file_ligato_linux_interfaces_interface_proto_msgTypes[2]
   453  	if protoimpl.UnsafeEnabled && x != nil {
   454  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   455  		if ms.LoadMessageInfo() == nil {
   456  			ms.StoreMessageInfo(mi)
   457  		}
   458  		return ms
   459  	}
   460  	return mi.MessageOf(x)
   461  }
   462  
   463  // Deprecated: Use TapLink.ProtoReflect.Descriptor instead.
   464  func (*TapLink) Descriptor() ([]byte, []int) {
   465  	return file_ligato_linux_interfaces_interface_proto_rawDescGZIP(), []int{2}
   466  }
   467  
   468  func (x *TapLink) GetVppTapIfName() string {
   469  	if x != nil {
   470  		return x.VppTapIfName
   471  	}
   472  	return ""
   473  }
   474  
   475  type VrfDevLink struct {
   476  	state         protoimpl.MessageState
   477  	sizeCache     protoimpl.SizeCache
   478  	unknownFields protoimpl.UnknownFields
   479  
   480  	// Routing table associated with the VRF.
   481  	// Table ID is an 8-bit unsigned integer value. Please note that 253, 254 and 255 are reserved values
   482  	// for special routing tables (main, default, local).
   483  	// Multiple VRFs inside the same network namespace should each use a different routing table.
   484  	// For more information, visit: http://linux-ip.net/html/routing-tables.html
   485  	RoutingTable uint32 `protobuf:"varint,1,opt,name=routing_table,json=routingTable,proto3" json:"routing_table,omitempty"`
   486  }
   487  
   488  func (x *VrfDevLink) Reset() {
   489  	*x = VrfDevLink{}
   490  	if protoimpl.UnsafeEnabled {
   491  		mi := &file_ligato_linux_interfaces_interface_proto_msgTypes[3]
   492  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   493  		ms.StoreMessageInfo(mi)
   494  	}
   495  }
   496  
   497  func (x *VrfDevLink) String() string {
   498  	return protoimpl.X.MessageStringOf(x)
   499  }
   500  
   501  func (*VrfDevLink) ProtoMessage() {}
   502  
   503  func (x *VrfDevLink) ProtoReflect() protoreflect.Message {
   504  	mi := &file_ligato_linux_interfaces_interface_proto_msgTypes[3]
   505  	if protoimpl.UnsafeEnabled && x != nil {
   506  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   507  		if ms.LoadMessageInfo() == nil {
   508  			ms.StoreMessageInfo(mi)
   509  		}
   510  		return ms
   511  	}
   512  	return mi.MessageOf(x)
   513  }
   514  
   515  // Deprecated: Use VrfDevLink.ProtoReflect.Descriptor instead.
   516  func (*VrfDevLink) Descriptor() ([]byte, []int) {
   517  	return file_ligato_linux_interfaces_interface_proto_rawDescGZIP(), []int{3}
   518  }
   519  
   520  func (x *VrfDevLink) GetRoutingTable() uint32 {
   521  	if x != nil {
   522  		return x.RoutingTable
   523  	}
   524  	return 0
   525  }
   526  
   527  var File_ligato_linux_interfaces_interface_proto protoreflect.FileDescriptor
   528  
   529  var file_ligato_linux_interfaces_interface_proto_rawDesc = []byte{
   530  	0x0a, 0x27, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x2f, 0x69,
   531  	0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66,
   532  	0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x6c, 0x69, 0x67, 0x61, 0x74,
   533  	0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63,
   534  	0x65, 0x73, 0x1a, 0x26, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x6e, 0x75, 0x78,
   535  	0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73,
   536  	0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6c, 0x69, 0x67, 0x61,
   537  	0x74, 0x6f, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
   538  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x05, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
   539  	0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
   540  	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
   541  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x6c, 0x69,
   542  	0x6e, 0x75, 0x78, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e, 0x49,
   543  	0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74,
   544  	0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65,
   545  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e,
   546  	0x6c, 0x69, 0x6e, 0x75, 0x78, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e,
   547  	0x4e, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61,
   548  	0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f,
   549  	0x69, 0x66, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68,
   550  	0x6f, 0x73, 0x74, 0x49, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61,
   551  	0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62,
   552  	0x6c, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0c, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
   553  	0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x05, 0x82, 0x7d, 0x02, 0x08, 0x04,
   554  	0x52, 0x0b, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a,
   555  	0x0c, 0x70, 0x68, 0x79, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20,
   556  	0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x68, 0x79, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
   557  	0x12, 0x1a, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x08, 0x82,
   558  	0x7d, 0x05, 0x12, 0x03, 0x10, 0x80, 0x48, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x12, 0x37, 0x0a, 0x04,
   559  	0x76, 0x65, 0x74, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x67,
   560  	0x61, 0x74, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66,
   561  	0x61, 0x63, 0x65, 0x73, 0x2e, 0x56, 0x65, 0x74, 0x68, 0x4c, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52,
   562  	0x04, 0x76, 0x65, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x03, 0x74, 0x61, 0x70, 0x18, 0x15, 0x20, 0x01,
   563  	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x75,
   564  	0x78, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e, 0x54, 0x61, 0x70,
   565  	0x4c, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x70, 0x12, 0x3e, 0x0a, 0x07, 0x76,
   566  	0x72, 0x66, 0x5f, 0x64, 0x65, 0x76, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c,
   567  	0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x2e, 0x69, 0x6e, 0x74, 0x65,
   568  	0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e, 0x56, 0x72, 0x66, 0x44, 0x65, 0x76, 0x4c, 0x69, 0x6e,
   569  	0x6b, 0x48, 0x00, 0x52, 0x06, 0x76, 0x72, 0x66, 0x44, 0x65, 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x6c,
   570  	0x69, 0x6e, 0x6b, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
   571  	0x6c, 0x69, 0x6e, 0x6b, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x76, 0x72, 0x66, 0x5f,
   572  	0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
   573  	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, 0x72, 0x66, 0x4d, 0x61, 0x73, 0x74, 0x65,
   574  	0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x66, 0x0a, 0x04, 0x54, 0x79,
   575  	0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10,
   576  	0x00, 0x12, 0x08, 0x0a, 0x04, 0x56, 0x45, 0x54, 0x48, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54,
   577  	0x41, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x56, 0x50, 0x50, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4c,
   578  	0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x49,
   579  	0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x52, 0x46, 0x5f, 0x44,
   580  	0x45, 0x56, 0x49, 0x43, 0x45, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x55, 0x4d, 0x4d, 0x59,
   581  	0x10, 0x06, 0x42, 0x06, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0xec, 0x02, 0x0a, 0x08, 0x56,
   582  	0x65, 0x74, 0x68, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x5f,
   583  	0x69, 0x66, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70,
   584  	0x65, 0x65, 0x72, 0x49, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6a, 0x0a, 0x16, 0x72, 0x78, 0x5f,
   585  	0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64,
   586  	0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x6c, 0x69, 0x67, 0x61,
   587  	0x74, 0x6f, 0x2e, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
   588  	0x63, 0x65, 0x73, 0x2e, 0x56, 0x65, 0x74, 0x68, 0x4c, 0x69, 0x6e, 0x6b, 0x2e, 0x43, 0x68, 0x65,
   589  	0x63, 0x6b, 0x73, 0x75, 0x6d, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x52,
   590  	0x14, 0x72, 0x78, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x4f, 0x66, 0x66, 0x6c, 0x6f,
   591  	0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x6a, 0x0a, 0x16, 0x74, 0x78, 0x5f, 0x63, 0x68, 0x65, 0x63,
   592  	0x6b, 0x73, 0x75, 0x6d, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18,
   593  	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x6c,
   594  	0x69, 0x6e, 0x75, 0x78, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e,
   595  	0x56, 0x65, 0x74, 0x68, 0x4c, 0x69, 0x6e, 0x6b, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
   596  	0x6d, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x14, 0x74, 0x78, 0x43,
   597  	0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x4f, 0x66, 0x66, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e,
   598  	0x67, 0x22, 0x66, 0x0a, 0x12, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x4f, 0x66, 0x66,
   599  	0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, 0x4b, 0x53, 0x4d,
   600  	0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54,
   601  	0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, 0x4b, 0x53, 0x4d, 0x5f, 0x4f, 0x46, 0x46, 0x4c,
   602  	0x4f, 0x41, 0x44, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1a, 0x0a,
   603  	0x16, 0x43, 0x48, 0x4b, 0x53, 0x4d, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x44,
   604  	0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0x30, 0x0a, 0x07, 0x54, 0x61, 0x70,
   605  	0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x25, 0x0a, 0x0f, 0x76, 0x70, 0x70, 0x5f, 0x74, 0x61, 0x70, 0x5f,
   606  	0x69, 0x66, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76,
   607  	0x70, 0x70, 0x54, 0x61, 0x70, 0x49, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x0a, 0x56,
   608  	0x72, 0x66, 0x44, 0x65, 0x76, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x6f, 0x75,
   609  	0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
   610  	0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x4a,
   611  	0x5a, 0x48, 0x67, 0x6f, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76,
   612  	0x70, 0x70, 0x2d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74,
   613  	0x6f, 0x2f, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x2f, 0x69,
   614  	0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x3b, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f,
   615  	0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
   616  	0x6f, 0x33,
   617  }
   618  
   619  var (
   620  	file_ligato_linux_interfaces_interface_proto_rawDescOnce sync.Once
   621  	file_ligato_linux_interfaces_interface_proto_rawDescData = file_ligato_linux_interfaces_interface_proto_rawDesc
   622  )
   623  
   624  func file_ligato_linux_interfaces_interface_proto_rawDescGZIP() []byte {
   625  	file_ligato_linux_interfaces_interface_proto_rawDescOnce.Do(func() {
   626  		file_ligato_linux_interfaces_interface_proto_rawDescData = protoimpl.X.CompressGZIP(file_ligato_linux_interfaces_interface_proto_rawDescData)
   627  	})
   628  	return file_ligato_linux_interfaces_interface_proto_rawDescData
   629  }
   630  
   631  var file_ligato_linux_interfaces_interface_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
   632  var file_ligato_linux_interfaces_interface_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
   633  var file_ligato_linux_interfaces_interface_proto_goTypes = []interface{}{
   634  	(Interface_Type)(0),              // 0: ligato.linux.interfaces.Interface.Type
   635  	(VethLink_ChecksumOffloading)(0), // 1: ligato.linux.interfaces.VethLink.ChecksumOffloading
   636  	(*Interface)(nil),                // 2: ligato.linux.interfaces.Interface
   637  	(*VethLink)(nil),                 // 3: ligato.linux.interfaces.VethLink
   638  	(*TapLink)(nil),                  // 4: ligato.linux.interfaces.TapLink
   639  	(*VrfDevLink)(nil),               // 5: ligato.linux.interfaces.VrfDevLink
   640  	(*namespace.NetNamespace)(nil),   // 6: ligato.linux.namespace.NetNamespace
   641  }
   642  var file_ligato_linux_interfaces_interface_proto_depIdxs = []int32{
   643  	0, // 0: ligato.linux.interfaces.Interface.type:type_name -> ligato.linux.interfaces.Interface.Type
   644  	6, // 1: ligato.linux.interfaces.Interface.namespace:type_name -> ligato.linux.namespace.NetNamespace
   645  	3, // 2: ligato.linux.interfaces.Interface.veth:type_name -> ligato.linux.interfaces.VethLink
   646  	4, // 3: ligato.linux.interfaces.Interface.tap:type_name -> ligato.linux.interfaces.TapLink
   647  	5, // 4: ligato.linux.interfaces.Interface.vrf_dev:type_name -> ligato.linux.interfaces.VrfDevLink
   648  	1, // 5: ligato.linux.interfaces.VethLink.rx_checksum_offloading:type_name -> ligato.linux.interfaces.VethLink.ChecksumOffloading
   649  	1, // 6: ligato.linux.interfaces.VethLink.tx_checksum_offloading:type_name -> ligato.linux.interfaces.VethLink.ChecksumOffloading
   650  	7, // [7:7] is the sub-list for method output_type
   651  	7, // [7:7] is the sub-list for method input_type
   652  	7, // [7:7] is the sub-list for extension type_name
   653  	7, // [7:7] is the sub-list for extension extendee
   654  	0, // [0:7] is the sub-list for field type_name
   655  }
   656  
   657  func init() { file_ligato_linux_interfaces_interface_proto_init() }
   658  func file_ligato_linux_interfaces_interface_proto_init() {
   659  	if File_ligato_linux_interfaces_interface_proto != nil {
   660  		return
   661  	}
   662  	if !protoimpl.UnsafeEnabled {
   663  		file_ligato_linux_interfaces_interface_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   664  			switch v := v.(*Interface); i {
   665  			case 0:
   666  				return &v.state
   667  			case 1:
   668  				return &v.sizeCache
   669  			case 2:
   670  				return &v.unknownFields
   671  			default:
   672  				return nil
   673  			}
   674  		}
   675  		file_ligato_linux_interfaces_interface_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   676  			switch v := v.(*VethLink); i {
   677  			case 0:
   678  				return &v.state
   679  			case 1:
   680  				return &v.sizeCache
   681  			case 2:
   682  				return &v.unknownFields
   683  			default:
   684  				return nil
   685  			}
   686  		}
   687  		file_ligato_linux_interfaces_interface_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   688  			switch v := v.(*TapLink); i {
   689  			case 0:
   690  				return &v.state
   691  			case 1:
   692  				return &v.sizeCache
   693  			case 2:
   694  				return &v.unknownFields
   695  			default:
   696  				return nil
   697  			}
   698  		}
   699  		file_ligato_linux_interfaces_interface_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   700  			switch v := v.(*VrfDevLink); i {
   701  			case 0:
   702  				return &v.state
   703  			case 1:
   704  				return &v.sizeCache
   705  			case 2:
   706  				return &v.unknownFields
   707  			default:
   708  				return nil
   709  			}
   710  		}
   711  	}
   712  	file_ligato_linux_interfaces_interface_proto_msgTypes[0].OneofWrappers = []interface{}{
   713  		(*Interface_Veth)(nil),
   714  		(*Interface_Tap)(nil),
   715  		(*Interface_VrfDev)(nil),
   716  	}
   717  	type x struct{}
   718  	out := protoimpl.TypeBuilder{
   719  		File: protoimpl.DescBuilder{
   720  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   721  			RawDescriptor: file_ligato_linux_interfaces_interface_proto_rawDesc,
   722  			NumEnums:      2,
   723  			NumMessages:   4,
   724  			NumExtensions: 0,
   725  			NumServices:   0,
   726  		},
   727  		GoTypes:           file_ligato_linux_interfaces_interface_proto_goTypes,
   728  		DependencyIndexes: file_ligato_linux_interfaces_interface_proto_depIdxs,
   729  		EnumInfos:         file_ligato_linux_interfaces_interface_proto_enumTypes,
   730  		MessageInfos:      file_ligato_linux_interfaces_interface_proto_msgTypes,
   731  	}.Build()
   732  	File_ligato_linux_interfaces_interface_proto = out.File
   733  	file_ligato_linux_interfaces_interface_proto_rawDesc = nil
   734  	file_ligato_linux_interfaces_interface_proto_goTypes = nil
   735  	file_ligato_linux_interfaces_interface_proto_depIdxs = nil
   736  }