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

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  // Package ipsec contains generated bindings for API file ipsec.api.
     4  //
     5  // Contents:
     6  // -  2 structs
     7  // - 48 messages
     8  package ipsec
     9  
    10  import (
    11  	api "go.fd.io/govpp/api"
    12  	codec "go.fd.io/govpp/codec"
    13  	interface_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/interface_types"
    14  	ip_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/ip_types"
    15  	ipsec_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/ipsec_types"
    16  	tunnel_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2210/tunnel_types"
    17  )
    18  
    19  // This is a compile-time assertion to ensure that this generated file
    20  // is compatible with the GoVPP api package it is being compiled against.
    21  // A compilation error at this line likely means your copy of the
    22  // GoVPP api package needs to be updated.
    23  const _ = api.GoVppAPIPackageIsVersion2
    24  
    25  const (
    26  	APIFile    = "ipsec"
    27  	APIVersion = "5.0.2"
    28  	VersionCrc = 0xd8d93805
    29  )
    30  
    31  // IpsecItf defines type 'ipsec_itf'.
    32  type IpsecItf struct {
    33  	UserInstance uint32                         `binapi:"u32,name=user_instance,default=4294967295" json:"user_instance,omitempty"`
    34  	Mode         tunnel_types.TunnelMode        `binapi:"tunnel_mode,name=mode" json:"mode,omitempty"`
    35  	SwIfIndex    interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
    36  }
    37  
    38  // IpsecTunnelProtect defines type 'ipsec_tunnel_protect'.
    39  type IpsecTunnelProtect struct {
    40  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
    41  	Nh        ip_types.Address               `binapi:"address,name=nh" json:"nh,omitempty"`
    42  	SaOut     uint32                         `binapi:"u32,name=sa_out" json:"sa_out,omitempty"`
    43  	NSaIn     uint8                          `binapi:"u8,name=n_sa_in" json:"-"`
    44  	SaIn      []uint32                       `binapi:"u32[n_sa_in],name=sa_in" json:"sa_in,omitempty"`
    45  }
    46  
    47  // IpsecBackendDetails defines message 'ipsec_backend_details'.
    48  type IpsecBackendDetails struct {
    49  	Name     string                 `binapi:"string[128],name=name" json:"name,omitempty"`
    50  	Protocol ipsec_types.IpsecProto `binapi:"ipsec_proto,name=protocol" json:"protocol,omitempty"`
    51  	Index    uint8                  `binapi:"u8,name=index" json:"index,omitempty"`
    52  	Active   bool                   `binapi:"bool,name=active" json:"active,omitempty"`
    53  }
    54  
    55  func (m *IpsecBackendDetails) Reset()               { *m = IpsecBackendDetails{} }
    56  func (*IpsecBackendDetails) GetMessageName() string { return "ipsec_backend_details" }
    57  func (*IpsecBackendDetails) GetCrcString() string   { return "ee601c29" }
    58  func (*IpsecBackendDetails) GetMessageType() api.MessageType {
    59  	return api.ReplyMessage
    60  }
    61  
    62  func (m *IpsecBackendDetails) Size() (size int) {
    63  	if m == nil {
    64  		return 0
    65  	}
    66  	size += 128 // m.Name
    67  	size += 4   // m.Protocol
    68  	size += 1   // m.Index
    69  	size += 1   // m.Active
    70  	return size
    71  }
    72  func (m *IpsecBackendDetails) Marshal(b []byte) ([]byte, error) {
    73  	if b == nil {
    74  		b = make([]byte, m.Size())
    75  	}
    76  	buf := codec.NewBuffer(b)
    77  	buf.EncodeString(m.Name, 128)
    78  	buf.EncodeUint32(uint32(m.Protocol))
    79  	buf.EncodeUint8(m.Index)
    80  	buf.EncodeBool(m.Active)
    81  	return buf.Bytes(), nil
    82  }
    83  func (m *IpsecBackendDetails) Unmarshal(b []byte) error {
    84  	buf := codec.NewBuffer(b)
    85  	m.Name = buf.DecodeString(128)
    86  	m.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32())
    87  	m.Index = buf.DecodeUint8()
    88  	m.Active = buf.DecodeBool()
    89  	return nil
    90  }
    91  
    92  // IpsecBackendDump defines message 'ipsec_backend_dump'.
    93  type IpsecBackendDump struct{}
    94  
    95  func (m *IpsecBackendDump) Reset()               { *m = IpsecBackendDump{} }
    96  func (*IpsecBackendDump) GetMessageName() string { return "ipsec_backend_dump" }
    97  func (*IpsecBackendDump) GetCrcString() string   { return "51077d14" }
    98  func (*IpsecBackendDump) GetMessageType() api.MessageType {
    99  	return api.RequestMessage
   100  }
   101  
   102  func (m *IpsecBackendDump) Size() (size int) {
   103  	if m == nil {
   104  		return 0
   105  	}
   106  	return size
   107  }
   108  func (m *IpsecBackendDump) Marshal(b []byte) ([]byte, error) {
   109  	if b == nil {
   110  		b = make([]byte, m.Size())
   111  	}
   112  	buf := codec.NewBuffer(b)
   113  	return buf.Bytes(), nil
   114  }
   115  func (m *IpsecBackendDump) Unmarshal(b []byte) error {
   116  	return nil
   117  }
   118  
   119  // IpsecInterfaceAddDelSpd defines message 'ipsec_interface_add_del_spd'.
   120  type IpsecInterfaceAddDelSpd struct {
   121  	IsAdd     bool                           `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   122  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   123  	SpdID     uint32                         `binapi:"u32,name=spd_id" json:"spd_id,omitempty"`
   124  }
   125  
   126  func (m *IpsecInterfaceAddDelSpd) Reset()               { *m = IpsecInterfaceAddDelSpd{} }
   127  func (*IpsecInterfaceAddDelSpd) GetMessageName() string { return "ipsec_interface_add_del_spd" }
   128  func (*IpsecInterfaceAddDelSpd) GetCrcString() string   { return "80f80cbb" }
   129  func (*IpsecInterfaceAddDelSpd) GetMessageType() api.MessageType {
   130  	return api.RequestMessage
   131  }
   132  
   133  func (m *IpsecInterfaceAddDelSpd) Size() (size int) {
   134  	if m == nil {
   135  		return 0
   136  	}
   137  	size += 1 // m.IsAdd
   138  	size += 4 // m.SwIfIndex
   139  	size += 4 // m.SpdID
   140  	return size
   141  }
   142  func (m *IpsecInterfaceAddDelSpd) Marshal(b []byte) ([]byte, error) {
   143  	if b == nil {
   144  		b = make([]byte, m.Size())
   145  	}
   146  	buf := codec.NewBuffer(b)
   147  	buf.EncodeBool(m.IsAdd)
   148  	buf.EncodeUint32(uint32(m.SwIfIndex))
   149  	buf.EncodeUint32(m.SpdID)
   150  	return buf.Bytes(), nil
   151  }
   152  func (m *IpsecInterfaceAddDelSpd) Unmarshal(b []byte) error {
   153  	buf := codec.NewBuffer(b)
   154  	m.IsAdd = buf.DecodeBool()
   155  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   156  	m.SpdID = buf.DecodeUint32()
   157  	return nil
   158  }
   159  
   160  // IpsecInterfaceAddDelSpdReply defines message 'ipsec_interface_add_del_spd_reply'.
   161  type IpsecInterfaceAddDelSpdReply struct {
   162  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   163  }
   164  
   165  func (m *IpsecInterfaceAddDelSpdReply) Reset() { *m = IpsecInterfaceAddDelSpdReply{} }
   166  func (*IpsecInterfaceAddDelSpdReply) GetMessageName() string {
   167  	return "ipsec_interface_add_del_spd_reply"
   168  }
   169  func (*IpsecInterfaceAddDelSpdReply) GetCrcString() string { return "e8d4e804" }
   170  func (*IpsecInterfaceAddDelSpdReply) GetMessageType() api.MessageType {
   171  	return api.ReplyMessage
   172  }
   173  
   174  func (m *IpsecInterfaceAddDelSpdReply) Size() (size int) {
   175  	if m == nil {
   176  		return 0
   177  	}
   178  	size += 4 // m.Retval
   179  	return size
   180  }
   181  func (m *IpsecInterfaceAddDelSpdReply) Marshal(b []byte) ([]byte, error) {
   182  	if b == nil {
   183  		b = make([]byte, m.Size())
   184  	}
   185  	buf := codec.NewBuffer(b)
   186  	buf.EncodeInt32(m.Retval)
   187  	return buf.Bytes(), nil
   188  }
   189  func (m *IpsecInterfaceAddDelSpdReply) Unmarshal(b []byte) error {
   190  	buf := codec.NewBuffer(b)
   191  	m.Retval = buf.DecodeInt32()
   192  	return nil
   193  }
   194  
   195  // IpsecItfCreate defines message 'ipsec_itf_create'.
   196  type IpsecItfCreate struct {
   197  	Itf IpsecItf `binapi:"ipsec_itf,name=itf" json:"itf,omitempty"`
   198  }
   199  
   200  func (m *IpsecItfCreate) Reset()               { *m = IpsecItfCreate{} }
   201  func (*IpsecItfCreate) GetMessageName() string { return "ipsec_itf_create" }
   202  func (*IpsecItfCreate) GetCrcString() string   { return "6f50b3bc" }
   203  func (*IpsecItfCreate) GetMessageType() api.MessageType {
   204  	return api.RequestMessage
   205  }
   206  
   207  func (m *IpsecItfCreate) Size() (size int) {
   208  	if m == nil {
   209  		return 0
   210  	}
   211  	size += 4 // m.Itf.UserInstance
   212  	size += 1 // m.Itf.Mode
   213  	size += 4 // m.Itf.SwIfIndex
   214  	return size
   215  }
   216  func (m *IpsecItfCreate) Marshal(b []byte) ([]byte, error) {
   217  	if b == nil {
   218  		b = make([]byte, m.Size())
   219  	}
   220  	buf := codec.NewBuffer(b)
   221  	buf.EncodeUint32(m.Itf.UserInstance)
   222  	buf.EncodeUint8(uint8(m.Itf.Mode))
   223  	buf.EncodeUint32(uint32(m.Itf.SwIfIndex))
   224  	return buf.Bytes(), nil
   225  }
   226  func (m *IpsecItfCreate) Unmarshal(b []byte) error {
   227  	buf := codec.NewBuffer(b)
   228  	m.Itf.UserInstance = buf.DecodeUint32()
   229  	m.Itf.Mode = tunnel_types.TunnelMode(buf.DecodeUint8())
   230  	m.Itf.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   231  	return nil
   232  }
   233  
   234  // IpsecItfCreateReply defines message 'ipsec_itf_create_reply'.
   235  type IpsecItfCreateReply struct {
   236  	Retval    int32                          `binapi:"i32,name=retval" json:"retval,omitempty"`
   237  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   238  }
   239  
   240  func (m *IpsecItfCreateReply) Reset()               { *m = IpsecItfCreateReply{} }
   241  func (*IpsecItfCreateReply) GetMessageName() string { return "ipsec_itf_create_reply" }
   242  func (*IpsecItfCreateReply) GetCrcString() string   { return "5383d31f" }
   243  func (*IpsecItfCreateReply) GetMessageType() api.MessageType {
   244  	return api.ReplyMessage
   245  }
   246  
   247  func (m *IpsecItfCreateReply) Size() (size int) {
   248  	if m == nil {
   249  		return 0
   250  	}
   251  	size += 4 // m.Retval
   252  	size += 4 // m.SwIfIndex
   253  	return size
   254  }
   255  func (m *IpsecItfCreateReply) Marshal(b []byte) ([]byte, error) {
   256  	if b == nil {
   257  		b = make([]byte, m.Size())
   258  	}
   259  	buf := codec.NewBuffer(b)
   260  	buf.EncodeInt32(m.Retval)
   261  	buf.EncodeUint32(uint32(m.SwIfIndex))
   262  	return buf.Bytes(), nil
   263  }
   264  func (m *IpsecItfCreateReply) Unmarshal(b []byte) error {
   265  	buf := codec.NewBuffer(b)
   266  	m.Retval = buf.DecodeInt32()
   267  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   268  	return nil
   269  }
   270  
   271  // IpsecItfDelete defines message 'ipsec_itf_delete'.
   272  type IpsecItfDelete struct {
   273  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   274  }
   275  
   276  func (m *IpsecItfDelete) Reset()               { *m = IpsecItfDelete{} }
   277  func (*IpsecItfDelete) GetMessageName() string { return "ipsec_itf_delete" }
   278  func (*IpsecItfDelete) GetCrcString() string   { return "f9e6675e" }
   279  func (*IpsecItfDelete) GetMessageType() api.MessageType {
   280  	return api.RequestMessage
   281  }
   282  
   283  func (m *IpsecItfDelete) Size() (size int) {
   284  	if m == nil {
   285  		return 0
   286  	}
   287  	size += 4 // m.SwIfIndex
   288  	return size
   289  }
   290  func (m *IpsecItfDelete) Marshal(b []byte) ([]byte, error) {
   291  	if b == nil {
   292  		b = make([]byte, m.Size())
   293  	}
   294  	buf := codec.NewBuffer(b)
   295  	buf.EncodeUint32(uint32(m.SwIfIndex))
   296  	return buf.Bytes(), nil
   297  }
   298  func (m *IpsecItfDelete) Unmarshal(b []byte) error {
   299  	buf := codec.NewBuffer(b)
   300  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   301  	return nil
   302  }
   303  
   304  // IpsecItfDeleteReply defines message 'ipsec_itf_delete_reply'.
   305  type IpsecItfDeleteReply struct {
   306  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   307  }
   308  
   309  func (m *IpsecItfDeleteReply) Reset()               { *m = IpsecItfDeleteReply{} }
   310  func (*IpsecItfDeleteReply) GetMessageName() string { return "ipsec_itf_delete_reply" }
   311  func (*IpsecItfDeleteReply) GetCrcString() string   { return "e8d4e804" }
   312  func (*IpsecItfDeleteReply) GetMessageType() api.MessageType {
   313  	return api.ReplyMessage
   314  }
   315  
   316  func (m *IpsecItfDeleteReply) Size() (size int) {
   317  	if m == nil {
   318  		return 0
   319  	}
   320  	size += 4 // m.Retval
   321  	return size
   322  }
   323  func (m *IpsecItfDeleteReply) Marshal(b []byte) ([]byte, error) {
   324  	if b == nil {
   325  		b = make([]byte, m.Size())
   326  	}
   327  	buf := codec.NewBuffer(b)
   328  	buf.EncodeInt32(m.Retval)
   329  	return buf.Bytes(), nil
   330  }
   331  func (m *IpsecItfDeleteReply) Unmarshal(b []byte) error {
   332  	buf := codec.NewBuffer(b)
   333  	m.Retval = buf.DecodeInt32()
   334  	return nil
   335  }
   336  
   337  // IpsecItfDetails defines message 'ipsec_itf_details'.
   338  type IpsecItfDetails struct {
   339  	Itf IpsecItf `binapi:"ipsec_itf,name=itf" json:"itf,omitempty"`
   340  }
   341  
   342  func (m *IpsecItfDetails) Reset()               { *m = IpsecItfDetails{} }
   343  func (*IpsecItfDetails) GetMessageName() string { return "ipsec_itf_details" }
   344  func (*IpsecItfDetails) GetCrcString() string   { return "548a73b8" }
   345  func (*IpsecItfDetails) GetMessageType() api.MessageType {
   346  	return api.ReplyMessage
   347  }
   348  
   349  func (m *IpsecItfDetails) Size() (size int) {
   350  	if m == nil {
   351  		return 0
   352  	}
   353  	size += 4 // m.Itf.UserInstance
   354  	size += 1 // m.Itf.Mode
   355  	size += 4 // m.Itf.SwIfIndex
   356  	return size
   357  }
   358  func (m *IpsecItfDetails) Marshal(b []byte) ([]byte, error) {
   359  	if b == nil {
   360  		b = make([]byte, m.Size())
   361  	}
   362  	buf := codec.NewBuffer(b)
   363  	buf.EncodeUint32(m.Itf.UserInstance)
   364  	buf.EncodeUint8(uint8(m.Itf.Mode))
   365  	buf.EncodeUint32(uint32(m.Itf.SwIfIndex))
   366  	return buf.Bytes(), nil
   367  }
   368  func (m *IpsecItfDetails) Unmarshal(b []byte) error {
   369  	buf := codec.NewBuffer(b)
   370  	m.Itf.UserInstance = buf.DecodeUint32()
   371  	m.Itf.Mode = tunnel_types.TunnelMode(buf.DecodeUint8())
   372  	m.Itf.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   373  	return nil
   374  }
   375  
   376  // IpsecItfDump defines message 'ipsec_itf_dump'.
   377  type IpsecItfDump struct {
   378  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   379  }
   380  
   381  func (m *IpsecItfDump) Reset()               { *m = IpsecItfDump{} }
   382  func (*IpsecItfDump) GetMessageName() string { return "ipsec_itf_dump" }
   383  func (*IpsecItfDump) GetCrcString() string   { return "f9e6675e" }
   384  func (*IpsecItfDump) GetMessageType() api.MessageType {
   385  	return api.RequestMessage
   386  }
   387  
   388  func (m *IpsecItfDump) Size() (size int) {
   389  	if m == nil {
   390  		return 0
   391  	}
   392  	size += 4 // m.SwIfIndex
   393  	return size
   394  }
   395  func (m *IpsecItfDump) Marshal(b []byte) ([]byte, error) {
   396  	if b == nil {
   397  		b = make([]byte, m.Size())
   398  	}
   399  	buf := codec.NewBuffer(b)
   400  	buf.EncodeUint32(uint32(m.SwIfIndex))
   401  	return buf.Bytes(), nil
   402  }
   403  func (m *IpsecItfDump) Unmarshal(b []byte) error {
   404  	buf := codec.NewBuffer(b)
   405  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   406  	return nil
   407  }
   408  
   409  // IpsecSaDetails defines message 'ipsec_sa_details'.
   410  // Deprecated: the message will be removed in the future versions
   411  type IpsecSaDetails struct {
   412  	Entry          ipsec_types.IpsecSadEntry      `binapi:"ipsec_sad_entry,name=entry" json:"entry,omitempty"`
   413  	SwIfIndex      interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   414  	Salt           uint32                         `binapi:"u32,name=salt" json:"salt,omitempty"`
   415  	SeqOutbound    uint64                         `binapi:"u64,name=seq_outbound" json:"seq_outbound,omitempty"`
   416  	LastSeqInbound uint64                         `binapi:"u64,name=last_seq_inbound" json:"last_seq_inbound,omitempty"`
   417  	ReplayWindow   uint64                         `binapi:"u64,name=replay_window" json:"replay_window,omitempty"`
   418  	StatIndex      uint32                         `binapi:"u32,name=stat_index" json:"stat_index,omitempty"`
   419  }
   420  
   421  func (m *IpsecSaDetails) Reset()               { *m = IpsecSaDetails{} }
   422  func (*IpsecSaDetails) GetMessageName() string { return "ipsec_sa_details" }
   423  func (*IpsecSaDetails) GetCrcString() string   { return "345d14a7" }
   424  func (*IpsecSaDetails) GetMessageType() api.MessageType {
   425  	return api.ReplyMessage
   426  }
   427  
   428  func (m *IpsecSaDetails) Size() (size int) {
   429  	if m == nil {
   430  		return 0
   431  	}
   432  	size += 4       // m.Entry.SadID
   433  	size += 4       // m.Entry.Spi
   434  	size += 4       // m.Entry.Protocol
   435  	size += 4       // m.Entry.CryptoAlgorithm
   436  	size += 1       // m.Entry.CryptoKey.Length
   437  	size += 1 * 128 // m.Entry.CryptoKey.Data
   438  	size += 4       // m.Entry.IntegrityAlgorithm
   439  	size += 1       // m.Entry.IntegrityKey.Length
   440  	size += 1 * 128 // m.Entry.IntegrityKey.Data
   441  	size += 4       // m.Entry.Flags
   442  	size += 1       // m.Entry.TunnelSrc.Af
   443  	size += 1 * 16  // m.Entry.TunnelSrc.Un
   444  	size += 1       // m.Entry.TunnelDst.Af
   445  	size += 1 * 16  // m.Entry.TunnelDst.Un
   446  	size += 4       // m.Entry.TxTableID
   447  	size += 4       // m.Entry.Salt
   448  	size += 2       // m.Entry.UDPSrcPort
   449  	size += 2       // m.Entry.UDPDstPort
   450  	size += 4       // m.SwIfIndex
   451  	size += 4       // m.Salt
   452  	size += 8       // m.SeqOutbound
   453  	size += 8       // m.LastSeqInbound
   454  	size += 8       // m.ReplayWindow
   455  	size += 4       // m.StatIndex
   456  	return size
   457  }
   458  func (m *IpsecSaDetails) Marshal(b []byte) ([]byte, error) {
   459  	if b == nil {
   460  		b = make([]byte, m.Size())
   461  	}
   462  	buf := codec.NewBuffer(b)
   463  	buf.EncodeUint32(m.Entry.SadID)
   464  	buf.EncodeUint32(m.Entry.Spi)
   465  	buf.EncodeUint32(uint32(m.Entry.Protocol))
   466  	buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm))
   467  	buf.EncodeUint8(m.Entry.CryptoKey.Length)
   468  	buf.EncodeBytes(m.Entry.CryptoKey.Data, 128)
   469  	buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm))
   470  	buf.EncodeUint8(m.Entry.IntegrityKey.Length)
   471  	buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128)
   472  	buf.EncodeUint32(uint32(m.Entry.Flags))
   473  	buf.EncodeUint8(uint8(m.Entry.TunnelSrc.Af))
   474  	buf.EncodeBytes(m.Entry.TunnelSrc.Un.XXX_UnionData[:], 16)
   475  	buf.EncodeUint8(uint8(m.Entry.TunnelDst.Af))
   476  	buf.EncodeBytes(m.Entry.TunnelDst.Un.XXX_UnionData[:], 16)
   477  	buf.EncodeUint32(m.Entry.TxTableID)
   478  	buf.EncodeUint32(m.Entry.Salt)
   479  	buf.EncodeUint16(m.Entry.UDPSrcPort)
   480  	buf.EncodeUint16(m.Entry.UDPDstPort)
   481  	buf.EncodeUint32(uint32(m.SwIfIndex))
   482  	buf.EncodeUint32(m.Salt)
   483  	buf.EncodeUint64(m.SeqOutbound)
   484  	buf.EncodeUint64(m.LastSeqInbound)
   485  	buf.EncodeUint64(m.ReplayWindow)
   486  	buf.EncodeUint32(m.StatIndex)
   487  	return buf.Bytes(), nil
   488  }
   489  func (m *IpsecSaDetails) Unmarshal(b []byte) error {
   490  	buf := codec.NewBuffer(b)
   491  	m.Entry.SadID = buf.DecodeUint32()
   492  	m.Entry.Spi = buf.DecodeUint32()
   493  	m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32())
   494  	m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32())
   495  	m.Entry.CryptoKey.Length = buf.DecodeUint8()
   496  	m.Entry.CryptoKey.Data = make([]byte, 128)
   497  	copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data)))
   498  	m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32())
   499  	m.Entry.IntegrityKey.Length = buf.DecodeUint8()
   500  	m.Entry.IntegrityKey.Data = make([]byte, 128)
   501  	copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data)))
   502  	m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32())
   503  	m.Entry.TunnelSrc.Af = ip_types.AddressFamily(buf.DecodeUint8())
   504  	copy(m.Entry.TunnelSrc.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   505  	m.Entry.TunnelDst.Af = ip_types.AddressFamily(buf.DecodeUint8())
   506  	copy(m.Entry.TunnelDst.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   507  	m.Entry.TxTableID = buf.DecodeUint32()
   508  	m.Entry.Salt = buf.DecodeUint32()
   509  	m.Entry.UDPSrcPort = buf.DecodeUint16()
   510  	m.Entry.UDPDstPort = buf.DecodeUint16()
   511  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   512  	m.Salt = buf.DecodeUint32()
   513  	m.SeqOutbound = buf.DecodeUint64()
   514  	m.LastSeqInbound = buf.DecodeUint64()
   515  	m.ReplayWindow = buf.DecodeUint64()
   516  	m.StatIndex = buf.DecodeUint32()
   517  	return nil
   518  }
   519  
   520  // IpsecSaDump defines message 'ipsec_sa_dump'.
   521  // Deprecated: the message will be removed in the future versions
   522  type IpsecSaDump struct {
   523  	SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"`
   524  }
   525  
   526  func (m *IpsecSaDump) Reset()               { *m = IpsecSaDump{} }
   527  func (*IpsecSaDump) GetMessageName() string { return "ipsec_sa_dump" }
   528  func (*IpsecSaDump) GetCrcString() string   { return "2076c2f4" }
   529  func (*IpsecSaDump) GetMessageType() api.MessageType {
   530  	return api.RequestMessage
   531  }
   532  
   533  func (m *IpsecSaDump) Size() (size int) {
   534  	if m == nil {
   535  		return 0
   536  	}
   537  	size += 4 // m.SaID
   538  	return size
   539  }
   540  func (m *IpsecSaDump) Marshal(b []byte) ([]byte, error) {
   541  	if b == nil {
   542  		b = make([]byte, m.Size())
   543  	}
   544  	buf := codec.NewBuffer(b)
   545  	buf.EncodeUint32(m.SaID)
   546  	return buf.Bytes(), nil
   547  }
   548  func (m *IpsecSaDump) Unmarshal(b []byte) error {
   549  	buf := codec.NewBuffer(b)
   550  	m.SaID = buf.DecodeUint32()
   551  	return nil
   552  }
   553  
   554  // IpsecSaV2Details defines message 'ipsec_sa_v2_details'.
   555  type IpsecSaV2Details struct {
   556  	Entry          ipsec_types.IpsecSadEntryV2    `binapi:"ipsec_sad_entry_v2,name=entry" json:"entry,omitempty"`
   557  	SwIfIndex      interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   558  	Salt           uint32                         `binapi:"u32,name=salt" json:"salt,omitempty"`
   559  	SeqOutbound    uint64                         `binapi:"u64,name=seq_outbound" json:"seq_outbound,omitempty"`
   560  	LastSeqInbound uint64                         `binapi:"u64,name=last_seq_inbound" json:"last_seq_inbound,omitempty"`
   561  	ReplayWindow   uint64                         `binapi:"u64,name=replay_window" json:"replay_window,omitempty"`
   562  	StatIndex      uint32                         `binapi:"u32,name=stat_index" json:"stat_index,omitempty"`
   563  }
   564  
   565  func (m *IpsecSaV2Details) Reset()               { *m = IpsecSaV2Details{} }
   566  func (*IpsecSaV2Details) GetMessageName() string { return "ipsec_sa_v2_details" }
   567  func (*IpsecSaV2Details) GetCrcString() string   { return "e2130051" }
   568  func (*IpsecSaV2Details) GetMessageType() api.MessageType {
   569  	return api.ReplyMessage
   570  }
   571  
   572  func (m *IpsecSaV2Details) Size() (size int) {
   573  	if m == nil {
   574  		return 0
   575  	}
   576  	size += 4       // m.Entry.SadID
   577  	size += 4       // m.Entry.Spi
   578  	size += 4       // m.Entry.Protocol
   579  	size += 4       // m.Entry.CryptoAlgorithm
   580  	size += 1       // m.Entry.CryptoKey.Length
   581  	size += 1 * 128 // m.Entry.CryptoKey.Data
   582  	size += 4       // m.Entry.IntegrityAlgorithm
   583  	size += 1       // m.Entry.IntegrityKey.Length
   584  	size += 1 * 128 // m.Entry.IntegrityKey.Data
   585  	size += 4       // m.Entry.Flags
   586  	size += 1       // m.Entry.TunnelSrc.Af
   587  	size += 1 * 16  // m.Entry.TunnelSrc.Un
   588  	size += 1       // m.Entry.TunnelDst.Af
   589  	size += 1 * 16  // m.Entry.TunnelDst.Un
   590  	size += 1       // m.Entry.TunnelFlags
   591  	size += 1       // m.Entry.Dscp
   592  	size += 4       // m.Entry.TxTableID
   593  	size += 4       // m.Entry.Salt
   594  	size += 2       // m.Entry.UDPSrcPort
   595  	size += 2       // m.Entry.UDPDstPort
   596  	size += 4       // m.SwIfIndex
   597  	size += 4       // m.Salt
   598  	size += 8       // m.SeqOutbound
   599  	size += 8       // m.LastSeqInbound
   600  	size += 8       // m.ReplayWindow
   601  	size += 4       // m.StatIndex
   602  	return size
   603  }
   604  func (m *IpsecSaV2Details) Marshal(b []byte) ([]byte, error) {
   605  	if b == nil {
   606  		b = make([]byte, m.Size())
   607  	}
   608  	buf := codec.NewBuffer(b)
   609  	buf.EncodeUint32(m.Entry.SadID)
   610  	buf.EncodeUint32(m.Entry.Spi)
   611  	buf.EncodeUint32(uint32(m.Entry.Protocol))
   612  	buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm))
   613  	buf.EncodeUint8(m.Entry.CryptoKey.Length)
   614  	buf.EncodeBytes(m.Entry.CryptoKey.Data, 128)
   615  	buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm))
   616  	buf.EncodeUint8(m.Entry.IntegrityKey.Length)
   617  	buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128)
   618  	buf.EncodeUint32(uint32(m.Entry.Flags))
   619  	buf.EncodeUint8(uint8(m.Entry.TunnelSrc.Af))
   620  	buf.EncodeBytes(m.Entry.TunnelSrc.Un.XXX_UnionData[:], 16)
   621  	buf.EncodeUint8(uint8(m.Entry.TunnelDst.Af))
   622  	buf.EncodeBytes(m.Entry.TunnelDst.Un.XXX_UnionData[:], 16)
   623  	buf.EncodeUint8(uint8(m.Entry.TunnelFlags))
   624  	buf.EncodeUint8(uint8(m.Entry.Dscp))
   625  	buf.EncodeUint32(m.Entry.TxTableID)
   626  	buf.EncodeUint32(m.Entry.Salt)
   627  	buf.EncodeUint16(m.Entry.UDPSrcPort)
   628  	buf.EncodeUint16(m.Entry.UDPDstPort)
   629  	buf.EncodeUint32(uint32(m.SwIfIndex))
   630  	buf.EncodeUint32(m.Salt)
   631  	buf.EncodeUint64(m.SeqOutbound)
   632  	buf.EncodeUint64(m.LastSeqInbound)
   633  	buf.EncodeUint64(m.ReplayWindow)
   634  	buf.EncodeUint32(m.StatIndex)
   635  	return buf.Bytes(), nil
   636  }
   637  func (m *IpsecSaV2Details) Unmarshal(b []byte) error {
   638  	buf := codec.NewBuffer(b)
   639  	m.Entry.SadID = buf.DecodeUint32()
   640  	m.Entry.Spi = buf.DecodeUint32()
   641  	m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32())
   642  	m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32())
   643  	m.Entry.CryptoKey.Length = buf.DecodeUint8()
   644  	m.Entry.CryptoKey.Data = make([]byte, 128)
   645  	copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data)))
   646  	m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32())
   647  	m.Entry.IntegrityKey.Length = buf.DecodeUint8()
   648  	m.Entry.IntegrityKey.Data = make([]byte, 128)
   649  	copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data)))
   650  	m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32())
   651  	m.Entry.TunnelSrc.Af = ip_types.AddressFamily(buf.DecodeUint8())
   652  	copy(m.Entry.TunnelSrc.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   653  	m.Entry.TunnelDst.Af = ip_types.AddressFamily(buf.DecodeUint8())
   654  	copy(m.Entry.TunnelDst.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   655  	m.Entry.TunnelFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8())
   656  	m.Entry.Dscp = ip_types.IPDscp(buf.DecodeUint8())
   657  	m.Entry.TxTableID = buf.DecodeUint32()
   658  	m.Entry.Salt = buf.DecodeUint32()
   659  	m.Entry.UDPSrcPort = buf.DecodeUint16()
   660  	m.Entry.UDPDstPort = buf.DecodeUint16()
   661  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   662  	m.Salt = buf.DecodeUint32()
   663  	m.SeqOutbound = buf.DecodeUint64()
   664  	m.LastSeqInbound = buf.DecodeUint64()
   665  	m.ReplayWindow = buf.DecodeUint64()
   666  	m.StatIndex = buf.DecodeUint32()
   667  	return nil
   668  }
   669  
   670  // IpsecSaV2Dump defines message 'ipsec_sa_v2_dump'.
   671  type IpsecSaV2Dump struct {
   672  	SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"`
   673  }
   674  
   675  func (m *IpsecSaV2Dump) Reset()               { *m = IpsecSaV2Dump{} }
   676  func (*IpsecSaV2Dump) GetMessageName() string { return "ipsec_sa_v2_dump" }
   677  func (*IpsecSaV2Dump) GetCrcString() string   { return "2076c2f4" }
   678  func (*IpsecSaV2Dump) GetMessageType() api.MessageType {
   679  	return api.RequestMessage
   680  }
   681  
   682  func (m *IpsecSaV2Dump) Size() (size int) {
   683  	if m == nil {
   684  		return 0
   685  	}
   686  	size += 4 // m.SaID
   687  	return size
   688  }
   689  func (m *IpsecSaV2Dump) Marshal(b []byte) ([]byte, error) {
   690  	if b == nil {
   691  		b = make([]byte, m.Size())
   692  	}
   693  	buf := codec.NewBuffer(b)
   694  	buf.EncodeUint32(m.SaID)
   695  	return buf.Bytes(), nil
   696  }
   697  func (m *IpsecSaV2Dump) Unmarshal(b []byte) error {
   698  	buf := codec.NewBuffer(b)
   699  	m.SaID = buf.DecodeUint32()
   700  	return nil
   701  }
   702  
   703  // IpsecSaV3Details defines message 'ipsec_sa_v3_details'.
   704  type IpsecSaV3Details struct {
   705  	Entry          ipsec_types.IpsecSadEntryV3    `binapi:"ipsec_sad_entry_v3,name=entry" json:"entry,omitempty"`
   706  	SwIfIndex      interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   707  	SeqOutbound    uint64                         `binapi:"u64,name=seq_outbound" json:"seq_outbound,omitempty"`
   708  	LastSeqInbound uint64                         `binapi:"u64,name=last_seq_inbound" json:"last_seq_inbound,omitempty"`
   709  	ReplayWindow   uint64                         `binapi:"u64,name=replay_window" json:"replay_window,omitempty"`
   710  	StatIndex      uint32                         `binapi:"u32,name=stat_index" json:"stat_index,omitempty"`
   711  }
   712  
   713  func (m *IpsecSaV3Details) Reset()               { *m = IpsecSaV3Details{} }
   714  func (*IpsecSaV3Details) GetMessageName() string { return "ipsec_sa_v3_details" }
   715  func (*IpsecSaV3Details) GetCrcString() string   { return "2fc991ee" }
   716  func (*IpsecSaV3Details) GetMessageType() api.MessageType {
   717  	return api.ReplyMessage
   718  }
   719  
   720  func (m *IpsecSaV3Details) Size() (size int) {
   721  	if m == nil {
   722  		return 0
   723  	}
   724  	size += 4       // m.Entry.SadID
   725  	size += 4       // m.Entry.Spi
   726  	size += 4       // m.Entry.Protocol
   727  	size += 4       // m.Entry.CryptoAlgorithm
   728  	size += 1       // m.Entry.CryptoKey.Length
   729  	size += 1 * 128 // m.Entry.CryptoKey.Data
   730  	size += 4       // m.Entry.IntegrityAlgorithm
   731  	size += 1       // m.Entry.IntegrityKey.Length
   732  	size += 1 * 128 // m.Entry.IntegrityKey.Data
   733  	size += 4       // m.Entry.Flags
   734  	size += 4       // m.Entry.Tunnel.Instance
   735  	size += 1       // m.Entry.Tunnel.Src.Af
   736  	size += 1 * 16  // m.Entry.Tunnel.Src.Un
   737  	size += 1       // m.Entry.Tunnel.Dst.Af
   738  	size += 1 * 16  // m.Entry.Tunnel.Dst.Un
   739  	size += 4       // m.Entry.Tunnel.SwIfIndex
   740  	size += 4       // m.Entry.Tunnel.TableID
   741  	size += 1       // m.Entry.Tunnel.EncapDecapFlags
   742  	size += 1       // m.Entry.Tunnel.Mode
   743  	size += 1       // m.Entry.Tunnel.Flags
   744  	size += 1       // m.Entry.Tunnel.Dscp
   745  	size += 1       // m.Entry.Tunnel.HopLimit
   746  	size += 4       // m.Entry.Salt
   747  	size += 2       // m.Entry.UDPSrcPort
   748  	size += 2       // m.Entry.UDPDstPort
   749  	size += 4       // m.SwIfIndex
   750  	size += 8       // m.SeqOutbound
   751  	size += 8       // m.LastSeqInbound
   752  	size += 8       // m.ReplayWindow
   753  	size += 4       // m.StatIndex
   754  	return size
   755  }
   756  func (m *IpsecSaV3Details) Marshal(b []byte) ([]byte, error) {
   757  	if b == nil {
   758  		b = make([]byte, m.Size())
   759  	}
   760  	buf := codec.NewBuffer(b)
   761  	buf.EncodeUint32(m.Entry.SadID)
   762  	buf.EncodeUint32(m.Entry.Spi)
   763  	buf.EncodeUint32(uint32(m.Entry.Protocol))
   764  	buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm))
   765  	buf.EncodeUint8(m.Entry.CryptoKey.Length)
   766  	buf.EncodeBytes(m.Entry.CryptoKey.Data, 128)
   767  	buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm))
   768  	buf.EncodeUint8(m.Entry.IntegrityKey.Length)
   769  	buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128)
   770  	buf.EncodeUint32(uint32(m.Entry.Flags))
   771  	buf.EncodeUint32(m.Entry.Tunnel.Instance)
   772  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Src.Af))
   773  	buf.EncodeBytes(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], 16)
   774  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Dst.Af))
   775  	buf.EncodeBytes(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], 16)
   776  	buf.EncodeUint32(uint32(m.Entry.Tunnel.SwIfIndex))
   777  	buf.EncodeUint32(m.Entry.Tunnel.TableID)
   778  	buf.EncodeUint8(uint8(m.Entry.Tunnel.EncapDecapFlags))
   779  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Mode))
   780  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Flags))
   781  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Dscp))
   782  	buf.EncodeUint8(m.Entry.Tunnel.HopLimit)
   783  	buf.EncodeUint32(m.Entry.Salt)
   784  	buf.EncodeUint16(m.Entry.UDPSrcPort)
   785  	buf.EncodeUint16(m.Entry.UDPDstPort)
   786  	buf.EncodeUint32(uint32(m.SwIfIndex))
   787  	buf.EncodeUint64(m.SeqOutbound)
   788  	buf.EncodeUint64(m.LastSeqInbound)
   789  	buf.EncodeUint64(m.ReplayWindow)
   790  	buf.EncodeUint32(m.StatIndex)
   791  	return buf.Bytes(), nil
   792  }
   793  func (m *IpsecSaV3Details) Unmarshal(b []byte) error {
   794  	buf := codec.NewBuffer(b)
   795  	m.Entry.SadID = buf.DecodeUint32()
   796  	m.Entry.Spi = buf.DecodeUint32()
   797  	m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32())
   798  	m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32())
   799  	m.Entry.CryptoKey.Length = buf.DecodeUint8()
   800  	m.Entry.CryptoKey.Data = make([]byte, 128)
   801  	copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data)))
   802  	m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32())
   803  	m.Entry.IntegrityKey.Length = buf.DecodeUint8()
   804  	m.Entry.IntegrityKey.Data = make([]byte, 128)
   805  	copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data)))
   806  	m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32())
   807  	m.Entry.Tunnel.Instance = buf.DecodeUint32()
   808  	m.Entry.Tunnel.Src.Af = ip_types.AddressFamily(buf.DecodeUint8())
   809  	copy(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   810  	m.Entry.Tunnel.Dst.Af = ip_types.AddressFamily(buf.DecodeUint8())
   811  	copy(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   812  	m.Entry.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   813  	m.Entry.Tunnel.TableID = buf.DecodeUint32()
   814  	m.Entry.Tunnel.EncapDecapFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8())
   815  	m.Entry.Tunnel.Mode = tunnel_types.TunnelMode(buf.DecodeUint8())
   816  	m.Entry.Tunnel.Flags = tunnel_types.TunnelFlags(buf.DecodeUint8())
   817  	m.Entry.Tunnel.Dscp = ip_types.IPDscp(buf.DecodeUint8())
   818  	m.Entry.Tunnel.HopLimit = buf.DecodeUint8()
   819  	m.Entry.Salt = buf.DecodeUint32()
   820  	m.Entry.UDPSrcPort = buf.DecodeUint16()
   821  	m.Entry.UDPDstPort = buf.DecodeUint16()
   822  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   823  	m.SeqOutbound = buf.DecodeUint64()
   824  	m.LastSeqInbound = buf.DecodeUint64()
   825  	m.ReplayWindow = buf.DecodeUint64()
   826  	m.StatIndex = buf.DecodeUint32()
   827  	return nil
   828  }
   829  
   830  // IpsecSaV3Dump defines message 'ipsec_sa_v3_dump'.
   831  type IpsecSaV3Dump struct {
   832  	SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"`
   833  }
   834  
   835  func (m *IpsecSaV3Dump) Reset()               { *m = IpsecSaV3Dump{} }
   836  func (*IpsecSaV3Dump) GetMessageName() string { return "ipsec_sa_v3_dump" }
   837  func (*IpsecSaV3Dump) GetCrcString() string   { return "2076c2f4" }
   838  func (*IpsecSaV3Dump) GetMessageType() api.MessageType {
   839  	return api.RequestMessage
   840  }
   841  
   842  func (m *IpsecSaV3Dump) Size() (size int) {
   843  	if m == nil {
   844  		return 0
   845  	}
   846  	size += 4 // m.SaID
   847  	return size
   848  }
   849  func (m *IpsecSaV3Dump) Marshal(b []byte) ([]byte, error) {
   850  	if b == nil {
   851  		b = make([]byte, m.Size())
   852  	}
   853  	buf := codec.NewBuffer(b)
   854  	buf.EncodeUint32(m.SaID)
   855  	return buf.Bytes(), nil
   856  }
   857  func (m *IpsecSaV3Dump) Unmarshal(b []byte) error {
   858  	buf := codec.NewBuffer(b)
   859  	m.SaID = buf.DecodeUint32()
   860  	return nil
   861  }
   862  
   863  // IpsecSadEntryAdd defines message 'ipsec_sad_entry_add'.
   864  type IpsecSadEntryAdd struct {
   865  	Entry ipsec_types.IpsecSadEntryV3 `binapi:"ipsec_sad_entry_v3,name=entry" json:"entry,omitempty"`
   866  }
   867  
   868  func (m *IpsecSadEntryAdd) Reset()               { *m = IpsecSadEntryAdd{} }
   869  func (*IpsecSadEntryAdd) GetMessageName() string { return "ipsec_sad_entry_add" }
   870  func (*IpsecSadEntryAdd) GetCrcString() string   { return "50229353" }
   871  func (*IpsecSadEntryAdd) GetMessageType() api.MessageType {
   872  	return api.RequestMessage
   873  }
   874  
   875  func (m *IpsecSadEntryAdd) Size() (size int) {
   876  	if m == nil {
   877  		return 0
   878  	}
   879  	size += 4       // m.Entry.SadID
   880  	size += 4       // m.Entry.Spi
   881  	size += 4       // m.Entry.Protocol
   882  	size += 4       // m.Entry.CryptoAlgorithm
   883  	size += 1       // m.Entry.CryptoKey.Length
   884  	size += 1 * 128 // m.Entry.CryptoKey.Data
   885  	size += 4       // m.Entry.IntegrityAlgorithm
   886  	size += 1       // m.Entry.IntegrityKey.Length
   887  	size += 1 * 128 // m.Entry.IntegrityKey.Data
   888  	size += 4       // m.Entry.Flags
   889  	size += 4       // m.Entry.Tunnel.Instance
   890  	size += 1       // m.Entry.Tunnel.Src.Af
   891  	size += 1 * 16  // m.Entry.Tunnel.Src.Un
   892  	size += 1       // m.Entry.Tunnel.Dst.Af
   893  	size += 1 * 16  // m.Entry.Tunnel.Dst.Un
   894  	size += 4       // m.Entry.Tunnel.SwIfIndex
   895  	size += 4       // m.Entry.Tunnel.TableID
   896  	size += 1       // m.Entry.Tunnel.EncapDecapFlags
   897  	size += 1       // m.Entry.Tunnel.Mode
   898  	size += 1       // m.Entry.Tunnel.Flags
   899  	size += 1       // m.Entry.Tunnel.Dscp
   900  	size += 1       // m.Entry.Tunnel.HopLimit
   901  	size += 4       // m.Entry.Salt
   902  	size += 2       // m.Entry.UDPSrcPort
   903  	size += 2       // m.Entry.UDPDstPort
   904  	return size
   905  }
   906  func (m *IpsecSadEntryAdd) Marshal(b []byte) ([]byte, error) {
   907  	if b == nil {
   908  		b = make([]byte, m.Size())
   909  	}
   910  	buf := codec.NewBuffer(b)
   911  	buf.EncodeUint32(m.Entry.SadID)
   912  	buf.EncodeUint32(m.Entry.Spi)
   913  	buf.EncodeUint32(uint32(m.Entry.Protocol))
   914  	buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm))
   915  	buf.EncodeUint8(m.Entry.CryptoKey.Length)
   916  	buf.EncodeBytes(m.Entry.CryptoKey.Data, 128)
   917  	buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm))
   918  	buf.EncodeUint8(m.Entry.IntegrityKey.Length)
   919  	buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128)
   920  	buf.EncodeUint32(uint32(m.Entry.Flags))
   921  	buf.EncodeUint32(m.Entry.Tunnel.Instance)
   922  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Src.Af))
   923  	buf.EncodeBytes(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], 16)
   924  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Dst.Af))
   925  	buf.EncodeBytes(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], 16)
   926  	buf.EncodeUint32(uint32(m.Entry.Tunnel.SwIfIndex))
   927  	buf.EncodeUint32(m.Entry.Tunnel.TableID)
   928  	buf.EncodeUint8(uint8(m.Entry.Tunnel.EncapDecapFlags))
   929  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Mode))
   930  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Flags))
   931  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Dscp))
   932  	buf.EncodeUint8(m.Entry.Tunnel.HopLimit)
   933  	buf.EncodeUint32(m.Entry.Salt)
   934  	buf.EncodeUint16(m.Entry.UDPSrcPort)
   935  	buf.EncodeUint16(m.Entry.UDPDstPort)
   936  	return buf.Bytes(), nil
   937  }
   938  func (m *IpsecSadEntryAdd) Unmarshal(b []byte) error {
   939  	buf := codec.NewBuffer(b)
   940  	m.Entry.SadID = buf.DecodeUint32()
   941  	m.Entry.Spi = buf.DecodeUint32()
   942  	m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32())
   943  	m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32())
   944  	m.Entry.CryptoKey.Length = buf.DecodeUint8()
   945  	m.Entry.CryptoKey.Data = make([]byte, 128)
   946  	copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data)))
   947  	m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32())
   948  	m.Entry.IntegrityKey.Length = buf.DecodeUint8()
   949  	m.Entry.IntegrityKey.Data = make([]byte, 128)
   950  	copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data)))
   951  	m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32())
   952  	m.Entry.Tunnel.Instance = buf.DecodeUint32()
   953  	m.Entry.Tunnel.Src.Af = ip_types.AddressFamily(buf.DecodeUint8())
   954  	copy(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   955  	m.Entry.Tunnel.Dst.Af = ip_types.AddressFamily(buf.DecodeUint8())
   956  	copy(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   957  	m.Entry.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   958  	m.Entry.Tunnel.TableID = buf.DecodeUint32()
   959  	m.Entry.Tunnel.EncapDecapFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8())
   960  	m.Entry.Tunnel.Mode = tunnel_types.TunnelMode(buf.DecodeUint8())
   961  	m.Entry.Tunnel.Flags = tunnel_types.TunnelFlags(buf.DecodeUint8())
   962  	m.Entry.Tunnel.Dscp = ip_types.IPDscp(buf.DecodeUint8())
   963  	m.Entry.Tunnel.HopLimit = buf.DecodeUint8()
   964  	m.Entry.Salt = buf.DecodeUint32()
   965  	m.Entry.UDPSrcPort = buf.DecodeUint16()
   966  	m.Entry.UDPDstPort = buf.DecodeUint16()
   967  	return nil
   968  }
   969  
   970  // IpsecSadEntryAddDel defines message 'ipsec_sad_entry_add_del'.
   971  // Deprecated: the message will be removed in the future versions
   972  type IpsecSadEntryAddDel struct {
   973  	IsAdd bool                      `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   974  	Entry ipsec_types.IpsecSadEntry `binapi:"ipsec_sad_entry,name=entry" json:"entry,omitempty"`
   975  }
   976  
   977  func (m *IpsecSadEntryAddDel) Reset()               { *m = IpsecSadEntryAddDel{} }
   978  func (*IpsecSadEntryAddDel) GetMessageName() string { return "ipsec_sad_entry_add_del" }
   979  func (*IpsecSadEntryAddDel) GetCrcString() string   { return "ab64b5c6" }
   980  func (*IpsecSadEntryAddDel) GetMessageType() api.MessageType {
   981  	return api.RequestMessage
   982  }
   983  
   984  func (m *IpsecSadEntryAddDel) Size() (size int) {
   985  	if m == nil {
   986  		return 0
   987  	}
   988  	size += 1       // m.IsAdd
   989  	size += 4       // m.Entry.SadID
   990  	size += 4       // m.Entry.Spi
   991  	size += 4       // m.Entry.Protocol
   992  	size += 4       // m.Entry.CryptoAlgorithm
   993  	size += 1       // m.Entry.CryptoKey.Length
   994  	size += 1 * 128 // m.Entry.CryptoKey.Data
   995  	size += 4       // m.Entry.IntegrityAlgorithm
   996  	size += 1       // m.Entry.IntegrityKey.Length
   997  	size += 1 * 128 // m.Entry.IntegrityKey.Data
   998  	size += 4       // m.Entry.Flags
   999  	size += 1       // m.Entry.TunnelSrc.Af
  1000  	size += 1 * 16  // m.Entry.TunnelSrc.Un
  1001  	size += 1       // m.Entry.TunnelDst.Af
  1002  	size += 1 * 16  // m.Entry.TunnelDst.Un
  1003  	size += 4       // m.Entry.TxTableID
  1004  	size += 4       // m.Entry.Salt
  1005  	size += 2       // m.Entry.UDPSrcPort
  1006  	size += 2       // m.Entry.UDPDstPort
  1007  	return size
  1008  }
  1009  func (m *IpsecSadEntryAddDel) Marshal(b []byte) ([]byte, error) {
  1010  	if b == nil {
  1011  		b = make([]byte, m.Size())
  1012  	}
  1013  	buf := codec.NewBuffer(b)
  1014  	buf.EncodeBool(m.IsAdd)
  1015  	buf.EncodeUint32(m.Entry.SadID)
  1016  	buf.EncodeUint32(m.Entry.Spi)
  1017  	buf.EncodeUint32(uint32(m.Entry.Protocol))
  1018  	buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm))
  1019  	buf.EncodeUint8(m.Entry.CryptoKey.Length)
  1020  	buf.EncodeBytes(m.Entry.CryptoKey.Data, 128)
  1021  	buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm))
  1022  	buf.EncodeUint8(m.Entry.IntegrityKey.Length)
  1023  	buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128)
  1024  	buf.EncodeUint32(uint32(m.Entry.Flags))
  1025  	buf.EncodeUint8(uint8(m.Entry.TunnelSrc.Af))
  1026  	buf.EncodeBytes(m.Entry.TunnelSrc.Un.XXX_UnionData[:], 16)
  1027  	buf.EncodeUint8(uint8(m.Entry.TunnelDst.Af))
  1028  	buf.EncodeBytes(m.Entry.TunnelDst.Un.XXX_UnionData[:], 16)
  1029  	buf.EncodeUint32(m.Entry.TxTableID)
  1030  	buf.EncodeUint32(m.Entry.Salt)
  1031  	buf.EncodeUint16(m.Entry.UDPSrcPort)
  1032  	buf.EncodeUint16(m.Entry.UDPDstPort)
  1033  	return buf.Bytes(), nil
  1034  }
  1035  func (m *IpsecSadEntryAddDel) Unmarshal(b []byte) error {
  1036  	buf := codec.NewBuffer(b)
  1037  	m.IsAdd = buf.DecodeBool()
  1038  	m.Entry.SadID = buf.DecodeUint32()
  1039  	m.Entry.Spi = buf.DecodeUint32()
  1040  	m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32())
  1041  	m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32())
  1042  	m.Entry.CryptoKey.Length = buf.DecodeUint8()
  1043  	m.Entry.CryptoKey.Data = make([]byte, 128)
  1044  	copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data)))
  1045  	m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32())
  1046  	m.Entry.IntegrityKey.Length = buf.DecodeUint8()
  1047  	m.Entry.IntegrityKey.Data = make([]byte, 128)
  1048  	copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data)))
  1049  	m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32())
  1050  	m.Entry.TunnelSrc.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1051  	copy(m.Entry.TunnelSrc.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1052  	m.Entry.TunnelDst.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1053  	copy(m.Entry.TunnelDst.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1054  	m.Entry.TxTableID = buf.DecodeUint32()
  1055  	m.Entry.Salt = buf.DecodeUint32()
  1056  	m.Entry.UDPSrcPort = buf.DecodeUint16()
  1057  	m.Entry.UDPDstPort = buf.DecodeUint16()
  1058  	return nil
  1059  }
  1060  
  1061  // IpsecSadEntryAddDelReply defines message 'ipsec_sad_entry_add_del_reply'.
  1062  // Deprecated: the message will be removed in the future versions
  1063  type IpsecSadEntryAddDelReply struct {
  1064  	Retval    int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  1065  	StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"`
  1066  }
  1067  
  1068  func (m *IpsecSadEntryAddDelReply) Reset()               { *m = IpsecSadEntryAddDelReply{} }
  1069  func (*IpsecSadEntryAddDelReply) GetMessageName() string { return "ipsec_sad_entry_add_del_reply" }
  1070  func (*IpsecSadEntryAddDelReply) GetCrcString() string   { return "9ffac24b" }
  1071  func (*IpsecSadEntryAddDelReply) GetMessageType() api.MessageType {
  1072  	return api.ReplyMessage
  1073  }
  1074  
  1075  func (m *IpsecSadEntryAddDelReply) Size() (size int) {
  1076  	if m == nil {
  1077  		return 0
  1078  	}
  1079  	size += 4 // m.Retval
  1080  	size += 4 // m.StatIndex
  1081  	return size
  1082  }
  1083  func (m *IpsecSadEntryAddDelReply) Marshal(b []byte) ([]byte, error) {
  1084  	if b == nil {
  1085  		b = make([]byte, m.Size())
  1086  	}
  1087  	buf := codec.NewBuffer(b)
  1088  	buf.EncodeInt32(m.Retval)
  1089  	buf.EncodeUint32(m.StatIndex)
  1090  	return buf.Bytes(), nil
  1091  }
  1092  func (m *IpsecSadEntryAddDelReply) Unmarshal(b []byte) error {
  1093  	buf := codec.NewBuffer(b)
  1094  	m.Retval = buf.DecodeInt32()
  1095  	m.StatIndex = buf.DecodeUint32()
  1096  	return nil
  1097  }
  1098  
  1099  // IpsecSadEntryAddDelV2 defines message 'ipsec_sad_entry_add_del_v2'.
  1100  type IpsecSadEntryAddDelV2 struct {
  1101  	IsAdd bool                        `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1102  	Entry ipsec_types.IpsecSadEntryV2 `binapi:"ipsec_sad_entry_v2,name=entry" json:"entry,omitempty"`
  1103  }
  1104  
  1105  func (m *IpsecSadEntryAddDelV2) Reset()               { *m = IpsecSadEntryAddDelV2{} }
  1106  func (*IpsecSadEntryAddDelV2) GetMessageName() string { return "ipsec_sad_entry_add_del_v2" }
  1107  func (*IpsecSadEntryAddDelV2) GetCrcString() string   { return "aca78b27" }
  1108  func (*IpsecSadEntryAddDelV2) GetMessageType() api.MessageType {
  1109  	return api.RequestMessage
  1110  }
  1111  
  1112  func (m *IpsecSadEntryAddDelV2) Size() (size int) {
  1113  	if m == nil {
  1114  		return 0
  1115  	}
  1116  	size += 1       // m.IsAdd
  1117  	size += 4       // m.Entry.SadID
  1118  	size += 4       // m.Entry.Spi
  1119  	size += 4       // m.Entry.Protocol
  1120  	size += 4       // m.Entry.CryptoAlgorithm
  1121  	size += 1       // m.Entry.CryptoKey.Length
  1122  	size += 1 * 128 // m.Entry.CryptoKey.Data
  1123  	size += 4       // m.Entry.IntegrityAlgorithm
  1124  	size += 1       // m.Entry.IntegrityKey.Length
  1125  	size += 1 * 128 // m.Entry.IntegrityKey.Data
  1126  	size += 4       // m.Entry.Flags
  1127  	size += 1       // m.Entry.TunnelSrc.Af
  1128  	size += 1 * 16  // m.Entry.TunnelSrc.Un
  1129  	size += 1       // m.Entry.TunnelDst.Af
  1130  	size += 1 * 16  // m.Entry.TunnelDst.Un
  1131  	size += 1       // m.Entry.TunnelFlags
  1132  	size += 1       // m.Entry.Dscp
  1133  	size += 4       // m.Entry.TxTableID
  1134  	size += 4       // m.Entry.Salt
  1135  	size += 2       // m.Entry.UDPSrcPort
  1136  	size += 2       // m.Entry.UDPDstPort
  1137  	return size
  1138  }
  1139  func (m *IpsecSadEntryAddDelV2) Marshal(b []byte) ([]byte, error) {
  1140  	if b == nil {
  1141  		b = make([]byte, m.Size())
  1142  	}
  1143  	buf := codec.NewBuffer(b)
  1144  	buf.EncodeBool(m.IsAdd)
  1145  	buf.EncodeUint32(m.Entry.SadID)
  1146  	buf.EncodeUint32(m.Entry.Spi)
  1147  	buf.EncodeUint32(uint32(m.Entry.Protocol))
  1148  	buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm))
  1149  	buf.EncodeUint8(m.Entry.CryptoKey.Length)
  1150  	buf.EncodeBytes(m.Entry.CryptoKey.Data, 128)
  1151  	buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm))
  1152  	buf.EncodeUint8(m.Entry.IntegrityKey.Length)
  1153  	buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128)
  1154  	buf.EncodeUint32(uint32(m.Entry.Flags))
  1155  	buf.EncodeUint8(uint8(m.Entry.TunnelSrc.Af))
  1156  	buf.EncodeBytes(m.Entry.TunnelSrc.Un.XXX_UnionData[:], 16)
  1157  	buf.EncodeUint8(uint8(m.Entry.TunnelDst.Af))
  1158  	buf.EncodeBytes(m.Entry.TunnelDst.Un.XXX_UnionData[:], 16)
  1159  	buf.EncodeUint8(uint8(m.Entry.TunnelFlags))
  1160  	buf.EncodeUint8(uint8(m.Entry.Dscp))
  1161  	buf.EncodeUint32(m.Entry.TxTableID)
  1162  	buf.EncodeUint32(m.Entry.Salt)
  1163  	buf.EncodeUint16(m.Entry.UDPSrcPort)
  1164  	buf.EncodeUint16(m.Entry.UDPDstPort)
  1165  	return buf.Bytes(), nil
  1166  }
  1167  func (m *IpsecSadEntryAddDelV2) Unmarshal(b []byte) error {
  1168  	buf := codec.NewBuffer(b)
  1169  	m.IsAdd = buf.DecodeBool()
  1170  	m.Entry.SadID = buf.DecodeUint32()
  1171  	m.Entry.Spi = buf.DecodeUint32()
  1172  	m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32())
  1173  	m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32())
  1174  	m.Entry.CryptoKey.Length = buf.DecodeUint8()
  1175  	m.Entry.CryptoKey.Data = make([]byte, 128)
  1176  	copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data)))
  1177  	m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32())
  1178  	m.Entry.IntegrityKey.Length = buf.DecodeUint8()
  1179  	m.Entry.IntegrityKey.Data = make([]byte, 128)
  1180  	copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data)))
  1181  	m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32())
  1182  	m.Entry.TunnelSrc.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1183  	copy(m.Entry.TunnelSrc.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1184  	m.Entry.TunnelDst.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1185  	copy(m.Entry.TunnelDst.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1186  	m.Entry.TunnelFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8())
  1187  	m.Entry.Dscp = ip_types.IPDscp(buf.DecodeUint8())
  1188  	m.Entry.TxTableID = buf.DecodeUint32()
  1189  	m.Entry.Salt = buf.DecodeUint32()
  1190  	m.Entry.UDPSrcPort = buf.DecodeUint16()
  1191  	m.Entry.UDPDstPort = buf.DecodeUint16()
  1192  	return nil
  1193  }
  1194  
  1195  // IpsecSadEntryAddDelV2Reply defines message 'ipsec_sad_entry_add_del_v2_reply'.
  1196  type IpsecSadEntryAddDelV2Reply struct {
  1197  	Retval    int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  1198  	StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"`
  1199  }
  1200  
  1201  func (m *IpsecSadEntryAddDelV2Reply) Reset()               { *m = IpsecSadEntryAddDelV2Reply{} }
  1202  func (*IpsecSadEntryAddDelV2Reply) GetMessageName() string { return "ipsec_sad_entry_add_del_v2_reply" }
  1203  func (*IpsecSadEntryAddDelV2Reply) GetCrcString() string   { return "9ffac24b" }
  1204  func (*IpsecSadEntryAddDelV2Reply) GetMessageType() api.MessageType {
  1205  	return api.ReplyMessage
  1206  }
  1207  
  1208  func (m *IpsecSadEntryAddDelV2Reply) Size() (size int) {
  1209  	if m == nil {
  1210  		return 0
  1211  	}
  1212  	size += 4 // m.Retval
  1213  	size += 4 // m.StatIndex
  1214  	return size
  1215  }
  1216  func (m *IpsecSadEntryAddDelV2Reply) Marshal(b []byte) ([]byte, error) {
  1217  	if b == nil {
  1218  		b = make([]byte, m.Size())
  1219  	}
  1220  	buf := codec.NewBuffer(b)
  1221  	buf.EncodeInt32(m.Retval)
  1222  	buf.EncodeUint32(m.StatIndex)
  1223  	return buf.Bytes(), nil
  1224  }
  1225  func (m *IpsecSadEntryAddDelV2Reply) Unmarshal(b []byte) error {
  1226  	buf := codec.NewBuffer(b)
  1227  	m.Retval = buf.DecodeInt32()
  1228  	m.StatIndex = buf.DecodeUint32()
  1229  	return nil
  1230  }
  1231  
  1232  // IpsecSadEntryAddDelV3 defines message 'ipsec_sad_entry_add_del_v3'.
  1233  type IpsecSadEntryAddDelV3 struct {
  1234  	IsAdd bool                        `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1235  	Entry ipsec_types.IpsecSadEntryV3 `binapi:"ipsec_sad_entry_v3,name=entry" json:"entry,omitempty"`
  1236  }
  1237  
  1238  func (m *IpsecSadEntryAddDelV3) Reset()               { *m = IpsecSadEntryAddDelV3{} }
  1239  func (*IpsecSadEntryAddDelV3) GetMessageName() string { return "ipsec_sad_entry_add_del_v3" }
  1240  func (*IpsecSadEntryAddDelV3) GetCrcString() string   { return "c77ebd92" }
  1241  func (*IpsecSadEntryAddDelV3) GetMessageType() api.MessageType {
  1242  	return api.RequestMessage
  1243  }
  1244  
  1245  func (m *IpsecSadEntryAddDelV3) Size() (size int) {
  1246  	if m == nil {
  1247  		return 0
  1248  	}
  1249  	size += 1       // m.IsAdd
  1250  	size += 4       // m.Entry.SadID
  1251  	size += 4       // m.Entry.Spi
  1252  	size += 4       // m.Entry.Protocol
  1253  	size += 4       // m.Entry.CryptoAlgorithm
  1254  	size += 1       // m.Entry.CryptoKey.Length
  1255  	size += 1 * 128 // m.Entry.CryptoKey.Data
  1256  	size += 4       // m.Entry.IntegrityAlgorithm
  1257  	size += 1       // m.Entry.IntegrityKey.Length
  1258  	size += 1 * 128 // m.Entry.IntegrityKey.Data
  1259  	size += 4       // m.Entry.Flags
  1260  	size += 4       // m.Entry.Tunnel.Instance
  1261  	size += 1       // m.Entry.Tunnel.Src.Af
  1262  	size += 1 * 16  // m.Entry.Tunnel.Src.Un
  1263  	size += 1       // m.Entry.Tunnel.Dst.Af
  1264  	size += 1 * 16  // m.Entry.Tunnel.Dst.Un
  1265  	size += 4       // m.Entry.Tunnel.SwIfIndex
  1266  	size += 4       // m.Entry.Tunnel.TableID
  1267  	size += 1       // m.Entry.Tunnel.EncapDecapFlags
  1268  	size += 1       // m.Entry.Tunnel.Mode
  1269  	size += 1       // m.Entry.Tunnel.Flags
  1270  	size += 1       // m.Entry.Tunnel.Dscp
  1271  	size += 1       // m.Entry.Tunnel.HopLimit
  1272  	size += 4       // m.Entry.Salt
  1273  	size += 2       // m.Entry.UDPSrcPort
  1274  	size += 2       // m.Entry.UDPDstPort
  1275  	return size
  1276  }
  1277  func (m *IpsecSadEntryAddDelV3) Marshal(b []byte) ([]byte, error) {
  1278  	if b == nil {
  1279  		b = make([]byte, m.Size())
  1280  	}
  1281  	buf := codec.NewBuffer(b)
  1282  	buf.EncodeBool(m.IsAdd)
  1283  	buf.EncodeUint32(m.Entry.SadID)
  1284  	buf.EncodeUint32(m.Entry.Spi)
  1285  	buf.EncodeUint32(uint32(m.Entry.Protocol))
  1286  	buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm))
  1287  	buf.EncodeUint8(m.Entry.CryptoKey.Length)
  1288  	buf.EncodeBytes(m.Entry.CryptoKey.Data, 128)
  1289  	buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm))
  1290  	buf.EncodeUint8(m.Entry.IntegrityKey.Length)
  1291  	buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128)
  1292  	buf.EncodeUint32(uint32(m.Entry.Flags))
  1293  	buf.EncodeUint32(m.Entry.Tunnel.Instance)
  1294  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Src.Af))
  1295  	buf.EncodeBytes(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], 16)
  1296  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Dst.Af))
  1297  	buf.EncodeBytes(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], 16)
  1298  	buf.EncodeUint32(uint32(m.Entry.Tunnel.SwIfIndex))
  1299  	buf.EncodeUint32(m.Entry.Tunnel.TableID)
  1300  	buf.EncodeUint8(uint8(m.Entry.Tunnel.EncapDecapFlags))
  1301  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Mode))
  1302  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Flags))
  1303  	buf.EncodeUint8(uint8(m.Entry.Tunnel.Dscp))
  1304  	buf.EncodeUint8(m.Entry.Tunnel.HopLimit)
  1305  	buf.EncodeUint32(m.Entry.Salt)
  1306  	buf.EncodeUint16(m.Entry.UDPSrcPort)
  1307  	buf.EncodeUint16(m.Entry.UDPDstPort)
  1308  	return buf.Bytes(), nil
  1309  }
  1310  func (m *IpsecSadEntryAddDelV3) Unmarshal(b []byte) error {
  1311  	buf := codec.NewBuffer(b)
  1312  	m.IsAdd = buf.DecodeBool()
  1313  	m.Entry.SadID = buf.DecodeUint32()
  1314  	m.Entry.Spi = buf.DecodeUint32()
  1315  	m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32())
  1316  	m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32())
  1317  	m.Entry.CryptoKey.Length = buf.DecodeUint8()
  1318  	m.Entry.CryptoKey.Data = make([]byte, 128)
  1319  	copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data)))
  1320  	m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32())
  1321  	m.Entry.IntegrityKey.Length = buf.DecodeUint8()
  1322  	m.Entry.IntegrityKey.Data = make([]byte, 128)
  1323  	copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data)))
  1324  	m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32())
  1325  	m.Entry.Tunnel.Instance = buf.DecodeUint32()
  1326  	m.Entry.Tunnel.Src.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1327  	copy(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1328  	m.Entry.Tunnel.Dst.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1329  	copy(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1330  	m.Entry.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1331  	m.Entry.Tunnel.TableID = buf.DecodeUint32()
  1332  	m.Entry.Tunnel.EncapDecapFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8())
  1333  	m.Entry.Tunnel.Mode = tunnel_types.TunnelMode(buf.DecodeUint8())
  1334  	m.Entry.Tunnel.Flags = tunnel_types.TunnelFlags(buf.DecodeUint8())
  1335  	m.Entry.Tunnel.Dscp = ip_types.IPDscp(buf.DecodeUint8())
  1336  	m.Entry.Tunnel.HopLimit = buf.DecodeUint8()
  1337  	m.Entry.Salt = buf.DecodeUint32()
  1338  	m.Entry.UDPSrcPort = buf.DecodeUint16()
  1339  	m.Entry.UDPDstPort = buf.DecodeUint16()
  1340  	return nil
  1341  }
  1342  
  1343  // IpsecSadEntryAddDelV3Reply defines message 'ipsec_sad_entry_add_del_v3_reply'.
  1344  type IpsecSadEntryAddDelV3Reply struct {
  1345  	Retval    int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  1346  	StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"`
  1347  }
  1348  
  1349  func (m *IpsecSadEntryAddDelV3Reply) Reset()               { *m = IpsecSadEntryAddDelV3Reply{} }
  1350  func (*IpsecSadEntryAddDelV3Reply) GetMessageName() string { return "ipsec_sad_entry_add_del_v3_reply" }
  1351  func (*IpsecSadEntryAddDelV3Reply) GetCrcString() string   { return "9ffac24b" }
  1352  func (*IpsecSadEntryAddDelV3Reply) GetMessageType() api.MessageType {
  1353  	return api.ReplyMessage
  1354  }
  1355  
  1356  func (m *IpsecSadEntryAddDelV3Reply) Size() (size int) {
  1357  	if m == nil {
  1358  		return 0
  1359  	}
  1360  	size += 4 // m.Retval
  1361  	size += 4 // m.StatIndex
  1362  	return size
  1363  }
  1364  func (m *IpsecSadEntryAddDelV3Reply) Marshal(b []byte) ([]byte, error) {
  1365  	if b == nil {
  1366  		b = make([]byte, m.Size())
  1367  	}
  1368  	buf := codec.NewBuffer(b)
  1369  	buf.EncodeInt32(m.Retval)
  1370  	buf.EncodeUint32(m.StatIndex)
  1371  	return buf.Bytes(), nil
  1372  }
  1373  func (m *IpsecSadEntryAddDelV3Reply) Unmarshal(b []byte) error {
  1374  	buf := codec.NewBuffer(b)
  1375  	m.Retval = buf.DecodeInt32()
  1376  	m.StatIndex = buf.DecodeUint32()
  1377  	return nil
  1378  }
  1379  
  1380  // IpsecSadEntryAddReply defines message 'ipsec_sad_entry_add_reply'.
  1381  type IpsecSadEntryAddReply struct {
  1382  	Retval    int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  1383  	StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"`
  1384  }
  1385  
  1386  func (m *IpsecSadEntryAddReply) Reset()               { *m = IpsecSadEntryAddReply{} }
  1387  func (*IpsecSadEntryAddReply) GetMessageName() string { return "ipsec_sad_entry_add_reply" }
  1388  func (*IpsecSadEntryAddReply) GetCrcString() string   { return "9ffac24b" }
  1389  func (*IpsecSadEntryAddReply) GetMessageType() api.MessageType {
  1390  	return api.ReplyMessage
  1391  }
  1392  
  1393  func (m *IpsecSadEntryAddReply) Size() (size int) {
  1394  	if m == nil {
  1395  		return 0
  1396  	}
  1397  	size += 4 // m.Retval
  1398  	size += 4 // m.StatIndex
  1399  	return size
  1400  }
  1401  func (m *IpsecSadEntryAddReply) Marshal(b []byte) ([]byte, error) {
  1402  	if b == nil {
  1403  		b = make([]byte, m.Size())
  1404  	}
  1405  	buf := codec.NewBuffer(b)
  1406  	buf.EncodeInt32(m.Retval)
  1407  	buf.EncodeUint32(m.StatIndex)
  1408  	return buf.Bytes(), nil
  1409  }
  1410  func (m *IpsecSadEntryAddReply) Unmarshal(b []byte) error {
  1411  	buf := codec.NewBuffer(b)
  1412  	m.Retval = buf.DecodeInt32()
  1413  	m.StatIndex = buf.DecodeUint32()
  1414  	return nil
  1415  }
  1416  
  1417  // IpsecSadEntryDel defines message 'ipsec_sad_entry_del'.
  1418  type IpsecSadEntryDel struct {
  1419  	ID uint32 `binapi:"u32,name=id" json:"id,omitempty"`
  1420  }
  1421  
  1422  func (m *IpsecSadEntryDel) Reset()               { *m = IpsecSadEntryDel{} }
  1423  func (*IpsecSadEntryDel) GetMessageName() string { return "ipsec_sad_entry_del" }
  1424  func (*IpsecSadEntryDel) GetCrcString() string   { return "3a91bde5" }
  1425  func (*IpsecSadEntryDel) GetMessageType() api.MessageType {
  1426  	return api.RequestMessage
  1427  }
  1428  
  1429  func (m *IpsecSadEntryDel) Size() (size int) {
  1430  	if m == nil {
  1431  		return 0
  1432  	}
  1433  	size += 4 // m.ID
  1434  	return size
  1435  }
  1436  func (m *IpsecSadEntryDel) Marshal(b []byte) ([]byte, error) {
  1437  	if b == nil {
  1438  		b = make([]byte, m.Size())
  1439  	}
  1440  	buf := codec.NewBuffer(b)
  1441  	buf.EncodeUint32(m.ID)
  1442  	return buf.Bytes(), nil
  1443  }
  1444  func (m *IpsecSadEntryDel) Unmarshal(b []byte) error {
  1445  	buf := codec.NewBuffer(b)
  1446  	m.ID = buf.DecodeUint32()
  1447  	return nil
  1448  }
  1449  
  1450  // IpsecSadEntryDelReply defines message 'ipsec_sad_entry_del_reply'.
  1451  type IpsecSadEntryDelReply struct {
  1452  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1453  }
  1454  
  1455  func (m *IpsecSadEntryDelReply) Reset()               { *m = IpsecSadEntryDelReply{} }
  1456  func (*IpsecSadEntryDelReply) GetMessageName() string { return "ipsec_sad_entry_del_reply" }
  1457  func (*IpsecSadEntryDelReply) GetCrcString() string   { return "e8d4e804" }
  1458  func (*IpsecSadEntryDelReply) GetMessageType() api.MessageType {
  1459  	return api.ReplyMessage
  1460  }
  1461  
  1462  func (m *IpsecSadEntryDelReply) Size() (size int) {
  1463  	if m == nil {
  1464  		return 0
  1465  	}
  1466  	size += 4 // m.Retval
  1467  	return size
  1468  }
  1469  func (m *IpsecSadEntryDelReply) Marshal(b []byte) ([]byte, error) {
  1470  	if b == nil {
  1471  		b = make([]byte, m.Size())
  1472  	}
  1473  	buf := codec.NewBuffer(b)
  1474  	buf.EncodeInt32(m.Retval)
  1475  	return buf.Bytes(), nil
  1476  }
  1477  func (m *IpsecSadEntryDelReply) Unmarshal(b []byte) error {
  1478  	buf := codec.NewBuffer(b)
  1479  	m.Retval = buf.DecodeInt32()
  1480  	return nil
  1481  }
  1482  
  1483  // IpsecSelectBackend defines message 'ipsec_select_backend'.
  1484  type IpsecSelectBackend struct {
  1485  	Protocol ipsec_types.IpsecProto `binapi:"ipsec_proto,name=protocol" json:"protocol,omitempty"`
  1486  	Index    uint8                  `binapi:"u8,name=index" json:"index,omitempty"`
  1487  }
  1488  
  1489  func (m *IpsecSelectBackend) Reset()               { *m = IpsecSelectBackend{} }
  1490  func (*IpsecSelectBackend) GetMessageName() string { return "ipsec_select_backend" }
  1491  func (*IpsecSelectBackend) GetCrcString() string   { return "5bcfd3b7" }
  1492  func (*IpsecSelectBackend) GetMessageType() api.MessageType {
  1493  	return api.RequestMessage
  1494  }
  1495  
  1496  func (m *IpsecSelectBackend) Size() (size int) {
  1497  	if m == nil {
  1498  		return 0
  1499  	}
  1500  	size += 4 // m.Protocol
  1501  	size += 1 // m.Index
  1502  	return size
  1503  }
  1504  func (m *IpsecSelectBackend) Marshal(b []byte) ([]byte, error) {
  1505  	if b == nil {
  1506  		b = make([]byte, m.Size())
  1507  	}
  1508  	buf := codec.NewBuffer(b)
  1509  	buf.EncodeUint32(uint32(m.Protocol))
  1510  	buf.EncodeUint8(m.Index)
  1511  	return buf.Bytes(), nil
  1512  }
  1513  func (m *IpsecSelectBackend) Unmarshal(b []byte) error {
  1514  	buf := codec.NewBuffer(b)
  1515  	m.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32())
  1516  	m.Index = buf.DecodeUint8()
  1517  	return nil
  1518  }
  1519  
  1520  // IpsecSelectBackendReply defines message 'ipsec_select_backend_reply'.
  1521  type IpsecSelectBackendReply struct {
  1522  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1523  }
  1524  
  1525  func (m *IpsecSelectBackendReply) Reset()               { *m = IpsecSelectBackendReply{} }
  1526  func (*IpsecSelectBackendReply) GetMessageName() string { return "ipsec_select_backend_reply" }
  1527  func (*IpsecSelectBackendReply) GetCrcString() string   { return "e8d4e804" }
  1528  func (*IpsecSelectBackendReply) GetMessageType() api.MessageType {
  1529  	return api.ReplyMessage
  1530  }
  1531  
  1532  func (m *IpsecSelectBackendReply) Size() (size int) {
  1533  	if m == nil {
  1534  		return 0
  1535  	}
  1536  	size += 4 // m.Retval
  1537  	return size
  1538  }
  1539  func (m *IpsecSelectBackendReply) Marshal(b []byte) ([]byte, error) {
  1540  	if b == nil {
  1541  		b = make([]byte, m.Size())
  1542  	}
  1543  	buf := codec.NewBuffer(b)
  1544  	buf.EncodeInt32(m.Retval)
  1545  	return buf.Bytes(), nil
  1546  }
  1547  func (m *IpsecSelectBackendReply) Unmarshal(b []byte) error {
  1548  	buf := codec.NewBuffer(b)
  1549  	m.Retval = buf.DecodeInt32()
  1550  	return nil
  1551  }
  1552  
  1553  // IpsecSetAsyncMode defines message 'ipsec_set_async_mode'.
  1554  type IpsecSetAsyncMode struct {
  1555  	AsyncEnable bool `binapi:"bool,name=async_enable" json:"async_enable,omitempty"`
  1556  }
  1557  
  1558  func (m *IpsecSetAsyncMode) Reset()               { *m = IpsecSetAsyncMode{} }
  1559  func (*IpsecSetAsyncMode) GetMessageName() string { return "ipsec_set_async_mode" }
  1560  func (*IpsecSetAsyncMode) GetCrcString() string   { return "a6465f7c" }
  1561  func (*IpsecSetAsyncMode) GetMessageType() api.MessageType {
  1562  	return api.RequestMessage
  1563  }
  1564  
  1565  func (m *IpsecSetAsyncMode) Size() (size int) {
  1566  	if m == nil {
  1567  		return 0
  1568  	}
  1569  	size += 1 // m.AsyncEnable
  1570  	return size
  1571  }
  1572  func (m *IpsecSetAsyncMode) Marshal(b []byte) ([]byte, error) {
  1573  	if b == nil {
  1574  		b = make([]byte, m.Size())
  1575  	}
  1576  	buf := codec.NewBuffer(b)
  1577  	buf.EncodeBool(m.AsyncEnable)
  1578  	return buf.Bytes(), nil
  1579  }
  1580  func (m *IpsecSetAsyncMode) Unmarshal(b []byte) error {
  1581  	buf := codec.NewBuffer(b)
  1582  	m.AsyncEnable = buf.DecodeBool()
  1583  	return nil
  1584  }
  1585  
  1586  // IpsecSetAsyncModeReply defines message 'ipsec_set_async_mode_reply'.
  1587  type IpsecSetAsyncModeReply struct {
  1588  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1589  }
  1590  
  1591  func (m *IpsecSetAsyncModeReply) Reset()               { *m = IpsecSetAsyncModeReply{} }
  1592  func (*IpsecSetAsyncModeReply) GetMessageName() string { return "ipsec_set_async_mode_reply" }
  1593  func (*IpsecSetAsyncModeReply) GetCrcString() string   { return "e8d4e804" }
  1594  func (*IpsecSetAsyncModeReply) GetMessageType() api.MessageType {
  1595  	return api.ReplyMessage
  1596  }
  1597  
  1598  func (m *IpsecSetAsyncModeReply) Size() (size int) {
  1599  	if m == nil {
  1600  		return 0
  1601  	}
  1602  	size += 4 // m.Retval
  1603  	return size
  1604  }
  1605  func (m *IpsecSetAsyncModeReply) Marshal(b []byte) ([]byte, error) {
  1606  	if b == nil {
  1607  		b = make([]byte, m.Size())
  1608  	}
  1609  	buf := codec.NewBuffer(b)
  1610  	buf.EncodeInt32(m.Retval)
  1611  	return buf.Bytes(), nil
  1612  }
  1613  func (m *IpsecSetAsyncModeReply) Unmarshal(b []byte) error {
  1614  	buf := codec.NewBuffer(b)
  1615  	m.Retval = buf.DecodeInt32()
  1616  	return nil
  1617  }
  1618  
  1619  // IpsecSpdAddDel defines message 'ipsec_spd_add_del'.
  1620  type IpsecSpdAddDel struct {
  1621  	IsAdd bool   `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1622  	SpdID uint32 `binapi:"u32,name=spd_id" json:"spd_id,omitempty"`
  1623  }
  1624  
  1625  func (m *IpsecSpdAddDel) Reset()               { *m = IpsecSpdAddDel{} }
  1626  func (*IpsecSpdAddDel) GetMessageName() string { return "ipsec_spd_add_del" }
  1627  func (*IpsecSpdAddDel) GetCrcString() string   { return "20e89a95" }
  1628  func (*IpsecSpdAddDel) GetMessageType() api.MessageType {
  1629  	return api.RequestMessage
  1630  }
  1631  
  1632  func (m *IpsecSpdAddDel) Size() (size int) {
  1633  	if m == nil {
  1634  		return 0
  1635  	}
  1636  	size += 1 // m.IsAdd
  1637  	size += 4 // m.SpdID
  1638  	return size
  1639  }
  1640  func (m *IpsecSpdAddDel) Marshal(b []byte) ([]byte, error) {
  1641  	if b == nil {
  1642  		b = make([]byte, m.Size())
  1643  	}
  1644  	buf := codec.NewBuffer(b)
  1645  	buf.EncodeBool(m.IsAdd)
  1646  	buf.EncodeUint32(m.SpdID)
  1647  	return buf.Bytes(), nil
  1648  }
  1649  func (m *IpsecSpdAddDel) Unmarshal(b []byte) error {
  1650  	buf := codec.NewBuffer(b)
  1651  	m.IsAdd = buf.DecodeBool()
  1652  	m.SpdID = buf.DecodeUint32()
  1653  	return nil
  1654  }
  1655  
  1656  // IpsecSpdAddDelReply defines message 'ipsec_spd_add_del_reply'.
  1657  type IpsecSpdAddDelReply struct {
  1658  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1659  }
  1660  
  1661  func (m *IpsecSpdAddDelReply) Reset()               { *m = IpsecSpdAddDelReply{} }
  1662  func (*IpsecSpdAddDelReply) GetMessageName() string { return "ipsec_spd_add_del_reply" }
  1663  func (*IpsecSpdAddDelReply) GetCrcString() string   { return "e8d4e804" }
  1664  func (*IpsecSpdAddDelReply) GetMessageType() api.MessageType {
  1665  	return api.ReplyMessage
  1666  }
  1667  
  1668  func (m *IpsecSpdAddDelReply) Size() (size int) {
  1669  	if m == nil {
  1670  		return 0
  1671  	}
  1672  	size += 4 // m.Retval
  1673  	return size
  1674  }
  1675  func (m *IpsecSpdAddDelReply) Marshal(b []byte) ([]byte, error) {
  1676  	if b == nil {
  1677  		b = make([]byte, m.Size())
  1678  	}
  1679  	buf := codec.NewBuffer(b)
  1680  	buf.EncodeInt32(m.Retval)
  1681  	return buf.Bytes(), nil
  1682  }
  1683  func (m *IpsecSpdAddDelReply) Unmarshal(b []byte) error {
  1684  	buf := codec.NewBuffer(b)
  1685  	m.Retval = buf.DecodeInt32()
  1686  	return nil
  1687  }
  1688  
  1689  // IpsecSpdDetails defines message 'ipsec_spd_details'.
  1690  type IpsecSpdDetails struct {
  1691  	Entry ipsec_types.IpsecSpdEntry `binapi:"ipsec_spd_entry,name=entry" json:"entry,omitempty"`
  1692  }
  1693  
  1694  func (m *IpsecSpdDetails) Reset()               { *m = IpsecSpdDetails{} }
  1695  func (*IpsecSpdDetails) GetMessageName() string { return "ipsec_spd_details" }
  1696  func (*IpsecSpdDetails) GetCrcString() string   { return "5813d7a2" }
  1697  func (*IpsecSpdDetails) GetMessageType() api.MessageType {
  1698  	return api.ReplyMessage
  1699  }
  1700  
  1701  func (m *IpsecSpdDetails) Size() (size int) {
  1702  	if m == nil {
  1703  		return 0
  1704  	}
  1705  	size += 4      // m.Entry.SpdID
  1706  	size += 4      // m.Entry.Priority
  1707  	size += 1      // m.Entry.IsOutbound
  1708  	size += 4      // m.Entry.SaID
  1709  	size += 4      // m.Entry.Policy
  1710  	size += 1      // m.Entry.Protocol
  1711  	size += 1      // m.Entry.RemoteAddressStart.Af
  1712  	size += 1 * 16 // m.Entry.RemoteAddressStart.Un
  1713  	size += 1      // m.Entry.RemoteAddressStop.Af
  1714  	size += 1 * 16 // m.Entry.RemoteAddressStop.Un
  1715  	size += 1      // m.Entry.LocalAddressStart.Af
  1716  	size += 1 * 16 // m.Entry.LocalAddressStart.Un
  1717  	size += 1      // m.Entry.LocalAddressStop.Af
  1718  	size += 1 * 16 // m.Entry.LocalAddressStop.Un
  1719  	size += 2      // m.Entry.RemotePortStart
  1720  	size += 2      // m.Entry.RemotePortStop
  1721  	size += 2      // m.Entry.LocalPortStart
  1722  	size += 2      // m.Entry.LocalPortStop
  1723  	return size
  1724  }
  1725  func (m *IpsecSpdDetails) Marshal(b []byte) ([]byte, error) {
  1726  	if b == nil {
  1727  		b = make([]byte, m.Size())
  1728  	}
  1729  	buf := codec.NewBuffer(b)
  1730  	buf.EncodeUint32(m.Entry.SpdID)
  1731  	buf.EncodeInt32(m.Entry.Priority)
  1732  	buf.EncodeBool(m.Entry.IsOutbound)
  1733  	buf.EncodeUint32(m.Entry.SaID)
  1734  	buf.EncodeUint32(uint32(m.Entry.Policy))
  1735  	buf.EncodeUint8(m.Entry.Protocol)
  1736  	buf.EncodeUint8(uint8(m.Entry.RemoteAddressStart.Af))
  1737  	buf.EncodeBytes(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], 16)
  1738  	buf.EncodeUint8(uint8(m.Entry.RemoteAddressStop.Af))
  1739  	buf.EncodeBytes(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], 16)
  1740  	buf.EncodeUint8(uint8(m.Entry.LocalAddressStart.Af))
  1741  	buf.EncodeBytes(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], 16)
  1742  	buf.EncodeUint8(uint8(m.Entry.LocalAddressStop.Af))
  1743  	buf.EncodeBytes(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], 16)
  1744  	buf.EncodeUint16(m.Entry.RemotePortStart)
  1745  	buf.EncodeUint16(m.Entry.RemotePortStop)
  1746  	buf.EncodeUint16(m.Entry.LocalPortStart)
  1747  	buf.EncodeUint16(m.Entry.LocalPortStop)
  1748  	return buf.Bytes(), nil
  1749  }
  1750  func (m *IpsecSpdDetails) Unmarshal(b []byte) error {
  1751  	buf := codec.NewBuffer(b)
  1752  	m.Entry.SpdID = buf.DecodeUint32()
  1753  	m.Entry.Priority = buf.DecodeInt32()
  1754  	m.Entry.IsOutbound = buf.DecodeBool()
  1755  	m.Entry.SaID = buf.DecodeUint32()
  1756  	m.Entry.Policy = ipsec_types.IpsecSpdAction(buf.DecodeUint32())
  1757  	m.Entry.Protocol = buf.DecodeUint8()
  1758  	m.Entry.RemoteAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1759  	copy(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1760  	m.Entry.RemoteAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1761  	copy(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1762  	m.Entry.LocalAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1763  	copy(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1764  	m.Entry.LocalAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1765  	copy(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1766  	m.Entry.RemotePortStart = buf.DecodeUint16()
  1767  	m.Entry.RemotePortStop = buf.DecodeUint16()
  1768  	m.Entry.LocalPortStart = buf.DecodeUint16()
  1769  	m.Entry.LocalPortStop = buf.DecodeUint16()
  1770  	return nil
  1771  }
  1772  
  1773  // IpsecSpdDump defines message 'ipsec_spd_dump'.
  1774  type IpsecSpdDump struct {
  1775  	SpdID uint32 `binapi:"u32,name=spd_id" json:"spd_id,omitempty"`
  1776  	SaID  uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"`
  1777  }
  1778  
  1779  func (m *IpsecSpdDump) Reset()               { *m = IpsecSpdDump{} }
  1780  func (*IpsecSpdDump) GetMessageName() string { return "ipsec_spd_dump" }
  1781  func (*IpsecSpdDump) GetCrcString() string   { return "afefbf7d" }
  1782  func (*IpsecSpdDump) GetMessageType() api.MessageType {
  1783  	return api.RequestMessage
  1784  }
  1785  
  1786  func (m *IpsecSpdDump) Size() (size int) {
  1787  	if m == nil {
  1788  		return 0
  1789  	}
  1790  	size += 4 // m.SpdID
  1791  	size += 4 // m.SaID
  1792  	return size
  1793  }
  1794  func (m *IpsecSpdDump) Marshal(b []byte) ([]byte, error) {
  1795  	if b == nil {
  1796  		b = make([]byte, m.Size())
  1797  	}
  1798  	buf := codec.NewBuffer(b)
  1799  	buf.EncodeUint32(m.SpdID)
  1800  	buf.EncodeUint32(m.SaID)
  1801  	return buf.Bytes(), nil
  1802  }
  1803  func (m *IpsecSpdDump) Unmarshal(b []byte) error {
  1804  	buf := codec.NewBuffer(b)
  1805  	m.SpdID = buf.DecodeUint32()
  1806  	m.SaID = buf.DecodeUint32()
  1807  	return nil
  1808  }
  1809  
  1810  // IpsecSpdEntryAddDel defines message 'ipsec_spd_entry_add_del'.
  1811  // Deprecated: the message will be removed in the future versions
  1812  type IpsecSpdEntryAddDel struct {
  1813  	IsAdd bool                      `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1814  	Entry ipsec_types.IpsecSpdEntry `binapi:"ipsec_spd_entry,name=entry" json:"entry,omitempty"`
  1815  }
  1816  
  1817  func (m *IpsecSpdEntryAddDel) Reset()               { *m = IpsecSpdEntryAddDel{} }
  1818  func (*IpsecSpdEntryAddDel) GetMessageName() string { return "ipsec_spd_entry_add_del" }
  1819  func (*IpsecSpdEntryAddDel) GetCrcString() string   { return "338b7411" }
  1820  func (*IpsecSpdEntryAddDel) GetMessageType() api.MessageType {
  1821  	return api.RequestMessage
  1822  }
  1823  
  1824  func (m *IpsecSpdEntryAddDel) Size() (size int) {
  1825  	if m == nil {
  1826  		return 0
  1827  	}
  1828  	size += 1      // m.IsAdd
  1829  	size += 4      // m.Entry.SpdID
  1830  	size += 4      // m.Entry.Priority
  1831  	size += 1      // m.Entry.IsOutbound
  1832  	size += 4      // m.Entry.SaID
  1833  	size += 4      // m.Entry.Policy
  1834  	size += 1      // m.Entry.Protocol
  1835  	size += 1      // m.Entry.RemoteAddressStart.Af
  1836  	size += 1 * 16 // m.Entry.RemoteAddressStart.Un
  1837  	size += 1      // m.Entry.RemoteAddressStop.Af
  1838  	size += 1 * 16 // m.Entry.RemoteAddressStop.Un
  1839  	size += 1      // m.Entry.LocalAddressStart.Af
  1840  	size += 1 * 16 // m.Entry.LocalAddressStart.Un
  1841  	size += 1      // m.Entry.LocalAddressStop.Af
  1842  	size += 1 * 16 // m.Entry.LocalAddressStop.Un
  1843  	size += 2      // m.Entry.RemotePortStart
  1844  	size += 2      // m.Entry.RemotePortStop
  1845  	size += 2      // m.Entry.LocalPortStart
  1846  	size += 2      // m.Entry.LocalPortStop
  1847  	return size
  1848  }
  1849  func (m *IpsecSpdEntryAddDel) Marshal(b []byte) ([]byte, error) {
  1850  	if b == nil {
  1851  		b = make([]byte, m.Size())
  1852  	}
  1853  	buf := codec.NewBuffer(b)
  1854  	buf.EncodeBool(m.IsAdd)
  1855  	buf.EncodeUint32(m.Entry.SpdID)
  1856  	buf.EncodeInt32(m.Entry.Priority)
  1857  	buf.EncodeBool(m.Entry.IsOutbound)
  1858  	buf.EncodeUint32(m.Entry.SaID)
  1859  	buf.EncodeUint32(uint32(m.Entry.Policy))
  1860  	buf.EncodeUint8(m.Entry.Protocol)
  1861  	buf.EncodeUint8(uint8(m.Entry.RemoteAddressStart.Af))
  1862  	buf.EncodeBytes(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], 16)
  1863  	buf.EncodeUint8(uint8(m.Entry.RemoteAddressStop.Af))
  1864  	buf.EncodeBytes(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], 16)
  1865  	buf.EncodeUint8(uint8(m.Entry.LocalAddressStart.Af))
  1866  	buf.EncodeBytes(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], 16)
  1867  	buf.EncodeUint8(uint8(m.Entry.LocalAddressStop.Af))
  1868  	buf.EncodeBytes(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], 16)
  1869  	buf.EncodeUint16(m.Entry.RemotePortStart)
  1870  	buf.EncodeUint16(m.Entry.RemotePortStop)
  1871  	buf.EncodeUint16(m.Entry.LocalPortStart)
  1872  	buf.EncodeUint16(m.Entry.LocalPortStop)
  1873  	return buf.Bytes(), nil
  1874  }
  1875  func (m *IpsecSpdEntryAddDel) Unmarshal(b []byte) error {
  1876  	buf := codec.NewBuffer(b)
  1877  	m.IsAdd = buf.DecodeBool()
  1878  	m.Entry.SpdID = buf.DecodeUint32()
  1879  	m.Entry.Priority = buf.DecodeInt32()
  1880  	m.Entry.IsOutbound = buf.DecodeBool()
  1881  	m.Entry.SaID = buf.DecodeUint32()
  1882  	m.Entry.Policy = ipsec_types.IpsecSpdAction(buf.DecodeUint32())
  1883  	m.Entry.Protocol = buf.DecodeUint8()
  1884  	m.Entry.RemoteAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1885  	copy(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1886  	m.Entry.RemoteAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1887  	copy(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1888  	m.Entry.LocalAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1889  	copy(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1890  	m.Entry.LocalAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1891  	copy(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1892  	m.Entry.RemotePortStart = buf.DecodeUint16()
  1893  	m.Entry.RemotePortStop = buf.DecodeUint16()
  1894  	m.Entry.LocalPortStart = buf.DecodeUint16()
  1895  	m.Entry.LocalPortStop = buf.DecodeUint16()
  1896  	return nil
  1897  }
  1898  
  1899  // IpsecSpdEntryAddDelReply defines message 'ipsec_spd_entry_add_del_reply'.
  1900  type IpsecSpdEntryAddDelReply struct {
  1901  	Retval    int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  1902  	StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"`
  1903  }
  1904  
  1905  func (m *IpsecSpdEntryAddDelReply) Reset()               { *m = IpsecSpdEntryAddDelReply{} }
  1906  func (*IpsecSpdEntryAddDelReply) GetMessageName() string { return "ipsec_spd_entry_add_del_reply" }
  1907  func (*IpsecSpdEntryAddDelReply) GetCrcString() string   { return "9ffac24b" }
  1908  func (*IpsecSpdEntryAddDelReply) GetMessageType() api.MessageType {
  1909  	return api.ReplyMessage
  1910  }
  1911  
  1912  func (m *IpsecSpdEntryAddDelReply) Size() (size int) {
  1913  	if m == nil {
  1914  		return 0
  1915  	}
  1916  	size += 4 // m.Retval
  1917  	size += 4 // m.StatIndex
  1918  	return size
  1919  }
  1920  func (m *IpsecSpdEntryAddDelReply) Marshal(b []byte) ([]byte, error) {
  1921  	if b == nil {
  1922  		b = make([]byte, m.Size())
  1923  	}
  1924  	buf := codec.NewBuffer(b)
  1925  	buf.EncodeInt32(m.Retval)
  1926  	buf.EncodeUint32(m.StatIndex)
  1927  	return buf.Bytes(), nil
  1928  }
  1929  func (m *IpsecSpdEntryAddDelReply) Unmarshal(b []byte) error {
  1930  	buf := codec.NewBuffer(b)
  1931  	m.Retval = buf.DecodeInt32()
  1932  	m.StatIndex = buf.DecodeUint32()
  1933  	return nil
  1934  }
  1935  
  1936  // IpsecSpdEntryAddDelV2 defines message 'ipsec_spd_entry_add_del_v2'.
  1937  type IpsecSpdEntryAddDelV2 struct {
  1938  	IsAdd bool                        `binapi:"bool,name=is_add" json:"is_add,omitempty"`
  1939  	Entry ipsec_types.IpsecSpdEntryV2 `binapi:"ipsec_spd_entry_v2,name=entry" json:"entry,omitempty"`
  1940  }
  1941  
  1942  func (m *IpsecSpdEntryAddDelV2) Reset()               { *m = IpsecSpdEntryAddDelV2{} }
  1943  func (*IpsecSpdEntryAddDelV2) GetMessageName() string { return "ipsec_spd_entry_add_del_v2" }
  1944  func (*IpsecSpdEntryAddDelV2) GetCrcString() string   { return "7bfe69fc" }
  1945  func (*IpsecSpdEntryAddDelV2) GetMessageType() api.MessageType {
  1946  	return api.RequestMessage
  1947  }
  1948  
  1949  func (m *IpsecSpdEntryAddDelV2) Size() (size int) {
  1950  	if m == nil {
  1951  		return 0
  1952  	}
  1953  	size += 1      // m.IsAdd
  1954  	size += 4      // m.Entry.SpdID
  1955  	size += 4      // m.Entry.Priority
  1956  	size += 1      // m.Entry.IsOutbound
  1957  	size += 4      // m.Entry.SaID
  1958  	size += 4      // m.Entry.Policy
  1959  	size += 1      // m.Entry.Protocol
  1960  	size += 1      // m.Entry.RemoteAddressStart.Af
  1961  	size += 1 * 16 // m.Entry.RemoteAddressStart.Un
  1962  	size += 1      // m.Entry.RemoteAddressStop.Af
  1963  	size += 1 * 16 // m.Entry.RemoteAddressStop.Un
  1964  	size += 1      // m.Entry.LocalAddressStart.Af
  1965  	size += 1 * 16 // m.Entry.LocalAddressStart.Un
  1966  	size += 1      // m.Entry.LocalAddressStop.Af
  1967  	size += 1 * 16 // m.Entry.LocalAddressStop.Un
  1968  	size += 2      // m.Entry.RemotePortStart
  1969  	size += 2      // m.Entry.RemotePortStop
  1970  	size += 2      // m.Entry.LocalPortStart
  1971  	size += 2      // m.Entry.LocalPortStop
  1972  	return size
  1973  }
  1974  func (m *IpsecSpdEntryAddDelV2) Marshal(b []byte) ([]byte, error) {
  1975  	if b == nil {
  1976  		b = make([]byte, m.Size())
  1977  	}
  1978  	buf := codec.NewBuffer(b)
  1979  	buf.EncodeBool(m.IsAdd)
  1980  	buf.EncodeUint32(m.Entry.SpdID)
  1981  	buf.EncodeInt32(m.Entry.Priority)
  1982  	buf.EncodeBool(m.Entry.IsOutbound)
  1983  	buf.EncodeUint32(m.Entry.SaID)
  1984  	buf.EncodeUint32(uint32(m.Entry.Policy))
  1985  	buf.EncodeUint8(m.Entry.Protocol)
  1986  	buf.EncodeUint8(uint8(m.Entry.RemoteAddressStart.Af))
  1987  	buf.EncodeBytes(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], 16)
  1988  	buf.EncodeUint8(uint8(m.Entry.RemoteAddressStop.Af))
  1989  	buf.EncodeBytes(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], 16)
  1990  	buf.EncodeUint8(uint8(m.Entry.LocalAddressStart.Af))
  1991  	buf.EncodeBytes(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], 16)
  1992  	buf.EncodeUint8(uint8(m.Entry.LocalAddressStop.Af))
  1993  	buf.EncodeBytes(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], 16)
  1994  	buf.EncodeUint16(m.Entry.RemotePortStart)
  1995  	buf.EncodeUint16(m.Entry.RemotePortStop)
  1996  	buf.EncodeUint16(m.Entry.LocalPortStart)
  1997  	buf.EncodeUint16(m.Entry.LocalPortStop)
  1998  	return buf.Bytes(), nil
  1999  }
  2000  func (m *IpsecSpdEntryAddDelV2) Unmarshal(b []byte) error {
  2001  	buf := codec.NewBuffer(b)
  2002  	m.IsAdd = buf.DecodeBool()
  2003  	m.Entry.SpdID = buf.DecodeUint32()
  2004  	m.Entry.Priority = buf.DecodeInt32()
  2005  	m.Entry.IsOutbound = buf.DecodeBool()
  2006  	m.Entry.SaID = buf.DecodeUint32()
  2007  	m.Entry.Policy = ipsec_types.IpsecSpdAction(buf.DecodeUint32())
  2008  	m.Entry.Protocol = buf.DecodeUint8()
  2009  	m.Entry.RemoteAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8())
  2010  	copy(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  2011  	m.Entry.RemoteAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8())
  2012  	copy(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  2013  	m.Entry.LocalAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8())
  2014  	copy(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  2015  	m.Entry.LocalAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8())
  2016  	copy(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  2017  	m.Entry.RemotePortStart = buf.DecodeUint16()
  2018  	m.Entry.RemotePortStop = buf.DecodeUint16()
  2019  	m.Entry.LocalPortStart = buf.DecodeUint16()
  2020  	m.Entry.LocalPortStop = buf.DecodeUint16()
  2021  	return nil
  2022  }
  2023  
  2024  // IpsecSpdEntryAddDelV2Reply defines message 'ipsec_spd_entry_add_del_v2_reply'.
  2025  type IpsecSpdEntryAddDelV2Reply struct {
  2026  	Retval    int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
  2027  	StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"`
  2028  }
  2029  
  2030  func (m *IpsecSpdEntryAddDelV2Reply) Reset()               { *m = IpsecSpdEntryAddDelV2Reply{} }
  2031  func (*IpsecSpdEntryAddDelV2Reply) GetMessageName() string { return "ipsec_spd_entry_add_del_v2_reply" }
  2032  func (*IpsecSpdEntryAddDelV2Reply) GetCrcString() string   { return "9ffac24b" }
  2033  func (*IpsecSpdEntryAddDelV2Reply) GetMessageType() api.MessageType {
  2034  	return api.ReplyMessage
  2035  }
  2036  
  2037  func (m *IpsecSpdEntryAddDelV2Reply) Size() (size int) {
  2038  	if m == nil {
  2039  		return 0
  2040  	}
  2041  	size += 4 // m.Retval
  2042  	size += 4 // m.StatIndex
  2043  	return size
  2044  }
  2045  func (m *IpsecSpdEntryAddDelV2Reply) Marshal(b []byte) ([]byte, error) {
  2046  	if b == nil {
  2047  		b = make([]byte, m.Size())
  2048  	}
  2049  	buf := codec.NewBuffer(b)
  2050  	buf.EncodeInt32(m.Retval)
  2051  	buf.EncodeUint32(m.StatIndex)
  2052  	return buf.Bytes(), nil
  2053  }
  2054  func (m *IpsecSpdEntryAddDelV2Reply) Unmarshal(b []byte) error {
  2055  	buf := codec.NewBuffer(b)
  2056  	m.Retval = buf.DecodeInt32()
  2057  	m.StatIndex = buf.DecodeUint32()
  2058  	return nil
  2059  }
  2060  
  2061  // IpsecSpdInterfaceDetails defines message 'ipsec_spd_interface_details'.
  2062  type IpsecSpdInterfaceDetails struct {
  2063  	SpdIndex  uint32                         `binapi:"u32,name=spd_index" json:"spd_index,omitempty"`
  2064  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  2065  }
  2066  
  2067  func (m *IpsecSpdInterfaceDetails) Reset()               { *m = IpsecSpdInterfaceDetails{} }
  2068  func (*IpsecSpdInterfaceDetails) GetMessageName() string { return "ipsec_spd_interface_details" }
  2069  func (*IpsecSpdInterfaceDetails) GetCrcString() string   { return "7a0bcf3e" }
  2070  func (*IpsecSpdInterfaceDetails) GetMessageType() api.MessageType {
  2071  	return api.ReplyMessage
  2072  }
  2073  
  2074  func (m *IpsecSpdInterfaceDetails) Size() (size int) {
  2075  	if m == nil {
  2076  		return 0
  2077  	}
  2078  	size += 4 // m.SpdIndex
  2079  	size += 4 // m.SwIfIndex
  2080  	return size
  2081  }
  2082  func (m *IpsecSpdInterfaceDetails) Marshal(b []byte) ([]byte, error) {
  2083  	if b == nil {
  2084  		b = make([]byte, m.Size())
  2085  	}
  2086  	buf := codec.NewBuffer(b)
  2087  	buf.EncodeUint32(m.SpdIndex)
  2088  	buf.EncodeUint32(uint32(m.SwIfIndex))
  2089  	return buf.Bytes(), nil
  2090  }
  2091  func (m *IpsecSpdInterfaceDetails) Unmarshal(b []byte) error {
  2092  	buf := codec.NewBuffer(b)
  2093  	m.SpdIndex = buf.DecodeUint32()
  2094  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  2095  	return nil
  2096  }
  2097  
  2098  // IpsecSpdInterfaceDump defines message 'ipsec_spd_interface_dump'.
  2099  type IpsecSpdInterfaceDump struct {
  2100  	SpdIndex      uint32 `binapi:"u32,name=spd_index" json:"spd_index,omitempty"`
  2101  	SpdIndexValid uint8  `binapi:"u8,name=spd_index_valid" json:"spd_index_valid,omitempty"`
  2102  }
  2103  
  2104  func (m *IpsecSpdInterfaceDump) Reset()               { *m = IpsecSpdInterfaceDump{} }
  2105  func (*IpsecSpdInterfaceDump) GetMessageName() string { return "ipsec_spd_interface_dump" }
  2106  func (*IpsecSpdInterfaceDump) GetCrcString() string   { return "8971de19" }
  2107  func (*IpsecSpdInterfaceDump) GetMessageType() api.MessageType {
  2108  	return api.RequestMessage
  2109  }
  2110  
  2111  func (m *IpsecSpdInterfaceDump) Size() (size int) {
  2112  	if m == nil {
  2113  		return 0
  2114  	}
  2115  	size += 4 // m.SpdIndex
  2116  	size += 1 // m.SpdIndexValid
  2117  	return size
  2118  }
  2119  func (m *IpsecSpdInterfaceDump) Marshal(b []byte) ([]byte, error) {
  2120  	if b == nil {
  2121  		b = make([]byte, m.Size())
  2122  	}
  2123  	buf := codec.NewBuffer(b)
  2124  	buf.EncodeUint32(m.SpdIndex)
  2125  	buf.EncodeUint8(m.SpdIndexValid)
  2126  	return buf.Bytes(), nil
  2127  }
  2128  func (m *IpsecSpdInterfaceDump) Unmarshal(b []byte) error {
  2129  	buf := codec.NewBuffer(b)
  2130  	m.SpdIndex = buf.DecodeUint32()
  2131  	m.SpdIndexValid = buf.DecodeUint8()
  2132  	return nil
  2133  }
  2134  
  2135  // IpsecSpdsDetails defines message 'ipsec_spds_details'.
  2136  type IpsecSpdsDetails struct {
  2137  	SpdID     uint32 `binapi:"u32,name=spd_id" json:"spd_id,omitempty"`
  2138  	Npolicies uint32 `binapi:"u32,name=npolicies" json:"npolicies,omitempty"`
  2139  }
  2140  
  2141  func (m *IpsecSpdsDetails) Reset()               { *m = IpsecSpdsDetails{} }
  2142  func (*IpsecSpdsDetails) GetMessageName() string { return "ipsec_spds_details" }
  2143  func (*IpsecSpdsDetails) GetCrcString() string   { return "a04bb254" }
  2144  func (*IpsecSpdsDetails) GetMessageType() api.MessageType {
  2145  	return api.ReplyMessage
  2146  }
  2147  
  2148  func (m *IpsecSpdsDetails) Size() (size int) {
  2149  	if m == nil {
  2150  		return 0
  2151  	}
  2152  	size += 4 // m.SpdID
  2153  	size += 4 // m.Npolicies
  2154  	return size
  2155  }
  2156  func (m *IpsecSpdsDetails) Marshal(b []byte) ([]byte, error) {
  2157  	if b == nil {
  2158  		b = make([]byte, m.Size())
  2159  	}
  2160  	buf := codec.NewBuffer(b)
  2161  	buf.EncodeUint32(m.SpdID)
  2162  	buf.EncodeUint32(m.Npolicies)
  2163  	return buf.Bytes(), nil
  2164  }
  2165  func (m *IpsecSpdsDetails) Unmarshal(b []byte) error {
  2166  	buf := codec.NewBuffer(b)
  2167  	m.SpdID = buf.DecodeUint32()
  2168  	m.Npolicies = buf.DecodeUint32()
  2169  	return nil
  2170  }
  2171  
  2172  // IpsecSpdsDump defines message 'ipsec_spds_dump'.
  2173  type IpsecSpdsDump struct{}
  2174  
  2175  func (m *IpsecSpdsDump) Reset()               { *m = IpsecSpdsDump{} }
  2176  func (*IpsecSpdsDump) GetMessageName() string { return "ipsec_spds_dump" }
  2177  func (*IpsecSpdsDump) GetCrcString() string   { return "51077d14" }
  2178  func (*IpsecSpdsDump) GetMessageType() api.MessageType {
  2179  	return api.RequestMessage
  2180  }
  2181  
  2182  func (m *IpsecSpdsDump) Size() (size int) {
  2183  	if m == nil {
  2184  		return 0
  2185  	}
  2186  	return size
  2187  }
  2188  func (m *IpsecSpdsDump) Marshal(b []byte) ([]byte, error) {
  2189  	if b == nil {
  2190  		b = make([]byte, m.Size())
  2191  	}
  2192  	buf := codec.NewBuffer(b)
  2193  	return buf.Bytes(), nil
  2194  }
  2195  func (m *IpsecSpdsDump) Unmarshal(b []byte) error {
  2196  	return nil
  2197  }
  2198  
  2199  // IpsecTunnelProtectDel defines message 'ipsec_tunnel_protect_del'.
  2200  type IpsecTunnelProtectDel struct {
  2201  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  2202  	Nh        ip_types.Address               `binapi:"address,name=nh" json:"nh,omitempty"`
  2203  }
  2204  
  2205  func (m *IpsecTunnelProtectDel) Reset()               { *m = IpsecTunnelProtectDel{} }
  2206  func (*IpsecTunnelProtectDel) GetMessageName() string { return "ipsec_tunnel_protect_del" }
  2207  func (*IpsecTunnelProtectDel) GetCrcString() string   { return "cd239930" }
  2208  func (*IpsecTunnelProtectDel) GetMessageType() api.MessageType {
  2209  	return api.RequestMessage
  2210  }
  2211  
  2212  func (m *IpsecTunnelProtectDel) Size() (size int) {
  2213  	if m == nil {
  2214  		return 0
  2215  	}
  2216  	size += 4      // m.SwIfIndex
  2217  	size += 1      // m.Nh.Af
  2218  	size += 1 * 16 // m.Nh.Un
  2219  	return size
  2220  }
  2221  func (m *IpsecTunnelProtectDel) Marshal(b []byte) ([]byte, error) {
  2222  	if b == nil {
  2223  		b = make([]byte, m.Size())
  2224  	}
  2225  	buf := codec.NewBuffer(b)
  2226  	buf.EncodeUint32(uint32(m.SwIfIndex))
  2227  	buf.EncodeUint8(uint8(m.Nh.Af))
  2228  	buf.EncodeBytes(m.Nh.Un.XXX_UnionData[:], 16)
  2229  	return buf.Bytes(), nil
  2230  }
  2231  func (m *IpsecTunnelProtectDel) Unmarshal(b []byte) error {
  2232  	buf := codec.NewBuffer(b)
  2233  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  2234  	m.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8())
  2235  	copy(m.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  2236  	return nil
  2237  }
  2238  
  2239  // IpsecTunnelProtectDelReply defines message 'ipsec_tunnel_protect_del_reply'.
  2240  type IpsecTunnelProtectDelReply struct {
  2241  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  2242  }
  2243  
  2244  func (m *IpsecTunnelProtectDelReply) Reset()               { *m = IpsecTunnelProtectDelReply{} }
  2245  func (*IpsecTunnelProtectDelReply) GetMessageName() string { return "ipsec_tunnel_protect_del_reply" }
  2246  func (*IpsecTunnelProtectDelReply) GetCrcString() string   { return "e8d4e804" }
  2247  func (*IpsecTunnelProtectDelReply) GetMessageType() api.MessageType {
  2248  	return api.ReplyMessage
  2249  }
  2250  
  2251  func (m *IpsecTunnelProtectDelReply) Size() (size int) {
  2252  	if m == nil {
  2253  		return 0
  2254  	}
  2255  	size += 4 // m.Retval
  2256  	return size
  2257  }
  2258  func (m *IpsecTunnelProtectDelReply) Marshal(b []byte) ([]byte, error) {
  2259  	if b == nil {
  2260  		b = make([]byte, m.Size())
  2261  	}
  2262  	buf := codec.NewBuffer(b)
  2263  	buf.EncodeInt32(m.Retval)
  2264  	return buf.Bytes(), nil
  2265  }
  2266  func (m *IpsecTunnelProtectDelReply) Unmarshal(b []byte) error {
  2267  	buf := codec.NewBuffer(b)
  2268  	m.Retval = buf.DecodeInt32()
  2269  	return nil
  2270  }
  2271  
  2272  // IpsecTunnelProtectDetails defines message 'ipsec_tunnel_protect_details'.
  2273  type IpsecTunnelProtectDetails struct {
  2274  	Tun IpsecTunnelProtect `binapi:"ipsec_tunnel_protect,name=tun" json:"tun,omitempty"`
  2275  }
  2276  
  2277  func (m *IpsecTunnelProtectDetails) Reset()               { *m = IpsecTunnelProtectDetails{} }
  2278  func (*IpsecTunnelProtectDetails) GetMessageName() string { return "ipsec_tunnel_protect_details" }
  2279  func (*IpsecTunnelProtectDetails) GetCrcString() string   { return "21663a50" }
  2280  func (*IpsecTunnelProtectDetails) GetMessageType() api.MessageType {
  2281  	return api.ReplyMessage
  2282  }
  2283  
  2284  func (m *IpsecTunnelProtectDetails) Size() (size int) {
  2285  	if m == nil {
  2286  		return 0
  2287  	}
  2288  	size += 4                   // m.Tun.SwIfIndex
  2289  	size += 1                   // m.Tun.Nh.Af
  2290  	size += 1 * 16              // m.Tun.Nh.Un
  2291  	size += 4                   // m.Tun.SaOut
  2292  	size += 1                   // m.Tun.NSaIn
  2293  	size += 4 * len(m.Tun.SaIn) // m.Tun.SaIn
  2294  	return size
  2295  }
  2296  func (m *IpsecTunnelProtectDetails) Marshal(b []byte) ([]byte, error) {
  2297  	if b == nil {
  2298  		b = make([]byte, m.Size())
  2299  	}
  2300  	buf := codec.NewBuffer(b)
  2301  	buf.EncodeUint32(uint32(m.Tun.SwIfIndex))
  2302  	buf.EncodeUint8(uint8(m.Tun.Nh.Af))
  2303  	buf.EncodeBytes(m.Tun.Nh.Un.XXX_UnionData[:], 16)
  2304  	buf.EncodeUint32(m.Tun.SaOut)
  2305  	buf.EncodeUint8(uint8(len(m.Tun.SaIn)))
  2306  	for i := 0; i < len(m.Tun.SaIn); i++ {
  2307  		var x uint32
  2308  		if i < len(m.Tun.SaIn) {
  2309  			x = uint32(m.Tun.SaIn[i])
  2310  		}
  2311  		buf.EncodeUint32(x)
  2312  	}
  2313  	return buf.Bytes(), nil
  2314  }
  2315  func (m *IpsecTunnelProtectDetails) Unmarshal(b []byte) error {
  2316  	buf := codec.NewBuffer(b)
  2317  	m.Tun.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  2318  	m.Tun.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8())
  2319  	copy(m.Tun.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  2320  	m.Tun.SaOut = buf.DecodeUint32()
  2321  	m.Tun.NSaIn = buf.DecodeUint8()
  2322  	m.Tun.SaIn = make([]uint32, m.Tun.NSaIn)
  2323  	for i := 0; i < len(m.Tun.SaIn); i++ {
  2324  		m.Tun.SaIn[i] = buf.DecodeUint32()
  2325  	}
  2326  	return nil
  2327  }
  2328  
  2329  // IpsecTunnelProtectDump defines message 'ipsec_tunnel_protect_dump'.
  2330  type IpsecTunnelProtectDump struct {
  2331  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  2332  }
  2333  
  2334  func (m *IpsecTunnelProtectDump) Reset()               { *m = IpsecTunnelProtectDump{} }
  2335  func (*IpsecTunnelProtectDump) GetMessageName() string { return "ipsec_tunnel_protect_dump" }
  2336  func (*IpsecTunnelProtectDump) GetCrcString() string   { return "f9e6675e" }
  2337  func (*IpsecTunnelProtectDump) GetMessageType() api.MessageType {
  2338  	return api.RequestMessage
  2339  }
  2340  
  2341  func (m *IpsecTunnelProtectDump) Size() (size int) {
  2342  	if m == nil {
  2343  		return 0
  2344  	}
  2345  	size += 4 // m.SwIfIndex
  2346  	return size
  2347  }
  2348  func (m *IpsecTunnelProtectDump) Marshal(b []byte) ([]byte, error) {
  2349  	if b == nil {
  2350  		b = make([]byte, m.Size())
  2351  	}
  2352  	buf := codec.NewBuffer(b)
  2353  	buf.EncodeUint32(uint32(m.SwIfIndex))
  2354  	return buf.Bytes(), nil
  2355  }
  2356  func (m *IpsecTunnelProtectDump) Unmarshal(b []byte) error {
  2357  	buf := codec.NewBuffer(b)
  2358  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  2359  	return nil
  2360  }
  2361  
  2362  // IpsecTunnelProtectUpdate defines message 'ipsec_tunnel_protect_update'.
  2363  type IpsecTunnelProtectUpdate struct {
  2364  	Tunnel IpsecTunnelProtect `binapi:"ipsec_tunnel_protect,name=tunnel" json:"tunnel,omitempty"`
  2365  }
  2366  
  2367  func (m *IpsecTunnelProtectUpdate) Reset()               { *m = IpsecTunnelProtectUpdate{} }
  2368  func (*IpsecTunnelProtectUpdate) GetMessageName() string { return "ipsec_tunnel_protect_update" }
  2369  func (*IpsecTunnelProtectUpdate) GetCrcString() string   { return "30d5f133" }
  2370  func (*IpsecTunnelProtectUpdate) GetMessageType() api.MessageType {
  2371  	return api.RequestMessage
  2372  }
  2373  
  2374  func (m *IpsecTunnelProtectUpdate) Size() (size int) {
  2375  	if m == nil {
  2376  		return 0
  2377  	}
  2378  	size += 4                      // m.Tunnel.SwIfIndex
  2379  	size += 1                      // m.Tunnel.Nh.Af
  2380  	size += 1 * 16                 // m.Tunnel.Nh.Un
  2381  	size += 4                      // m.Tunnel.SaOut
  2382  	size += 1                      // m.Tunnel.NSaIn
  2383  	size += 4 * len(m.Tunnel.SaIn) // m.Tunnel.SaIn
  2384  	return size
  2385  }
  2386  func (m *IpsecTunnelProtectUpdate) Marshal(b []byte) ([]byte, error) {
  2387  	if b == nil {
  2388  		b = make([]byte, m.Size())
  2389  	}
  2390  	buf := codec.NewBuffer(b)
  2391  	buf.EncodeUint32(uint32(m.Tunnel.SwIfIndex))
  2392  	buf.EncodeUint8(uint8(m.Tunnel.Nh.Af))
  2393  	buf.EncodeBytes(m.Tunnel.Nh.Un.XXX_UnionData[:], 16)
  2394  	buf.EncodeUint32(m.Tunnel.SaOut)
  2395  	buf.EncodeUint8(uint8(len(m.Tunnel.SaIn)))
  2396  	for i := 0; i < len(m.Tunnel.SaIn); i++ {
  2397  		var x uint32
  2398  		if i < len(m.Tunnel.SaIn) {
  2399  			x = uint32(m.Tunnel.SaIn[i])
  2400  		}
  2401  		buf.EncodeUint32(x)
  2402  	}
  2403  	return buf.Bytes(), nil
  2404  }
  2405  func (m *IpsecTunnelProtectUpdate) Unmarshal(b []byte) error {
  2406  	buf := codec.NewBuffer(b)
  2407  	m.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  2408  	m.Tunnel.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8())
  2409  	copy(m.Tunnel.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  2410  	m.Tunnel.SaOut = buf.DecodeUint32()
  2411  	m.Tunnel.NSaIn = buf.DecodeUint8()
  2412  	m.Tunnel.SaIn = make([]uint32, m.Tunnel.NSaIn)
  2413  	for i := 0; i < len(m.Tunnel.SaIn); i++ {
  2414  		m.Tunnel.SaIn[i] = buf.DecodeUint32()
  2415  	}
  2416  	return nil
  2417  }
  2418  
  2419  // IpsecTunnelProtectUpdateReply defines message 'ipsec_tunnel_protect_update_reply'.
  2420  type IpsecTunnelProtectUpdateReply struct {
  2421  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  2422  }
  2423  
  2424  func (m *IpsecTunnelProtectUpdateReply) Reset() { *m = IpsecTunnelProtectUpdateReply{} }
  2425  func (*IpsecTunnelProtectUpdateReply) GetMessageName() string {
  2426  	return "ipsec_tunnel_protect_update_reply"
  2427  }
  2428  func (*IpsecTunnelProtectUpdateReply) GetCrcString() string { return "e8d4e804" }
  2429  func (*IpsecTunnelProtectUpdateReply) GetMessageType() api.MessageType {
  2430  	return api.ReplyMessage
  2431  }
  2432  
  2433  func (m *IpsecTunnelProtectUpdateReply) Size() (size int) {
  2434  	if m == nil {
  2435  		return 0
  2436  	}
  2437  	size += 4 // m.Retval
  2438  	return size
  2439  }
  2440  func (m *IpsecTunnelProtectUpdateReply) Marshal(b []byte) ([]byte, error) {
  2441  	if b == nil {
  2442  		b = make([]byte, m.Size())
  2443  	}
  2444  	buf := codec.NewBuffer(b)
  2445  	buf.EncodeInt32(m.Retval)
  2446  	return buf.Bytes(), nil
  2447  }
  2448  func (m *IpsecTunnelProtectUpdateReply) Unmarshal(b []byte) error {
  2449  	buf := codec.NewBuffer(b)
  2450  	m.Retval = buf.DecodeInt32()
  2451  	return nil
  2452  }
  2453  
  2454  func init() { file_ipsec_binapi_init() }
  2455  func file_ipsec_binapi_init() {
  2456  	api.RegisterMessage((*IpsecBackendDetails)(nil), "ipsec_backend_details_ee601c29")
  2457  	api.RegisterMessage((*IpsecBackendDump)(nil), "ipsec_backend_dump_51077d14")
  2458  	api.RegisterMessage((*IpsecInterfaceAddDelSpd)(nil), "ipsec_interface_add_del_spd_80f80cbb")
  2459  	api.RegisterMessage((*IpsecInterfaceAddDelSpdReply)(nil), "ipsec_interface_add_del_spd_reply_e8d4e804")
  2460  	api.RegisterMessage((*IpsecItfCreate)(nil), "ipsec_itf_create_6f50b3bc")
  2461  	api.RegisterMessage((*IpsecItfCreateReply)(nil), "ipsec_itf_create_reply_5383d31f")
  2462  	api.RegisterMessage((*IpsecItfDelete)(nil), "ipsec_itf_delete_f9e6675e")
  2463  	api.RegisterMessage((*IpsecItfDeleteReply)(nil), "ipsec_itf_delete_reply_e8d4e804")
  2464  	api.RegisterMessage((*IpsecItfDetails)(nil), "ipsec_itf_details_548a73b8")
  2465  	api.RegisterMessage((*IpsecItfDump)(nil), "ipsec_itf_dump_f9e6675e")
  2466  	api.RegisterMessage((*IpsecSaDetails)(nil), "ipsec_sa_details_345d14a7")
  2467  	api.RegisterMessage((*IpsecSaDump)(nil), "ipsec_sa_dump_2076c2f4")
  2468  	api.RegisterMessage((*IpsecSaV2Details)(nil), "ipsec_sa_v2_details_e2130051")
  2469  	api.RegisterMessage((*IpsecSaV2Dump)(nil), "ipsec_sa_v2_dump_2076c2f4")
  2470  	api.RegisterMessage((*IpsecSaV3Details)(nil), "ipsec_sa_v3_details_2fc991ee")
  2471  	api.RegisterMessage((*IpsecSaV3Dump)(nil), "ipsec_sa_v3_dump_2076c2f4")
  2472  	api.RegisterMessage((*IpsecSadEntryAdd)(nil), "ipsec_sad_entry_add_50229353")
  2473  	api.RegisterMessage((*IpsecSadEntryAddDel)(nil), "ipsec_sad_entry_add_del_ab64b5c6")
  2474  	api.RegisterMessage((*IpsecSadEntryAddDelReply)(nil), "ipsec_sad_entry_add_del_reply_9ffac24b")
  2475  	api.RegisterMessage((*IpsecSadEntryAddDelV2)(nil), "ipsec_sad_entry_add_del_v2_aca78b27")
  2476  	api.RegisterMessage((*IpsecSadEntryAddDelV2Reply)(nil), "ipsec_sad_entry_add_del_v2_reply_9ffac24b")
  2477  	api.RegisterMessage((*IpsecSadEntryAddDelV3)(nil), "ipsec_sad_entry_add_del_v3_c77ebd92")
  2478  	api.RegisterMessage((*IpsecSadEntryAddDelV3Reply)(nil), "ipsec_sad_entry_add_del_v3_reply_9ffac24b")
  2479  	api.RegisterMessage((*IpsecSadEntryAddReply)(nil), "ipsec_sad_entry_add_reply_9ffac24b")
  2480  	api.RegisterMessage((*IpsecSadEntryDel)(nil), "ipsec_sad_entry_del_3a91bde5")
  2481  	api.RegisterMessage((*IpsecSadEntryDelReply)(nil), "ipsec_sad_entry_del_reply_e8d4e804")
  2482  	api.RegisterMessage((*IpsecSelectBackend)(nil), "ipsec_select_backend_5bcfd3b7")
  2483  	api.RegisterMessage((*IpsecSelectBackendReply)(nil), "ipsec_select_backend_reply_e8d4e804")
  2484  	api.RegisterMessage((*IpsecSetAsyncMode)(nil), "ipsec_set_async_mode_a6465f7c")
  2485  	api.RegisterMessage((*IpsecSetAsyncModeReply)(nil), "ipsec_set_async_mode_reply_e8d4e804")
  2486  	api.RegisterMessage((*IpsecSpdAddDel)(nil), "ipsec_spd_add_del_20e89a95")
  2487  	api.RegisterMessage((*IpsecSpdAddDelReply)(nil), "ipsec_spd_add_del_reply_e8d4e804")
  2488  	api.RegisterMessage((*IpsecSpdDetails)(nil), "ipsec_spd_details_5813d7a2")
  2489  	api.RegisterMessage((*IpsecSpdDump)(nil), "ipsec_spd_dump_afefbf7d")
  2490  	api.RegisterMessage((*IpsecSpdEntryAddDel)(nil), "ipsec_spd_entry_add_del_338b7411")
  2491  	api.RegisterMessage((*IpsecSpdEntryAddDelReply)(nil), "ipsec_spd_entry_add_del_reply_9ffac24b")
  2492  	api.RegisterMessage((*IpsecSpdEntryAddDelV2)(nil), "ipsec_spd_entry_add_del_v2_7bfe69fc")
  2493  	api.RegisterMessage((*IpsecSpdEntryAddDelV2Reply)(nil), "ipsec_spd_entry_add_del_v2_reply_9ffac24b")
  2494  	api.RegisterMessage((*IpsecSpdInterfaceDetails)(nil), "ipsec_spd_interface_details_7a0bcf3e")
  2495  	api.RegisterMessage((*IpsecSpdInterfaceDump)(nil), "ipsec_spd_interface_dump_8971de19")
  2496  	api.RegisterMessage((*IpsecSpdsDetails)(nil), "ipsec_spds_details_a04bb254")
  2497  	api.RegisterMessage((*IpsecSpdsDump)(nil), "ipsec_spds_dump_51077d14")
  2498  	api.RegisterMessage((*IpsecTunnelProtectDel)(nil), "ipsec_tunnel_protect_del_cd239930")
  2499  	api.RegisterMessage((*IpsecTunnelProtectDelReply)(nil), "ipsec_tunnel_protect_del_reply_e8d4e804")
  2500  	api.RegisterMessage((*IpsecTunnelProtectDetails)(nil), "ipsec_tunnel_protect_details_21663a50")
  2501  	api.RegisterMessage((*IpsecTunnelProtectDump)(nil), "ipsec_tunnel_protect_dump_f9e6675e")
  2502  	api.RegisterMessage((*IpsecTunnelProtectUpdate)(nil), "ipsec_tunnel_protect_update_30d5f133")
  2503  	api.RegisterMessage((*IpsecTunnelProtectUpdateReply)(nil), "ipsec_tunnel_protect_update_reply_e8d4e804")
  2504  }
  2505  
  2506  // Messages returns list of all messages in this module.
  2507  func AllMessages() []api.Message {
  2508  	return []api.Message{
  2509  		(*IpsecBackendDetails)(nil),
  2510  		(*IpsecBackendDump)(nil),
  2511  		(*IpsecInterfaceAddDelSpd)(nil),
  2512  		(*IpsecInterfaceAddDelSpdReply)(nil),
  2513  		(*IpsecItfCreate)(nil),
  2514  		(*IpsecItfCreateReply)(nil),
  2515  		(*IpsecItfDelete)(nil),
  2516  		(*IpsecItfDeleteReply)(nil),
  2517  		(*IpsecItfDetails)(nil),
  2518  		(*IpsecItfDump)(nil),
  2519  		(*IpsecSaDetails)(nil),
  2520  		(*IpsecSaDump)(nil),
  2521  		(*IpsecSaV2Details)(nil),
  2522  		(*IpsecSaV2Dump)(nil),
  2523  		(*IpsecSaV3Details)(nil),
  2524  		(*IpsecSaV3Dump)(nil),
  2525  		(*IpsecSadEntryAdd)(nil),
  2526  		(*IpsecSadEntryAddDel)(nil),
  2527  		(*IpsecSadEntryAddDelReply)(nil),
  2528  		(*IpsecSadEntryAddDelV2)(nil),
  2529  		(*IpsecSadEntryAddDelV2Reply)(nil),
  2530  		(*IpsecSadEntryAddDelV3)(nil),
  2531  		(*IpsecSadEntryAddDelV3Reply)(nil),
  2532  		(*IpsecSadEntryAddReply)(nil),
  2533  		(*IpsecSadEntryDel)(nil),
  2534  		(*IpsecSadEntryDelReply)(nil),
  2535  		(*IpsecSelectBackend)(nil),
  2536  		(*IpsecSelectBackendReply)(nil),
  2537  		(*IpsecSetAsyncMode)(nil),
  2538  		(*IpsecSetAsyncModeReply)(nil),
  2539  		(*IpsecSpdAddDel)(nil),
  2540  		(*IpsecSpdAddDelReply)(nil),
  2541  		(*IpsecSpdDetails)(nil),
  2542  		(*IpsecSpdDump)(nil),
  2543  		(*IpsecSpdEntryAddDel)(nil),
  2544  		(*IpsecSpdEntryAddDelReply)(nil),
  2545  		(*IpsecSpdEntryAddDelV2)(nil),
  2546  		(*IpsecSpdEntryAddDelV2Reply)(nil),
  2547  		(*IpsecSpdInterfaceDetails)(nil),
  2548  		(*IpsecSpdInterfaceDump)(nil),
  2549  		(*IpsecSpdsDetails)(nil),
  2550  		(*IpsecSpdsDump)(nil),
  2551  		(*IpsecTunnelProtectDel)(nil),
  2552  		(*IpsecTunnelProtectDelReply)(nil),
  2553  		(*IpsecTunnelProtectDetails)(nil),
  2554  		(*IpsecTunnelProtectDump)(nil),
  2555  		(*IpsecTunnelProtectUpdate)(nil),
  2556  		(*IpsecTunnelProtectUpdateReply)(nil),
  2557  	}
  2558  }