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