go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2101/nat44/nat44.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  // Package nat44 contains generated bindings for API file nat44.api.
     4  //
     5  // Contents:
     6  // -  1 enum
     7  // -  1 struct
     8  // - 91 messages
     9  package nat44
    10  
    11  import (
    12  	"strconv"
    13  
    14  	api "go.fd.io/govpp/api"
    15  	codec "go.fd.io/govpp/codec"
    16  	interface_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2101/interface_types"
    17  	ip_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2101/ip_types"
    18  	nat_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2101/nat_types"
    19  )
    20  
    21  // This is a compile-time assertion to ensure that this generated file
    22  // is compatible with the GoVPP api package it is being compiled against.
    23  // A compilation error at this line likely means your copy of the
    24  // GoVPP api package needs to be updated.
    25  const _ = api.GoVppAPIPackageIsVersion2
    26  
    27  const (
    28  	APIFile    = "nat44"
    29  	APIVersion = "5.2.0"
    30  	VersionCrc = 0xb426a8db
    31  )
    32  
    33  // Nat44ConfigFlags defines enum 'nat44_config_flags'.
    34  type Nat44ConfigFlags uint8
    35  
    36  const (
    37  	NAT44_IS_ENDPOINT_INDEPENDENT Nat44ConfigFlags = 0
    38  	NAT44_IS_ENDPOINT_DEPENDENT   Nat44ConfigFlags = 1
    39  	NAT44_IS_STATIC_MAPPING_ONLY  Nat44ConfigFlags = 2
    40  	NAT44_IS_CONNECTION_TRACKING  Nat44ConfigFlags = 4
    41  	NAT44_IS_OUT2IN_DPO           Nat44ConfigFlags = 8
    42  )
    43  
    44  var (
    45  	Nat44ConfigFlags_name = map[uint8]string{
    46  		0: "NAT44_IS_ENDPOINT_INDEPENDENT",
    47  		1: "NAT44_IS_ENDPOINT_DEPENDENT",
    48  		2: "NAT44_IS_STATIC_MAPPING_ONLY",
    49  		4: "NAT44_IS_CONNECTION_TRACKING",
    50  		8: "NAT44_IS_OUT2IN_DPO",
    51  	}
    52  	Nat44ConfigFlags_value = map[string]uint8{
    53  		"NAT44_IS_ENDPOINT_INDEPENDENT": 0,
    54  		"NAT44_IS_ENDPOINT_DEPENDENT":   1,
    55  		"NAT44_IS_STATIC_MAPPING_ONLY":  2,
    56  		"NAT44_IS_CONNECTION_TRACKING":  4,
    57  		"NAT44_IS_OUT2IN_DPO":           8,
    58  	}
    59  )
    60  
    61  func (x Nat44ConfigFlags) String() string {
    62  	s, ok := Nat44ConfigFlags_name[uint8(x)]
    63  	if ok {
    64  		return s
    65  	}
    66  	str := func(n uint8) string {
    67  		s, ok := Nat44ConfigFlags_name[uint8(n)]
    68  		if ok {
    69  			return s
    70  		}
    71  		return "Nat44ConfigFlags(" + strconv.Itoa(int(n)) + ")"
    72  	}
    73  	for i := uint8(0); i <= 8; i++ {
    74  		val := uint8(x)
    75  		if val&(1<<i) != 0 {
    76  			if s != "" {
    77  				s += "|"
    78  			}
    79  			s += str(1 << i)
    80  		}
    81  	}
    82  	if s == "" {
    83  		return str(uint8(x))
    84  	}
    85  	return s
    86  }
    87  
    88  // Nat44LbAddrPort defines type 'nat44_lb_addr_port'.
    89  type Nat44LbAddrPort struct {
    90  	Addr        ip_types.IP4Address `binapi:"ip4_address,name=addr" json:"addr,omitempty"`
    91  	Port        uint16              `binapi:"u16,name=port" json:"port,omitempty"`
    92  	Probability uint8               `binapi:"u8,name=probability" json:"probability,omitempty"`
    93  	VrfID       uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
    94  }
    95  
    96  // Nat44AddDelAddressRange defines message 'nat44_add_del_address_range'.
    97  type Nat44AddDelAddressRange struct {
    98  	FirstIPAddress ip_types.IP4Address      `binapi:"ip4_address,name=first_ip_address" json:"first_ip_address,omitempty"`
    99  	LastIPAddress  ip_types.IP4Address      `binapi:"ip4_address,name=last_ip_address" json:"last_ip_address,omitempty"`
   100  	VrfID          uint32                   `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
   101  	IsAdd          bool                     `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   102  	Flags          nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
   103  }
   104  
   105  func (m *Nat44AddDelAddressRange) Reset()               { *m = Nat44AddDelAddressRange{} }
   106  func (*Nat44AddDelAddressRange) GetMessageName() string { return "nat44_add_del_address_range" }
   107  func (*Nat44AddDelAddressRange) GetCrcString() string   { return "d4c7568c" }
   108  func (*Nat44AddDelAddressRange) GetMessageType() api.MessageType {
   109  	return api.RequestMessage
   110  }
   111  
   112  func (m *Nat44AddDelAddressRange) Size() (size int) {
   113  	if m == nil {
   114  		return 0
   115  	}
   116  	size += 1 * 4 // m.FirstIPAddress
   117  	size += 1 * 4 // m.LastIPAddress
   118  	size += 4     // m.VrfID
   119  	size += 1     // m.IsAdd
   120  	size += 1     // m.Flags
   121  	return size
   122  }
   123  func (m *Nat44AddDelAddressRange) Marshal(b []byte) ([]byte, error) {
   124  	if b == nil {
   125  		b = make([]byte, m.Size())
   126  	}
   127  	buf := codec.NewBuffer(b)
   128  	buf.EncodeBytes(m.FirstIPAddress[:], 4)
   129  	buf.EncodeBytes(m.LastIPAddress[:], 4)
   130  	buf.EncodeUint32(m.VrfID)
   131  	buf.EncodeBool(m.IsAdd)
   132  	buf.EncodeUint8(uint8(m.Flags))
   133  	return buf.Bytes(), nil
   134  }
   135  func (m *Nat44AddDelAddressRange) Unmarshal(b []byte) error {
   136  	buf := codec.NewBuffer(b)
   137  	copy(m.FirstIPAddress[:], buf.DecodeBytes(4))
   138  	copy(m.LastIPAddress[:], buf.DecodeBytes(4))
   139  	m.VrfID = buf.DecodeUint32()
   140  	m.IsAdd = buf.DecodeBool()
   141  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
   142  	return nil
   143  }
   144  
   145  // Nat44AddDelAddressRangeReply defines message 'nat44_add_del_address_range_reply'.
   146  type Nat44AddDelAddressRangeReply struct {
   147  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   148  }
   149  
   150  func (m *Nat44AddDelAddressRangeReply) Reset() { *m = Nat44AddDelAddressRangeReply{} }
   151  func (*Nat44AddDelAddressRangeReply) GetMessageName() string {
   152  	return "nat44_add_del_address_range_reply"
   153  }
   154  func (*Nat44AddDelAddressRangeReply) GetCrcString() string { return "e8d4e804" }
   155  func (*Nat44AddDelAddressRangeReply) GetMessageType() api.MessageType {
   156  	return api.ReplyMessage
   157  }
   158  
   159  func (m *Nat44AddDelAddressRangeReply) Size() (size int) {
   160  	if m == nil {
   161  		return 0
   162  	}
   163  	size += 4 // m.Retval
   164  	return size
   165  }
   166  func (m *Nat44AddDelAddressRangeReply) Marshal(b []byte) ([]byte, error) {
   167  	if b == nil {
   168  		b = make([]byte, m.Size())
   169  	}
   170  	buf := codec.NewBuffer(b)
   171  	buf.EncodeInt32(m.Retval)
   172  	return buf.Bytes(), nil
   173  }
   174  func (m *Nat44AddDelAddressRangeReply) Unmarshal(b []byte) error {
   175  	buf := codec.NewBuffer(b)
   176  	m.Retval = buf.DecodeInt32()
   177  	return nil
   178  }
   179  
   180  // Nat44AddDelIdentityMapping defines message 'nat44_add_del_identity_mapping'.
   181  type Nat44AddDelIdentityMapping struct {
   182  	IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   183  	Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
   184  	IPAddress ip_types.IP4Address            `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
   185  	Protocol  uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
   186  	Port      uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
   187  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   188  	VrfID     uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
   189  	Tag       string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
   190  }
   191  
   192  func (m *Nat44AddDelIdentityMapping) Reset()               { *m = Nat44AddDelIdentityMapping{} }
   193  func (*Nat44AddDelIdentityMapping) GetMessageName() string { return "nat44_add_del_identity_mapping" }
   194  func (*Nat44AddDelIdentityMapping) GetCrcString() string   { return "8e12743f" }
   195  func (*Nat44AddDelIdentityMapping) GetMessageType() api.MessageType {
   196  	return api.RequestMessage
   197  }
   198  
   199  func (m *Nat44AddDelIdentityMapping) Size() (size int) {
   200  	if m == nil {
   201  		return 0
   202  	}
   203  	size += 1     // m.IsAdd
   204  	size += 1     // m.Flags
   205  	size += 1 * 4 // m.IPAddress
   206  	size += 1     // m.Protocol
   207  	size += 2     // m.Port
   208  	size += 4     // m.SwIfIndex
   209  	size += 4     // m.VrfID
   210  	size += 64    // m.Tag
   211  	return size
   212  }
   213  func (m *Nat44AddDelIdentityMapping) Marshal(b []byte) ([]byte, error) {
   214  	if b == nil {
   215  		b = make([]byte, m.Size())
   216  	}
   217  	buf := codec.NewBuffer(b)
   218  	buf.EncodeBool(m.IsAdd)
   219  	buf.EncodeUint8(uint8(m.Flags))
   220  	buf.EncodeBytes(m.IPAddress[:], 4)
   221  	buf.EncodeUint8(m.Protocol)
   222  	buf.EncodeUint16(m.Port)
   223  	buf.EncodeUint32(uint32(m.SwIfIndex))
   224  	buf.EncodeUint32(m.VrfID)
   225  	buf.EncodeString(m.Tag, 64)
   226  	return buf.Bytes(), nil
   227  }
   228  func (m *Nat44AddDelIdentityMapping) Unmarshal(b []byte) error {
   229  	buf := codec.NewBuffer(b)
   230  	m.IsAdd = buf.DecodeBool()
   231  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
   232  	copy(m.IPAddress[:], buf.DecodeBytes(4))
   233  	m.Protocol = buf.DecodeUint8()
   234  	m.Port = buf.DecodeUint16()
   235  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   236  	m.VrfID = buf.DecodeUint32()
   237  	m.Tag = buf.DecodeString(64)
   238  	return nil
   239  }
   240  
   241  // Nat44AddDelIdentityMappingReply defines message 'nat44_add_del_identity_mapping_reply'.
   242  type Nat44AddDelIdentityMappingReply struct {
   243  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   244  }
   245  
   246  func (m *Nat44AddDelIdentityMappingReply) Reset() { *m = Nat44AddDelIdentityMappingReply{} }
   247  func (*Nat44AddDelIdentityMappingReply) GetMessageName() string {
   248  	return "nat44_add_del_identity_mapping_reply"
   249  }
   250  func (*Nat44AddDelIdentityMappingReply) GetCrcString() string { return "e8d4e804" }
   251  func (*Nat44AddDelIdentityMappingReply) GetMessageType() api.MessageType {
   252  	return api.ReplyMessage
   253  }
   254  
   255  func (m *Nat44AddDelIdentityMappingReply) Size() (size int) {
   256  	if m == nil {
   257  		return 0
   258  	}
   259  	size += 4 // m.Retval
   260  	return size
   261  }
   262  func (m *Nat44AddDelIdentityMappingReply) Marshal(b []byte) ([]byte, error) {
   263  	if b == nil {
   264  		b = make([]byte, m.Size())
   265  	}
   266  	buf := codec.NewBuffer(b)
   267  	buf.EncodeInt32(m.Retval)
   268  	return buf.Bytes(), nil
   269  }
   270  func (m *Nat44AddDelIdentityMappingReply) Unmarshal(b []byte) error {
   271  	buf := codec.NewBuffer(b)
   272  	m.Retval = buf.DecodeInt32()
   273  	return nil
   274  }
   275  
   276  // Nat44AddDelInterfaceAddr defines message 'nat44_add_del_interface_addr'.
   277  type Nat44AddDelInterfaceAddr struct {
   278  	IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   279  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   280  	Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
   281  }
   282  
   283  func (m *Nat44AddDelInterfaceAddr) Reset()               { *m = Nat44AddDelInterfaceAddr{} }
   284  func (*Nat44AddDelInterfaceAddr) GetMessageName() string { return "nat44_add_del_interface_addr" }
   285  func (*Nat44AddDelInterfaceAddr) GetCrcString() string   { return "fc835325" }
   286  func (*Nat44AddDelInterfaceAddr) GetMessageType() api.MessageType {
   287  	return api.RequestMessage
   288  }
   289  
   290  func (m *Nat44AddDelInterfaceAddr) Size() (size int) {
   291  	if m == nil {
   292  		return 0
   293  	}
   294  	size += 1 // m.IsAdd
   295  	size += 4 // m.SwIfIndex
   296  	size += 1 // m.Flags
   297  	return size
   298  }
   299  func (m *Nat44AddDelInterfaceAddr) Marshal(b []byte) ([]byte, error) {
   300  	if b == nil {
   301  		b = make([]byte, m.Size())
   302  	}
   303  	buf := codec.NewBuffer(b)
   304  	buf.EncodeBool(m.IsAdd)
   305  	buf.EncodeUint32(uint32(m.SwIfIndex))
   306  	buf.EncodeUint8(uint8(m.Flags))
   307  	return buf.Bytes(), nil
   308  }
   309  func (m *Nat44AddDelInterfaceAddr) Unmarshal(b []byte) error {
   310  	buf := codec.NewBuffer(b)
   311  	m.IsAdd = buf.DecodeBool()
   312  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   313  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
   314  	return nil
   315  }
   316  
   317  // Nat44AddDelInterfaceAddrReply defines message 'nat44_add_del_interface_addr_reply'.
   318  type Nat44AddDelInterfaceAddrReply struct {
   319  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   320  }
   321  
   322  func (m *Nat44AddDelInterfaceAddrReply) Reset() { *m = Nat44AddDelInterfaceAddrReply{} }
   323  func (*Nat44AddDelInterfaceAddrReply) GetMessageName() string {
   324  	return "nat44_add_del_interface_addr_reply"
   325  }
   326  func (*Nat44AddDelInterfaceAddrReply) GetCrcString() string { return "e8d4e804" }
   327  func (*Nat44AddDelInterfaceAddrReply) GetMessageType() api.MessageType {
   328  	return api.ReplyMessage
   329  }
   330  
   331  func (m *Nat44AddDelInterfaceAddrReply) Size() (size int) {
   332  	if m == nil {
   333  		return 0
   334  	}
   335  	size += 4 // m.Retval
   336  	return size
   337  }
   338  func (m *Nat44AddDelInterfaceAddrReply) Marshal(b []byte) ([]byte, error) {
   339  	if b == nil {
   340  		b = make([]byte, m.Size())
   341  	}
   342  	buf := codec.NewBuffer(b)
   343  	buf.EncodeInt32(m.Retval)
   344  	return buf.Bytes(), nil
   345  }
   346  func (m *Nat44AddDelInterfaceAddrReply) Unmarshal(b []byte) error {
   347  	buf := codec.NewBuffer(b)
   348  	m.Retval = buf.DecodeInt32()
   349  	return nil
   350  }
   351  
   352  // Nat44AddDelLbStaticMapping defines message 'nat44_add_del_lb_static_mapping'.
   353  type Nat44AddDelLbStaticMapping struct {
   354  	IsAdd        bool                     `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   355  	Flags        nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
   356  	ExternalAddr ip_types.IP4Address      `binapi:"ip4_address,name=external_addr" json:"external_addr,omitempty"`
   357  	ExternalPort uint16                   `binapi:"u16,name=external_port" json:"external_port,omitempty"`
   358  	Protocol     uint8                    `binapi:"u8,name=protocol" json:"protocol,omitempty"`
   359  	Affinity     uint32                   `binapi:"u32,name=affinity" json:"affinity,omitempty"`
   360  	Tag          string                   `binapi:"string[64],name=tag" json:"tag,omitempty"`
   361  	LocalNum     uint32                   `binapi:"u32,name=local_num" json:"-"`
   362  	Locals       []Nat44LbAddrPort        `binapi:"nat44_lb_addr_port[local_num],name=locals" json:"locals,omitempty"`
   363  }
   364  
   365  func (m *Nat44AddDelLbStaticMapping) Reset()               { *m = Nat44AddDelLbStaticMapping{} }
   366  func (*Nat44AddDelLbStaticMapping) GetMessageName() string { return "nat44_add_del_lb_static_mapping" }
   367  func (*Nat44AddDelLbStaticMapping) GetCrcString() string   { return "53b24611" }
   368  func (*Nat44AddDelLbStaticMapping) GetMessageType() api.MessageType {
   369  	return api.RequestMessage
   370  }
   371  
   372  func (m *Nat44AddDelLbStaticMapping) Size() (size int) {
   373  	if m == nil {
   374  		return 0
   375  	}
   376  	size += 1     // m.IsAdd
   377  	size += 1     // m.Flags
   378  	size += 1 * 4 // m.ExternalAddr
   379  	size += 2     // m.ExternalPort
   380  	size += 1     // m.Protocol
   381  	size += 4     // m.Affinity
   382  	size += 64    // m.Tag
   383  	size += 4     // m.LocalNum
   384  	for j1 := 0; j1 < len(m.Locals); j1++ {
   385  		var s1 Nat44LbAddrPort
   386  		_ = s1
   387  		if j1 < len(m.Locals) {
   388  			s1 = m.Locals[j1]
   389  		}
   390  		size += 1 * 4 // s1.Addr
   391  		size += 2     // s1.Port
   392  		size += 1     // s1.Probability
   393  		size += 4     // s1.VrfID
   394  	}
   395  	return size
   396  }
   397  func (m *Nat44AddDelLbStaticMapping) Marshal(b []byte) ([]byte, error) {
   398  	if b == nil {
   399  		b = make([]byte, m.Size())
   400  	}
   401  	buf := codec.NewBuffer(b)
   402  	buf.EncodeBool(m.IsAdd)
   403  	buf.EncodeUint8(uint8(m.Flags))
   404  	buf.EncodeBytes(m.ExternalAddr[:], 4)
   405  	buf.EncodeUint16(m.ExternalPort)
   406  	buf.EncodeUint8(m.Protocol)
   407  	buf.EncodeUint32(m.Affinity)
   408  	buf.EncodeString(m.Tag, 64)
   409  	buf.EncodeUint32(uint32(len(m.Locals)))
   410  	for j0 := 0; j0 < len(m.Locals); j0++ {
   411  		var v0 Nat44LbAddrPort // Locals
   412  		if j0 < len(m.Locals) {
   413  			v0 = m.Locals[j0]
   414  		}
   415  		buf.EncodeBytes(v0.Addr[:], 4)
   416  		buf.EncodeUint16(v0.Port)
   417  		buf.EncodeUint8(v0.Probability)
   418  		buf.EncodeUint32(v0.VrfID)
   419  	}
   420  	return buf.Bytes(), nil
   421  }
   422  func (m *Nat44AddDelLbStaticMapping) Unmarshal(b []byte) error {
   423  	buf := codec.NewBuffer(b)
   424  	m.IsAdd = buf.DecodeBool()
   425  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
   426  	copy(m.ExternalAddr[:], buf.DecodeBytes(4))
   427  	m.ExternalPort = buf.DecodeUint16()
   428  	m.Protocol = buf.DecodeUint8()
   429  	m.Affinity = buf.DecodeUint32()
   430  	m.Tag = buf.DecodeString(64)
   431  	m.LocalNum = buf.DecodeUint32()
   432  	m.Locals = make([]Nat44LbAddrPort, m.LocalNum)
   433  	for j0 := 0; j0 < len(m.Locals); j0++ {
   434  		copy(m.Locals[j0].Addr[:], buf.DecodeBytes(4))
   435  		m.Locals[j0].Port = buf.DecodeUint16()
   436  		m.Locals[j0].Probability = buf.DecodeUint8()
   437  		m.Locals[j0].VrfID = buf.DecodeUint32()
   438  	}
   439  	return nil
   440  }
   441  
   442  // Nat44AddDelLbStaticMappingReply defines message 'nat44_add_del_lb_static_mapping_reply'.
   443  type Nat44AddDelLbStaticMappingReply struct {
   444  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   445  }
   446  
   447  func (m *Nat44AddDelLbStaticMappingReply) Reset() { *m = Nat44AddDelLbStaticMappingReply{} }
   448  func (*Nat44AddDelLbStaticMappingReply) GetMessageName() string {
   449  	return "nat44_add_del_lb_static_mapping_reply"
   450  }
   451  func (*Nat44AddDelLbStaticMappingReply) GetCrcString() string { return "e8d4e804" }
   452  func (*Nat44AddDelLbStaticMappingReply) GetMessageType() api.MessageType {
   453  	return api.ReplyMessage
   454  }
   455  
   456  func (m *Nat44AddDelLbStaticMappingReply) Size() (size int) {
   457  	if m == nil {
   458  		return 0
   459  	}
   460  	size += 4 // m.Retval
   461  	return size
   462  }
   463  func (m *Nat44AddDelLbStaticMappingReply) Marshal(b []byte) ([]byte, error) {
   464  	if b == nil {
   465  		b = make([]byte, m.Size())
   466  	}
   467  	buf := codec.NewBuffer(b)
   468  	buf.EncodeInt32(m.Retval)
   469  	return buf.Bytes(), nil
   470  }
   471  func (m *Nat44AddDelLbStaticMappingReply) Unmarshal(b []byte) error {
   472  	buf := codec.NewBuffer(b)
   473  	m.Retval = buf.DecodeInt32()
   474  	return nil
   475  }
   476  
   477  // Nat44AddDelStaticMapping defines message 'nat44_add_del_static_mapping'.
   478  type Nat44AddDelStaticMapping struct {
   479  	IsAdd             bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   480  	Flags             nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
   481  	LocalIPAddress    ip_types.IP4Address            `binapi:"ip4_address,name=local_ip_address" json:"local_ip_address,omitempty"`
   482  	ExternalIPAddress ip_types.IP4Address            `binapi:"ip4_address,name=external_ip_address" json:"external_ip_address,omitempty"`
   483  	Protocol          uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
   484  	LocalPort         uint16                         `binapi:"u16,name=local_port" json:"local_port,omitempty"`
   485  	ExternalPort      uint16                         `binapi:"u16,name=external_port" json:"external_port,omitempty"`
   486  	ExternalSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=external_sw_if_index" json:"external_sw_if_index,omitempty"`
   487  	VrfID             uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
   488  	Tag               string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
   489  }
   490  
   491  func (m *Nat44AddDelStaticMapping) Reset()               { *m = Nat44AddDelStaticMapping{} }
   492  func (*Nat44AddDelStaticMapping) GetMessageName() string { return "nat44_add_del_static_mapping" }
   493  func (*Nat44AddDelStaticMapping) GetCrcString() string   { return "e165e83b" }
   494  func (*Nat44AddDelStaticMapping) GetMessageType() api.MessageType {
   495  	return api.RequestMessage
   496  }
   497  
   498  func (m *Nat44AddDelStaticMapping) Size() (size int) {
   499  	if m == nil {
   500  		return 0
   501  	}
   502  	size += 1     // m.IsAdd
   503  	size += 1     // m.Flags
   504  	size += 1 * 4 // m.LocalIPAddress
   505  	size += 1 * 4 // m.ExternalIPAddress
   506  	size += 1     // m.Protocol
   507  	size += 2     // m.LocalPort
   508  	size += 2     // m.ExternalPort
   509  	size += 4     // m.ExternalSwIfIndex
   510  	size += 4     // m.VrfID
   511  	size += 64    // m.Tag
   512  	return size
   513  }
   514  func (m *Nat44AddDelStaticMapping) Marshal(b []byte) ([]byte, error) {
   515  	if b == nil {
   516  		b = make([]byte, m.Size())
   517  	}
   518  	buf := codec.NewBuffer(b)
   519  	buf.EncodeBool(m.IsAdd)
   520  	buf.EncodeUint8(uint8(m.Flags))
   521  	buf.EncodeBytes(m.LocalIPAddress[:], 4)
   522  	buf.EncodeBytes(m.ExternalIPAddress[:], 4)
   523  	buf.EncodeUint8(m.Protocol)
   524  	buf.EncodeUint16(m.LocalPort)
   525  	buf.EncodeUint16(m.ExternalPort)
   526  	buf.EncodeUint32(uint32(m.ExternalSwIfIndex))
   527  	buf.EncodeUint32(m.VrfID)
   528  	buf.EncodeString(m.Tag, 64)
   529  	return buf.Bytes(), nil
   530  }
   531  func (m *Nat44AddDelStaticMapping) Unmarshal(b []byte) error {
   532  	buf := codec.NewBuffer(b)
   533  	m.IsAdd = buf.DecodeBool()
   534  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
   535  	copy(m.LocalIPAddress[:], buf.DecodeBytes(4))
   536  	copy(m.ExternalIPAddress[:], buf.DecodeBytes(4))
   537  	m.Protocol = buf.DecodeUint8()
   538  	m.LocalPort = buf.DecodeUint16()
   539  	m.ExternalPort = buf.DecodeUint16()
   540  	m.ExternalSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   541  	m.VrfID = buf.DecodeUint32()
   542  	m.Tag = buf.DecodeString(64)
   543  	return nil
   544  }
   545  
   546  // Nat44AddDelStaticMappingReply defines message 'nat44_add_del_static_mapping_reply'.
   547  type Nat44AddDelStaticMappingReply struct {
   548  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   549  }
   550  
   551  func (m *Nat44AddDelStaticMappingReply) Reset() { *m = Nat44AddDelStaticMappingReply{} }
   552  func (*Nat44AddDelStaticMappingReply) GetMessageName() string {
   553  	return "nat44_add_del_static_mapping_reply"
   554  }
   555  func (*Nat44AddDelStaticMappingReply) GetCrcString() string { return "e8d4e804" }
   556  func (*Nat44AddDelStaticMappingReply) GetMessageType() api.MessageType {
   557  	return api.ReplyMessage
   558  }
   559  
   560  func (m *Nat44AddDelStaticMappingReply) Size() (size int) {
   561  	if m == nil {
   562  		return 0
   563  	}
   564  	size += 4 // m.Retval
   565  	return size
   566  }
   567  func (m *Nat44AddDelStaticMappingReply) Marshal(b []byte) ([]byte, error) {
   568  	if b == nil {
   569  		b = make([]byte, m.Size())
   570  	}
   571  	buf := codec.NewBuffer(b)
   572  	buf.EncodeInt32(m.Retval)
   573  	return buf.Bytes(), nil
   574  }
   575  func (m *Nat44AddDelStaticMappingReply) Unmarshal(b []byte) error {
   576  	buf := codec.NewBuffer(b)
   577  	m.Retval = buf.DecodeInt32()
   578  	return nil
   579  }
   580  
   581  // Nat44AddDelStaticMappingV2 defines message 'nat44_add_del_static_mapping_v2'.
   582  type Nat44AddDelStaticMappingV2 struct {
   583  	IsAdd             bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   584  	MatchPool         bool                           `binapi:"bool,name=match_pool" json:"match_pool,omitempty"`
   585  	Flags             nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
   586  	PoolIPAddress     ip_types.IP4Address            `binapi:"ip4_address,name=pool_ip_address" json:"pool_ip_address,omitempty"`
   587  	LocalIPAddress    ip_types.IP4Address            `binapi:"ip4_address,name=local_ip_address" json:"local_ip_address,omitempty"`
   588  	ExternalIPAddress ip_types.IP4Address            `binapi:"ip4_address,name=external_ip_address" json:"external_ip_address,omitempty"`
   589  	Protocol          uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
   590  	LocalPort         uint16                         `binapi:"u16,name=local_port" json:"local_port,omitempty"`
   591  	ExternalPort      uint16                         `binapi:"u16,name=external_port" json:"external_port,omitempty"`
   592  	ExternalSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=external_sw_if_index" json:"external_sw_if_index,omitempty"`
   593  	VrfID             uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
   594  	Tag               string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
   595  }
   596  
   597  func (m *Nat44AddDelStaticMappingV2) Reset()               { *m = Nat44AddDelStaticMappingV2{} }
   598  func (*Nat44AddDelStaticMappingV2) GetMessageName() string { return "nat44_add_del_static_mapping_v2" }
   599  func (*Nat44AddDelStaticMappingV2) GetCrcString() string   { return "5e205f1a" }
   600  func (*Nat44AddDelStaticMappingV2) GetMessageType() api.MessageType {
   601  	return api.RequestMessage
   602  }
   603  
   604  func (m *Nat44AddDelStaticMappingV2) Size() (size int) {
   605  	if m == nil {
   606  		return 0
   607  	}
   608  	size += 1     // m.IsAdd
   609  	size += 1     // m.MatchPool
   610  	size += 1     // m.Flags
   611  	size += 1 * 4 // m.PoolIPAddress
   612  	size += 1 * 4 // m.LocalIPAddress
   613  	size += 1 * 4 // m.ExternalIPAddress
   614  	size += 1     // m.Protocol
   615  	size += 2     // m.LocalPort
   616  	size += 2     // m.ExternalPort
   617  	size += 4     // m.ExternalSwIfIndex
   618  	size += 4     // m.VrfID
   619  	size += 64    // m.Tag
   620  	return size
   621  }
   622  func (m *Nat44AddDelStaticMappingV2) Marshal(b []byte) ([]byte, error) {
   623  	if b == nil {
   624  		b = make([]byte, m.Size())
   625  	}
   626  	buf := codec.NewBuffer(b)
   627  	buf.EncodeBool(m.IsAdd)
   628  	buf.EncodeBool(m.MatchPool)
   629  	buf.EncodeUint8(uint8(m.Flags))
   630  	buf.EncodeBytes(m.PoolIPAddress[:], 4)
   631  	buf.EncodeBytes(m.LocalIPAddress[:], 4)
   632  	buf.EncodeBytes(m.ExternalIPAddress[:], 4)
   633  	buf.EncodeUint8(m.Protocol)
   634  	buf.EncodeUint16(m.LocalPort)
   635  	buf.EncodeUint16(m.ExternalPort)
   636  	buf.EncodeUint32(uint32(m.ExternalSwIfIndex))
   637  	buf.EncodeUint32(m.VrfID)
   638  	buf.EncodeString(m.Tag, 64)
   639  	return buf.Bytes(), nil
   640  }
   641  func (m *Nat44AddDelStaticMappingV2) Unmarshal(b []byte) error {
   642  	buf := codec.NewBuffer(b)
   643  	m.IsAdd = buf.DecodeBool()
   644  	m.MatchPool = buf.DecodeBool()
   645  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
   646  	copy(m.PoolIPAddress[:], buf.DecodeBytes(4))
   647  	copy(m.LocalIPAddress[:], buf.DecodeBytes(4))
   648  	copy(m.ExternalIPAddress[:], buf.DecodeBytes(4))
   649  	m.Protocol = buf.DecodeUint8()
   650  	m.LocalPort = buf.DecodeUint16()
   651  	m.ExternalPort = buf.DecodeUint16()
   652  	m.ExternalSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   653  	m.VrfID = buf.DecodeUint32()
   654  	m.Tag = buf.DecodeString(64)
   655  	return nil
   656  }
   657  
   658  // Nat44AddDelStaticMappingV2Reply defines message 'nat44_add_del_static_mapping_v2_reply'.
   659  type Nat44AddDelStaticMappingV2Reply struct {
   660  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   661  }
   662  
   663  func (m *Nat44AddDelStaticMappingV2Reply) Reset() { *m = Nat44AddDelStaticMappingV2Reply{} }
   664  func (*Nat44AddDelStaticMappingV2Reply) GetMessageName() string {
   665  	return "nat44_add_del_static_mapping_v2_reply"
   666  }
   667  func (*Nat44AddDelStaticMappingV2Reply) GetCrcString() string { return "e8d4e804" }
   668  func (*Nat44AddDelStaticMappingV2Reply) GetMessageType() api.MessageType {
   669  	return api.ReplyMessage
   670  }
   671  
   672  func (m *Nat44AddDelStaticMappingV2Reply) Size() (size int) {
   673  	if m == nil {
   674  		return 0
   675  	}
   676  	size += 4 // m.Retval
   677  	return size
   678  }
   679  func (m *Nat44AddDelStaticMappingV2Reply) Marshal(b []byte) ([]byte, error) {
   680  	if b == nil {
   681  		b = make([]byte, m.Size())
   682  	}
   683  	buf := codec.NewBuffer(b)
   684  	buf.EncodeInt32(m.Retval)
   685  	return buf.Bytes(), nil
   686  }
   687  func (m *Nat44AddDelStaticMappingV2Reply) Unmarshal(b []byte) error {
   688  	buf := codec.NewBuffer(b)
   689  	m.Retval = buf.DecodeInt32()
   690  	return nil
   691  }
   692  
   693  // Nat44AddressDetails defines message 'nat44_address_details'.
   694  type Nat44AddressDetails struct {
   695  	IPAddress ip_types.IP4Address      `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
   696  	Flags     nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
   697  	VrfID     uint32                   `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
   698  }
   699  
   700  func (m *Nat44AddressDetails) Reset()               { *m = Nat44AddressDetails{} }
   701  func (*Nat44AddressDetails) GetMessageName() string { return "nat44_address_details" }
   702  func (*Nat44AddressDetails) GetCrcString() string   { return "45410ac4" }
   703  func (*Nat44AddressDetails) GetMessageType() api.MessageType {
   704  	return api.ReplyMessage
   705  }
   706  
   707  func (m *Nat44AddressDetails) Size() (size int) {
   708  	if m == nil {
   709  		return 0
   710  	}
   711  	size += 1 * 4 // m.IPAddress
   712  	size += 1     // m.Flags
   713  	size += 4     // m.VrfID
   714  	return size
   715  }
   716  func (m *Nat44AddressDetails) Marshal(b []byte) ([]byte, error) {
   717  	if b == nil {
   718  		b = make([]byte, m.Size())
   719  	}
   720  	buf := codec.NewBuffer(b)
   721  	buf.EncodeBytes(m.IPAddress[:], 4)
   722  	buf.EncodeUint8(uint8(m.Flags))
   723  	buf.EncodeUint32(m.VrfID)
   724  	return buf.Bytes(), nil
   725  }
   726  func (m *Nat44AddressDetails) Unmarshal(b []byte) error {
   727  	buf := codec.NewBuffer(b)
   728  	copy(m.IPAddress[:], buf.DecodeBytes(4))
   729  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
   730  	m.VrfID = buf.DecodeUint32()
   731  	return nil
   732  }
   733  
   734  // Nat44AddressDump defines message 'nat44_address_dump'.
   735  type Nat44AddressDump struct{}
   736  
   737  func (m *Nat44AddressDump) Reset()               { *m = Nat44AddressDump{} }
   738  func (*Nat44AddressDump) GetMessageName() string { return "nat44_address_dump" }
   739  func (*Nat44AddressDump) GetCrcString() string   { return "51077d14" }
   740  func (*Nat44AddressDump) GetMessageType() api.MessageType {
   741  	return api.RequestMessage
   742  }
   743  
   744  func (m *Nat44AddressDump) Size() (size int) {
   745  	if m == nil {
   746  		return 0
   747  	}
   748  	return size
   749  }
   750  func (m *Nat44AddressDump) Marshal(b []byte) ([]byte, error) {
   751  	if b == nil {
   752  		b = make([]byte, m.Size())
   753  	}
   754  	buf := codec.NewBuffer(b)
   755  	return buf.Bytes(), nil
   756  }
   757  func (m *Nat44AddressDump) Unmarshal(b []byte) error {
   758  	return nil
   759  }
   760  
   761  // Nat44DelSession defines message 'nat44_del_session'.
   762  type Nat44DelSession struct {
   763  	Address        ip_types.IP4Address      `binapi:"ip4_address,name=address" json:"address,omitempty"`
   764  	Protocol       uint8                    `binapi:"u8,name=protocol" json:"protocol,omitempty"`
   765  	Port           uint16                   `binapi:"u16,name=port" json:"port,omitempty"`
   766  	VrfID          uint32                   `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
   767  	Flags          nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
   768  	ExtHostAddress ip_types.IP4Address      `binapi:"ip4_address,name=ext_host_address" json:"ext_host_address,omitempty"`
   769  	ExtHostPort    uint16                   `binapi:"u16,name=ext_host_port" json:"ext_host_port,omitempty"`
   770  }
   771  
   772  func (m *Nat44DelSession) Reset()               { *m = Nat44DelSession{} }
   773  func (*Nat44DelSession) GetMessageName() string { return "nat44_del_session" }
   774  func (*Nat44DelSession) GetCrcString() string   { return "4c49c387" }
   775  func (*Nat44DelSession) GetMessageType() api.MessageType {
   776  	return api.RequestMessage
   777  }
   778  
   779  func (m *Nat44DelSession) Size() (size int) {
   780  	if m == nil {
   781  		return 0
   782  	}
   783  	size += 1 * 4 // m.Address
   784  	size += 1     // m.Protocol
   785  	size += 2     // m.Port
   786  	size += 4     // m.VrfID
   787  	size += 1     // m.Flags
   788  	size += 1 * 4 // m.ExtHostAddress
   789  	size += 2     // m.ExtHostPort
   790  	return size
   791  }
   792  func (m *Nat44DelSession) Marshal(b []byte) ([]byte, error) {
   793  	if b == nil {
   794  		b = make([]byte, m.Size())
   795  	}
   796  	buf := codec.NewBuffer(b)
   797  	buf.EncodeBytes(m.Address[:], 4)
   798  	buf.EncodeUint8(m.Protocol)
   799  	buf.EncodeUint16(m.Port)
   800  	buf.EncodeUint32(m.VrfID)
   801  	buf.EncodeUint8(uint8(m.Flags))
   802  	buf.EncodeBytes(m.ExtHostAddress[:], 4)
   803  	buf.EncodeUint16(m.ExtHostPort)
   804  	return buf.Bytes(), nil
   805  }
   806  func (m *Nat44DelSession) Unmarshal(b []byte) error {
   807  	buf := codec.NewBuffer(b)
   808  	copy(m.Address[:], buf.DecodeBytes(4))
   809  	m.Protocol = buf.DecodeUint8()
   810  	m.Port = buf.DecodeUint16()
   811  	m.VrfID = buf.DecodeUint32()
   812  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
   813  	copy(m.ExtHostAddress[:], buf.DecodeBytes(4))
   814  	m.ExtHostPort = buf.DecodeUint16()
   815  	return nil
   816  }
   817  
   818  // Nat44DelSessionReply defines message 'nat44_del_session_reply'.
   819  type Nat44DelSessionReply struct {
   820  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   821  }
   822  
   823  func (m *Nat44DelSessionReply) Reset()               { *m = Nat44DelSessionReply{} }
   824  func (*Nat44DelSessionReply) GetMessageName() string { return "nat44_del_session_reply" }
   825  func (*Nat44DelSessionReply) GetCrcString() string   { return "e8d4e804" }
   826  func (*Nat44DelSessionReply) GetMessageType() api.MessageType {
   827  	return api.ReplyMessage
   828  }
   829  
   830  func (m *Nat44DelSessionReply) Size() (size int) {
   831  	if m == nil {
   832  		return 0
   833  	}
   834  	size += 4 // m.Retval
   835  	return size
   836  }
   837  func (m *Nat44DelSessionReply) Marshal(b []byte) ([]byte, error) {
   838  	if b == nil {
   839  		b = make([]byte, m.Size())
   840  	}
   841  	buf := codec.NewBuffer(b)
   842  	buf.EncodeInt32(m.Retval)
   843  	return buf.Bytes(), nil
   844  }
   845  func (m *Nat44DelSessionReply) Unmarshal(b []byte) error {
   846  	buf := codec.NewBuffer(b)
   847  	m.Retval = buf.DecodeInt32()
   848  	return nil
   849  }
   850  
   851  // Nat44DelUser defines message 'nat44_del_user'.
   852  type Nat44DelUser struct {
   853  	IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
   854  	FibIndex  uint32              `binapi:"u32,name=fib_index" json:"fib_index,omitempty"`
   855  }
   856  
   857  func (m *Nat44DelUser) Reset()               { *m = Nat44DelUser{} }
   858  func (*Nat44DelUser) GetMessageName() string { return "nat44_del_user" }
   859  func (*Nat44DelUser) GetCrcString() string   { return "99a9f998" }
   860  func (*Nat44DelUser) GetMessageType() api.MessageType {
   861  	return api.RequestMessage
   862  }
   863  
   864  func (m *Nat44DelUser) Size() (size int) {
   865  	if m == nil {
   866  		return 0
   867  	}
   868  	size += 1 * 4 // m.IPAddress
   869  	size += 4     // m.FibIndex
   870  	return size
   871  }
   872  func (m *Nat44DelUser) Marshal(b []byte) ([]byte, error) {
   873  	if b == nil {
   874  		b = make([]byte, m.Size())
   875  	}
   876  	buf := codec.NewBuffer(b)
   877  	buf.EncodeBytes(m.IPAddress[:], 4)
   878  	buf.EncodeUint32(m.FibIndex)
   879  	return buf.Bytes(), nil
   880  }
   881  func (m *Nat44DelUser) Unmarshal(b []byte) error {
   882  	buf := codec.NewBuffer(b)
   883  	copy(m.IPAddress[:], buf.DecodeBytes(4))
   884  	m.FibIndex = buf.DecodeUint32()
   885  	return nil
   886  }
   887  
   888  // Nat44DelUserReply defines message 'nat44_del_user_reply'.
   889  type Nat44DelUserReply struct {
   890  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   891  }
   892  
   893  func (m *Nat44DelUserReply) Reset()               { *m = Nat44DelUserReply{} }
   894  func (*Nat44DelUserReply) GetMessageName() string { return "nat44_del_user_reply" }
   895  func (*Nat44DelUserReply) GetCrcString() string   { return "e8d4e804" }
   896  func (*Nat44DelUserReply) GetMessageType() api.MessageType {
   897  	return api.ReplyMessage
   898  }
   899  
   900  func (m *Nat44DelUserReply) Size() (size int) {
   901  	if m == nil {
   902  		return 0
   903  	}
   904  	size += 4 // m.Retval
   905  	return size
   906  }
   907  func (m *Nat44DelUserReply) Marshal(b []byte) ([]byte, error) {
   908  	if b == nil {
   909  		b = make([]byte, m.Size())
   910  	}
   911  	buf := codec.NewBuffer(b)
   912  	buf.EncodeInt32(m.Retval)
   913  	return buf.Bytes(), nil
   914  }
   915  func (m *Nat44DelUserReply) Unmarshal(b []byte) error {
   916  	buf := codec.NewBuffer(b)
   917  	m.Retval = buf.DecodeInt32()
   918  	return nil
   919  }
   920  
   921  // Nat44ForwardingEnableDisable defines message 'nat44_forwarding_enable_disable'.
   922  type Nat44ForwardingEnableDisable struct {
   923  	Enable bool `binapi:"bool,name=enable" json:"enable,omitempty"`
   924  }
   925  
   926  func (m *Nat44ForwardingEnableDisable) Reset() { *m = Nat44ForwardingEnableDisable{} }
   927  func (*Nat44ForwardingEnableDisable) GetMessageName() string {
   928  	return "nat44_forwarding_enable_disable"
   929  }
   930  func (*Nat44ForwardingEnableDisable) GetCrcString() string { return "b3e225d2" }
   931  func (*Nat44ForwardingEnableDisable) GetMessageType() api.MessageType {
   932  	return api.RequestMessage
   933  }
   934  
   935  func (m *Nat44ForwardingEnableDisable) Size() (size int) {
   936  	if m == nil {
   937  		return 0
   938  	}
   939  	size += 1 // m.Enable
   940  	return size
   941  }
   942  func (m *Nat44ForwardingEnableDisable) Marshal(b []byte) ([]byte, error) {
   943  	if b == nil {
   944  		b = make([]byte, m.Size())
   945  	}
   946  	buf := codec.NewBuffer(b)
   947  	buf.EncodeBool(m.Enable)
   948  	return buf.Bytes(), nil
   949  }
   950  func (m *Nat44ForwardingEnableDisable) Unmarshal(b []byte) error {
   951  	buf := codec.NewBuffer(b)
   952  	m.Enable = buf.DecodeBool()
   953  	return nil
   954  }
   955  
   956  // Nat44ForwardingEnableDisableReply defines message 'nat44_forwarding_enable_disable_reply'.
   957  type Nat44ForwardingEnableDisableReply struct {
   958  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   959  }
   960  
   961  func (m *Nat44ForwardingEnableDisableReply) Reset() { *m = Nat44ForwardingEnableDisableReply{} }
   962  func (*Nat44ForwardingEnableDisableReply) GetMessageName() string {
   963  	return "nat44_forwarding_enable_disable_reply"
   964  }
   965  func (*Nat44ForwardingEnableDisableReply) GetCrcString() string { return "e8d4e804" }
   966  func (*Nat44ForwardingEnableDisableReply) GetMessageType() api.MessageType {
   967  	return api.ReplyMessage
   968  }
   969  
   970  func (m *Nat44ForwardingEnableDisableReply) Size() (size int) {
   971  	if m == nil {
   972  		return 0
   973  	}
   974  	size += 4 // m.Retval
   975  	return size
   976  }
   977  func (m *Nat44ForwardingEnableDisableReply) Marshal(b []byte) ([]byte, error) {
   978  	if b == nil {
   979  		b = make([]byte, m.Size())
   980  	}
   981  	buf := codec.NewBuffer(b)
   982  	buf.EncodeInt32(m.Retval)
   983  	return buf.Bytes(), nil
   984  }
   985  func (m *Nat44ForwardingEnableDisableReply) Unmarshal(b []byte) error {
   986  	buf := codec.NewBuffer(b)
   987  	m.Retval = buf.DecodeInt32()
   988  	return nil
   989  }
   990  
   991  // Nat44ForwardingIsEnabled defines message 'nat44_forwarding_is_enabled'.
   992  type Nat44ForwardingIsEnabled struct{}
   993  
   994  func (m *Nat44ForwardingIsEnabled) Reset()               { *m = Nat44ForwardingIsEnabled{} }
   995  func (*Nat44ForwardingIsEnabled) GetMessageName() string { return "nat44_forwarding_is_enabled" }
   996  func (*Nat44ForwardingIsEnabled) GetCrcString() string   { return "51077d14" }
   997  func (*Nat44ForwardingIsEnabled) GetMessageType() api.MessageType {
   998  	return api.RequestMessage
   999  }
  1000  
  1001  func (m *Nat44ForwardingIsEnabled) Size() (size int) {
  1002  	if m == nil {
  1003  		return 0
  1004  	}
  1005  	return size
  1006  }
  1007  func (m *Nat44ForwardingIsEnabled) Marshal(b []byte) ([]byte, error) {
  1008  	if b == nil {
  1009  		b = make([]byte, m.Size())
  1010  	}
  1011  	buf := codec.NewBuffer(b)
  1012  	return buf.Bytes(), nil
  1013  }
  1014  func (m *Nat44ForwardingIsEnabled) Unmarshal(b []byte) error {
  1015  	return nil
  1016  }
  1017  
  1018  // Nat44ForwardingIsEnabledReply defines message 'nat44_forwarding_is_enabled_reply'.
  1019  type Nat44ForwardingIsEnabledReply struct {
  1020  	Enabled bool `binapi:"bool,name=enabled" json:"enabled,omitempty"`
  1021  }
  1022  
  1023  func (m *Nat44ForwardingIsEnabledReply) Reset() { *m = Nat44ForwardingIsEnabledReply{} }
  1024  func (*Nat44ForwardingIsEnabledReply) GetMessageName() string {
  1025  	return "nat44_forwarding_is_enabled_reply"
  1026  }
  1027  func (*Nat44ForwardingIsEnabledReply) GetCrcString() string { return "46924a06" }
  1028  func (*Nat44ForwardingIsEnabledReply) GetMessageType() api.MessageType {
  1029  	return api.ReplyMessage
  1030  }
  1031  
  1032  func (m *Nat44ForwardingIsEnabledReply) Size() (size int) {
  1033  	if m == nil {
  1034  		return 0
  1035  	}
  1036  	size += 1 // m.Enabled
  1037  	return size
  1038  }
  1039  func (m *Nat44ForwardingIsEnabledReply) Marshal(b []byte) ([]byte, error) {
  1040  	if b == nil {
  1041  		b = make([]byte, m.Size())
  1042  	}
  1043  	buf := codec.NewBuffer(b)
  1044  	buf.EncodeBool(m.Enabled)
  1045  	return buf.Bytes(), nil
  1046  }
  1047  func (m *Nat44ForwardingIsEnabledReply) Unmarshal(b []byte) error {
  1048  	buf := codec.NewBuffer(b)
  1049  	m.Enabled = buf.DecodeBool()
  1050  	return nil
  1051  }
  1052  
  1053  // Nat44IdentityMappingDetails defines message 'nat44_identity_mapping_details'.
  1054  type Nat44IdentityMappingDetails struct {
  1055  	Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
  1056  	IPAddress ip_types.IP4Address            `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
  1057  	Protocol  uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
  1058  	Port      uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
  1059  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  1060  	VrfID     uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
  1061  	Tag       string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
  1062  }
  1063  
  1064  func (m *Nat44IdentityMappingDetails) Reset()               { *m = Nat44IdentityMappingDetails{} }
  1065  func (*Nat44IdentityMappingDetails) GetMessageName() string { return "nat44_identity_mapping_details" }
  1066  func (*Nat44IdentityMappingDetails) GetCrcString() string   { return "36d21351" }
  1067  func (*Nat44IdentityMappingDetails) GetMessageType() api.MessageType {
  1068  	return api.ReplyMessage
  1069  }
  1070  
  1071  func (m *Nat44IdentityMappingDetails) Size() (size int) {
  1072  	if m == nil {
  1073  		return 0
  1074  	}
  1075  	size += 1     // m.Flags
  1076  	size += 1 * 4 // m.IPAddress
  1077  	size += 1     // m.Protocol
  1078  	size += 2     // m.Port
  1079  	size += 4     // m.SwIfIndex
  1080  	size += 4     // m.VrfID
  1081  	size += 64    // m.Tag
  1082  	return size
  1083  }
  1084  func (m *Nat44IdentityMappingDetails) Marshal(b []byte) ([]byte, error) {
  1085  	if b == nil {
  1086  		b = make([]byte, m.Size())
  1087  	}
  1088  	buf := codec.NewBuffer(b)
  1089  	buf.EncodeUint8(uint8(m.Flags))
  1090  	buf.EncodeBytes(m.IPAddress[:], 4)
  1091  	buf.EncodeUint8(m.Protocol)
  1092  	buf.EncodeUint16(m.Port)
  1093  	buf.EncodeUint32(uint32(m.SwIfIndex))
  1094  	buf.EncodeUint32(m.VrfID)
  1095  	buf.EncodeString(m.Tag, 64)
  1096  	return buf.Bytes(), nil
  1097  }
  1098  func (m *Nat44IdentityMappingDetails) Unmarshal(b []byte) error {
  1099  	buf := codec.NewBuffer(b)
  1100  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
  1101  	copy(m.IPAddress[:], buf.DecodeBytes(4))
  1102  	m.Protocol = buf.DecodeUint8()
  1103  	m.Port = buf.DecodeUint16()
  1104  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1105  	m.VrfID = buf.DecodeUint32()
  1106  	m.Tag = buf.DecodeString(64)
  1107  	return nil
  1108  }
  1109  
  1110  // Nat44IdentityMappingDump defines message 'nat44_identity_mapping_dump'.
  1111  type Nat44IdentityMappingDump struct{}
  1112  
  1113  func (m *Nat44IdentityMappingDump) Reset()               { *m = Nat44IdentityMappingDump{} }
  1114  func (*Nat44IdentityMappingDump) GetMessageName() string { return "nat44_identity_mapping_dump" }
  1115  func (*Nat44IdentityMappingDump) GetCrcString() string   { return "51077d14" }
  1116  func (*Nat44IdentityMappingDump) GetMessageType() api.MessageType {
  1117  	return api.RequestMessage
  1118  }
  1119  
  1120  func (m *Nat44IdentityMappingDump) Size() (size int) {
  1121  	if m == nil {
  1122  		return 0
  1123  	}
  1124  	return size
  1125  }
  1126  func (m *Nat44IdentityMappingDump) Marshal(b []byte) ([]byte, error) {
  1127  	if b == nil {
  1128  		b = make([]byte, m.Size())
  1129  	}
  1130  	buf := codec.NewBuffer(b)
  1131  	return buf.Bytes(), nil
  1132  }
  1133  func (m *Nat44IdentityMappingDump) Unmarshal(b []byte) error {
  1134  	return nil
  1135  }
  1136  
  1137  // Nat44InterfaceAddDelFeature defines message 'nat44_interface_add_del_feature'.
  1138  type Nat44InterfaceAddDelFeature struct {
  1139  	IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1140  	Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
  1141  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  1142  }
  1143  
  1144  func (m *Nat44InterfaceAddDelFeature) Reset()               { *m = Nat44InterfaceAddDelFeature{} }
  1145  func (*Nat44InterfaceAddDelFeature) GetMessageName() string { return "nat44_interface_add_del_feature" }
  1146  func (*Nat44InterfaceAddDelFeature) GetCrcString() string   { return "f3699b83" }
  1147  func (*Nat44InterfaceAddDelFeature) GetMessageType() api.MessageType {
  1148  	return api.RequestMessage
  1149  }
  1150  
  1151  func (m *Nat44InterfaceAddDelFeature) Size() (size int) {
  1152  	if m == nil {
  1153  		return 0
  1154  	}
  1155  	size += 1 // m.IsAdd
  1156  	size += 1 // m.Flags
  1157  	size += 4 // m.SwIfIndex
  1158  	return size
  1159  }
  1160  func (m *Nat44InterfaceAddDelFeature) Marshal(b []byte) ([]byte, error) {
  1161  	if b == nil {
  1162  		b = make([]byte, m.Size())
  1163  	}
  1164  	buf := codec.NewBuffer(b)
  1165  	buf.EncodeBool(m.IsAdd)
  1166  	buf.EncodeUint8(uint8(m.Flags))
  1167  	buf.EncodeUint32(uint32(m.SwIfIndex))
  1168  	return buf.Bytes(), nil
  1169  }
  1170  func (m *Nat44InterfaceAddDelFeature) Unmarshal(b []byte) error {
  1171  	buf := codec.NewBuffer(b)
  1172  	m.IsAdd = buf.DecodeBool()
  1173  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
  1174  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1175  	return nil
  1176  }
  1177  
  1178  // Nat44InterfaceAddDelFeatureReply defines message 'nat44_interface_add_del_feature_reply'.
  1179  type Nat44InterfaceAddDelFeatureReply struct {
  1180  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1181  }
  1182  
  1183  func (m *Nat44InterfaceAddDelFeatureReply) Reset() { *m = Nat44InterfaceAddDelFeatureReply{} }
  1184  func (*Nat44InterfaceAddDelFeatureReply) GetMessageName() string {
  1185  	return "nat44_interface_add_del_feature_reply"
  1186  }
  1187  func (*Nat44InterfaceAddDelFeatureReply) GetCrcString() string { return "e8d4e804" }
  1188  func (*Nat44InterfaceAddDelFeatureReply) GetMessageType() api.MessageType {
  1189  	return api.ReplyMessage
  1190  }
  1191  
  1192  func (m *Nat44InterfaceAddDelFeatureReply) Size() (size int) {
  1193  	if m == nil {
  1194  		return 0
  1195  	}
  1196  	size += 4 // m.Retval
  1197  	return size
  1198  }
  1199  func (m *Nat44InterfaceAddDelFeatureReply) Marshal(b []byte) ([]byte, error) {
  1200  	if b == nil {
  1201  		b = make([]byte, m.Size())
  1202  	}
  1203  	buf := codec.NewBuffer(b)
  1204  	buf.EncodeInt32(m.Retval)
  1205  	return buf.Bytes(), nil
  1206  }
  1207  func (m *Nat44InterfaceAddDelFeatureReply) Unmarshal(b []byte) error {
  1208  	buf := codec.NewBuffer(b)
  1209  	m.Retval = buf.DecodeInt32()
  1210  	return nil
  1211  }
  1212  
  1213  // Nat44InterfaceAddDelOutputFeature defines message 'nat44_interface_add_del_output_feature'.
  1214  type Nat44InterfaceAddDelOutputFeature struct {
  1215  	IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1216  	Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
  1217  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  1218  }
  1219  
  1220  func (m *Nat44InterfaceAddDelOutputFeature) Reset() { *m = Nat44InterfaceAddDelOutputFeature{} }
  1221  func (*Nat44InterfaceAddDelOutputFeature) GetMessageName() string {
  1222  	return "nat44_interface_add_del_output_feature"
  1223  }
  1224  func (*Nat44InterfaceAddDelOutputFeature) GetCrcString() string { return "f3699b83" }
  1225  func (*Nat44InterfaceAddDelOutputFeature) GetMessageType() api.MessageType {
  1226  	return api.RequestMessage
  1227  }
  1228  
  1229  func (m *Nat44InterfaceAddDelOutputFeature) Size() (size int) {
  1230  	if m == nil {
  1231  		return 0
  1232  	}
  1233  	size += 1 // m.IsAdd
  1234  	size += 1 // m.Flags
  1235  	size += 4 // m.SwIfIndex
  1236  	return size
  1237  }
  1238  func (m *Nat44InterfaceAddDelOutputFeature) Marshal(b []byte) ([]byte, error) {
  1239  	if b == nil {
  1240  		b = make([]byte, m.Size())
  1241  	}
  1242  	buf := codec.NewBuffer(b)
  1243  	buf.EncodeBool(m.IsAdd)
  1244  	buf.EncodeUint8(uint8(m.Flags))
  1245  	buf.EncodeUint32(uint32(m.SwIfIndex))
  1246  	return buf.Bytes(), nil
  1247  }
  1248  func (m *Nat44InterfaceAddDelOutputFeature) Unmarshal(b []byte) error {
  1249  	buf := codec.NewBuffer(b)
  1250  	m.IsAdd = buf.DecodeBool()
  1251  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
  1252  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1253  	return nil
  1254  }
  1255  
  1256  // Nat44InterfaceAddDelOutputFeatureReply defines message 'nat44_interface_add_del_output_feature_reply'.
  1257  type Nat44InterfaceAddDelOutputFeatureReply struct {
  1258  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1259  }
  1260  
  1261  func (m *Nat44InterfaceAddDelOutputFeatureReply) Reset() {
  1262  	*m = Nat44InterfaceAddDelOutputFeatureReply{}
  1263  }
  1264  func (*Nat44InterfaceAddDelOutputFeatureReply) GetMessageName() string {
  1265  	return "nat44_interface_add_del_output_feature_reply"
  1266  }
  1267  func (*Nat44InterfaceAddDelOutputFeatureReply) GetCrcString() string { return "e8d4e804" }
  1268  func (*Nat44InterfaceAddDelOutputFeatureReply) GetMessageType() api.MessageType {
  1269  	return api.ReplyMessage
  1270  }
  1271  
  1272  func (m *Nat44InterfaceAddDelOutputFeatureReply) Size() (size int) {
  1273  	if m == nil {
  1274  		return 0
  1275  	}
  1276  	size += 4 // m.Retval
  1277  	return size
  1278  }
  1279  func (m *Nat44InterfaceAddDelOutputFeatureReply) Marshal(b []byte) ([]byte, error) {
  1280  	if b == nil {
  1281  		b = make([]byte, m.Size())
  1282  	}
  1283  	buf := codec.NewBuffer(b)
  1284  	buf.EncodeInt32(m.Retval)
  1285  	return buf.Bytes(), nil
  1286  }
  1287  func (m *Nat44InterfaceAddDelOutputFeatureReply) Unmarshal(b []byte) error {
  1288  	buf := codec.NewBuffer(b)
  1289  	m.Retval = buf.DecodeInt32()
  1290  	return nil
  1291  }
  1292  
  1293  // Nat44InterfaceAddrDetails defines message 'nat44_interface_addr_details'.
  1294  type Nat44InterfaceAddrDetails struct {
  1295  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  1296  	Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
  1297  }
  1298  
  1299  func (m *Nat44InterfaceAddrDetails) Reset()               { *m = Nat44InterfaceAddrDetails{} }
  1300  func (*Nat44InterfaceAddrDetails) GetMessageName() string { return "nat44_interface_addr_details" }
  1301  func (*Nat44InterfaceAddrDetails) GetCrcString() string   { return "3e687514" }
  1302  func (*Nat44InterfaceAddrDetails) GetMessageType() api.MessageType {
  1303  	return api.ReplyMessage
  1304  }
  1305  
  1306  func (m *Nat44InterfaceAddrDetails) Size() (size int) {
  1307  	if m == nil {
  1308  		return 0
  1309  	}
  1310  	size += 4 // m.SwIfIndex
  1311  	size += 1 // m.Flags
  1312  	return size
  1313  }
  1314  func (m *Nat44InterfaceAddrDetails) Marshal(b []byte) ([]byte, error) {
  1315  	if b == nil {
  1316  		b = make([]byte, m.Size())
  1317  	}
  1318  	buf := codec.NewBuffer(b)
  1319  	buf.EncodeUint32(uint32(m.SwIfIndex))
  1320  	buf.EncodeUint8(uint8(m.Flags))
  1321  	return buf.Bytes(), nil
  1322  }
  1323  func (m *Nat44InterfaceAddrDetails) Unmarshal(b []byte) error {
  1324  	buf := codec.NewBuffer(b)
  1325  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1326  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
  1327  	return nil
  1328  }
  1329  
  1330  // Nat44InterfaceAddrDump defines message 'nat44_interface_addr_dump'.
  1331  type Nat44InterfaceAddrDump struct{}
  1332  
  1333  func (m *Nat44InterfaceAddrDump) Reset()               { *m = Nat44InterfaceAddrDump{} }
  1334  func (*Nat44InterfaceAddrDump) GetMessageName() string { return "nat44_interface_addr_dump" }
  1335  func (*Nat44InterfaceAddrDump) GetCrcString() string   { return "51077d14" }
  1336  func (*Nat44InterfaceAddrDump) GetMessageType() api.MessageType {
  1337  	return api.RequestMessage
  1338  }
  1339  
  1340  func (m *Nat44InterfaceAddrDump) Size() (size int) {
  1341  	if m == nil {
  1342  		return 0
  1343  	}
  1344  	return size
  1345  }
  1346  func (m *Nat44InterfaceAddrDump) Marshal(b []byte) ([]byte, error) {
  1347  	if b == nil {
  1348  		b = make([]byte, m.Size())
  1349  	}
  1350  	buf := codec.NewBuffer(b)
  1351  	return buf.Bytes(), nil
  1352  }
  1353  func (m *Nat44InterfaceAddrDump) Unmarshal(b []byte) error {
  1354  	return nil
  1355  }
  1356  
  1357  // Nat44InterfaceDetails defines message 'nat44_interface_details'.
  1358  type Nat44InterfaceDetails struct {
  1359  	Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
  1360  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  1361  }
  1362  
  1363  func (m *Nat44InterfaceDetails) Reset()               { *m = Nat44InterfaceDetails{} }
  1364  func (*Nat44InterfaceDetails) GetMessageName() string { return "nat44_interface_details" }
  1365  func (*Nat44InterfaceDetails) GetCrcString() string   { return "5d286289" }
  1366  func (*Nat44InterfaceDetails) GetMessageType() api.MessageType {
  1367  	return api.ReplyMessage
  1368  }
  1369  
  1370  func (m *Nat44InterfaceDetails) Size() (size int) {
  1371  	if m == nil {
  1372  		return 0
  1373  	}
  1374  	size += 1 // m.Flags
  1375  	size += 4 // m.SwIfIndex
  1376  	return size
  1377  }
  1378  func (m *Nat44InterfaceDetails) Marshal(b []byte) ([]byte, error) {
  1379  	if b == nil {
  1380  		b = make([]byte, m.Size())
  1381  	}
  1382  	buf := codec.NewBuffer(b)
  1383  	buf.EncodeUint8(uint8(m.Flags))
  1384  	buf.EncodeUint32(uint32(m.SwIfIndex))
  1385  	return buf.Bytes(), nil
  1386  }
  1387  func (m *Nat44InterfaceDetails) Unmarshal(b []byte) error {
  1388  	buf := codec.NewBuffer(b)
  1389  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
  1390  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1391  	return nil
  1392  }
  1393  
  1394  // Nat44InterfaceDump defines message 'nat44_interface_dump'.
  1395  type Nat44InterfaceDump struct{}
  1396  
  1397  func (m *Nat44InterfaceDump) Reset()               { *m = Nat44InterfaceDump{} }
  1398  func (*Nat44InterfaceDump) GetMessageName() string { return "nat44_interface_dump" }
  1399  func (*Nat44InterfaceDump) GetCrcString() string   { return "51077d14" }
  1400  func (*Nat44InterfaceDump) GetMessageType() api.MessageType {
  1401  	return api.RequestMessage
  1402  }
  1403  
  1404  func (m *Nat44InterfaceDump) Size() (size int) {
  1405  	if m == nil {
  1406  		return 0
  1407  	}
  1408  	return size
  1409  }
  1410  func (m *Nat44InterfaceDump) Marshal(b []byte) ([]byte, error) {
  1411  	if b == nil {
  1412  		b = make([]byte, m.Size())
  1413  	}
  1414  	buf := codec.NewBuffer(b)
  1415  	return buf.Bytes(), nil
  1416  }
  1417  func (m *Nat44InterfaceDump) Unmarshal(b []byte) error {
  1418  	return nil
  1419  }
  1420  
  1421  // Nat44InterfaceOutputFeatureDetails defines message 'nat44_interface_output_feature_details'.
  1422  type Nat44InterfaceOutputFeatureDetails struct {
  1423  	Flags     nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
  1424  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  1425  }
  1426  
  1427  func (m *Nat44InterfaceOutputFeatureDetails) Reset() { *m = Nat44InterfaceOutputFeatureDetails{} }
  1428  func (*Nat44InterfaceOutputFeatureDetails) GetMessageName() string {
  1429  	return "nat44_interface_output_feature_details"
  1430  }
  1431  func (*Nat44InterfaceOutputFeatureDetails) GetCrcString() string { return "5d286289" }
  1432  func (*Nat44InterfaceOutputFeatureDetails) GetMessageType() api.MessageType {
  1433  	return api.ReplyMessage
  1434  }
  1435  
  1436  func (m *Nat44InterfaceOutputFeatureDetails) Size() (size int) {
  1437  	if m == nil {
  1438  		return 0
  1439  	}
  1440  	size += 1 // m.Flags
  1441  	size += 4 // m.SwIfIndex
  1442  	return size
  1443  }
  1444  func (m *Nat44InterfaceOutputFeatureDetails) Marshal(b []byte) ([]byte, error) {
  1445  	if b == nil {
  1446  		b = make([]byte, m.Size())
  1447  	}
  1448  	buf := codec.NewBuffer(b)
  1449  	buf.EncodeUint8(uint8(m.Flags))
  1450  	buf.EncodeUint32(uint32(m.SwIfIndex))
  1451  	return buf.Bytes(), nil
  1452  }
  1453  func (m *Nat44InterfaceOutputFeatureDetails) Unmarshal(b []byte) error {
  1454  	buf := codec.NewBuffer(b)
  1455  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
  1456  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1457  	return nil
  1458  }
  1459  
  1460  // Nat44InterfaceOutputFeatureDump defines message 'nat44_interface_output_feature_dump'.
  1461  type Nat44InterfaceOutputFeatureDump struct{}
  1462  
  1463  func (m *Nat44InterfaceOutputFeatureDump) Reset() { *m = Nat44InterfaceOutputFeatureDump{} }
  1464  func (*Nat44InterfaceOutputFeatureDump) GetMessageName() string {
  1465  	return "nat44_interface_output_feature_dump"
  1466  }
  1467  func (*Nat44InterfaceOutputFeatureDump) GetCrcString() string { return "51077d14" }
  1468  func (*Nat44InterfaceOutputFeatureDump) GetMessageType() api.MessageType {
  1469  	return api.RequestMessage
  1470  }
  1471  
  1472  func (m *Nat44InterfaceOutputFeatureDump) Size() (size int) {
  1473  	if m == nil {
  1474  		return 0
  1475  	}
  1476  	return size
  1477  }
  1478  func (m *Nat44InterfaceOutputFeatureDump) Marshal(b []byte) ([]byte, error) {
  1479  	if b == nil {
  1480  		b = make([]byte, m.Size())
  1481  	}
  1482  	buf := codec.NewBuffer(b)
  1483  	return buf.Bytes(), nil
  1484  }
  1485  func (m *Nat44InterfaceOutputFeatureDump) Unmarshal(b []byte) error {
  1486  	return nil
  1487  }
  1488  
  1489  // Nat44LbStaticMappingAddDelLocal defines message 'nat44_lb_static_mapping_add_del_local'.
  1490  type Nat44LbStaticMappingAddDelLocal struct {
  1491  	IsAdd        bool                `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1492  	ExternalAddr ip_types.IP4Address `binapi:"ip4_address,name=external_addr" json:"external_addr,omitempty"`
  1493  	ExternalPort uint16              `binapi:"u16,name=external_port" json:"external_port,omitempty"`
  1494  	Protocol     uint8               `binapi:"u8,name=protocol" json:"protocol,omitempty"`
  1495  	Local        Nat44LbAddrPort     `binapi:"nat44_lb_addr_port,name=local" json:"local,omitempty"`
  1496  }
  1497  
  1498  func (m *Nat44LbStaticMappingAddDelLocal) Reset() { *m = Nat44LbStaticMappingAddDelLocal{} }
  1499  func (*Nat44LbStaticMappingAddDelLocal) GetMessageName() string {
  1500  	return "nat44_lb_static_mapping_add_del_local"
  1501  }
  1502  func (*Nat44LbStaticMappingAddDelLocal) GetCrcString() string { return "2910a151" }
  1503  func (*Nat44LbStaticMappingAddDelLocal) GetMessageType() api.MessageType {
  1504  	return api.RequestMessage
  1505  }
  1506  
  1507  func (m *Nat44LbStaticMappingAddDelLocal) Size() (size int) {
  1508  	if m == nil {
  1509  		return 0
  1510  	}
  1511  	size += 1     // m.IsAdd
  1512  	size += 1 * 4 // m.ExternalAddr
  1513  	size += 2     // m.ExternalPort
  1514  	size += 1     // m.Protocol
  1515  	size += 1 * 4 // m.Local.Addr
  1516  	size += 2     // m.Local.Port
  1517  	size += 1     // m.Local.Probability
  1518  	size += 4     // m.Local.VrfID
  1519  	return size
  1520  }
  1521  func (m *Nat44LbStaticMappingAddDelLocal) Marshal(b []byte) ([]byte, error) {
  1522  	if b == nil {
  1523  		b = make([]byte, m.Size())
  1524  	}
  1525  	buf := codec.NewBuffer(b)
  1526  	buf.EncodeBool(m.IsAdd)
  1527  	buf.EncodeBytes(m.ExternalAddr[:], 4)
  1528  	buf.EncodeUint16(m.ExternalPort)
  1529  	buf.EncodeUint8(m.Protocol)
  1530  	buf.EncodeBytes(m.Local.Addr[:], 4)
  1531  	buf.EncodeUint16(m.Local.Port)
  1532  	buf.EncodeUint8(m.Local.Probability)
  1533  	buf.EncodeUint32(m.Local.VrfID)
  1534  	return buf.Bytes(), nil
  1535  }
  1536  func (m *Nat44LbStaticMappingAddDelLocal) Unmarshal(b []byte) error {
  1537  	buf := codec.NewBuffer(b)
  1538  	m.IsAdd = buf.DecodeBool()
  1539  	copy(m.ExternalAddr[:], buf.DecodeBytes(4))
  1540  	m.ExternalPort = buf.DecodeUint16()
  1541  	m.Protocol = buf.DecodeUint8()
  1542  	copy(m.Local.Addr[:], buf.DecodeBytes(4))
  1543  	m.Local.Port = buf.DecodeUint16()
  1544  	m.Local.Probability = buf.DecodeUint8()
  1545  	m.Local.VrfID = buf.DecodeUint32()
  1546  	return nil
  1547  }
  1548  
  1549  // Nat44LbStaticMappingAddDelLocalReply defines message 'nat44_lb_static_mapping_add_del_local_reply'.
  1550  type Nat44LbStaticMappingAddDelLocalReply struct {
  1551  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1552  }
  1553  
  1554  func (m *Nat44LbStaticMappingAddDelLocalReply) Reset() { *m = Nat44LbStaticMappingAddDelLocalReply{} }
  1555  func (*Nat44LbStaticMappingAddDelLocalReply) GetMessageName() string {
  1556  	return "nat44_lb_static_mapping_add_del_local_reply"
  1557  }
  1558  func (*Nat44LbStaticMappingAddDelLocalReply) GetCrcString() string { return "e8d4e804" }
  1559  func (*Nat44LbStaticMappingAddDelLocalReply) GetMessageType() api.MessageType {
  1560  	return api.ReplyMessage
  1561  }
  1562  
  1563  func (m *Nat44LbStaticMappingAddDelLocalReply) Size() (size int) {
  1564  	if m == nil {
  1565  		return 0
  1566  	}
  1567  	size += 4 // m.Retval
  1568  	return size
  1569  }
  1570  func (m *Nat44LbStaticMappingAddDelLocalReply) Marshal(b []byte) ([]byte, error) {
  1571  	if b == nil {
  1572  		b = make([]byte, m.Size())
  1573  	}
  1574  	buf := codec.NewBuffer(b)
  1575  	buf.EncodeInt32(m.Retval)
  1576  	return buf.Bytes(), nil
  1577  }
  1578  func (m *Nat44LbStaticMappingAddDelLocalReply) Unmarshal(b []byte) error {
  1579  	buf := codec.NewBuffer(b)
  1580  	m.Retval = buf.DecodeInt32()
  1581  	return nil
  1582  }
  1583  
  1584  // Nat44LbStaticMappingDetails defines message 'nat44_lb_static_mapping_details'.
  1585  type Nat44LbStaticMappingDetails struct {
  1586  	ExternalAddr ip_types.IP4Address      `binapi:"ip4_address,name=external_addr" json:"external_addr,omitempty"`
  1587  	ExternalPort uint16                   `binapi:"u16,name=external_port" json:"external_port,omitempty"`
  1588  	Protocol     uint8                    `binapi:"u8,name=protocol" json:"protocol,omitempty"`
  1589  	Flags        nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
  1590  	Affinity     uint32                   `binapi:"u32,name=affinity" json:"affinity,omitempty"`
  1591  	Tag          string                   `binapi:"string[64],name=tag" json:"tag,omitempty"`
  1592  	LocalNum     uint32                   `binapi:"u32,name=local_num" json:"-"`
  1593  	Locals       []Nat44LbAddrPort        `binapi:"nat44_lb_addr_port[local_num],name=locals" json:"locals,omitempty"`
  1594  }
  1595  
  1596  func (m *Nat44LbStaticMappingDetails) Reset()               { *m = Nat44LbStaticMappingDetails{} }
  1597  func (*Nat44LbStaticMappingDetails) GetMessageName() string { return "nat44_lb_static_mapping_details" }
  1598  func (*Nat44LbStaticMappingDetails) GetCrcString() string   { return "2267b9e8" }
  1599  func (*Nat44LbStaticMappingDetails) GetMessageType() api.MessageType {
  1600  	return api.ReplyMessage
  1601  }
  1602  
  1603  func (m *Nat44LbStaticMappingDetails) Size() (size int) {
  1604  	if m == nil {
  1605  		return 0
  1606  	}
  1607  	size += 1 * 4 // m.ExternalAddr
  1608  	size += 2     // m.ExternalPort
  1609  	size += 1     // m.Protocol
  1610  	size += 1     // m.Flags
  1611  	size += 4     // m.Affinity
  1612  	size += 64    // m.Tag
  1613  	size += 4     // m.LocalNum
  1614  	for j1 := 0; j1 < len(m.Locals); j1++ {
  1615  		var s1 Nat44LbAddrPort
  1616  		_ = s1
  1617  		if j1 < len(m.Locals) {
  1618  			s1 = m.Locals[j1]
  1619  		}
  1620  		size += 1 * 4 // s1.Addr
  1621  		size += 2     // s1.Port
  1622  		size += 1     // s1.Probability
  1623  		size += 4     // s1.VrfID
  1624  	}
  1625  	return size
  1626  }
  1627  func (m *Nat44LbStaticMappingDetails) Marshal(b []byte) ([]byte, error) {
  1628  	if b == nil {
  1629  		b = make([]byte, m.Size())
  1630  	}
  1631  	buf := codec.NewBuffer(b)
  1632  	buf.EncodeBytes(m.ExternalAddr[:], 4)
  1633  	buf.EncodeUint16(m.ExternalPort)
  1634  	buf.EncodeUint8(m.Protocol)
  1635  	buf.EncodeUint8(uint8(m.Flags))
  1636  	buf.EncodeUint32(m.Affinity)
  1637  	buf.EncodeString(m.Tag, 64)
  1638  	buf.EncodeUint32(uint32(len(m.Locals)))
  1639  	for j0 := 0; j0 < len(m.Locals); j0++ {
  1640  		var v0 Nat44LbAddrPort // Locals
  1641  		if j0 < len(m.Locals) {
  1642  			v0 = m.Locals[j0]
  1643  		}
  1644  		buf.EncodeBytes(v0.Addr[:], 4)
  1645  		buf.EncodeUint16(v0.Port)
  1646  		buf.EncodeUint8(v0.Probability)
  1647  		buf.EncodeUint32(v0.VrfID)
  1648  	}
  1649  	return buf.Bytes(), nil
  1650  }
  1651  func (m *Nat44LbStaticMappingDetails) Unmarshal(b []byte) error {
  1652  	buf := codec.NewBuffer(b)
  1653  	copy(m.ExternalAddr[:], buf.DecodeBytes(4))
  1654  	m.ExternalPort = buf.DecodeUint16()
  1655  	m.Protocol = buf.DecodeUint8()
  1656  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
  1657  	m.Affinity = buf.DecodeUint32()
  1658  	m.Tag = buf.DecodeString(64)
  1659  	m.LocalNum = buf.DecodeUint32()
  1660  	m.Locals = make([]Nat44LbAddrPort, m.LocalNum)
  1661  	for j0 := 0; j0 < len(m.Locals); j0++ {
  1662  		copy(m.Locals[j0].Addr[:], buf.DecodeBytes(4))
  1663  		m.Locals[j0].Port = buf.DecodeUint16()
  1664  		m.Locals[j0].Probability = buf.DecodeUint8()
  1665  		m.Locals[j0].VrfID = buf.DecodeUint32()
  1666  	}
  1667  	return nil
  1668  }
  1669  
  1670  // Nat44LbStaticMappingDump defines message 'nat44_lb_static_mapping_dump'.
  1671  type Nat44LbStaticMappingDump struct{}
  1672  
  1673  func (m *Nat44LbStaticMappingDump) Reset()               { *m = Nat44LbStaticMappingDump{} }
  1674  func (*Nat44LbStaticMappingDump) GetMessageName() string { return "nat44_lb_static_mapping_dump" }
  1675  func (*Nat44LbStaticMappingDump) GetCrcString() string   { return "51077d14" }
  1676  func (*Nat44LbStaticMappingDump) GetMessageType() api.MessageType {
  1677  	return api.RequestMessage
  1678  }
  1679  
  1680  func (m *Nat44LbStaticMappingDump) Size() (size int) {
  1681  	if m == nil {
  1682  		return 0
  1683  	}
  1684  	return size
  1685  }
  1686  func (m *Nat44LbStaticMappingDump) Marshal(b []byte) ([]byte, error) {
  1687  	if b == nil {
  1688  		b = make([]byte, m.Size())
  1689  	}
  1690  	buf := codec.NewBuffer(b)
  1691  	return buf.Bytes(), nil
  1692  }
  1693  func (m *Nat44LbStaticMappingDump) Unmarshal(b []byte) error {
  1694  	return nil
  1695  }
  1696  
  1697  // Nat44PluginEnableDisable defines message 'nat44_plugin_enable_disable'.
  1698  type Nat44PluginEnableDisable struct {
  1699  	InsideVrf     uint32           `binapi:"u32,name=inside_vrf" json:"inside_vrf,omitempty"`
  1700  	OutsideVrf    uint32           `binapi:"u32,name=outside_vrf" json:"outside_vrf,omitempty"`
  1701  	Users         uint32           `binapi:"u32,name=users" json:"users,omitempty"`
  1702  	UserMemory    uint32           `binapi:"u32,name=user_memory" json:"user_memory,omitempty"`
  1703  	Sessions      uint32           `binapi:"u32,name=sessions" json:"sessions,omitempty"`
  1704  	SessionMemory uint32           `binapi:"u32,name=session_memory" json:"session_memory,omitempty"`
  1705  	UserSessions  uint32           `binapi:"u32,name=user_sessions" json:"user_sessions,omitempty"`
  1706  	Enable        bool             `binapi:"bool,name=enable" json:"enable,omitempty"`
  1707  	Flags         Nat44ConfigFlags `binapi:"nat44_config_flags,name=flags" json:"flags,omitempty"`
  1708  }
  1709  
  1710  func (m *Nat44PluginEnableDisable) Reset()               { *m = Nat44PluginEnableDisable{} }
  1711  func (*Nat44PluginEnableDisable) GetMessageName() string { return "nat44_plugin_enable_disable" }
  1712  func (*Nat44PluginEnableDisable) GetCrcString() string   { return "dea0d501" }
  1713  func (*Nat44PluginEnableDisable) GetMessageType() api.MessageType {
  1714  	return api.RequestMessage
  1715  }
  1716  
  1717  func (m *Nat44PluginEnableDisable) Size() (size int) {
  1718  	if m == nil {
  1719  		return 0
  1720  	}
  1721  	size += 4 // m.InsideVrf
  1722  	size += 4 // m.OutsideVrf
  1723  	size += 4 // m.Users
  1724  	size += 4 // m.UserMemory
  1725  	size += 4 // m.Sessions
  1726  	size += 4 // m.SessionMemory
  1727  	size += 4 // m.UserSessions
  1728  	size += 1 // m.Enable
  1729  	size += 1 // m.Flags
  1730  	return size
  1731  }
  1732  func (m *Nat44PluginEnableDisable) Marshal(b []byte) ([]byte, error) {
  1733  	if b == nil {
  1734  		b = make([]byte, m.Size())
  1735  	}
  1736  	buf := codec.NewBuffer(b)
  1737  	buf.EncodeUint32(m.InsideVrf)
  1738  	buf.EncodeUint32(m.OutsideVrf)
  1739  	buf.EncodeUint32(m.Users)
  1740  	buf.EncodeUint32(m.UserMemory)
  1741  	buf.EncodeUint32(m.Sessions)
  1742  	buf.EncodeUint32(m.SessionMemory)
  1743  	buf.EncodeUint32(m.UserSessions)
  1744  	buf.EncodeBool(m.Enable)
  1745  	buf.EncodeUint8(uint8(m.Flags))
  1746  	return buf.Bytes(), nil
  1747  }
  1748  func (m *Nat44PluginEnableDisable) Unmarshal(b []byte) error {
  1749  	buf := codec.NewBuffer(b)
  1750  	m.InsideVrf = buf.DecodeUint32()
  1751  	m.OutsideVrf = buf.DecodeUint32()
  1752  	m.Users = buf.DecodeUint32()
  1753  	m.UserMemory = buf.DecodeUint32()
  1754  	m.Sessions = buf.DecodeUint32()
  1755  	m.SessionMemory = buf.DecodeUint32()
  1756  	m.UserSessions = buf.DecodeUint32()
  1757  	m.Enable = buf.DecodeBool()
  1758  	m.Flags = Nat44ConfigFlags(buf.DecodeUint8())
  1759  	return nil
  1760  }
  1761  
  1762  // Nat44PluginEnableDisableReply defines message 'nat44_plugin_enable_disable_reply'.
  1763  type Nat44PluginEnableDisableReply struct {
  1764  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1765  }
  1766  
  1767  func (m *Nat44PluginEnableDisableReply) Reset() { *m = Nat44PluginEnableDisableReply{} }
  1768  func (*Nat44PluginEnableDisableReply) GetMessageName() string {
  1769  	return "nat44_plugin_enable_disable_reply"
  1770  }
  1771  func (*Nat44PluginEnableDisableReply) GetCrcString() string { return "e8d4e804" }
  1772  func (*Nat44PluginEnableDisableReply) GetMessageType() api.MessageType {
  1773  	return api.ReplyMessage
  1774  }
  1775  
  1776  func (m *Nat44PluginEnableDisableReply) Size() (size int) {
  1777  	if m == nil {
  1778  		return 0
  1779  	}
  1780  	size += 4 // m.Retval
  1781  	return size
  1782  }
  1783  func (m *Nat44PluginEnableDisableReply) Marshal(b []byte) ([]byte, error) {
  1784  	if b == nil {
  1785  		b = make([]byte, m.Size())
  1786  	}
  1787  	buf := codec.NewBuffer(b)
  1788  	buf.EncodeInt32(m.Retval)
  1789  	return buf.Bytes(), nil
  1790  }
  1791  func (m *Nat44PluginEnableDisableReply) Unmarshal(b []byte) error {
  1792  	buf := codec.NewBuffer(b)
  1793  	m.Retval = buf.DecodeInt32()
  1794  	return nil
  1795  }
  1796  
  1797  // Nat44SessionCleanup defines message 'nat44_session_cleanup'.
  1798  type Nat44SessionCleanup struct{}
  1799  
  1800  func (m *Nat44SessionCleanup) Reset()               { *m = Nat44SessionCleanup{} }
  1801  func (*Nat44SessionCleanup) GetMessageName() string { return "nat44_session_cleanup" }
  1802  func (*Nat44SessionCleanup) GetCrcString() string   { return "51077d14" }
  1803  func (*Nat44SessionCleanup) GetMessageType() api.MessageType {
  1804  	return api.RequestMessage
  1805  }
  1806  
  1807  func (m *Nat44SessionCleanup) Size() (size int) {
  1808  	if m == nil {
  1809  		return 0
  1810  	}
  1811  	return size
  1812  }
  1813  func (m *Nat44SessionCleanup) Marshal(b []byte) ([]byte, error) {
  1814  	if b == nil {
  1815  		b = make([]byte, m.Size())
  1816  	}
  1817  	buf := codec.NewBuffer(b)
  1818  	return buf.Bytes(), nil
  1819  }
  1820  func (m *Nat44SessionCleanup) Unmarshal(b []byte) error {
  1821  	return nil
  1822  }
  1823  
  1824  // Nat44SessionCleanupReply defines message 'nat44_session_cleanup_reply'.
  1825  type Nat44SessionCleanupReply struct {
  1826  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1827  }
  1828  
  1829  func (m *Nat44SessionCleanupReply) Reset()               { *m = Nat44SessionCleanupReply{} }
  1830  func (*Nat44SessionCleanupReply) GetMessageName() string { return "nat44_session_cleanup_reply" }
  1831  func (*Nat44SessionCleanupReply) GetCrcString() string   { return "e8d4e804" }
  1832  func (*Nat44SessionCleanupReply) GetMessageType() api.MessageType {
  1833  	return api.ReplyMessage
  1834  }
  1835  
  1836  func (m *Nat44SessionCleanupReply) Size() (size int) {
  1837  	if m == nil {
  1838  		return 0
  1839  	}
  1840  	size += 4 // m.Retval
  1841  	return size
  1842  }
  1843  func (m *Nat44SessionCleanupReply) Marshal(b []byte) ([]byte, error) {
  1844  	if b == nil {
  1845  		b = make([]byte, m.Size())
  1846  	}
  1847  	buf := codec.NewBuffer(b)
  1848  	buf.EncodeInt32(m.Retval)
  1849  	return buf.Bytes(), nil
  1850  }
  1851  func (m *Nat44SessionCleanupReply) Unmarshal(b []byte) error {
  1852  	buf := codec.NewBuffer(b)
  1853  	m.Retval = buf.DecodeInt32()
  1854  	return nil
  1855  }
  1856  
  1857  // Nat44SetSessionLimit defines message 'nat44_set_session_limit'.
  1858  type Nat44SetSessionLimit struct {
  1859  	SessionLimit uint32 `binapi:"u32,name=session_limit" json:"session_limit,omitempty"`
  1860  	VrfID        uint32 `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
  1861  }
  1862  
  1863  func (m *Nat44SetSessionLimit) Reset()               { *m = Nat44SetSessionLimit{} }
  1864  func (*Nat44SetSessionLimit) GetMessageName() string { return "nat44_set_session_limit" }
  1865  func (*Nat44SetSessionLimit) GetCrcString() string   { return "8899bbb1" }
  1866  func (*Nat44SetSessionLimit) GetMessageType() api.MessageType {
  1867  	return api.RequestMessage
  1868  }
  1869  
  1870  func (m *Nat44SetSessionLimit) Size() (size int) {
  1871  	if m == nil {
  1872  		return 0
  1873  	}
  1874  	size += 4 // m.SessionLimit
  1875  	size += 4 // m.VrfID
  1876  	return size
  1877  }
  1878  func (m *Nat44SetSessionLimit) Marshal(b []byte) ([]byte, error) {
  1879  	if b == nil {
  1880  		b = make([]byte, m.Size())
  1881  	}
  1882  	buf := codec.NewBuffer(b)
  1883  	buf.EncodeUint32(m.SessionLimit)
  1884  	buf.EncodeUint32(m.VrfID)
  1885  	return buf.Bytes(), nil
  1886  }
  1887  func (m *Nat44SetSessionLimit) Unmarshal(b []byte) error {
  1888  	buf := codec.NewBuffer(b)
  1889  	m.SessionLimit = buf.DecodeUint32()
  1890  	m.VrfID = buf.DecodeUint32()
  1891  	return nil
  1892  }
  1893  
  1894  // Nat44SetSessionLimitReply defines message 'nat44_set_session_limit_reply'.
  1895  type Nat44SetSessionLimitReply struct {
  1896  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1897  }
  1898  
  1899  func (m *Nat44SetSessionLimitReply) Reset()               { *m = Nat44SetSessionLimitReply{} }
  1900  func (*Nat44SetSessionLimitReply) GetMessageName() string { return "nat44_set_session_limit_reply" }
  1901  func (*Nat44SetSessionLimitReply) GetCrcString() string   { return "e8d4e804" }
  1902  func (*Nat44SetSessionLimitReply) GetMessageType() api.MessageType {
  1903  	return api.ReplyMessage
  1904  }
  1905  
  1906  func (m *Nat44SetSessionLimitReply) Size() (size int) {
  1907  	if m == nil {
  1908  		return 0
  1909  	}
  1910  	size += 4 // m.Retval
  1911  	return size
  1912  }
  1913  func (m *Nat44SetSessionLimitReply) Marshal(b []byte) ([]byte, error) {
  1914  	if b == nil {
  1915  		b = make([]byte, m.Size())
  1916  	}
  1917  	buf := codec.NewBuffer(b)
  1918  	buf.EncodeInt32(m.Retval)
  1919  	return buf.Bytes(), nil
  1920  }
  1921  func (m *Nat44SetSessionLimitReply) Unmarshal(b []byte) error {
  1922  	buf := codec.NewBuffer(b)
  1923  	m.Retval = buf.DecodeInt32()
  1924  	return nil
  1925  }
  1926  
  1927  // Nat44ShowRunningConfig defines message 'nat44_show_running_config'.
  1928  type Nat44ShowRunningConfig struct{}
  1929  
  1930  func (m *Nat44ShowRunningConfig) Reset()               { *m = Nat44ShowRunningConfig{} }
  1931  func (*Nat44ShowRunningConfig) GetMessageName() string { return "nat44_show_running_config" }
  1932  func (*Nat44ShowRunningConfig) GetCrcString() string   { return "51077d14" }
  1933  func (*Nat44ShowRunningConfig) GetMessageType() api.MessageType {
  1934  	return api.RequestMessage
  1935  }
  1936  
  1937  func (m *Nat44ShowRunningConfig) Size() (size int) {
  1938  	if m == nil {
  1939  		return 0
  1940  	}
  1941  	return size
  1942  }
  1943  func (m *Nat44ShowRunningConfig) Marshal(b []byte) ([]byte, error) {
  1944  	if b == nil {
  1945  		b = make([]byte, m.Size())
  1946  	}
  1947  	buf := codec.NewBuffer(b)
  1948  	return buf.Bytes(), nil
  1949  }
  1950  func (m *Nat44ShowRunningConfig) Unmarshal(b []byte) error {
  1951  	return nil
  1952  }
  1953  
  1954  // Nat44ShowRunningConfigReply defines message 'nat44_show_running_config_reply'.
  1955  type Nat44ShowRunningConfigReply struct {
  1956  	Retval              int32                 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1957  	InsideVrf           uint32                `binapi:"u32,name=inside_vrf" json:"inside_vrf,omitempty"`
  1958  	OutsideVrf          uint32                `binapi:"u32,name=outside_vrf" json:"outside_vrf,omitempty"`
  1959  	Users               uint32                `binapi:"u32,name=users" json:"users,omitempty"`
  1960  	Sessions            uint32                `binapi:"u32,name=sessions" json:"sessions,omitempty"`
  1961  	UserSessions        uint32                `binapi:"u32,name=user_sessions" json:"user_sessions,omitempty"`
  1962  	UserBuckets         uint32                `binapi:"u32,name=user_buckets" json:"user_buckets,omitempty"`
  1963  	TranslationBuckets  uint32                `binapi:"u32,name=translation_buckets" json:"translation_buckets,omitempty"`
  1964  	ForwardingEnabled   bool                  `binapi:"bool,name=forwarding_enabled" json:"forwarding_enabled,omitempty"`
  1965  	IpfixLoggingEnabled bool                  `binapi:"bool,name=ipfix_logging_enabled" json:"ipfix_logging_enabled,omitempty"`
  1966  	Timeouts            nat_types.NatTimeouts `binapi:"nat_timeouts,name=timeouts" json:"timeouts,omitempty"`
  1967  	LogLevel            nat_types.NatLogLevel `binapi:"nat_log_level,name=log_level" json:"log_level,omitempty"`
  1968  	Flags               Nat44ConfigFlags      `binapi:"nat44_config_flags,name=flags" json:"flags,omitempty"`
  1969  }
  1970  
  1971  func (m *Nat44ShowRunningConfigReply) Reset()               { *m = Nat44ShowRunningConfigReply{} }
  1972  func (*Nat44ShowRunningConfigReply) GetMessageName() string { return "nat44_show_running_config_reply" }
  1973  func (*Nat44ShowRunningConfigReply) GetCrcString() string   { return "93d8e267" }
  1974  func (*Nat44ShowRunningConfigReply) GetMessageType() api.MessageType {
  1975  	return api.ReplyMessage
  1976  }
  1977  
  1978  func (m *Nat44ShowRunningConfigReply) Size() (size int) {
  1979  	if m == nil {
  1980  		return 0
  1981  	}
  1982  	size += 4 // m.Retval
  1983  	size += 4 // m.InsideVrf
  1984  	size += 4 // m.OutsideVrf
  1985  	size += 4 // m.Users
  1986  	size += 4 // m.Sessions
  1987  	size += 4 // m.UserSessions
  1988  	size += 4 // m.UserBuckets
  1989  	size += 4 // m.TranslationBuckets
  1990  	size += 1 // m.ForwardingEnabled
  1991  	size += 1 // m.IpfixLoggingEnabled
  1992  	size += 4 // m.Timeouts.UDP
  1993  	size += 4 // m.Timeouts.TCPEstablished
  1994  	size += 4 // m.Timeouts.TCPTransitory
  1995  	size += 4 // m.Timeouts.ICMP
  1996  	size += 1 // m.LogLevel
  1997  	size += 1 // m.Flags
  1998  	return size
  1999  }
  2000  func (m *Nat44ShowRunningConfigReply) Marshal(b []byte) ([]byte, error) {
  2001  	if b == nil {
  2002  		b = make([]byte, m.Size())
  2003  	}
  2004  	buf := codec.NewBuffer(b)
  2005  	buf.EncodeInt32(m.Retval)
  2006  	buf.EncodeUint32(m.InsideVrf)
  2007  	buf.EncodeUint32(m.OutsideVrf)
  2008  	buf.EncodeUint32(m.Users)
  2009  	buf.EncodeUint32(m.Sessions)
  2010  	buf.EncodeUint32(m.UserSessions)
  2011  	buf.EncodeUint32(m.UserBuckets)
  2012  	buf.EncodeUint32(m.TranslationBuckets)
  2013  	buf.EncodeBool(m.ForwardingEnabled)
  2014  	buf.EncodeBool(m.IpfixLoggingEnabled)
  2015  	buf.EncodeUint32(m.Timeouts.UDP)
  2016  	buf.EncodeUint32(m.Timeouts.TCPEstablished)
  2017  	buf.EncodeUint32(m.Timeouts.TCPTransitory)
  2018  	buf.EncodeUint32(m.Timeouts.ICMP)
  2019  	buf.EncodeUint8(uint8(m.LogLevel))
  2020  	buf.EncodeUint8(uint8(m.Flags))
  2021  	return buf.Bytes(), nil
  2022  }
  2023  func (m *Nat44ShowRunningConfigReply) Unmarshal(b []byte) error {
  2024  	buf := codec.NewBuffer(b)
  2025  	m.Retval = buf.DecodeInt32()
  2026  	m.InsideVrf = buf.DecodeUint32()
  2027  	m.OutsideVrf = buf.DecodeUint32()
  2028  	m.Users = buf.DecodeUint32()
  2029  	m.Sessions = buf.DecodeUint32()
  2030  	m.UserSessions = buf.DecodeUint32()
  2031  	m.UserBuckets = buf.DecodeUint32()
  2032  	m.TranslationBuckets = buf.DecodeUint32()
  2033  	m.ForwardingEnabled = buf.DecodeBool()
  2034  	m.IpfixLoggingEnabled = buf.DecodeBool()
  2035  	m.Timeouts.UDP = buf.DecodeUint32()
  2036  	m.Timeouts.TCPEstablished = buf.DecodeUint32()
  2037  	m.Timeouts.TCPTransitory = buf.DecodeUint32()
  2038  	m.Timeouts.ICMP = buf.DecodeUint32()
  2039  	m.LogLevel = nat_types.NatLogLevel(buf.DecodeUint8())
  2040  	m.Flags = Nat44ConfigFlags(buf.DecodeUint8())
  2041  	return nil
  2042  }
  2043  
  2044  // Nat44StaticMappingDetails defines message 'nat44_static_mapping_details'.
  2045  type Nat44StaticMappingDetails struct {
  2046  	Flags             nat_types.NatConfigFlags       `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
  2047  	LocalIPAddress    ip_types.IP4Address            `binapi:"ip4_address,name=local_ip_address" json:"local_ip_address,omitempty"`
  2048  	ExternalIPAddress ip_types.IP4Address            `binapi:"ip4_address,name=external_ip_address" json:"external_ip_address,omitempty"`
  2049  	Protocol          uint8                          `binapi:"u8,name=protocol" json:"protocol,omitempty"`
  2050  	LocalPort         uint16                         `binapi:"u16,name=local_port" json:"local_port,omitempty"`
  2051  	ExternalPort      uint16                         `binapi:"u16,name=external_port" json:"external_port,omitempty"`
  2052  	ExternalSwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=external_sw_if_index" json:"external_sw_if_index,omitempty"`
  2053  	VrfID             uint32                         `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
  2054  	Tag               string                         `binapi:"string[64],name=tag" json:"tag,omitempty"`
  2055  }
  2056  
  2057  func (m *Nat44StaticMappingDetails) Reset()               { *m = Nat44StaticMappingDetails{} }
  2058  func (*Nat44StaticMappingDetails) GetMessageName() string { return "nat44_static_mapping_details" }
  2059  func (*Nat44StaticMappingDetails) GetCrcString() string   { return "1a433ef7" }
  2060  func (*Nat44StaticMappingDetails) GetMessageType() api.MessageType {
  2061  	return api.ReplyMessage
  2062  }
  2063  
  2064  func (m *Nat44StaticMappingDetails) Size() (size int) {
  2065  	if m == nil {
  2066  		return 0
  2067  	}
  2068  	size += 1     // m.Flags
  2069  	size += 1 * 4 // m.LocalIPAddress
  2070  	size += 1 * 4 // m.ExternalIPAddress
  2071  	size += 1     // m.Protocol
  2072  	size += 2     // m.LocalPort
  2073  	size += 2     // m.ExternalPort
  2074  	size += 4     // m.ExternalSwIfIndex
  2075  	size += 4     // m.VrfID
  2076  	size += 64    // m.Tag
  2077  	return size
  2078  }
  2079  func (m *Nat44StaticMappingDetails) Marshal(b []byte) ([]byte, error) {
  2080  	if b == nil {
  2081  		b = make([]byte, m.Size())
  2082  	}
  2083  	buf := codec.NewBuffer(b)
  2084  	buf.EncodeUint8(uint8(m.Flags))
  2085  	buf.EncodeBytes(m.LocalIPAddress[:], 4)
  2086  	buf.EncodeBytes(m.ExternalIPAddress[:], 4)
  2087  	buf.EncodeUint8(m.Protocol)
  2088  	buf.EncodeUint16(m.LocalPort)
  2089  	buf.EncodeUint16(m.ExternalPort)
  2090  	buf.EncodeUint32(uint32(m.ExternalSwIfIndex))
  2091  	buf.EncodeUint32(m.VrfID)
  2092  	buf.EncodeString(m.Tag, 64)
  2093  	return buf.Bytes(), nil
  2094  }
  2095  func (m *Nat44StaticMappingDetails) Unmarshal(b []byte) error {
  2096  	buf := codec.NewBuffer(b)
  2097  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
  2098  	copy(m.LocalIPAddress[:], buf.DecodeBytes(4))
  2099  	copy(m.ExternalIPAddress[:], buf.DecodeBytes(4))
  2100  	m.Protocol = buf.DecodeUint8()
  2101  	m.LocalPort = buf.DecodeUint16()
  2102  	m.ExternalPort = buf.DecodeUint16()
  2103  	m.ExternalSwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  2104  	m.VrfID = buf.DecodeUint32()
  2105  	m.Tag = buf.DecodeString(64)
  2106  	return nil
  2107  }
  2108  
  2109  // Nat44StaticMappingDump defines message 'nat44_static_mapping_dump'.
  2110  type Nat44StaticMappingDump struct{}
  2111  
  2112  func (m *Nat44StaticMappingDump) Reset()               { *m = Nat44StaticMappingDump{} }
  2113  func (*Nat44StaticMappingDump) GetMessageName() string { return "nat44_static_mapping_dump" }
  2114  func (*Nat44StaticMappingDump) GetCrcString() string   { return "51077d14" }
  2115  func (*Nat44StaticMappingDump) GetMessageType() api.MessageType {
  2116  	return api.RequestMessage
  2117  }
  2118  
  2119  func (m *Nat44StaticMappingDump) Size() (size int) {
  2120  	if m == nil {
  2121  		return 0
  2122  	}
  2123  	return size
  2124  }
  2125  func (m *Nat44StaticMappingDump) Marshal(b []byte) ([]byte, error) {
  2126  	if b == nil {
  2127  		b = make([]byte, m.Size())
  2128  	}
  2129  	buf := codec.NewBuffer(b)
  2130  	return buf.Bytes(), nil
  2131  }
  2132  func (m *Nat44StaticMappingDump) Unmarshal(b []byte) error {
  2133  	return nil
  2134  }
  2135  
  2136  // Nat44UserDetails defines message 'nat44_user_details'.
  2137  type Nat44UserDetails struct {
  2138  	VrfID           uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
  2139  	IPAddress       ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
  2140  	Nsessions       uint32              `binapi:"u32,name=nsessions" json:"nsessions,omitempty"`
  2141  	Nstaticsessions uint32              `binapi:"u32,name=nstaticsessions" json:"nstaticsessions,omitempty"`
  2142  }
  2143  
  2144  func (m *Nat44UserDetails) Reset()               { *m = Nat44UserDetails{} }
  2145  func (*Nat44UserDetails) GetMessageName() string { return "nat44_user_details" }
  2146  func (*Nat44UserDetails) GetCrcString() string   { return "355896c2" }
  2147  func (*Nat44UserDetails) GetMessageType() api.MessageType {
  2148  	return api.ReplyMessage
  2149  }
  2150  
  2151  func (m *Nat44UserDetails) Size() (size int) {
  2152  	if m == nil {
  2153  		return 0
  2154  	}
  2155  	size += 4     // m.VrfID
  2156  	size += 1 * 4 // m.IPAddress
  2157  	size += 4     // m.Nsessions
  2158  	size += 4     // m.Nstaticsessions
  2159  	return size
  2160  }
  2161  func (m *Nat44UserDetails) Marshal(b []byte) ([]byte, error) {
  2162  	if b == nil {
  2163  		b = make([]byte, m.Size())
  2164  	}
  2165  	buf := codec.NewBuffer(b)
  2166  	buf.EncodeUint32(m.VrfID)
  2167  	buf.EncodeBytes(m.IPAddress[:], 4)
  2168  	buf.EncodeUint32(m.Nsessions)
  2169  	buf.EncodeUint32(m.Nstaticsessions)
  2170  	return buf.Bytes(), nil
  2171  }
  2172  func (m *Nat44UserDetails) Unmarshal(b []byte) error {
  2173  	buf := codec.NewBuffer(b)
  2174  	m.VrfID = buf.DecodeUint32()
  2175  	copy(m.IPAddress[:], buf.DecodeBytes(4))
  2176  	m.Nsessions = buf.DecodeUint32()
  2177  	m.Nstaticsessions = buf.DecodeUint32()
  2178  	return nil
  2179  }
  2180  
  2181  // Nat44UserDump defines message 'nat44_user_dump'.
  2182  type Nat44UserDump struct{}
  2183  
  2184  func (m *Nat44UserDump) Reset()               { *m = Nat44UserDump{} }
  2185  func (*Nat44UserDump) GetMessageName() string { return "nat44_user_dump" }
  2186  func (*Nat44UserDump) GetCrcString() string   { return "51077d14" }
  2187  func (*Nat44UserDump) GetMessageType() api.MessageType {
  2188  	return api.RequestMessage
  2189  }
  2190  
  2191  func (m *Nat44UserDump) Size() (size int) {
  2192  	if m == nil {
  2193  		return 0
  2194  	}
  2195  	return size
  2196  }
  2197  func (m *Nat44UserDump) Marshal(b []byte) ([]byte, error) {
  2198  	if b == nil {
  2199  		b = make([]byte, m.Size())
  2200  	}
  2201  	buf := codec.NewBuffer(b)
  2202  	return buf.Bytes(), nil
  2203  }
  2204  func (m *Nat44UserDump) Unmarshal(b []byte) error {
  2205  	return nil
  2206  }
  2207  
  2208  // Nat44UserSessionDetails defines message 'nat44_user_session_details'.
  2209  type Nat44UserSessionDetails struct {
  2210  	OutsideIPAddress  ip_types.IP4Address      `binapi:"ip4_address,name=outside_ip_address" json:"outside_ip_address,omitempty"`
  2211  	OutsidePort       uint16                   `binapi:"u16,name=outside_port" json:"outside_port,omitempty"`
  2212  	InsideIPAddress   ip_types.IP4Address      `binapi:"ip4_address,name=inside_ip_address" json:"inside_ip_address,omitempty"`
  2213  	InsidePort        uint16                   `binapi:"u16,name=inside_port" json:"inside_port,omitempty"`
  2214  	Protocol          uint16                   `binapi:"u16,name=protocol" json:"protocol,omitempty"`
  2215  	Flags             nat_types.NatConfigFlags `binapi:"nat_config_flags,name=flags" json:"flags,omitempty"`
  2216  	LastHeard         uint64                   `binapi:"u64,name=last_heard" json:"last_heard,omitempty"`
  2217  	TotalBytes        uint64                   `binapi:"u64,name=total_bytes" json:"total_bytes,omitempty"`
  2218  	TotalPkts         uint32                   `binapi:"u32,name=total_pkts" json:"total_pkts,omitempty"`
  2219  	ExtHostAddress    ip_types.IP4Address      `binapi:"ip4_address,name=ext_host_address" json:"ext_host_address,omitempty"`
  2220  	ExtHostPort       uint16                   `binapi:"u16,name=ext_host_port" json:"ext_host_port,omitempty"`
  2221  	ExtHostNatAddress ip_types.IP4Address      `binapi:"ip4_address,name=ext_host_nat_address" json:"ext_host_nat_address,omitempty"`
  2222  	ExtHostNatPort    uint16                   `binapi:"u16,name=ext_host_nat_port" json:"ext_host_nat_port,omitempty"`
  2223  }
  2224  
  2225  func (m *Nat44UserSessionDetails) Reset()               { *m = Nat44UserSessionDetails{} }
  2226  func (*Nat44UserSessionDetails) GetMessageName() string { return "nat44_user_session_details" }
  2227  func (*Nat44UserSessionDetails) GetCrcString() string   { return "1965fd69" }
  2228  func (*Nat44UserSessionDetails) GetMessageType() api.MessageType {
  2229  	return api.ReplyMessage
  2230  }
  2231  
  2232  func (m *Nat44UserSessionDetails) Size() (size int) {
  2233  	if m == nil {
  2234  		return 0
  2235  	}
  2236  	size += 1 * 4 // m.OutsideIPAddress
  2237  	size += 2     // m.OutsidePort
  2238  	size += 1 * 4 // m.InsideIPAddress
  2239  	size += 2     // m.InsidePort
  2240  	size += 2     // m.Protocol
  2241  	size += 1     // m.Flags
  2242  	size += 8     // m.LastHeard
  2243  	size += 8     // m.TotalBytes
  2244  	size += 4     // m.TotalPkts
  2245  	size += 1 * 4 // m.ExtHostAddress
  2246  	size += 2     // m.ExtHostPort
  2247  	size += 1 * 4 // m.ExtHostNatAddress
  2248  	size += 2     // m.ExtHostNatPort
  2249  	return size
  2250  }
  2251  func (m *Nat44UserSessionDetails) Marshal(b []byte) ([]byte, error) {
  2252  	if b == nil {
  2253  		b = make([]byte, m.Size())
  2254  	}
  2255  	buf := codec.NewBuffer(b)
  2256  	buf.EncodeBytes(m.OutsideIPAddress[:], 4)
  2257  	buf.EncodeUint16(m.OutsidePort)
  2258  	buf.EncodeBytes(m.InsideIPAddress[:], 4)
  2259  	buf.EncodeUint16(m.InsidePort)
  2260  	buf.EncodeUint16(m.Protocol)
  2261  	buf.EncodeUint8(uint8(m.Flags))
  2262  	buf.EncodeUint64(m.LastHeard)
  2263  	buf.EncodeUint64(m.TotalBytes)
  2264  	buf.EncodeUint32(m.TotalPkts)
  2265  	buf.EncodeBytes(m.ExtHostAddress[:], 4)
  2266  	buf.EncodeUint16(m.ExtHostPort)
  2267  	buf.EncodeBytes(m.ExtHostNatAddress[:], 4)
  2268  	buf.EncodeUint16(m.ExtHostNatPort)
  2269  	return buf.Bytes(), nil
  2270  }
  2271  func (m *Nat44UserSessionDetails) Unmarshal(b []byte) error {
  2272  	buf := codec.NewBuffer(b)
  2273  	copy(m.OutsideIPAddress[:], buf.DecodeBytes(4))
  2274  	m.OutsidePort = buf.DecodeUint16()
  2275  	copy(m.InsideIPAddress[:], buf.DecodeBytes(4))
  2276  	m.InsidePort = buf.DecodeUint16()
  2277  	m.Protocol = buf.DecodeUint16()
  2278  	m.Flags = nat_types.NatConfigFlags(buf.DecodeUint8())
  2279  	m.LastHeard = buf.DecodeUint64()
  2280  	m.TotalBytes = buf.DecodeUint64()
  2281  	m.TotalPkts = buf.DecodeUint32()
  2282  	copy(m.ExtHostAddress[:], buf.DecodeBytes(4))
  2283  	m.ExtHostPort = buf.DecodeUint16()
  2284  	copy(m.ExtHostNatAddress[:], buf.DecodeBytes(4))
  2285  	m.ExtHostNatPort = buf.DecodeUint16()
  2286  	return nil
  2287  }
  2288  
  2289  // Nat44UserSessionDump defines message 'nat44_user_session_dump'.
  2290  type Nat44UserSessionDump struct {
  2291  	IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
  2292  	VrfID     uint32              `binapi:"u32,name=vrf_id" json:"vrf_id,omitempty"`
  2293  }
  2294  
  2295  func (m *Nat44UserSessionDump) Reset()               { *m = Nat44UserSessionDump{} }
  2296  func (*Nat44UserSessionDump) GetMessageName() string { return "nat44_user_session_dump" }
  2297  func (*Nat44UserSessionDump) GetCrcString() string   { return "e1899c98" }
  2298  func (*Nat44UserSessionDump) GetMessageType() api.MessageType {
  2299  	return api.RequestMessage
  2300  }
  2301  
  2302  func (m *Nat44UserSessionDump) Size() (size int) {
  2303  	if m == nil {
  2304  		return 0
  2305  	}
  2306  	size += 1 * 4 // m.IPAddress
  2307  	size += 4     // m.VrfID
  2308  	return size
  2309  }
  2310  func (m *Nat44UserSessionDump) Marshal(b []byte) ([]byte, error) {
  2311  	if b == nil {
  2312  		b = make([]byte, m.Size())
  2313  	}
  2314  	buf := codec.NewBuffer(b)
  2315  	buf.EncodeBytes(m.IPAddress[:], 4)
  2316  	buf.EncodeUint32(m.VrfID)
  2317  	return buf.Bytes(), nil
  2318  }
  2319  func (m *Nat44UserSessionDump) Unmarshal(b []byte) error {
  2320  	buf := codec.NewBuffer(b)
  2321  	copy(m.IPAddress[:], buf.DecodeBytes(4))
  2322  	m.VrfID = buf.DecodeUint32()
  2323  	return nil
  2324  }
  2325  
  2326  // NatControlPing defines message 'nat_control_ping'.
  2327  type NatControlPing struct{}
  2328  
  2329  func (m *NatControlPing) Reset()               { *m = NatControlPing{} }
  2330  func (*NatControlPing) GetMessageName() string { return "nat_control_ping" }
  2331  func (*NatControlPing) GetCrcString() string   { return "51077d14" }
  2332  func (*NatControlPing) GetMessageType() api.MessageType {
  2333  	return api.RequestMessage
  2334  }
  2335  
  2336  func (m *NatControlPing) Size() (size int) {
  2337  	if m == nil {
  2338  		return 0
  2339  	}
  2340  	return size
  2341  }
  2342  func (m *NatControlPing) Marshal(b []byte) ([]byte, error) {
  2343  	if b == nil {
  2344  		b = make([]byte, m.Size())
  2345  	}
  2346  	buf := codec.NewBuffer(b)
  2347  	return buf.Bytes(), nil
  2348  }
  2349  func (m *NatControlPing) Unmarshal(b []byte) error {
  2350  	return nil
  2351  }
  2352  
  2353  // NatControlPingReply defines message 'nat_control_ping_reply'.
  2354  type NatControlPingReply struct {
  2355  	Retval      int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  2356  	ClientIndex uint32 `binapi:"u32,name=client_index" json:"client_index,omitempty"`
  2357  	VpePID      uint32 `binapi:"u32,name=vpe_pid" json:"vpe_pid,omitempty"`
  2358  }
  2359  
  2360  func (m *NatControlPingReply) Reset()               { *m = NatControlPingReply{} }
  2361  func (*NatControlPingReply) GetMessageName() string { return "nat_control_ping_reply" }
  2362  func (*NatControlPingReply) GetCrcString() string   { return "f6b0b8ca" }
  2363  func (*NatControlPingReply) GetMessageType() api.MessageType {
  2364  	return api.ReplyMessage
  2365  }
  2366  
  2367  func (m *NatControlPingReply) Size() (size int) {
  2368  	if m == nil {
  2369  		return 0
  2370  	}
  2371  	size += 4 // m.Retval
  2372  	size += 4 // m.ClientIndex
  2373  	size += 4 // m.VpePID
  2374  	return size
  2375  }
  2376  func (m *NatControlPingReply) Marshal(b []byte) ([]byte, error) {
  2377  	if b == nil {
  2378  		b = make([]byte, m.Size())
  2379  	}
  2380  	buf := codec.NewBuffer(b)
  2381  	buf.EncodeInt32(m.Retval)
  2382  	buf.EncodeUint32(m.ClientIndex)
  2383  	buf.EncodeUint32(m.VpePID)
  2384  	return buf.Bytes(), nil
  2385  }
  2386  func (m *NatControlPingReply) Unmarshal(b []byte) error {
  2387  	buf := codec.NewBuffer(b)
  2388  	m.Retval = buf.DecodeInt32()
  2389  	m.ClientIndex = buf.DecodeUint32()
  2390  	m.VpePID = buf.DecodeUint32()
  2391  	return nil
  2392  }
  2393  
  2394  // NatGetAddrAndPortAllocAlg defines message 'nat_get_addr_and_port_alloc_alg'.
  2395  type NatGetAddrAndPortAllocAlg struct{}
  2396  
  2397  func (m *NatGetAddrAndPortAllocAlg) Reset()               { *m = NatGetAddrAndPortAllocAlg{} }
  2398  func (*NatGetAddrAndPortAllocAlg) GetMessageName() string { return "nat_get_addr_and_port_alloc_alg" }
  2399  func (*NatGetAddrAndPortAllocAlg) GetCrcString() string   { return "51077d14" }
  2400  func (*NatGetAddrAndPortAllocAlg) GetMessageType() api.MessageType {
  2401  	return api.RequestMessage
  2402  }
  2403  
  2404  func (m *NatGetAddrAndPortAllocAlg) Size() (size int) {
  2405  	if m == nil {
  2406  		return 0
  2407  	}
  2408  	return size
  2409  }
  2410  func (m *NatGetAddrAndPortAllocAlg) Marshal(b []byte) ([]byte, error) {
  2411  	if b == nil {
  2412  		b = make([]byte, m.Size())
  2413  	}
  2414  	buf := codec.NewBuffer(b)
  2415  	return buf.Bytes(), nil
  2416  }
  2417  func (m *NatGetAddrAndPortAllocAlg) Unmarshal(b []byte) error {
  2418  	return nil
  2419  }
  2420  
  2421  // NatGetAddrAndPortAllocAlgReply defines message 'nat_get_addr_and_port_alloc_alg_reply'.
  2422  type NatGetAddrAndPortAllocAlgReply struct {
  2423  	Retval     int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  2424  	Alg        uint8  `binapi:"u8,name=alg" json:"alg,omitempty"`
  2425  	PsidOffset uint8  `binapi:"u8,name=psid_offset" json:"psid_offset,omitempty"`
  2426  	PsidLength uint8  `binapi:"u8,name=psid_length" json:"psid_length,omitempty"`
  2427  	Psid       uint16 `binapi:"u16,name=psid" json:"psid,omitempty"`
  2428  	StartPort  uint16 `binapi:"u16,name=start_port" json:"start_port,omitempty"`
  2429  	EndPort    uint16 `binapi:"u16,name=end_port" json:"end_port,omitempty"`
  2430  }
  2431  
  2432  func (m *NatGetAddrAndPortAllocAlgReply) Reset() { *m = NatGetAddrAndPortAllocAlgReply{} }
  2433  func (*NatGetAddrAndPortAllocAlgReply) GetMessageName() string {
  2434  	return "nat_get_addr_and_port_alloc_alg_reply"
  2435  }
  2436  func (*NatGetAddrAndPortAllocAlgReply) GetCrcString() string { return "3607a7d0" }
  2437  func (*NatGetAddrAndPortAllocAlgReply) GetMessageType() api.MessageType {
  2438  	return api.ReplyMessage
  2439  }
  2440  
  2441  func (m *NatGetAddrAndPortAllocAlgReply) Size() (size int) {
  2442  	if m == nil {
  2443  		return 0
  2444  	}
  2445  	size += 4 // m.Retval
  2446  	size += 1 // m.Alg
  2447  	size += 1 // m.PsidOffset
  2448  	size += 1 // m.PsidLength
  2449  	size += 2 // m.Psid
  2450  	size += 2 // m.StartPort
  2451  	size += 2 // m.EndPort
  2452  	return size
  2453  }
  2454  func (m *NatGetAddrAndPortAllocAlgReply) Marshal(b []byte) ([]byte, error) {
  2455  	if b == nil {
  2456  		b = make([]byte, m.Size())
  2457  	}
  2458  	buf := codec.NewBuffer(b)
  2459  	buf.EncodeInt32(m.Retval)
  2460  	buf.EncodeUint8(m.Alg)
  2461  	buf.EncodeUint8(m.PsidOffset)
  2462  	buf.EncodeUint8(m.PsidLength)
  2463  	buf.EncodeUint16(m.Psid)
  2464  	buf.EncodeUint16(m.StartPort)
  2465  	buf.EncodeUint16(m.EndPort)
  2466  	return buf.Bytes(), nil
  2467  }
  2468  func (m *NatGetAddrAndPortAllocAlgReply) Unmarshal(b []byte) error {
  2469  	buf := codec.NewBuffer(b)
  2470  	m.Retval = buf.DecodeInt32()
  2471  	m.Alg = buf.DecodeUint8()
  2472  	m.PsidOffset = buf.DecodeUint8()
  2473  	m.PsidLength = buf.DecodeUint8()
  2474  	m.Psid = buf.DecodeUint16()
  2475  	m.StartPort = buf.DecodeUint16()
  2476  	m.EndPort = buf.DecodeUint16()
  2477  	return nil
  2478  }
  2479  
  2480  // NatGetMssClamping defines message 'nat_get_mss_clamping'.
  2481  type NatGetMssClamping struct{}
  2482  
  2483  func (m *NatGetMssClamping) Reset()               { *m = NatGetMssClamping{} }
  2484  func (*NatGetMssClamping) GetMessageName() string { return "nat_get_mss_clamping" }
  2485  func (*NatGetMssClamping) GetCrcString() string   { return "51077d14" }
  2486  func (*NatGetMssClamping) GetMessageType() api.MessageType {
  2487  	return api.RequestMessage
  2488  }
  2489  
  2490  func (m *NatGetMssClamping) Size() (size int) {
  2491  	if m == nil {
  2492  		return 0
  2493  	}
  2494  	return size
  2495  }
  2496  func (m *NatGetMssClamping) Marshal(b []byte) ([]byte, error) {
  2497  	if b == nil {
  2498  		b = make([]byte, m.Size())
  2499  	}
  2500  	buf := codec.NewBuffer(b)
  2501  	return buf.Bytes(), nil
  2502  }
  2503  func (m *NatGetMssClamping) Unmarshal(b []byte) error {
  2504  	return nil
  2505  }
  2506  
  2507  // NatGetMssClampingReply defines message 'nat_get_mss_clamping_reply'.
  2508  type NatGetMssClampingReply struct {
  2509  	Retval   int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  2510  	MssValue uint16 `binapi:"u16,name=mss_value" json:"mss_value,omitempty"`
  2511  	Enable   bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
  2512  }
  2513  
  2514  func (m *NatGetMssClampingReply) Reset()               { *m = NatGetMssClampingReply{} }
  2515  func (*NatGetMssClampingReply) GetMessageName() string { return "nat_get_mss_clamping_reply" }
  2516  func (*NatGetMssClampingReply) GetCrcString() string   { return "1c0b2a78" }
  2517  func (*NatGetMssClampingReply) GetMessageType() api.MessageType {
  2518  	return api.ReplyMessage
  2519  }
  2520  
  2521  func (m *NatGetMssClampingReply) Size() (size int) {
  2522  	if m == nil {
  2523  		return 0
  2524  	}
  2525  	size += 4 // m.Retval
  2526  	size += 2 // m.MssValue
  2527  	size += 1 // m.Enable
  2528  	return size
  2529  }
  2530  func (m *NatGetMssClampingReply) Marshal(b []byte) ([]byte, error) {
  2531  	if b == nil {
  2532  		b = make([]byte, m.Size())
  2533  	}
  2534  	buf := codec.NewBuffer(b)
  2535  	buf.EncodeInt32(m.Retval)
  2536  	buf.EncodeUint16(m.MssValue)
  2537  	buf.EncodeBool(m.Enable)
  2538  	return buf.Bytes(), nil
  2539  }
  2540  func (m *NatGetMssClampingReply) Unmarshal(b []byte) error {
  2541  	buf := codec.NewBuffer(b)
  2542  	m.Retval = buf.DecodeInt32()
  2543  	m.MssValue = buf.DecodeUint16()
  2544  	m.Enable = buf.DecodeBool()
  2545  	return nil
  2546  }
  2547  
  2548  // NatGetTimeouts defines message 'nat_get_timeouts'.
  2549  type NatGetTimeouts struct{}
  2550  
  2551  func (m *NatGetTimeouts) Reset()               { *m = NatGetTimeouts{} }
  2552  func (*NatGetTimeouts) GetMessageName() string { return "nat_get_timeouts" }
  2553  func (*NatGetTimeouts) GetCrcString() string   { return "51077d14" }
  2554  func (*NatGetTimeouts) GetMessageType() api.MessageType {
  2555  	return api.RequestMessage
  2556  }
  2557  
  2558  func (m *NatGetTimeouts) Size() (size int) {
  2559  	if m == nil {
  2560  		return 0
  2561  	}
  2562  	return size
  2563  }
  2564  func (m *NatGetTimeouts) Marshal(b []byte) ([]byte, error) {
  2565  	if b == nil {
  2566  		b = make([]byte, m.Size())
  2567  	}
  2568  	buf := codec.NewBuffer(b)
  2569  	return buf.Bytes(), nil
  2570  }
  2571  func (m *NatGetTimeouts) Unmarshal(b []byte) error {
  2572  	return nil
  2573  }
  2574  
  2575  // NatGetTimeoutsReply defines message 'nat_get_timeouts_reply'.
  2576  type NatGetTimeoutsReply struct {
  2577  	Retval         int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  2578  	UDP            uint32 `binapi:"u32,name=udp" json:"udp,omitempty"`
  2579  	TCPEstablished uint32 `binapi:"u32,name=tcp_established" json:"tcp_established,omitempty"`
  2580  	TCPTransitory  uint32 `binapi:"u32,name=tcp_transitory" json:"tcp_transitory,omitempty"`
  2581  	ICMP           uint32 `binapi:"u32,name=icmp" json:"icmp,omitempty"`
  2582  }
  2583  
  2584  func (m *NatGetTimeoutsReply) Reset()               { *m = NatGetTimeoutsReply{} }
  2585  func (*NatGetTimeoutsReply) GetMessageName() string { return "nat_get_timeouts_reply" }
  2586  func (*NatGetTimeoutsReply) GetCrcString() string   { return "3c4df4e1" }
  2587  func (*NatGetTimeoutsReply) GetMessageType() api.MessageType {
  2588  	return api.ReplyMessage
  2589  }
  2590  
  2591  func (m *NatGetTimeoutsReply) Size() (size int) {
  2592  	if m == nil {
  2593  		return 0
  2594  	}
  2595  	size += 4 // m.Retval
  2596  	size += 4 // m.UDP
  2597  	size += 4 // m.TCPEstablished
  2598  	size += 4 // m.TCPTransitory
  2599  	size += 4 // m.ICMP
  2600  	return size
  2601  }
  2602  func (m *NatGetTimeoutsReply) Marshal(b []byte) ([]byte, error) {
  2603  	if b == nil {
  2604  		b = make([]byte, m.Size())
  2605  	}
  2606  	buf := codec.NewBuffer(b)
  2607  	buf.EncodeInt32(m.Retval)
  2608  	buf.EncodeUint32(m.UDP)
  2609  	buf.EncodeUint32(m.TCPEstablished)
  2610  	buf.EncodeUint32(m.TCPTransitory)
  2611  	buf.EncodeUint32(m.ICMP)
  2612  	return buf.Bytes(), nil
  2613  }
  2614  func (m *NatGetTimeoutsReply) Unmarshal(b []byte) error {
  2615  	buf := codec.NewBuffer(b)
  2616  	m.Retval = buf.DecodeInt32()
  2617  	m.UDP = buf.DecodeUint32()
  2618  	m.TCPEstablished = buf.DecodeUint32()
  2619  	m.TCPTransitory = buf.DecodeUint32()
  2620  	m.ICMP = buf.DecodeUint32()
  2621  	return nil
  2622  }
  2623  
  2624  // NatHaFlush defines message 'nat_ha_flush'.
  2625  type NatHaFlush struct{}
  2626  
  2627  func (m *NatHaFlush) Reset()               { *m = NatHaFlush{} }
  2628  func (*NatHaFlush) GetMessageName() string { return "nat_ha_flush" }
  2629  func (*NatHaFlush) GetCrcString() string   { return "51077d14" }
  2630  func (*NatHaFlush) GetMessageType() api.MessageType {
  2631  	return api.RequestMessage
  2632  }
  2633  
  2634  func (m *NatHaFlush) Size() (size int) {
  2635  	if m == nil {
  2636  		return 0
  2637  	}
  2638  	return size
  2639  }
  2640  func (m *NatHaFlush) Marshal(b []byte) ([]byte, error) {
  2641  	if b == nil {
  2642  		b = make([]byte, m.Size())
  2643  	}
  2644  	buf := codec.NewBuffer(b)
  2645  	return buf.Bytes(), nil
  2646  }
  2647  func (m *NatHaFlush) Unmarshal(b []byte) error {
  2648  	return nil
  2649  }
  2650  
  2651  // NatHaFlushReply defines message 'nat_ha_flush_reply'.
  2652  type NatHaFlushReply struct {
  2653  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  2654  }
  2655  
  2656  func (m *NatHaFlushReply) Reset()               { *m = NatHaFlushReply{} }
  2657  func (*NatHaFlushReply) GetMessageName() string { return "nat_ha_flush_reply" }
  2658  func (*NatHaFlushReply) GetCrcString() string   { return "e8d4e804" }
  2659  func (*NatHaFlushReply) GetMessageType() api.MessageType {
  2660  	return api.ReplyMessage
  2661  }
  2662  
  2663  func (m *NatHaFlushReply) Size() (size int) {
  2664  	if m == nil {
  2665  		return 0
  2666  	}
  2667  	size += 4 // m.Retval
  2668  	return size
  2669  }
  2670  func (m *NatHaFlushReply) Marshal(b []byte) ([]byte, error) {
  2671  	if b == nil {
  2672  		b = make([]byte, m.Size())
  2673  	}
  2674  	buf := codec.NewBuffer(b)
  2675  	buf.EncodeInt32(m.Retval)
  2676  	return buf.Bytes(), nil
  2677  }
  2678  func (m *NatHaFlushReply) Unmarshal(b []byte) error {
  2679  	buf := codec.NewBuffer(b)
  2680  	m.Retval = buf.DecodeInt32()
  2681  	return nil
  2682  }
  2683  
  2684  // NatHaGetFailover defines message 'nat_ha_get_failover'.
  2685  type NatHaGetFailover struct{}
  2686  
  2687  func (m *NatHaGetFailover) Reset()               { *m = NatHaGetFailover{} }
  2688  func (*NatHaGetFailover) GetMessageName() string { return "nat_ha_get_failover" }
  2689  func (*NatHaGetFailover) GetCrcString() string   { return "51077d14" }
  2690  func (*NatHaGetFailover) GetMessageType() api.MessageType {
  2691  	return api.RequestMessage
  2692  }
  2693  
  2694  func (m *NatHaGetFailover) Size() (size int) {
  2695  	if m == nil {
  2696  		return 0
  2697  	}
  2698  	return size
  2699  }
  2700  func (m *NatHaGetFailover) Marshal(b []byte) ([]byte, error) {
  2701  	if b == nil {
  2702  		b = make([]byte, m.Size())
  2703  	}
  2704  	buf := codec.NewBuffer(b)
  2705  	return buf.Bytes(), nil
  2706  }
  2707  func (m *NatHaGetFailover) Unmarshal(b []byte) error {
  2708  	return nil
  2709  }
  2710  
  2711  // NatHaGetFailoverReply defines message 'nat_ha_get_failover_reply'.
  2712  type NatHaGetFailoverReply struct {
  2713  	Retval                 int32               `binapi:"i32,name=retval" json:"retval,omitempty"`
  2714  	IPAddress              ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
  2715  	Port                   uint16              `binapi:"u16,name=port" json:"port,omitempty"`
  2716  	SessionRefreshInterval uint32              `binapi:"u32,name=session_refresh_interval" json:"session_refresh_interval,omitempty"`
  2717  }
  2718  
  2719  func (m *NatHaGetFailoverReply) Reset()               { *m = NatHaGetFailoverReply{} }
  2720  func (*NatHaGetFailoverReply) GetMessageName() string { return "nat_ha_get_failover_reply" }
  2721  func (*NatHaGetFailoverReply) GetCrcString() string   { return "a67d8752" }
  2722  func (*NatHaGetFailoverReply) GetMessageType() api.MessageType {
  2723  	return api.ReplyMessage
  2724  }
  2725  
  2726  func (m *NatHaGetFailoverReply) Size() (size int) {
  2727  	if m == nil {
  2728  		return 0
  2729  	}
  2730  	size += 4     // m.Retval
  2731  	size += 1 * 4 // m.IPAddress
  2732  	size += 2     // m.Port
  2733  	size += 4     // m.SessionRefreshInterval
  2734  	return size
  2735  }
  2736  func (m *NatHaGetFailoverReply) Marshal(b []byte) ([]byte, error) {
  2737  	if b == nil {
  2738  		b = make([]byte, m.Size())
  2739  	}
  2740  	buf := codec.NewBuffer(b)
  2741  	buf.EncodeInt32(m.Retval)
  2742  	buf.EncodeBytes(m.IPAddress[:], 4)
  2743  	buf.EncodeUint16(m.Port)
  2744  	buf.EncodeUint32(m.SessionRefreshInterval)
  2745  	return buf.Bytes(), nil
  2746  }
  2747  func (m *NatHaGetFailoverReply) Unmarshal(b []byte) error {
  2748  	buf := codec.NewBuffer(b)
  2749  	m.Retval = buf.DecodeInt32()
  2750  	copy(m.IPAddress[:], buf.DecodeBytes(4))
  2751  	m.Port = buf.DecodeUint16()
  2752  	m.SessionRefreshInterval = buf.DecodeUint32()
  2753  	return nil
  2754  }
  2755  
  2756  // NatHaGetListener defines message 'nat_ha_get_listener'.
  2757  type NatHaGetListener struct{}
  2758  
  2759  func (m *NatHaGetListener) Reset()               { *m = NatHaGetListener{} }
  2760  func (*NatHaGetListener) GetMessageName() string { return "nat_ha_get_listener" }
  2761  func (*NatHaGetListener) GetCrcString() string   { return "51077d14" }
  2762  func (*NatHaGetListener) GetMessageType() api.MessageType {
  2763  	return api.RequestMessage
  2764  }
  2765  
  2766  func (m *NatHaGetListener) Size() (size int) {
  2767  	if m == nil {
  2768  		return 0
  2769  	}
  2770  	return size
  2771  }
  2772  func (m *NatHaGetListener) Marshal(b []byte) ([]byte, error) {
  2773  	if b == nil {
  2774  		b = make([]byte, m.Size())
  2775  	}
  2776  	buf := codec.NewBuffer(b)
  2777  	return buf.Bytes(), nil
  2778  }
  2779  func (m *NatHaGetListener) Unmarshal(b []byte) error {
  2780  	return nil
  2781  }
  2782  
  2783  // NatHaGetListenerReply defines message 'nat_ha_get_listener_reply'.
  2784  type NatHaGetListenerReply struct {
  2785  	Retval    int32               `binapi:"i32,name=retval" json:"retval,omitempty"`
  2786  	IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
  2787  	Port      uint16              `binapi:"u16,name=port" json:"port,omitempty"`
  2788  	PathMtu   uint32              `binapi:"u32,name=path_mtu" json:"path_mtu,omitempty"`
  2789  }
  2790  
  2791  func (m *NatHaGetListenerReply) Reset()               { *m = NatHaGetListenerReply{} }
  2792  func (*NatHaGetListenerReply) GetMessageName() string { return "nat_ha_get_listener_reply" }
  2793  func (*NatHaGetListenerReply) GetCrcString() string   { return "123ea41f" }
  2794  func (*NatHaGetListenerReply) GetMessageType() api.MessageType {
  2795  	return api.ReplyMessage
  2796  }
  2797  
  2798  func (m *NatHaGetListenerReply) Size() (size int) {
  2799  	if m == nil {
  2800  		return 0
  2801  	}
  2802  	size += 4     // m.Retval
  2803  	size += 1 * 4 // m.IPAddress
  2804  	size += 2     // m.Port
  2805  	size += 4     // m.PathMtu
  2806  	return size
  2807  }
  2808  func (m *NatHaGetListenerReply) Marshal(b []byte) ([]byte, error) {
  2809  	if b == nil {
  2810  		b = make([]byte, m.Size())
  2811  	}
  2812  	buf := codec.NewBuffer(b)
  2813  	buf.EncodeInt32(m.Retval)
  2814  	buf.EncodeBytes(m.IPAddress[:], 4)
  2815  	buf.EncodeUint16(m.Port)
  2816  	buf.EncodeUint32(m.PathMtu)
  2817  	return buf.Bytes(), nil
  2818  }
  2819  func (m *NatHaGetListenerReply) Unmarshal(b []byte) error {
  2820  	buf := codec.NewBuffer(b)
  2821  	m.Retval = buf.DecodeInt32()
  2822  	copy(m.IPAddress[:], buf.DecodeBytes(4))
  2823  	m.Port = buf.DecodeUint16()
  2824  	m.PathMtu = buf.DecodeUint32()
  2825  	return nil
  2826  }
  2827  
  2828  // NatHaResync defines message 'nat_ha_resync'.
  2829  type NatHaResync struct {
  2830  	WantResyncEvent uint8  `binapi:"u8,name=want_resync_event" json:"want_resync_event,omitempty"`
  2831  	PID             uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
  2832  }
  2833  
  2834  func (m *NatHaResync) Reset()               { *m = NatHaResync{} }
  2835  func (*NatHaResync) GetMessageName() string { return "nat_ha_resync" }
  2836  func (*NatHaResync) GetCrcString() string   { return "c8ab9e03" }
  2837  func (*NatHaResync) GetMessageType() api.MessageType {
  2838  	return api.RequestMessage
  2839  }
  2840  
  2841  func (m *NatHaResync) Size() (size int) {
  2842  	if m == nil {
  2843  		return 0
  2844  	}
  2845  	size += 1 // m.WantResyncEvent
  2846  	size += 4 // m.PID
  2847  	return size
  2848  }
  2849  func (m *NatHaResync) Marshal(b []byte) ([]byte, error) {
  2850  	if b == nil {
  2851  		b = make([]byte, m.Size())
  2852  	}
  2853  	buf := codec.NewBuffer(b)
  2854  	buf.EncodeUint8(m.WantResyncEvent)
  2855  	buf.EncodeUint32(m.PID)
  2856  	return buf.Bytes(), nil
  2857  }
  2858  func (m *NatHaResync) Unmarshal(b []byte) error {
  2859  	buf := codec.NewBuffer(b)
  2860  	m.WantResyncEvent = buf.DecodeUint8()
  2861  	m.PID = buf.DecodeUint32()
  2862  	return nil
  2863  }
  2864  
  2865  // NatHaResyncCompletedEvent defines message 'nat_ha_resync_completed_event'.
  2866  type NatHaResyncCompletedEvent struct {
  2867  	PID         uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
  2868  	MissedCount uint32 `binapi:"u32,name=missed_count" json:"missed_count,omitempty"`
  2869  }
  2870  
  2871  func (m *NatHaResyncCompletedEvent) Reset()               { *m = NatHaResyncCompletedEvent{} }
  2872  func (*NatHaResyncCompletedEvent) GetMessageName() string { return "nat_ha_resync_completed_event" }
  2873  func (*NatHaResyncCompletedEvent) GetCrcString() string   { return "fdc598fb" }
  2874  func (*NatHaResyncCompletedEvent) GetMessageType() api.MessageType {
  2875  	return api.EventMessage
  2876  }
  2877  
  2878  func (m *NatHaResyncCompletedEvent) Size() (size int) {
  2879  	if m == nil {
  2880  		return 0
  2881  	}
  2882  	size += 4 // m.PID
  2883  	size += 4 // m.MissedCount
  2884  	return size
  2885  }
  2886  func (m *NatHaResyncCompletedEvent) Marshal(b []byte) ([]byte, error) {
  2887  	if b == nil {
  2888  		b = make([]byte, m.Size())
  2889  	}
  2890  	buf := codec.NewBuffer(b)
  2891  	buf.EncodeUint32(m.PID)
  2892  	buf.EncodeUint32(m.MissedCount)
  2893  	return buf.Bytes(), nil
  2894  }
  2895  func (m *NatHaResyncCompletedEvent) Unmarshal(b []byte) error {
  2896  	buf := codec.NewBuffer(b)
  2897  	m.PID = buf.DecodeUint32()
  2898  	m.MissedCount = buf.DecodeUint32()
  2899  	return nil
  2900  }
  2901  
  2902  // NatHaResyncReply defines message 'nat_ha_resync_reply'.
  2903  type NatHaResyncReply struct {
  2904  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  2905  }
  2906  
  2907  func (m *NatHaResyncReply) Reset()               { *m = NatHaResyncReply{} }
  2908  func (*NatHaResyncReply) GetMessageName() string { return "nat_ha_resync_reply" }
  2909  func (*NatHaResyncReply) GetCrcString() string   { return "e8d4e804" }
  2910  func (*NatHaResyncReply) GetMessageType() api.MessageType {
  2911  	return api.ReplyMessage
  2912  }
  2913  
  2914  func (m *NatHaResyncReply) Size() (size int) {
  2915  	if m == nil {
  2916  		return 0
  2917  	}
  2918  	size += 4 // m.Retval
  2919  	return size
  2920  }
  2921  func (m *NatHaResyncReply) Marshal(b []byte) ([]byte, error) {
  2922  	if b == nil {
  2923  		b = make([]byte, m.Size())
  2924  	}
  2925  	buf := codec.NewBuffer(b)
  2926  	buf.EncodeInt32(m.Retval)
  2927  	return buf.Bytes(), nil
  2928  }
  2929  func (m *NatHaResyncReply) Unmarshal(b []byte) error {
  2930  	buf := codec.NewBuffer(b)
  2931  	m.Retval = buf.DecodeInt32()
  2932  	return nil
  2933  }
  2934  
  2935  // NatHaSetFailover defines message 'nat_ha_set_failover'.
  2936  type NatHaSetFailover struct {
  2937  	IPAddress              ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
  2938  	Port                   uint16              `binapi:"u16,name=port" json:"port,omitempty"`
  2939  	SessionRefreshInterval uint32              `binapi:"u32,name=session_refresh_interval" json:"session_refresh_interval,omitempty"`
  2940  }
  2941  
  2942  func (m *NatHaSetFailover) Reset()               { *m = NatHaSetFailover{} }
  2943  func (*NatHaSetFailover) GetMessageName() string { return "nat_ha_set_failover" }
  2944  func (*NatHaSetFailover) GetCrcString() string   { return "718246af" }
  2945  func (*NatHaSetFailover) GetMessageType() api.MessageType {
  2946  	return api.RequestMessage
  2947  }
  2948  
  2949  func (m *NatHaSetFailover) Size() (size int) {
  2950  	if m == nil {
  2951  		return 0
  2952  	}
  2953  	size += 1 * 4 // m.IPAddress
  2954  	size += 2     // m.Port
  2955  	size += 4     // m.SessionRefreshInterval
  2956  	return size
  2957  }
  2958  func (m *NatHaSetFailover) Marshal(b []byte) ([]byte, error) {
  2959  	if b == nil {
  2960  		b = make([]byte, m.Size())
  2961  	}
  2962  	buf := codec.NewBuffer(b)
  2963  	buf.EncodeBytes(m.IPAddress[:], 4)
  2964  	buf.EncodeUint16(m.Port)
  2965  	buf.EncodeUint32(m.SessionRefreshInterval)
  2966  	return buf.Bytes(), nil
  2967  }
  2968  func (m *NatHaSetFailover) Unmarshal(b []byte) error {
  2969  	buf := codec.NewBuffer(b)
  2970  	copy(m.IPAddress[:], buf.DecodeBytes(4))
  2971  	m.Port = buf.DecodeUint16()
  2972  	m.SessionRefreshInterval = buf.DecodeUint32()
  2973  	return nil
  2974  }
  2975  
  2976  // NatHaSetFailoverReply defines message 'nat_ha_set_failover_reply'.
  2977  type NatHaSetFailoverReply struct {
  2978  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  2979  }
  2980  
  2981  func (m *NatHaSetFailoverReply) Reset()               { *m = NatHaSetFailoverReply{} }
  2982  func (*NatHaSetFailoverReply) GetMessageName() string { return "nat_ha_set_failover_reply" }
  2983  func (*NatHaSetFailoverReply) GetCrcString() string   { return "e8d4e804" }
  2984  func (*NatHaSetFailoverReply) GetMessageType() api.MessageType {
  2985  	return api.ReplyMessage
  2986  }
  2987  
  2988  func (m *NatHaSetFailoverReply) Size() (size int) {
  2989  	if m == nil {
  2990  		return 0
  2991  	}
  2992  	size += 4 // m.Retval
  2993  	return size
  2994  }
  2995  func (m *NatHaSetFailoverReply) Marshal(b []byte) ([]byte, error) {
  2996  	if b == nil {
  2997  		b = make([]byte, m.Size())
  2998  	}
  2999  	buf := codec.NewBuffer(b)
  3000  	buf.EncodeInt32(m.Retval)
  3001  	return buf.Bytes(), nil
  3002  }
  3003  func (m *NatHaSetFailoverReply) Unmarshal(b []byte) error {
  3004  	buf := codec.NewBuffer(b)
  3005  	m.Retval = buf.DecodeInt32()
  3006  	return nil
  3007  }
  3008  
  3009  // NatHaSetListener defines message 'nat_ha_set_listener'.
  3010  type NatHaSetListener struct {
  3011  	IPAddress ip_types.IP4Address `binapi:"ip4_address,name=ip_address" json:"ip_address,omitempty"`
  3012  	Port      uint16              `binapi:"u16,name=port" json:"port,omitempty"`
  3013  	PathMtu   uint32              `binapi:"u32,name=path_mtu" json:"path_mtu,omitempty"`
  3014  }
  3015  
  3016  func (m *NatHaSetListener) Reset()               { *m = NatHaSetListener{} }
  3017  func (*NatHaSetListener) GetMessageName() string { return "nat_ha_set_listener" }
  3018  func (*NatHaSetListener) GetCrcString() string   { return "e4a8cb4e" }
  3019  func (*NatHaSetListener) GetMessageType() api.MessageType {
  3020  	return api.RequestMessage
  3021  }
  3022  
  3023  func (m *NatHaSetListener) Size() (size int) {
  3024  	if m == nil {
  3025  		return 0
  3026  	}
  3027  	size += 1 * 4 // m.IPAddress
  3028  	size += 2     // m.Port
  3029  	size += 4     // m.PathMtu
  3030  	return size
  3031  }
  3032  func (m *NatHaSetListener) Marshal(b []byte) ([]byte, error) {
  3033  	if b == nil {
  3034  		b = make([]byte, m.Size())
  3035  	}
  3036  	buf := codec.NewBuffer(b)
  3037  	buf.EncodeBytes(m.IPAddress[:], 4)
  3038  	buf.EncodeUint16(m.Port)
  3039  	buf.EncodeUint32(m.PathMtu)
  3040  	return buf.Bytes(), nil
  3041  }
  3042  func (m *NatHaSetListener) Unmarshal(b []byte) error {
  3043  	buf := codec.NewBuffer(b)
  3044  	copy(m.IPAddress[:], buf.DecodeBytes(4))
  3045  	m.Port = buf.DecodeUint16()
  3046  	m.PathMtu = buf.DecodeUint32()
  3047  	return nil
  3048  }
  3049  
  3050  // NatHaSetListenerReply defines message 'nat_ha_set_listener_reply'.
  3051  type NatHaSetListenerReply struct {
  3052  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  3053  }
  3054  
  3055  func (m *NatHaSetListenerReply) Reset()               { *m = NatHaSetListenerReply{} }
  3056  func (*NatHaSetListenerReply) GetMessageName() string { return "nat_ha_set_listener_reply" }
  3057  func (*NatHaSetListenerReply) GetCrcString() string   { return "e8d4e804" }
  3058  func (*NatHaSetListenerReply) GetMessageType() api.MessageType {
  3059  	return api.ReplyMessage
  3060  }
  3061  
  3062  func (m *NatHaSetListenerReply) Size() (size int) {
  3063  	if m == nil {
  3064  		return 0
  3065  	}
  3066  	size += 4 // m.Retval
  3067  	return size
  3068  }
  3069  func (m *NatHaSetListenerReply) Marshal(b []byte) ([]byte, error) {
  3070  	if b == nil {
  3071  		b = make([]byte, m.Size())
  3072  	}
  3073  	buf := codec.NewBuffer(b)
  3074  	buf.EncodeInt32(m.Retval)
  3075  	return buf.Bytes(), nil
  3076  }
  3077  func (m *NatHaSetListenerReply) Unmarshal(b []byte) error {
  3078  	buf := codec.NewBuffer(b)
  3079  	m.Retval = buf.DecodeInt32()
  3080  	return nil
  3081  }
  3082  
  3083  // NatIpfixEnableDisable defines message 'nat_ipfix_enable_disable'.
  3084  type NatIpfixEnableDisable struct {
  3085  	DomainID uint32 `binapi:"u32,name=domain_id" json:"domain_id,omitempty"`
  3086  	SrcPort  uint16 `binapi:"u16,name=src_port" json:"src_port,omitempty"`
  3087  	Enable   bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
  3088  }
  3089  
  3090  func (m *NatIpfixEnableDisable) Reset()               { *m = NatIpfixEnableDisable{} }
  3091  func (*NatIpfixEnableDisable) GetMessageName() string { return "nat_ipfix_enable_disable" }
  3092  func (*NatIpfixEnableDisable) GetCrcString() string   { return "9af4a2d2" }
  3093  func (*NatIpfixEnableDisable) GetMessageType() api.MessageType {
  3094  	return api.RequestMessage
  3095  }
  3096  
  3097  func (m *NatIpfixEnableDisable) Size() (size int) {
  3098  	if m == nil {
  3099  		return 0
  3100  	}
  3101  	size += 4 // m.DomainID
  3102  	size += 2 // m.SrcPort
  3103  	size += 1 // m.Enable
  3104  	return size
  3105  }
  3106  func (m *NatIpfixEnableDisable) Marshal(b []byte) ([]byte, error) {
  3107  	if b == nil {
  3108  		b = make([]byte, m.Size())
  3109  	}
  3110  	buf := codec.NewBuffer(b)
  3111  	buf.EncodeUint32(m.DomainID)
  3112  	buf.EncodeUint16(m.SrcPort)
  3113  	buf.EncodeBool(m.Enable)
  3114  	return buf.Bytes(), nil
  3115  }
  3116  func (m *NatIpfixEnableDisable) Unmarshal(b []byte) error {
  3117  	buf := codec.NewBuffer(b)
  3118  	m.DomainID = buf.DecodeUint32()
  3119  	m.SrcPort = buf.DecodeUint16()
  3120  	m.Enable = buf.DecodeBool()
  3121  	return nil
  3122  }
  3123  
  3124  // NatIpfixEnableDisableReply defines message 'nat_ipfix_enable_disable_reply'.
  3125  type NatIpfixEnableDisableReply struct {
  3126  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  3127  }
  3128  
  3129  func (m *NatIpfixEnableDisableReply) Reset()               { *m = NatIpfixEnableDisableReply{} }
  3130  func (*NatIpfixEnableDisableReply) GetMessageName() string { return "nat_ipfix_enable_disable_reply" }
  3131  func (*NatIpfixEnableDisableReply) GetCrcString() string   { return "e8d4e804" }
  3132  func (*NatIpfixEnableDisableReply) GetMessageType() api.MessageType {
  3133  	return api.ReplyMessage
  3134  }
  3135  
  3136  func (m *NatIpfixEnableDisableReply) Size() (size int) {
  3137  	if m == nil {
  3138  		return 0
  3139  	}
  3140  	size += 4 // m.Retval
  3141  	return size
  3142  }
  3143  func (m *NatIpfixEnableDisableReply) Marshal(b []byte) ([]byte, error) {
  3144  	if b == nil {
  3145  		b = make([]byte, m.Size())
  3146  	}
  3147  	buf := codec.NewBuffer(b)
  3148  	buf.EncodeInt32(m.Retval)
  3149  	return buf.Bytes(), nil
  3150  }
  3151  func (m *NatIpfixEnableDisableReply) Unmarshal(b []byte) error {
  3152  	buf := codec.NewBuffer(b)
  3153  	m.Retval = buf.DecodeInt32()
  3154  	return nil
  3155  }
  3156  
  3157  // NatSetAddrAndPortAllocAlg defines message 'nat_set_addr_and_port_alloc_alg'.
  3158  type NatSetAddrAndPortAllocAlg struct {
  3159  	Alg        uint8  `binapi:"u8,name=alg" json:"alg,omitempty"`
  3160  	PsidOffset uint8  `binapi:"u8,name=psid_offset" json:"psid_offset,omitempty"`
  3161  	PsidLength uint8  `binapi:"u8,name=psid_length" json:"psid_length,omitempty"`
  3162  	Psid       uint16 `binapi:"u16,name=psid" json:"psid,omitempty"`
  3163  	StartPort  uint16 `binapi:"u16,name=start_port" json:"start_port,omitempty"`
  3164  	EndPort    uint16 `binapi:"u16,name=end_port" json:"end_port,omitempty"`
  3165  }
  3166  
  3167  func (m *NatSetAddrAndPortAllocAlg) Reset()               { *m = NatSetAddrAndPortAllocAlg{} }
  3168  func (*NatSetAddrAndPortAllocAlg) GetMessageName() string { return "nat_set_addr_and_port_alloc_alg" }
  3169  func (*NatSetAddrAndPortAllocAlg) GetCrcString() string   { return "deeb746f" }
  3170  func (*NatSetAddrAndPortAllocAlg) GetMessageType() api.MessageType {
  3171  	return api.RequestMessage
  3172  }
  3173  
  3174  func (m *NatSetAddrAndPortAllocAlg) Size() (size int) {
  3175  	if m == nil {
  3176  		return 0
  3177  	}
  3178  	size += 1 // m.Alg
  3179  	size += 1 // m.PsidOffset
  3180  	size += 1 // m.PsidLength
  3181  	size += 2 // m.Psid
  3182  	size += 2 // m.StartPort
  3183  	size += 2 // m.EndPort
  3184  	return size
  3185  }
  3186  func (m *NatSetAddrAndPortAllocAlg) Marshal(b []byte) ([]byte, error) {
  3187  	if b == nil {
  3188  		b = make([]byte, m.Size())
  3189  	}
  3190  	buf := codec.NewBuffer(b)
  3191  	buf.EncodeUint8(m.Alg)
  3192  	buf.EncodeUint8(m.PsidOffset)
  3193  	buf.EncodeUint8(m.PsidLength)
  3194  	buf.EncodeUint16(m.Psid)
  3195  	buf.EncodeUint16(m.StartPort)
  3196  	buf.EncodeUint16(m.EndPort)
  3197  	return buf.Bytes(), nil
  3198  }
  3199  func (m *NatSetAddrAndPortAllocAlg) Unmarshal(b []byte) error {
  3200  	buf := codec.NewBuffer(b)
  3201  	m.Alg = buf.DecodeUint8()
  3202  	m.PsidOffset = buf.DecodeUint8()
  3203  	m.PsidLength = buf.DecodeUint8()
  3204  	m.Psid = buf.DecodeUint16()
  3205  	m.StartPort = buf.DecodeUint16()
  3206  	m.EndPort = buf.DecodeUint16()
  3207  	return nil
  3208  }
  3209  
  3210  // NatSetAddrAndPortAllocAlgReply defines message 'nat_set_addr_and_port_alloc_alg_reply'.
  3211  type NatSetAddrAndPortAllocAlgReply struct {
  3212  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  3213  }
  3214  
  3215  func (m *NatSetAddrAndPortAllocAlgReply) Reset() { *m = NatSetAddrAndPortAllocAlgReply{} }
  3216  func (*NatSetAddrAndPortAllocAlgReply) GetMessageName() string {
  3217  	return "nat_set_addr_and_port_alloc_alg_reply"
  3218  }
  3219  func (*NatSetAddrAndPortAllocAlgReply) GetCrcString() string { return "e8d4e804" }
  3220  func (*NatSetAddrAndPortAllocAlgReply) GetMessageType() api.MessageType {
  3221  	return api.ReplyMessage
  3222  }
  3223  
  3224  func (m *NatSetAddrAndPortAllocAlgReply) Size() (size int) {
  3225  	if m == nil {
  3226  		return 0
  3227  	}
  3228  	size += 4 // m.Retval
  3229  	return size
  3230  }
  3231  func (m *NatSetAddrAndPortAllocAlgReply) Marshal(b []byte) ([]byte, error) {
  3232  	if b == nil {
  3233  		b = make([]byte, m.Size())
  3234  	}
  3235  	buf := codec.NewBuffer(b)
  3236  	buf.EncodeInt32(m.Retval)
  3237  	return buf.Bytes(), nil
  3238  }
  3239  func (m *NatSetAddrAndPortAllocAlgReply) Unmarshal(b []byte) error {
  3240  	buf := codec.NewBuffer(b)
  3241  	m.Retval = buf.DecodeInt32()
  3242  	return nil
  3243  }
  3244  
  3245  // NatSetLogLevel defines message 'nat_set_log_level'.
  3246  type NatSetLogLevel struct {
  3247  	LogLevel nat_types.NatLogLevel `binapi:"nat_log_level,name=log_level" json:"log_level,omitempty"`
  3248  }
  3249  
  3250  func (m *NatSetLogLevel) Reset()               { *m = NatSetLogLevel{} }
  3251  func (*NatSetLogLevel) GetMessageName() string { return "nat_set_log_level" }
  3252  func (*NatSetLogLevel) GetCrcString() string   { return "70076bfe" }
  3253  func (*NatSetLogLevel) GetMessageType() api.MessageType {
  3254  	return api.RequestMessage
  3255  }
  3256  
  3257  func (m *NatSetLogLevel) Size() (size int) {
  3258  	if m == nil {
  3259  		return 0
  3260  	}
  3261  	size += 1 // m.LogLevel
  3262  	return size
  3263  }
  3264  func (m *NatSetLogLevel) Marshal(b []byte) ([]byte, error) {
  3265  	if b == nil {
  3266  		b = make([]byte, m.Size())
  3267  	}
  3268  	buf := codec.NewBuffer(b)
  3269  	buf.EncodeUint8(uint8(m.LogLevel))
  3270  	return buf.Bytes(), nil
  3271  }
  3272  func (m *NatSetLogLevel) Unmarshal(b []byte) error {
  3273  	buf := codec.NewBuffer(b)
  3274  	m.LogLevel = nat_types.NatLogLevel(buf.DecodeUint8())
  3275  	return nil
  3276  }
  3277  
  3278  // NatSetLogLevelReply defines message 'nat_set_log_level_reply'.
  3279  type NatSetLogLevelReply struct {
  3280  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  3281  }
  3282  
  3283  func (m *NatSetLogLevelReply) Reset()               { *m = NatSetLogLevelReply{} }
  3284  func (*NatSetLogLevelReply) GetMessageName() string { return "nat_set_log_level_reply" }
  3285  func (*NatSetLogLevelReply) GetCrcString() string   { return "e8d4e804" }
  3286  func (*NatSetLogLevelReply) GetMessageType() api.MessageType {
  3287  	return api.ReplyMessage
  3288  }
  3289  
  3290  func (m *NatSetLogLevelReply) Size() (size int) {
  3291  	if m == nil {
  3292  		return 0
  3293  	}
  3294  	size += 4 // m.Retval
  3295  	return size
  3296  }
  3297  func (m *NatSetLogLevelReply) Marshal(b []byte) ([]byte, error) {
  3298  	if b == nil {
  3299  		b = make([]byte, m.Size())
  3300  	}
  3301  	buf := codec.NewBuffer(b)
  3302  	buf.EncodeInt32(m.Retval)
  3303  	return buf.Bytes(), nil
  3304  }
  3305  func (m *NatSetLogLevelReply) Unmarshal(b []byte) error {
  3306  	buf := codec.NewBuffer(b)
  3307  	m.Retval = buf.DecodeInt32()
  3308  	return nil
  3309  }
  3310  
  3311  // NatSetMssClamping defines message 'nat_set_mss_clamping'.
  3312  type NatSetMssClamping struct {
  3313  	MssValue uint16 `binapi:"u16,name=mss_value" json:"mss_value,omitempty"`
  3314  	Enable   bool   `binapi:"bool,name=enable" json:"enable,omitempty"`
  3315  }
  3316  
  3317  func (m *NatSetMssClamping) Reset()               { *m = NatSetMssClamping{} }
  3318  func (*NatSetMssClamping) GetMessageName() string { return "nat_set_mss_clamping" }
  3319  func (*NatSetMssClamping) GetCrcString() string   { return "25e90abb" }
  3320  func (*NatSetMssClamping) GetMessageType() api.MessageType {
  3321  	return api.RequestMessage
  3322  }
  3323  
  3324  func (m *NatSetMssClamping) Size() (size int) {
  3325  	if m == nil {
  3326  		return 0
  3327  	}
  3328  	size += 2 // m.MssValue
  3329  	size += 1 // m.Enable
  3330  	return size
  3331  }
  3332  func (m *NatSetMssClamping) Marshal(b []byte) ([]byte, error) {
  3333  	if b == nil {
  3334  		b = make([]byte, m.Size())
  3335  	}
  3336  	buf := codec.NewBuffer(b)
  3337  	buf.EncodeUint16(m.MssValue)
  3338  	buf.EncodeBool(m.Enable)
  3339  	return buf.Bytes(), nil
  3340  }
  3341  func (m *NatSetMssClamping) Unmarshal(b []byte) error {
  3342  	buf := codec.NewBuffer(b)
  3343  	m.MssValue = buf.DecodeUint16()
  3344  	m.Enable = buf.DecodeBool()
  3345  	return nil
  3346  }
  3347  
  3348  // NatSetMssClampingReply defines message 'nat_set_mss_clamping_reply'.
  3349  type NatSetMssClampingReply struct {
  3350  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  3351  }
  3352  
  3353  func (m *NatSetMssClampingReply) Reset()               { *m = NatSetMssClampingReply{} }
  3354  func (*NatSetMssClampingReply) GetMessageName() string { return "nat_set_mss_clamping_reply" }
  3355  func (*NatSetMssClampingReply) GetCrcString() string   { return "e8d4e804" }
  3356  func (*NatSetMssClampingReply) GetMessageType() api.MessageType {
  3357  	return api.ReplyMessage
  3358  }
  3359  
  3360  func (m *NatSetMssClampingReply) Size() (size int) {
  3361  	if m == nil {
  3362  		return 0
  3363  	}
  3364  	size += 4 // m.Retval
  3365  	return size
  3366  }
  3367  func (m *NatSetMssClampingReply) Marshal(b []byte) ([]byte, error) {
  3368  	if b == nil {
  3369  		b = make([]byte, m.Size())
  3370  	}
  3371  	buf := codec.NewBuffer(b)
  3372  	buf.EncodeInt32(m.Retval)
  3373  	return buf.Bytes(), nil
  3374  }
  3375  func (m *NatSetMssClampingReply) Unmarshal(b []byte) error {
  3376  	buf := codec.NewBuffer(b)
  3377  	m.Retval = buf.DecodeInt32()
  3378  	return nil
  3379  }
  3380  
  3381  // NatSetTimeouts defines message 'nat_set_timeouts'.
  3382  type NatSetTimeouts struct {
  3383  	UDP            uint32 `binapi:"u32,name=udp" json:"udp,omitempty"`
  3384  	TCPEstablished uint32 `binapi:"u32,name=tcp_established" json:"tcp_established,omitempty"`
  3385  	TCPTransitory  uint32 `binapi:"u32,name=tcp_transitory" json:"tcp_transitory,omitempty"`
  3386  	ICMP           uint32 `binapi:"u32,name=icmp" json:"icmp,omitempty"`
  3387  }
  3388  
  3389  func (m *NatSetTimeouts) Reset()               { *m = NatSetTimeouts{} }
  3390  func (*NatSetTimeouts) GetMessageName() string { return "nat_set_timeouts" }
  3391  func (*NatSetTimeouts) GetCrcString() string   { return "d4746b16" }
  3392  func (*NatSetTimeouts) GetMessageType() api.MessageType {
  3393  	return api.RequestMessage
  3394  }
  3395  
  3396  func (m *NatSetTimeouts) Size() (size int) {
  3397  	if m == nil {
  3398  		return 0
  3399  	}
  3400  	size += 4 // m.UDP
  3401  	size += 4 // m.TCPEstablished
  3402  	size += 4 // m.TCPTransitory
  3403  	size += 4 // m.ICMP
  3404  	return size
  3405  }
  3406  func (m *NatSetTimeouts) Marshal(b []byte) ([]byte, error) {
  3407  	if b == nil {
  3408  		b = make([]byte, m.Size())
  3409  	}
  3410  	buf := codec.NewBuffer(b)
  3411  	buf.EncodeUint32(m.UDP)
  3412  	buf.EncodeUint32(m.TCPEstablished)
  3413  	buf.EncodeUint32(m.TCPTransitory)
  3414  	buf.EncodeUint32(m.ICMP)
  3415  	return buf.Bytes(), nil
  3416  }
  3417  func (m *NatSetTimeouts) Unmarshal(b []byte) error {
  3418  	buf := codec.NewBuffer(b)
  3419  	m.UDP = buf.DecodeUint32()
  3420  	m.TCPEstablished = buf.DecodeUint32()
  3421  	m.TCPTransitory = buf.DecodeUint32()
  3422  	m.ICMP = buf.DecodeUint32()
  3423  	return nil
  3424  }
  3425  
  3426  // NatSetTimeoutsReply defines message 'nat_set_timeouts_reply'.
  3427  type NatSetTimeoutsReply struct {
  3428  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  3429  }
  3430  
  3431  func (m *NatSetTimeoutsReply) Reset()               { *m = NatSetTimeoutsReply{} }
  3432  func (*NatSetTimeoutsReply) GetMessageName() string { return "nat_set_timeouts_reply" }
  3433  func (*NatSetTimeoutsReply) GetCrcString() string   { return "e8d4e804" }
  3434  func (*NatSetTimeoutsReply) GetMessageType() api.MessageType {
  3435  	return api.ReplyMessage
  3436  }
  3437  
  3438  func (m *NatSetTimeoutsReply) Size() (size int) {
  3439  	if m == nil {
  3440  		return 0
  3441  	}
  3442  	size += 4 // m.Retval
  3443  	return size
  3444  }
  3445  func (m *NatSetTimeoutsReply) Marshal(b []byte) ([]byte, error) {
  3446  	if b == nil {
  3447  		b = make([]byte, m.Size())
  3448  	}
  3449  	buf := codec.NewBuffer(b)
  3450  	buf.EncodeInt32(m.Retval)
  3451  	return buf.Bytes(), nil
  3452  }
  3453  func (m *NatSetTimeoutsReply) Unmarshal(b []byte) error {
  3454  	buf := codec.NewBuffer(b)
  3455  	m.Retval = buf.DecodeInt32()
  3456  	return nil
  3457  }
  3458  
  3459  // NatSetWorkers defines message 'nat_set_workers'.
  3460  type NatSetWorkers struct {
  3461  	WorkerMask uint64 `binapi:"u64,name=worker_mask" json:"worker_mask,omitempty"`
  3462  }
  3463  
  3464  func (m *NatSetWorkers) Reset()               { *m = NatSetWorkers{} }
  3465  func (*NatSetWorkers) GetMessageName() string { return "nat_set_workers" }
  3466  func (*NatSetWorkers) GetCrcString() string   { return "da926638" }
  3467  func (*NatSetWorkers) GetMessageType() api.MessageType {
  3468  	return api.RequestMessage
  3469  }
  3470  
  3471  func (m *NatSetWorkers) Size() (size int) {
  3472  	if m == nil {
  3473  		return 0
  3474  	}
  3475  	size += 8 // m.WorkerMask
  3476  	return size
  3477  }
  3478  func (m *NatSetWorkers) Marshal(b []byte) ([]byte, error) {
  3479  	if b == nil {
  3480  		b = make([]byte, m.Size())
  3481  	}
  3482  	buf := codec.NewBuffer(b)
  3483  	buf.EncodeUint64(m.WorkerMask)
  3484  	return buf.Bytes(), nil
  3485  }
  3486  func (m *NatSetWorkers) Unmarshal(b []byte) error {
  3487  	buf := codec.NewBuffer(b)
  3488  	m.WorkerMask = buf.DecodeUint64()
  3489  	return nil
  3490  }
  3491  
  3492  // NatSetWorkersReply defines message 'nat_set_workers_reply'.
  3493  type NatSetWorkersReply struct {
  3494  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  3495  }
  3496  
  3497  func (m *NatSetWorkersReply) Reset()               { *m = NatSetWorkersReply{} }
  3498  func (*NatSetWorkersReply) GetMessageName() string { return "nat_set_workers_reply" }
  3499  func (*NatSetWorkersReply) GetCrcString() string   { return "e8d4e804" }
  3500  func (*NatSetWorkersReply) GetMessageType() api.MessageType {
  3501  	return api.ReplyMessage
  3502  }
  3503  
  3504  func (m *NatSetWorkersReply) Size() (size int) {
  3505  	if m == nil {
  3506  		return 0
  3507  	}
  3508  	size += 4 // m.Retval
  3509  	return size
  3510  }
  3511  func (m *NatSetWorkersReply) Marshal(b []byte) ([]byte, error) {
  3512  	if b == nil {
  3513  		b = make([]byte, m.Size())
  3514  	}
  3515  	buf := codec.NewBuffer(b)
  3516  	buf.EncodeInt32(m.Retval)
  3517  	return buf.Bytes(), nil
  3518  }
  3519  func (m *NatSetWorkersReply) Unmarshal(b []byte) error {
  3520  	buf := codec.NewBuffer(b)
  3521  	m.Retval = buf.DecodeInt32()
  3522  	return nil
  3523  }
  3524  
  3525  // NatShowConfig defines message 'nat_show_config'.
  3526  type NatShowConfig struct{}
  3527  
  3528  func (m *NatShowConfig) Reset()               { *m = NatShowConfig{} }
  3529  func (*NatShowConfig) GetMessageName() string { return "nat_show_config" }
  3530  func (*NatShowConfig) GetCrcString() string   { return "51077d14" }
  3531  func (*NatShowConfig) GetMessageType() api.MessageType {
  3532  	return api.RequestMessage
  3533  }
  3534  
  3535  func (m *NatShowConfig) Size() (size int) {
  3536  	if m == nil {
  3537  		return 0
  3538  	}
  3539  	return size
  3540  }
  3541  func (m *NatShowConfig) Marshal(b []byte) ([]byte, error) {
  3542  	if b == nil {
  3543  		b = make([]byte, m.Size())
  3544  	}
  3545  	buf := codec.NewBuffer(b)
  3546  	return buf.Bytes(), nil
  3547  }
  3548  func (m *NatShowConfig) Unmarshal(b []byte) error {
  3549  	return nil
  3550  }
  3551  
  3552  // NatShowConfig2 defines message 'nat_show_config_2'.
  3553  type NatShowConfig2 struct{}
  3554  
  3555  func (m *NatShowConfig2) Reset()               { *m = NatShowConfig2{} }
  3556  func (*NatShowConfig2) GetMessageName() string { return "nat_show_config_2" }
  3557  func (*NatShowConfig2) GetCrcString() string   { return "51077d14" }
  3558  func (*NatShowConfig2) GetMessageType() api.MessageType {
  3559  	return api.RequestMessage
  3560  }
  3561  
  3562  func (m *NatShowConfig2) Size() (size int) {
  3563  	if m == nil {
  3564  		return 0
  3565  	}
  3566  	return size
  3567  }
  3568  func (m *NatShowConfig2) Marshal(b []byte) ([]byte, error) {
  3569  	if b == nil {
  3570  		b = make([]byte, m.Size())
  3571  	}
  3572  	buf := codec.NewBuffer(b)
  3573  	return buf.Bytes(), nil
  3574  }
  3575  func (m *NatShowConfig2) Unmarshal(b []byte) error {
  3576  	return nil
  3577  }
  3578  
  3579  // NatShowConfig2Reply defines message 'nat_show_config_2_reply'.
  3580  type NatShowConfig2Reply struct {
  3581  	Retval                          int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  3582  	StaticMappingOnly               bool   `binapi:"bool,name=static_mapping_only" json:"static_mapping_only,omitempty"`
  3583  	StaticMappingConnectionTracking bool   `binapi:"bool,name=static_mapping_connection_tracking" json:"static_mapping_connection_tracking,omitempty"`
  3584  	Deterministic                   bool   `binapi:"bool,name=deterministic" json:"deterministic,omitempty"`
  3585  	EndpointDependent               bool   `binapi:"bool,name=endpoint_dependent" json:"endpoint_dependent,omitempty"`
  3586  	Out2inDpo                       bool   `binapi:"bool,name=out2in_dpo" json:"out2in_dpo,omitempty"`
  3587  	DsliteCe                        bool   `binapi:"bool,name=dslite_ce" json:"dslite_ce,omitempty"`
  3588  	TranslationBuckets              uint32 `binapi:"u32,name=translation_buckets" json:"translation_buckets,omitempty"`
  3589  	TranslationMemorySize           uint64 `binapi:"u64,name=translation_memory_size" json:"translation_memory_size,omitempty"`
  3590  	UserBuckets                     uint32 `binapi:"u32,name=user_buckets" json:"user_buckets,omitempty"`
  3591  	UserMemorySize                  uint64 `binapi:"u64,name=user_memory_size" json:"user_memory_size,omitempty"`
  3592  	MaxTranslationsPerUser          uint32 `binapi:"u32,name=max_translations_per_user" json:"max_translations_per_user,omitempty"`
  3593  	OutsideVrfID                    uint32 `binapi:"u32,name=outside_vrf_id" json:"outside_vrf_id,omitempty"`
  3594  	InsideVrfID                     uint32 `binapi:"u32,name=inside_vrf_id" json:"inside_vrf_id,omitempty"`
  3595  	Nat64BibBuckets                 uint32 `binapi:"u32,name=nat64_bib_buckets" json:"nat64_bib_buckets,omitempty"`
  3596  	Nat64BibMemorySize              uint64 `binapi:"u64,name=nat64_bib_memory_size" json:"nat64_bib_memory_size,omitempty"`
  3597  	Nat64StBuckets                  uint32 `binapi:"u32,name=nat64_st_buckets" json:"nat64_st_buckets,omitempty"`
  3598  	Nat64StMemorySize               uint64 `binapi:"u64,name=nat64_st_memory_size" json:"nat64_st_memory_size,omitempty"`
  3599  	MaxTranslationsPerThread        uint32 `binapi:"u32,name=max_translations_per_thread" json:"max_translations_per_thread,omitempty"`
  3600  	MaxUsersPerThread               uint32 `binapi:"u32,name=max_users_per_thread" json:"max_users_per_thread,omitempty"`
  3601  }
  3602  
  3603  func (m *NatShowConfig2Reply) Reset()               { *m = NatShowConfig2Reply{} }
  3604  func (*NatShowConfig2Reply) GetMessageName() string { return "nat_show_config_2_reply" }
  3605  func (*NatShowConfig2Reply) GetCrcString() string   { return "0404a5b4" }
  3606  func (*NatShowConfig2Reply) GetMessageType() api.MessageType {
  3607  	return api.ReplyMessage
  3608  }
  3609  
  3610  func (m *NatShowConfig2Reply) Size() (size int) {
  3611  	if m == nil {
  3612  		return 0
  3613  	}
  3614  	size += 4 // m.Retval
  3615  	size += 1 // m.StaticMappingOnly
  3616  	size += 1 // m.StaticMappingConnectionTracking
  3617  	size += 1 // m.Deterministic
  3618  	size += 1 // m.EndpointDependent
  3619  	size += 1 // m.Out2inDpo
  3620  	size += 1 // m.DsliteCe
  3621  	size += 4 // m.TranslationBuckets
  3622  	size += 8 // m.TranslationMemorySize
  3623  	size += 4 // m.UserBuckets
  3624  	size += 8 // m.UserMemorySize
  3625  	size += 4 // m.MaxTranslationsPerUser
  3626  	size += 4 // m.OutsideVrfID
  3627  	size += 4 // m.InsideVrfID
  3628  	size += 4 // m.Nat64BibBuckets
  3629  	size += 8 // m.Nat64BibMemorySize
  3630  	size += 4 // m.Nat64StBuckets
  3631  	size += 8 // m.Nat64StMemorySize
  3632  	size += 4 // m.MaxTranslationsPerThread
  3633  	size += 4 // m.MaxUsersPerThread
  3634  	return size
  3635  }
  3636  func (m *NatShowConfig2Reply) Marshal(b []byte) ([]byte, error) {
  3637  	if b == nil {
  3638  		b = make([]byte, m.Size())
  3639  	}
  3640  	buf := codec.NewBuffer(b)
  3641  	buf.EncodeInt32(m.Retval)
  3642  	buf.EncodeBool(m.StaticMappingOnly)
  3643  	buf.EncodeBool(m.StaticMappingConnectionTracking)
  3644  	buf.EncodeBool(m.Deterministic)
  3645  	buf.EncodeBool(m.EndpointDependent)
  3646  	buf.EncodeBool(m.Out2inDpo)
  3647  	buf.EncodeBool(m.DsliteCe)
  3648  	buf.EncodeUint32(m.TranslationBuckets)
  3649  	buf.EncodeUint64(m.TranslationMemorySize)
  3650  	buf.EncodeUint32(m.UserBuckets)
  3651  	buf.EncodeUint64(m.UserMemorySize)
  3652  	buf.EncodeUint32(m.MaxTranslationsPerUser)
  3653  	buf.EncodeUint32(m.OutsideVrfID)
  3654  	buf.EncodeUint32(m.InsideVrfID)
  3655  	buf.EncodeUint32(m.Nat64BibBuckets)
  3656  	buf.EncodeUint64(m.Nat64BibMemorySize)
  3657  	buf.EncodeUint32(m.Nat64StBuckets)
  3658  	buf.EncodeUint64(m.Nat64StMemorySize)
  3659  	buf.EncodeUint32(m.MaxTranslationsPerThread)
  3660  	buf.EncodeUint32(m.MaxUsersPerThread)
  3661  	return buf.Bytes(), nil
  3662  }
  3663  func (m *NatShowConfig2Reply) Unmarshal(b []byte) error {
  3664  	buf := codec.NewBuffer(b)
  3665  	m.Retval = buf.DecodeInt32()
  3666  	m.StaticMappingOnly = buf.DecodeBool()
  3667  	m.StaticMappingConnectionTracking = buf.DecodeBool()
  3668  	m.Deterministic = buf.DecodeBool()
  3669  	m.EndpointDependent = buf.DecodeBool()
  3670  	m.Out2inDpo = buf.DecodeBool()
  3671  	m.DsliteCe = buf.DecodeBool()
  3672  	m.TranslationBuckets = buf.DecodeUint32()
  3673  	m.TranslationMemorySize = buf.DecodeUint64()
  3674  	m.UserBuckets = buf.DecodeUint32()
  3675  	m.UserMemorySize = buf.DecodeUint64()
  3676  	m.MaxTranslationsPerUser = buf.DecodeUint32()
  3677  	m.OutsideVrfID = buf.DecodeUint32()
  3678  	m.InsideVrfID = buf.DecodeUint32()
  3679  	m.Nat64BibBuckets = buf.DecodeUint32()
  3680  	m.Nat64BibMemorySize = buf.DecodeUint64()
  3681  	m.Nat64StBuckets = buf.DecodeUint32()
  3682  	m.Nat64StMemorySize = buf.DecodeUint64()
  3683  	m.MaxTranslationsPerThread = buf.DecodeUint32()
  3684  	m.MaxUsersPerThread = buf.DecodeUint32()
  3685  	return nil
  3686  }
  3687  
  3688  // NatShowConfigReply defines message 'nat_show_config_reply'.
  3689  type NatShowConfigReply struct {
  3690  	Retval                          int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  3691  	StaticMappingOnly               bool   `binapi:"bool,name=static_mapping_only" json:"static_mapping_only,omitempty"`
  3692  	StaticMappingConnectionTracking bool   `binapi:"bool,name=static_mapping_connection_tracking" json:"static_mapping_connection_tracking,omitempty"`
  3693  	Deterministic                   bool   `binapi:"bool,name=deterministic" json:"deterministic,omitempty"`
  3694  	EndpointDependent               bool   `binapi:"bool,name=endpoint_dependent" json:"endpoint_dependent,omitempty"`
  3695  	Out2inDpo                       bool   `binapi:"bool,name=out2in_dpo" json:"out2in_dpo,omitempty"`
  3696  	DsliteCe                        bool   `binapi:"bool,name=dslite_ce" json:"dslite_ce,omitempty"`
  3697  	TranslationBuckets              uint32 `binapi:"u32,name=translation_buckets" json:"translation_buckets,omitempty"`
  3698  	TranslationMemorySize           uint32 `binapi:"u32,name=translation_memory_size" json:"translation_memory_size,omitempty"`
  3699  	UserBuckets                     uint32 `binapi:"u32,name=user_buckets" json:"user_buckets,omitempty"`
  3700  	UserMemorySize                  uint64 `binapi:"u64,name=user_memory_size" json:"user_memory_size,omitempty"`
  3701  	MaxTranslationsPerUser          uint32 `binapi:"u32,name=max_translations_per_user" json:"max_translations_per_user,omitempty"`
  3702  	OutsideVrfID                    uint32 `binapi:"u32,name=outside_vrf_id" json:"outside_vrf_id,omitempty"`
  3703  	InsideVrfID                     uint32 `binapi:"u32,name=inside_vrf_id" json:"inside_vrf_id,omitempty"`
  3704  	Nat64BibBuckets                 uint32 `binapi:"u32,name=nat64_bib_buckets" json:"nat64_bib_buckets,omitempty"`
  3705  	Nat64BibMemorySize              uint64 `binapi:"u64,name=nat64_bib_memory_size" json:"nat64_bib_memory_size,omitempty"`
  3706  	Nat64StBuckets                  uint32 `binapi:"u32,name=nat64_st_buckets" json:"nat64_st_buckets,omitempty"`
  3707  	Nat64StMemorySize               uint64 `binapi:"u64,name=nat64_st_memory_size" json:"nat64_st_memory_size,omitempty"`
  3708  }
  3709  
  3710  func (m *NatShowConfigReply) Reset()               { *m = NatShowConfigReply{} }
  3711  func (*NatShowConfigReply) GetMessageName() string { return "nat_show_config_reply" }
  3712  func (*NatShowConfigReply) GetCrcString() string   { return "7903ef06" }
  3713  func (*NatShowConfigReply) GetMessageType() api.MessageType {
  3714  	return api.ReplyMessage
  3715  }
  3716  
  3717  func (m *NatShowConfigReply) Size() (size int) {
  3718  	if m == nil {
  3719  		return 0
  3720  	}
  3721  	size += 4 // m.Retval
  3722  	size += 1 // m.StaticMappingOnly
  3723  	size += 1 // m.StaticMappingConnectionTracking
  3724  	size += 1 // m.Deterministic
  3725  	size += 1 // m.EndpointDependent
  3726  	size += 1 // m.Out2inDpo
  3727  	size += 1 // m.DsliteCe
  3728  	size += 4 // m.TranslationBuckets
  3729  	size += 4 // m.TranslationMemorySize
  3730  	size += 4 // m.UserBuckets
  3731  	size += 8 // m.UserMemorySize
  3732  	size += 4 // m.MaxTranslationsPerUser
  3733  	size += 4 // m.OutsideVrfID
  3734  	size += 4 // m.InsideVrfID
  3735  	size += 4 // m.Nat64BibBuckets
  3736  	size += 8 // m.Nat64BibMemorySize
  3737  	size += 4 // m.Nat64StBuckets
  3738  	size += 8 // m.Nat64StMemorySize
  3739  	return size
  3740  }
  3741  func (m *NatShowConfigReply) Marshal(b []byte) ([]byte, error) {
  3742  	if b == nil {
  3743  		b = make([]byte, m.Size())
  3744  	}
  3745  	buf := codec.NewBuffer(b)
  3746  	buf.EncodeInt32(m.Retval)
  3747  	buf.EncodeBool(m.StaticMappingOnly)
  3748  	buf.EncodeBool(m.StaticMappingConnectionTracking)
  3749  	buf.EncodeBool(m.Deterministic)
  3750  	buf.EncodeBool(m.EndpointDependent)
  3751  	buf.EncodeBool(m.Out2inDpo)
  3752  	buf.EncodeBool(m.DsliteCe)
  3753  	buf.EncodeUint32(m.TranslationBuckets)
  3754  	buf.EncodeUint32(m.TranslationMemorySize)
  3755  	buf.EncodeUint32(m.UserBuckets)
  3756  	buf.EncodeUint64(m.UserMemorySize)
  3757  	buf.EncodeUint32(m.MaxTranslationsPerUser)
  3758  	buf.EncodeUint32(m.OutsideVrfID)
  3759  	buf.EncodeUint32(m.InsideVrfID)
  3760  	buf.EncodeUint32(m.Nat64BibBuckets)
  3761  	buf.EncodeUint64(m.Nat64BibMemorySize)
  3762  	buf.EncodeUint32(m.Nat64StBuckets)
  3763  	buf.EncodeUint64(m.Nat64StMemorySize)
  3764  	return buf.Bytes(), nil
  3765  }
  3766  func (m *NatShowConfigReply) Unmarshal(b []byte) error {
  3767  	buf := codec.NewBuffer(b)
  3768  	m.Retval = buf.DecodeInt32()
  3769  	m.StaticMappingOnly = buf.DecodeBool()
  3770  	m.StaticMappingConnectionTracking = buf.DecodeBool()
  3771  	m.Deterministic = buf.DecodeBool()
  3772  	m.EndpointDependent = buf.DecodeBool()
  3773  	m.Out2inDpo = buf.DecodeBool()
  3774  	m.DsliteCe = buf.DecodeBool()
  3775  	m.TranslationBuckets = buf.DecodeUint32()
  3776  	m.TranslationMemorySize = buf.DecodeUint32()
  3777  	m.UserBuckets = buf.DecodeUint32()
  3778  	m.UserMemorySize = buf.DecodeUint64()
  3779  	m.MaxTranslationsPerUser = buf.DecodeUint32()
  3780  	m.OutsideVrfID = buf.DecodeUint32()
  3781  	m.InsideVrfID = buf.DecodeUint32()
  3782  	m.Nat64BibBuckets = buf.DecodeUint32()
  3783  	m.Nat64BibMemorySize = buf.DecodeUint64()
  3784  	m.Nat64StBuckets = buf.DecodeUint32()
  3785  	m.Nat64StMemorySize = buf.DecodeUint64()
  3786  	return nil
  3787  }
  3788  
  3789  // NatWorkerDetails defines message 'nat_worker_details'.
  3790  type NatWorkerDetails struct {
  3791  	WorkerIndex uint32 `binapi:"u32,name=worker_index" json:"worker_index,omitempty"`
  3792  	LcoreID     uint32 `binapi:"u32,name=lcore_id" json:"lcore_id,omitempty"`
  3793  	Name        string `binapi:"string[64],name=name" json:"name,omitempty"`
  3794  }
  3795  
  3796  func (m *NatWorkerDetails) Reset()               { *m = NatWorkerDetails{} }
  3797  func (*NatWorkerDetails) GetMessageName() string { return "nat_worker_details" }
  3798  func (*NatWorkerDetails) GetCrcString() string   { return "84bf06fc" }
  3799  func (*NatWorkerDetails) GetMessageType() api.MessageType {
  3800  	return api.ReplyMessage
  3801  }
  3802  
  3803  func (m *NatWorkerDetails) Size() (size int) {
  3804  	if m == nil {
  3805  		return 0
  3806  	}
  3807  	size += 4  // m.WorkerIndex
  3808  	size += 4  // m.LcoreID
  3809  	size += 64 // m.Name
  3810  	return size
  3811  }
  3812  func (m *NatWorkerDetails) Marshal(b []byte) ([]byte, error) {
  3813  	if b == nil {
  3814  		b = make([]byte, m.Size())
  3815  	}
  3816  	buf := codec.NewBuffer(b)
  3817  	buf.EncodeUint32(m.WorkerIndex)
  3818  	buf.EncodeUint32(m.LcoreID)
  3819  	buf.EncodeString(m.Name, 64)
  3820  	return buf.Bytes(), nil
  3821  }
  3822  func (m *NatWorkerDetails) Unmarshal(b []byte) error {
  3823  	buf := codec.NewBuffer(b)
  3824  	m.WorkerIndex = buf.DecodeUint32()
  3825  	m.LcoreID = buf.DecodeUint32()
  3826  	m.Name = buf.DecodeString(64)
  3827  	return nil
  3828  }
  3829  
  3830  // NatWorkerDump defines message 'nat_worker_dump'.
  3831  type NatWorkerDump struct{}
  3832  
  3833  func (m *NatWorkerDump) Reset()               { *m = NatWorkerDump{} }
  3834  func (*NatWorkerDump) GetMessageName() string { return "nat_worker_dump" }
  3835  func (*NatWorkerDump) GetCrcString() string   { return "51077d14" }
  3836  func (*NatWorkerDump) GetMessageType() api.MessageType {
  3837  	return api.RequestMessage
  3838  }
  3839  
  3840  func (m *NatWorkerDump) Size() (size int) {
  3841  	if m == nil {
  3842  		return 0
  3843  	}
  3844  	return size
  3845  }
  3846  func (m *NatWorkerDump) Marshal(b []byte) ([]byte, error) {
  3847  	if b == nil {
  3848  		b = make([]byte, m.Size())
  3849  	}
  3850  	buf := codec.NewBuffer(b)
  3851  	return buf.Bytes(), nil
  3852  }
  3853  func (m *NatWorkerDump) Unmarshal(b []byte) error {
  3854  	return nil
  3855  }
  3856  
  3857  func init() { file_nat44_binapi_init() }
  3858  func file_nat44_binapi_init() {
  3859  	api.RegisterMessage((*Nat44AddDelAddressRange)(nil), "nat44_add_del_address_range_d4c7568c")
  3860  	api.RegisterMessage((*Nat44AddDelAddressRangeReply)(nil), "nat44_add_del_address_range_reply_e8d4e804")
  3861  	api.RegisterMessage((*Nat44AddDelIdentityMapping)(nil), "nat44_add_del_identity_mapping_8e12743f")
  3862  	api.RegisterMessage((*Nat44AddDelIdentityMappingReply)(nil), "nat44_add_del_identity_mapping_reply_e8d4e804")
  3863  	api.RegisterMessage((*Nat44AddDelInterfaceAddr)(nil), "nat44_add_del_interface_addr_fc835325")
  3864  	api.RegisterMessage((*Nat44AddDelInterfaceAddrReply)(nil), "nat44_add_del_interface_addr_reply_e8d4e804")
  3865  	api.RegisterMessage((*Nat44AddDelLbStaticMapping)(nil), "nat44_add_del_lb_static_mapping_53b24611")
  3866  	api.RegisterMessage((*Nat44AddDelLbStaticMappingReply)(nil), "nat44_add_del_lb_static_mapping_reply_e8d4e804")
  3867  	api.RegisterMessage((*Nat44AddDelStaticMapping)(nil), "nat44_add_del_static_mapping_e165e83b")
  3868  	api.RegisterMessage((*Nat44AddDelStaticMappingReply)(nil), "nat44_add_del_static_mapping_reply_e8d4e804")
  3869  	api.RegisterMessage((*Nat44AddDelStaticMappingV2)(nil), "nat44_add_del_static_mapping_v2_5e205f1a")
  3870  	api.RegisterMessage((*Nat44AddDelStaticMappingV2Reply)(nil), "nat44_add_del_static_mapping_v2_reply_e8d4e804")
  3871  	api.RegisterMessage((*Nat44AddressDetails)(nil), "nat44_address_details_45410ac4")
  3872  	api.RegisterMessage((*Nat44AddressDump)(nil), "nat44_address_dump_51077d14")
  3873  	api.RegisterMessage((*Nat44DelSession)(nil), "nat44_del_session_4c49c387")
  3874  	api.RegisterMessage((*Nat44DelSessionReply)(nil), "nat44_del_session_reply_e8d4e804")
  3875  	api.RegisterMessage((*Nat44DelUser)(nil), "nat44_del_user_99a9f998")
  3876  	api.RegisterMessage((*Nat44DelUserReply)(nil), "nat44_del_user_reply_e8d4e804")
  3877  	api.RegisterMessage((*Nat44ForwardingEnableDisable)(nil), "nat44_forwarding_enable_disable_b3e225d2")
  3878  	api.RegisterMessage((*Nat44ForwardingEnableDisableReply)(nil), "nat44_forwarding_enable_disable_reply_e8d4e804")
  3879  	api.RegisterMessage((*Nat44ForwardingIsEnabled)(nil), "nat44_forwarding_is_enabled_51077d14")
  3880  	api.RegisterMessage((*Nat44ForwardingIsEnabledReply)(nil), "nat44_forwarding_is_enabled_reply_46924a06")
  3881  	api.RegisterMessage((*Nat44IdentityMappingDetails)(nil), "nat44_identity_mapping_details_36d21351")
  3882  	api.RegisterMessage((*Nat44IdentityMappingDump)(nil), "nat44_identity_mapping_dump_51077d14")
  3883  	api.RegisterMessage((*Nat44InterfaceAddDelFeature)(nil), "nat44_interface_add_del_feature_f3699b83")
  3884  	api.RegisterMessage((*Nat44InterfaceAddDelFeatureReply)(nil), "nat44_interface_add_del_feature_reply_e8d4e804")
  3885  	api.RegisterMessage((*Nat44InterfaceAddDelOutputFeature)(nil), "nat44_interface_add_del_output_feature_f3699b83")
  3886  	api.RegisterMessage((*Nat44InterfaceAddDelOutputFeatureReply)(nil), "nat44_interface_add_del_output_feature_reply_e8d4e804")
  3887  	api.RegisterMessage((*Nat44InterfaceAddrDetails)(nil), "nat44_interface_addr_details_3e687514")
  3888  	api.RegisterMessage((*Nat44InterfaceAddrDump)(nil), "nat44_interface_addr_dump_51077d14")
  3889  	api.RegisterMessage((*Nat44InterfaceDetails)(nil), "nat44_interface_details_5d286289")
  3890  	api.RegisterMessage((*Nat44InterfaceDump)(nil), "nat44_interface_dump_51077d14")
  3891  	api.RegisterMessage((*Nat44InterfaceOutputFeatureDetails)(nil), "nat44_interface_output_feature_details_5d286289")
  3892  	api.RegisterMessage((*Nat44InterfaceOutputFeatureDump)(nil), "nat44_interface_output_feature_dump_51077d14")
  3893  	api.RegisterMessage((*Nat44LbStaticMappingAddDelLocal)(nil), "nat44_lb_static_mapping_add_del_local_2910a151")
  3894  	api.RegisterMessage((*Nat44LbStaticMappingAddDelLocalReply)(nil), "nat44_lb_static_mapping_add_del_local_reply_e8d4e804")
  3895  	api.RegisterMessage((*Nat44LbStaticMappingDetails)(nil), "nat44_lb_static_mapping_details_2267b9e8")
  3896  	api.RegisterMessage((*Nat44LbStaticMappingDump)(nil), "nat44_lb_static_mapping_dump_51077d14")
  3897  	api.RegisterMessage((*Nat44PluginEnableDisable)(nil), "nat44_plugin_enable_disable_dea0d501")
  3898  	api.RegisterMessage((*Nat44PluginEnableDisableReply)(nil), "nat44_plugin_enable_disable_reply_e8d4e804")
  3899  	api.RegisterMessage((*Nat44SessionCleanup)(nil), "nat44_session_cleanup_51077d14")
  3900  	api.RegisterMessage((*Nat44SessionCleanupReply)(nil), "nat44_session_cleanup_reply_e8d4e804")
  3901  	api.RegisterMessage((*Nat44SetSessionLimit)(nil), "nat44_set_session_limit_8899bbb1")
  3902  	api.RegisterMessage((*Nat44SetSessionLimitReply)(nil), "nat44_set_session_limit_reply_e8d4e804")
  3903  	api.RegisterMessage((*Nat44ShowRunningConfig)(nil), "nat44_show_running_config_51077d14")
  3904  	api.RegisterMessage((*Nat44ShowRunningConfigReply)(nil), "nat44_show_running_config_reply_93d8e267")
  3905  	api.RegisterMessage((*Nat44StaticMappingDetails)(nil), "nat44_static_mapping_details_1a433ef7")
  3906  	api.RegisterMessage((*Nat44StaticMappingDump)(nil), "nat44_static_mapping_dump_51077d14")
  3907  	api.RegisterMessage((*Nat44UserDetails)(nil), "nat44_user_details_355896c2")
  3908  	api.RegisterMessage((*Nat44UserDump)(nil), "nat44_user_dump_51077d14")
  3909  	api.RegisterMessage((*Nat44UserSessionDetails)(nil), "nat44_user_session_details_1965fd69")
  3910  	api.RegisterMessage((*Nat44UserSessionDump)(nil), "nat44_user_session_dump_e1899c98")
  3911  	api.RegisterMessage((*NatControlPing)(nil), "nat_control_ping_51077d14")
  3912  	api.RegisterMessage((*NatControlPingReply)(nil), "nat_control_ping_reply_f6b0b8ca")
  3913  	api.RegisterMessage((*NatGetAddrAndPortAllocAlg)(nil), "nat_get_addr_and_port_alloc_alg_51077d14")
  3914  	api.RegisterMessage((*NatGetAddrAndPortAllocAlgReply)(nil), "nat_get_addr_and_port_alloc_alg_reply_3607a7d0")
  3915  	api.RegisterMessage((*NatGetMssClamping)(nil), "nat_get_mss_clamping_51077d14")
  3916  	api.RegisterMessage((*NatGetMssClampingReply)(nil), "nat_get_mss_clamping_reply_1c0b2a78")
  3917  	api.RegisterMessage((*NatGetTimeouts)(nil), "nat_get_timeouts_51077d14")
  3918  	api.RegisterMessage((*NatGetTimeoutsReply)(nil), "nat_get_timeouts_reply_3c4df4e1")
  3919  	api.RegisterMessage((*NatHaFlush)(nil), "nat_ha_flush_51077d14")
  3920  	api.RegisterMessage((*NatHaFlushReply)(nil), "nat_ha_flush_reply_e8d4e804")
  3921  	api.RegisterMessage((*NatHaGetFailover)(nil), "nat_ha_get_failover_51077d14")
  3922  	api.RegisterMessage((*NatHaGetFailoverReply)(nil), "nat_ha_get_failover_reply_a67d8752")
  3923  	api.RegisterMessage((*NatHaGetListener)(nil), "nat_ha_get_listener_51077d14")
  3924  	api.RegisterMessage((*NatHaGetListenerReply)(nil), "nat_ha_get_listener_reply_123ea41f")
  3925  	api.RegisterMessage((*NatHaResync)(nil), "nat_ha_resync_c8ab9e03")
  3926  	api.RegisterMessage((*NatHaResyncCompletedEvent)(nil), "nat_ha_resync_completed_event_fdc598fb")
  3927  	api.RegisterMessage((*NatHaResyncReply)(nil), "nat_ha_resync_reply_e8d4e804")
  3928  	api.RegisterMessage((*NatHaSetFailover)(nil), "nat_ha_set_failover_718246af")
  3929  	api.RegisterMessage((*NatHaSetFailoverReply)(nil), "nat_ha_set_failover_reply_e8d4e804")
  3930  	api.RegisterMessage((*NatHaSetListener)(nil), "nat_ha_set_listener_e4a8cb4e")
  3931  	api.RegisterMessage((*NatHaSetListenerReply)(nil), "nat_ha_set_listener_reply_e8d4e804")
  3932  	api.RegisterMessage((*NatIpfixEnableDisable)(nil), "nat_ipfix_enable_disable_9af4a2d2")
  3933  	api.RegisterMessage((*NatIpfixEnableDisableReply)(nil), "nat_ipfix_enable_disable_reply_e8d4e804")
  3934  	api.RegisterMessage((*NatSetAddrAndPortAllocAlg)(nil), "nat_set_addr_and_port_alloc_alg_deeb746f")
  3935  	api.RegisterMessage((*NatSetAddrAndPortAllocAlgReply)(nil), "nat_set_addr_and_port_alloc_alg_reply_e8d4e804")
  3936  	api.RegisterMessage((*NatSetLogLevel)(nil), "nat_set_log_level_70076bfe")
  3937  	api.RegisterMessage((*NatSetLogLevelReply)(nil), "nat_set_log_level_reply_e8d4e804")
  3938  	api.RegisterMessage((*NatSetMssClamping)(nil), "nat_set_mss_clamping_25e90abb")
  3939  	api.RegisterMessage((*NatSetMssClampingReply)(nil), "nat_set_mss_clamping_reply_e8d4e804")
  3940  	api.RegisterMessage((*NatSetTimeouts)(nil), "nat_set_timeouts_d4746b16")
  3941  	api.RegisterMessage((*NatSetTimeoutsReply)(nil), "nat_set_timeouts_reply_e8d4e804")
  3942  	api.RegisterMessage((*NatSetWorkers)(nil), "nat_set_workers_da926638")
  3943  	api.RegisterMessage((*NatSetWorkersReply)(nil), "nat_set_workers_reply_e8d4e804")
  3944  	api.RegisterMessage((*NatShowConfig)(nil), "nat_show_config_51077d14")
  3945  	api.RegisterMessage((*NatShowConfig2)(nil), "nat_show_config_2_51077d14")
  3946  	api.RegisterMessage((*NatShowConfig2Reply)(nil), "nat_show_config_2_reply_0404a5b4")
  3947  	api.RegisterMessage((*NatShowConfigReply)(nil), "nat_show_config_reply_7903ef06")
  3948  	api.RegisterMessage((*NatWorkerDetails)(nil), "nat_worker_details_84bf06fc")
  3949  	api.RegisterMessage((*NatWorkerDump)(nil), "nat_worker_dump_51077d14")
  3950  }
  3951  
  3952  // Messages returns list of all messages in this module.
  3953  func AllMessages() []api.Message {
  3954  	return []api.Message{
  3955  		(*Nat44AddDelAddressRange)(nil),
  3956  		(*Nat44AddDelAddressRangeReply)(nil),
  3957  		(*Nat44AddDelIdentityMapping)(nil),
  3958  		(*Nat44AddDelIdentityMappingReply)(nil),
  3959  		(*Nat44AddDelInterfaceAddr)(nil),
  3960  		(*Nat44AddDelInterfaceAddrReply)(nil),
  3961  		(*Nat44AddDelLbStaticMapping)(nil),
  3962  		(*Nat44AddDelLbStaticMappingReply)(nil),
  3963  		(*Nat44AddDelStaticMapping)(nil),
  3964  		(*Nat44AddDelStaticMappingReply)(nil),
  3965  		(*Nat44AddDelStaticMappingV2)(nil),
  3966  		(*Nat44AddDelStaticMappingV2Reply)(nil),
  3967  		(*Nat44AddressDetails)(nil),
  3968  		(*Nat44AddressDump)(nil),
  3969  		(*Nat44DelSession)(nil),
  3970  		(*Nat44DelSessionReply)(nil),
  3971  		(*Nat44DelUser)(nil),
  3972  		(*Nat44DelUserReply)(nil),
  3973  		(*Nat44ForwardingEnableDisable)(nil),
  3974  		(*Nat44ForwardingEnableDisableReply)(nil),
  3975  		(*Nat44ForwardingIsEnabled)(nil),
  3976  		(*Nat44ForwardingIsEnabledReply)(nil),
  3977  		(*Nat44IdentityMappingDetails)(nil),
  3978  		(*Nat44IdentityMappingDump)(nil),
  3979  		(*Nat44InterfaceAddDelFeature)(nil),
  3980  		(*Nat44InterfaceAddDelFeatureReply)(nil),
  3981  		(*Nat44InterfaceAddDelOutputFeature)(nil),
  3982  		(*Nat44InterfaceAddDelOutputFeatureReply)(nil),
  3983  		(*Nat44InterfaceAddrDetails)(nil),
  3984  		(*Nat44InterfaceAddrDump)(nil),
  3985  		(*Nat44InterfaceDetails)(nil),
  3986  		(*Nat44InterfaceDump)(nil),
  3987  		(*Nat44InterfaceOutputFeatureDetails)(nil),
  3988  		(*Nat44InterfaceOutputFeatureDump)(nil),
  3989  		(*Nat44LbStaticMappingAddDelLocal)(nil),
  3990  		(*Nat44LbStaticMappingAddDelLocalReply)(nil),
  3991  		(*Nat44LbStaticMappingDetails)(nil),
  3992  		(*Nat44LbStaticMappingDump)(nil),
  3993  		(*Nat44PluginEnableDisable)(nil),
  3994  		(*Nat44PluginEnableDisableReply)(nil),
  3995  		(*Nat44SessionCleanup)(nil),
  3996  		(*Nat44SessionCleanupReply)(nil),
  3997  		(*Nat44SetSessionLimit)(nil),
  3998  		(*Nat44SetSessionLimitReply)(nil),
  3999  		(*Nat44ShowRunningConfig)(nil),
  4000  		(*Nat44ShowRunningConfigReply)(nil),
  4001  		(*Nat44StaticMappingDetails)(nil),
  4002  		(*Nat44StaticMappingDump)(nil),
  4003  		(*Nat44UserDetails)(nil),
  4004  		(*Nat44UserDump)(nil),
  4005  		(*Nat44UserSessionDetails)(nil),
  4006  		(*Nat44UserSessionDump)(nil),
  4007  		(*NatControlPing)(nil),
  4008  		(*NatControlPingReply)(nil),
  4009  		(*NatGetAddrAndPortAllocAlg)(nil),
  4010  		(*NatGetAddrAndPortAllocAlgReply)(nil),
  4011  		(*NatGetMssClamping)(nil),
  4012  		(*NatGetMssClampingReply)(nil),
  4013  		(*NatGetTimeouts)(nil),
  4014  		(*NatGetTimeoutsReply)(nil),
  4015  		(*NatHaFlush)(nil),
  4016  		(*NatHaFlushReply)(nil),
  4017  		(*NatHaGetFailover)(nil),
  4018  		(*NatHaGetFailoverReply)(nil),
  4019  		(*NatHaGetListener)(nil),
  4020  		(*NatHaGetListenerReply)(nil),
  4021  		(*NatHaResync)(nil),
  4022  		(*NatHaResyncCompletedEvent)(nil),
  4023  		(*NatHaResyncReply)(nil),
  4024  		(*NatHaSetFailover)(nil),
  4025  		(*NatHaSetFailoverReply)(nil),
  4026  		(*NatHaSetListener)(nil),
  4027  		(*NatHaSetListenerReply)(nil),
  4028  		(*NatIpfixEnableDisable)(nil),
  4029  		(*NatIpfixEnableDisableReply)(nil),
  4030  		(*NatSetAddrAndPortAllocAlg)(nil),
  4031  		(*NatSetAddrAndPortAllocAlgReply)(nil),
  4032  		(*NatSetLogLevel)(nil),
  4033  		(*NatSetLogLevelReply)(nil),
  4034  		(*NatSetMssClamping)(nil),
  4035  		(*NatSetMssClampingReply)(nil),
  4036  		(*NatSetTimeouts)(nil),
  4037  		(*NatSetTimeoutsReply)(nil),
  4038  		(*NatSetWorkers)(nil),
  4039  		(*NatSetWorkersReply)(nil),
  4040  		(*NatShowConfig)(nil),
  4041  		(*NatShowConfig2)(nil),
  4042  		(*NatShowConfig2Reply)(nil),
  4043  		(*NatShowConfigReply)(nil),
  4044  		(*NatWorkerDetails)(nil),
  4045  		(*NatWorkerDump)(nil),
  4046  	}
  4047  }