go.ligato.io/vpp-agent/v3@v3.5.0/proto/ligato/vpp/nat/nat.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/vpp/nat/nat.proto
     6  
     7  package vpp_nat
     8  
     9  import (
    10  	_ "go.ligato.io/vpp-agent/v3/proto/ligato"
    11  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    12  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    13  	reflect "reflect"
    14  	sync "sync"
    15  )
    16  
    17  const (
    18  	// Verify that this generated code is sufficiently up-to-date.
    19  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    20  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    21  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    22  )
    23  
    24  // Available protocols.
    25  type DNat44_Protocol int32
    26  
    27  const (
    28  	DNat44_TCP DNat44_Protocol = 0
    29  	DNat44_UDP DNat44_Protocol = 1
    30  	// ICMP is not permitted for load balanced entries.
    31  	DNat44_ICMP DNat44_Protocol = 2
    32  )
    33  
    34  // Enum value maps for DNat44_Protocol.
    35  var (
    36  	DNat44_Protocol_name = map[int32]string{
    37  		0: "TCP",
    38  		1: "UDP",
    39  		2: "ICMP",
    40  	}
    41  	DNat44_Protocol_value = map[string]int32{
    42  		"TCP":  0,
    43  		"UDP":  1,
    44  		"ICMP": 2,
    45  	}
    46  )
    47  
    48  func (x DNat44_Protocol) Enum() *DNat44_Protocol {
    49  	p := new(DNat44_Protocol)
    50  	*p = x
    51  	return p
    52  }
    53  
    54  func (x DNat44_Protocol) String() string {
    55  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    56  }
    57  
    58  func (DNat44_Protocol) Descriptor() protoreflect.EnumDescriptor {
    59  	return file_ligato_vpp_nat_nat_proto_enumTypes[0].Descriptor()
    60  }
    61  
    62  func (DNat44_Protocol) Type() protoreflect.EnumType {
    63  	return &file_ligato_vpp_nat_nat_proto_enumTypes[0]
    64  }
    65  
    66  func (x DNat44_Protocol) Number() protoreflect.EnumNumber {
    67  	return protoreflect.EnumNumber(x)
    68  }
    69  
    70  // Deprecated: Use DNat44_Protocol.Descriptor instead.
    71  func (DNat44_Protocol) EnumDescriptor() ([]byte, []int) {
    72  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{1, 0}
    73  }
    74  
    75  // Available twice-NAT modes.
    76  type DNat44_StaticMapping_TwiceNatMode int32
    77  
    78  const (
    79  	DNat44_StaticMapping_DISABLED DNat44_StaticMapping_TwiceNatMode = 0
    80  	DNat44_StaticMapping_ENABLED  DNat44_StaticMapping_TwiceNatMode = 1
    81  	DNat44_StaticMapping_SELF     DNat44_StaticMapping_TwiceNatMode = 2
    82  )
    83  
    84  // Enum value maps for DNat44_StaticMapping_TwiceNatMode.
    85  var (
    86  	DNat44_StaticMapping_TwiceNatMode_name = map[int32]string{
    87  		0: "DISABLED",
    88  		1: "ENABLED",
    89  		2: "SELF",
    90  	}
    91  	DNat44_StaticMapping_TwiceNatMode_value = map[string]int32{
    92  		"DISABLED": 0,
    93  		"ENABLED":  1,
    94  		"SELF":     2,
    95  	}
    96  )
    97  
    98  func (x DNat44_StaticMapping_TwiceNatMode) Enum() *DNat44_StaticMapping_TwiceNatMode {
    99  	p := new(DNat44_StaticMapping_TwiceNatMode)
   100  	*p = x
   101  	return p
   102  }
   103  
   104  func (x DNat44_StaticMapping_TwiceNatMode) String() string {
   105  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   106  }
   107  
   108  func (DNat44_StaticMapping_TwiceNatMode) Descriptor() protoreflect.EnumDescriptor {
   109  	return file_ligato_vpp_nat_nat_proto_enumTypes[1].Descriptor()
   110  }
   111  
   112  func (DNat44_StaticMapping_TwiceNatMode) Type() protoreflect.EnumType {
   113  	return &file_ligato_vpp_nat_nat_proto_enumTypes[1]
   114  }
   115  
   116  func (x DNat44_StaticMapping_TwiceNatMode) Number() protoreflect.EnumNumber {
   117  	return protoreflect.EnumNumber(x)
   118  }
   119  
   120  // Deprecated: Use DNat44_StaticMapping_TwiceNatMode.Descriptor instead.
   121  func (DNat44_StaticMapping_TwiceNatMode) EnumDescriptor() ([]byte, []int) {
   122  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{1, 0, 0}
   123  }
   124  
   125  // Nat44Global defines global NAT44 configuration.
   126  // In VPP version 21.01 and newer the NAT44 plugin has to be explicitly enabled (by default it is
   127  // disabled so that it doesn't consume any computational resources). With ligato control-plane
   128  // the NAT44 plugin is enabled by submitting the NAT44Global configuration (even default values
   129  // will make the plugin enabled). Without Nat44Global, all other NAT44 configuration items
   130  // (DNat44, Nat44Interface and Nat44AddressPool) will be in the PENDING state.
   131  type Nat44Global struct {
   132  	state         protoimpl.MessageState
   133  	sizeCache     protoimpl.SizeCache
   134  	unknownFields protoimpl.UnknownFields
   135  
   136  	// Enable/disable forwarding. By default it is disabled.
   137  	Forwarding bool `protobuf:"varint,1,opt,name=forwarding,proto3" json:"forwarding,omitempty"`
   138  	// Enable/disable endpoint-independent mode.
   139  	// In endpoint-independent (also known as "simple") mode the VPP NAT plugin holds
   140  	// less information for each session, but only works with outbound NAT and static mappings.
   141  	// In endpoint-dependent mode, which ligato selects as the default, the VPP NAT plugin uses
   142  	// more information to track each session, which in turn enables additional features
   143  	// such as out-to-in-only and twice-nat.
   144  	// In older versions of VPP (<= 20.09) this field is ignored because mode at which the NAT44 plugin
   145  	// operates is given by the VPP startup configuration file (i.e. config created before VPP even starts,
   146  	// therefore not managed by ligato). The endpoint-independent mode is the default and the dependent mode
   147  	// is turned on with this config stanza (included in vpp.conf used by ligato for older VPPs):
   148  	//     nat {
   149  	//         endpoint-dependent
   150  	//     }
   151  	EndpointIndependent bool `protobuf:"varint,5,opt,name=endpoint_independent,json=endpointIndependent,proto3" json:"endpoint_independent,omitempty"`
   152  	// List of NAT-enabled interfaces. Deprecated - use separate Nat44Interface entries instead.
   153  	//
   154  	// Deprecated: Do not use.
   155  	NatInterfaces []*Nat44Global_Interface `protobuf:"bytes,2,rep,name=nat_interfaces,json=natInterfaces,proto3" json:"nat_interfaces,omitempty"`
   156  	// Address pool used for source IP NAT. Deprecated - use separate Nat44AddressPool entries instead.
   157  	//
   158  	// Deprecated: Do not use.
   159  	AddressPool []*Nat44Global_Address `protobuf:"bytes,3,rep,name=address_pool,json=addressPool,proto3" json:"address_pool,omitempty"`
   160  	// Virtual reassembly for IPv4.
   161  	VirtualReassembly *VirtualReassembly `protobuf:"bytes,4,opt,name=virtual_reassembly,json=virtualReassembly,proto3" json:"virtual_reassembly,omitempty"`
   162  }
   163  
   164  func (x *Nat44Global) Reset() {
   165  	*x = Nat44Global{}
   166  	if protoimpl.UnsafeEnabled {
   167  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[0]
   168  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   169  		ms.StoreMessageInfo(mi)
   170  	}
   171  }
   172  
   173  func (x *Nat44Global) String() string {
   174  	return protoimpl.X.MessageStringOf(x)
   175  }
   176  
   177  func (*Nat44Global) ProtoMessage() {}
   178  
   179  func (x *Nat44Global) ProtoReflect() protoreflect.Message {
   180  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[0]
   181  	if protoimpl.UnsafeEnabled && x != nil {
   182  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   183  		if ms.LoadMessageInfo() == nil {
   184  			ms.StoreMessageInfo(mi)
   185  		}
   186  		return ms
   187  	}
   188  	return mi.MessageOf(x)
   189  }
   190  
   191  // Deprecated: Use Nat44Global.ProtoReflect.Descriptor instead.
   192  func (*Nat44Global) Descriptor() ([]byte, []int) {
   193  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{0}
   194  }
   195  
   196  func (x *Nat44Global) GetForwarding() bool {
   197  	if x != nil {
   198  		return x.Forwarding
   199  	}
   200  	return false
   201  }
   202  
   203  func (x *Nat44Global) GetEndpointIndependent() bool {
   204  	if x != nil {
   205  		return x.EndpointIndependent
   206  	}
   207  	return false
   208  }
   209  
   210  // Deprecated: Do not use.
   211  func (x *Nat44Global) GetNatInterfaces() []*Nat44Global_Interface {
   212  	if x != nil {
   213  		return x.NatInterfaces
   214  	}
   215  	return nil
   216  }
   217  
   218  // Deprecated: Do not use.
   219  func (x *Nat44Global) GetAddressPool() []*Nat44Global_Address {
   220  	if x != nil {
   221  		return x.AddressPool
   222  	}
   223  	return nil
   224  }
   225  
   226  func (x *Nat44Global) GetVirtualReassembly() *VirtualReassembly {
   227  	if x != nil {
   228  		return x.VirtualReassembly
   229  	}
   230  	return nil
   231  }
   232  
   233  // DNat44 defines destination NAT44 configuration.
   234  type DNat44 struct {
   235  	state         protoimpl.MessageState
   236  	sizeCache     protoimpl.SizeCache
   237  	unknownFields protoimpl.UnknownFields
   238  
   239  	// Unique identifier for the DNAT configuration.
   240  	Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
   241  	// A list of static mappings in DNAT.
   242  	StMappings []*DNat44_StaticMapping `protobuf:"bytes,2,rep,name=st_mappings,json=stMappings,proto3" json:"st_mappings,omitempty"`
   243  	// A list of identity mappings in DNAT.
   244  	IdMappings []*DNat44_IdentityMapping `protobuf:"bytes,3,rep,name=id_mappings,json=idMappings,proto3" json:"id_mappings,omitempty"`
   245  }
   246  
   247  func (x *DNat44) Reset() {
   248  	*x = DNat44{}
   249  	if protoimpl.UnsafeEnabled {
   250  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[1]
   251  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   252  		ms.StoreMessageInfo(mi)
   253  	}
   254  }
   255  
   256  func (x *DNat44) String() string {
   257  	return protoimpl.X.MessageStringOf(x)
   258  }
   259  
   260  func (*DNat44) ProtoMessage() {}
   261  
   262  func (x *DNat44) ProtoReflect() protoreflect.Message {
   263  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[1]
   264  	if protoimpl.UnsafeEnabled && x != nil {
   265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   266  		if ms.LoadMessageInfo() == nil {
   267  			ms.StoreMessageInfo(mi)
   268  		}
   269  		return ms
   270  	}
   271  	return mi.MessageOf(x)
   272  }
   273  
   274  // Deprecated: Use DNat44.ProtoReflect.Descriptor instead.
   275  func (*DNat44) Descriptor() ([]byte, []int) {
   276  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{1}
   277  }
   278  
   279  func (x *DNat44) GetLabel() string {
   280  	if x != nil {
   281  		return x.Label
   282  	}
   283  	return ""
   284  }
   285  
   286  func (x *DNat44) GetStMappings() []*DNat44_StaticMapping {
   287  	if x != nil {
   288  		return x.StMappings
   289  	}
   290  	return nil
   291  }
   292  
   293  func (x *DNat44) GetIdMappings() []*DNat44_IdentityMapping {
   294  	if x != nil {
   295  		return x.IdMappings
   296  	}
   297  	return nil
   298  }
   299  
   300  // Nat44Interface defines a local network interfaces enabled for NAT44.
   301  type Nat44Interface struct {
   302  	state         protoimpl.MessageState
   303  	sizeCache     protoimpl.SizeCache
   304  	unknownFields protoimpl.UnknownFields
   305  
   306  	// Interface name (logical).
   307  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   308  	// Enable/disable NAT on inside.
   309  	NatInside bool `protobuf:"varint,2,opt,name=nat_inside,json=natInside,proto3" json:"nat_inside,omitempty"`
   310  	// Enable/disable NAT on outside.
   311  	NatOutside bool `protobuf:"varint,3,opt,name=nat_outside,json=natOutside,proto3" json:"nat_outside,omitempty"`
   312  	//  Enable/disable output feature.
   313  	OutputFeature bool `protobuf:"varint,4,opt,name=output_feature,json=outputFeature,proto3" json:"output_feature,omitempty"`
   314  }
   315  
   316  func (x *Nat44Interface) Reset() {
   317  	*x = Nat44Interface{}
   318  	if protoimpl.UnsafeEnabled {
   319  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[2]
   320  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   321  		ms.StoreMessageInfo(mi)
   322  	}
   323  }
   324  
   325  func (x *Nat44Interface) String() string {
   326  	return protoimpl.X.MessageStringOf(x)
   327  }
   328  
   329  func (*Nat44Interface) ProtoMessage() {}
   330  
   331  func (x *Nat44Interface) ProtoReflect() protoreflect.Message {
   332  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[2]
   333  	if protoimpl.UnsafeEnabled && x != nil {
   334  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   335  		if ms.LoadMessageInfo() == nil {
   336  			ms.StoreMessageInfo(mi)
   337  		}
   338  		return ms
   339  	}
   340  	return mi.MessageOf(x)
   341  }
   342  
   343  // Deprecated: Use Nat44Interface.ProtoReflect.Descriptor instead.
   344  func (*Nat44Interface) Descriptor() ([]byte, []int) {
   345  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{2}
   346  }
   347  
   348  func (x *Nat44Interface) GetName() string {
   349  	if x != nil {
   350  		return x.Name
   351  	}
   352  	return ""
   353  }
   354  
   355  func (x *Nat44Interface) GetNatInside() bool {
   356  	if x != nil {
   357  		return x.NatInside
   358  	}
   359  	return false
   360  }
   361  
   362  func (x *Nat44Interface) GetNatOutside() bool {
   363  	if x != nil {
   364  		return x.NatOutside
   365  	}
   366  	return false
   367  }
   368  
   369  func (x *Nat44Interface) GetOutputFeature() bool {
   370  	if x != nil {
   371  		return x.OutputFeature
   372  	}
   373  	return false
   374  }
   375  
   376  // Nat44AddressPool defines an address pool used for NAT44.
   377  type Nat44AddressPool struct {
   378  	state         protoimpl.MessageState
   379  	sizeCache     protoimpl.SizeCache
   380  	unknownFields protoimpl.UnknownFields
   381  
   382  	// Unique name for address pool
   383  	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
   384  	// VRF id of tenant, 0xFFFFFFFF means independent of VRF.
   385  	// Non-zero (and not all-ones) VRF has to be explicitly created (see api/models/vpp/l3/vrf.proto).
   386  	VrfId uint32 `protobuf:"varint,1,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
   387  	// First IP address of the pool.
   388  	FirstIp string `protobuf:"bytes,2,opt,name=first_ip,json=firstIp,proto3" json:"first_ip,omitempty"`
   389  	// Last IP address of the pool. Should be higher than first_ip or empty.
   390  	LastIp string `protobuf:"bytes,3,opt,name=last_ip,json=lastIp,proto3" json:"last_ip,omitempty"`
   391  	// Enable/disable twice NAT.
   392  	TwiceNat bool `protobuf:"varint,4,opt,name=twice_nat,json=twiceNat,proto3" json:"twice_nat,omitempty"`
   393  }
   394  
   395  func (x *Nat44AddressPool) Reset() {
   396  	*x = Nat44AddressPool{}
   397  	if protoimpl.UnsafeEnabled {
   398  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[3]
   399  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   400  		ms.StoreMessageInfo(mi)
   401  	}
   402  }
   403  
   404  func (x *Nat44AddressPool) String() string {
   405  	return protoimpl.X.MessageStringOf(x)
   406  }
   407  
   408  func (*Nat44AddressPool) ProtoMessage() {}
   409  
   410  func (x *Nat44AddressPool) ProtoReflect() protoreflect.Message {
   411  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[3]
   412  	if protoimpl.UnsafeEnabled && x != nil {
   413  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   414  		if ms.LoadMessageInfo() == nil {
   415  			ms.StoreMessageInfo(mi)
   416  		}
   417  		return ms
   418  	}
   419  	return mi.MessageOf(x)
   420  }
   421  
   422  // Deprecated: Use Nat44AddressPool.ProtoReflect.Descriptor instead.
   423  func (*Nat44AddressPool) Descriptor() ([]byte, []int) {
   424  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{3}
   425  }
   426  
   427  func (x *Nat44AddressPool) GetName() string {
   428  	if x != nil {
   429  		return x.Name
   430  	}
   431  	return ""
   432  }
   433  
   434  func (x *Nat44AddressPool) GetVrfId() uint32 {
   435  	if x != nil {
   436  		return x.VrfId
   437  	}
   438  	return 0
   439  }
   440  
   441  func (x *Nat44AddressPool) GetFirstIp() string {
   442  	if x != nil {
   443  		return x.FirstIp
   444  	}
   445  	return ""
   446  }
   447  
   448  func (x *Nat44AddressPool) GetLastIp() string {
   449  	if x != nil {
   450  		return x.LastIp
   451  	}
   452  	return ""
   453  }
   454  
   455  func (x *Nat44AddressPool) GetTwiceNat() bool {
   456  	if x != nil {
   457  		return x.TwiceNat
   458  	}
   459  	return false
   460  }
   461  
   462  // VirtualReassembly defines NAT virtual reassembly settings.
   463  type VirtualReassembly struct {
   464  	state         protoimpl.MessageState
   465  	sizeCache     protoimpl.SizeCache
   466  	unknownFields protoimpl.UnknownFields
   467  
   468  	// Reassembly timeout.
   469  	Timeout uint32 `protobuf:"varint,1,opt,name=timeout,proto3" json:"timeout,omitempty"`
   470  	// Maximum number of concurrent reassemblies.
   471  	MaxReassemblies uint32 `protobuf:"varint,2,opt,name=max_reassemblies,json=maxReassemblies,proto3" json:"max_reassemblies,omitempty"`
   472  	// Maximum number of fragments per reassembly.
   473  	MaxFragments uint32 `protobuf:"varint,3,opt,name=max_fragments,json=maxFragments,proto3" json:"max_fragments,omitempty"`
   474  	// If set to true fragments are dropped, translated otherwise.
   475  	DropFragments bool `protobuf:"varint,4,opt,name=drop_fragments,json=dropFragments,proto3" json:"drop_fragments,omitempty"`
   476  }
   477  
   478  func (x *VirtualReassembly) Reset() {
   479  	*x = VirtualReassembly{}
   480  	if protoimpl.UnsafeEnabled {
   481  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[4]
   482  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   483  		ms.StoreMessageInfo(mi)
   484  	}
   485  }
   486  
   487  func (x *VirtualReassembly) String() string {
   488  	return protoimpl.X.MessageStringOf(x)
   489  }
   490  
   491  func (*VirtualReassembly) ProtoMessage() {}
   492  
   493  func (x *VirtualReassembly) ProtoReflect() protoreflect.Message {
   494  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[4]
   495  	if protoimpl.UnsafeEnabled && x != nil {
   496  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   497  		if ms.LoadMessageInfo() == nil {
   498  			ms.StoreMessageInfo(mi)
   499  		}
   500  		return ms
   501  	}
   502  	return mi.MessageOf(x)
   503  }
   504  
   505  // Deprecated: Use VirtualReassembly.ProtoReflect.Descriptor instead.
   506  func (*VirtualReassembly) Descriptor() ([]byte, []int) {
   507  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{4}
   508  }
   509  
   510  func (x *VirtualReassembly) GetTimeout() uint32 {
   511  	if x != nil {
   512  		return x.Timeout
   513  	}
   514  	return 0
   515  }
   516  
   517  func (x *VirtualReassembly) GetMaxReassemblies() uint32 {
   518  	if x != nil {
   519  		return x.MaxReassemblies
   520  	}
   521  	return 0
   522  }
   523  
   524  func (x *VirtualReassembly) GetMaxFragments() uint32 {
   525  	if x != nil {
   526  		return x.MaxFragments
   527  	}
   528  	return 0
   529  }
   530  
   531  func (x *VirtualReassembly) GetDropFragments() bool {
   532  	if x != nil {
   533  		return x.DropFragments
   534  	}
   535  	return false
   536  }
   537  
   538  // Interface defines a network interface enabled for NAT.
   539  type Nat44Global_Interface struct {
   540  	state         protoimpl.MessageState
   541  	sizeCache     protoimpl.SizeCache
   542  	unknownFields protoimpl.UnknownFields
   543  
   544  	// Interface name (logical).
   545  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   546  	// Distinguish between inside/outside interface.
   547  	IsInside bool `protobuf:"varint,2,opt,name=is_inside,json=isInside,proto3" json:"is_inside,omitempty"`
   548  	// Enable/disable output feature.
   549  	OutputFeature bool `protobuf:"varint,3,opt,name=output_feature,json=outputFeature,proto3" json:"output_feature,omitempty"`
   550  }
   551  
   552  func (x *Nat44Global_Interface) Reset() {
   553  	*x = Nat44Global_Interface{}
   554  	if protoimpl.UnsafeEnabled {
   555  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[5]
   556  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   557  		ms.StoreMessageInfo(mi)
   558  	}
   559  }
   560  
   561  func (x *Nat44Global_Interface) String() string {
   562  	return protoimpl.X.MessageStringOf(x)
   563  }
   564  
   565  func (*Nat44Global_Interface) ProtoMessage() {}
   566  
   567  func (x *Nat44Global_Interface) ProtoReflect() protoreflect.Message {
   568  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[5]
   569  	if protoimpl.UnsafeEnabled && x != nil {
   570  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   571  		if ms.LoadMessageInfo() == nil {
   572  			ms.StoreMessageInfo(mi)
   573  		}
   574  		return ms
   575  	}
   576  	return mi.MessageOf(x)
   577  }
   578  
   579  // Deprecated: Use Nat44Global_Interface.ProtoReflect.Descriptor instead.
   580  func (*Nat44Global_Interface) Descriptor() ([]byte, []int) {
   581  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{0, 0}
   582  }
   583  
   584  func (x *Nat44Global_Interface) GetName() string {
   585  	if x != nil {
   586  		return x.Name
   587  	}
   588  	return ""
   589  }
   590  
   591  func (x *Nat44Global_Interface) GetIsInside() bool {
   592  	if x != nil {
   593  		return x.IsInside
   594  	}
   595  	return false
   596  }
   597  
   598  func (x *Nat44Global_Interface) GetOutputFeature() bool {
   599  	if x != nil {
   600  		return x.OutputFeature
   601  	}
   602  	return false
   603  }
   604  
   605  // Address defines an address to be used for source IP NAT.
   606  type Nat44Global_Address struct {
   607  	state         protoimpl.MessageState
   608  	sizeCache     protoimpl.SizeCache
   609  	unknownFields protoimpl.UnknownFields
   610  
   611  	// IPv4 address.
   612  	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
   613  	// VRF id of tenant, 0xFFFFFFFF means independent of VRF.
   614  	// Non-zero (and not all-ones) VRF has to be explicitly created (see api/models/vpp/l3/vrf.proto).
   615  	VrfId uint32 `protobuf:"varint,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
   616  	// Enable/disable twice NAT.
   617  	TwiceNat bool `protobuf:"varint,3,opt,name=twice_nat,json=twiceNat,proto3" json:"twice_nat,omitempty"`
   618  }
   619  
   620  func (x *Nat44Global_Address) Reset() {
   621  	*x = Nat44Global_Address{}
   622  	if protoimpl.UnsafeEnabled {
   623  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[6]
   624  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   625  		ms.StoreMessageInfo(mi)
   626  	}
   627  }
   628  
   629  func (x *Nat44Global_Address) String() string {
   630  	return protoimpl.X.MessageStringOf(x)
   631  }
   632  
   633  func (*Nat44Global_Address) ProtoMessage() {}
   634  
   635  func (x *Nat44Global_Address) ProtoReflect() protoreflect.Message {
   636  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[6]
   637  	if protoimpl.UnsafeEnabled && x != nil {
   638  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   639  		if ms.LoadMessageInfo() == nil {
   640  			ms.StoreMessageInfo(mi)
   641  		}
   642  		return ms
   643  	}
   644  	return mi.MessageOf(x)
   645  }
   646  
   647  // Deprecated: Use Nat44Global_Address.ProtoReflect.Descriptor instead.
   648  func (*Nat44Global_Address) Descriptor() ([]byte, []int) {
   649  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{0, 1}
   650  }
   651  
   652  func (x *Nat44Global_Address) GetAddress() string {
   653  	if x != nil {
   654  		return x.Address
   655  	}
   656  	return ""
   657  }
   658  
   659  func (x *Nat44Global_Address) GetVrfId() uint32 {
   660  	if x != nil {
   661  		return x.VrfId
   662  	}
   663  	return 0
   664  }
   665  
   666  func (x *Nat44Global_Address) GetTwiceNat() bool {
   667  	if x != nil {
   668  		return x.TwiceNat
   669  	}
   670  	return false
   671  }
   672  
   673  // StaticMapping defines a list of static mappings in DNAT.
   674  type DNat44_StaticMapping struct {
   675  	state         protoimpl.MessageState
   676  	sizeCache     protoimpl.SizeCache
   677  	unknownFields protoimpl.UnknownFields
   678  
   679  	// Interface to use external IP from; preferred over external_ip.
   680  	ExternalInterface string `protobuf:"bytes,1,opt,name=external_interface,json=externalInterface,proto3" json:"external_interface,omitempty"`
   681  	// External address.
   682  	ExternalIp string `protobuf:"bytes,2,opt,name=external_ip,json=externalIp,proto3" json:"external_ip,omitempty"`
   683  	// Port (do not set for address mapping).
   684  	ExternalPort uint32 `protobuf:"varint,3,opt,name=external_port,json=externalPort,proto3" json:"external_port,omitempty"`
   685  	// List of local IP addresses. If there is more than one entry, load-balancing is enabled.
   686  	LocalIps []*DNat44_StaticMapping_LocalIP `protobuf:"bytes,4,rep,name=local_ips,json=localIps,proto3" json:"local_ips,omitempty"`
   687  	// Protocol used for static mapping.
   688  	Protocol DNat44_Protocol `protobuf:"varint,5,opt,name=protocol,proto3,enum=ligato.vpp.nat.DNat44_Protocol" json:"protocol,omitempty"`
   689  	// Enable/disable (self-)twice NAT.
   690  	TwiceNat DNat44_StaticMapping_TwiceNatMode `protobuf:"varint,6,opt,name=twice_nat,json=twiceNat,proto3,enum=ligato.vpp.nat.DNat44_StaticMapping_TwiceNatMode" json:"twice_nat,omitempty"`
   691  	// IP address from Twice-NAT address pool that should be used as source IP in twice-NAT processing.
   692  	// This is override for default behaviour of choosing the first IP address from twice-NAT pool that
   693  	// has available at least one free port (NAT is tracking translation sessions and exhausts free ports
   694  	// for given IP address). This is needed for example in use cases when multiple twice-NAT
   695  	// translations need to use different IP Addresses as source IP addresses.
   696  	// This functionality works with VPP 20.09 and newer. It also needs to have twice_nat set to ENABLED.
   697  	// It doesn't work for load-balanced static mappings (=local_ips has multiple values).
   698  	TwiceNatPoolIp string `protobuf:"bytes,8,opt,name=twice_nat_pool_ip,json=twiceNatPoolIp,proto3" json:"twice_nat_pool_ip,omitempty"`
   699  	// Session affinity. 0 means disabled, otherwise client IP affinity sticky time in seconds.
   700  	SessionAffinity uint32 `protobuf:"varint,7,opt,name=session_affinity,json=sessionAffinity,proto3" json:"session_affinity,omitempty"`
   701  }
   702  
   703  func (x *DNat44_StaticMapping) Reset() {
   704  	*x = DNat44_StaticMapping{}
   705  	if protoimpl.UnsafeEnabled {
   706  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[7]
   707  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   708  		ms.StoreMessageInfo(mi)
   709  	}
   710  }
   711  
   712  func (x *DNat44_StaticMapping) String() string {
   713  	return protoimpl.X.MessageStringOf(x)
   714  }
   715  
   716  func (*DNat44_StaticMapping) ProtoMessage() {}
   717  
   718  func (x *DNat44_StaticMapping) ProtoReflect() protoreflect.Message {
   719  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[7]
   720  	if protoimpl.UnsafeEnabled && x != nil {
   721  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   722  		if ms.LoadMessageInfo() == nil {
   723  			ms.StoreMessageInfo(mi)
   724  		}
   725  		return ms
   726  	}
   727  	return mi.MessageOf(x)
   728  }
   729  
   730  // Deprecated: Use DNat44_StaticMapping.ProtoReflect.Descriptor instead.
   731  func (*DNat44_StaticMapping) Descriptor() ([]byte, []int) {
   732  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{1, 0}
   733  }
   734  
   735  func (x *DNat44_StaticMapping) GetExternalInterface() string {
   736  	if x != nil {
   737  		return x.ExternalInterface
   738  	}
   739  	return ""
   740  }
   741  
   742  func (x *DNat44_StaticMapping) GetExternalIp() string {
   743  	if x != nil {
   744  		return x.ExternalIp
   745  	}
   746  	return ""
   747  }
   748  
   749  func (x *DNat44_StaticMapping) GetExternalPort() uint32 {
   750  	if x != nil {
   751  		return x.ExternalPort
   752  	}
   753  	return 0
   754  }
   755  
   756  func (x *DNat44_StaticMapping) GetLocalIps() []*DNat44_StaticMapping_LocalIP {
   757  	if x != nil {
   758  		return x.LocalIps
   759  	}
   760  	return nil
   761  }
   762  
   763  func (x *DNat44_StaticMapping) GetProtocol() DNat44_Protocol {
   764  	if x != nil {
   765  		return x.Protocol
   766  	}
   767  	return DNat44_TCP
   768  }
   769  
   770  func (x *DNat44_StaticMapping) GetTwiceNat() DNat44_StaticMapping_TwiceNatMode {
   771  	if x != nil {
   772  		return x.TwiceNat
   773  	}
   774  	return DNat44_StaticMapping_DISABLED
   775  }
   776  
   777  func (x *DNat44_StaticMapping) GetTwiceNatPoolIp() string {
   778  	if x != nil {
   779  		return x.TwiceNatPoolIp
   780  	}
   781  	return ""
   782  }
   783  
   784  func (x *DNat44_StaticMapping) GetSessionAffinity() uint32 {
   785  	if x != nil {
   786  		return x.SessionAffinity
   787  	}
   788  	return 0
   789  }
   790  
   791  // IdentityMapping defines an identity mapping in DNAT.
   792  type DNat44_IdentityMapping struct {
   793  	state         protoimpl.MessageState
   794  	sizeCache     protoimpl.SizeCache
   795  	unknownFields protoimpl.UnknownFields
   796  
   797  	// VRF (table) ID. Non-zero VRF has to be explicitly created (see api/models/vpp/l3/vrf.proto).
   798  	VrfId uint32 `protobuf:"varint,1,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
   799  	// Name of the interface to use address from; preferred over ip_address.
   800  	Interface string `protobuf:"bytes,2,opt,name=interface,proto3" json:"interface,omitempty"`
   801  	// IP address.
   802  	IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
   803  	// Port (do not set for address mapping).
   804  	Port uint32 `protobuf:"varint,4,opt,name=port,proto3" json:"port,omitempty"`
   805  	// Protocol used for identity mapping.
   806  	Protocol DNat44_Protocol `protobuf:"varint,5,opt,name=protocol,proto3,enum=ligato.vpp.nat.DNat44_Protocol" json:"protocol,omitempty"`
   807  }
   808  
   809  func (x *DNat44_IdentityMapping) Reset() {
   810  	*x = DNat44_IdentityMapping{}
   811  	if protoimpl.UnsafeEnabled {
   812  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[8]
   813  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   814  		ms.StoreMessageInfo(mi)
   815  	}
   816  }
   817  
   818  func (x *DNat44_IdentityMapping) String() string {
   819  	return protoimpl.X.MessageStringOf(x)
   820  }
   821  
   822  func (*DNat44_IdentityMapping) ProtoMessage() {}
   823  
   824  func (x *DNat44_IdentityMapping) ProtoReflect() protoreflect.Message {
   825  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[8]
   826  	if protoimpl.UnsafeEnabled && x != nil {
   827  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   828  		if ms.LoadMessageInfo() == nil {
   829  			ms.StoreMessageInfo(mi)
   830  		}
   831  		return ms
   832  	}
   833  	return mi.MessageOf(x)
   834  }
   835  
   836  // Deprecated: Use DNat44_IdentityMapping.ProtoReflect.Descriptor instead.
   837  func (*DNat44_IdentityMapping) Descriptor() ([]byte, []int) {
   838  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{1, 1}
   839  }
   840  
   841  func (x *DNat44_IdentityMapping) GetVrfId() uint32 {
   842  	if x != nil {
   843  		return x.VrfId
   844  	}
   845  	return 0
   846  }
   847  
   848  func (x *DNat44_IdentityMapping) GetInterface() string {
   849  	if x != nil {
   850  		return x.Interface
   851  	}
   852  	return ""
   853  }
   854  
   855  func (x *DNat44_IdentityMapping) GetIpAddress() string {
   856  	if x != nil {
   857  		return x.IpAddress
   858  	}
   859  	return ""
   860  }
   861  
   862  func (x *DNat44_IdentityMapping) GetPort() uint32 {
   863  	if x != nil {
   864  		return x.Port
   865  	}
   866  	return 0
   867  }
   868  
   869  func (x *DNat44_IdentityMapping) GetProtocol() DNat44_Protocol {
   870  	if x != nil {
   871  		return x.Protocol
   872  	}
   873  	return DNat44_TCP
   874  }
   875  
   876  // LocalIP defines a local IP addresses.
   877  type DNat44_StaticMapping_LocalIP struct {
   878  	state         protoimpl.MessageState
   879  	sizeCache     protoimpl.SizeCache
   880  	unknownFields protoimpl.UnknownFields
   881  
   882  	// VRF (table) ID. Non-zero VRF has to be explicitly created (see api/models/vpp/l3/vrf.proto).
   883  	VrfId uint32 `protobuf:"varint,1,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"`
   884  	// Local IP address).
   885  	LocalIp string `protobuf:"bytes,2,opt,name=local_ip,json=localIp,proto3" json:"local_ip,omitempty"`
   886  	// Port (do not set for address mapping).
   887  	LocalPort uint32 `protobuf:"varint,3,opt,name=local_port,json=localPort,proto3" json:"local_port,omitempty"`
   888  	// Probability level for load-balancing mode.
   889  	Probability uint32 `protobuf:"varint,4,opt,name=probability,proto3" json:"probability,omitempty"`
   890  }
   891  
   892  func (x *DNat44_StaticMapping_LocalIP) Reset() {
   893  	*x = DNat44_StaticMapping_LocalIP{}
   894  	if protoimpl.UnsafeEnabled {
   895  		mi := &file_ligato_vpp_nat_nat_proto_msgTypes[9]
   896  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   897  		ms.StoreMessageInfo(mi)
   898  	}
   899  }
   900  
   901  func (x *DNat44_StaticMapping_LocalIP) String() string {
   902  	return protoimpl.X.MessageStringOf(x)
   903  }
   904  
   905  func (*DNat44_StaticMapping_LocalIP) ProtoMessage() {}
   906  
   907  func (x *DNat44_StaticMapping_LocalIP) ProtoReflect() protoreflect.Message {
   908  	mi := &file_ligato_vpp_nat_nat_proto_msgTypes[9]
   909  	if protoimpl.UnsafeEnabled && x != nil {
   910  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   911  		if ms.LoadMessageInfo() == nil {
   912  			ms.StoreMessageInfo(mi)
   913  		}
   914  		return ms
   915  	}
   916  	return mi.MessageOf(x)
   917  }
   918  
   919  // Deprecated: Use DNat44_StaticMapping_LocalIP.ProtoReflect.Descriptor instead.
   920  func (*DNat44_StaticMapping_LocalIP) Descriptor() ([]byte, []int) {
   921  	return file_ligato_vpp_nat_nat_proto_rawDescGZIP(), []int{1, 0, 0}
   922  }
   923  
   924  func (x *DNat44_StaticMapping_LocalIP) GetVrfId() uint32 {
   925  	if x != nil {
   926  		return x.VrfId
   927  	}
   928  	return 0
   929  }
   930  
   931  func (x *DNat44_StaticMapping_LocalIP) GetLocalIp() string {
   932  	if x != nil {
   933  		return x.LocalIp
   934  	}
   935  	return ""
   936  }
   937  
   938  func (x *DNat44_StaticMapping_LocalIP) GetLocalPort() uint32 {
   939  	if x != nil {
   940  		return x.LocalPort
   941  	}
   942  	return 0
   943  }
   944  
   945  func (x *DNat44_StaticMapping_LocalIP) GetProbability() uint32 {
   946  	if x != nil {
   947  		return x.Probability
   948  	}
   949  	return 0
   950  }
   951  
   952  var File_ligato_vpp_nat_nat_proto protoreflect.FileDescriptor
   953  
   954  var file_ligato_vpp_nat_nat_proto_rawDesc = []byte{
   955  	0x0a, 0x18, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2f, 0x76, 0x70, 0x70, 0x2f, 0x6e, 0x61, 0x74,
   956  	0x2f, 0x6e, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6c, 0x69, 0x67, 0x61,
   957  	0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70, 0x2e, 0x6e, 0x61, 0x74, 0x1a, 0x18, 0x6c, 0x69, 0x67, 0x61,
   958  	0x74, 0x6f, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
   959  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x04, 0x0a, 0x0b, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x47, 0x6c,
   960  	0x6f, 0x62, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69,
   961  	0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72,
   962  	0x64, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
   963  	0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01,
   964  	0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65,
   965  	0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x50, 0x0a, 0x0e, 0x6e, 0x61, 0x74, 0x5f, 0x69,
   966  	0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
   967  	0x25, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70, 0x2e, 0x6e, 0x61, 0x74,
   968  	0x2e, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x74,
   969  	0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6e, 0x61, 0x74, 0x49,
   970  	0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0c, 0x61, 0x64, 0x64,
   971  	0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
   972  	0x23, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70, 0x2e, 0x6e, 0x61, 0x74,
   973  	0x2e, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e, 0x41, 0x64, 0x64,
   974  	0x72, 0x65, 0x73, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
   975  	0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x50, 0x0a, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c,
   976  	0x5f, 0x72, 0x65, 0x61, 0x73, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
   977  	0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70, 0x2e, 0x6e,
   978  	0x61, 0x74, 0x2e, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x73, 0x65,
   979  	0x6d, 0x62, 0x6c, 0x79, 0x52, 0x11, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x61,
   980  	0x73, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x1a, 0x63, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72,
   981  	0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
   982  	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x69,
   983  	0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x49,
   984  	0x6e, 0x73, 0x69, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
   985  	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6f,
   986  	0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x5e, 0x0a, 0x07,
   987  	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
   988  	0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0x82, 0x7d, 0x02, 0x08, 0x02, 0x52,
   989  	0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x72, 0x66, 0x5f,
   990  	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x72, 0x66, 0x49, 0x64, 0x12,
   991  	0x1b, 0x0a, 0x09, 0x74, 0x77, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01,
   992  	0x28, 0x08, 0x52, 0x08, 0x74, 0x77, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x22, 0xb5, 0x08, 0x0a,
   993  	0x06, 0x44, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
   994  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x45, 0x0a,
   995  	0x0b, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03,
   996  	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70, 0x2e,
   997  	0x6e, 0x61, 0x74, 0x2e, 0x44, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69,
   998  	0x63, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x70,
   999  	0x69, 0x6e, 0x67, 0x73, 0x12, 0x47, 0x0a, 0x0b, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69,
  1000  	0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6c, 0x69, 0x67, 0x61,
  1001  	0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70, 0x2e, 0x6e, 0x61, 0x74, 0x2e, 0x44, 0x4e, 0x61, 0x74, 0x34,
  1002  	0x34, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e,
  1003  	0x67, 0x52, 0x0a, 0x69, 0x64, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x91, 0x05,
  1004  	0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12,
  1005  	0x2d, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65,
  1006  	0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x74,
  1007  	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x26,
  1008  	0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20,
  1009  	0x01, 0x28, 0x09, 0x42, 0x05, 0x82, 0x7d, 0x02, 0x08, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65,
  1010  	0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x2e, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
  1011  	0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0x82,
  1012  	0x7d, 0x06, 0x12, 0x04, 0x10, 0xff, 0xff, 0x03, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
  1013  	0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f,
  1014  	0x69, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6c, 0x69, 0x67, 0x61,
  1015  	0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70, 0x2e, 0x6e, 0x61, 0x74, 0x2e, 0x44, 0x4e, 0x61, 0x74, 0x34,
  1016  	0x34, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2e,
  1017  	0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x50, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70,
  1018  	0x73, 0x12, 0x3b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20,
  1019  	0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70,
  1020  	0x2e, 0x6e, 0x61, 0x74, 0x2e, 0x44, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x2e, 0x50, 0x72, 0x6f, 0x74,
  1021  	0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x4e,
  1022  	0x0a, 0x09, 0x74, 0x77, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
  1023  	0x0e, 0x32, 0x31, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70, 0x2e, 0x6e,
  1024  	0x61, 0x74, 0x2e, 0x44, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63,
  1025  	0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x77, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x74,
  1026  	0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x77, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x12, 0x30,
  1027  	0x0a, 0x11, 0x74, 0x77, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c,
  1028  	0x5f, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0x82, 0x7d, 0x02, 0x08, 0x02,
  1029  	0x52, 0x0e, 0x74, 0x77, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x70,
  1030  	0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69,
  1031  	0x6e, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x65, 0x73, 0x73,
  1032  	0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x1a, 0x8e, 0x01, 0x0a, 0x07,
  1033  	0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x50, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x72, 0x66, 0x5f, 0x69,
  1034  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x72, 0x66, 0x49, 0x64, 0x12, 0x20,
  1035  	0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1036  	0x42, 0x05, 0x82, 0x7d, 0x02, 0x08, 0x02, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x70,
  1037  	0x12, 0x28, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03,
  1038  	0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0x82, 0x7d, 0x06, 0x12, 0x04, 0x10, 0xff, 0xff, 0x03, 0x52,
  1039  	0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72,
  1040  	0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
  1041  	0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x33, 0x0a, 0x0c,
  1042  	0x54, 0x77, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08,
  1043  	0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e,
  1044  	0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x46, 0x10,
  1045  	0x02, 0x1a, 0xc8, 0x01, 0x0a, 0x0f, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x61,
  1046  	0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x72, 0x66, 0x5f, 0x69, 0x64, 0x18,
  1047  	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x72, 0x66, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09,
  1048  	0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  1049  	0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0a, 0x69, 0x70,
  1050  	0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05,
  1051  	0x82, 0x7d, 0x02, 0x08, 0x02, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
  1052  	0x12, 0x1d, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09,
  1053  	0x82, 0x7d, 0x06, 0x12, 0x04, 0x10, 0xff, 0xff, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12,
  1054  	0x3b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28,
  1055  	0x0e, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x76, 0x70, 0x70, 0x2e, 0x6e,
  1056  	0x61, 0x74, 0x2e, 0x44, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
  1057  	0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x26, 0x0a, 0x08,
  1058  	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10,
  1059  	0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x43,
  1060  	0x4d, 0x50, 0x10, 0x02, 0x22, 0x8b, 0x01, 0x0a, 0x0e, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x49, 0x6e,
  1061  	0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  1062  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e,
  1063  	0x61, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
  1064  	0x09, 0x6e, 0x61, 0x74, 0x49, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61,
  1065  	0x74, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
  1066  	0x0a, 0x6e, 0x61, 0x74, 0x4f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f,
  1067  	0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20,
  1068  	0x01, 0x28, 0x08, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75,
  1069  	0x72, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x10, 0x4e, 0x61, 0x74, 0x34, 0x34, 0x41, 0x64, 0x64, 0x72,
  1070  	0x65, 0x73, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  1071  	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x76,
  1072  	0x72, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x72, 0x66,
  1073  	0x49, 0x64, 0x12, 0x20, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x02,
  1074  	0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0x82, 0x7d, 0x02, 0x08, 0x02, 0x52, 0x07, 0x66, 0x69, 0x72,
  1075  	0x73, 0x74, 0x49, 0x70, 0x12, 0x1e, 0x0a, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x18,
  1076  	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0x82, 0x7d, 0x02, 0x08, 0x02, 0x52, 0x06, 0x6c, 0x61,
  1077  	0x73, 0x74, 0x49, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x77, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61,
  1078  	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x77, 0x69, 0x63, 0x65, 0x4e, 0x61,
  1079  	0x74, 0x22, 0xa4, 0x01, 0x0a, 0x11, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x61,
  1080  	0x73, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f,
  1081  	0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
  1082  	0x74, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x73, 0x65, 0x6d,
  1083  	0x62, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78,
  1084  	0x52, 0x65, 0x61, 0x73, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d,
  1085  	0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20,
  1086  	0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74,
  1087  	0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65,
  1088  	0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x72, 0x6f, 0x70, 0x46,
  1089  	0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x6f, 0x2e, 0x6c,
  1090  	0x69, 0x67, 0x61, 0x74, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x70, 0x70, 0x2d, 0x61, 0x67, 0x65,
  1091  	0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x67, 0x61,
  1092  	0x74, 0x6f, 0x2f, 0x76, 0x70, 0x70, 0x2f, 0x6e, 0x61, 0x74, 0x3b, 0x76, 0x70, 0x70, 0x5f, 0x6e,
  1093  	0x61, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1094  }
  1095  
  1096  var (
  1097  	file_ligato_vpp_nat_nat_proto_rawDescOnce sync.Once
  1098  	file_ligato_vpp_nat_nat_proto_rawDescData = file_ligato_vpp_nat_nat_proto_rawDesc
  1099  )
  1100  
  1101  func file_ligato_vpp_nat_nat_proto_rawDescGZIP() []byte {
  1102  	file_ligato_vpp_nat_nat_proto_rawDescOnce.Do(func() {
  1103  		file_ligato_vpp_nat_nat_proto_rawDescData = protoimpl.X.CompressGZIP(file_ligato_vpp_nat_nat_proto_rawDescData)
  1104  	})
  1105  	return file_ligato_vpp_nat_nat_proto_rawDescData
  1106  }
  1107  
  1108  var file_ligato_vpp_nat_nat_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1109  var file_ligato_vpp_nat_nat_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
  1110  var file_ligato_vpp_nat_nat_proto_goTypes = []interface{}{
  1111  	(DNat44_Protocol)(0),                   // 0: ligato.vpp.nat.DNat44.Protocol
  1112  	(DNat44_StaticMapping_TwiceNatMode)(0), // 1: ligato.vpp.nat.DNat44.StaticMapping.TwiceNatMode
  1113  	(*Nat44Global)(nil),                    // 2: ligato.vpp.nat.Nat44Global
  1114  	(*DNat44)(nil),                         // 3: ligato.vpp.nat.DNat44
  1115  	(*Nat44Interface)(nil),                 // 4: ligato.vpp.nat.Nat44Interface
  1116  	(*Nat44AddressPool)(nil),               // 5: ligato.vpp.nat.Nat44AddressPool
  1117  	(*VirtualReassembly)(nil),              // 6: ligato.vpp.nat.VirtualReassembly
  1118  	(*Nat44Global_Interface)(nil),          // 7: ligato.vpp.nat.Nat44Global.Interface
  1119  	(*Nat44Global_Address)(nil),            // 8: ligato.vpp.nat.Nat44Global.Address
  1120  	(*DNat44_StaticMapping)(nil),           // 9: ligato.vpp.nat.DNat44.StaticMapping
  1121  	(*DNat44_IdentityMapping)(nil),         // 10: ligato.vpp.nat.DNat44.IdentityMapping
  1122  	(*DNat44_StaticMapping_LocalIP)(nil),   // 11: ligato.vpp.nat.DNat44.StaticMapping.LocalIP
  1123  }
  1124  var file_ligato_vpp_nat_nat_proto_depIdxs = []int32{
  1125  	7,  // 0: ligato.vpp.nat.Nat44Global.nat_interfaces:type_name -> ligato.vpp.nat.Nat44Global.Interface
  1126  	8,  // 1: ligato.vpp.nat.Nat44Global.address_pool:type_name -> ligato.vpp.nat.Nat44Global.Address
  1127  	6,  // 2: ligato.vpp.nat.Nat44Global.virtual_reassembly:type_name -> ligato.vpp.nat.VirtualReassembly
  1128  	9,  // 3: ligato.vpp.nat.DNat44.st_mappings:type_name -> ligato.vpp.nat.DNat44.StaticMapping
  1129  	10, // 4: ligato.vpp.nat.DNat44.id_mappings:type_name -> ligato.vpp.nat.DNat44.IdentityMapping
  1130  	11, // 5: ligato.vpp.nat.DNat44.StaticMapping.local_ips:type_name -> ligato.vpp.nat.DNat44.StaticMapping.LocalIP
  1131  	0,  // 6: ligato.vpp.nat.DNat44.StaticMapping.protocol:type_name -> ligato.vpp.nat.DNat44.Protocol
  1132  	1,  // 7: ligato.vpp.nat.DNat44.StaticMapping.twice_nat:type_name -> ligato.vpp.nat.DNat44.StaticMapping.TwiceNatMode
  1133  	0,  // 8: ligato.vpp.nat.DNat44.IdentityMapping.protocol:type_name -> ligato.vpp.nat.DNat44.Protocol
  1134  	9,  // [9:9] is the sub-list for method output_type
  1135  	9,  // [9:9] is the sub-list for method input_type
  1136  	9,  // [9:9] is the sub-list for extension type_name
  1137  	9,  // [9:9] is the sub-list for extension extendee
  1138  	0,  // [0:9] is the sub-list for field type_name
  1139  }
  1140  
  1141  func init() { file_ligato_vpp_nat_nat_proto_init() }
  1142  func file_ligato_vpp_nat_nat_proto_init() {
  1143  	if File_ligato_vpp_nat_nat_proto != nil {
  1144  		return
  1145  	}
  1146  	if !protoimpl.UnsafeEnabled {
  1147  		file_ligato_vpp_nat_nat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1148  			switch v := v.(*Nat44Global); i {
  1149  			case 0:
  1150  				return &v.state
  1151  			case 1:
  1152  				return &v.sizeCache
  1153  			case 2:
  1154  				return &v.unknownFields
  1155  			default:
  1156  				return nil
  1157  			}
  1158  		}
  1159  		file_ligato_vpp_nat_nat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1160  			switch v := v.(*DNat44); i {
  1161  			case 0:
  1162  				return &v.state
  1163  			case 1:
  1164  				return &v.sizeCache
  1165  			case 2:
  1166  				return &v.unknownFields
  1167  			default:
  1168  				return nil
  1169  			}
  1170  		}
  1171  		file_ligato_vpp_nat_nat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1172  			switch v := v.(*Nat44Interface); i {
  1173  			case 0:
  1174  				return &v.state
  1175  			case 1:
  1176  				return &v.sizeCache
  1177  			case 2:
  1178  				return &v.unknownFields
  1179  			default:
  1180  				return nil
  1181  			}
  1182  		}
  1183  		file_ligato_vpp_nat_nat_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1184  			switch v := v.(*Nat44AddressPool); i {
  1185  			case 0:
  1186  				return &v.state
  1187  			case 1:
  1188  				return &v.sizeCache
  1189  			case 2:
  1190  				return &v.unknownFields
  1191  			default:
  1192  				return nil
  1193  			}
  1194  		}
  1195  		file_ligato_vpp_nat_nat_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1196  			switch v := v.(*VirtualReassembly); i {
  1197  			case 0:
  1198  				return &v.state
  1199  			case 1:
  1200  				return &v.sizeCache
  1201  			case 2:
  1202  				return &v.unknownFields
  1203  			default:
  1204  				return nil
  1205  			}
  1206  		}
  1207  		file_ligato_vpp_nat_nat_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1208  			switch v := v.(*Nat44Global_Interface); i {
  1209  			case 0:
  1210  				return &v.state
  1211  			case 1:
  1212  				return &v.sizeCache
  1213  			case 2:
  1214  				return &v.unknownFields
  1215  			default:
  1216  				return nil
  1217  			}
  1218  		}
  1219  		file_ligato_vpp_nat_nat_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1220  			switch v := v.(*Nat44Global_Address); i {
  1221  			case 0:
  1222  				return &v.state
  1223  			case 1:
  1224  				return &v.sizeCache
  1225  			case 2:
  1226  				return &v.unknownFields
  1227  			default:
  1228  				return nil
  1229  			}
  1230  		}
  1231  		file_ligato_vpp_nat_nat_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1232  			switch v := v.(*DNat44_StaticMapping); i {
  1233  			case 0:
  1234  				return &v.state
  1235  			case 1:
  1236  				return &v.sizeCache
  1237  			case 2:
  1238  				return &v.unknownFields
  1239  			default:
  1240  				return nil
  1241  			}
  1242  		}
  1243  		file_ligato_vpp_nat_nat_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1244  			switch v := v.(*DNat44_IdentityMapping); i {
  1245  			case 0:
  1246  				return &v.state
  1247  			case 1:
  1248  				return &v.sizeCache
  1249  			case 2:
  1250  				return &v.unknownFields
  1251  			default:
  1252  				return nil
  1253  			}
  1254  		}
  1255  		file_ligato_vpp_nat_nat_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1256  			switch v := v.(*DNat44_StaticMapping_LocalIP); i {
  1257  			case 0:
  1258  				return &v.state
  1259  			case 1:
  1260  				return &v.sizeCache
  1261  			case 2:
  1262  				return &v.unknownFields
  1263  			default:
  1264  				return nil
  1265  			}
  1266  		}
  1267  	}
  1268  	type x struct{}
  1269  	out := protoimpl.TypeBuilder{
  1270  		File: protoimpl.DescBuilder{
  1271  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1272  			RawDescriptor: file_ligato_vpp_nat_nat_proto_rawDesc,
  1273  			NumEnums:      2,
  1274  			NumMessages:   10,
  1275  			NumExtensions: 0,
  1276  			NumServices:   0,
  1277  		},
  1278  		GoTypes:           file_ligato_vpp_nat_nat_proto_goTypes,
  1279  		DependencyIndexes: file_ligato_vpp_nat_nat_proto_depIdxs,
  1280  		EnumInfos:         file_ligato_vpp_nat_nat_proto_enumTypes,
  1281  		MessageInfos:      file_ligato_vpp_nat_nat_proto_msgTypes,
  1282  	}.Build()
  1283  	File_ligato_vpp_nat_nat_proto = out.File
  1284  	file_ligato_vpp_nat_nat_proto_rawDesc = nil
  1285  	file_ligato_vpp_nat_nat_proto_goTypes = nil
  1286  	file_ligato_vpp_nat_nat_proto_depIdxs = nil
  1287  }