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