go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2202/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 // - 46 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/vpp2202/interface_types" 17 ip_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2202/ip_types" 18 ipsec_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2202/ipsec_types" 19 tunnel_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2202/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 = "5.0.2" 31 VersionCrc = 0x6b08e91e 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 // Deprecated: the message will be removed in the future versions 465 type IpsecSaDetails struct { 466 Entry ipsec_types.IpsecSadEntry `binapi:"ipsec_sad_entry,name=entry" json:"entry,omitempty"` 467 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 468 Salt uint32 `binapi:"u32,name=salt" json:"salt,omitempty"` 469 SeqOutbound uint64 `binapi:"u64,name=seq_outbound" json:"seq_outbound,omitempty"` 470 LastSeqInbound uint64 `binapi:"u64,name=last_seq_inbound" json:"last_seq_inbound,omitempty"` 471 ReplayWindow uint64 `binapi:"u64,name=replay_window" json:"replay_window,omitempty"` 472 StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` 473 } 474 475 func (m *IpsecSaDetails) Reset() { *m = IpsecSaDetails{} } 476 func (*IpsecSaDetails) GetMessageName() string { return "ipsec_sa_details" } 477 func (*IpsecSaDetails) GetCrcString() string { return "345d14a7" } 478 func (*IpsecSaDetails) GetMessageType() api.MessageType { 479 return api.ReplyMessage 480 } 481 482 func (m *IpsecSaDetails) Size() (size int) { 483 if m == nil { 484 return 0 485 } 486 size += 4 // m.Entry.SadID 487 size += 4 // m.Entry.Spi 488 size += 4 // m.Entry.Protocol 489 size += 4 // m.Entry.CryptoAlgorithm 490 size += 1 // m.Entry.CryptoKey.Length 491 size += 1 * 128 // m.Entry.CryptoKey.Data 492 size += 4 // m.Entry.IntegrityAlgorithm 493 size += 1 // m.Entry.IntegrityKey.Length 494 size += 1 * 128 // m.Entry.IntegrityKey.Data 495 size += 4 // m.Entry.Flags 496 size += 1 // m.Entry.TunnelSrc.Af 497 size += 1 * 16 // m.Entry.TunnelSrc.Un 498 size += 1 // m.Entry.TunnelDst.Af 499 size += 1 * 16 // m.Entry.TunnelDst.Un 500 size += 4 // m.Entry.TxTableID 501 size += 4 // m.Entry.Salt 502 size += 2 // m.Entry.UDPSrcPort 503 size += 2 // m.Entry.UDPDstPort 504 size += 4 // m.SwIfIndex 505 size += 4 // m.Salt 506 size += 8 // m.SeqOutbound 507 size += 8 // m.LastSeqInbound 508 size += 8 // m.ReplayWindow 509 size += 4 // m.StatIndex 510 return size 511 } 512 func (m *IpsecSaDetails) Marshal(b []byte) ([]byte, error) { 513 if b == nil { 514 b = make([]byte, m.Size()) 515 } 516 buf := codec.NewBuffer(b) 517 buf.EncodeUint32(m.Entry.SadID) 518 buf.EncodeUint32(m.Entry.Spi) 519 buf.EncodeUint32(uint32(m.Entry.Protocol)) 520 buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm)) 521 buf.EncodeUint8(m.Entry.CryptoKey.Length) 522 buf.EncodeBytes(m.Entry.CryptoKey.Data, 128) 523 buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm)) 524 buf.EncodeUint8(m.Entry.IntegrityKey.Length) 525 buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128) 526 buf.EncodeUint32(uint32(m.Entry.Flags)) 527 buf.EncodeUint8(uint8(m.Entry.TunnelSrc.Af)) 528 buf.EncodeBytes(m.Entry.TunnelSrc.Un.XXX_UnionData[:], 16) 529 buf.EncodeUint8(uint8(m.Entry.TunnelDst.Af)) 530 buf.EncodeBytes(m.Entry.TunnelDst.Un.XXX_UnionData[:], 16) 531 buf.EncodeUint32(m.Entry.TxTableID) 532 buf.EncodeUint32(m.Entry.Salt) 533 buf.EncodeUint16(m.Entry.UDPSrcPort) 534 buf.EncodeUint16(m.Entry.UDPDstPort) 535 buf.EncodeUint32(uint32(m.SwIfIndex)) 536 buf.EncodeUint32(m.Salt) 537 buf.EncodeUint64(m.SeqOutbound) 538 buf.EncodeUint64(m.LastSeqInbound) 539 buf.EncodeUint64(m.ReplayWindow) 540 buf.EncodeUint32(m.StatIndex) 541 return buf.Bytes(), nil 542 } 543 func (m *IpsecSaDetails) Unmarshal(b []byte) error { 544 buf := codec.NewBuffer(b) 545 m.Entry.SadID = buf.DecodeUint32() 546 m.Entry.Spi = buf.DecodeUint32() 547 m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32()) 548 m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32()) 549 m.Entry.CryptoKey.Length = buf.DecodeUint8() 550 m.Entry.CryptoKey.Data = make([]byte, 128) 551 copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data))) 552 m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32()) 553 m.Entry.IntegrityKey.Length = buf.DecodeUint8() 554 m.Entry.IntegrityKey.Data = make([]byte, 128) 555 copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data))) 556 m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32()) 557 m.Entry.TunnelSrc.Af = ip_types.AddressFamily(buf.DecodeUint8()) 558 copy(m.Entry.TunnelSrc.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 559 m.Entry.TunnelDst.Af = ip_types.AddressFamily(buf.DecodeUint8()) 560 copy(m.Entry.TunnelDst.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 561 m.Entry.TxTableID = buf.DecodeUint32() 562 m.Entry.Salt = buf.DecodeUint32() 563 m.Entry.UDPSrcPort = buf.DecodeUint16() 564 m.Entry.UDPDstPort = buf.DecodeUint16() 565 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 566 m.Salt = buf.DecodeUint32() 567 m.SeqOutbound = buf.DecodeUint64() 568 m.LastSeqInbound = buf.DecodeUint64() 569 m.ReplayWindow = buf.DecodeUint64() 570 m.StatIndex = buf.DecodeUint32() 571 return nil 572 } 573 574 // IpsecSaDump defines message 'ipsec_sa_dump'. 575 // Deprecated: the message will be removed in the future versions 576 type IpsecSaDump struct { 577 SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"` 578 } 579 580 func (m *IpsecSaDump) Reset() { *m = IpsecSaDump{} } 581 func (*IpsecSaDump) GetMessageName() string { return "ipsec_sa_dump" } 582 func (*IpsecSaDump) GetCrcString() string { return "2076c2f4" } 583 func (*IpsecSaDump) GetMessageType() api.MessageType { 584 return api.RequestMessage 585 } 586 587 func (m *IpsecSaDump) Size() (size int) { 588 if m == nil { 589 return 0 590 } 591 size += 4 // m.SaID 592 return size 593 } 594 func (m *IpsecSaDump) Marshal(b []byte) ([]byte, error) { 595 if b == nil { 596 b = make([]byte, m.Size()) 597 } 598 buf := codec.NewBuffer(b) 599 buf.EncodeUint32(m.SaID) 600 return buf.Bytes(), nil 601 } 602 func (m *IpsecSaDump) Unmarshal(b []byte) error { 603 buf := codec.NewBuffer(b) 604 m.SaID = buf.DecodeUint32() 605 return nil 606 } 607 608 // IpsecSaV2Details defines message 'ipsec_sa_v2_details'. 609 type IpsecSaV2Details struct { 610 Entry ipsec_types.IpsecSadEntryV2 `binapi:"ipsec_sad_entry_v2,name=entry" json:"entry,omitempty"` 611 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 612 Salt uint32 `binapi:"u32,name=salt" json:"salt,omitempty"` 613 SeqOutbound uint64 `binapi:"u64,name=seq_outbound" json:"seq_outbound,omitempty"` 614 LastSeqInbound uint64 `binapi:"u64,name=last_seq_inbound" json:"last_seq_inbound,omitempty"` 615 ReplayWindow uint64 `binapi:"u64,name=replay_window" json:"replay_window,omitempty"` 616 StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` 617 } 618 619 func (m *IpsecSaV2Details) Reset() { *m = IpsecSaV2Details{} } 620 func (*IpsecSaV2Details) GetMessageName() string { return "ipsec_sa_v2_details" } 621 func (*IpsecSaV2Details) GetCrcString() string { return "e2130051" } 622 func (*IpsecSaV2Details) GetMessageType() api.MessageType { 623 return api.ReplyMessage 624 } 625 626 func (m *IpsecSaV2Details) Size() (size int) { 627 if m == nil { 628 return 0 629 } 630 size += 4 // m.Entry.SadID 631 size += 4 // m.Entry.Spi 632 size += 4 // m.Entry.Protocol 633 size += 4 // m.Entry.CryptoAlgorithm 634 size += 1 // m.Entry.CryptoKey.Length 635 size += 1 * 128 // m.Entry.CryptoKey.Data 636 size += 4 // m.Entry.IntegrityAlgorithm 637 size += 1 // m.Entry.IntegrityKey.Length 638 size += 1 * 128 // m.Entry.IntegrityKey.Data 639 size += 4 // m.Entry.Flags 640 size += 1 // m.Entry.TunnelSrc.Af 641 size += 1 * 16 // m.Entry.TunnelSrc.Un 642 size += 1 // m.Entry.TunnelDst.Af 643 size += 1 * 16 // m.Entry.TunnelDst.Un 644 size += 1 // m.Entry.TunnelFlags 645 size += 1 // m.Entry.Dscp 646 size += 4 // m.Entry.TxTableID 647 size += 4 // m.Entry.Salt 648 size += 2 // m.Entry.UDPSrcPort 649 size += 2 // m.Entry.UDPDstPort 650 size += 4 // m.SwIfIndex 651 size += 4 // m.Salt 652 size += 8 // m.SeqOutbound 653 size += 8 // m.LastSeqInbound 654 size += 8 // m.ReplayWindow 655 size += 4 // m.StatIndex 656 return size 657 } 658 func (m *IpsecSaV2Details) Marshal(b []byte) ([]byte, error) { 659 if b == nil { 660 b = make([]byte, m.Size()) 661 } 662 buf := codec.NewBuffer(b) 663 buf.EncodeUint32(m.Entry.SadID) 664 buf.EncodeUint32(m.Entry.Spi) 665 buf.EncodeUint32(uint32(m.Entry.Protocol)) 666 buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm)) 667 buf.EncodeUint8(m.Entry.CryptoKey.Length) 668 buf.EncodeBytes(m.Entry.CryptoKey.Data, 128) 669 buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm)) 670 buf.EncodeUint8(m.Entry.IntegrityKey.Length) 671 buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128) 672 buf.EncodeUint32(uint32(m.Entry.Flags)) 673 buf.EncodeUint8(uint8(m.Entry.TunnelSrc.Af)) 674 buf.EncodeBytes(m.Entry.TunnelSrc.Un.XXX_UnionData[:], 16) 675 buf.EncodeUint8(uint8(m.Entry.TunnelDst.Af)) 676 buf.EncodeBytes(m.Entry.TunnelDst.Un.XXX_UnionData[:], 16) 677 buf.EncodeUint8(uint8(m.Entry.TunnelFlags)) 678 buf.EncodeUint8(uint8(m.Entry.Dscp)) 679 buf.EncodeUint32(m.Entry.TxTableID) 680 buf.EncodeUint32(m.Entry.Salt) 681 buf.EncodeUint16(m.Entry.UDPSrcPort) 682 buf.EncodeUint16(m.Entry.UDPDstPort) 683 buf.EncodeUint32(uint32(m.SwIfIndex)) 684 buf.EncodeUint32(m.Salt) 685 buf.EncodeUint64(m.SeqOutbound) 686 buf.EncodeUint64(m.LastSeqInbound) 687 buf.EncodeUint64(m.ReplayWindow) 688 buf.EncodeUint32(m.StatIndex) 689 return buf.Bytes(), nil 690 } 691 func (m *IpsecSaV2Details) Unmarshal(b []byte) error { 692 buf := codec.NewBuffer(b) 693 m.Entry.SadID = buf.DecodeUint32() 694 m.Entry.Spi = buf.DecodeUint32() 695 m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32()) 696 m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32()) 697 m.Entry.CryptoKey.Length = buf.DecodeUint8() 698 m.Entry.CryptoKey.Data = make([]byte, 128) 699 copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data))) 700 m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32()) 701 m.Entry.IntegrityKey.Length = buf.DecodeUint8() 702 m.Entry.IntegrityKey.Data = make([]byte, 128) 703 copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data))) 704 m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32()) 705 m.Entry.TunnelSrc.Af = ip_types.AddressFamily(buf.DecodeUint8()) 706 copy(m.Entry.TunnelSrc.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 707 m.Entry.TunnelDst.Af = ip_types.AddressFamily(buf.DecodeUint8()) 708 copy(m.Entry.TunnelDst.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 709 m.Entry.TunnelFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8()) 710 m.Entry.Dscp = ip_types.IPDscp(buf.DecodeUint8()) 711 m.Entry.TxTableID = buf.DecodeUint32() 712 m.Entry.Salt = buf.DecodeUint32() 713 m.Entry.UDPSrcPort = buf.DecodeUint16() 714 m.Entry.UDPDstPort = buf.DecodeUint16() 715 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 716 m.Salt = buf.DecodeUint32() 717 m.SeqOutbound = buf.DecodeUint64() 718 m.LastSeqInbound = buf.DecodeUint64() 719 m.ReplayWindow = buf.DecodeUint64() 720 m.StatIndex = buf.DecodeUint32() 721 return nil 722 } 723 724 // IpsecSaV2Dump defines message 'ipsec_sa_v2_dump'. 725 type IpsecSaV2Dump struct { 726 SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"` 727 } 728 729 func (m *IpsecSaV2Dump) Reset() { *m = IpsecSaV2Dump{} } 730 func (*IpsecSaV2Dump) GetMessageName() string { return "ipsec_sa_v2_dump" } 731 func (*IpsecSaV2Dump) GetCrcString() string { return "2076c2f4" } 732 func (*IpsecSaV2Dump) GetMessageType() api.MessageType { 733 return api.RequestMessage 734 } 735 736 func (m *IpsecSaV2Dump) Size() (size int) { 737 if m == nil { 738 return 0 739 } 740 size += 4 // m.SaID 741 return size 742 } 743 func (m *IpsecSaV2Dump) Marshal(b []byte) ([]byte, error) { 744 if b == nil { 745 b = make([]byte, m.Size()) 746 } 747 buf := codec.NewBuffer(b) 748 buf.EncodeUint32(m.SaID) 749 return buf.Bytes(), nil 750 } 751 func (m *IpsecSaV2Dump) Unmarshal(b []byte) error { 752 buf := codec.NewBuffer(b) 753 m.SaID = buf.DecodeUint32() 754 return nil 755 } 756 757 // IpsecSaV3Details defines message 'ipsec_sa_v3_details'. 758 type IpsecSaV3Details struct { 759 Entry ipsec_types.IpsecSadEntryV3 `binapi:"ipsec_sad_entry_v3,name=entry" json:"entry,omitempty"` 760 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 761 SeqOutbound uint64 `binapi:"u64,name=seq_outbound" json:"seq_outbound,omitempty"` 762 LastSeqInbound uint64 `binapi:"u64,name=last_seq_inbound" json:"last_seq_inbound,omitempty"` 763 ReplayWindow uint64 `binapi:"u64,name=replay_window" json:"replay_window,omitempty"` 764 StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` 765 } 766 767 func (m *IpsecSaV3Details) Reset() { *m = IpsecSaV3Details{} } 768 func (*IpsecSaV3Details) GetMessageName() string { return "ipsec_sa_v3_details" } 769 func (*IpsecSaV3Details) GetCrcString() string { return "2fc991ee" } 770 func (*IpsecSaV3Details) GetMessageType() api.MessageType { 771 return api.ReplyMessage 772 } 773 774 func (m *IpsecSaV3Details) Size() (size int) { 775 if m == nil { 776 return 0 777 } 778 size += 4 // m.Entry.SadID 779 size += 4 // m.Entry.Spi 780 size += 4 // m.Entry.Protocol 781 size += 4 // m.Entry.CryptoAlgorithm 782 size += 1 // m.Entry.CryptoKey.Length 783 size += 1 * 128 // m.Entry.CryptoKey.Data 784 size += 4 // m.Entry.IntegrityAlgorithm 785 size += 1 // m.Entry.IntegrityKey.Length 786 size += 1 * 128 // m.Entry.IntegrityKey.Data 787 size += 4 // m.Entry.Flags 788 size += 4 // m.Entry.Tunnel.Instance 789 size += 1 // m.Entry.Tunnel.Src.Af 790 size += 1 * 16 // m.Entry.Tunnel.Src.Un 791 size += 1 // m.Entry.Tunnel.Dst.Af 792 size += 1 * 16 // m.Entry.Tunnel.Dst.Un 793 size += 4 // m.Entry.Tunnel.SwIfIndex 794 size += 4 // m.Entry.Tunnel.TableID 795 size += 1 // m.Entry.Tunnel.EncapDecapFlags 796 size += 1 // m.Entry.Tunnel.Mode 797 size += 1 // m.Entry.Tunnel.Flags 798 size += 1 // m.Entry.Tunnel.Dscp 799 size += 1 // m.Entry.Tunnel.HopLimit 800 size += 4 // m.Entry.Salt 801 size += 2 // m.Entry.UDPSrcPort 802 size += 2 // m.Entry.UDPDstPort 803 size += 4 // m.SwIfIndex 804 size += 8 // m.SeqOutbound 805 size += 8 // m.LastSeqInbound 806 size += 8 // m.ReplayWindow 807 size += 4 // m.StatIndex 808 return size 809 } 810 func (m *IpsecSaV3Details) Marshal(b []byte) ([]byte, error) { 811 if b == nil { 812 b = make([]byte, m.Size()) 813 } 814 buf := codec.NewBuffer(b) 815 buf.EncodeUint32(m.Entry.SadID) 816 buf.EncodeUint32(m.Entry.Spi) 817 buf.EncodeUint32(uint32(m.Entry.Protocol)) 818 buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm)) 819 buf.EncodeUint8(m.Entry.CryptoKey.Length) 820 buf.EncodeBytes(m.Entry.CryptoKey.Data, 128) 821 buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm)) 822 buf.EncodeUint8(m.Entry.IntegrityKey.Length) 823 buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128) 824 buf.EncodeUint32(uint32(m.Entry.Flags)) 825 buf.EncodeUint32(m.Entry.Tunnel.Instance) 826 buf.EncodeUint8(uint8(m.Entry.Tunnel.Src.Af)) 827 buf.EncodeBytes(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], 16) 828 buf.EncodeUint8(uint8(m.Entry.Tunnel.Dst.Af)) 829 buf.EncodeBytes(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], 16) 830 buf.EncodeUint32(uint32(m.Entry.Tunnel.SwIfIndex)) 831 buf.EncodeUint32(m.Entry.Tunnel.TableID) 832 buf.EncodeUint8(uint8(m.Entry.Tunnel.EncapDecapFlags)) 833 buf.EncodeUint8(uint8(m.Entry.Tunnel.Mode)) 834 buf.EncodeUint8(uint8(m.Entry.Tunnel.Flags)) 835 buf.EncodeUint8(uint8(m.Entry.Tunnel.Dscp)) 836 buf.EncodeUint8(m.Entry.Tunnel.HopLimit) 837 buf.EncodeUint32(m.Entry.Salt) 838 buf.EncodeUint16(m.Entry.UDPSrcPort) 839 buf.EncodeUint16(m.Entry.UDPDstPort) 840 buf.EncodeUint32(uint32(m.SwIfIndex)) 841 buf.EncodeUint64(m.SeqOutbound) 842 buf.EncodeUint64(m.LastSeqInbound) 843 buf.EncodeUint64(m.ReplayWindow) 844 buf.EncodeUint32(m.StatIndex) 845 return buf.Bytes(), nil 846 } 847 func (m *IpsecSaV3Details) Unmarshal(b []byte) error { 848 buf := codec.NewBuffer(b) 849 m.Entry.SadID = buf.DecodeUint32() 850 m.Entry.Spi = buf.DecodeUint32() 851 m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32()) 852 m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32()) 853 m.Entry.CryptoKey.Length = buf.DecodeUint8() 854 m.Entry.CryptoKey.Data = make([]byte, 128) 855 copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data))) 856 m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32()) 857 m.Entry.IntegrityKey.Length = buf.DecodeUint8() 858 m.Entry.IntegrityKey.Data = make([]byte, 128) 859 copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data))) 860 m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32()) 861 m.Entry.Tunnel.Instance = buf.DecodeUint32() 862 m.Entry.Tunnel.Src.Af = ip_types.AddressFamily(buf.DecodeUint8()) 863 copy(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 864 m.Entry.Tunnel.Dst.Af = ip_types.AddressFamily(buf.DecodeUint8()) 865 copy(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 866 m.Entry.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 867 m.Entry.Tunnel.TableID = buf.DecodeUint32() 868 m.Entry.Tunnel.EncapDecapFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8()) 869 m.Entry.Tunnel.Mode = tunnel_types.TunnelMode(buf.DecodeUint8()) 870 m.Entry.Tunnel.Flags = tunnel_types.TunnelFlags(buf.DecodeUint8()) 871 m.Entry.Tunnel.Dscp = ip_types.IPDscp(buf.DecodeUint8()) 872 m.Entry.Tunnel.HopLimit = buf.DecodeUint8() 873 m.Entry.Salt = buf.DecodeUint32() 874 m.Entry.UDPSrcPort = buf.DecodeUint16() 875 m.Entry.UDPDstPort = buf.DecodeUint16() 876 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 877 m.SeqOutbound = buf.DecodeUint64() 878 m.LastSeqInbound = buf.DecodeUint64() 879 m.ReplayWindow = buf.DecodeUint64() 880 m.StatIndex = buf.DecodeUint32() 881 return nil 882 } 883 884 // IpsecSaV3Dump defines message 'ipsec_sa_v3_dump'. 885 type IpsecSaV3Dump struct { 886 SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"` 887 } 888 889 func (m *IpsecSaV3Dump) Reset() { *m = IpsecSaV3Dump{} } 890 func (*IpsecSaV3Dump) GetMessageName() string { return "ipsec_sa_v3_dump" } 891 func (*IpsecSaV3Dump) GetCrcString() string { return "2076c2f4" } 892 func (*IpsecSaV3Dump) GetMessageType() api.MessageType { 893 return api.RequestMessage 894 } 895 896 func (m *IpsecSaV3Dump) Size() (size int) { 897 if m == nil { 898 return 0 899 } 900 size += 4 // m.SaID 901 return size 902 } 903 func (m *IpsecSaV3Dump) Marshal(b []byte) ([]byte, error) { 904 if b == nil { 905 b = make([]byte, m.Size()) 906 } 907 buf := codec.NewBuffer(b) 908 buf.EncodeUint32(m.SaID) 909 return buf.Bytes(), nil 910 } 911 func (m *IpsecSaV3Dump) Unmarshal(b []byte) error { 912 buf := codec.NewBuffer(b) 913 m.SaID = buf.DecodeUint32() 914 return nil 915 } 916 917 // IpsecSadEntryAdd defines message 'ipsec_sad_entry_add'. 918 type IpsecSadEntryAdd struct { 919 Entry ipsec_types.IpsecSadEntryV3 `binapi:"ipsec_sad_entry_v3,name=entry" json:"entry,omitempty"` 920 } 921 922 func (m *IpsecSadEntryAdd) Reset() { *m = IpsecSadEntryAdd{} } 923 func (*IpsecSadEntryAdd) GetMessageName() string { return "ipsec_sad_entry_add" } 924 func (*IpsecSadEntryAdd) GetCrcString() string { return "50229353" } 925 func (*IpsecSadEntryAdd) GetMessageType() api.MessageType { 926 return api.RequestMessage 927 } 928 929 func (m *IpsecSadEntryAdd) Size() (size int) { 930 if m == nil { 931 return 0 932 } 933 size += 4 // m.Entry.SadID 934 size += 4 // m.Entry.Spi 935 size += 4 // m.Entry.Protocol 936 size += 4 // m.Entry.CryptoAlgorithm 937 size += 1 // m.Entry.CryptoKey.Length 938 size += 1 * 128 // m.Entry.CryptoKey.Data 939 size += 4 // m.Entry.IntegrityAlgorithm 940 size += 1 // m.Entry.IntegrityKey.Length 941 size += 1 * 128 // m.Entry.IntegrityKey.Data 942 size += 4 // m.Entry.Flags 943 size += 4 // m.Entry.Tunnel.Instance 944 size += 1 // m.Entry.Tunnel.Src.Af 945 size += 1 * 16 // m.Entry.Tunnel.Src.Un 946 size += 1 // m.Entry.Tunnel.Dst.Af 947 size += 1 * 16 // m.Entry.Tunnel.Dst.Un 948 size += 4 // m.Entry.Tunnel.SwIfIndex 949 size += 4 // m.Entry.Tunnel.TableID 950 size += 1 // m.Entry.Tunnel.EncapDecapFlags 951 size += 1 // m.Entry.Tunnel.Mode 952 size += 1 // m.Entry.Tunnel.Flags 953 size += 1 // m.Entry.Tunnel.Dscp 954 size += 1 // m.Entry.Tunnel.HopLimit 955 size += 4 // m.Entry.Salt 956 size += 2 // m.Entry.UDPSrcPort 957 size += 2 // m.Entry.UDPDstPort 958 return size 959 } 960 func (m *IpsecSadEntryAdd) Marshal(b []byte) ([]byte, error) { 961 if b == nil { 962 b = make([]byte, m.Size()) 963 } 964 buf := codec.NewBuffer(b) 965 buf.EncodeUint32(m.Entry.SadID) 966 buf.EncodeUint32(m.Entry.Spi) 967 buf.EncodeUint32(uint32(m.Entry.Protocol)) 968 buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm)) 969 buf.EncodeUint8(m.Entry.CryptoKey.Length) 970 buf.EncodeBytes(m.Entry.CryptoKey.Data, 128) 971 buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm)) 972 buf.EncodeUint8(m.Entry.IntegrityKey.Length) 973 buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128) 974 buf.EncodeUint32(uint32(m.Entry.Flags)) 975 buf.EncodeUint32(m.Entry.Tunnel.Instance) 976 buf.EncodeUint8(uint8(m.Entry.Tunnel.Src.Af)) 977 buf.EncodeBytes(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], 16) 978 buf.EncodeUint8(uint8(m.Entry.Tunnel.Dst.Af)) 979 buf.EncodeBytes(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], 16) 980 buf.EncodeUint32(uint32(m.Entry.Tunnel.SwIfIndex)) 981 buf.EncodeUint32(m.Entry.Tunnel.TableID) 982 buf.EncodeUint8(uint8(m.Entry.Tunnel.EncapDecapFlags)) 983 buf.EncodeUint8(uint8(m.Entry.Tunnel.Mode)) 984 buf.EncodeUint8(uint8(m.Entry.Tunnel.Flags)) 985 buf.EncodeUint8(uint8(m.Entry.Tunnel.Dscp)) 986 buf.EncodeUint8(m.Entry.Tunnel.HopLimit) 987 buf.EncodeUint32(m.Entry.Salt) 988 buf.EncodeUint16(m.Entry.UDPSrcPort) 989 buf.EncodeUint16(m.Entry.UDPDstPort) 990 return buf.Bytes(), nil 991 } 992 func (m *IpsecSadEntryAdd) Unmarshal(b []byte) error { 993 buf := codec.NewBuffer(b) 994 m.Entry.SadID = buf.DecodeUint32() 995 m.Entry.Spi = buf.DecodeUint32() 996 m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32()) 997 m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32()) 998 m.Entry.CryptoKey.Length = buf.DecodeUint8() 999 m.Entry.CryptoKey.Data = make([]byte, 128) 1000 copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data))) 1001 m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32()) 1002 m.Entry.IntegrityKey.Length = buf.DecodeUint8() 1003 m.Entry.IntegrityKey.Data = make([]byte, 128) 1004 copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data))) 1005 m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32()) 1006 m.Entry.Tunnel.Instance = buf.DecodeUint32() 1007 m.Entry.Tunnel.Src.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1008 copy(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1009 m.Entry.Tunnel.Dst.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1010 copy(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1011 m.Entry.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1012 m.Entry.Tunnel.TableID = buf.DecodeUint32() 1013 m.Entry.Tunnel.EncapDecapFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8()) 1014 m.Entry.Tunnel.Mode = tunnel_types.TunnelMode(buf.DecodeUint8()) 1015 m.Entry.Tunnel.Flags = tunnel_types.TunnelFlags(buf.DecodeUint8()) 1016 m.Entry.Tunnel.Dscp = ip_types.IPDscp(buf.DecodeUint8()) 1017 m.Entry.Tunnel.HopLimit = buf.DecodeUint8() 1018 m.Entry.Salt = buf.DecodeUint32() 1019 m.Entry.UDPSrcPort = buf.DecodeUint16() 1020 m.Entry.UDPDstPort = buf.DecodeUint16() 1021 return nil 1022 } 1023 1024 // IpsecSadEntryAddDel defines message 'ipsec_sad_entry_add_del'. 1025 // Deprecated: the message will be removed in the future versions 1026 type IpsecSadEntryAddDel struct { 1027 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` 1028 Entry ipsec_types.IpsecSadEntry `binapi:"ipsec_sad_entry,name=entry" json:"entry,omitempty"` 1029 } 1030 1031 func (m *IpsecSadEntryAddDel) Reset() { *m = IpsecSadEntryAddDel{} } 1032 func (*IpsecSadEntryAddDel) GetMessageName() string { return "ipsec_sad_entry_add_del" } 1033 func (*IpsecSadEntryAddDel) GetCrcString() string { return "ab64b5c6" } 1034 func (*IpsecSadEntryAddDel) GetMessageType() api.MessageType { 1035 return api.RequestMessage 1036 } 1037 1038 func (m *IpsecSadEntryAddDel) Size() (size int) { 1039 if m == nil { 1040 return 0 1041 } 1042 size += 1 // m.IsAdd 1043 size += 4 // m.Entry.SadID 1044 size += 4 // m.Entry.Spi 1045 size += 4 // m.Entry.Protocol 1046 size += 4 // m.Entry.CryptoAlgorithm 1047 size += 1 // m.Entry.CryptoKey.Length 1048 size += 1 * 128 // m.Entry.CryptoKey.Data 1049 size += 4 // m.Entry.IntegrityAlgorithm 1050 size += 1 // m.Entry.IntegrityKey.Length 1051 size += 1 * 128 // m.Entry.IntegrityKey.Data 1052 size += 4 // m.Entry.Flags 1053 size += 1 // m.Entry.TunnelSrc.Af 1054 size += 1 * 16 // m.Entry.TunnelSrc.Un 1055 size += 1 // m.Entry.TunnelDst.Af 1056 size += 1 * 16 // m.Entry.TunnelDst.Un 1057 size += 4 // m.Entry.TxTableID 1058 size += 4 // m.Entry.Salt 1059 size += 2 // m.Entry.UDPSrcPort 1060 size += 2 // m.Entry.UDPDstPort 1061 return size 1062 } 1063 func (m *IpsecSadEntryAddDel) Marshal(b []byte) ([]byte, error) { 1064 if b == nil { 1065 b = make([]byte, m.Size()) 1066 } 1067 buf := codec.NewBuffer(b) 1068 buf.EncodeBool(m.IsAdd) 1069 buf.EncodeUint32(m.Entry.SadID) 1070 buf.EncodeUint32(m.Entry.Spi) 1071 buf.EncodeUint32(uint32(m.Entry.Protocol)) 1072 buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm)) 1073 buf.EncodeUint8(m.Entry.CryptoKey.Length) 1074 buf.EncodeBytes(m.Entry.CryptoKey.Data, 128) 1075 buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm)) 1076 buf.EncodeUint8(m.Entry.IntegrityKey.Length) 1077 buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128) 1078 buf.EncodeUint32(uint32(m.Entry.Flags)) 1079 buf.EncodeUint8(uint8(m.Entry.TunnelSrc.Af)) 1080 buf.EncodeBytes(m.Entry.TunnelSrc.Un.XXX_UnionData[:], 16) 1081 buf.EncodeUint8(uint8(m.Entry.TunnelDst.Af)) 1082 buf.EncodeBytes(m.Entry.TunnelDst.Un.XXX_UnionData[:], 16) 1083 buf.EncodeUint32(m.Entry.TxTableID) 1084 buf.EncodeUint32(m.Entry.Salt) 1085 buf.EncodeUint16(m.Entry.UDPSrcPort) 1086 buf.EncodeUint16(m.Entry.UDPDstPort) 1087 return buf.Bytes(), nil 1088 } 1089 func (m *IpsecSadEntryAddDel) Unmarshal(b []byte) error { 1090 buf := codec.NewBuffer(b) 1091 m.IsAdd = buf.DecodeBool() 1092 m.Entry.SadID = buf.DecodeUint32() 1093 m.Entry.Spi = buf.DecodeUint32() 1094 m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32()) 1095 m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32()) 1096 m.Entry.CryptoKey.Length = buf.DecodeUint8() 1097 m.Entry.CryptoKey.Data = make([]byte, 128) 1098 copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data))) 1099 m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32()) 1100 m.Entry.IntegrityKey.Length = buf.DecodeUint8() 1101 m.Entry.IntegrityKey.Data = make([]byte, 128) 1102 copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data))) 1103 m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32()) 1104 m.Entry.TunnelSrc.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1105 copy(m.Entry.TunnelSrc.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1106 m.Entry.TunnelDst.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1107 copy(m.Entry.TunnelDst.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1108 m.Entry.TxTableID = buf.DecodeUint32() 1109 m.Entry.Salt = buf.DecodeUint32() 1110 m.Entry.UDPSrcPort = buf.DecodeUint16() 1111 m.Entry.UDPDstPort = buf.DecodeUint16() 1112 return nil 1113 } 1114 1115 // IpsecSadEntryAddDelReply defines message 'ipsec_sad_entry_add_del_reply'. 1116 // Deprecated: the message will be removed in the future versions 1117 type IpsecSadEntryAddDelReply struct { 1118 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1119 StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` 1120 } 1121 1122 func (m *IpsecSadEntryAddDelReply) Reset() { *m = IpsecSadEntryAddDelReply{} } 1123 func (*IpsecSadEntryAddDelReply) GetMessageName() string { return "ipsec_sad_entry_add_del_reply" } 1124 func (*IpsecSadEntryAddDelReply) GetCrcString() string { return "9ffac24b" } 1125 func (*IpsecSadEntryAddDelReply) GetMessageType() api.MessageType { 1126 return api.ReplyMessage 1127 } 1128 1129 func (m *IpsecSadEntryAddDelReply) Size() (size int) { 1130 if m == nil { 1131 return 0 1132 } 1133 size += 4 // m.Retval 1134 size += 4 // m.StatIndex 1135 return size 1136 } 1137 func (m *IpsecSadEntryAddDelReply) 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 buf.EncodeUint32(m.StatIndex) 1144 return buf.Bytes(), nil 1145 } 1146 func (m *IpsecSadEntryAddDelReply) Unmarshal(b []byte) error { 1147 buf := codec.NewBuffer(b) 1148 m.Retval = buf.DecodeInt32() 1149 m.StatIndex = buf.DecodeUint32() 1150 return nil 1151 } 1152 1153 // IpsecSadEntryAddDelV2 defines message 'ipsec_sad_entry_add_del_v2'. 1154 type IpsecSadEntryAddDelV2 struct { 1155 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` 1156 Entry ipsec_types.IpsecSadEntryV2 `binapi:"ipsec_sad_entry_v2,name=entry" json:"entry,omitempty"` 1157 } 1158 1159 func (m *IpsecSadEntryAddDelV2) Reset() { *m = IpsecSadEntryAddDelV2{} } 1160 func (*IpsecSadEntryAddDelV2) GetMessageName() string { return "ipsec_sad_entry_add_del_v2" } 1161 func (*IpsecSadEntryAddDelV2) GetCrcString() string { return "aca78b27" } 1162 func (*IpsecSadEntryAddDelV2) GetMessageType() api.MessageType { 1163 return api.RequestMessage 1164 } 1165 1166 func (m *IpsecSadEntryAddDelV2) Size() (size int) { 1167 if m == nil { 1168 return 0 1169 } 1170 size += 1 // m.IsAdd 1171 size += 4 // m.Entry.SadID 1172 size += 4 // m.Entry.Spi 1173 size += 4 // m.Entry.Protocol 1174 size += 4 // m.Entry.CryptoAlgorithm 1175 size += 1 // m.Entry.CryptoKey.Length 1176 size += 1 * 128 // m.Entry.CryptoKey.Data 1177 size += 4 // m.Entry.IntegrityAlgorithm 1178 size += 1 // m.Entry.IntegrityKey.Length 1179 size += 1 * 128 // m.Entry.IntegrityKey.Data 1180 size += 4 // m.Entry.Flags 1181 size += 1 // m.Entry.TunnelSrc.Af 1182 size += 1 * 16 // m.Entry.TunnelSrc.Un 1183 size += 1 // m.Entry.TunnelDst.Af 1184 size += 1 * 16 // m.Entry.TunnelDst.Un 1185 size += 1 // m.Entry.TunnelFlags 1186 size += 1 // m.Entry.Dscp 1187 size += 4 // m.Entry.TxTableID 1188 size += 4 // m.Entry.Salt 1189 size += 2 // m.Entry.UDPSrcPort 1190 size += 2 // m.Entry.UDPDstPort 1191 return size 1192 } 1193 func (m *IpsecSadEntryAddDelV2) Marshal(b []byte) ([]byte, error) { 1194 if b == nil { 1195 b = make([]byte, m.Size()) 1196 } 1197 buf := codec.NewBuffer(b) 1198 buf.EncodeBool(m.IsAdd) 1199 buf.EncodeUint32(m.Entry.SadID) 1200 buf.EncodeUint32(m.Entry.Spi) 1201 buf.EncodeUint32(uint32(m.Entry.Protocol)) 1202 buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm)) 1203 buf.EncodeUint8(m.Entry.CryptoKey.Length) 1204 buf.EncodeBytes(m.Entry.CryptoKey.Data, 128) 1205 buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm)) 1206 buf.EncodeUint8(m.Entry.IntegrityKey.Length) 1207 buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128) 1208 buf.EncodeUint32(uint32(m.Entry.Flags)) 1209 buf.EncodeUint8(uint8(m.Entry.TunnelSrc.Af)) 1210 buf.EncodeBytes(m.Entry.TunnelSrc.Un.XXX_UnionData[:], 16) 1211 buf.EncodeUint8(uint8(m.Entry.TunnelDst.Af)) 1212 buf.EncodeBytes(m.Entry.TunnelDst.Un.XXX_UnionData[:], 16) 1213 buf.EncodeUint8(uint8(m.Entry.TunnelFlags)) 1214 buf.EncodeUint8(uint8(m.Entry.Dscp)) 1215 buf.EncodeUint32(m.Entry.TxTableID) 1216 buf.EncodeUint32(m.Entry.Salt) 1217 buf.EncodeUint16(m.Entry.UDPSrcPort) 1218 buf.EncodeUint16(m.Entry.UDPDstPort) 1219 return buf.Bytes(), nil 1220 } 1221 func (m *IpsecSadEntryAddDelV2) Unmarshal(b []byte) error { 1222 buf := codec.NewBuffer(b) 1223 m.IsAdd = buf.DecodeBool() 1224 m.Entry.SadID = buf.DecodeUint32() 1225 m.Entry.Spi = buf.DecodeUint32() 1226 m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32()) 1227 m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32()) 1228 m.Entry.CryptoKey.Length = buf.DecodeUint8() 1229 m.Entry.CryptoKey.Data = make([]byte, 128) 1230 copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data))) 1231 m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32()) 1232 m.Entry.IntegrityKey.Length = buf.DecodeUint8() 1233 m.Entry.IntegrityKey.Data = make([]byte, 128) 1234 copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data))) 1235 m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32()) 1236 m.Entry.TunnelSrc.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1237 copy(m.Entry.TunnelSrc.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1238 m.Entry.TunnelDst.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1239 copy(m.Entry.TunnelDst.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1240 m.Entry.TunnelFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8()) 1241 m.Entry.Dscp = ip_types.IPDscp(buf.DecodeUint8()) 1242 m.Entry.TxTableID = buf.DecodeUint32() 1243 m.Entry.Salt = buf.DecodeUint32() 1244 m.Entry.UDPSrcPort = buf.DecodeUint16() 1245 m.Entry.UDPDstPort = buf.DecodeUint16() 1246 return nil 1247 } 1248 1249 // IpsecSadEntryAddDelV2Reply defines message 'ipsec_sad_entry_add_del_v2_reply'. 1250 type IpsecSadEntryAddDelV2Reply struct { 1251 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1252 StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` 1253 } 1254 1255 func (m *IpsecSadEntryAddDelV2Reply) Reset() { *m = IpsecSadEntryAddDelV2Reply{} } 1256 func (*IpsecSadEntryAddDelV2Reply) GetMessageName() string { return "ipsec_sad_entry_add_del_v2_reply" } 1257 func (*IpsecSadEntryAddDelV2Reply) GetCrcString() string { return "9ffac24b" } 1258 func (*IpsecSadEntryAddDelV2Reply) GetMessageType() api.MessageType { 1259 return api.ReplyMessage 1260 } 1261 1262 func (m *IpsecSadEntryAddDelV2Reply) Size() (size int) { 1263 if m == nil { 1264 return 0 1265 } 1266 size += 4 // m.Retval 1267 size += 4 // m.StatIndex 1268 return size 1269 } 1270 func (m *IpsecSadEntryAddDelV2Reply) Marshal(b []byte) ([]byte, error) { 1271 if b == nil { 1272 b = make([]byte, m.Size()) 1273 } 1274 buf := codec.NewBuffer(b) 1275 buf.EncodeInt32(m.Retval) 1276 buf.EncodeUint32(m.StatIndex) 1277 return buf.Bytes(), nil 1278 } 1279 func (m *IpsecSadEntryAddDelV2Reply) Unmarshal(b []byte) error { 1280 buf := codec.NewBuffer(b) 1281 m.Retval = buf.DecodeInt32() 1282 m.StatIndex = buf.DecodeUint32() 1283 return nil 1284 } 1285 1286 // IpsecSadEntryAddDelV3 defines message 'ipsec_sad_entry_add_del_v3'. 1287 type IpsecSadEntryAddDelV3 struct { 1288 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` 1289 Entry ipsec_types.IpsecSadEntryV3 `binapi:"ipsec_sad_entry_v3,name=entry" json:"entry,omitempty"` 1290 } 1291 1292 func (m *IpsecSadEntryAddDelV3) Reset() { *m = IpsecSadEntryAddDelV3{} } 1293 func (*IpsecSadEntryAddDelV3) GetMessageName() string { return "ipsec_sad_entry_add_del_v3" } 1294 func (*IpsecSadEntryAddDelV3) GetCrcString() string { return "c77ebd92" } 1295 func (*IpsecSadEntryAddDelV3) GetMessageType() api.MessageType { 1296 return api.RequestMessage 1297 } 1298 1299 func (m *IpsecSadEntryAddDelV3) Size() (size int) { 1300 if m == nil { 1301 return 0 1302 } 1303 size += 1 // m.IsAdd 1304 size += 4 // m.Entry.SadID 1305 size += 4 // m.Entry.Spi 1306 size += 4 // m.Entry.Protocol 1307 size += 4 // m.Entry.CryptoAlgorithm 1308 size += 1 // m.Entry.CryptoKey.Length 1309 size += 1 * 128 // m.Entry.CryptoKey.Data 1310 size += 4 // m.Entry.IntegrityAlgorithm 1311 size += 1 // m.Entry.IntegrityKey.Length 1312 size += 1 * 128 // m.Entry.IntegrityKey.Data 1313 size += 4 // m.Entry.Flags 1314 size += 4 // m.Entry.Tunnel.Instance 1315 size += 1 // m.Entry.Tunnel.Src.Af 1316 size += 1 * 16 // m.Entry.Tunnel.Src.Un 1317 size += 1 // m.Entry.Tunnel.Dst.Af 1318 size += 1 * 16 // m.Entry.Tunnel.Dst.Un 1319 size += 4 // m.Entry.Tunnel.SwIfIndex 1320 size += 4 // m.Entry.Tunnel.TableID 1321 size += 1 // m.Entry.Tunnel.EncapDecapFlags 1322 size += 1 // m.Entry.Tunnel.Mode 1323 size += 1 // m.Entry.Tunnel.Flags 1324 size += 1 // m.Entry.Tunnel.Dscp 1325 size += 1 // m.Entry.Tunnel.HopLimit 1326 size += 4 // m.Entry.Salt 1327 size += 2 // m.Entry.UDPSrcPort 1328 size += 2 // m.Entry.UDPDstPort 1329 return size 1330 } 1331 func (m *IpsecSadEntryAddDelV3) Marshal(b []byte) ([]byte, error) { 1332 if b == nil { 1333 b = make([]byte, m.Size()) 1334 } 1335 buf := codec.NewBuffer(b) 1336 buf.EncodeBool(m.IsAdd) 1337 buf.EncodeUint32(m.Entry.SadID) 1338 buf.EncodeUint32(m.Entry.Spi) 1339 buf.EncodeUint32(uint32(m.Entry.Protocol)) 1340 buf.EncodeUint32(uint32(m.Entry.CryptoAlgorithm)) 1341 buf.EncodeUint8(m.Entry.CryptoKey.Length) 1342 buf.EncodeBytes(m.Entry.CryptoKey.Data, 128) 1343 buf.EncodeUint32(uint32(m.Entry.IntegrityAlgorithm)) 1344 buf.EncodeUint8(m.Entry.IntegrityKey.Length) 1345 buf.EncodeBytes(m.Entry.IntegrityKey.Data, 128) 1346 buf.EncodeUint32(uint32(m.Entry.Flags)) 1347 buf.EncodeUint32(m.Entry.Tunnel.Instance) 1348 buf.EncodeUint8(uint8(m.Entry.Tunnel.Src.Af)) 1349 buf.EncodeBytes(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], 16) 1350 buf.EncodeUint8(uint8(m.Entry.Tunnel.Dst.Af)) 1351 buf.EncodeBytes(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], 16) 1352 buf.EncodeUint32(uint32(m.Entry.Tunnel.SwIfIndex)) 1353 buf.EncodeUint32(m.Entry.Tunnel.TableID) 1354 buf.EncodeUint8(uint8(m.Entry.Tunnel.EncapDecapFlags)) 1355 buf.EncodeUint8(uint8(m.Entry.Tunnel.Mode)) 1356 buf.EncodeUint8(uint8(m.Entry.Tunnel.Flags)) 1357 buf.EncodeUint8(uint8(m.Entry.Tunnel.Dscp)) 1358 buf.EncodeUint8(m.Entry.Tunnel.HopLimit) 1359 buf.EncodeUint32(m.Entry.Salt) 1360 buf.EncodeUint16(m.Entry.UDPSrcPort) 1361 buf.EncodeUint16(m.Entry.UDPDstPort) 1362 return buf.Bytes(), nil 1363 } 1364 func (m *IpsecSadEntryAddDelV3) Unmarshal(b []byte) error { 1365 buf := codec.NewBuffer(b) 1366 m.IsAdd = buf.DecodeBool() 1367 m.Entry.SadID = buf.DecodeUint32() 1368 m.Entry.Spi = buf.DecodeUint32() 1369 m.Entry.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32()) 1370 m.Entry.CryptoAlgorithm = ipsec_types.IpsecCryptoAlg(buf.DecodeUint32()) 1371 m.Entry.CryptoKey.Length = buf.DecodeUint8() 1372 m.Entry.CryptoKey.Data = make([]byte, 128) 1373 copy(m.Entry.CryptoKey.Data, buf.DecodeBytes(len(m.Entry.CryptoKey.Data))) 1374 m.Entry.IntegrityAlgorithm = ipsec_types.IpsecIntegAlg(buf.DecodeUint32()) 1375 m.Entry.IntegrityKey.Length = buf.DecodeUint8() 1376 m.Entry.IntegrityKey.Data = make([]byte, 128) 1377 copy(m.Entry.IntegrityKey.Data, buf.DecodeBytes(len(m.Entry.IntegrityKey.Data))) 1378 m.Entry.Flags = ipsec_types.IpsecSadFlags(buf.DecodeUint32()) 1379 m.Entry.Tunnel.Instance = buf.DecodeUint32() 1380 m.Entry.Tunnel.Src.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1381 copy(m.Entry.Tunnel.Src.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1382 m.Entry.Tunnel.Dst.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1383 copy(m.Entry.Tunnel.Dst.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1384 m.Entry.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 1385 m.Entry.Tunnel.TableID = buf.DecodeUint32() 1386 m.Entry.Tunnel.EncapDecapFlags = tunnel_types.TunnelEncapDecapFlags(buf.DecodeUint8()) 1387 m.Entry.Tunnel.Mode = tunnel_types.TunnelMode(buf.DecodeUint8()) 1388 m.Entry.Tunnel.Flags = tunnel_types.TunnelFlags(buf.DecodeUint8()) 1389 m.Entry.Tunnel.Dscp = ip_types.IPDscp(buf.DecodeUint8()) 1390 m.Entry.Tunnel.HopLimit = buf.DecodeUint8() 1391 m.Entry.Salt = buf.DecodeUint32() 1392 m.Entry.UDPSrcPort = buf.DecodeUint16() 1393 m.Entry.UDPDstPort = buf.DecodeUint16() 1394 return nil 1395 } 1396 1397 // IpsecSadEntryAddDelV3Reply defines message 'ipsec_sad_entry_add_del_v3_reply'. 1398 type IpsecSadEntryAddDelV3Reply struct { 1399 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1400 StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` 1401 } 1402 1403 func (m *IpsecSadEntryAddDelV3Reply) Reset() { *m = IpsecSadEntryAddDelV3Reply{} } 1404 func (*IpsecSadEntryAddDelV3Reply) GetMessageName() string { return "ipsec_sad_entry_add_del_v3_reply" } 1405 func (*IpsecSadEntryAddDelV3Reply) GetCrcString() string { return "9ffac24b" } 1406 func (*IpsecSadEntryAddDelV3Reply) GetMessageType() api.MessageType { 1407 return api.ReplyMessage 1408 } 1409 1410 func (m *IpsecSadEntryAddDelV3Reply) Size() (size int) { 1411 if m == nil { 1412 return 0 1413 } 1414 size += 4 // m.Retval 1415 size += 4 // m.StatIndex 1416 return size 1417 } 1418 func (m *IpsecSadEntryAddDelV3Reply) Marshal(b []byte) ([]byte, error) { 1419 if b == nil { 1420 b = make([]byte, m.Size()) 1421 } 1422 buf := codec.NewBuffer(b) 1423 buf.EncodeInt32(m.Retval) 1424 buf.EncodeUint32(m.StatIndex) 1425 return buf.Bytes(), nil 1426 } 1427 func (m *IpsecSadEntryAddDelV3Reply) Unmarshal(b []byte) error { 1428 buf := codec.NewBuffer(b) 1429 m.Retval = buf.DecodeInt32() 1430 m.StatIndex = buf.DecodeUint32() 1431 return nil 1432 } 1433 1434 // IpsecSadEntryAddReply defines message 'ipsec_sad_entry_add_reply'. 1435 type IpsecSadEntryAddReply struct { 1436 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1437 StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` 1438 } 1439 1440 func (m *IpsecSadEntryAddReply) Reset() { *m = IpsecSadEntryAddReply{} } 1441 func (*IpsecSadEntryAddReply) GetMessageName() string { return "ipsec_sad_entry_add_reply" } 1442 func (*IpsecSadEntryAddReply) GetCrcString() string { return "9ffac24b" } 1443 func (*IpsecSadEntryAddReply) GetMessageType() api.MessageType { 1444 return api.ReplyMessage 1445 } 1446 1447 func (m *IpsecSadEntryAddReply) Size() (size int) { 1448 if m == nil { 1449 return 0 1450 } 1451 size += 4 // m.Retval 1452 size += 4 // m.StatIndex 1453 return size 1454 } 1455 func (m *IpsecSadEntryAddReply) Marshal(b []byte) ([]byte, error) { 1456 if b == nil { 1457 b = make([]byte, m.Size()) 1458 } 1459 buf := codec.NewBuffer(b) 1460 buf.EncodeInt32(m.Retval) 1461 buf.EncodeUint32(m.StatIndex) 1462 return buf.Bytes(), nil 1463 } 1464 func (m *IpsecSadEntryAddReply) Unmarshal(b []byte) error { 1465 buf := codec.NewBuffer(b) 1466 m.Retval = buf.DecodeInt32() 1467 m.StatIndex = buf.DecodeUint32() 1468 return nil 1469 } 1470 1471 // IpsecSadEntryDel defines message 'ipsec_sad_entry_del'. 1472 type IpsecSadEntryDel struct { 1473 ID uint32 `binapi:"u32,name=id" json:"id,omitempty"` 1474 } 1475 1476 func (m *IpsecSadEntryDel) Reset() { *m = IpsecSadEntryDel{} } 1477 func (*IpsecSadEntryDel) GetMessageName() string { return "ipsec_sad_entry_del" } 1478 func (*IpsecSadEntryDel) GetCrcString() string { return "3a91bde5" } 1479 func (*IpsecSadEntryDel) GetMessageType() api.MessageType { 1480 return api.RequestMessage 1481 } 1482 1483 func (m *IpsecSadEntryDel) Size() (size int) { 1484 if m == nil { 1485 return 0 1486 } 1487 size += 4 // m.ID 1488 return size 1489 } 1490 func (m *IpsecSadEntryDel) Marshal(b []byte) ([]byte, error) { 1491 if b == nil { 1492 b = make([]byte, m.Size()) 1493 } 1494 buf := codec.NewBuffer(b) 1495 buf.EncodeUint32(m.ID) 1496 return buf.Bytes(), nil 1497 } 1498 func (m *IpsecSadEntryDel) Unmarshal(b []byte) error { 1499 buf := codec.NewBuffer(b) 1500 m.ID = buf.DecodeUint32() 1501 return nil 1502 } 1503 1504 // IpsecSadEntryDelReply defines message 'ipsec_sad_entry_del_reply'. 1505 type IpsecSadEntryDelReply struct { 1506 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1507 } 1508 1509 func (m *IpsecSadEntryDelReply) Reset() { *m = IpsecSadEntryDelReply{} } 1510 func (*IpsecSadEntryDelReply) GetMessageName() string { return "ipsec_sad_entry_del_reply" } 1511 func (*IpsecSadEntryDelReply) GetCrcString() string { return "e8d4e804" } 1512 func (*IpsecSadEntryDelReply) GetMessageType() api.MessageType { 1513 return api.ReplyMessage 1514 } 1515 1516 func (m *IpsecSadEntryDelReply) Size() (size int) { 1517 if m == nil { 1518 return 0 1519 } 1520 size += 4 // m.Retval 1521 return size 1522 } 1523 func (m *IpsecSadEntryDelReply) Marshal(b []byte) ([]byte, error) { 1524 if b == nil { 1525 b = make([]byte, m.Size()) 1526 } 1527 buf := codec.NewBuffer(b) 1528 buf.EncodeInt32(m.Retval) 1529 return buf.Bytes(), nil 1530 } 1531 func (m *IpsecSadEntryDelReply) Unmarshal(b []byte) error { 1532 buf := codec.NewBuffer(b) 1533 m.Retval = buf.DecodeInt32() 1534 return nil 1535 } 1536 1537 // IpsecSelectBackend defines message 'ipsec_select_backend'. 1538 type IpsecSelectBackend struct { 1539 Protocol ipsec_types.IpsecProto `binapi:"ipsec_proto,name=protocol" json:"protocol,omitempty"` 1540 Index uint8 `binapi:"u8,name=index" json:"index,omitempty"` 1541 } 1542 1543 func (m *IpsecSelectBackend) Reset() { *m = IpsecSelectBackend{} } 1544 func (*IpsecSelectBackend) GetMessageName() string { return "ipsec_select_backend" } 1545 func (*IpsecSelectBackend) GetCrcString() string { return "5bcfd3b7" } 1546 func (*IpsecSelectBackend) GetMessageType() api.MessageType { 1547 return api.RequestMessage 1548 } 1549 1550 func (m *IpsecSelectBackend) Size() (size int) { 1551 if m == nil { 1552 return 0 1553 } 1554 size += 4 // m.Protocol 1555 size += 1 // m.Index 1556 return size 1557 } 1558 func (m *IpsecSelectBackend) Marshal(b []byte) ([]byte, error) { 1559 if b == nil { 1560 b = make([]byte, m.Size()) 1561 } 1562 buf := codec.NewBuffer(b) 1563 buf.EncodeUint32(uint32(m.Protocol)) 1564 buf.EncodeUint8(m.Index) 1565 return buf.Bytes(), nil 1566 } 1567 func (m *IpsecSelectBackend) Unmarshal(b []byte) error { 1568 buf := codec.NewBuffer(b) 1569 m.Protocol = ipsec_types.IpsecProto(buf.DecodeUint32()) 1570 m.Index = buf.DecodeUint8() 1571 return nil 1572 } 1573 1574 // IpsecSelectBackendReply defines message 'ipsec_select_backend_reply'. 1575 type IpsecSelectBackendReply struct { 1576 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1577 } 1578 1579 func (m *IpsecSelectBackendReply) Reset() { *m = IpsecSelectBackendReply{} } 1580 func (*IpsecSelectBackendReply) GetMessageName() string { return "ipsec_select_backend_reply" } 1581 func (*IpsecSelectBackendReply) GetCrcString() string { return "e8d4e804" } 1582 func (*IpsecSelectBackendReply) GetMessageType() api.MessageType { 1583 return api.ReplyMessage 1584 } 1585 1586 func (m *IpsecSelectBackendReply) Size() (size int) { 1587 if m == nil { 1588 return 0 1589 } 1590 size += 4 // m.Retval 1591 return size 1592 } 1593 func (m *IpsecSelectBackendReply) Marshal(b []byte) ([]byte, error) { 1594 if b == nil { 1595 b = make([]byte, m.Size()) 1596 } 1597 buf := codec.NewBuffer(b) 1598 buf.EncodeInt32(m.Retval) 1599 return buf.Bytes(), nil 1600 } 1601 func (m *IpsecSelectBackendReply) Unmarshal(b []byte) error { 1602 buf := codec.NewBuffer(b) 1603 m.Retval = buf.DecodeInt32() 1604 return nil 1605 } 1606 1607 // IpsecSetAsyncMode defines message 'ipsec_set_async_mode'. 1608 type IpsecSetAsyncMode struct { 1609 AsyncEnable bool `binapi:"bool,name=async_enable" json:"async_enable,omitempty"` 1610 } 1611 1612 func (m *IpsecSetAsyncMode) Reset() { *m = IpsecSetAsyncMode{} } 1613 func (*IpsecSetAsyncMode) GetMessageName() string { return "ipsec_set_async_mode" } 1614 func (*IpsecSetAsyncMode) GetCrcString() string { return "a6465f7c" } 1615 func (*IpsecSetAsyncMode) GetMessageType() api.MessageType { 1616 return api.RequestMessage 1617 } 1618 1619 func (m *IpsecSetAsyncMode) Size() (size int) { 1620 if m == nil { 1621 return 0 1622 } 1623 size += 1 // m.AsyncEnable 1624 return size 1625 } 1626 func (m *IpsecSetAsyncMode) Marshal(b []byte) ([]byte, error) { 1627 if b == nil { 1628 b = make([]byte, m.Size()) 1629 } 1630 buf := codec.NewBuffer(b) 1631 buf.EncodeBool(m.AsyncEnable) 1632 return buf.Bytes(), nil 1633 } 1634 func (m *IpsecSetAsyncMode) Unmarshal(b []byte) error { 1635 buf := codec.NewBuffer(b) 1636 m.AsyncEnable = buf.DecodeBool() 1637 return nil 1638 } 1639 1640 // IpsecSetAsyncModeReply defines message 'ipsec_set_async_mode_reply'. 1641 type IpsecSetAsyncModeReply struct { 1642 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1643 } 1644 1645 func (m *IpsecSetAsyncModeReply) Reset() { *m = IpsecSetAsyncModeReply{} } 1646 func (*IpsecSetAsyncModeReply) GetMessageName() string { return "ipsec_set_async_mode_reply" } 1647 func (*IpsecSetAsyncModeReply) GetCrcString() string { return "e8d4e804" } 1648 func (*IpsecSetAsyncModeReply) GetMessageType() api.MessageType { 1649 return api.ReplyMessage 1650 } 1651 1652 func (m *IpsecSetAsyncModeReply) Size() (size int) { 1653 if m == nil { 1654 return 0 1655 } 1656 size += 4 // m.Retval 1657 return size 1658 } 1659 func (m *IpsecSetAsyncModeReply) Marshal(b []byte) ([]byte, error) { 1660 if b == nil { 1661 b = make([]byte, m.Size()) 1662 } 1663 buf := codec.NewBuffer(b) 1664 buf.EncodeInt32(m.Retval) 1665 return buf.Bytes(), nil 1666 } 1667 func (m *IpsecSetAsyncModeReply) Unmarshal(b []byte) error { 1668 buf := codec.NewBuffer(b) 1669 m.Retval = buf.DecodeInt32() 1670 return nil 1671 } 1672 1673 // IpsecSpdAddDel defines message 'ipsec_spd_add_del'. 1674 type IpsecSpdAddDel struct { 1675 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` 1676 SpdID uint32 `binapi:"u32,name=spd_id" json:"spd_id,omitempty"` 1677 } 1678 1679 func (m *IpsecSpdAddDel) Reset() { *m = IpsecSpdAddDel{} } 1680 func (*IpsecSpdAddDel) GetMessageName() string { return "ipsec_spd_add_del" } 1681 func (*IpsecSpdAddDel) GetCrcString() string { return "20e89a95" } 1682 func (*IpsecSpdAddDel) GetMessageType() api.MessageType { 1683 return api.RequestMessage 1684 } 1685 1686 func (m *IpsecSpdAddDel) Size() (size int) { 1687 if m == nil { 1688 return 0 1689 } 1690 size += 1 // m.IsAdd 1691 size += 4 // m.SpdID 1692 return size 1693 } 1694 func (m *IpsecSpdAddDel) Marshal(b []byte) ([]byte, error) { 1695 if b == nil { 1696 b = make([]byte, m.Size()) 1697 } 1698 buf := codec.NewBuffer(b) 1699 buf.EncodeBool(m.IsAdd) 1700 buf.EncodeUint32(m.SpdID) 1701 return buf.Bytes(), nil 1702 } 1703 func (m *IpsecSpdAddDel) Unmarshal(b []byte) error { 1704 buf := codec.NewBuffer(b) 1705 m.IsAdd = buf.DecodeBool() 1706 m.SpdID = buf.DecodeUint32() 1707 return nil 1708 } 1709 1710 // IpsecSpdAddDelReply defines message 'ipsec_spd_add_del_reply'. 1711 type IpsecSpdAddDelReply struct { 1712 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1713 } 1714 1715 func (m *IpsecSpdAddDelReply) Reset() { *m = IpsecSpdAddDelReply{} } 1716 func (*IpsecSpdAddDelReply) GetMessageName() string { return "ipsec_spd_add_del_reply" } 1717 func (*IpsecSpdAddDelReply) GetCrcString() string { return "e8d4e804" } 1718 func (*IpsecSpdAddDelReply) GetMessageType() api.MessageType { 1719 return api.ReplyMessage 1720 } 1721 1722 func (m *IpsecSpdAddDelReply) Size() (size int) { 1723 if m == nil { 1724 return 0 1725 } 1726 size += 4 // m.Retval 1727 return size 1728 } 1729 func (m *IpsecSpdAddDelReply) Marshal(b []byte) ([]byte, error) { 1730 if b == nil { 1731 b = make([]byte, m.Size()) 1732 } 1733 buf := codec.NewBuffer(b) 1734 buf.EncodeInt32(m.Retval) 1735 return buf.Bytes(), nil 1736 } 1737 func (m *IpsecSpdAddDelReply) Unmarshal(b []byte) error { 1738 buf := codec.NewBuffer(b) 1739 m.Retval = buf.DecodeInt32() 1740 return nil 1741 } 1742 1743 // IpsecSpdDetails defines message 'ipsec_spd_details'. 1744 type IpsecSpdDetails struct { 1745 Entry IpsecSpdEntry `binapi:"ipsec_spd_entry,name=entry" json:"entry,omitempty"` 1746 } 1747 1748 func (m *IpsecSpdDetails) Reset() { *m = IpsecSpdDetails{} } 1749 func (*IpsecSpdDetails) GetMessageName() string { return "ipsec_spd_details" } 1750 func (*IpsecSpdDetails) GetCrcString() string { return "5813d7a2" } 1751 func (*IpsecSpdDetails) GetMessageType() api.MessageType { 1752 return api.ReplyMessage 1753 } 1754 1755 func (m *IpsecSpdDetails) Size() (size int) { 1756 if m == nil { 1757 return 0 1758 } 1759 size += 4 // m.Entry.SpdID 1760 size += 4 // m.Entry.Priority 1761 size += 1 // m.Entry.IsOutbound 1762 size += 4 // m.Entry.SaID 1763 size += 4 // m.Entry.Policy 1764 size += 1 // m.Entry.Protocol 1765 size += 1 // m.Entry.RemoteAddressStart.Af 1766 size += 1 * 16 // m.Entry.RemoteAddressStart.Un 1767 size += 1 // m.Entry.RemoteAddressStop.Af 1768 size += 1 * 16 // m.Entry.RemoteAddressStop.Un 1769 size += 1 // m.Entry.LocalAddressStart.Af 1770 size += 1 * 16 // m.Entry.LocalAddressStart.Un 1771 size += 1 // m.Entry.LocalAddressStop.Af 1772 size += 1 * 16 // m.Entry.LocalAddressStop.Un 1773 size += 2 // m.Entry.RemotePortStart 1774 size += 2 // m.Entry.RemotePortStop 1775 size += 2 // m.Entry.LocalPortStart 1776 size += 2 // m.Entry.LocalPortStop 1777 return size 1778 } 1779 func (m *IpsecSpdDetails) Marshal(b []byte) ([]byte, error) { 1780 if b == nil { 1781 b = make([]byte, m.Size()) 1782 } 1783 buf := codec.NewBuffer(b) 1784 buf.EncodeUint32(m.Entry.SpdID) 1785 buf.EncodeInt32(m.Entry.Priority) 1786 buf.EncodeBool(m.Entry.IsOutbound) 1787 buf.EncodeUint32(m.Entry.SaID) 1788 buf.EncodeUint32(uint32(m.Entry.Policy)) 1789 buf.EncodeUint8(m.Entry.Protocol) 1790 buf.EncodeUint8(uint8(m.Entry.RemoteAddressStart.Af)) 1791 buf.EncodeBytes(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], 16) 1792 buf.EncodeUint8(uint8(m.Entry.RemoteAddressStop.Af)) 1793 buf.EncodeBytes(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], 16) 1794 buf.EncodeUint8(uint8(m.Entry.LocalAddressStart.Af)) 1795 buf.EncodeBytes(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], 16) 1796 buf.EncodeUint8(uint8(m.Entry.LocalAddressStop.Af)) 1797 buf.EncodeBytes(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], 16) 1798 buf.EncodeUint16(m.Entry.RemotePortStart) 1799 buf.EncodeUint16(m.Entry.RemotePortStop) 1800 buf.EncodeUint16(m.Entry.LocalPortStart) 1801 buf.EncodeUint16(m.Entry.LocalPortStop) 1802 return buf.Bytes(), nil 1803 } 1804 func (m *IpsecSpdDetails) Unmarshal(b []byte) error { 1805 buf := codec.NewBuffer(b) 1806 m.Entry.SpdID = buf.DecodeUint32() 1807 m.Entry.Priority = buf.DecodeInt32() 1808 m.Entry.IsOutbound = buf.DecodeBool() 1809 m.Entry.SaID = buf.DecodeUint32() 1810 m.Entry.Policy = IpsecSpdAction(buf.DecodeUint32()) 1811 m.Entry.Protocol = buf.DecodeUint8() 1812 m.Entry.RemoteAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1813 copy(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1814 m.Entry.RemoteAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1815 copy(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1816 m.Entry.LocalAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1817 copy(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1818 m.Entry.LocalAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1819 copy(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1820 m.Entry.RemotePortStart = buf.DecodeUint16() 1821 m.Entry.RemotePortStop = buf.DecodeUint16() 1822 m.Entry.LocalPortStart = buf.DecodeUint16() 1823 m.Entry.LocalPortStop = buf.DecodeUint16() 1824 return nil 1825 } 1826 1827 // IpsecSpdDump defines message 'ipsec_spd_dump'. 1828 type IpsecSpdDump struct { 1829 SpdID uint32 `binapi:"u32,name=spd_id" json:"spd_id,omitempty"` 1830 SaID uint32 `binapi:"u32,name=sa_id" json:"sa_id,omitempty"` 1831 } 1832 1833 func (m *IpsecSpdDump) Reset() { *m = IpsecSpdDump{} } 1834 func (*IpsecSpdDump) GetMessageName() string { return "ipsec_spd_dump" } 1835 func (*IpsecSpdDump) GetCrcString() string { return "afefbf7d" } 1836 func (*IpsecSpdDump) GetMessageType() api.MessageType { 1837 return api.RequestMessage 1838 } 1839 1840 func (m *IpsecSpdDump) Size() (size int) { 1841 if m == nil { 1842 return 0 1843 } 1844 size += 4 // m.SpdID 1845 size += 4 // m.SaID 1846 return size 1847 } 1848 func (m *IpsecSpdDump) Marshal(b []byte) ([]byte, error) { 1849 if b == nil { 1850 b = make([]byte, m.Size()) 1851 } 1852 buf := codec.NewBuffer(b) 1853 buf.EncodeUint32(m.SpdID) 1854 buf.EncodeUint32(m.SaID) 1855 return buf.Bytes(), nil 1856 } 1857 func (m *IpsecSpdDump) Unmarshal(b []byte) error { 1858 buf := codec.NewBuffer(b) 1859 m.SpdID = buf.DecodeUint32() 1860 m.SaID = buf.DecodeUint32() 1861 return nil 1862 } 1863 1864 // IpsecSpdEntryAddDel defines message 'ipsec_spd_entry_add_del'. 1865 type IpsecSpdEntryAddDel struct { 1866 IsAdd bool `binapi:"bool,name=is_add" json:"is_add,omitempty"` 1867 Entry IpsecSpdEntry `binapi:"ipsec_spd_entry,name=entry" json:"entry,omitempty"` 1868 } 1869 1870 func (m *IpsecSpdEntryAddDel) Reset() { *m = IpsecSpdEntryAddDel{} } 1871 func (*IpsecSpdEntryAddDel) GetMessageName() string { return "ipsec_spd_entry_add_del" } 1872 func (*IpsecSpdEntryAddDel) GetCrcString() string { return "338b7411" } 1873 func (*IpsecSpdEntryAddDel) GetMessageType() api.MessageType { 1874 return api.RequestMessage 1875 } 1876 1877 func (m *IpsecSpdEntryAddDel) Size() (size int) { 1878 if m == nil { 1879 return 0 1880 } 1881 size += 1 // m.IsAdd 1882 size += 4 // m.Entry.SpdID 1883 size += 4 // m.Entry.Priority 1884 size += 1 // m.Entry.IsOutbound 1885 size += 4 // m.Entry.SaID 1886 size += 4 // m.Entry.Policy 1887 size += 1 // m.Entry.Protocol 1888 size += 1 // m.Entry.RemoteAddressStart.Af 1889 size += 1 * 16 // m.Entry.RemoteAddressStart.Un 1890 size += 1 // m.Entry.RemoteAddressStop.Af 1891 size += 1 * 16 // m.Entry.RemoteAddressStop.Un 1892 size += 1 // m.Entry.LocalAddressStart.Af 1893 size += 1 * 16 // m.Entry.LocalAddressStart.Un 1894 size += 1 // m.Entry.LocalAddressStop.Af 1895 size += 1 * 16 // m.Entry.LocalAddressStop.Un 1896 size += 2 // m.Entry.RemotePortStart 1897 size += 2 // m.Entry.RemotePortStop 1898 size += 2 // m.Entry.LocalPortStart 1899 size += 2 // m.Entry.LocalPortStop 1900 return size 1901 } 1902 func (m *IpsecSpdEntryAddDel) Marshal(b []byte) ([]byte, error) { 1903 if b == nil { 1904 b = make([]byte, m.Size()) 1905 } 1906 buf := codec.NewBuffer(b) 1907 buf.EncodeBool(m.IsAdd) 1908 buf.EncodeUint32(m.Entry.SpdID) 1909 buf.EncodeInt32(m.Entry.Priority) 1910 buf.EncodeBool(m.Entry.IsOutbound) 1911 buf.EncodeUint32(m.Entry.SaID) 1912 buf.EncodeUint32(uint32(m.Entry.Policy)) 1913 buf.EncodeUint8(m.Entry.Protocol) 1914 buf.EncodeUint8(uint8(m.Entry.RemoteAddressStart.Af)) 1915 buf.EncodeBytes(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], 16) 1916 buf.EncodeUint8(uint8(m.Entry.RemoteAddressStop.Af)) 1917 buf.EncodeBytes(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], 16) 1918 buf.EncodeUint8(uint8(m.Entry.LocalAddressStart.Af)) 1919 buf.EncodeBytes(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], 16) 1920 buf.EncodeUint8(uint8(m.Entry.LocalAddressStop.Af)) 1921 buf.EncodeBytes(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], 16) 1922 buf.EncodeUint16(m.Entry.RemotePortStart) 1923 buf.EncodeUint16(m.Entry.RemotePortStop) 1924 buf.EncodeUint16(m.Entry.LocalPortStart) 1925 buf.EncodeUint16(m.Entry.LocalPortStop) 1926 return buf.Bytes(), nil 1927 } 1928 func (m *IpsecSpdEntryAddDel) Unmarshal(b []byte) error { 1929 buf := codec.NewBuffer(b) 1930 m.IsAdd = buf.DecodeBool() 1931 m.Entry.SpdID = buf.DecodeUint32() 1932 m.Entry.Priority = buf.DecodeInt32() 1933 m.Entry.IsOutbound = buf.DecodeBool() 1934 m.Entry.SaID = buf.DecodeUint32() 1935 m.Entry.Policy = IpsecSpdAction(buf.DecodeUint32()) 1936 m.Entry.Protocol = buf.DecodeUint8() 1937 m.Entry.RemoteAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1938 copy(m.Entry.RemoteAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1939 m.Entry.RemoteAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1940 copy(m.Entry.RemoteAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1941 m.Entry.LocalAddressStart.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1942 copy(m.Entry.LocalAddressStart.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1943 m.Entry.LocalAddressStop.Af = ip_types.AddressFamily(buf.DecodeUint8()) 1944 copy(m.Entry.LocalAddressStop.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 1945 m.Entry.RemotePortStart = buf.DecodeUint16() 1946 m.Entry.RemotePortStop = buf.DecodeUint16() 1947 m.Entry.LocalPortStart = buf.DecodeUint16() 1948 m.Entry.LocalPortStop = buf.DecodeUint16() 1949 return nil 1950 } 1951 1952 // IpsecSpdEntryAddDelReply defines message 'ipsec_spd_entry_add_del_reply'. 1953 type IpsecSpdEntryAddDelReply struct { 1954 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 1955 StatIndex uint32 `binapi:"u32,name=stat_index" json:"stat_index,omitempty"` 1956 } 1957 1958 func (m *IpsecSpdEntryAddDelReply) Reset() { *m = IpsecSpdEntryAddDelReply{} } 1959 func (*IpsecSpdEntryAddDelReply) GetMessageName() string { return "ipsec_spd_entry_add_del_reply" } 1960 func (*IpsecSpdEntryAddDelReply) GetCrcString() string { return "9ffac24b" } 1961 func (*IpsecSpdEntryAddDelReply) GetMessageType() api.MessageType { 1962 return api.ReplyMessage 1963 } 1964 1965 func (m *IpsecSpdEntryAddDelReply) Size() (size int) { 1966 if m == nil { 1967 return 0 1968 } 1969 size += 4 // m.Retval 1970 size += 4 // m.StatIndex 1971 return size 1972 } 1973 func (m *IpsecSpdEntryAddDelReply) Marshal(b []byte) ([]byte, error) { 1974 if b == nil { 1975 b = make([]byte, m.Size()) 1976 } 1977 buf := codec.NewBuffer(b) 1978 buf.EncodeInt32(m.Retval) 1979 buf.EncodeUint32(m.StatIndex) 1980 return buf.Bytes(), nil 1981 } 1982 func (m *IpsecSpdEntryAddDelReply) Unmarshal(b []byte) error { 1983 buf := codec.NewBuffer(b) 1984 m.Retval = buf.DecodeInt32() 1985 m.StatIndex = buf.DecodeUint32() 1986 return nil 1987 } 1988 1989 // IpsecSpdInterfaceDetails defines message 'ipsec_spd_interface_details'. 1990 type IpsecSpdInterfaceDetails struct { 1991 SpdIndex uint32 `binapi:"u32,name=spd_index" json:"spd_index,omitempty"` 1992 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 1993 } 1994 1995 func (m *IpsecSpdInterfaceDetails) Reset() { *m = IpsecSpdInterfaceDetails{} } 1996 func (*IpsecSpdInterfaceDetails) GetMessageName() string { return "ipsec_spd_interface_details" } 1997 func (*IpsecSpdInterfaceDetails) GetCrcString() string { return "7a0bcf3e" } 1998 func (*IpsecSpdInterfaceDetails) GetMessageType() api.MessageType { 1999 return api.ReplyMessage 2000 } 2001 2002 func (m *IpsecSpdInterfaceDetails) Size() (size int) { 2003 if m == nil { 2004 return 0 2005 } 2006 size += 4 // m.SpdIndex 2007 size += 4 // m.SwIfIndex 2008 return size 2009 } 2010 func (m *IpsecSpdInterfaceDetails) Marshal(b []byte) ([]byte, error) { 2011 if b == nil { 2012 b = make([]byte, m.Size()) 2013 } 2014 buf := codec.NewBuffer(b) 2015 buf.EncodeUint32(m.SpdIndex) 2016 buf.EncodeUint32(uint32(m.SwIfIndex)) 2017 return buf.Bytes(), nil 2018 } 2019 func (m *IpsecSpdInterfaceDetails) Unmarshal(b []byte) error { 2020 buf := codec.NewBuffer(b) 2021 m.SpdIndex = buf.DecodeUint32() 2022 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 2023 return nil 2024 } 2025 2026 // IpsecSpdInterfaceDump defines message 'ipsec_spd_interface_dump'. 2027 type IpsecSpdInterfaceDump struct { 2028 SpdIndex uint32 `binapi:"u32,name=spd_index" json:"spd_index,omitempty"` 2029 SpdIndexValid uint8 `binapi:"u8,name=spd_index_valid" json:"spd_index_valid,omitempty"` 2030 } 2031 2032 func (m *IpsecSpdInterfaceDump) Reset() { *m = IpsecSpdInterfaceDump{} } 2033 func (*IpsecSpdInterfaceDump) GetMessageName() string { return "ipsec_spd_interface_dump" } 2034 func (*IpsecSpdInterfaceDump) GetCrcString() string { return "8971de19" } 2035 func (*IpsecSpdInterfaceDump) GetMessageType() api.MessageType { 2036 return api.RequestMessage 2037 } 2038 2039 func (m *IpsecSpdInterfaceDump) Size() (size int) { 2040 if m == nil { 2041 return 0 2042 } 2043 size += 4 // m.SpdIndex 2044 size += 1 // m.SpdIndexValid 2045 return size 2046 } 2047 func (m *IpsecSpdInterfaceDump) Marshal(b []byte) ([]byte, error) { 2048 if b == nil { 2049 b = make([]byte, m.Size()) 2050 } 2051 buf := codec.NewBuffer(b) 2052 buf.EncodeUint32(m.SpdIndex) 2053 buf.EncodeUint8(m.SpdIndexValid) 2054 return buf.Bytes(), nil 2055 } 2056 func (m *IpsecSpdInterfaceDump) Unmarshal(b []byte) error { 2057 buf := codec.NewBuffer(b) 2058 m.SpdIndex = buf.DecodeUint32() 2059 m.SpdIndexValid = buf.DecodeUint8() 2060 return nil 2061 } 2062 2063 // IpsecSpdsDetails defines message 'ipsec_spds_details'. 2064 type IpsecSpdsDetails struct { 2065 SpdID uint32 `binapi:"u32,name=spd_id" json:"spd_id,omitempty"` 2066 Npolicies uint32 `binapi:"u32,name=npolicies" json:"npolicies,omitempty"` 2067 } 2068 2069 func (m *IpsecSpdsDetails) Reset() { *m = IpsecSpdsDetails{} } 2070 func (*IpsecSpdsDetails) GetMessageName() string { return "ipsec_spds_details" } 2071 func (*IpsecSpdsDetails) GetCrcString() string { return "a04bb254" } 2072 func (*IpsecSpdsDetails) GetMessageType() api.MessageType { 2073 return api.ReplyMessage 2074 } 2075 2076 func (m *IpsecSpdsDetails) Size() (size int) { 2077 if m == nil { 2078 return 0 2079 } 2080 size += 4 // m.SpdID 2081 size += 4 // m.Npolicies 2082 return size 2083 } 2084 func (m *IpsecSpdsDetails) Marshal(b []byte) ([]byte, error) { 2085 if b == nil { 2086 b = make([]byte, m.Size()) 2087 } 2088 buf := codec.NewBuffer(b) 2089 buf.EncodeUint32(m.SpdID) 2090 buf.EncodeUint32(m.Npolicies) 2091 return buf.Bytes(), nil 2092 } 2093 func (m *IpsecSpdsDetails) Unmarshal(b []byte) error { 2094 buf := codec.NewBuffer(b) 2095 m.SpdID = buf.DecodeUint32() 2096 m.Npolicies = buf.DecodeUint32() 2097 return nil 2098 } 2099 2100 // IpsecSpdsDump defines message 'ipsec_spds_dump'. 2101 type IpsecSpdsDump struct{} 2102 2103 func (m *IpsecSpdsDump) Reset() { *m = IpsecSpdsDump{} } 2104 func (*IpsecSpdsDump) GetMessageName() string { return "ipsec_spds_dump" } 2105 func (*IpsecSpdsDump) GetCrcString() string { return "51077d14" } 2106 func (*IpsecSpdsDump) GetMessageType() api.MessageType { 2107 return api.RequestMessage 2108 } 2109 2110 func (m *IpsecSpdsDump) Size() (size int) { 2111 if m == nil { 2112 return 0 2113 } 2114 return size 2115 } 2116 func (m *IpsecSpdsDump) Marshal(b []byte) ([]byte, error) { 2117 if b == nil { 2118 b = make([]byte, m.Size()) 2119 } 2120 buf := codec.NewBuffer(b) 2121 return buf.Bytes(), nil 2122 } 2123 func (m *IpsecSpdsDump) Unmarshal(b []byte) error { 2124 return nil 2125 } 2126 2127 // IpsecTunnelProtectDel defines message 'ipsec_tunnel_protect_del'. 2128 type IpsecTunnelProtectDel struct { 2129 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 2130 Nh ip_types.Address `binapi:"address,name=nh" json:"nh,omitempty"` 2131 } 2132 2133 func (m *IpsecTunnelProtectDel) Reset() { *m = IpsecTunnelProtectDel{} } 2134 func (*IpsecTunnelProtectDel) GetMessageName() string { return "ipsec_tunnel_protect_del" } 2135 func (*IpsecTunnelProtectDel) GetCrcString() string { return "cd239930" } 2136 func (*IpsecTunnelProtectDel) GetMessageType() api.MessageType { 2137 return api.RequestMessage 2138 } 2139 2140 func (m *IpsecTunnelProtectDel) Size() (size int) { 2141 if m == nil { 2142 return 0 2143 } 2144 size += 4 // m.SwIfIndex 2145 size += 1 // m.Nh.Af 2146 size += 1 * 16 // m.Nh.Un 2147 return size 2148 } 2149 func (m *IpsecTunnelProtectDel) Marshal(b []byte) ([]byte, error) { 2150 if b == nil { 2151 b = make([]byte, m.Size()) 2152 } 2153 buf := codec.NewBuffer(b) 2154 buf.EncodeUint32(uint32(m.SwIfIndex)) 2155 buf.EncodeUint8(uint8(m.Nh.Af)) 2156 buf.EncodeBytes(m.Nh.Un.XXX_UnionData[:], 16) 2157 return buf.Bytes(), nil 2158 } 2159 func (m *IpsecTunnelProtectDel) Unmarshal(b []byte) error { 2160 buf := codec.NewBuffer(b) 2161 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 2162 m.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8()) 2163 copy(m.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 2164 return nil 2165 } 2166 2167 // IpsecTunnelProtectDelReply defines message 'ipsec_tunnel_protect_del_reply'. 2168 type IpsecTunnelProtectDelReply struct { 2169 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 2170 } 2171 2172 func (m *IpsecTunnelProtectDelReply) Reset() { *m = IpsecTunnelProtectDelReply{} } 2173 func (*IpsecTunnelProtectDelReply) GetMessageName() string { return "ipsec_tunnel_protect_del_reply" } 2174 func (*IpsecTunnelProtectDelReply) GetCrcString() string { return "e8d4e804" } 2175 func (*IpsecTunnelProtectDelReply) GetMessageType() api.MessageType { 2176 return api.ReplyMessage 2177 } 2178 2179 func (m *IpsecTunnelProtectDelReply) Size() (size int) { 2180 if m == nil { 2181 return 0 2182 } 2183 size += 4 // m.Retval 2184 return size 2185 } 2186 func (m *IpsecTunnelProtectDelReply) Marshal(b []byte) ([]byte, error) { 2187 if b == nil { 2188 b = make([]byte, m.Size()) 2189 } 2190 buf := codec.NewBuffer(b) 2191 buf.EncodeInt32(m.Retval) 2192 return buf.Bytes(), nil 2193 } 2194 func (m *IpsecTunnelProtectDelReply) Unmarshal(b []byte) error { 2195 buf := codec.NewBuffer(b) 2196 m.Retval = buf.DecodeInt32() 2197 return nil 2198 } 2199 2200 // IpsecTunnelProtectDetails defines message 'ipsec_tunnel_protect_details'. 2201 type IpsecTunnelProtectDetails struct { 2202 Tun IpsecTunnelProtect `binapi:"ipsec_tunnel_protect,name=tun" json:"tun,omitempty"` 2203 } 2204 2205 func (m *IpsecTunnelProtectDetails) Reset() { *m = IpsecTunnelProtectDetails{} } 2206 func (*IpsecTunnelProtectDetails) GetMessageName() string { return "ipsec_tunnel_protect_details" } 2207 func (*IpsecTunnelProtectDetails) GetCrcString() string { return "21663a50" } 2208 func (*IpsecTunnelProtectDetails) GetMessageType() api.MessageType { 2209 return api.ReplyMessage 2210 } 2211 2212 func (m *IpsecTunnelProtectDetails) Size() (size int) { 2213 if m == nil { 2214 return 0 2215 } 2216 size += 4 // m.Tun.SwIfIndex 2217 size += 1 // m.Tun.Nh.Af 2218 size += 1 * 16 // m.Tun.Nh.Un 2219 size += 4 // m.Tun.SaOut 2220 size += 1 // m.Tun.NSaIn 2221 size += 4 * len(m.Tun.SaIn) // m.Tun.SaIn 2222 return size 2223 } 2224 func (m *IpsecTunnelProtectDetails) Marshal(b []byte) ([]byte, error) { 2225 if b == nil { 2226 b = make([]byte, m.Size()) 2227 } 2228 buf := codec.NewBuffer(b) 2229 buf.EncodeUint32(uint32(m.Tun.SwIfIndex)) 2230 buf.EncodeUint8(uint8(m.Tun.Nh.Af)) 2231 buf.EncodeBytes(m.Tun.Nh.Un.XXX_UnionData[:], 16) 2232 buf.EncodeUint32(m.Tun.SaOut) 2233 buf.EncodeUint8(uint8(len(m.Tun.SaIn))) 2234 for i := 0; i < len(m.Tun.SaIn); i++ { 2235 var x uint32 2236 if i < len(m.Tun.SaIn) { 2237 x = uint32(m.Tun.SaIn[i]) 2238 } 2239 buf.EncodeUint32(x) 2240 } 2241 return buf.Bytes(), nil 2242 } 2243 func (m *IpsecTunnelProtectDetails) Unmarshal(b []byte) error { 2244 buf := codec.NewBuffer(b) 2245 m.Tun.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 2246 m.Tun.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8()) 2247 copy(m.Tun.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 2248 m.Tun.SaOut = buf.DecodeUint32() 2249 m.Tun.NSaIn = buf.DecodeUint8() 2250 m.Tun.SaIn = make([]uint32, m.Tun.NSaIn) 2251 for i := 0; i < len(m.Tun.SaIn); i++ { 2252 m.Tun.SaIn[i] = buf.DecodeUint32() 2253 } 2254 return nil 2255 } 2256 2257 // IpsecTunnelProtectDump defines message 'ipsec_tunnel_protect_dump'. 2258 type IpsecTunnelProtectDump struct { 2259 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 2260 } 2261 2262 func (m *IpsecTunnelProtectDump) Reset() { *m = IpsecTunnelProtectDump{} } 2263 func (*IpsecTunnelProtectDump) GetMessageName() string { return "ipsec_tunnel_protect_dump" } 2264 func (*IpsecTunnelProtectDump) GetCrcString() string { return "f9e6675e" } 2265 func (*IpsecTunnelProtectDump) GetMessageType() api.MessageType { 2266 return api.RequestMessage 2267 } 2268 2269 func (m *IpsecTunnelProtectDump) Size() (size int) { 2270 if m == nil { 2271 return 0 2272 } 2273 size += 4 // m.SwIfIndex 2274 return size 2275 } 2276 func (m *IpsecTunnelProtectDump) Marshal(b []byte) ([]byte, error) { 2277 if b == nil { 2278 b = make([]byte, m.Size()) 2279 } 2280 buf := codec.NewBuffer(b) 2281 buf.EncodeUint32(uint32(m.SwIfIndex)) 2282 return buf.Bytes(), nil 2283 } 2284 func (m *IpsecTunnelProtectDump) Unmarshal(b []byte) error { 2285 buf := codec.NewBuffer(b) 2286 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 2287 return nil 2288 } 2289 2290 // IpsecTunnelProtectUpdate defines message 'ipsec_tunnel_protect_update'. 2291 type IpsecTunnelProtectUpdate struct { 2292 Tunnel IpsecTunnelProtect `binapi:"ipsec_tunnel_protect,name=tunnel" json:"tunnel,omitempty"` 2293 } 2294 2295 func (m *IpsecTunnelProtectUpdate) Reset() { *m = IpsecTunnelProtectUpdate{} } 2296 func (*IpsecTunnelProtectUpdate) GetMessageName() string { return "ipsec_tunnel_protect_update" } 2297 func (*IpsecTunnelProtectUpdate) GetCrcString() string { return "30d5f133" } 2298 func (*IpsecTunnelProtectUpdate) GetMessageType() api.MessageType { 2299 return api.RequestMessage 2300 } 2301 2302 func (m *IpsecTunnelProtectUpdate) Size() (size int) { 2303 if m == nil { 2304 return 0 2305 } 2306 size += 4 // m.Tunnel.SwIfIndex 2307 size += 1 // m.Tunnel.Nh.Af 2308 size += 1 * 16 // m.Tunnel.Nh.Un 2309 size += 4 // m.Tunnel.SaOut 2310 size += 1 // m.Tunnel.NSaIn 2311 size += 4 * len(m.Tunnel.SaIn) // m.Tunnel.SaIn 2312 return size 2313 } 2314 func (m *IpsecTunnelProtectUpdate) Marshal(b []byte) ([]byte, error) { 2315 if b == nil { 2316 b = make([]byte, m.Size()) 2317 } 2318 buf := codec.NewBuffer(b) 2319 buf.EncodeUint32(uint32(m.Tunnel.SwIfIndex)) 2320 buf.EncodeUint8(uint8(m.Tunnel.Nh.Af)) 2321 buf.EncodeBytes(m.Tunnel.Nh.Un.XXX_UnionData[:], 16) 2322 buf.EncodeUint32(m.Tunnel.SaOut) 2323 buf.EncodeUint8(uint8(len(m.Tunnel.SaIn))) 2324 for i := 0; i < len(m.Tunnel.SaIn); i++ { 2325 var x uint32 2326 if i < len(m.Tunnel.SaIn) { 2327 x = uint32(m.Tunnel.SaIn[i]) 2328 } 2329 buf.EncodeUint32(x) 2330 } 2331 return buf.Bytes(), nil 2332 } 2333 func (m *IpsecTunnelProtectUpdate) Unmarshal(b []byte) error { 2334 buf := codec.NewBuffer(b) 2335 m.Tunnel.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 2336 m.Tunnel.Nh.Af = ip_types.AddressFamily(buf.DecodeUint8()) 2337 copy(m.Tunnel.Nh.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 2338 m.Tunnel.SaOut = buf.DecodeUint32() 2339 m.Tunnel.NSaIn = buf.DecodeUint8() 2340 m.Tunnel.SaIn = make([]uint32, m.Tunnel.NSaIn) 2341 for i := 0; i < len(m.Tunnel.SaIn); i++ { 2342 m.Tunnel.SaIn[i] = buf.DecodeUint32() 2343 } 2344 return nil 2345 } 2346 2347 // IpsecTunnelProtectUpdateReply defines message 'ipsec_tunnel_protect_update_reply'. 2348 type IpsecTunnelProtectUpdateReply struct { 2349 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 2350 } 2351 2352 func (m *IpsecTunnelProtectUpdateReply) Reset() { *m = IpsecTunnelProtectUpdateReply{} } 2353 func (*IpsecTunnelProtectUpdateReply) GetMessageName() string { 2354 return "ipsec_tunnel_protect_update_reply" 2355 } 2356 func (*IpsecTunnelProtectUpdateReply) GetCrcString() string { return "e8d4e804" } 2357 func (*IpsecTunnelProtectUpdateReply) GetMessageType() api.MessageType { 2358 return api.ReplyMessage 2359 } 2360 2361 func (m *IpsecTunnelProtectUpdateReply) Size() (size int) { 2362 if m == nil { 2363 return 0 2364 } 2365 size += 4 // m.Retval 2366 return size 2367 } 2368 func (m *IpsecTunnelProtectUpdateReply) Marshal(b []byte) ([]byte, error) { 2369 if b == nil { 2370 b = make([]byte, m.Size()) 2371 } 2372 buf := codec.NewBuffer(b) 2373 buf.EncodeInt32(m.Retval) 2374 return buf.Bytes(), nil 2375 } 2376 func (m *IpsecTunnelProtectUpdateReply) Unmarshal(b []byte) error { 2377 buf := codec.NewBuffer(b) 2378 m.Retval = buf.DecodeInt32() 2379 return nil 2380 } 2381 2382 func init() { file_ipsec_binapi_init() } 2383 func file_ipsec_binapi_init() { 2384 api.RegisterMessage((*IpsecBackendDetails)(nil), "ipsec_backend_details_ee601c29") 2385 api.RegisterMessage((*IpsecBackendDump)(nil), "ipsec_backend_dump_51077d14") 2386 api.RegisterMessage((*IpsecInterfaceAddDelSpd)(nil), "ipsec_interface_add_del_spd_80f80cbb") 2387 api.RegisterMessage((*IpsecInterfaceAddDelSpdReply)(nil), "ipsec_interface_add_del_spd_reply_e8d4e804") 2388 api.RegisterMessage((*IpsecItfCreate)(nil), "ipsec_itf_create_6f50b3bc") 2389 api.RegisterMessage((*IpsecItfCreateReply)(nil), "ipsec_itf_create_reply_5383d31f") 2390 api.RegisterMessage((*IpsecItfDelete)(nil), "ipsec_itf_delete_f9e6675e") 2391 api.RegisterMessage((*IpsecItfDeleteReply)(nil), "ipsec_itf_delete_reply_e8d4e804") 2392 api.RegisterMessage((*IpsecItfDetails)(nil), "ipsec_itf_details_548a73b8") 2393 api.RegisterMessage((*IpsecItfDump)(nil), "ipsec_itf_dump_f9e6675e") 2394 api.RegisterMessage((*IpsecSaDetails)(nil), "ipsec_sa_details_345d14a7") 2395 api.RegisterMessage((*IpsecSaDump)(nil), "ipsec_sa_dump_2076c2f4") 2396 api.RegisterMessage((*IpsecSaV2Details)(nil), "ipsec_sa_v2_details_e2130051") 2397 api.RegisterMessage((*IpsecSaV2Dump)(nil), "ipsec_sa_v2_dump_2076c2f4") 2398 api.RegisterMessage((*IpsecSaV3Details)(nil), "ipsec_sa_v3_details_2fc991ee") 2399 api.RegisterMessage((*IpsecSaV3Dump)(nil), "ipsec_sa_v3_dump_2076c2f4") 2400 api.RegisterMessage((*IpsecSadEntryAdd)(nil), "ipsec_sad_entry_add_50229353") 2401 api.RegisterMessage((*IpsecSadEntryAddDel)(nil), "ipsec_sad_entry_add_del_ab64b5c6") 2402 api.RegisterMessage((*IpsecSadEntryAddDelReply)(nil), "ipsec_sad_entry_add_del_reply_9ffac24b") 2403 api.RegisterMessage((*IpsecSadEntryAddDelV2)(nil), "ipsec_sad_entry_add_del_v2_aca78b27") 2404 api.RegisterMessage((*IpsecSadEntryAddDelV2Reply)(nil), "ipsec_sad_entry_add_del_v2_reply_9ffac24b") 2405 api.RegisterMessage((*IpsecSadEntryAddDelV3)(nil), "ipsec_sad_entry_add_del_v3_c77ebd92") 2406 api.RegisterMessage((*IpsecSadEntryAddDelV3Reply)(nil), "ipsec_sad_entry_add_del_v3_reply_9ffac24b") 2407 api.RegisterMessage((*IpsecSadEntryAddReply)(nil), "ipsec_sad_entry_add_reply_9ffac24b") 2408 api.RegisterMessage((*IpsecSadEntryDel)(nil), "ipsec_sad_entry_del_3a91bde5") 2409 api.RegisterMessage((*IpsecSadEntryDelReply)(nil), "ipsec_sad_entry_del_reply_e8d4e804") 2410 api.RegisterMessage((*IpsecSelectBackend)(nil), "ipsec_select_backend_5bcfd3b7") 2411 api.RegisterMessage((*IpsecSelectBackendReply)(nil), "ipsec_select_backend_reply_e8d4e804") 2412 api.RegisterMessage((*IpsecSetAsyncMode)(nil), "ipsec_set_async_mode_a6465f7c") 2413 api.RegisterMessage((*IpsecSetAsyncModeReply)(nil), "ipsec_set_async_mode_reply_e8d4e804") 2414 api.RegisterMessage((*IpsecSpdAddDel)(nil), "ipsec_spd_add_del_20e89a95") 2415 api.RegisterMessage((*IpsecSpdAddDelReply)(nil), "ipsec_spd_add_del_reply_e8d4e804") 2416 api.RegisterMessage((*IpsecSpdDetails)(nil), "ipsec_spd_details_5813d7a2") 2417 api.RegisterMessage((*IpsecSpdDump)(nil), "ipsec_spd_dump_afefbf7d") 2418 api.RegisterMessage((*IpsecSpdEntryAddDel)(nil), "ipsec_spd_entry_add_del_338b7411") 2419 api.RegisterMessage((*IpsecSpdEntryAddDelReply)(nil), "ipsec_spd_entry_add_del_reply_9ffac24b") 2420 api.RegisterMessage((*IpsecSpdInterfaceDetails)(nil), "ipsec_spd_interface_details_7a0bcf3e") 2421 api.RegisterMessage((*IpsecSpdInterfaceDump)(nil), "ipsec_spd_interface_dump_8971de19") 2422 api.RegisterMessage((*IpsecSpdsDetails)(nil), "ipsec_spds_details_a04bb254") 2423 api.RegisterMessage((*IpsecSpdsDump)(nil), "ipsec_spds_dump_51077d14") 2424 api.RegisterMessage((*IpsecTunnelProtectDel)(nil), "ipsec_tunnel_protect_del_cd239930") 2425 api.RegisterMessage((*IpsecTunnelProtectDelReply)(nil), "ipsec_tunnel_protect_del_reply_e8d4e804") 2426 api.RegisterMessage((*IpsecTunnelProtectDetails)(nil), "ipsec_tunnel_protect_details_21663a50") 2427 api.RegisterMessage((*IpsecTunnelProtectDump)(nil), "ipsec_tunnel_protect_dump_f9e6675e") 2428 api.RegisterMessage((*IpsecTunnelProtectUpdate)(nil), "ipsec_tunnel_protect_update_30d5f133") 2429 api.RegisterMessage((*IpsecTunnelProtectUpdateReply)(nil), "ipsec_tunnel_protect_update_reply_e8d4e804") 2430 } 2431 2432 // Messages returns list of all messages in this module. 2433 func AllMessages() []api.Message { 2434 return []api.Message{ 2435 (*IpsecBackendDetails)(nil), 2436 (*IpsecBackendDump)(nil), 2437 (*IpsecInterfaceAddDelSpd)(nil), 2438 (*IpsecInterfaceAddDelSpdReply)(nil), 2439 (*IpsecItfCreate)(nil), 2440 (*IpsecItfCreateReply)(nil), 2441 (*IpsecItfDelete)(nil), 2442 (*IpsecItfDeleteReply)(nil), 2443 (*IpsecItfDetails)(nil), 2444 (*IpsecItfDump)(nil), 2445 (*IpsecSaDetails)(nil), 2446 (*IpsecSaDump)(nil), 2447 (*IpsecSaV2Details)(nil), 2448 (*IpsecSaV2Dump)(nil), 2449 (*IpsecSaV3Details)(nil), 2450 (*IpsecSaV3Dump)(nil), 2451 (*IpsecSadEntryAdd)(nil), 2452 (*IpsecSadEntryAddDel)(nil), 2453 (*IpsecSadEntryAddDelReply)(nil), 2454 (*IpsecSadEntryAddDelV2)(nil), 2455 (*IpsecSadEntryAddDelV2Reply)(nil), 2456 (*IpsecSadEntryAddDelV3)(nil), 2457 (*IpsecSadEntryAddDelV3Reply)(nil), 2458 (*IpsecSadEntryAddReply)(nil), 2459 (*IpsecSadEntryDel)(nil), 2460 (*IpsecSadEntryDelReply)(nil), 2461 (*IpsecSelectBackend)(nil), 2462 (*IpsecSelectBackendReply)(nil), 2463 (*IpsecSetAsyncMode)(nil), 2464 (*IpsecSetAsyncModeReply)(nil), 2465 (*IpsecSpdAddDel)(nil), 2466 (*IpsecSpdAddDelReply)(nil), 2467 (*IpsecSpdDetails)(nil), 2468 (*IpsecSpdDump)(nil), 2469 (*IpsecSpdEntryAddDel)(nil), 2470 (*IpsecSpdEntryAddDelReply)(nil), 2471 (*IpsecSpdInterfaceDetails)(nil), 2472 (*IpsecSpdInterfaceDump)(nil), 2473 (*IpsecSpdsDetails)(nil), 2474 (*IpsecSpdsDump)(nil), 2475 (*IpsecTunnelProtectDel)(nil), 2476 (*IpsecTunnelProtectDelReply)(nil), 2477 (*IpsecTunnelProtectDetails)(nil), 2478 (*IpsecTunnelProtectDump)(nil), 2479 (*IpsecTunnelProtectUpdate)(nil), 2480 (*IpsecTunnelProtectUpdateReply)(nil), 2481 } 2482 }