github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/ikev2/ikev2.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  // versions:
     3  //  binapi-generator: v0.4.0-dev
     4  //  VPP:              23.02-rc0~189-g57127b32a
     5  // source: /usr/share/vpp/api/plugins/ikev2.api.json
     6  
     7  // Package ikev2 contains generated bindings for API file ikev2.api.
     8  //
     9  // Contents:
    10  //  50 messages
    11  //
    12  package ikev2
    13  
    14  import (
    15  	api "git.fd.io/govpp.git/api"
    16  	codec "git.fd.io/govpp.git/codec"
    17  	ikev2_types "github.com/edwarnicke/govpp/binapi/ikev2_types"
    18  	interface_types "github.com/edwarnicke/govpp/binapi/interface_types"
    19  	ip_types "github.com/edwarnicke/govpp/binapi/ip_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    = "ikev2"
    30  	APIVersion = "1.0.1"
    31  	VersionCrc = 0x8eb2437c
    32  )
    33  
    34  // Ikev2ChildSaDetails defines message 'ikev2_child_sa_details'.
    35  // InProgress: the message form may change in the future versions
    36  type Ikev2ChildSaDetails struct {
    37  	Retval  int32                    `binapi:"i32,name=retval" json:"retval,omitempty"`
    38  	ChildSa ikev2_types.Ikev2ChildSa `binapi:"ikev2_child_sa,name=child_sa" json:"child_sa,omitempty"`
    39  }
    40  
    41  func (m *Ikev2ChildSaDetails) Reset()               { *m = Ikev2ChildSaDetails{} }
    42  func (*Ikev2ChildSaDetails) GetMessageName() string { return "ikev2_child_sa_details" }
    43  func (*Ikev2ChildSaDetails) GetCrcString() string   { return "ff67741f" }
    44  func (*Ikev2ChildSaDetails) GetMessageType() api.MessageType {
    45  	return api.ReplyMessage
    46  }
    47  
    48  func (m *Ikev2ChildSaDetails) Size() (size int) {
    49  	if m == nil {
    50  		return 0
    51  	}
    52  	size += 4      // m.Retval
    53  	size += 4      // m.ChildSa.SaIndex
    54  	size += 4      // m.ChildSa.ChildSaIndex
    55  	size += 4      // m.ChildSa.ISpi
    56  	size += 4      // m.ChildSa.RSpi
    57  	size += 1 * 64 // m.ChildSa.Keys.SkD
    58  	size += 1      // m.ChildSa.Keys.SkDLen
    59  	size += 1 * 64 // m.ChildSa.Keys.SkAi
    60  	size += 1      // m.ChildSa.Keys.SkAiLen
    61  	size += 1 * 64 // m.ChildSa.Keys.SkAr
    62  	size += 1      // m.ChildSa.Keys.SkArLen
    63  	size += 1 * 64 // m.ChildSa.Keys.SkEi
    64  	size += 1      // m.ChildSa.Keys.SkEiLen
    65  	size += 1 * 64 // m.ChildSa.Keys.SkEr
    66  	size += 1      // m.ChildSa.Keys.SkErLen
    67  	size += 1 * 64 // m.ChildSa.Keys.SkPi
    68  	size += 1      // m.ChildSa.Keys.SkPiLen
    69  	size += 1 * 64 // m.ChildSa.Keys.SkPr
    70  	size += 1      // m.ChildSa.Keys.SkPrLen
    71  	size += 1      // m.ChildSa.Encryption.TransformType
    72  	size += 2      // m.ChildSa.Encryption.TransformID
    73  	size += 2      // m.ChildSa.Encryption.KeyLen
    74  	size += 2      // m.ChildSa.Encryption.KeyTrunc
    75  	size += 2      // m.ChildSa.Encryption.BlockSize
    76  	size += 1      // m.ChildSa.Encryption.DhGroup
    77  	size += 1      // m.ChildSa.Integrity.TransformType
    78  	size += 2      // m.ChildSa.Integrity.TransformID
    79  	size += 2      // m.ChildSa.Integrity.KeyLen
    80  	size += 2      // m.ChildSa.Integrity.KeyTrunc
    81  	size += 2      // m.ChildSa.Integrity.BlockSize
    82  	size += 1      // m.ChildSa.Integrity.DhGroup
    83  	size += 1      // m.ChildSa.Esn.TransformType
    84  	size += 2      // m.ChildSa.Esn.TransformID
    85  	size += 2      // m.ChildSa.Esn.KeyLen
    86  	size += 2      // m.ChildSa.Esn.KeyTrunc
    87  	size += 2      // m.ChildSa.Esn.BlockSize
    88  	size += 1      // m.ChildSa.Esn.DhGroup
    89  	return size
    90  }
    91  func (m *Ikev2ChildSaDetails) Marshal(b []byte) ([]byte, error) {
    92  	if b == nil {
    93  		b = make([]byte, m.Size())
    94  	}
    95  	buf := codec.NewBuffer(b)
    96  	buf.EncodeInt32(m.Retval)
    97  	buf.EncodeUint32(m.ChildSa.SaIndex)
    98  	buf.EncodeUint32(m.ChildSa.ChildSaIndex)
    99  	buf.EncodeUint32(m.ChildSa.ISpi)
   100  	buf.EncodeUint32(m.ChildSa.RSpi)
   101  	buf.EncodeBytes(m.ChildSa.Keys.SkD, 64)
   102  	buf.EncodeUint8(m.ChildSa.Keys.SkDLen)
   103  	buf.EncodeBytes(m.ChildSa.Keys.SkAi, 64)
   104  	buf.EncodeUint8(m.ChildSa.Keys.SkAiLen)
   105  	buf.EncodeBytes(m.ChildSa.Keys.SkAr, 64)
   106  	buf.EncodeUint8(m.ChildSa.Keys.SkArLen)
   107  	buf.EncodeBytes(m.ChildSa.Keys.SkEi, 64)
   108  	buf.EncodeUint8(m.ChildSa.Keys.SkEiLen)
   109  	buf.EncodeBytes(m.ChildSa.Keys.SkEr, 64)
   110  	buf.EncodeUint8(m.ChildSa.Keys.SkErLen)
   111  	buf.EncodeBytes(m.ChildSa.Keys.SkPi, 64)
   112  	buf.EncodeUint8(m.ChildSa.Keys.SkPiLen)
   113  	buf.EncodeBytes(m.ChildSa.Keys.SkPr, 64)
   114  	buf.EncodeUint8(m.ChildSa.Keys.SkPrLen)
   115  	buf.EncodeUint8(m.ChildSa.Encryption.TransformType)
   116  	buf.EncodeUint16(m.ChildSa.Encryption.TransformID)
   117  	buf.EncodeUint16(m.ChildSa.Encryption.KeyLen)
   118  	buf.EncodeUint16(m.ChildSa.Encryption.KeyTrunc)
   119  	buf.EncodeUint16(m.ChildSa.Encryption.BlockSize)
   120  	buf.EncodeUint8(m.ChildSa.Encryption.DhGroup)
   121  	buf.EncodeUint8(m.ChildSa.Integrity.TransformType)
   122  	buf.EncodeUint16(m.ChildSa.Integrity.TransformID)
   123  	buf.EncodeUint16(m.ChildSa.Integrity.KeyLen)
   124  	buf.EncodeUint16(m.ChildSa.Integrity.KeyTrunc)
   125  	buf.EncodeUint16(m.ChildSa.Integrity.BlockSize)
   126  	buf.EncodeUint8(m.ChildSa.Integrity.DhGroup)
   127  	buf.EncodeUint8(m.ChildSa.Esn.TransformType)
   128  	buf.EncodeUint16(m.ChildSa.Esn.TransformID)
   129  	buf.EncodeUint16(m.ChildSa.Esn.KeyLen)
   130  	buf.EncodeUint16(m.ChildSa.Esn.KeyTrunc)
   131  	buf.EncodeUint16(m.ChildSa.Esn.BlockSize)
   132  	buf.EncodeUint8(m.ChildSa.Esn.DhGroup)
   133  	return buf.Bytes(), nil
   134  }
   135  func (m *Ikev2ChildSaDetails) Unmarshal(b []byte) error {
   136  	buf := codec.NewBuffer(b)
   137  	m.Retval = buf.DecodeInt32()
   138  	m.ChildSa.SaIndex = buf.DecodeUint32()
   139  	m.ChildSa.ChildSaIndex = buf.DecodeUint32()
   140  	m.ChildSa.ISpi = buf.DecodeUint32()
   141  	m.ChildSa.RSpi = buf.DecodeUint32()
   142  	m.ChildSa.Keys.SkD = make([]byte, 64)
   143  	copy(m.ChildSa.Keys.SkD, buf.DecodeBytes(len(m.ChildSa.Keys.SkD)))
   144  	m.ChildSa.Keys.SkDLen = buf.DecodeUint8()
   145  	m.ChildSa.Keys.SkAi = make([]byte, 64)
   146  	copy(m.ChildSa.Keys.SkAi, buf.DecodeBytes(len(m.ChildSa.Keys.SkAi)))
   147  	m.ChildSa.Keys.SkAiLen = buf.DecodeUint8()
   148  	m.ChildSa.Keys.SkAr = make([]byte, 64)
   149  	copy(m.ChildSa.Keys.SkAr, buf.DecodeBytes(len(m.ChildSa.Keys.SkAr)))
   150  	m.ChildSa.Keys.SkArLen = buf.DecodeUint8()
   151  	m.ChildSa.Keys.SkEi = make([]byte, 64)
   152  	copy(m.ChildSa.Keys.SkEi, buf.DecodeBytes(len(m.ChildSa.Keys.SkEi)))
   153  	m.ChildSa.Keys.SkEiLen = buf.DecodeUint8()
   154  	m.ChildSa.Keys.SkEr = make([]byte, 64)
   155  	copy(m.ChildSa.Keys.SkEr, buf.DecodeBytes(len(m.ChildSa.Keys.SkEr)))
   156  	m.ChildSa.Keys.SkErLen = buf.DecodeUint8()
   157  	m.ChildSa.Keys.SkPi = make([]byte, 64)
   158  	copy(m.ChildSa.Keys.SkPi, buf.DecodeBytes(len(m.ChildSa.Keys.SkPi)))
   159  	m.ChildSa.Keys.SkPiLen = buf.DecodeUint8()
   160  	m.ChildSa.Keys.SkPr = make([]byte, 64)
   161  	copy(m.ChildSa.Keys.SkPr, buf.DecodeBytes(len(m.ChildSa.Keys.SkPr)))
   162  	m.ChildSa.Keys.SkPrLen = buf.DecodeUint8()
   163  	m.ChildSa.Encryption.TransformType = buf.DecodeUint8()
   164  	m.ChildSa.Encryption.TransformID = buf.DecodeUint16()
   165  	m.ChildSa.Encryption.KeyLen = buf.DecodeUint16()
   166  	m.ChildSa.Encryption.KeyTrunc = buf.DecodeUint16()
   167  	m.ChildSa.Encryption.BlockSize = buf.DecodeUint16()
   168  	m.ChildSa.Encryption.DhGroup = buf.DecodeUint8()
   169  	m.ChildSa.Integrity.TransformType = buf.DecodeUint8()
   170  	m.ChildSa.Integrity.TransformID = buf.DecodeUint16()
   171  	m.ChildSa.Integrity.KeyLen = buf.DecodeUint16()
   172  	m.ChildSa.Integrity.KeyTrunc = buf.DecodeUint16()
   173  	m.ChildSa.Integrity.BlockSize = buf.DecodeUint16()
   174  	m.ChildSa.Integrity.DhGroup = buf.DecodeUint8()
   175  	m.ChildSa.Esn.TransformType = buf.DecodeUint8()
   176  	m.ChildSa.Esn.TransformID = buf.DecodeUint16()
   177  	m.ChildSa.Esn.KeyLen = buf.DecodeUint16()
   178  	m.ChildSa.Esn.KeyTrunc = buf.DecodeUint16()
   179  	m.ChildSa.Esn.BlockSize = buf.DecodeUint16()
   180  	m.ChildSa.Esn.DhGroup = buf.DecodeUint8()
   181  	return nil
   182  }
   183  
   184  // Ikev2ChildSaDump defines message 'ikev2_child_sa_dump'.
   185  // InProgress: the message form may change in the future versions
   186  type Ikev2ChildSaDump struct {
   187  	SaIndex uint32 `binapi:"u32,name=sa_index" json:"sa_index,omitempty"`
   188  }
   189  
   190  func (m *Ikev2ChildSaDump) Reset()               { *m = Ikev2ChildSaDump{} }
   191  func (*Ikev2ChildSaDump) GetMessageName() string { return "ikev2_child_sa_dump" }
   192  func (*Ikev2ChildSaDump) GetCrcString() string   { return "01eab609" }
   193  func (*Ikev2ChildSaDump) GetMessageType() api.MessageType {
   194  	return api.RequestMessage
   195  }
   196  
   197  func (m *Ikev2ChildSaDump) Size() (size int) {
   198  	if m == nil {
   199  		return 0
   200  	}
   201  	size += 4 // m.SaIndex
   202  	return size
   203  }
   204  func (m *Ikev2ChildSaDump) Marshal(b []byte) ([]byte, error) {
   205  	if b == nil {
   206  		b = make([]byte, m.Size())
   207  	}
   208  	buf := codec.NewBuffer(b)
   209  	buf.EncodeUint32(m.SaIndex)
   210  	return buf.Bytes(), nil
   211  }
   212  func (m *Ikev2ChildSaDump) Unmarshal(b []byte) error {
   213  	buf := codec.NewBuffer(b)
   214  	m.SaIndex = buf.DecodeUint32()
   215  	return nil
   216  }
   217  
   218  // Ikev2InitiateDelChildSa defines message 'ikev2_initiate_del_child_sa'.
   219  // InProgress: the message form may change in the future versions
   220  type Ikev2InitiateDelChildSa struct {
   221  	Ispi uint32 `binapi:"u32,name=ispi" json:"ispi,omitempty"`
   222  }
   223  
   224  func (m *Ikev2InitiateDelChildSa) Reset()               { *m = Ikev2InitiateDelChildSa{} }
   225  func (*Ikev2InitiateDelChildSa) GetMessageName() string { return "ikev2_initiate_del_child_sa" }
   226  func (*Ikev2InitiateDelChildSa) GetCrcString() string   { return "7f004d2e" }
   227  func (*Ikev2InitiateDelChildSa) GetMessageType() api.MessageType {
   228  	return api.RequestMessage
   229  }
   230  
   231  func (m *Ikev2InitiateDelChildSa) Size() (size int) {
   232  	if m == nil {
   233  		return 0
   234  	}
   235  	size += 4 // m.Ispi
   236  	return size
   237  }
   238  func (m *Ikev2InitiateDelChildSa) Marshal(b []byte) ([]byte, error) {
   239  	if b == nil {
   240  		b = make([]byte, m.Size())
   241  	}
   242  	buf := codec.NewBuffer(b)
   243  	buf.EncodeUint32(m.Ispi)
   244  	return buf.Bytes(), nil
   245  }
   246  func (m *Ikev2InitiateDelChildSa) Unmarshal(b []byte) error {
   247  	buf := codec.NewBuffer(b)
   248  	m.Ispi = buf.DecodeUint32()
   249  	return nil
   250  }
   251  
   252  // Ikev2InitiateDelChildSaReply defines message 'ikev2_initiate_del_child_sa_reply'.
   253  // InProgress: the message form may change in the future versions
   254  type Ikev2InitiateDelChildSaReply struct {
   255  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   256  }
   257  
   258  func (m *Ikev2InitiateDelChildSaReply) Reset() { *m = Ikev2InitiateDelChildSaReply{} }
   259  func (*Ikev2InitiateDelChildSaReply) GetMessageName() string {
   260  	return "ikev2_initiate_del_child_sa_reply"
   261  }
   262  func (*Ikev2InitiateDelChildSaReply) GetCrcString() string { return "e8d4e804" }
   263  func (*Ikev2InitiateDelChildSaReply) GetMessageType() api.MessageType {
   264  	return api.ReplyMessage
   265  }
   266  
   267  func (m *Ikev2InitiateDelChildSaReply) Size() (size int) {
   268  	if m == nil {
   269  		return 0
   270  	}
   271  	size += 4 // m.Retval
   272  	return size
   273  }
   274  func (m *Ikev2InitiateDelChildSaReply) Marshal(b []byte) ([]byte, error) {
   275  	if b == nil {
   276  		b = make([]byte, m.Size())
   277  	}
   278  	buf := codec.NewBuffer(b)
   279  	buf.EncodeInt32(m.Retval)
   280  	return buf.Bytes(), nil
   281  }
   282  func (m *Ikev2InitiateDelChildSaReply) Unmarshal(b []byte) error {
   283  	buf := codec.NewBuffer(b)
   284  	m.Retval = buf.DecodeInt32()
   285  	return nil
   286  }
   287  
   288  // Ikev2InitiateDelIkeSa defines message 'ikev2_initiate_del_ike_sa'.
   289  // InProgress: the message form may change in the future versions
   290  type Ikev2InitiateDelIkeSa struct {
   291  	Ispi uint64 `binapi:"u64,name=ispi" json:"ispi,omitempty"`
   292  }
   293  
   294  func (m *Ikev2InitiateDelIkeSa) Reset()               { *m = Ikev2InitiateDelIkeSa{} }
   295  func (*Ikev2InitiateDelIkeSa) GetMessageName() string { return "ikev2_initiate_del_ike_sa" }
   296  func (*Ikev2InitiateDelIkeSa) GetCrcString() string   { return "8d125bdd" }
   297  func (*Ikev2InitiateDelIkeSa) GetMessageType() api.MessageType {
   298  	return api.RequestMessage
   299  }
   300  
   301  func (m *Ikev2InitiateDelIkeSa) Size() (size int) {
   302  	if m == nil {
   303  		return 0
   304  	}
   305  	size += 8 // m.Ispi
   306  	return size
   307  }
   308  func (m *Ikev2InitiateDelIkeSa) Marshal(b []byte) ([]byte, error) {
   309  	if b == nil {
   310  		b = make([]byte, m.Size())
   311  	}
   312  	buf := codec.NewBuffer(b)
   313  	buf.EncodeUint64(m.Ispi)
   314  	return buf.Bytes(), nil
   315  }
   316  func (m *Ikev2InitiateDelIkeSa) Unmarshal(b []byte) error {
   317  	buf := codec.NewBuffer(b)
   318  	m.Ispi = buf.DecodeUint64()
   319  	return nil
   320  }
   321  
   322  // Ikev2InitiateDelIkeSaReply defines message 'ikev2_initiate_del_ike_sa_reply'.
   323  // InProgress: the message form may change in the future versions
   324  type Ikev2InitiateDelIkeSaReply struct {
   325  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   326  }
   327  
   328  func (m *Ikev2InitiateDelIkeSaReply) Reset()               { *m = Ikev2InitiateDelIkeSaReply{} }
   329  func (*Ikev2InitiateDelIkeSaReply) GetMessageName() string { return "ikev2_initiate_del_ike_sa_reply" }
   330  func (*Ikev2InitiateDelIkeSaReply) GetCrcString() string   { return "e8d4e804" }
   331  func (*Ikev2InitiateDelIkeSaReply) GetMessageType() api.MessageType {
   332  	return api.ReplyMessage
   333  }
   334  
   335  func (m *Ikev2InitiateDelIkeSaReply) Size() (size int) {
   336  	if m == nil {
   337  		return 0
   338  	}
   339  	size += 4 // m.Retval
   340  	return size
   341  }
   342  func (m *Ikev2InitiateDelIkeSaReply) Marshal(b []byte) ([]byte, error) {
   343  	if b == nil {
   344  		b = make([]byte, m.Size())
   345  	}
   346  	buf := codec.NewBuffer(b)
   347  	buf.EncodeInt32(m.Retval)
   348  	return buf.Bytes(), nil
   349  }
   350  func (m *Ikev2InitiateDelIkeSaReply) Unmarshal(b []byte) error {
   351  	buf := codec.NewBuffer(b)
   352  	m.Retval = buf.DecodeInt32()
   353  	return nil
   354  }
   355  
   356  // Ikev2InitiateRekeyChildSa defines message 'ikev2_initiate_rekey_child_sa'.
   357  // InProgress: the message form may change in the future versions
   358  type Ikev2InitiateRekeyChildSa struct {
   359  	Ispi uint32 `binapi:"u32,name=ispi" json:"ispi,omitempty"`
   360  }
   361  
   362  func (m *Ikev2InitiateRekeyChildSa) Reset()               { *m = Ikev2InitiateRekeyChildSa{} }
   363  func (*Ikev2InitiateRekeyChildSa) GetMessageName() string { return "ikev2_initiate_rekey_child_sa" }
   364  func (*Ikev2InitiateRekeyChildSa) GetCrcString() string   { return "7f004d2e" }
   365  func (*Ikev2InitiateRekeyChildSa) GetMessageType() api.MessageType {
   366  	return api.RequestMessage
   367  }
   368  
   369  func (m *Ikev2InitiateRekeyChildSa) Size() (size int) {
   370  	if m == nil {
   371  		return 0
   372  	}
   373  	size += 4 // m.Ispi
   374  	return size
   375  }
   376  func (m *Ikev2InitiateRekeyChildSa) Marshal(b []byte) ([]byte, error) {
   377  	if b == nil {
   378  		b = make([]byte, m.Size())
   379  	}
   380  	buf := codec.NewBuffer(b)
   381  	buf.EncodeUint32(m.Ispi)
   382  	return buf.Bytes(), nil
   383  }
   384  func (m *Ikev2InitiateRekeyChildSa) Unmarshal(b []byte) error {
   385  	buf := codec.NewBuffer(b)
   386  	m.Ispi = buf.DecodeUint32()
   387  	return nil
   388  }
   389  
   390  // Ikev2InitiateRekeyChildSaReply defines message 'ikev2_initiate_rekey_child_sa_reply'.
   391  // InProgress: the message form may change in the future versions
   392  type Ikev2InitiateRekeyChildSaReply struct {
   393  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   394  }
   395  
   396  func (m *Ikev2InitiateRekeyChildSaReply) Reset() { *m = Ikev2InitiateRekeyChildSaReply{} }
   397  func (*Ikev2InitiateRekeyChildSaReply) GetMessageName() string {
   398  	return "ikev2_initiate_rekey_child_sa_reply"
   399  }
   400  func (*Ikev2InitiateRekeyChildSaReply) GetCrcString() string { return "e8d4e804" }
   401  func (*Ikev2InitiateRekeyChildSaReply) GetMessageType() api.MessageType {
   402  	return api.ReplyMessage
   403  }
   404  
   405  func (m *Ikev2InitiateRekeyChildSaReply) Size() (size int) {
   406  	if m == nil {
   407  		return 0
   408  	}
   409  	size += 4 // m.Retval
   410  	return size
   411  }
   412  func (m *Ikev2InitiateRekeyChildSaReply) Marshal(b []byte) ([]byte, error) {
   413  	if b == nil {
   414  		b = make([]byte, m.Size())
   415  	}
   416  	buf := codec.NewBuffer(b)
   417  	buf.EncodeInt32(m.Retval)
   418  	return buf.Bytes(), nil
   419  }
   420  func (m *Ikev2InitiateRekeyChildSaReply) Unmarshal(b []byte) error {
   421  	buf := codec.NewBuffer(b)
   422  	m.Retval = buf.DecodeInt32()
   423  	return nil
   424  }
   425  
   426  // Ikev2InitiateSaInit defines message 'ikev2_initiate_sa_init'.
   427  // InProgress: the message form may change in the future versions
   428  type Ikev2InitiateSaInit struct {
   429  	Name string `binapi:"string[64],name=name" json:"name,omitempty"`
   430  }
   431  
   432  func (m *Ikev2InitiateSaInit) Reset()               { *m = Ikev2InitiateSaInit{} }
   433  func (*Ikev2InitiateSaInit) GetMessageName() string { return "ikev2_initiate_sa_init" }
   434  func (*Ikev2InitiateSaInit) GetCrcString() string   { return "ebf79a66" }
   435  func (*Ikev2InitiateSaInit) GetMessageType() api.MessageType {
   436  	return api.RequestMessage
   437  }
   438  
   439  func (m *Ikev2InitiateSaInit) Size() (size int) {
   440  	if m == nil {
   441  		return 0
   442  	}
   443  	size += 64 // m.Name
   444  	return size
   445  }
   446  func (m *Ikev2InitiateSaInit) Marshal(b []byte) ([]byte, error) {
   447  	if b == nil {
   448  		b = make([]byte, m.Size())
   449  	}
   450  	buf := codec.NewBuffer(b)
   451  	buf.EncodeString(m.Name, 64)
   452  	return buf.Bytes(), nil
   453  }
   454  func (m *Ikev2InitiateSaInit) Unmarshal(b []byte) error {
   455  	buf := codec.NewBuffer(b)
   456  	m.Name = buf.DecodeString(64)
   457  	return nil
   458  }
   459  
   460  // Ikev2InitiateSaInitReply defines message 'ikev2_initiate_sa_init_reply'.
   461  // InProgress: the message form may change in the future versions
   462  type Ikev2InitiateSaInitReply struct {
   463  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   464  }
   465  
   466  func (m *Ikev2InitiateSaInitReply) Reset()               { *m = Ikev2InitiateSaInitReply{} }
   467  func (*Ikev2InitiateSaInitReply) GetMessageName() string { return "ikev2_initiate_sa_init_reply" }
   468  func (*Ikev2InitiateSaInitReply) GetCrcString() string   { return "e8d4e804" }
   469  func (*Ikev2InitiateSaInitReply) GetMessageType() api.MessageType {
   470  	return api.ReplyMessage
   471  }
   472  
   473  func (m *Ikev2InitiateSaInitReply) Size() (size int) {
   474  	if m == nil {
   475  		return 0
   476  	}
   477  	size += 4 // m.Retval
   478  	return size
   479  }
   480  func (m *Ikev2InitiateSaInitReply) Marshal(b []byte) ([]byte, error) {
   481  	if b == nil {
   482  		b = make([]byte, m.Size())
   483  	}
   484  	buf := codec.NewBuffer(b)
   485  	buf.EncodeInt32(m.Retval)
   486  	return buf.Bytes(), nil
   487  }
   488  func (m *Ikev2InitiateSaInitReply) Unmarshal(b []byte) error {
   489  	buf := codec.NewBuffer(b)
   490  	m.Retval = buf.DecodeInt32()
   491  	return nil
   492  }
   493  
   494  // Ikev2NonceGet defines message 'ikev2_nonce_get'.
   495  // InProgress: the message form may change in the future versions
   496  type Ikev2NonceGet struct {
   497  	IsInitiator bool   `binapi:"bool,name=is_initiator" json:"is_initiator,omitempty"`
   498  	SaIndex     uint32 `binapi:"u32,name=sa_index" json:"sa_index,omitempty"`
   499  }
   500  
   501  func (m *Ikev2NonceGet) Reset()               { *m = Ikev2NonceGet{} }
   502  func (*Ikev2NonceGet) GetMessageName() string { return "ikev2_nonce_get" }
   503  func (*Ikev2NonceGet) GetCrcString() string   { return "7fe9ad51" }
   504  func (*Ikev2NonceGet) GetMessageType() api.MessageType {
   505  	return api.RequestMessage
   506  }
   507  
   508  func (m *Ikev2NonceGet) Size() (size int) {
   509  	if m == nil {
   510  		return 0
   511  	}
   512  	size += 1 // m.IsInitiator
   513  	size += 4 // m.SaIndex
   514  	return size
   515  }
   516  func (m *Ikev2NonceGet) Marshal(b []byte) ([]byte, error) {
   517  	if b == nil {
   518  		b = make([]byte, m.Size())
   519  	}
   520  	buf := codec.NewBuffer(b)
   521  	buf.EncodeBool(m.IsInitiator)
   522  	buf.EncodeUint32(m.SaIndex)
   523  	return buf.Bytes(), nil
   524  }
   525  func (m *Ikev2NonceGet) Unmarshal(b []byte) error {
   526  	buf := codec.NewBuffer(b)
   527  	m.IsInitiator = buf.DecodeBool()
   528  	m.SaIndex = buf.DecodeUint32()
   529  	return nil
   530  }
   531  
   532  // Ikev2NonceGetReply defines message 'ikev2_nonce_get_reply'.
   533  // InProgress: the message form may change in the future versions
   534  type Ikev2NonceGetReply struct {
   535  	Retval  int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
   536  	DataLen uint32 `binapi:"u32,name=data_len" json:"-"`
   537  	Nonce   []byte `binapi:"u8[data_len],name=nonce" json:"nonce,omitempty"`
   538  }
   539  
   540  func (m *Ikev2NonceGetReply) Reset()               { *m = Ikev2NonceGetReply{} }
   541  func (*Ikev2NonceGetReply) GetMessageName() string { return "ikev2_nonce_get_reply" }
   542  func (*Ikev2NonceGetReply) GetCrcString() string   { return "1b37a342" }
   543  func (*Ikev2NonceGetReply) GetMessageType() api.MessageType {
   544  	return api.ReplyMessage
   545  }
   546  
   547  func (m *Ikev2NonceGetReply) Size() (size int) {
   548  	if m == nil {
   549  		return 0
   550  	}
   551  	size += 4                // m.Retval
   552  	size += 4                // m.DataLen
   553  	size += 1 * len(m.Nonce) // m.Nonce
   554  	return size
   555  }
   556  func (m *Ikev2NonceGetReply) Marshal(b []byte) ([]byte, error) {
   557  	if b == nil {
   558  		b = make([]byte, m.Size())
   559  	}
   560  	buf := codec.NewBuffer(b)
   561  	buf.EncodeInt32(m.Retval)
   562  	buf.EncodeUint32(uint32(len(m.Nonce)))
   563  	buf.EncodeBytes(m.Nonce, 0)
   564  	return buf.Bytes(), nil
   565  }
   566  func (m *Ikev2NonceGetReply) Unmarshal(b []byte) error {
   567  	buf := codec.NewBuffer(b)
   568  	m.Retval = buf.DecodeInt32()
   569  	m.DataLen = buf.DecodeUint32()
   570  	m.Nonce = make([]byte, m.DataLen)
   571  	copy(m.Nonce, buf.DecodeBytes(len(m.Nonce)))
   572  	return nil
   573  }
   574  
   575  // Ikev2PluginGetVersion defines message 'ikev2_plugin_get_version'.
   576  type Ikev2PluginGetVersion struct{}
   577  
   578  func (m *Ikev2PluginGetVersion) Reset()               { *m = Ikev2PluginGetVersion{} }
   579  func (*Ikev2PluginGetVersion) GetMessageName() string { return "ikev2_plugin_get_version" }
   580  func (*Ikev2PluginGetVersion) GetCrcString() string   { return "51077d14" }
   581  func (*Ikev2PluginGetVersion) GetMessageType() api.MessageType {
   582  	return api.RequestMessage
   583  }
   584  
   585  func (m *Ikev2PluginGetVersion) Size() (size int) {
   586  	if m == nil {
   587  		return 0
   588  	}
   589  	return size
   590  }
   591  func (m *Ikev2PluginGetVersion) Marshal(b []byte) ([]byte, error) {
   592  	if b == nil {
   593  		b = make([]byte, m.Size())
   594  	}
   595  	buf := codec.NewBuffer(b)
   596  	return buf.Bytes(), nil
   597  }
   598  func (m *Ikev2PluginGetVersion) Unmarshal(b []byte) error {
   599  	return nil
   600  }
   601  
   602  // Ikev2PluginGetVersionReply defines message 'ikev2_plugin_get_version_reply'.
   603  type Ikev2PluginGetVersionReply struct {
   604  	Major uint32 `binapi:"u32,name=major" json:"major,omitempty"`
   605  	Minor uint32 `binapi:"u32,name=minor" json:"minor,omitempty"`
   606  }
   607  
   608  func (m *Ikev2PluginGetVersionReply) Reset()               { *m = Ikev2PluginGetVersionReply{} }
   609  func (*Ikev2PluginGetVersionReply) GetMessageName() string { return "ikev2_plugin_get_version_reply" }
   610  func (*Ikev2PluginGetVersionReply) GetCrcString() string   { return "9b32cf86" }
   611  func (*Ikev2PluginGetVersionReply) GetMessageType() api.MessageType {
   612  	return api.ReplyMessage
   613  }
   614  
   615  func (m *Ikev2PluginGetVersionReply) Size() (size int) {
   616  	if m == nil {
   617  		return 0
   618  	}
   619  	size += 4 // m.Major
   620  	size += 4 // m.Minor
   621  	return size
   622  }
   623  func (m *Ikev2PluginGetVersionReply) Marshal(b []byte) ([]byte, error) {
   624  	if b == nil {
   625  		b = make([]byte, m.Size())
   626  	}
   627  	buf := codec.NewBuffer(b)
   628  	buf.EncodeUint32(m.Major)
   629  	buf.EncodeUint32(m.Minor)
   630  	return buf.Bytes(), nil
   631  }
   632  func (m *Ikev2PluginGetVersionReply) Unmarshal(b []byte) error {
   633  	buf := codec.NewBuffer(b)
   634  	m.Major = buf.DecodeUint32()
   635  	m.Minor = buf.DecodeUint32()
   636  	return nil
   637  }
   638  
   639  // Ikev2ProfileAddDel defines message 'ikev2_profile_add_del'.
   640  // InProgress: the message form may change in the future versions
   641  type Ikev2ProfileAddDel struct {
   642  	Name  string `binapi:"string[64],name=name" json:"name,omitempty"`
   643  	IsAdd bool   `binapi:"bool,name=is_add" json:"is_add,omitempty"`
   644  }
   645  
   646  func (m *Ikev2ProfileAddDel) Reset()               { *m = Ikev2ProfileAddDel{} }
   647  func (*Ikev2ProfileAddDel) GetMessageName() string { return "ikev2_profile_add_del" }
   648  func (*Ikev2ProfileAddDel) GetCrcString() string   { return "2c925b55" }
   649  func (*Ikev2ProfileAddDel) GetMessageType() api.MessageType {
   650  	return api.RequestMessage
   651  }
   652  
   653  func (m *Ikev2ProfileAddDel) Size() (size int) {
   654  	if m == nil {
   655  		return 0
   656  	}
   657  	size += 64 // m.Name
   658  	size += 1  // m.IsAdd
   659  	return size
   660  }
   661  func (m *Ikev2ProfileAddDel) Marshal(b []byte) ([]byte, error) {
   662  	if b == nil {
   663  		b = make([]byte, m.Size())
   664  	}
   665  	buf := codec.NewBuffer(b)
   666  	buf.EncodeString(m.Name, 64)
   667  	buf.EncodeBool(m.IsAdd)
   668  	return buf.Bytes(), nil
   669  }
   670  func (m *Ikev2ProfileAddDel) Unmarshal(b []byte) error {
   671  	buf := codec.NewBuffer(b)
   672  	m.Name = buf.DecodeString(64)
   673  	m.IsAdd = buf.DecodeBool()
   674  	return nil
   675  }
   676  
   677  // Ikev2ProfileAddDelReply defines message 'ikev2_profile_add_del_reply'.
   678  // InProgress: the message form may change in the future versions
   679  type Ikev2ProfileAddDelReply struct {
   680  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   681  }
   682  
   683  func (m *Ikev2ProfileAddDelReply) Reset()               { *m = Ikev2ProfileAddDelReply{} }
   684  func (*Ikev2ProfileAddDelReply) GetMessageName() string { return "ikev2_profile_add_del_reply" }
   685  func (*Ikev2ProfileAddDelReply) GetCrcString() string   { return "e8d4e804" }
   686  func (*Ikev2ProfileAddDelReply) GetMessageType() api.MessageType {
   687  	return api.ReplyMessage
   688  }
   689  
   690  func (m *Ikev2ProfileAddDelReply) Size() (size int) {
   691  	if m == nil {
   692  		return 0
   693  	}
   694  	size += 4 // m.Retval
   695  	return size
   696  }
   697  func (m *Ikev2ProfileAddDelReply) Marshal(b []byte) ([]byte, error) {
   698  	if b == nil {
   699  		b = make([]byte, m.Size())
   700  	}
   701  	buf := codec.NewBuffer(b)
   702  	buf.EncodeInt32(m.Retval)
   703  	return buf.Bytes(), nil
   704  }
   705  func (m *Ikev2ProfileAddDelReply) Unmarshal(b []byte) error {
   706  	buf := codec.NewBuffer(b)
   707  	m.Retval = buf.DecodeInt32()
   708  	return nil
   709  }
   710  
   711  // Ikev2ProfileDetails defines message 'ikev2_profile_details'.
   712  // InProgress: the message form may change in the future versions
   713  type Ikev2ProfileDetails struct {
   714  	Profile ikev2_types.Ikev2Profile `binapi:"ikev2_profile,name=profile" json:"profile,omitempty"`
   715  }
   716  
   717  func (m *Ikev2ProfileDetails) Reset()               { *m = Ikev2ProfileDetails{} }
   718  func (*Ikev2ProfileDetails) GetMessageName() string { return "ikev2_profile_details" }
   719  func (*Ikev2ProfileDetails) GetCrcString() string   { return "670d01d9" }
   720  func (*Ikev2ProfileDetails) GetMessageType() api.MessageType {
   721  	return api.ReplyMessage
   722  }
   723  
   724  func (m *Ikev2ProfileDetails) Size() (size int) {
   725  	if m == nil {
   726  		return 0
   727  	}
   728  	size += 64                           // m.Profile.Name
   729  	size += 1                            // m.Profile.LocID.Type
   730  	size += 1                            // m.Profile.LocID.DataLen
   731  	size += 64                           // m.Profile.LocID.Data
   732  	size += 1                            // m.Profile.RemID.Type
   733  	size += 1                            // m.Profile.RemID.DataLen
   734  	size += 64                           // m.Profile.RemID.Data
   735  	size += 4                            // m.Profile.LocTs.SaIndex
   736  	size += 4                            // m.Profile.LocTs.ChildSaIndex
   737  	size += 1                            // m.Profile.LocTs.IsLocal
   738  	size += 1                            // m.Profile.LocTs.ProtocolID
   739  	size += 2                            // m.Profile.LocTs.StartPort
   740  	size += 2                            // m.Profile.LocTs.EndPort
   741  	size += 1                            // m.Profile.LocTs.StartAddr.Af
   742  	size += 1 * 16                       // m.Profile.LocTs.StartAddr.Un
   743  	size += 1                            // m.Profile.LocTs.EndAddr.Af
   744  	size += 1 * 16                       // m.Profile.LocTs.EndAddr.Un
   745  	size += 4                            // m.Profile.RemTs.SaIndex
   746  	size += 4                            // m.Profile.RemTs.ChildSaIndex
   747  	size += 1                            // m.Profile.RemTs.IsLocal
   748  	size += 1                            // m.Profile.RemTs.ProtocolID
   749  	size += 2                            // m.Profile.RemTs.StartPort
   750  	size += 2                            // m.Profile.RemTs.EndPort
   751  	size += 1                            // m.Profile.RemTs.StartAddr.Af
   752  	size += 1 * 16                       // m.Profile.RemTs.StartAddr.Un
   753  	size += 1                            // m.Profile.RemTs.EndAddr.Af
   754  	size += 1 * 16                       // m.Profile.RemTs.EndAddr.Un
   755  	size += 4                            // m.Profile.Responder.SwIfIndex
   756  	size += 1                            // m.Profile.Responder.Addr.Af
   757  	size += 1 * 16                       // m.Profile.Responder.Addr.Un
   758  	size += 1                            // m.Profile.IkeTs.CryptoAlg
   759  	size += 4                            // m.Profile.IkeTs.CryptoKeySize
   760  	size += 1                            // m.Profile.IkeTs.IntegAlg
   761  	size += 1                            // m.Profile.IkeTs.DhGroup
   762  	size += 1                            // m.Profile.EspTs.CryptoAlg
   763  	size += 4                            // m.Profile.EspTs.CryptoKeySize
   764  	size += 1                            // m.Profile.EspTs.IntegAlg
   765  	size += 8                            // m.Profile.Lifetime
   766  	size += 8                            // m.Profile.LifetimeMaxdata
   767  	size += 4                            // m.Profile.LifetimeJitter
   768  	size += 4                            // m.Profile.Handover
   769  	size += 2                            // m.Profile.IpsecOverUDPPort
   770  	size += 4                            // m.Profile.TunItf
   771  	size += 1                            // m.Profile.UDPEncap
   772  	size += 1                            // m.Profile.NattDisabled
   773  	size += 1                            // m.Profile.Auth.Method
   774  	size += 1                            // m.Profile.Auth.Hex
   775  	size += 4                            // m.Profile.Auth.DataLen
   776  	size += 1 * len(m.Profile.Auth.Data) // m.Profile.Auth.Data
   777  	return size
   778  }
   779  func (m *Ikev2ProfileDetails) Marshal(b []byte) ([]byte, error) {
   780  	if b == nil {
   781  		b = make([]byte, m.Size())
   782  	}
   783  	buf := codec.NewBuffer(b)
   784  	buf.EncodeString(m.Profile.Name, 64)
   785  	buf.EncodeUint8(m.Profile.LocID.Type)
   786  	buf.EncodeUint8(m.Profile.LocID.DataLen)
   787  	buf.EncodeString(m.Profile.LocID.Data, 64)
   788  	buf.EncodeUint8(m.Profile.RemID.Type)
   789  	buf.EncodeUint8(m.Profile.RemID.DataLen)
   790  	buf.EncodeString(m.Profile.RemID.Data, 64)
   791  	buf.EncodeUint32(m.Profile.LocTs.SaIndex)
   792  	buf.EncodeUint32(m.Profile.LocTs.ChildSaIndex)
   793  	buf.EncodeBool(m.Profile.LocTs.IsLocal)
   794  	buf.EncodeUint8(m.Profile.LocTs.ProtocolID)
   795  	buf.EncodeUint16(m.Profile.LocTs.StartPort)
   796  	buf.EncodeUint16(m.Profile.LocTs.EndPort)
   797  	buf.EncodeUint8(uint8(m.Profile.LocTs.StartAddr.Af))
   798  	buf.EncodeBytes(m.Profile.LocTs.StartAddr.Un.XXX_UnionData[:], 16)
   799  	buf.EncodeUint8(uint8(m.Profile.LocTs.EndAddr.Af))
   800  	buf.EncodeBytes(m.Profile.LocTs.EndAddr.Un.XXX_UnionData[:], 16)
   801  	buf.EncodeUint32(m.Profile.RemTs.SaIndex)
   802  	buf.EncodeUint32(m.Profile.RemTs.ChildSaIndex)
   803  	buf.EncodeBool(m.Profile.RemTs.IsLocal)
   804  	buf.EncodeUint8(m.Profile.RemTs.ProtocolID)
   805  	buf.EncodeUint16(m.Profile.RemTs.StartPort)
   806  	buf.EncodeUint16(m.Profile.RemTs.EndPort)
   807  	buf.EncodeUint8(uint8(m.Profile.RemTs.StartAddr.Af))
   808  	buf.EncodeBytes(m.Profile.RemTs.StartAddr.Un.XXX_UnionData[:], 16)
   809  	buf.EncodeUint8(uint8(m.Profile.RemTs.EndAddr.Af))
   810  	buf.EncodeBytes(m.Profile.RemTs.EndAddr.Un.XXX_UnionData[:], 16)
   811  	buf.EncodeUint32(uint32(m.Profile.Responder.SwIfIndex))
   812  	buf.EncodeUint8(uint8(m.Profile.Responder.Addr.Af))
   813  	buf.EncodeBytes(m.Profile.Responder.Addr.Un.XXX_UnionData[:], 16)
   814  	buf.EncodeUint8(m.Profile.IkeTs.CryptoAlg)
   815  	buf.EncodeUint32(m.Profile.IkeTs.CryptoKeySize)
   816  	buf.EncodeUint8(m.Profile.IkeTs.IntegAlg)
   817  	buf.EncodeUint8(m.Profile.IkeTs.DhGroup)
   818  	buf.EncodeUint8(m.Profile.EspTs.CryptoAlg)
   819  	buf.EncodeUint32(m.Profile.EspTs.CryptoKeySize)
   820  	buf.EncodeUint8(m.Profile.EspTs.IntegAlg)
   821  	buf.EncodeUint64(m.Profile.Lifetime)
   822  	buf.EncodeUint64(m.Profile.LifetimeMaxdata)
   823  	buf.EncodeUint32(m.Profile.LifetimeJitter)
   824  	buf.EncodeUint32(m.Profile.Handover)
   825  	buf.EncodeUint16(m.Profile.IpsecOverUDPPort)
   826  	buf.EncodeUint32(m.Profile.TunItf)
   827  	buf.EncodeBool(m.Profile.UDPEncap)
   828  	buf.EncodeBool(m.Profile.NattDisabled)
   829  	buf.EncodeUint8(m.Profile.Auth.Method)
   830  	buf.EncodeUint8(m.Profile.Auth.Hex)
   831  	buf.EncodeUint32(uint32(len(m.Profile.Auth.Data)))
   832  	buf.EncodeBytes(m.Profile.Auth.Data, 0)
   833  	return buf.Bytes(), nil
   834  }
   835  func (m *Ikev2ProfileDetails) Unmarshal(b []byte) error {
   836  	buf := codec.NewBuffer(b)
   837  	m.Profile.Name = buf.DecodeString(64)
   838  	m.Profile.LocID.Type = buf.DecodeUint8()
   839  	m.Profile.LocID.DataLen = buf.DecodeUint8()
   840  	m.Profile.LocID.Data = buf.DecodeString(64)
   841  	m.Profile.RemID.Type = buf.DecodeUint8()
   842  	m.Profile.RemID.DataLen = buf.DecodeUint8()
   843  	m.Profile.RemID.Data = buf.DecodeString(64)
   844  	m.Profile.LocTs.SaIndex = buf.DecodeUint32()
   845  	m.Profile.LocTs.ChildSaIndex = buf.DecodeUint32()
   846  	m.Profile.LocTs.IsLocal = buf.DecodeBool()
   847  	m.Profile.LocTs.ProtocolID = buf.DecodeUint8()
   848  	m.Profile.LocTs.StartPort = buf.DecodeUint16()
   849  	m.Profile.LocTs.EndPort = buf.DecodeUint16()
   850  	m.Profile.LocTs.StartAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
   851  	copy(m.Profile.LocTs.StartAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   852  	m.Profile.LocTs.EndAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
   853  	copy(m.Profile.LocTs.EndAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   854  	m.Profile.RemTs.SaIndex = buf.DecodeUint32()
   855  	m.Profile.RemTs.ChildSaIndex = buf.DecodeUint32()
   856  	m.Profile.RemTs.IsLocal = buf.DecodeBool()
   857  	m.Profile.RemTs.ProtocolID = buf.DecodeUint8()
   858  	m.Profile.RemTs.StartPort = buf.DecodeUint16()
   859  	m.Profile.RemTs.EndPort = buf.DecodeUint16()
   860  	m.Profile.RemTs.StartAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
   861  	copy(m.Profile.RemTs.StartAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   862  	m.Profile.RemTs.EndAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
   863  	copy(m.Profile.RemTs.EndAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   864  	m.Profile.Responder.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   865  	m.Profile.Responder.Addr.Af = ip_types.AddressFamily(buf.DecodeUint8())
   866  	copy(m.Profile.Responder.Addr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   867  	m.Profile.IkeTs.CryptoAlg = buf.DecodeUint8()
   868  	m.Profile.IkeTs.CryptoKeySize = buf.DecodeUint32()
   869  	m.Profile.IkeTs.IntegAlg = buf.DecodeUint8()
   870  	m.Profile.IkeTs.DhGroup = buf.DecodeUint8()
   871  	m.Profile.EspTs.CryptoAlg = buf.DecodeUint8()
   872  	m.Profile.EspTs.CryptoKeySize = buf.DecodeUint32()
   873  	m.Profile.EspTs.IntegAlg = buf.DecodeUint8()
   874  	m.Profile.Lifetime = buf.DecodeUint64()
   875  	m.Profile.LifetimeMaxdata = buf.DecodeUint64()
   876  	m.Profile.LifetimeJitter = buf.DecodeUint32()
   877  	m.Profile.Handover = buf.DecodeUint32()
   878  	m.Profile.IpsecOverUDPPort = buf.DecodeUint16()
   879  	m.Profile.TunItf = buf.DecodeUint32()
   880  	m.Profile.UDPEncap = buf.DecodeBool()
   881  	m.Profile.NattDisabled = buf.DecodeBool()
   882  	m.Profile.Auth.Method = buf.DecodeUint8()
   883  	m.Profile.Auth.Hex = buf.DecodeUint8()
   884  	m.Profile.Auth.DataLen = buf.DecodeUint32()
   885  	m.Profile.Auth.Data = make([]byte, m.Profile.Auth.DataLen)
   886  	copy(m.Profile.Auth.Data, buf.DecodeBytes(len(m.Profile.Auth.Data)))
   887  	return nil
   888  }
   889  
   890  // Ikev2ProfileDisableNatt defines message 'ikev2_profile_disable_natt'.
   891  // InProgress: the message form may change in the future versions
   892  type Ikev2ProfileDisableNatt struct {
   893  	Name string `binapi:"string[64],name=name" json:"name,omitempty"`
   894  }
   895  
   896  func (m *Ikev2ProfileDisableNatt) Reset()               { *m = Ikev2ProfileDisableNatt{} }
   897  func (*Ikev2ProfileDisableNatt) GetMessageName() string { return "ikev2_profile_disable_natt" }
   898  func (*Ikev2ProfileDisableNatt) GetCrcString() string   { return "ebf79a66" }
   899  func (*Ikev2ProfileDisableNatt) GetMessageType() api.MessageType {
   900  	return api.RequestMessage
   901  }
   902  
   903  func (m *Ikev2ProfileDisableNatt) Size() (size int) {
   904  	if m == nil {
   905  		return 0
   906  	}
   907  	size += 64 // m.Name
   908  	return size
   909  }
   910  func (m *Ikev2ProfileDisableNatt) Marshal(b []byte) ([]byte, error) {
   911  	if b == nil {
   912  		b = make([]byte, m.Size())
   913  	}
   914  	buf := codec.NewBuffer(b)
   915  	buf.EncodeString(m.Name, 64)
   916  	return buf.Bytes(), nil
   917  }
   918  func (m *Ikev2ProfileDisableNatt) Unmarshal(b []byte) error {
   919  	buf := codec.NewBuffer(b)
   920  	m.Name = buf.DecodeString(64)
   921  	return nil
   922  }
   923  
   924  // Ikev2ProfileDisableNattReply defines message 'ikev2_profile_disable_natt_reply'.
   925  // InProgress: the message form may change in the future versions
   926  type Ikev2ProfileDisableNattReply struct {
   927  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   928  }
   929  
   930  func (m *Ikev2ProfileDisableNattReply) Reset() { *m = Ikev2ProfileDisableNattReply{} }
   931  func (*Ikev2ProfileDisableNattReply) GetMessageName() string {
   932  	return "ikev2_profile_disable_natt_reply"
   933  }
   934  func (*Ikev2ProfileDisableNattReply) GetCrcString() string { return "e8d4e804" }
   935  func (*Ikev2ProfileDisableNattReply) GetMessageType() api.MessageType {
   936  	return api.ReplyMessage
   937  }
   938  
   939  func (m *Ikev2ProfileDisableNattReply) Size() (size int) {
   940  	if m == nil {
   941  		return 0
   942  	}
   943  	size += 4 // m.Retval
   944  	return size
   945  }
   946  func (m *Ikev2ProfileDisableNattReply) Marshal(b []byte) ([]byte, error) {
   947  	if b == nil {
   948  		b = make([]byte, m.Size())
   949  	}
   950  	buf := codec.NewBuffer(b)
   951  	buf.EncodeInt32(m.Retval)
   952  	return buf.Bytes(), nil
   953  }
   954  func (m *Ikev2ProfileDisableNattReply) Unmarshal(b []byte) error {
   955  	buf := codec.NewBuffer(b)
   956  	m.Retval = buf.DecodeInt32()
   957  	return nil
   958  }
   959  
   960  // Ikev2ProfileDump defines message 'ikev2_profile_dump'.
   961  // InProgress: the message form may change in the future versions
   962  type Ikev2ProfileDump struct{}
   963  
   964  func (m *Ikev2ProfileDump) Reset()               { *m = Ikev2ProfileDump{} }
   965  func (*Ikev2ProfileDump) GetMessageName() string { return "ikev2_profile_dump" }
   966  func (*Ikev2ProfileDump) GetCrcString() string   { return "51077d14" }
   967  func (*Ikev2ProfileDump) GetMessageType() api.MessageType {
   968  	return api.RequestMessage
   969  }
   970  
   971  func (m *Ikev2ProfileDump) Size() (size int) {
   972  	if m == nil {
   973  		return 0
   974  	}
   975  	return size
   976  }
   977  func (m *Ikev2ProfileDump) Marshal(b []byte) ([]byte, error) {
   978  	if b == nil {
   979  		b = make([]byte, m.Size())
   980  	}
   981  	buf := codec.NewBuffer(b)
   982  	return buf.Bytes(), nil
   983  }
   984  func (m *Ikev2ProfileDump) Unmarshal(b []byte) error {
   985  	return nil
   986  }
   987  
   988  // Ikev2ProfileSetAuth defines message 'ikev2_profile_set_auth'.
   989  // InProgress: the message form may change in the future versions
   990  type Ikev2ProfileSetAuth struct {
   991  	Name       string `binapi:"string[64],name=name" json:"name,omitempty"`
   992  	AuthMethod uint8  `binapi:"u8,name=auth_method" json:"auth_method,omitempty"`
   993  	IsHex      bool   `binapi:"bool,name=is_hex" json:"is_hex,omitempty"`
   994  	DataLen    uint32 `binapi:"u32,name=data_len" json:"-"`
   995  	Data       []byte `binapi:"u8[data_len],name=data" json:"data,omitempty"`
   996  }
   997  
   998  func (m *Ikev2ProfileSetAuth) Reset()               { *m = Ikev2ProfileSetAuth{} }
   999  func (*Ikev2ProfileSetAuth) GetMessageName() string { return "ikev2_profile_set_auth" }
  1000  func (*Ikev2ProfileSetAuth) GetCrcString() string   { return "642c97cd" }
  1001  func (*Ikev2ProfileSetAuth) GetMessageType() api.MessageType {
  1002  	return api.RequestMessage
  1003  }
  1004  
  1005  func (m *Ikev2ProfileSetAuth) Size() (size int) {
  1006  	if m == nil {
  1007  		return 0
  1008  	}
  1009  	size += 64              // m.Name
  1010  	size += 1               // m.AuthMethod
  1011  	size += 1               // m.IsHex
  1012  	size += 4               // m.DataLen
  1013  	size += 1 * len(m.Data) // m.Data
  1014  	return size
  1015  }
  1016  func (m *Ikev2ProfileSetAuth) Marshal(b []byte) ([]byte, error) {
  1017  	if b == nil {
  1018  		b = make([]byte, m.Size())
  1019  	}
  1020  	buf := codec.NewBuffer(b)
  1021  	buf.EncodeString(m.Name, 64)
  1022  	buf.EncodeUint8(m.AuthMethod)
  1023  	buf.EncodeBool(m.IsHex)
  1024  	buf.EncodeUint32(uint32(len(m.Data)))
  1025  	buf.EncodeBytes(m.Data, 0)
  1026  	return buf.Bytes(), nil
  1027  }
  1028  func (m *Ikev2ProfileSetAuth) Unmarshal(b []byte) error {
  1029  	buf := codec.NewBuffer(b)
  1030  	m.Name = buf.DecodeString(64)
  1031  	m.AuthMethod = buf.DecodeUint8()
  1032  	m.IsHex = buf.DecodeBool()
  1033  	m.DataLen = buf.DecodeUint32()
  1034  	m.Data = make([]byte, m.DataLen)
  1035  	copy(m.Data, buf.DecodeBytes(len(m.Data)))
  1036  	return nil
  1037  }
  1038  
  1039  // Ikev2ProfileSetAuthReply defines message 'ikev2_profile_set_auth_reply'.
  1040  // InProgress: the message form may change in the future versions
  1041  type Ikev2ProfileSetAuthReply struct {
  1042  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1043  }
  1044  
  1045  func (m *Ikev2ProfileSetAuthReply) Reset()               { *m = Ikev2ProfileSetAuthReply{} }
  1046  func (*Ikev2ProfileSetAuthReply) GetMessageName() string { return "ikev2_profile_set_auth_reply" }
  1047  func (*Ikev2ProfileSetAuthReply) GetCrcString() string   { return "e8d4e804" }
  1048  func (*Ikev2ProfileSetAuthReply) GetMessageType() api.MessageType {
  1049  	return api.ReplyMessage
  1050  }
  1051  
  1052  func (m *Ikev2ProfileSetAuthReply) Size() (size int) {
  1053  	if m == nil {
  1054  		return 0
  1055  	}
  1056  	size += 4 // m.Retval
  1057  	return size
  1058  }
  1059  func (m *Ikev2ProfileSetAuthReply) Marshal(b []byte) ([]byte, error) {
  1060  	if b == nil {
  1061  		b = make([]byte, m.Size())
  1062  	}
  1063  	buf := codec.NewBuffer(b)
  1064  	buf.EncodeInt32(m.Retval)
  1065  	return buf.Bytes(), nil
  1066  }
  1067  func (m *Ikev2ProfileSetAuthReply) Unmarshal(b []byte) error {
  1068  	buf := codec.NewBuffer(b)
  1069  	m.Retval = buf.DecodeInt32()
  1070  	return nil
  1071  }
  1072  
  1073  // Ikev2ProfileSetID defines message 'ikev2_profile_set_id'.
  1074  // InProgress: the message form may change in the future versions
  1075  type Ikev2ProfileSetID struct {
  1076  	Name    string `binapi:"string[64],name=name" json:"name,omitempty"`
  1077  	IsLocal bool   `binapi:"bool,name=is_local" json:"is_local,omitempty"`
  1078  	IDType  uint8  `binapi:"u8,name=id_type" json:"id_type,omitempty"`
  1079  	DataLen uint32 `binapi:"u32,name=data_len" json:"-"`
  1080  	Data    []byte `binapi:"u8[data_len],name=data" json:"data,omitempty"`
  1081  }
  1082  
  1083  func (m *Ikev2ProfileSetID) Reset()               { *m = Ikev2ProfileSetID{} }
  1084  func (*Ikev2ProfileSetID) GetMessageName() string { return "ikev2_profile_set_id" }
  1085  func (*Ikev2ProfileSetID) GetCrcString() string   { return "4d7e2418" }
  1086  func (*Ikev2ProfileSetID) GetMessageType() api.MessageType {
  1087  	return api.RequestMessage
  1088  }
  1089  
  1090  func (m *Ikev2ProfileSetID) Size() (size int) {
  1091  	if m == nil {
  1092  		return 0
  1093  	}
  1094  	size += 64              // m.Name
  1095  	size += 1               // m.IsLocal
  1096  	size += 1               // m.IDType
  1097  	size += 4               // m.DataLen
  1098  	size += 1 * len(m.Data) // m.Data
  1099  	return size
  1100  }
  1101  func (m *Ikev2ProfileSetID) Marshal(b []byte) ([]byte, error) {
  1102  	if b == nil {
  1103  		b = make([]byte, m.Size())
  1104  	}
  1105  	buf := codec.NewBuffer(b)
  1106  	buf.EncodeString(m.Name, 64)
  1107  	buf.EncodeBool(m.IsLocal)
  1108  	buf.EncodeUint8(m.IDType)
  1109  	buf.EncodeUint32(uint32(len(m.Data)))
  1110  	buf.EncodeBytes(m.Data, 0)
  1111  	return buf.Bytes(), nil
  1112  }
  1113  func (m *Ikev2ProfileSetID) Unmarshal(b []byte) error {
  1114  	buf := codec.NewBuffer(b)
  1115  	m.Name = buf.DecodeString(64)
  1116  	m.IsLocal = buf.DecodeBool()
  1117  	m.IDType = buf.DecodeUint8()
  1118  	m.DataLen = buf.DecodeUint32()
  1119  	m.Data = make([]byte, m.DataLen)
  1120  	copy(m.Data, buf.DecodeBytes(len(m.Data)))
  1121  	return nil
  1122  }
  1123  
  1124  // Ikev2ProfileSetIDReply defines message 'ikev2_profile_set_id_reply'.
  1125  // InProgress: the message form may change in the future versions
  1126  type Ikev2ProfileSetIDReply struct {
  1127  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1128  }
  1129  
  1130  func (m *Ikev2ProfileSetIDReply) Reset()               { *m = Ikev2ProfileSetIDReply{} }
  1131  func (*Ikev2ProfileSetIDReply) GetMessageName() string { return "ikev2_profile_set_id_reply" }
  1132  func (*Ikev2ProfileSetIDReply) GetCrcString() string   { return "e8d4e804" }
  1133  func (*Ikev2ProfileSetIDReply) GetMessageType() api.MessageType {
  1134  	return api.ReplyMessage
  1135  }
  1136  
  1137  func (m *Ikev2ProfileSetIDReply) Size() (size int) {
  1138  	if m == nil {
  1139  		return 0
  1140  	}
  1141  	size += 4 // m.Retval
  1142  	return size
  1143  }
  1144  func (m *Ikev2ProfileSetIDReply) Marshal(b []byte) ([]byte, error) {
  1145  	if b == nil {
  1146  		b = make([]byte, m.Size())
  1147  	}
  1148  	buf := codec.NewBuffer(b)
  1149  	buf.EncodeInt32(m.Retval)
  1150  	return buf.Bytes(), nil
  1151  }
  1152  func (m *Ikev2ProfileSetIDReply) Unmarshal(b []byte) error {
  1153  	buf := codec.NewBuffer(b)
  1154  	m.Retval = buf.DecodeInt32()
  1155  	return nil
  1156  }
  1157  
  1158  // Ikev2ProfileSetIpsecUDPPort defines message 'ikev2_profile_set_ipsec_udp_port'.
  1159  // InProgress: the message form may change in the future versions
  1160  type Ikev2ProfileSetIpsecUDPPort struct {
  1161  	IsSet uint8  `binapi:"u8,name=is_set" json:"is_set,omitempty"`
  1162  	Port  uint16 `binapi:"u16,name=port" json:"port,omitempty"`
  1163  	Name  string `binapi:"string[64],name=name" json:"name,omitempty"`
  1164  }
  1165  
  1166  func (m *Ikev2ProfileSetIpsecUDPPort) Reset() { *m = Ikev2ProfileSetIpsecUDPPort{} }
  1167  func (*Ikev2ProfileSetIpsecUDPPort) GetMessageName() string {
  1168  	return "ikev2_profile_set_ipsec_udp_port"
  1169  }
  1170  func (*Ikev2ProfileSetIpsecUDPPort) GetCrcString() string { return "615ce758" }
  1171  func (*Ikev2ProfileSetIpsecUDPPort) GetMessageType() api.MessageType {
  1172  	return api.RequestMessage
  1173  }
  1174  
  1175  func (m *Ikev2ProfileSetIpsecUDPPort) Size() (size int) {
  1176  	if m == nil {
  1177  		return 0
  1178  	}
  1179  	size += 1  // m.IsSet
  1180  	size += 2  // m.Port
  1181  	size += 64 // m.Name
  1182  	return size
  1183  }
  1184  func (m *Ikev2ProfileSetIpsecUDPPort) Marshal(b []byte) ([]byte, error) {
  1185  	if b == nil {
  1186  		b = make([]byte, m.Size())
  1187  	}
  1188  	buf := codec.NewBuffer(b)
  1189  	buf.EncodeUint8(m.IsSet)
  1190  	buf.EncodeUint16(m.Port)
  1191  	buf.EncodeString(m.Name, 64)
  1192  	return buf.Bytes(), nil
  1193  }
  1194  func (m *Ikev2ProfileSetIpsecUDPPort) Unmarshal(b []byte) error {
  1195  	buf := codec.NewBuffer(b)
  1196  	m.IsSet = buf.DecodeUint8()
  1197  	m.Port = buf.DecodeUint16()
  1198  	m.Name = buf.DecodeString(64)
  1199  	return nil
  1200  }
  1201  
  1202  // Ikev2ProfileSetIpsecUDPPortReply defines message 'ikev2_profile_set_ipsec_udp_port_reply'.
  1203  // InProgress: the message form may change in the future versions
  1204  type Ikev2ProfileSetIpsecUDPPortReply struct {
  1205  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1206  }
  1207  
  1208  func (m *Ikev2ProfileSetIpsecUDPPortReply) Reset() { *m = Ikev2ProfileSetIpsecUDPPortReply{} }
  1209  func (*Ikev2ProfileSetIpsecUDPPortReply) GetMessageName() string {
  1210  	return "ikev2_profile_set_ipsec_udp_port_reply"
  1211  }
  1212  func (*Ikev2ProfileSetIpsecUDPPortReply) GetCrcString() string { return "e8d4e804" }
  1213  func (*Ikev2ProfileSetIpsecUDPPortReply) GetMessageType() api.MessageType {
  1214  	return api.ReplyMessage
  1215  }
  1216  
  1217  func (m *Ikev2ProfileSetIpsecUDPPortReply) Size() (size int) {
  1218  	if m == nil {
  1219  		return 0
  1220  	}
  1221  	size += 4 // m.Retval
  1222  	return size
  1223  }
  1224  func (m *Ikev2ProfileSetIpsecUDPPortReply) Marshal(b []byte) ([]byte, error) {
  1225  	if b == nil {
  1226  		b = make([]byte, m.Size())
  1227  	}
  1228  	buf := codec.NewBuffer(b)
  1229  	buf.EncodeInt32(m.Retval)
  1230  	return buf.Bytes(), nil
  1231  }
  1232  func (m *Ikev2ProfileSetIpsecUDPPortReply) Unmarshal(b []byte) error {
  1233  	buf := codec.NewBuffer(b)
  1234  	m.Retval = buf.DecodeInt32()
  1235  	return nil
  1236  }
  1237  
  1238  // Ikev2ProfileSetLiveness defines message 'ikev2_profile_set_liveness'.
  1239  // InProgress: the message form may change in the future versions
  1240  type Ikev2ProfileSetLiveness struct {
  1241  	Period     uint32 `binapi:"u32,name=period" json:"period,omitempty"`
  1242  	MaxRetries uint32 `binapi:"u32,name=max_retries" json:"max_retries,omitempty"`
  1243  }
  1244  
  1245  func (m *Ikev2ProfileSetLiveness) Reset()               { *m = Ikev2ProfileSetLiveness{} }
  1246  func (*Ikev2ProfileSetLiveness) GetMessageName() string { return "ikev2_profile_set_liveness" }
  1247  func (*Ikev2ProfileSetLiveness) GetCrcString() string   { return "6bdf4d65" }
  1248  func (*Ikev2ProfileSetLiveness) GetMessageType() api.MessageType {
  1249  	return api.RequestMessage
  1250  }
  1251  
  1252  func (m *Ikev2ProfileSetLiveness) Size() (size int) {
  1253  	if m == nil {
  1254  		return 0
  1255  	}
  1256  	size += 4 // m.Period
  1257  	size += 4 // m.MaxRetries
  1258  	return size
  1259  }
  1260  func (m *Ikev2ProfileSetLiveness) Marshal(b []byte) ([]byte, error) {
  1261  	if b == nil {
  1262  		b = make([]byte, m.Size())
  1263  	}
  1264  	buf := codec.NewBuffer(b)
  1265  	buf.EncodeUint32(m.Period)
  1266  	buf.EncodeUint32(m.MaxRetries)
  1267  	return buf.Bytes(), nil
  1268  }
  1269  func (m *Ikev2ProfileSetLiveness) Unmarshal(b []byte) error {
  1270  	buf := codec.NewBuffer(b)
  1271  	m.Period = buf.DecodeUint32()
  1272  	m.MaxRetries = buf.DecodeUint32()
  1273  	return nil
  1274  }
  1275  
  1276  // Ikev2ProfileSetLivenessReply defines message 'ikev2_profile_set_liveness_reply'.
  1277  // InProgress: the message form may change in the future versions
  1278  type Ikev2ProfileSetLivenessReply struct {
  1279  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1280  }
  1281  
  1282  func (m *Ikev2ProfileSetLivenessReply) Reset() { *m = Ikev2ProfileSetLivenessReply{} }
  1283  func (*Ikev2ProfileSetLivenessReply) GetMessageName() string {
  1284  	return "ikev2_profile_set_liveness_reply"
  1285  }
  1286  func (*Ikev2ProfileSetLivenessReply) GetCrcString() string { return "e8d4e804" }
  1287  func (*Ikev2ProfileSetLivenessReply) GetMessageType() api.MessageType {
  1288  	return api.ReplyMessage
  1289  }
  1290  
  1291  func (m *Ikev2ProfileSetLivenessReply) Size() (size int) {
  1292  	if m == nil {
  1293  		return 0
  1294  	}
  1295  	size += 4 // m.Retval
  1296  	return size
  1297  }
  1298  func (m *Ikev2ProfileSetLivenessReply) Marshal(b []byte) ([]byte, error) {
  1299  	if b == nil {
  1300  		b = make([]byte, m.Size())
  1301  	}
  1302  	buf := codec.NewBuffer(b)
  1303  	buf.EncodeInt32(m.Retval)
  1304  	return buf.Bytes(), nil
  1305  }
  1306  func (m *Ikev2ProfileSetLivenessReply) Unmarshal(b []byte) error {
  1307  	buf := codec.NewBuffer(b)
  1308  	m.Retval = buf.DecodeInt32()
  1309  	return nil
  1310  }
  1311  
  1312  // Ikev2ProfileSetTs defines message 'ikev2_profile_set_ts'.
  1313  // InProgress: the message form may change in the future versions
  1314  type Ikev2ProfileSetTs struct {
  1315  	Name string              `binapi:"string[64],name=name" json:"name,omitempty"`
  1316  	Ts   ikev2_types.Ikev2Ts `binapi:"ikev2_ts,name=ts" json:"ts,omitempty"`
  1317  }
  1318  
  1319  func (m *Ikev2ProfileSetTs) Reset()               { *m = Ikev2ProfileSetTs{} }
  1320  func (*Ikev2ProfileSetTs) GetMessageName() string { return "ikev2_profile_set_ts" }
  1321  func (*Ikev2ProfileSetTs) GetCrcString() string   { return "8eb8cfd1" }
  1322  func (*Ikev2ProfileSetTs) GetMessageType() api.MessageType {
  1323  	return api.RequestMessage
  1324  }
  1325  
  1326  func (m *Ikev2ProfileSetTs) Size() (size int) {
  1327  	if m == nil {
  1328  		return 0
  1329  	}
  1330  	size += 64     // m.Name
  1331  	size += 4      // m.Ts.SaIndex
  1332  	size += 4      // m.Ts.ChildSaIndex
  1333  	size += 1      // m.Ts.IsLocal
  1334  	size += 1      // m.Ts.ProtocolID
  1335  	size += 2      // m.Ts.StartPort
  1336  	size += 2      // m.Ts.EndPort
  1337  	size += 1      // m.Ts.StartAddr.Af
  1338  	size += 1 * 16 // m.Ts.StartAddr.Un
  1339  	size += 1      // m.Ts.EndAddr.Af
  1340  	size += 1 * 16 // m.Ts.EndAddr.Un
  1341  	return size
  1342  }
  1343  func (m *Ikev2ProfileSetTs) Marshal(b []byte) ([]byte, error) {
  1344  	if b == nil {
  1345  		b = make([]byte, m.Size())
  1346  	}
  1347  	buf := codec.NewBuffer(b)
  1348  	buf.EncodeString(m.Name, 64)
  1349  	buf.EncodeUint32(m.Ts.SaIndex)
  1350  	buf.EncodeUint32(m.Ts.ChildSaIndex)
  1351  	buf.EncodeBool(m.Ts.IsLocal)
  1352  	buf.EncodeUint8(m.Ts.ProtocolID)
  1353  	buf.EncodeUint16(m.Ts.StartPort)
  1354  	buf.EncodeUint16(m.Ts.EndPort)
  1355  	buf.EncodeUint8(uint8(m.Ts.StartAddr.Af))
  1356  	buf.EncodeBytes(m.Ts.StartAddr.Un.XXX_UnionData[:], 16)
  1357  	buf.EncodeUint8(uint8(m.Ts.EndAddr.Af))
  1358  	buf.EncodeBytes(m.Ts.EndAddr.Un.XXX_UnionData[:], 16)
  1359  	return buf.Bytes(), nil
  1360  }
  1361  func (m *Ikev2ProfileSetTs) Unmarshal(b []byte) error {
  1362  	buf := codec.NewBuffer(b)
  1363  	m.Name = buf.DecodeString(64)
  1364  	m.Ts.SaIndex = buf.DecodeUint32()
  1365  	m.Ts.ChildSaIndex = buf.DecodeUint32()
  1366  	m.Ts.IsLocal = buf.DecodeBool()
  1367  	m.Ts.ProtocolID = buf.DecodeUint8()
  1368  	m.Ts.StartPort = buf.DecodeUint16()
  1369  	m.Ts.EndPort = buf.DecodeUint16()
  1370  	m.Ts.StartAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1371  	copy(m.Ts.StartAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1372  	m.Ts.EndAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1373  	copy(m.Ts.EndAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1374  	return nil
  1375  }
  1376  
  1377  // Ikev2ProfileSetTsReply defines message 'ikev2_profile_set_ts_reply'.
  1378  // InProgress: the message form may change in the future versions
  1379  type Ikev2ProfileSetTsReply struct {
  1380  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1381  }
  1382  
  1383  func (m *Ikev2ProfileSetTsReply) Reset()               { *m = Ikev2ProfileSetTsReply{} }
  1384  func (*Ikev2ProfileSetTsReply) GetMessageName() string { return "ikev2_profile_set_ts_reply" }
  1385  func (*Ikev2ProfileSetTsReply) GetCrcString() string   { return "e8d4e804" }
  1386  func (*Ikev2ProfileSetTsReply) GetMessageType() api.MessageType {
  1387  	return api.ReplyMessage
  1388  }
  1389  
  1390  func (m *Ikev2ProfileSetTsReply) Size() (size int) {
  1391  	if m == nil {
  1392  		return 0
  1393  	}
  1394  	size += 4 // m.Retval
  1395  	return size
  1396  }
  1397  func (m *Ikev2ProfileSetTsReply) Marshal(b []byte) ([]byte, error) {
  1398  	if b == nil {
  1399  		b = make([]byte, m.Size())
  1400  	}
  1401  	buf := codec.NewBuffer(b)
  1402  	buf.EncodeInt32(m.Retval)
  1403  	return buf.Bytes(), nil
  1404  }
  1405  func (m *Ikev2ProfileSetTsReply) Unmarshal(b []byte) error {
  1406  	buf := codec.NewBuffer(b)
  1407  	m.Retval = buf.DecodeInt32()
  1408  	return nil
  1409  }
  1410  
  1411  // Ikev2ProfileSetUDPEncap defines message 'ikev2_profile_set_udp_encap'.
  1412  // InProgress: the message form may change in the future versions
  1413  type Ikev2ProfileSetUDPEncap struct {
  1414  	Name string `binapi:"string[64],name=name" json:"name,omitempty"`
  1415  }
  1416  
  1417  func (m *Ikev2ProfileSetUDPEncap) Reset()               { *m = Ikev2ProfileSetUDPEncap{} }
  1418  func (*Ikev2ProfileSetUDPEncap) GetMessageName() string { return "ikev2_profile_set_udp_encap" }
  1419  func (*Ikev2ProfileSetUDPEncap) GetCrcString() string   { return "ebf79a66" }
  1420  func (*Ikev2ProfileSetUDPEncap) GetMessageType() api.MessageType {
  1421  	return api.RequestMessage
  1422  }
  1423  
  1424  func (m *Ikev2ProfileSetUDPEncap) Size() (size int) {
  1425  	if m == nil {
  1426  		return 0
  1427  	}
  1428  	size += 64 // m.Name
  1429  	return size
  1430  }
  1431  func (m *Ikev2ProfileSetUDPEncap) Marshal(b []byte) ([]byte, error) {
  1432  	if b == nil {
  1433  		b = make([]byte, m.Size())
  1434  	}
  1435  	buf := codec.NewBuffer(b)
  1436  	buf.EncodeString(m.Name, 64)
  1437  	return buf.Bytes(), nil
  1438  }
  1439  func (m *Ikev2ProfileSetUDPEncap) Unmarshal(b []byte) error {
  1440  	buf := codec.NewBuffer(b)
  1441  	m.Name = buf.DecodeString(64)
  1442  	return nil
  1443  }
  1444  
  1445  // Ikev2ProfileSetUDPEncapReply defines message 'ikev2_profile_set_udp_encap_reply'.
  1446  // InProgress: the message form may change in the future versions
  1447  type Ikev2ProfileSetUDPEncapReply struct {
  1448  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1449  }
  1450  
  1451  func (m *Ikev2ProfileSetUDPEncapReply) Reset() { *m = Ikev2ProfileSetUDPEncapReply{} }
  1452  func (*Ikev2ProfileSetUDPEncapReply) GetMessageName() string {
  1453  	return "ikev2_profile_set_udp_encap_reply"
  1454  }
  1455  func (*Ikev2ProfileSetUDPEncapReply) GetCrcString() string { return "e8d4e804" }
  1456  func (*Ikev2ProfileSetUDPEncapReply) GetMessageType() api.MessageType {
  1457  	return api.ReplyMessage
  1458  }
  1459  
  1460  func (m *Ikev2ProfileSetUDPEncapReply) Size() (size int) {
  1461  	if m == nil {
  1462  		return 0
  1463  	}
  1464  	size += 4 // m.Retval
  1465  	return size
  1466  }
  1467  func (m *Ikev2ProfileSetUDPEncapReply) Marshal(b []byte) ([]byte, error) {
  1468  	if b == nil {
  1469  		b = make([]byte, m.Size())
  1470  	}
  1471  	buf := codec.NewBuffer(b)
  1472  	buf.EncodeInt32(m.Retval)
  1473  	return buf.Bytes(), nil
  1474  }
  1475  func (m *Ikev2ProfileSetUDPEncapReply) Unmarshal(b []byte) error {
  1476  	buf := codec.NewBuffer(b)
  1477  	m.Retval = buf.DecodeInt32()
  1478  	return nil
  1479  }
  1480  
  1481  // Ikev2SaDetails defines message 'ikev2_sa_details'.
  1482  // InProgress: the message form may change in the future versions
  1483  type Ikev2SaDetails struct {
  1484  	Retval int32               `binapi:"i32,name=retval" json:"retval,omitempty"`
  1485  	Sa     ikev2_types.Ikev2Sa `binapi:"ikev2_sa,name=sa" json:"sa,omitempty"`
  1486  }
  1487  
  1488  func (m *Ikev2SaDetails) Reset()               { *m = Ikev2SaDetails{} }
  1489  func (*Ikev2SaDetails) GetMessageName() string { return "ikev2_sa_details" }
  1490  func (*Ikev2SaDetails) GetCrcString() string   { return "937c22d5" }
  1491  func (*Ikev2SaDetails) GetMessageType() api.MessageType {
  1492  	return api.ReplyMessage
  1493  }
  1494  
  1495  func (m *Ikev2SaDetails) Size() (size int) {
  1496  	if m == nil {
  1497  		return 0
  1498  	}
  1499  	size += 4      // m.Retval
  1500  	size += 4      // m.Sa.SaIndex
  1501  	size += 4      // m.Sa.ProfileIndex
  1502  	size += 8      // m.Sa.Ispi
  1503  	size += 8      // m.Sa.Rspi
  1504  	size += 1      // m.Sa.Iaddr.Af
  1505  	size += 1 * 16 // m.Sa.Iaddr.Un
  1506  	size += 1      // m.Sa.Raddr.Af
  1507  	size += 1 * 16 // m.Sa.Raddr.Un
  1508  	size += 1 * 64 // m.Sa.Keys.SkD
  1509  	size += 1      // m.Sa.Keys.SkDLen
  1510  	size += 1 * 64 // m.Sa.Keys.SkAi
  1511  	size += 1      // m.Sa.Keys.SkAiLen
  1512  	size += 1 * 64 // m.Sa.Keys.SkAr
  1513  	size += 1      // m.Sa.Keys.SkArLen
  1514  	size += 1 * 64 // m.Sa.Keys.SkEi
  1515  	size += 1      // m.Sa.Keys.SkEiLen
  1516  	size += 1 * 64 // m.Sa.Keys.SkEr
  1517  	size += 1      // m.Sa.Keys.SkErLen
  1518  	size += 1 * 64 // m.Sa.Keys.SkPi
  1519  	size += 1      // m.Sa.Keys.SkPiLen
  1520  	size += 1 * 64 // m.Sa.Keys.SkPr
  1521  	size += 1      // m.Sa.Keys.SkPrLen
  1522  	size += 1      // m.Sa.IID.Type
  1523  	size += 1      // m.Sa.IID.DataLen
  1524  	size += 64     // m.Sa.IID.Data
  1525  	size += 1      // m.Sa.RID.Type
  1526  	size += 1      // m.Sa.RID.DataLen
  1527  	size += 64     // m.Sa.RID.Data
  1528  	size += 1      // m.Sa.Encryption.TransformType
  1529  	size += 2      // m.Sa.Encryption.TransformID
  1530  	size += 2      // m.Sa.Encryption.KeyLen
  1531  	size += 2      // m.Sa.Encryption.KeyTrunc
  1532  	size += 2      // m.Sa.Encryption.BlockSize
  1533  	size += 1      // m.Sa.Encryption.DhGroup
  1534  	size += 1      // m.Sa.Integrity.TransformType
  1535  	size += 2      // m.Sa.Integrity.TransformID
  1536  	size += 2      // m.Sa.Integrity.KeyLen
  1537  	size += 2      // m.Sa.Integrity.KeyTrunc
  1538  	size += 2      // m.Sa.Integrity.BlockSize
  1539  	size += 1      // m.Sa.Integrity.DhGroup
  1540  	size += 1      // m.Sa.Prf.TransformType
  1541  	size += 2      // m.Sa.Prf.TransformID
  1542  	size += 2      // m.Sa.Prf.KeyLen
  1543  	size += 2      // m.Sa.Prf.KeyTrunc
  1544  	size += 2      // m.Sa.Prf.BlockSize
  1545  	size += 1      // m.Sa.Prf.DhGroup
  1546  	size += 1      // m.Sa.Dh.TransformType
  1547  	size += 2      // m.Sa.Dh.TransformID
  1548  	size += 2      // m.Sa.Dh.KeyLen
  1549  	size += 2      // m.Sa.Dh.KeyTrunc
  1550  	size += 2      // m.Sa.Dh.BlockSize
  1551  	size += 1      // m.Sa.Dh.DhGroup
  1552  	size += 2      // m.Sa.Stats.NKeepalives
  1553  	size += 2      // m.Sa.Stats.NRekeyReq
  1554  	size += 2      // m.Sa.Stats.NSaInitReq
  1555  	size += 2      // m.Sa.Stats.NSaAuthReq
  1556  	size += 2      // m.Sa.Stats.NRetransmit
  1557  	size += 2      // m.Sa.Stats.NInitSaRetransmit
  1558  	return size
  1559  }
  1560  func (m *Ikev2SaDetails) Marshal(b []byte) ([]byte, error) {
  1561  	if b == nil {
  1562  		b = make([]byte, m.Size())
  1563  	}
  1564  	buf := codec.NewBuffer(b)
  1565  	buf.EncodeInt32(m.Retval)
  1566  	buf.EncodeUint32(m.Sa.SaIndex)
  1567  	buf.EncodeUint32(m.Sa.ProfileIndex)
  1568  	buf.EncodeUint64(m.Sa.Ispi)
  1569  	buf.EncodeUint64(m.Sa.Rspi)
  1570  	buf.EncodeUint8(uint8(m.Sa.Iaddr.Af))
  1571  	buf.EncodeBytes(m.Sa.Iaddr.Un.XXX_UnionData[:], 16)
  1572  	buf.EncodeUint8(uint8(m.Sa.Raddr.Af))
  1573  	buf.EncodeBytes(m.Sa.Raddr.Un.XXX_UnionData[:], 16)
  1574  	buf.EncodeBytes(m.Sa.Keys.SkD, 64)
  1575  	buf.EncodeUint8(m.Sa.Keys.SkDLen)
  1576  	buf.EncodeBytes(m.Sa.Keys.SkAi, 64)
  1577  	buf.EncodeUint8(m.Sa.Keys.SkAiLen)
  1578  	buf.EncodeBytes(m.Sa.Keys.SkAr, 64)
  1579  	buf.EncodeUint8(m.Sa.Keys.SkArLen)
  1580  	buf.EncodeBytes(m.Sa.Keys.SkEi, 64)
  1581  	buf.EncodeUint8(m.Sa.Keys.SkEiLen)
  1582  	buf.EncodeBytes(m.Sa.Keys.SkEr, 64)
  1583  	buf.EncodeUint8(m.Sa.Keys.SkErLen)
  1584  	buf.EncodeBytes(m.Sa.Keys.SkPi, 64)
  1585  	buf.EncodeUint8(m.Sa.Keys.SkPiLen)
  1586  	buf.EncodeBytes(m.Sa.Keys.SkPr, 64)
  1587  	buf.EncodeUint8(m.Sa.Keys.SkPrLen)
  1588  	buf.EncodeUint8(m.Sa.IID.Type)
  1589  	buf.EncodeUint8(m.Sa.IID.DataLen)
  1590  	buf.EncodeString(m.Sa.IID.Data, 64)
  1591  	buf.EncodeUint8(m.Sa.RID.Type)
  1592  	buf.EncodeUint8(m.Sa.RID.DataLen)
  1593  	buf.EncodeString(m.Sa.RID.Data, 64)
  1594  	buf.EncodeUint8(m.Sa.Encryption.TransformType)
  1595  	buf.EncodeUint16(m.Sa.Encryption.TransformID)
  1596  	buf.EncodeUint16(m.Sa.Encryption.KeyLen)
  1597  	buf.EncodeUint16(m.Sa.Encryption.KeyTrunc)
  1598  	buf.EncodeUint16(m.Sa.Encryption.BlockSize)
  1599  	buf.EncodeUint8(m.Sa.Encryption.DhGroup)
  1600  	buf.EncodeUint8(m.Sa.Integrity.TransformType)
  1601  	buf.EncodeUint16(m.Sa.Integrity.TransformID)
  1602  	buf.EncodeUint16(m.Sa.Integrity.KeyLen)
  1603  	buf.EncodeUint16(m.Sa.Integrity.KeyTrunc)
  1604  	buf.EncodeUint16(m.Sa.Integrity.BlockSize)
  1605  	buf.EncodeUint8(m.Sa.Integrity.DhGroup)
  1606  	buf.EncodeUint8(m.Sa.Prf.TransformType)
  1607  	buf.EncodeUint16(m.Sa.Prf.TransformID)
  1608  	buf.EncodeUint16(m.Sa.Prf.KeyLen)
  1609  	buf.EncodeUint16(m.Sa.Prf.KeyTrunc)
  1610  	buf.EncodeUint16(m.Sa.Prf.BlockSize)
  1611  	buf.EncodeUint8(m.Sa.Prf.DhGroup)
  1612  	buf.EncodeUint8(m.Sa.Dh.TransformType)
  1613  	buf.EncodeUint16(m.Sa.Dh.TransformID)
  1614  	buf.EncodeUint16(m.Sa.Dh.KeyLen)
  1615  	buf.EncodeUint16(m.Sa.Dh.KeyTrunc)
  1616  	buf.EncodeUint16(m.Sa.Dh.BlockSize)
  1617  	buf.EncodeUint8(m.Sa.Dh.DhGroup)
  1618  	buf.EncodeUint16(m.Sa.Stats.NKeepalives)
  1619  	buf.EncodeUint16(m.Sa.Stats.NRekeyReq)
  1620  	buf.EncodeUint16(m.Sa.Stats.NSaInitReq)
  1621  	buf.EncodeUint16(m.Sa.Stats.NSaAuthReq)
  1622  	buf.EncodeUint16(m.Sa.Stats.NRetransmit)
  1623  	buf.EncodeUint16(m.Sa.Stats.NInitSaRetransmit)
  1624  	return buf.Bytes(), nil
  1625  }
  1626  func (m *Ikev2SaDetails) Unmarshal(b []byte) error {
  1627  	buf := codec.NewBuffer(b)
  1628  	m.Retval = buf.DecodeInt32()
  1629  	m.Sa.SaIndex = buf.DecodeUint32()
  1630  	m.Sa.ProfileIndex = buf.DecodeUint32()
  1631  	m.Sa.Ispi = buf.DecodeUint64()
  1632  	m.Sa.Rspi = buf.DecodeUint64()
  1633  	m.Sa.Iaddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1634  	copy(m.Sa.Iaddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1635  	m.Sa.Raddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1636  	copy(m.Sa.Raddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1637  	m.Sa.Keys.SkD = make([]byte, 64)
  1638  	copy(m.Sa.Keys.SkD, buf.DecodeBytes(len(m.Sa.Keys.SkD)))
  1639  	m.Sa.Keys.SkDLen = buf.DecodeUint8()
  1640  	m.Sa.Keys.SkAi = make([]byte, 64)
  1641  	copy(m.Sa.Keys.SkAi, buf.DecodeBytes(len(m.Sa.Keys.SkAi)))
  1642  	m.Sa.Keys.SkAiLen = buf.DecodeUint8()
  1643  	m.Sa.Keys.SkAr = make([]byte, 64)
  1644  	copy(m.Sa.Keys.SkAr, buf.DecodeBytes(len(m.Sa.Keys.SkAr)))
  1645  	m.Sa.Keys.SkArLen = buf.DecodeUint8()
  1646  	m.Sa.Keys.SkEi = make([]byte, 64)
  1647  	copy(m.Sa.Keys.SkEi, buf.DecodeBytes(len(m.Sa.Keys.SkEi)))
  1648  	m.Sa.Keys.SkEiLen = buf.DecodeUint8()
  1649  	m.Sa.Keys.SkEr = make([]byte, 64)
  1650  	copy(m.Sa.Keys.SkEr, buf.DecodeBytes(len(m.Sa.Keys.SkEr)))
  1651  	m.Sa.Keys.SkErLen = buf.DecodeUint8()
  1652  	m.Sa.Keys.SkPi = make([]byte, 64)
  1653  	copy(m.Sa.Keys.SkPi, buf.DecodeBytes(len(m.Sa.Keys.SkPi)))
  1654  	m.Sa.Keys.SkPiLen = buf.DecodeUint8()
  1655  	m.Sa.Keys.SkPr = make([]byte, 64)
  1656  	copy(m.Sa.Keys.SkPr, buf.DecodeBytes(len(m.Sa.Keys.SkPr)))
  1657  	m.Sa.Keys.SkPrLen = buf.DecodeUint8()
  1658  	m.Sa.IID.Type = buf.DecodeUint8()
  1659  	m.Sa.IID.DataLen = buf.DecodeUint8()
  1660  	m.Sa.IID.Data = buf.DecodeString(64)
  1661  	m.Sa.RID.Type = buf.DecodeUint8()
  1662  	m.Sa.RID.DataLen = buf.DecodeUint8()
  1663  	m.Sa.RID.Data = buf.DecodeString(64)
  1664  	m.Sa.Encryption.TransformType = buf.DecodeUint8()
  1665  	m.Sa.Encryption.TransformID = buf.DecodeUint16()
  1666  	m.Sa.Encryption.KeyLen = buf.DecodeUint16()
  1667  	m.Sa.Encryption.KeyTrunc = buf.DecodeUint16()
  1668  	m.Sa.Encryption.BlockSize = buf.DecodeUint16()
  1669  	m.Sa.Encryption.DhGroup = buf.DecodeUint8()
  1670  	m.Sa.Integrity.TransformType = buf.DecodeUint8()
  1671  	m.Sa.Integrity.TransformID = buf.DecodeUint16()
  1672  	m.Sa.Integrity.KeyLen = buf.DecodeUint16()
  1673  	m.Sa.Integrity.KeyTrunc = buf.DecodeUint16()
  1674  	m.Sa.Integrity.BlockSize = buf.DecodeUint16()
  1675  	m.Sa.Integrity.DhGroup = buf.DecodeUint8()
  1676  	m.Sa.Prf.TransformType = buf.DecodeUint8()
  1677  	m.Sa.Prf.TransformID = buf.DecodeUint16()
  1678  	m.Sa.Prf.KeyLen = buf.DecodeUint16()
  1679  	m.Sa.Prf.KeyTrunc = buf.DecodeUint16()
  1680  	m.Sa.Prf.BlockSize = buf.DecodeUint16()
  1681  	m.Sa.Prf.DhGroup = buf.DecodeUint8()
  1682  	m.Sa.Dh.TransformType = buf.DecodeUint8()
  1683  	m.Sa.Dh.TransformID = buf.DecodeUint16()
  1684  	m.Sa.Dh.KeyLen = buf.DecodeUint16()
  1685  	m.Sa.Dh.KeyTrunc = buf.DecodeUint16()
  1686  	m.Sa.Dh.BlockSize = buf.DecodeUint16()
  1687  	m.Sa.Dh.DhGroup = buf.DecodeUint8()
  1688  	m.Sa.Stats.NKeepalives = buf.DecodeUint16()
  1689  	m.Sa.Stats.NRekeyReq = buf.DecodeUint16()
  1690  	m.Sa.Stats.NSaInitReq = buf.DecodeUint16()
  1691  	m.Sa.Stats.NSaAuthReq = buf.DecodeUint16()
  1692  	m.Sa.Stats.NRetransmit = buf.DecodeUint16()
  1693  	m.Sa.Stats.NInitSaRetransmit = buf.DecodeUint16()
  1694  	return nil
  1695  }
  1696  
  1697  // Ikev2SaDump defines message 'ikev2_sa_dump'.
  1698  // InProgress: the message form may change in the future versions
  1699  type Ikev2SaDump struct{}
  1700  
  1701  func (m *Ikev2SaDump) Reset()               { *m = Ikev2SaDump{} }
  1702  func (*Ikev2SaDump) GetMessageName() string { return "ikev2_sa_dump" }
  1703  func (*Ikev2SaDump) GetCrcString() string   { return "51077d14" }
  1704  func (*Ikev2SaDump) GetMessageType() api.MessageType {
  1705  	return api.RequestMessage
  1706  }
  1707  
  1708  func (m *Ikev2SaDump) Size() (size int) {
  1709  	if m == nil {
  1710  		return 0
  1711  	}
  1712  	return size
  1713  }
  1714  func (m *Ikev2SaDump) Marshal(b []byte) ([]byte, error) {
  1715  	if b == nil {
  1716  		b = make([]byte, m.Size())
  1717  	}
  1718  	buf := codec.NewBuffer(b)
  1719  	return buf.Bytes(), nil
  1720  }
  1721  func (m *Ikev2SaDump) Unmarshal(b []byte) error {
  1722  	return nil
  1723  }
  1724  
  1725  // Ikev2SetEspTransforms defines message 'ikev2_set_esp_transforms'.
  1726  // InProgress: the message form may change in the future versions
  1727  type Ikev2SetEspTransforms struct {
  1728  	Name string                         `binapi:"string[64],name=name" json:"name,omitempty"`
  1729  	Tr   ikev2_types.Ikev2EspTransforms `binapi:"ikev2_esp_transforms,name=tr" json:"tr,omitempty"`
  1730  }
  1731  
  1732  func (m *Ikev2SetEspTransforms) Reset()               { *m = Ikev2SetEspTransforms{} }
  1733  func (*Ikev2SetEspTransforms) GetMessageName() string { return "ikev2_set_esp_transforms" }
  1734  func (*Ikev2SetEspTransforms) GetCrcString() string   { return "a63dc205" }
  1735  func (*Ikev2SetEspTransforms) GetMessageType() api.MessageType {
  1736  	return api.RequestMessage
  1737  }
  1738  
  1739  func (m *Ikev2SetEspTransforms) Size() (size int) {
  1740  	if m == nil {
  1741  		return 0
  1742  	}
  1743  	size += 64 // m.Name
  1744  	size += 1  // m.Tr.CryptoAlg
  1745  	size += 4  // m.Tr.CryptoKeySize
  1746  	size += 1  // m.Tr.IntegAlg
  1747  	return size
  1748  }
  1749  func (m *Ikev2SetEspTransforms) Marshal(b []byte) ([]byte, error) {
  1750  	if b == nil {
  1751  		b = make([]byte, m.Size())
  1752  	}
  1753  	buf := codec.NewBuffer(b)
  1754  	buf.EncodeString(m.Name, 64)
  1755  	buf.EncodeUint8(m.Tr.CryptoAlg)
  1756  	buf.EncodeUint32(m.Tr.CryptoKeySize)
  1757  	buf.EncodeUint8(m.Tr.IntegAlg)
  1758  	return buf.Bytes(), nil
  1759  }
  1760  func (m *Ikev2SetEspTransforms) Unmarshal(b []byte) error {
  1761  	buf := codec.NewBuffer(b)
  1762  	m.Name = buf.DecodeString(64)
  1763  	m.Tr.CryptoAlg = buf.DecodeUint8()
  1764  	m.Tr.CryptoKeySize = buf.DecodeUint32()
  1765  	m.Tr.IntegAlg = buf.DecodeUint8()
  1766  	return nil
  1767  }
  1768  
  1769  // Ikev2SetEspTransformsReply defines message 'ikev2_set_esp_transforms_reply'.
  1770  // InProgress: the message form may change in the future versions
  1771  type Ikev2SetEspTransformsReply struct {
  1772  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1773  }
  1774  
  1775  func (m *Ikev2SetEspTransformsReply) Reset()               { *m = Ikev2SetEspTransformsReply{} }
  1776  func (*Ikev2SetEspTransformsReply) GetMessageName() string { return "ikev2_set_esp_transforms_reply" }
  1777  func (*Ikev2SetEspTransformsReply) GetCrcString() string   { return "e8d4e804" }
  1778  func (*Ikev2SetEspTransformsReply) GetMessageType() api.MessageType {
  1779  	return api.ReplyMessage
  1780  }
  1781  
  1782  func (m *Ikev2SetEspTransformsReply) Size() (size int) {
  1783  	if m == nil {
  1784  		return 0
  1785  	}
  1786  	size += 4 // m.Retval
  1787  	return size
  1788  }
  1789  func (m *Ikev2SetEspTransformsReply) Marshal(b []byte) ([]byte, error) {
  1790  	if b == nil {
  1791  		b = make([]byte, m.Size())
  1792  	}
  1793  	buf := codec.NewBuffer(b)
  1794  	buf.EncodeInt32(m.Retval)
  1795  	return buf.Bytes(), nil
  1796  }
  1797  func (m *Ikev2SetEspTransformsReply) Unmarshal(b []byte) error {
  1798  	buf := codec.NewBuffer(b)
  1799  	m.Retval = buf.DecodeInt32()
  1800  	return nil
  1801  }
  1802  
  1803  // Ikev2SetIkeTransforms defines message 'ikev2_set_ike_transforms'.
  1804  // InProgress: the message form may change in the future versions
  1805  type Ikev2SetIkeTransforms struct {
  1806  	Name string                         `binapi:"string[64],name=name" json:"name,omitempty"`
  1807  	Tr   ikev2_types.Ikev2IkeTransforms `binapi:"ikev2_ike_transforms,name=tr" json:"tr,omitempty"`
  1808  }
  1809  
  1810  func (m *Ikev2SetIkeTransforms) Reset()               { *m = Ikev2SetIkeTransforms{} }
  1811  func (*Ikev2SetIkeTransforms) GetMessageName() string { return "ikev2_set_ike_transforms" }
  1812  func (*Ikev2SetIkeTransforms) GetCrcString() string   { return "076d7378" }
  1813  func (*Ikev2SetIkeTransforms) GetMessageType() api.MessageType {
  1814  	return api.RequestMessage
  1815  }
  1816  
  1817  func (m *Ikev2SetIkeTransforms) Size() (size int) {
  1818  	if m == nil {
  1819  		return 0
  1820  	}
  1821  	size += 64 // m.Name
  1822  	size += 1  // m.Tr.CryptoAlg
  1823  	size += 4  // m.Tr.CryptoKeySize
  1824  	size += 1  // m.Tr.IntegAlg
  1825  	size += 1  // m.Tr.DhGroup
  1826  	return size
  1827  }
  1828  func (m *Ikev2SetIkeTransforms) Marshal(b []byte) ([]byte, error) {
  1829  	if b == nil {
  1830  		b = make([]byte, m.Size())
  1831  	}
  1832  	buf := codec.NewBuffer(b)
  1833  	buf.EncodeString(m.Name, 64)
  1834  	buf.EncodeUint8(m.Tr.CryptoAlg)
  1835  	buf.EncodeUint32(m.Tr.CryptoKeySize)
  1836  	buf.EncodeUint8(m.Tr.IntegAlg)
  1837  	buf.EncodeUint8(m.Tr.DhGroup)
  1838  	return buf.Bytes(), nil
  1839  }
  1840  func (m *Ikev2SetIkeTransforms) Unmarshal(b []byte) error {
  1841  	buf := codec.NewBuffer(b)
  1842  	m.Name = buf.DecodeString(64)
  1843  	m.Tr.CryptoAlg = buf.DecodeUint8()
  1844  	m.Tr.CryptoKeySize = buf.DecodeUint32()
  1845  	m.Tr.IntegAlg = buf.DecodeUint8()
  1846  	m.Tr.DhGroup = buf.DecodeUint8()
  1847  	return nil
  1848  }
  1849  
  1850  // Ikev2SetIkeTransformsReply defines message 'ikev2_set_ike_transforms_reply'.
  1851  // InProgress: the message form may change in the future versions
  1852  type Ikev2SetIkeTransformsReply struct {
  1853  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1854  }
  1855  
  1856  func (m *Ikev2SetIkeTransformsReply) Reset()               { *m = Ikev2SetIkeTransformsReply{} }
  1857  func (*Ikev2SetIkeTransformsReply) GetMessageName() string { return "ikev2_set_ike_transforms_reply" }
  1858  func (*Ikev2SetIkeTransformsReply) GetCrcString() string   { return "e8d4e804" }
  1859  func (*Ikev2SetIkeTransformsReply) GetMessageType() api.MessageType {
  1860  	return api.ReplyMessage
  1861  }
  1862  
  1863  func (m *Ikev2SetIkeTransformsReply) Size() (size int) {
  1864  	if m == nil {
  1865  		return 0
  1866  	}
  1867  	size += 4 // m.Retval
  1868  	return size
  1869  }
  1870  func (m *Ikev2SetIkeTransformsReply) Marshal(b []byte) ([]byte, error) {
  1871  	if b == nil {
  1872  		b = make([]byte, m.Size())
  1873  	}
  1874  	buf := codec.NewBuffer(b)
  1875  	buf.EncodeInt32(m.Retval)
  1876  	return buf.Bytes(), nil
  1877  }
  1878  func (m *Ikev2SetIkeTransformsReply) Unmarshal(b []byte) error {
  1879  	buf := codec.NewBuffer(b)
  1880  	m.Retval = buf.DecodeInt32()
  1881  	return nil
  1882  }
  1883  
  1884  // Ikev2SetLocalKey defines message 'ikev2_set_local_key'.
  1885  // InProgress: the message form may change in the future versions
  1886  type Ikev2SetLocalKey struct {
  1887  	KeyFile string `binapi:"string[256],name=key_file" json:"key_file,omitempty"`
  1888  }
  1889  
  1890  func (m *Ikev2SetLocalKey) Reset()               { *m = Ikev2SetLocalKey{} }
  1891  func (*Ikev2SetLocalKey) GetMessageName() string { return "ikev2_set_local_key" }
  1892  func (*Ikev2SetLocalKey) GetCrcString() string   { return "799b69ec" }
  1893  func (*Ikev2SetLocalKey) GetMessageType() api.MessageType {
  1894  	return api.RequestMessage
  1895  }
  1896  
  1897  func (m *Ikev2SetLocalKey) Size() (size int) {
  1898  	if m == nil {
  1899  		return 0
  1900  	}
  1901  	size += 256 // m.KeyFile
  1902  	return size
  1903  }
  1904  func (m *Ikev2SetLocalKey) Marshal(b []byte) ([]byte, error) {
  1905  	if b == nil {
  1906  		b = make([]byte, m.Size())
  1907  	}
  1908  	buf := codec.NewBuffer(b)
  1909  	buf.EncodeString(m.KeyFile, 256)
  1910  	return buf.Bytes(), nil
  1911  }
  1912  func (m *Ikev2SetLocalKey) Unmarshal(b []byte) error {
  1913  	buf := codec.NewBuffer(b)
  1914  	m.KeyFile = buf.DecodeString(256)
  1915  	return nil
  1916  }
  1917  
  1918  // Ikev2SetLocalKeyReply defines message 'ikev2_set_local_key_reply'.
  1919  // InProgress: the message form may change in the future versions
  1920  type Ikev2SetLocalKeyReply struct {
  1921  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  1922  }
  1923  
  1924  func (m *Ikev2SetLocalKeyReply) Reset()               { *m = Ikev2SetLocalKeyReply{} }
  1925  func (*Ikev2SetLocalKeyReply) GetMessageName() string { return "ikev2_set_local_key_reply" }
  1926  func (*Ikev2SetLocalKeyReply) GetCrcString() string   { return "e8d4e804" }
  1927  func (*Ikev2SetLocalKeyReply) GetMessageType() api.MessageType {
  1928  	return api.ReplyMessage
  1929  }
  1930  
  1931  func (m *Ikev2SetLocalKeyReply) Size() (size int) {
  1932  	if m == nil {
  1933  		return 0
  1934  	}
  1935  	size += 4 // m.Retval
  1936  	return size
  1937  }
  1938  func (m *Ikev2SetLocalKeyReply) Marshal(b []byte) ([]byte, error) {
  1939  	if b == nil {
  1940  		b = make([]byte, m.Size())
  1941  	}
  1942  	buf := codec.NewBuffer(b)
  1943  	buf.EncodeInt32(m.Retval)
  1944  	return buf.Bytes(), nil
  1945  }
  1946  func (m *Ikev2SetLocalKeyReply) Unmarshal(b []byte) error {
  1947  	buf := codec.NewBuffer(b)
  1948  	m.Retval = buf.DecodeInt32()
  1949  	return nil
  1950  }
  1951  
  1952  // Ikev2SetResponder defines message 'ikev2_set_responder'.
  1953  // InProgress: the message form may change in the future versions
  1954  type Ikev2SetResponder struct {
  1955  	Name      string                     `binapi:"string[64],name=name" json:"name,omitempty"`
  1956  	Responder ikev2_types.Ikev2Responder `binapi:"ikev2_responder,name=responder" json:"responder,omitempty"`
  1957  }
  1958  
  1959  func (m *Ikev2SetResponder) Reset()               { *m = Ikev2SetResponder{} }
  1960  func (*Ikev2SetResponder) GetMessageName() string { return "ikev2_set_responder" }
  1961  func (*Ikev2SetResponder) GetCrcString() string   { return "a2055df1" }
  1962  func (*Ikev2SetResponder) GetMessageType() api.MessageType {
  1963  	return api.RequestMessage
  1964  }
  1965  
  1966  func (m *Ikev2SetResponder) Size() (size int) {
  1967  	if m == nil {
  1968  		return 0
  1969  	}
  1970  	size += 64     // m.Name
  1971  	size += 4      // m.Responder.SwIfIndex
  1972  	size += 1      // m.Responder.Addr.Af
  1973  	size += 1 * 16 // m.Responder.Addr.Un
  1974  	return size
  1975  }
  1976  func (m *Ikev2SetResponder) Marshal(b []byte) ([]byte, error) {
  1977  	if b == nil {
  1978  		b = make([]byte, m.Size())
  1979  	}
  1980  	buf := codec.NewBuffer(b)
  1981  	buf.EncodeString(m.Name, 64)
  1982  	buf.EncodeUint32(uint32(m.Responder.SwIfIndex))
  1983  	buf.EncodeUint8(uint8(m.Responder.Addr.Af))
  1984  	buf.EncodeBytes(m.Responder.Addr.Un.XXX_UnionData[:], 16)
  1985  	return buf.Bytes(), nil
  1986  }
  1987  func (m *Ikev2SetResponder) Unmarshal(b []byte) error {
  1988  	buf := codec.NewBuffer(b)
  1989  	m.Name = buf.DecodeString(64)
  1990  	m.Responder.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  1991  	m.Responder.Addr.Af = ip_types.AddressFamily(buf.DecodeUint8())
  1992  	copy(m.Responder.Addr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  1993  	return nil
  1994  }
  1995  
  1996  // Ikev2SetResponderHostname defines message 'ikev2_set_responder_hostname'.
  1997  // InProgress: the message form may change in the future versions
  1998  type Ikev2SetResponderHostname struct {
  1999  	Name      string                         `binapi:"string[64],name=name" json:"name,omitempty"`
  2000  	Hostname  string                         `binapi:"string[64],name=hostname" json:"hostname,omitempty"`
  2001  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  2002  }
  2003  
  2004  func (m *Ikev2SetResponderHostname) Reset()               { *m = Ikev2SetResponderHostname{} }
  2005  func (*Ikev2SetResponderHostname) GetMessageName() string { return "ikev2_set_responder_hostname" }
  2006  func (*Ikev2SetResponderHostname) GetCrcString() string   { return "350d6949" }
  2007  func (*Ikev2SetResponderHostname) GetMessageType() api.MessageType {
  2008  	return api.RequestMessage
  2009  }
  2010  
  2011  func (m *Ikev2SetResponderHostname) Size() (size int) {
  2012  	if m == nil {
  2013  		return 0
  2014  	}
  2015  	size += 64 // m.Name
  2016  	size += 64 // m.Hostname
  2017  	size += 4  // m.SwIfIndex
  2018  	return size
  2019  }
  2020  func (m *Ikev2SetResponderHostname) Marshal(b []byte) ([]byte, error) {
  2021  	if b == nil {
  2022  		b = make([]byte, m.Size())
  2023  	}
  2024  	buf := codec.NewBuffer(b)
  2025  	buf.EncodeString(m.Name, 64)
  2026  	buf.EncodeString(m.Hostname, 64)
  2027  	buf.EncodeUint32(uint32(m.SwIfIndex))
  2028  	return buf.Bytes(), nil
  2029  }
  2030  func (m *Ikev2SetResponderHostname) Unmarshal(b []byte) error {
  2031  	buf := codec.NewBuffer(b)
  2032  	m.Name = buf.DecodeString(64)
  2033  	m.Hostname = buf.DecodeString(64)
  2034  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  2035  	return nil
  2036  }
  2037  
  2038  // Ikev2SetResponderHostnameReply defines message 'ikev2_set_responder_hostname_reply'.
  2039  // InProgress: the message form may change in the future versions
  2040  type Ikev2SetResponderHostnameReply struct {
  2041  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  2042  }
  2043  
  2044  func (m *Ikev2SetResponderHostnameReply) Reset() { *m = Ikev2SetResponderHostnameReply{} }
  2045  func (*Ikev2SetResponderHostnameReply) GetMessageName() string {
  2046  	return "ikev2_set_responder_hostname_reply"
  2047  }
  2048  func (*Ikev2SetResponderHostnameReply) GetCrcString() string { return "e8d4e804" }
  2049  func (*Ikev2SetResponderHostnameReply) GetMessageType() api.MessageType {
  2050  	return api.ReplyMessage
  2051  }
  2052  
  2053  func (m *Ikev2SetResponderHostnameReply) Size() (size int) {
  2054  	if m == nil {
  2055  		return 0
  2056  	}
  2057  	size += 4 // m.Retval
  2058  	return size
  2059  }
  2060  func (m *Ikev2SetResponderHostnameReply) Marshal(b []byte) ([]byte, error) {
  2061  	if b == nil {
  2062  		b = make([]byte, m.Size())
  2063  	}
  2064  	buf := codec.NewBuffer(b)
  2065  	buf.EncodeInt32(m.Retval)
  2066  	return buf.Bytes(), nil
  2067  }
  2068  func (m *Ikev2SetResponderHostnameReply) Unmarshal(b []byte) error {
  2069  	buf := codec.NewBuffer(b)
  2070  	m.Retval = buf.DecodeInt32()
  2071  	return nil
  2072  }
  2073  
  2074  // Ikev2SetResponderReply defines message 'ikev2_set_responder_reply'.
  2075  // InProgress: the message form may change in the future versions
  2076  type Ikev2SetResponderReply struct {
  2077  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  2078  }
  2079  
  2080  func (m *Ikev2SetResponderReply) Reset()               { *m = Ikev2SetResponderReply{} }
  2081  func (*Ikev2SetResponderReply) GetMessageName() string { return "ikev2_set_responder_reply" }
  2082  func (*Ikev2SetResponderReply) GetCrcString() string   { return "e8d4e804" }
  2083  func (*Ikev2SetResponderReply) GetMessageType() api.MessageType {
  2084  	return api.ReplyMessage
  2085  }
  2086  
  2087  func (m *Ikev2SetResponderReply) Size() (size int) {
  2088  	if m == nil {
  2089  		return 0
  2090  	}
  2091  	size += 4 // m.Retval
  2092  	return size
  2093  }
  2094  func (m *Ikev2SetResponderReply) Marshal(b []byte) ([]byte, error) {
  2095  	if b == nil {
  2096  		b = make([]byte, m.Size())
  2097  	}
  2098  	buf := codec.NewBuffer(b)
  2099  	buf.EncodeInt32(m.Retval)
  2100  	return buf.Bytes(), nil
  2101  }
  2102  func (m *Ikev2SetResponderReply) Unmarshal(b []byte) error {
  2103  	buf := codec.NewBuffer(b)
  2104  	m.Retval = buf.DecodeInt32()
  2105  	return nil
  2106  }
  2107  
  2108  // Ikev2SetSaLifetime defines message 'ikev2_set_sa_lifetime'.
  2109  // InProgress: the message form may change in the future versions
  2110  type Ikev2SetSaLifetime struct {
  2111  	Name            string `binapi:"string[64],name=name" json:"name,omitempty"`
  2112  	Lifetime        uint64 `binapi:"u64,name=lifetime" json:"lifetime,omitempty"`
  2113  	LifetimeJitter  uint32 `binapi:"u32,name=lifetime_jitter" json:"lifetime_jitter,omitempty"`
  2114  	Handover        uint32 `binapi:"u32,name=handover" json:"handover,omitempty"`
  2115  	LifetimeMaxdata uint64 `binapi:"u64,name=lifetime_maxdata" json:"lifetime_maxdata,omitempty"`
  2116  }
  2117  
  2118  func (m *Ikev2SetSaLifetime) Reset()               { *m = Ikev2SetSaLifetime{} }
  2119  func (*Ikev2SetSaLifetime) GetMessageName() string { return "ikev2_set_sa_lifetime" }
  2120  func (*Ikev2SetSaLifetime) GetCrcString() string   { return "7039feaa" }
  2121  func (*Ikev2SetSaLifetime) GetMessageType() api.MessageType {
  2122  	return api.RequestMessage
  2123  }
  2124  
  2125  func (m *Ikev2SetSaLifetime) Size() (size int) {
  2126  	if m == nil {
  2127  		return 0
  2128  	}
  2129  	size += 64 // m.Name
  2130  	size += 8  // m.Lifetime
  2131  	size += 4  // m.LifetimeJitter
  2132  	size += 4  // m.Handover
  2133  	size += 8  // m.LifetimeMaxdata
  2134  	return size
  2135  }
  2136  func (m *Ikev2SetSaLifetime) Marshal(b []byte) ([]byte, error) {
  2137  	if b == nil {
  2138  		b = make([]byte, m.Size())
  2139  	}
  2140  	buf := codec.NewBuffer(b)
  2141  	buf.EncodeString(m.Name, 64)
  2142  	buf.EncodeUint64(m.Lifetime)
  2143  	buf.EncodeUint32(m.LifetimeJitter)
  2144  	buf.EncodeUint32(m.Handover)
  2145  	buf.EncodeUint64(m.LifetimeMaxdata)
  2146  	return buf.Bytes(), nil
  2147  }
  2148  func (m *Ikev2SetSaLifetime) Unmarshal(b []byte) error {
  2149  	buf := codec.NewBuffer(b)
  2150  	m.Name = buf.DecodeString(64)
  2151  	m.Lifetime = buf.DecodeUint64()
  2152  	m.LifetimeJitter = buf.DecodeUint32()
  2153  	m.Handover = buf.DecodeUint32()
  2154  	m.LifetimeMaxdata = buf.DecodeUint64()
  2155  	return nil
  2156  }
  2157  
  2158  // Ikev2SetSaLifetimeReply defines message 'ikev2_set_sa_lifetime_reply'.
  2159  // InProgress: the message form may change in the future versions
  2160  type Ikev2SetSaLifetimeReply struct {
  2161  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  2162  }
  2163  
  2164  func (m *Ikev2SetSaLifetimeReply) Reset()               { *m = Ikev2SetSaLifetimeReply{} }
  2165  func (*Ikev2SetSaLifetimeReply) GetMessageName() string { return "ikev2_set_sa_lifetime_reply" }
  2166  func (*Ikev2SetSaLifetimeReply) GetCrcString() string   { return "e8d4e804" }
  2167  func (*Ikev2SetSaLifetimeReply) GetMessageType() api.MessageType {
  2168  	return api.ReplyMessage
  2169  }
  2170  
  2171  func (m *Ikev2SetSaLifetimeReply) Size() (size int) {
  2172  	if m == nil {
  2173  		return 0
  2174  	}
  2175  	size += 4 // m.Retval
  2176  	return size
  2177  }
  2178  func (m *Ikev2SetSaLifetimeReply) Marshal(b []byte) ([]byte, error) {
  2179  	if b == nil {
  2180  		b = make([]byte, m.Size())
  2181  	}
  2182  	buf := codec.NewBuffer(b)
  2183  	buf.EncodeInt32(m.Retval)
  2184  	return buf.Bytes(), nil
  2185  }
  2186  func (m *Ikev2SetSaLifetimeReply) Unmarshal(b []byte) error {
  2187  	buf := codec.NewBuffer(b)
  2188  	m.Retval = buf.DecodeInt32()
  2189  	return nil
  2190  }
  2191  
  2192  // Ikev2SetTunnelInterface defines message 'ikev2_set_tunnel_interface'.
  2193  // InProgress: the message form may change in the future versions
  2194  type Ikev2SetTunnelInterface struct {
  2195  	Name      string                         `binapi:"string[64],name=name" json:"name,omitempty"`
  2196  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
  2197  }
  2198  
  2199  func (m *Ikev2SetTunnelInterface) Reset()               { *m = Ikev2SetTunnelInterface{} }
  2200  func (*Ikev2SetTunnelInterface) GetMessageName() string { return "ikev2_set_tunnel_interface" }
  2201  func (*Ikev2SetTunnelInterface) GetCrcString() string   { return "ca67182c" }
  2202  func (*Ikev2SetTunnelInterface) GetMessageType() api.MessageType {
  2203  	return api.RequestMessage
  2204  }
  2205  
  2206  func (m *Ikev2SetTunnelInterface) Size() (size int) {
  2207  	if m == nil {
  2208  		return 0
  2209  	}
  2210  	size += 64 // m.Name
  2211  	size += 4  // m.SwIfIndex
  2212  	return size
  2213  }
  2214  func (m *Ikev2SetTunnelInterface) Marshal(b []byte) ([]byte, error) {
  2215  	if b == nil {
  2216  		b = make([]byte, m.Size())
  2217  	}
  2218  	buf := codec.NewBuffer(b)
  2219  	buf.EncodeString(m.Name, 64)
  2220  	buf.EncodeUint32(uint32(m.SwIfIndex))
  2221  	return buf.Bytes(), nil
  2222  }
  2223  func (m *Ikev2SetTunnelInterface) Unmarshal(b []byte) error {
  2224  	buf := codec.NewBuffer(b)
  2225  	m.Name = buf.DecodeString(64)
  2226  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
  2227  	return nil
  2228  }
  2229  
  2230  // Ikev2SetTunnelInterfaceReply defines message 'ikev2_set_tunnel_interface_reply'.
  2231  // InProgress: the message form may change in the future versions
  2232  type Ikev2SetTunnelInterfaceReply struct {
  2233  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
  2234  }
  2235  
  2236  func (m *Ikev2SetTunnelInterfaceReply) Reset() { *m = Ikev2SetTunnelInterfaceReply{} }
  2237  func (*Ikev2SetTunnelInterfaceReply) GetMessageName() string {
  2238  	return "ikev2_set_tunnel_interface_reply"
  2239  }
  2240  func (*Ikev2SetTunnelInterfaceReply) GetCrcString() string { return "e8d4e804" }
  2241  func (*Ikev2SetTunnelInterfaceReply) GetMessageType() api.MessageType {
  2242  	return api.ReplyMessage
  2243  }
  2244  
  2245  func (m *Ikev2SetTunnelInterfaceReply) Size() (size int) {
  2246  	if m == nil {
  2247  		return 0
  2248  	}
  2249  	size += 4 // m.Retval
  2250  	return size
  2251  }
  2252  func (m *Ikev2SetTunnelInterfaceReply) Marshal(b []byte) ([]byte, error) {
  2253  	if b == nil {
  2254  		b = make([]byte, m.Size())
  2255  	}
  2256  	buf := codec.NewBuffer(b)
  2257  	buf.EncodeInt32(m.Retval)
  2258  	return buf.Bytes(), nil
  2259  }
  2260  func (m *Ikev2SetTunnelInterfaceReply) Unmarshal(b []byte) error {
  2261  	buf := codec.NewBuffer(b)
  2262  	m.Retval = buf.DecodeInt32()
  2263  	return nil
  2264  }
  2265  
  2266  // Ikev2TrafficSelectorDetails defines message 'ikev2_traffic_selector_details'.
  2267  // InProgress: the message form may change in the future versions
  2268  type Ikev2TrafficSelectorDetails struct {
  2269  	Retval int32               `binapi:"i32,name=retval" json:"retval,omitempty"`
  2270  	Ts     ikev2_types.Ikev2Ts `binapi:"ikev2_ts,name=ts" json:"ts,omitempty"`
  2271  }
  2272  
  2273  func (m *Ikev2TrafficSelectorDetails) Reset()               { *m = Ikev2TrafficSelectorDetails{} }
  2274  func (*Ikev2TrafficSelectorDetails) GetMessageName() string { return "ikev2_traffic_selector_details" }
  2275  func (*Ikev2TrafficSelectorDetails) GetCrcString() string   { return "518cb06f" }
  2276  func (*Ikev2TrafficSelectorDetails) GetMessageType() api.MessageType {
  2277  	return api.ReplyMessage
  2278  }
  2279  
  2280  func (m *Ikev2TrafficSelectorDetails) Size() (size int) {
  2281  	if m == nil {
  2282  		return 0
  2283  	}
  2284  	size += 4      // m.Retval
  2285  	size += 4      // m.Ts.SaIndex
  2286  	size += 4      // m.Ts.ChildSaIndex
  2287  	size += 1      // m.Ts.IsLocal
  2288  	size += 1      // m.Ts.ProtocolID
  2289  	size += 2      // m.Ts.StartPort
  2290  	size += 2      // m.Ts.EndPort
  2291  	size += 1      // m.Ts.StartAddr.Af
  2292  	size += 1 * 16 // m.Ts.StartAddr.Un
  2293  	size += 1      // m.Ts.EndAddr.Af
  2294  	size += 1 * 16 // m.Ts.EndAddr.Un
  2295  	return size
  2296  }
  2297  func (m *Ikev2TrafficSelectorDetails) Marshal(b []byte) ([]byte, error) {
  2298  	if b == nil {
  2299  		b = make([]byte, m.Size())
  2300  	}
  2301  	buf := codec.NewBuffer(b)
  2302  	buf.EncodeInt32(m.Retval)
  2303  	buf.EncodeUint32(m.Ts.SaIndex)
  2304  	buf.EncodeUint32(m.Ts.ChildSaIndex)
  2305  	buf.EncodeBool(m.Ts.IsLocal)
  2306  	buf.EncodeUint8(m.Ts.ProtocolID)
  2307  	buf.EncodeUint16(m.Ts.StartPort)
  2308  	buf.EncodeUint16(m.Ts.EndPort)
  2309  	buf.EncodeUint8(uint8(m.Ts.StartAddr.Af))
  2310  	buf.EncodeBytes(m.Ts.StartAddr.Un.XXX_UnionData[:], 16)
  2311  	buf.EncodeUint8(uint8(m.Ts.EndAddr.Af))
  2312  	buf.EncodeBytes(m.Ts.EndAddr.Un.XXX_UnionData[:], 16)
  2313  	return buf.Bytes(), nil
  2314  }
  2315  func (m *Ikev2TrafficSelectorDetails) Unmarshal(b []byte) error {
  2316  	buf := codec.NewBuffer(b)
  2317  	m.Retval = buf.DecodeInt32()
  2318  	m.Ts.SaIndex = buf.DecodeUint32()
  2319  	m.Ts.ChildSaIndex = buf.DecodeUint32()
  2320  	m.Ts.IsLocal = buf.DecodeBool()
  2321  	m.Ts.ProtocolID = buf.DecodeUint8()
  2322  	m.Ts.StartPort = buf.DecodeUint16()
  2323  	m.Ts.EndPort = buf.DecodeUint16()
  2324  	m.Ts.StartAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
  2325  	copy(m.Ts.StartAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  2326  	m.Ts.EndAddr.Af = ip_types.AddressFamily(buf.DecodeUint8())
  2327  	copy(m.Ts.EndAddr.Un.XXX_UnionData[:], buf.DecodeBytes(16))
  2328  	return nil
  2329  }
  2330  
  2331  // Ikev2TrafficSelectorDump defines message 'ikev2_traffic_selector_dump'.
  2332  // InProgress: the message form may change in the future versions
  2333  type Ikev2TrafficSelectorDump struct {
  2334  	IsInitiator  bool   `binapi:"bool,name=is_initiator" json:"is_initiator,omitempty"`
  2335  	SaIndex      uint32 `binapi:"u32,name=sa_index" json:"sa_index,omitempty"`
  2336  	ChildSaIndex uint32 `binapi:"u32,name=child_sa_index" json:"child_sa_index,omitempty"`
  2337  }
  2338  
  2339  func (m *Ikev2TrafficSelectorDump) Reset()               { *m = Ikev2TrafficSelectorDump{} }
  2340  func (*Ikev2TrafficSelectorDump) GetMessageName() string { return "ikev2_traffic_selector_dump" }
  2341  func (*Ikev2TrafficSelectorDump) GetCrcString() string   { return "a7385e33" }
  2342  func (*Ikev2TrafficSelectorDump) GetMessageType() api.MessageType {
  2343  	return api.RequestMessage
  2344  }
  2345  
  2346  func (m *Ikev2TrafficSelectorDump) Size() (size int) {
  2347  	if m == nil {
  2348  		return 0
  2349  	}
  2350  	size += 1 // m.IsInitiator
  2351  	size += 4 // m.SaIndex
  2352  	size += 4 // m.ChildSaIndex
  2353  	return size
  2354  }
  2355  func (m *Ikev2TrafficSelectorDump) Marshal(b []byte) ([]byte, error) {
  2356  	if b == nil {
  2357  		b = make([]byte, m.Size())
  2358  	}
  2359  	buf := codec.NewBuffer(b)
  2360  	buf.EncodeBool(m.IsInitiator)
  2361  	buf.EncodeUint32(m.SaIndex)
  2362  	buf.EncodeUint32(m.ChildSaIndex)
  2363  	return buf.Bytes(), nil
  2364  }
  2365  func (m *Ikev2TrafficSelectorDump) Unmarshal(b []byte) error {
  2366  	buf := codec.NewBuffer(b)
  2367  	m.IsInitiator = buf.DecodeBool()
  2368  	m.SaIndex = buf.DecodeUint32()
  2369  	m.ChildSaIndex = buf.DecodeUint32()
  2370  	return nil
  2371  }
  2372  
  2373  func init() { file_ikev2_binapi_init() }
  2374  func file_ikev2_binapi_init() {
  2375  	api.RegisterMessage((*Ikev2ChildSaDetails)(nil), "ikev2_child_sa_details_ff67741f")
  2376  	api.RegisterMessage((*Ikev2ChildSaDump)(nil), "ikev2_child_sa_dump_01eab609")
  2377  	api.RegisterMessage((*Ikev2InitiateDelChildSa)(nil), "ikev2_initiate_del_child_sa_7f004d2e")
  2378  	api.RegisterMessage((*Ikev2InitiateDelChildSaReply)(nil), "ikev2_initiate_del_child_sa_reply_e8d4e804")
  2379  	api.RegisterMessage((*Ikev2InitiateDelIkeSa)(nil), "ikev2_initiate_del_ike_sa_8d125bdd")
  2380  	api.RegisterMessage((*Ikev2InitiateDelIkeSaReply)(nil), "ikev2_initiate_del_ike_sa_reply_e8d4e804")
  2381  	api.RegisterMessage((*Ikev2InitiateRekeyChildSa)(nil), "ikev2_initiate_rekey_child_sa_7f004d2e")
  2382  	api.RegisterMessage((*Ikev2InitiateRekeyChildSaReply)(nil), "ikev2_initiate_rekey_child_sa_reply_e8d4e804")
  2383  	api.RegisterMessage((*Ikev2InitiateSaInit)(nil), "ikev2_initiate_sa_init_ebf79a66")
  2384  	api.RegisterMessage((*Ikev2InitiateSaInitReply)(nil), "ikev2_initiate_sa_init_reply_e8d4e804")
  2385  	api.RegisterMessage((*Ikev2NonceGet)(nil), "ikev2_nonce_get_7fe9ad51")
  2386  	api.RegisterMessage((*Ikev2NonceGetReply)(nil), "ikev2_nonce_get_reply_1b37a342")
  2387  	api.RegisterMessage((*Ikev2PluginGetVersion)(nil), "ikev2_plugin_get_version_51077d14")
  2388  	api.RegisterMessage((*Ikev2PluginGetVersionReply)(nil), "ikev2_plugin_get_version_reply_9b32cf86")
  2389  	api.RegisterMessage((*Ikev2ProfileAddDel)(nil), "ikev2_profile_add_del_2c925b55")
  2390  	api.RegisterMessage((*Ikev2ProfileAddDelReply)(nil), "ikev2_profile_add_del_reply_e8d4e804")
  2391  	api.RegisterMessage((*Ikev2ProfileDetails)(nil), "ikev2_profile_details_670d01d9")
  2392  	api.RegisterMessage((*Ikev2ProfileDisableNatt)(nil), "ikev2_profile_disable_natt_ebf79a66")
  2393  	api.RegisterMessage((*Ikev2ProfileDisableNattReply)(nil), "ikev2_profile_disable_natt_reply_e8d4e804")
  2394  	api.RegisterMessage((*Ikev2ProfileDump)(nil), "ikev2_profile_dump_51077d14")
  2395  	api.RegisterMessage((*Ikev2ProfileSetAuth)(nil), "ikev2_profile_set_auth_642c97cd")
  2396  	api.RegisterMessage((*Ikev2ProfileSetAuthReply)(nil), "ikev2_profile_set_auth_reply_e8d4e804")
  2397  	api.RegisterMessage((*Ikev2ProfileSetID)(nil), "ikev2_profile_set_id_4d7e2418")
  2398  	api.RegisterMessage((*Ikev2ProfileSetIDReply)(nil), "ikev2_profile_set_id_reply_e8d4e804")
  2399  	api.RegisterMessage((*Ikev2ProfileSetIpsecUDPPort)(nil), "ikev2_profile_set_ipsec_udp_port_615ce758")
  2400  	api.RegisterMessage((*Ikev2ProfileSetIpsecUDPPortReply)(nil), "ikev2_profile_set_ipsec_udp_port_reply_e8d4e804")
  2401  	api.RegisterMessage((*Ikev2ProfileSetLiveness)(nil), "ikev2_profile_set_liveness_6bdf4d65")
  2402  	api.RegisterMessage((*Ikev2ProfileSetLivenessReply)(nil), "ikev2_profile_set_liveness_reply_e8d4e804")
  2403  	api.RegisterMessage((*Ikev2ProfileSetTs)(nil), "ikev2_profile_set_ts_8eb8cfd1")
  2404  	api.RegisterMessage((*Ikev2ProfileSetTsReply)(nil), "ikev2_profile_set_ts_reply_e8d4e804")
  2405  	api.RegisterMessage((*Ikev2ProfileSetUDPEncap)(nil), "ikev2_profile_set_udp_encap_ebf79a66")
  2406  	api.RegisterMessage((*Ikev2ProfileSetUDPEncapReply)(nil), "ikev2_profile_set_udp_encap_reply_e8d4e804")
  2407  	api.RegisterMessage((*Ikev2SaDetails)(nil), "ikev2_sa_details_937c22d5")
  2408  	api.RegisterMessage((*Ikev2SaDump)(nil), "ikev2_sa_dump_51077d14")
  2409  	api.RegisterMessage((*Ikev2SetEspTransforms)(nil), "ikev2_set_esp_transforms_a63dc205")
  2410  	api.RegisterMessage((*Ikev2SetEspTransformsReply)(nil), "ikev2_set_esp_transforms_reply_e8d4e804")
  2411  	api.RegisterMessage((*Ikev2SetIkeTransforms)(nil), "ikev2_set_ike_transforms_076d7378")
  2412  	api.RegisterMessage((*Ikev2SetIkeTransformsReply)(nil), "ikev2_set_ike_transforms_reply_e8d4e804")
  2413  	api.RegisterMessage((*Ikev2SetLocalKey)(nil), "ikev2_set_local_key_799b69ec")
  2414  	api.RegisterMessage((*Ikev2SetLocalKeyReply)(nil), "ikev2_set_local_key_reply_e8d4e804")
  2415  	api.RegisterMessage((*Ikev2SetResponder)(nil), "ikev2_set_responder_a2055df1")
  2416  	api.RegisterMessage((*Ikev2SetResponderHostname)(nil), "ikev2_set_responder_hostname_350d6949")
  2417  	api.RegisterMessage((*Ikev2SetResponderHostnameReply)(nil), "ikev2_set_responder_hostname_reply_e8d4e804")
  2418  	api.RegisterMessage((*Ikev2SetResponderReply)(nil), "ikev2_set_responder_reply_e8d4e804")
  2419  	api.RegisterMessage((*Ikev2SetSaLifetime)(nil), "ikev2_set_sa_lifetime_7039feaa")
  2420  	api.RegisterMessage((*Ikev2SetSaLifetimeReply)(nil), "ikev2_set_sa_lifetime_reply_e8d4e804")
  2421  	api.RegisterMessage((*Ikev2SetTunnelInterface)(nil), "ikev2_set_tunnel_interface_ca67182c")
  2422  	api.RegisterMessage((*Ikev2SetTunnelInterfaceReply)(nil), "ikev2_set_tunnel_interface_reply_e8d4e804")
  2423  	api.RegisterMessage((*Ikev2TrafficSelectorDetails)(nil), "ikev2_traffic_selector_details_518cb06f")
  2424  	api.RegisterMessage((*Ikev2TrafficSelectorDump)(nil), "ikev2_traffic_selector_dump_a7385e33")
  2425  }
  2426  
  2427  // Messages returns list of all messages in this module.
  2428  func AllMessages() []api.Message {
  2429  	return []api.Message{
  2430  		(*Ikev2ChildSaDetails)(nil),
  2431  		(*Ikev2ChildSaDump)(nil),
  2432  		(*Ikev2InitiateDelChildSa)(nil),
  2433  		(*Ikev2InitiateDelChildSaReply)(nil),
  2434  		(*Ikev2InitiateDelIkeSa)(nil),
  2435  		(*Ikev2InitiateDelIkeSaReply)(nil),
  2436  		(*Ikev2InitiateRekeyChildSa)(nil),
  2437  		(*Ikev2InitiateRekeyChildSaReply)(nil),
  2438  		(*Ikev2InitiateSaInit)(nil),
  2439  		(*Ikev2InitiateSaInitReply)(nil),
  2440  		(*Ikev2NonceGet)(nil),
  2441  		(*Ikev2NonceGetReply)(nil),
  2442  		(*Ikev2PluginGetVersion)(nil),
  2443  		(*Ikev2PluginGetVersionReply)(nil),
  2444  		(*Ikev2ProfileAddDel)(nil),
  2445  		(*Ikev2ProfileAddDelReply)(nil),
  2446  		(*Ikev2ProfileDetails)(nil),
  2447  		(*Ikev2ProfileDisableNatt)(nil),
  2448  		(*Ikev2ProfileDisableNattReply)(nil),
  2449  		(*Ikev2ProfileDump)(nil),
  2450  		(*Ikev2ProfileSetAuth)(nil),
  2451  		(*Ikev2ProfileSetAuthReply)(nil),
  2452  		(*Ikev2ProfileSetID)(nil),
  2453  		(*Ikev2ProfileSetIDReply)(nil),
  2454  		(*Ikev2ProfileSetIpsecUDPPort)(nil),
  2455  		(*Ikev2ProfileSetIpsecUDPPortReply)(nil),
  2456  		(*Ikev2ProfileSetLiveness)(nil),
  2457  		(*Ikev2ProfileSetLivenessReply)(nil),
  2458  		(*Ikev2ProfileSetTs)(nil),
  2459  		(*Ikev2ProfileSetTsReply)(nil),
  2460  		(*Ikev2ProfileSetUDPEncap)(nil),
  2461  		(*Ikev2ProfileSetUDPEncapReply)(nil),
  2462  		(*Ikev2SaDetails)(nil),
  2463  		(*Ikev2SaDump)(nil),
  2464  		(*Ikev2SetEspTransforms)(nil),
  2465  		(*Ikev2SetEspTransformsReply)(nil),
  2466  		(*Ikev2SetIkeTransforms)(nil),
  2467  		(*Ikev2SetIkeTransformsReply)(nil),
  2468  		(*Ikev2SetLocalKey)(nil),
  2469  		(*Ikev2SetLocalKeyReply)(nil),
  2470  		(*Ikev2SetResponder)(nil),
  2471  		(*Ikev2SetResponderHostname)(nil),
  2472  		(*Ikev2SetResponderHostnameReply)(nil),
  2473  		(*Ikev2SetResponderReply)(nil),
  2474  		(*Ikev2SetSaLifetime)(nil),
  2475  		(*Ikev2SetSaLifetimeReply)(nil),
  2476  		(*Ikev2SetTunnelInterface)(nil),
  2477  		(*Ikev2SetTunnelInterfaceReply)(nil),
  2478  		(*Ikev2TrafficSelectorDetails)(nil),
  2479  		(*Ikev2TrafficSelectorDump)(nil),
  2480  	}
  2481  }