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