github.com/networkservicemesh/govpp@v0.0.0-20240328101142-8a444680fbba/binapi/wireguard/wireguard.ba.go (about) 1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT. 2 // versions: 3 // binapi-generator: v0.10.0-dev 4 // VPP: 23.10-rc0~170-g6f1548434 5 // source: plugins/wireguard.api.json 6 7 // Package wireguard contains generated bindings for API file wireguard.api. 8 // 9 // Contents: 10 // - 1 enum 11 // - 2 structs 12 // - 17 messages 13 package wireguard 14 15 import ( 16 "strconv" 17 18 interface_types "github.com/networkservicemesh/govpp/binapi/interface_types" 19 ip_types "github.com/networkservicemesh/govpp/binapi/ip_types" 20 api "go.fd.io/govpp/api" 21 codec "go.fd.io/govpp/codec" 22 ) 23 24 // This is a compile-time assertion to ensure that this generated file 25 // is compatible with the GoVPP api package it is being compiled against. 26 // A compilation error at this line likely means your copy of the 27 // GoVPP api package needs to be updated. 28 const _ = api.GoVppAPIPackageIsVersion2 29 30 const ( 31 APIFile = "wireguard" 32 APIVersion = "0.3.0" 33 VersionCrc = 0x5d8f9252 34 ) 35 36 // WireguardPeerFlags defines enum 'wireguard_peer_flags'. 37 type WireguardPeerFlags uint8 38 39 const ( 40 WIREGUARD_PEER_STATUS_DEAD WireguardPeerFlags = 1 41 WIREGUARD_PEER_ESTABLISHED WireguardPeerFlags = 2 42 ) 43 44 var ( 45 WireguardPeerFlags_name = map[uint8]string{ 46 1: "WIREGUARD_PEER_STATUS_DEAD", 47 2: "WIREGUARD_PEER_ESTABLISHED", 48 } 49 WireguardPeerFlags_value = map[string]uint8{ 50 "WIREGUARD_PEER_STATUS_DEAD": 1, 51 "WIREGUARD_PEER_ESTABLISHED": 2, 52 } 53 ) 54 55 func (x WireguardPeerFlags) String() string { 56 s, ok := WireguardPeerFlags_name[uint8(x)] 57 if ok { 58 return s 59 } 60 str := func(n uint8) string { 61 s, ok := WireguardPeerFlags_name[uint8(n)] 62 if ok { 63 return s 64 } 65 return "WireguardPeerFlags(" + strconv.Itoa(int(n)) + ")" 66 } 67 for i := uint8(0); i <= 8; i++ { 68 val := uint8(x) 69 if val&(1<<i) != 0 { 70 if s != "" { 71 s += "|" 72 } 73 s += str(1 << i) 74 } 75 } 76 if s == "" { 77 return str(uint8(x)) 78 } 79 return s 80 } 81 82 // WireguardInterface defines type 'wireguard_interface'. 83 type WireguardInterface struct { 84 UserInstance uint32 `binapi:"u32,name=user_instance,default=4294967295" json:"user_instance,omitempty"` 85 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 86 PrivateKey []byte `binapi:"u8[32],name=private_key" json:"private_key,omitempty"` 87 PublicKey []byte `binapi:"u8[32],name=public_key" json:"public_key,omitempty"` 88 Port uint16 `binapi:"u16,name=port" json:"port,omitempty"` 89 SrcIP ip_types.Address `binapi:"address,name=src_ip" json:"src_ip,omitempty"` 90 } 91 92 // WireguardPeer defines type 'wireguard_peer'. 93 type WireguardPeer struct { 94 PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"` 95 PublicKey []byte `binapi:"u8[32],name=public_key" json:"public_key,omitempty"` 96 Port uint16 `binapi:"u16,name=port" json:"port,omitempty"` 97 PersistentKeepalive uint16 `binapi:"u16,name=persistent_keepalive" json:"persistent_keepalive,omitempty"` 98 TableID uint32 `binapi:"u32,name=table_id" json:"table_id,omitempty"` 99 Endpoint ip_types.Address `binapi:"address,name=endpoint" json:"endpoint,omitempty"` 100 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 101 Flags WireguardPeerFlags `binapi:"wireguard_peer_flags,name=flags" json:"flags,omitempty"` 102 NAllowedIps uint8 `binapi:"u8,name=n_allowed_ips" json:"-"` 103 AllowedIps []ip_types.Prefix `binapi:"prefix[n_allowed_ips],name=allowed_ips" json:"allowed_ips,omitempty"` 104 } 105 106 // Register for wireguard peer events 107 // - sw_if_index - index of the interface to dump peer info on, ~0 if on all 108 // - peer_index - index of the peer to dump info on, ~0 if on all 109 // - enable_disable - 1 => register for events, 0 => cancel registration 110 // - pid - sender's pid 111 // 112 // WantWireguardPeerEvents defines message 'want_wireguard_peer_events'. 113 type WantWireguardPeerEvents struct { 114 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"` 115 PeerIndex uint32 `binapi:"u32,name=peer_index,default=4294967295" json:"peer_index,omitempty"` 116 EnableDisable uint32 `binapi:"u32,name=enable_disable" json:"enable_disable,omitempty"` 117 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"` 118 } 119 120 func (m *WantWireguardPeerEvents) Reset() { *m = WantWireguardPeerEvents{} } 121 func (*WantWireguardPeerEvents) GetMessageName() string { return "want_wireguard_peer_events" } 122 func (*WantWireguardPeerEvents) GetCrcString() string { return "3bc666c8" } 123 func (*WantWireguardPeerEvents) GetMessageType() api.MessageType { 124 return api.RequestMessage 125 } 126 127 func (m *WantWireguardPeerEvents) Size() (size int) { 128 if m == nil { 129 return 0 130 } 131 size += 4 // m.SwIfIndex 132 size += 4 // m.PeerIndex 133 size += 4 // m.EnableDisable 134 size += 4 // m.PID 135 return size 136 } 137 func (m *WantWireguardPeerEvents) Marshal(b []byte) ([]byte, error) { 138 if b == nil { 139 b = make([]byte, m.Size()) 140 } 141 buf := codec.NewBuffer(b) 142 buf.EncodeUint32(uint32(m.SwIfIndex)) 143 buf.EncodeUint32(m.PeerIndex) 144 buf.EncodeUint32(m.EnableDisable) 145 buf.EncodeUint32(m.PID) 146 return buf.Bytes(), nil 147 } 148 func (m *WantWireguardPeerEvents) Unmarshal(b []byte) error { 149 buf := codec.NewBuffer(b) 150 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 151 m.PeerIndex = buf.DecodeUint32() 152 m.EnableDisable = buf.DecodeUint32() 153 m.PID = buf.DecodeUint32() 154 return nil 155 } 156 157 // WantWireguardPeerEventsReply defines message 'want_wireguard_peer_events_reply'. 158 type WantWireguardPeerEventsReply struct { 159 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 160 } 161 162 func (m *WantWireguardPeerEventsReply) Reset() { *m = WantWireguardPeerEventsReply{} } 163 func (*WantWireguardPeerEventsReply) GetMessageName() string { 164 return "want_wireguard_peer_events_reply" 165 } 166 func (*WantWireguardPeerEventsReply) GetCrcString() string { return "e8d4e804" } 167 func (*WantWireguardPeerEventsReply) GetMessageType() api.MessageType { 168 return api.ReplyMessage 169 } 170 171 func (m *WantWireguardPeerEventsReply) Size() (size int) { 172 if m == nil { 173 return 0 174 } 175 size += 4 // m.Retval 176 return size 177 } 178 func (m *WantWireguardPeerEventsReply) Marshal(b []byte) ([]byte, error) { 179 if b == nil { 180 b = make([]byte, m.Size()) 181 } 182 buf := codec.NewBuffer(b) 183 buf.EncodeInt32(m.Retval) 184 return buf.Bytes(), nil 185 } 186 func (m *WantWireguardPeerEventsReply) Unmarshal(b []byte) error { 187 buf := codec.NewBuffer(b) 188 m.Retval = buf.DecodeInt32() 189 return nil 190 } 191 192 // Wireguard Set Async mode 193 // - async_enable - wireguard async mode on or off, default off 194 // 195 // WgSetAsyncMode defines message 'wg_set_async_mode'. 196 type WgSetAsyncMode struct { 197 AsyncEnable bool `binapi:"bool,name=async_enable,default=false" json:"async_enable,omitempty"` 198 } 199 200 func (m *WgSetAsyncMode) Reset() { *m = WgSetAsyncMode{} } 201 func (*WgSetAsyncMode) GetMessageName() string { return "wg_set_async_mode" } 202 func (*WgSetAsyncMode) GetCrcString() string { return "a6465f7c" } 203 func (*WgSetAsyncMode) GetMessageType() api.MessageType { 204 return api.RequestMessage 205 } 206 207 func (m *WgSetAsyncMode) Size() (size int) { 208 if m == nil { 209 return 0 210 } 211 size += 1 // m.AsyncEnable 212 return size 213 } 214 func (m *WgSetAsyncMode) Marshal(b []byte) ([]byte, error) { 215 if b == nil { 216 b = make([]byte, m.Size()) 217 } 218 buf := codec.NewBuffer(b) 219 buf.EncodeBool(m.AsyncEnable) 220 return buf.Bytes(), nil 221 } 222 func (m *WgSetAsyncMode) Unmarshal(b []byte) error { 223 buf := codec.NewBuffer(b) 224 m.AsyncEnable = buf.DecodeBool() 225 return nil 226 } 227 228 // WgSetAsyncModeReply defines message 'wg_set_async_mode_reply'. 229 type WgSetAsyncModeReply struct { 230 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 231 } 232 233 func (m *WgSetAsyncModeReply) Reset() { *m = WgSetAsyncModeReply{} } 234 func (*WgSetAsyncModeReply) GetMessageName() string { return "wg_set_async_mode_reply" } 235 func (*WgSetAsyncModeReply) GetCrcString() string { return "e8d4e804" } 236 func (*WgSetAsyncModeReply) GetMessageType() api.MessageType { 237 return api.ReplyMessage 238 } 239 240 func (m *WgSetAsyncModeReply) Size() (size int) { 241 if m == nil { 242 return 0 243 } 244 size += 4 // m.Retval 245 return size 246 } 247 func (m *WgSetAsyncModeReply) Marshal(b []byte) ([]byte, error) { 248 if b == nil { 249 b = make([]byte, m.Size()) 250 } 251 buf := codec.NewBuffer(b) 252 buf.EncodeInt32(m.Retval) 253 return buf.Bytes(), nil 254 } 255 func (m *WgSetAsyncModeReply) Unmarshal(b []byte) error { 256 buf := codec.NewBuffer(b) 257 m.Retval = buf.DecodeInt32() 258 return nil 259 } 260 261 // Create an Wireguard interface 262 // WireguardInterfaceCreate defines message 'wireguard_interface_create'. 263 type WireguardInterfaceCreate struct { 264 Interface WireguardInterface `binapi:"wireguard_interface,name=interface" json:"interface,omitempty"` 265 GenerateKey bool `binapi:"bool,name=generate_key" json:"generate_key,omitempty"` 266 } 267 268 func (m *WireguardInterfaceCreate) Reset() { *m = WireguardInterfaceCreate{} } 269 func (*WireguardInterfaceCreate) GetMessageName() string { return "wireguard_interface_create" } 270 func (*WireguardInterfaceCreate) GetCrcString() string { return "a530137e" } 271 func (*WireguardInterfaceCreate) GetMessageType() api.MessageType { 272 return api.RequestMessage 273 } 274 275 func (m *WireguardInterfaceCreate) Size() (size int) { 276 if m == nil { 277 return 0 278 } 279 size += 4 // m.Interface.UserInstance 280 size += 4 // m.Interface.SwIfIndex 281 size += 1 * 32 // m.Interface.PrivateKey 282 size += 1 * 32 // m.Interface.PublicKey 283 size += 2 // m.Interface.Port 284 size += 1 // m.Interface.SrcIP.Af 285 size += 1 * 16 // m.Interface.SrcIP.Un 286 size += 1 // m.GenerateKey 287 return size 288 } 289 func (m *WireguardInterfaceCreate) Marshal(b []byte) ([]byte, error) { 290 if b == nil { 291 b = make([]byte, m.Size()) 292 } 293 buf := codec.NewBuffer(b) 294 buf.EncodeUint32(m.Interface.UserInstance) 295 buf.EncodeUint32(uint32(m.Interface.SwIfIndex)) 296 buf.EncodeBytes(m.Interface.PrivateKey, 32) 297 buf.EncodeBytes(m.Interface.PublicKey, 32) 298 buf.EncodeUint16(m.Interface.Port) 299 buf.EncodeUint8(uint8(m.Interface.SrcIP.Af)) 300 buf.EncodeBytes(m.Interface.SrcIP.Un.XXX_UnionData[:], 16) 301 buf.EncodeBool(m.GenerateKey) 302 return buf.Bytes(), nil 303 } 304 func (m *WireguardInterfaceCreate) Unmarshal(b []byte) error { 305 buf := codec.NewBuffer(b) 306 m.Interface.UserInstance = buf.DecodeUint32() 307 m.Interface.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 308 m.Interface.PrivateKey = make([]byte, 32) 309 copy(m.Interface.PrivateKey, buf.DecodeBytes(len(m.Interface.PrivateKey))) 310 m.Interface.PublicKey = make([]byte, 32) 311 copy(m.Interface.PublicKey, buf.DecodeBytes(len(m.Interface.PublicKey))) 312 m.Interface.Port = buf.DecodeUint16() 313 m.Interface.SrcIP.Af = ip_types.AddressFamily(buf.DecodeUint8()) 314 copy(m.Interface.SrcIP.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 315 m.GenerateKey = buf.DecodeBool() 316 return nil 317 } 318 319 // Add Wireguard interface interface response 320 // - retval - return status 321 // - sw_if_index - sw_if_index of new interface (for successful add) 322 // 323 // WireguardInterfaceCreateReply defines message 'wireguard_interface_create_reply'. 324 type WireguardInterfaceCreateReply struct { 325 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 326 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 327 } 328 329 func (m *WireguardInterfaceCreateReply) Reset() { *m = WireguardInterfaceCreateReply{} } 330 func (*WireguardInterfaceCreateReply) GetMessageName() string { 331 return "wireguard_interface_create_reply" 332 } 333 func (*WireguardInterfaceCreateReply) GetCrcString() string { return "5383d31f" } 334 func (*WireguardInterfaceCreateReply) GetMessageType() api.MessageType { 335 return api.ReplyMessage 336 } 337 338 func (m *WireguardInterfaceCreateReply) Size() (size int) { 339 if m == nil { 340 return 0 341 } 342 size += 4 // m.Retval 343 size += 4 // m.SwIfIndex 344 return size 345 } 346 func (m *WireguardInterfaceCreateReply) Marshal(b []byte) ([]byte, error) { 347 if b == nil { 348 b = make([]byte, m.Size()) 349 } 350 buf := codec.NewBuffer(b) 351 buf.EncodeInt32(m.Retval) 352 buf.EncodeUint32(uint32(m.SwIfIndex)) 353 return buf.Bytes(), nil 354 } 355 func (m *WireguardInterfaceCreateReply) Unmarshal(b []byte) error { 356 buf := codec.NewBuffer(b) 357 m.Retval = buf.DecodeInt32() 358 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 359 return nil 360 } 361 362 // WireguardInterfaceDelete defines message 'wireguard_interface_delete'. 363 type WireguardInterfaceDelete struct { 364 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 365 } 366 367 func (m *WireguardInterfaceDelete) Reset() { *m = WireguardInterfaceDelete{} } 368 func (*WireguardInterfaceDelete) GetMessageName() string { return "wireguard_interface_delete" } 369 func (*WireguardInterfaceDelete) GetCrcString() string { return "f9e6675e" } 370 func (*WireguardInterfaceDelete) GetMessageType() api.MessageType { 371 return api.RequestMessage 372 } 373 374 func (m *WireguardInterfaceDelete) Size() (size int) { 375 if m == nil { 376 return 0 377 } 378 size += 4 // m.SwIfIndex 379 return size 380 } 381 func (m *WireguardInterfaceDelete) Marshal(b []byte) ([]byte, error) { 382 if b == nil { 383 b = make([]byte, m.Size()) 384 } 385 buf := codec.NewBuffer(b) 386 buf.EncodeUint32(uint32(m.SwIfIndex)) 387 return buf.Bytes(), nil 388 } 389 func (m *WireguardInterfaceDelete) Unmarshal(b []byte) error { 390 buf := codec.NewBuffer(b) 391 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 392 return nil 393 } 394 395 // WireguardInterfaceDeleteReply defines message 'wireguard_interface_delete_reply'. 396 type WireguardInterfaceDeleteReply struct { 397 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 398 } 399 400 func (m *WireguardInterfaceDeleteReply) Reset() { *m = WireguardInterfaceDeleteReply{} } 401 func (*WireguardInterfaceDeleteReply) GetMessageName() string { 402 return "wireguard_interface_delete_reply" 403 } 404 func (*WireguardInterfaceDeleteReply) GetCrcString() string { return "e8d4e804" } 405 func (*WireguardInterfaceDeleteReply) GetMessageType() api.MessageType { 406 return api.ReplyMessage 407 } 408 409 func (m *WireguardInterfaceDeleteReply) Size() (size int) { 410 if m == nil { 411 return 0 412 } 413 size += 4 // m.Retval 414 return size 415 } 416 func (m *WireguardInterfaceDeleteReply) Marshal(b []byte) ([]byte, error) { 417 if b == nil { 418 b = make([]byte, m.Size()) 419 } 420 buf := codec.NewBuffer(b) 421 buf.EncodeInt32(m.Retval) 422 return buf.Bytes(), nil 423 } 424 func (m *WireguardInterfaceDeleteReply) Unmarshal(b []byte) error { 425 buf := codec.NewBuffer(b) 426 m.Retval = buf.DecodeInt32() 427 return nil 428 } 429 430 // WireguardInterfaceDetails defines message 'wireguard_interface_details'. 431 type WireguardInterfaceDetails struct { 432 Interface WireguardInterface `binapi:"wireguard_interface,name=interface" json:"interface,omitempty"` 433 } 434 435 func (m *WireguardInterfaceDetails) Reset() { *m = WireguardInterfaceDetails{} } 436 func (*WireguardInterfaceDetails) GetMessageName() string { return "wireguard_interface_details" } 437 func (*WireguardInterfaceDetails) GetCrcString() string { return "0dd4865d" } 438 func (*WireguardInterfaceDetails) GetMessageType() api.MessageType { 439 return api.ReplyMessage 440 } 441 442 func (m *WireguardInterfaceDetails) Size() (size int) { 443 if m == nil { 444 return 0 445 } 446 size += 4 // m.Interface.UserInstance 447 size += 4 // m.Interface.SwIfIndex 448 size += 1 * 32 // m.Interface.PrivateKey 449 size += 1 * 32 // m.Interface.PublicKey 450 size += 2 // m.Interface.Port 451 size += 1 // m.Interface.SrcIP.Af 452 size += 1 * 16 // m.Interface.SrcIP.Un 453 return size 454 } 455 func (m *WireguardInterfaceDetails) Marshal(b []byte) ([]byte, error) { 456 if b == nil { 457 b = make([]byte, m.Size()) 458 } 459 buf := codec.NewBuffer(b) 460 buf.EncodeUint32(m.Interface.UserInstance) 461 buf.EncodeUint32(uint32(m.Interface.SwIfIndex)) 462 buf.EncodeBytes(m.Interface.PrivateKey, 32) 463 buf.EncodeBytes(m.Interface.PublicKey, 32) 464 buf.EncodeUint16(m.Interface.Port) 465 buf.EncodeUint8(uint8(m.Interface.SrcIP.Af)) 466 buf.EncodeBytes(m.Interface.SrcIP.Un.XXX_UnionData[:], 16) 467 return buf.Bytes(), nil 468 } 469 func (m *WireguardInterfaceDetails) Unmarshal(b []byte) error { 470 buf := codec.NewBuffer(b) 471 m.Interface.UserInstance = buf.DecodeUint32() 472 m.Interface.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 473 m.Interface.PrivateKey = make([]byte, 32) 474 copy(m.Interface.PrivateKey, buf.DecodeBytes(len(m.Interface.PrivateKey))) 475 m.Interface.PublicKey = make([]byte, 32) 476 copy(m.Interface.PublicKey, buf.DecodeBytes(len(m.Interface.PublicKey))) 477 m.Interface.Port = buf.DecodeUint16() 478 m.Interface.SrcIP.Af = ip_types.AddressFamily(buf.DecodeUint8()) 479 copy(m.Interface.SrcIP.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 480 return nil 481 } 482 483 // WireguardInterfaceDump defines message 'wireguard_interface_dump'. 484 type WireguardInterfaceDump struct { 485 ShowPrivateKey bool `binapi:"bool,name=show_private_key" json:"show_private_key,omitempty"` 486 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"` 487 } 488 489 func (m *WireguardInterfaceDump) Reset() { *m = WireguardInterfaceDump{} } 490 func (*WireguardInterfaceDump) GetMessageName() string { return "wireguard_interface_dump" } 491 func (*WireguardInterfaceDump) GetCrcString() string { return "2c954158" } 492 func (*WireguardInterfaceDump) GetMessageType() api.MessageType { 493 return api.RequestMessage 494 } 495 496 func (m *WireguardInterfaceDump) Size() (size int) { 497 if m == nil { 498 return 0 499 } 500 size += 1 // m.ShowPrivateKey 501 size += 4 // m.SwIfIndex 502 return size 503 } 504 func (m *WireguardInterfaceDump) Marshal(b []byte) ([]byte, error) { 505 if b == nil { 506 b = make([]byte, m.Size()) 507 } 508 buf := codec.NewBuffer(b) 509 buf.EncodeBool(m.ShowPrivateKey) 510 buf.EncodeUint32(uint32(m.SwIfIndex)) 511 return buf.Bytes(), nil 512 } 513 func (m *WireguardInterfaceDump) Unmarshal(b []byte) error { 514 buf := codec.NewBuffer(b) 515 m.ShowPrivateKey = buf.DecodeBool() 516 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 517 return nil 518 } 519 520 // Create new peer 521 // - peer - peer to create 522 // 523 // WireguardPeerAdd defines message 'wireguard_peer_add'. 524 type WireguardPeerAdd struct { 525 Peer WireguardPeer `binapi:"wireguard_peer,name=peer" json:"peer,omitempty"` 526 } 527 528 func (m *WireguardPeerAdd) Reset() { *m = WireguardPeerAdd{} } 529 func (*WireguardPeerAdd) GetMessageName() string { return "wireguard_peer_add" } 530 func (*WireguardPeerAdd) GetCrcString() string { return "9b8aad61" } 531 func (*WireguardPeerAdd) GetMessageType() api.MessageType { 532 return api.RequestMessage 533 } 534 535 func (m *WireguardPeerAdd) Size() (size int) { 536 if m == nil { 537 return 0 538 } 539 size += 4 // m.Peer.PeerIndex 540 size += 1 * 32 // m.Peer.PublicKey 541 size += 2 // m.Peer.Port 542 size += 2 // m.Peer.PersistentKeepalive 543 size += 4 // m.Peer.TableID 544 size += 1 // m.Peer.Endpoint.Af 545 size += 1 * 16 // m.Peer.Endpoint.Un 546 size += 4 // m.Peer.SwIfIndex 547 size += 1 // m.Peer.Flags 548 size += 1 // m.Peer.NAllowedIps 549 for j2 := 0; j2 < len(m.Peer.AllowedIps); j2++ { 550 var s2 ip_types.Prefix 551 _ = s2 552 if j2 < len(m.Peer.AllowedIps) { 553 s2 = m.Peer.AllowedIps[j2] 554 } 555 size += 1 // s2.Address.Af 556 size += 1 * 16 // s2.Address.Un 557 size += 1 // s2.Len 558 } 559 return size 560 } 561 func (m *WireguardPeerAdd) Marshal(b []byte) ([]byte, error) { 562 if b == nil { 563 b = make([]byte, m.Size()) 564 } 565 buf := codec.NewBuffer(b) 566 buf.EncodeUint32(m.Peer.PeerIndex) 567 buf.EncodeBytes(m.Peer.PublicKey, 32) 568 buf.EncodeUint16(m.Peer.Port) 569 buf.EncodeUint16(m.Peer.PersistentKeepalive) 570 buf.EncodeUint32(m.Peer.TableID) 571 buf.EncodeUint8(uint8(m.Peer.Endpoint.Af)) 572 buf.EncodeBytes(m.Peer.Endpoint.Un.XXX_UnionData[:], 16) 573 buf.EncodeUint32(uint32(m.Peer.SwIfIndex)) 574 buf.EncodeUint8(uint8(m.Peer.Flags)) 575 buf.EncodeUint8(uint8(len(m.Peer.AllowedIps))) 576 for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ { 577 var v1 ip_types.Prefix // AllowedIps 578 if j1 < len(m.Peer.AllowedIps) { 579 v1 = m.Peer.AllowedIps[j1] 580 } 581 buf.EncodeUint8(uint8(v1.Address.Af)) 582 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16) 583 buf.EncodeUint8(v1.Len) 584 } 585 return buf.Bytes(), nil 586 } 587 func (m *WireguardPeerAdd) Unmarshal(b []byte) error { 588 buf := codec.NewBuffer(b) 589 m.Peer.PeerIndex = buf.DecodeUint32() 590 m.Peer.PublicKey = make([]byte, 32) 591 copy(m.Peer.PublicKey, buf.DecodeBytes(len(m.Peer.PublicKey))) 592 m.Peer.Port = buf.DecodeUint16() 593 m.Peer.PersistentKeepalive = buf.DecodeUint16() 594 m.Peer.TableID = buf.DecodeUint32() 595 m.Peer.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8()) 596 copy(m.Peer.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 597 m.Peer.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 598 m.Peer.Flags = WireguardPeerFlags(buf.DecodeUint8()) 599 m.Peer.NAllowedIps = buf.DecodeUint8() 600 m.Peer.AllowedIps = make([]ip_types.Prefix, m.Peer.NAllowedIps) 601 for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ { 602 m.Peer.AllowedIps[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 603 copy(m.Peer.AllowedIps[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 604 m.Peer.AllowedIps[j1].Len = buf.DecodeUint8() 605 } 606 return nil 607 } 608 609 // Create new peer 610 // - retval - return status 611 // - peer_index - Created or existing peer pool index 612 // 613 // WireguardPeerAddReply defines message 'wireguard_peer_add_reply'. 614 type WireguardPeerAddReply struct { 615 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 616 PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"` 617 } 618 619 func (m *WireguardPeerAddReply) Reset() { *m = WireguardPeerAddReply{} } 620 func (*WireguardPeerAddReply) GetMessageName() string { return "wireguard_peer_add_reply" } 621 func (*WireguardPeerAddReply) GetCrcString() string { return "084a0cd3" } 622 func (*WireguardPeerAddReply) GetMessageType() api.MessageType { 623 return api.ReplyMessage 624 } 625 626 func (m *WireguardPeerAddReply) Size() (size int) { 627 if m == nil { 628 return 0 629 } 630 size += 4 // m.Retval 631 size += 4 // m.PeerIndex 632 return size 633 } 634 func (m *WireguardPeerAddReply) Marshal(b []byte) ([]byte, error) { 635 if b == nil { 636 b = make([]byte, m.Size()) 637 } 638 buf := codec.NewBuffer(b) 639 buf.EncodeInt32(m.Retval) 640 buf.EncodeUint32(m.PeerIndex) 641 return buf.Bytes(), nil 642 } 643 func (m *WireguardPeerAddReply) Unmarshal(b []byte) error { 644 buf := codec.NewBuffer(b) 645 m.Retval = buf.DecodeInt32() 646 m.PeerIndex = buf.DecodeUint32() 647 return nil 648 } 649 650 // Interface Event generated by want_wireguard_peer_events 651 // - pid - client pid registered to receive notification 652 // - peer_index - index of the peer for this event 653 // - deleted - interface was deleted 654 // 655 // WireguardPeerEvent defines message 'wireguard_peer_event'. 656 type WireguardPeerEvent struct { 657 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"` 658 PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"` 659 Flags WireguardPeerFlags `binapi:"wireguard_peer_flags,name=flags" json:"flags,omitempty"` 660 } 661 662 func (m *WireguardPeerEvent) Reset() { *m = WireguardPeerEvent{} } 663 func (*WireguardPeerEvent) GetMessageName() string { return "wireguard_peer_event" } 664 func (*WireguardPeerEvent) GetCrcString() string { return "4e1b5d67" } 665 func (*WireguardPeerEvent) GetMessageType() api.MessageType { 666 return api.EventMessage 667 } 668 669 func (m *WireguardPeerEvent) Size() (size int) { 670 if m == nil { 671 return 0 672 } 673 size += 4 // m.PID 674 size += 4 // m.PeerIndex 675 size += 1 // m.Flags 676 return size 677 } 678 func (m *WireguardPeerEvent) Marshal(b []byte) ([]byte, error) { 679 if b == nil { 680 b = make([]byte, m.Size()) 681 } 682 buf := codec.NewBuffer(b) 683 buf.EncodeUint32(m.PID) 684 buf.EncodeUint32(m.PeerIndex) 685 buf.EncodeUint8(uint8(m.Flags)) 686 return buf.Bytes(), nil 687 } 688 func (m *WireguardPeerEvent) Unmarshal(b []byte) error { 689 buf := codec.NewBuffer(b) 690 m.PID = buf.DecodeUint32() 691 m.PeerIndex = buf.DecodeUint32() 692 m.Flags = WireguardPeerFlags(buf.DecodeUint8()) 693 return nil 694 } 695 696 // Remove peer 697 // - peer_index - peer to be removed 698 // 699 // WireguardPeerRemove defines message 'wireguard_peer_remove'. 700 type WireguardPeerRemove struct { 701 PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"` 702 } 703 704 func (m *WireguardPeerRemove) Reset() { *m = WireguardPeerRemove{} } 705 func (*WireguardPeerRemove) GetMessageName() string { return "wireguard_peer_remove" } 706 func (*WireguardPeerRemove) GetCrcString() string { return "3b74607a" } 707 func (*WireguardPeerRemove) GetMessageType() api.MessageType { 708 return api.RequestMessage 709 } 710 711 func (m *WireguardPeerRemove) Size() (size int) { 712 if m == nil { 713 return 0 714 } 715 size += 4 // m.PeerIndex 716 return size 717 } 718 func (m *WireguardPeerRemove) Marshal(b []byte) ([]byte, error) { 719 if b == nil { 720 b = make([]byte, m.Size()) 721 } 722 buf := codec.NewBuffer(b) 723 buf.EncodeUint32(m.PeerIndex) 724 return buf.Bytes(), nil 725 } 726 func (m *WireguardPeerRemove) Unmarshal(b []byte) error { 727 buf := codec.NewBuffer(b) 728 m.PeerIndex = buf.DecodeUint32() 729 return nil 730 } 731 732 // WireguardPeerRemoveReply defines message 'wireguard_peer_remove_reply'. 733 type WireguardPeerRemoveReply struct { 734 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"` 735 } 736 737 func (m *WireguardPeerRemoveReply) Reset() { *m = WireguardPeerRemoveReply{} } 738 func (*WireguardPeerRemoveReply) GetMessageName() string { return "wireguard_peer_remove_reply" } 739 func (*WireguardPeerRemoveReply) GetCrcString() string { return "e8d4e804" } 740 func (*WireguardPeerRemoveReply) GetMessageType() api.MessageType { 741 return api.ReplyMessage 742 } 743 744 func (m *WireguardPeerRemoveReply) Size() (size int) { 745 if m == nil { 746 return 0 747 } 748 size += 4 // m.Retval 749 return size 750 } 751 func (m *WireguardPeerRemoveReply) Marshal(b []byte) ([]byte, error) { 752 if b == nil { 753 b = make([]byte, m.Size()) 754 } 755 buf := codec.NewBuffer(b) 756 buf.EncodeInt32(m.Retval) 757 return buf.Bytes(), nil 758 } 759 func (m *WireguardPeerRemoveReply) Unmarshal(b []byte) error { 760 buf := codec.NewBuffer(b) 761 m.Retval = buf.DecodeInt32() 762 return nil 763 } 764 765 // Dump peer details 766 // - peer - peer details 767 // 768 // WireguardPeersDetails defines message 'wireguard_peers_details'. 769 type WireguardPeersDetails struct { 770 Peer WireguardPeer `binapi:"wireguard_peer,name=peer" json:"peer,omitempty"` 771 } 772 773 func (m *WireguardPeersDetails) Reset() { *m = WireguardPeersDetails{} } 774 func (*WireguardPeersDetails) GetMessageName() string { return "wireguard_peers_details" } 775 func (*WireguardPeersDetails) GetCrcString() string { return "6a9f6bc3" } 776 func (*WireguardPeersDetails) GetMessageType() api.MessageType { 777 return api.ReplyMessage 778 } 779 780 func (m *WireguardPeersDetails) Size() (size int) { 781 if m == nil { 782 return 0 783 } 784 size += 4 // m.Peer.PeerIndex 785 size += 1 * 32 // m.Peer.PublicKey 786 size += 2 // m.Peer.Port 787 size += 2 // m.Peer.PersistentKeepalive 788 size += 4 // m.Peer.TableID 789 size += 1 // m.Peer.Endpoint.Af 790 size += 1 * 16 // m.Peer.Endpoint.Un 791 size += 4 // m.Peer.SwIfIndex 792 size += 1 // m.Peer.Flags 793 size += 1 // m.Peer.NAllowedIps 794 for j2 := 0; j2 < len(m.Peer.AllowedIps); j2++ { 795 var s2 ip_types.Prefix 796 _ = s2 797 if j2 < len(m.Peer.AllowedIps) { 798 s2 = m.Peer.AllowedIps[j2] 799 } 800 size += 1 // s2.Address.Af 801 size += 1 * 16 // s2.Address.Un 802 size += 1 // s2.Len 803 } 804 return size 805 } 806 func (m *WireguardPeersDetails) Marshal(b []byte) ([]byte, error) { 807 if b == nil { 808 b = make([]byte, m.Size()) 809 } 810 buf := codec.NewBuffer(b) 811 buf.EncodeUint32(m.Peer.PeerIndex) 812 buf.EncodeBytes(m.Peer.PublicKey, 32) 813 buf.EncodeUint16(m.Peer.Port) 814 buf.EncodeUint16(m.Peer.PersistentKeepalive) 815 buf.EncodeUint32(m.Peer.TableID) 816 buf.EncodeUint8(uint8(m.Peer.Endpoint.Af)) 817 buf.EncodeBytes(m.Peer.Endpoint.Un.XXX_UnionData[:], 16) 818 buf.EncodeUint32(uint32(m.Peer.SwIfIndex)) 819 buf.EncodeUint8(uint8(m.Peer.Flags)) 820 buf.EncodeUint8(uint8(len(m.Peer.AllowedIps))) 821 for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ { 822 var v1 ip_types.Prefix // AllowedIps 823 if j1 < len(m.Peer.AllowedIps) { 824 v1 = m.Peer.AllowedIps[j1] 825 } 826 buf.EncodeUint8(uint8(v1.Address.Af)) 827 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16) 828 buf.EncodeUint8(v1.Len) 829 } 830 return buf.Bytes(), nil 831 } 832 func (m *WireguardPeersDetails) Unmarshal(b []byte) error { 833 buf := codec.NewBuffer(b) 834 m.Peer.PeerIndex = buf.DecodeUint32() 835 m.Peer.PublicKey = make([]byte, 32) 836 copy(m.Peer.PublicKey, buf.DecodeBytes(len(m.Peer.PublicKey))) 837 m.Peer.Port = buf.DecodeUint16() 838 m.Peer.PersistentKeepalive = buf.DecodeUint16() 839 m.Peer.TableID = buf.DecodeUint32() 840 m.Peer.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8()) 841 copy(m.Peer.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 842 m.Peer.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32()) 843 m.Peer.Flags = WireguardPeerFlags(buf.DecodeUint8()) 844 m.Peer.NAllowedIps = buf.DecodeUint8() 845 m.Peer.AllowedIps = make([]ip_types.Prefix, m.Peer.NAllowedIps) 846 for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ { 847 m.Peer.AllowedIps[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8()) 848 copy(m.Peer.AllowedIps[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16)) 849 m.Peer.AllowedIps[j1].Len = buf.DecodeUint8() 850 } 851 return nil 852 } 853 854 // Dump all peers 855 // - peer_index - peer index to be dumped. If 0xFFFFFFFF dumps all peers 856 // 857 // WireguardPeersDump defines message 'wireguard_peers_dump'. 858 type WireguardPeersDump struct { 859 PeerIndex uint32 `binapi:"u32,name=peer_index,default=4294967295" json:"peer_index,omitempty"` 860 } 861 862 func (m *WireguardPeersDump) Reset() { *m = WireguardPeersDump{} } 863 func (*WireguardPeersDump) GetMessageName() string { return "wireguard_peers_dump" } 864 func (*WireguardPeersDump) GetCrcString() string { return "3b74607a" } 865 func (*WireguardPeersDump) GetMessageType() api.MessageType { 866 return api.RequestMessage 867 } 868 869 func (m *WireguardPeersDump) Size() (size int) { 870 if m == nil { 871 return 0 872 } 873 size += 4 // m.PeerIndex 874 return size 875 } 876 func (m *WireguardPeersDump) Marshal(b []byte) ([]byte, error) { 877 if b == nil { 878 b = make([]byte, m.Size()) 879 } 880 buf := codec.NewBuffer(b) 881 buf.EncodeUint32(m.PeerIndex) 882 return buf.Bytes(), nil 883 } 884 func (m *WireguardPeersDump) Unmarshal(b []byte) error { 885 buf := codec.NewBuffer(b) 886 m.PeerIndex = buf.DecodeUint32() 887 return nil 888 } 889 890 func init() { file_wireguard_binapi_init() } 891 func file_wireguard_binapi_init() { 892 api.RegisterMessage((*WantWireguardPeerEvents)(nil), "want_wireguard_peer_events_3bc666c8") 893 api.RegisterMessage((*WantWireguardPeerEventsReply)(nil), "want_wireguard_peer_events_reply_e8d4e804") 894 api.RegisterMessage((*WgSetAsyncMode)(nil), "wg_set_async_mode_a6465f7c") 895 api.RegisterMessage((*WgSetAsyncModeReply)(nil), "wg_set_async_mode_reply_e8d4e804") 896 api.RegisterMessage((*WireguardInterfaceCreate)(nil), "wireguard_interface_create_a530137e") 897 api.RegisterMessage((*WireguardInterfaceCreateReply)(nil), "wireguard_interface_create_reply_5383d31f") 898 api.RegisterMessage((*WireguardInterfaceDelete)(nil), "wireguard_interface_delete_f9e6675e") 899 api.RegisterMessage((*WireguardInterfaceDeleteReply)(nil), "wireguard_interface_delete_reply_e8d4e804") 900 api.RegisterMessage((*WireguardInterfaceDetails)(nil), "wireguard_interface_details_0dd4865d") 901 api.RegisterMessage((*WireguardInterfaceDump)(nil), "wireguard_interface_dump_2c954158") 902 api.RegisterMessage((*WireguardPeerAdd)(nil), "wireguard_peer_add_9b8aad61") 903 api.RegisterMessage((*WireguardPeerAddReply)(nil), "wireguard_peer_add_reply_084a0cd3") 904 api.RegisterMessage((*WireguardPeerEvent)(nil), "wireguard_peer_event_4e1b5d67") 905 api.RegisterMessage((*WireguardPeerRemove)(nil), "wireguard_peer_remove_3b74607a") 906 api.RegisterMessage((*WireguardPeerRemoveReply)(nil), "wireguard_peer_remove_reply_e8d4e804") 907 api.RegisterMessage((*WireguardPeersDetails)(nil), "wireguard_peers_details_6a9f6bc3") 908 api.RegisterMessage((*WireguardPeersDump)(nil), "wireguard_peers_dump_3b74607a") 909 } 910 911 // Messages returns list of all messages in this module. 912 func AllMessages() []api.Message { 913 return []api.Message{ 914 (*WantWireguardPeerEvents)(nil), 915 (*WantWireguardPeerEventsReply)(nil), 916 (*WgSetAsyncMode)(nil), 917 (*WgSetAsyncModeReply)(nil), 918 (*WireguardInterfaceCreate)(nil), 919 (*WireguardInterfaceCreateReply)(nil), 920 (*WireguardInterfaceDelete)(nil), 921 (*WireguardInterfaceDeleteReply)(nil), 922 (*WireguardInterfaceDetails)(nil), 923 (*WireguardInterfaceDump)(nil), 924 (*WireguardPeerAdd)(nil), 925 (*WireguardPeerAddReply)(nil), 926 (*WireguardPeerEvent)(nil), 927 (*WireguardPeerRemove)(nil), 928 (*WireguardPeerRemoveReply)(nil), 929 (*WireguardPeersDetails)(nil), 930 (*WireguardPeersDump)(nil), 931 } 932 }