1 // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
3 // binapi-generator: v0.5.0
5 // source: /usr/share/vpp/api/plugins/wireguard.api.json
7 // Package wireguard contains generated bindings for API file wireguard.api.
19 api "git.fd.io/govpp.git/api"
20 interface_types "git.fd.io/govpp.git/binapi/interface_types"
21 ip_types "git.fd.io/govpp.git/binapi/ip_types"
22 codec "git.fd.io/govpp.git/codec"
25 // This is a compile-time assertion to ensure that this generated file
26 // is compatible with the GoVPP api package it is being compiled against.
27 // A compilation error at this line likely means your copy of the
28 // GoVPP api package needs to be updated.
29 const _ = api.GoVppAPIPackageIsVersion2
34 VersionCrc = 0xb58de7e
37 // WireguardPeerFlags defines enum 'wireguard_peer_flags'.
38 type WireguardPeerFlags uint8
41 WIREGUARD_PEER_STATUS_DEAD WireguardPeerFlags = 1
42 WIREGUARD_PEER_ESTABLISHED WireguardPeerFlags = 2
46 WireguardPeerFlags_name = map[uint8]string{
47 1: "WIREGUARD_PEER_STATUS_DEAD",
48 2: "WIREGUARD_PEER_ESTABLISHED",
50 WireguardPeerFlags_value = map[string]uint8{
51 "WIREGUARD_PEER_STATUS_DEAD": 1,
52 "WIREGUARD_PEER_ESTABLISHED": 2,
56 func (x WireguardPeerFlags) String() string {
57 s, ok := WireguardPeerFlags_name[uint8(x)]
61 str := func(n uint8) string {
62 s, ok := WireguardPeerFlags_name[uint8(n)]
66 return "WireguardPeerFlags(" + strconv.Itoa(int(n)) + ")"
68 for i := uint8(0); i <= 8; i++ {
83 // WireguardInterface defines type 'wireguard_interface'.
84 type WireguardInterface struct {
85 UserInstance uint32 `binapi:"u32,name=user_instance,default=4294967295" json:"user_instance,omitempty"`
86 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
87 PrivateKey []byte `binapi:"u8[32],name=private_key" json:"private_key,omitempty"`
88 PublicKey []byte `binapi:"u8[32],name=public_key" json:"public_key,omitempty"`
89 Port uint16 `binapi:"u16,name=port" json:"port,omitempty"`
90 SrcIP ip_types.Address `binapi:"address,name=src_ip" json:"src_ip,omitempty"`
93 // WireguardPeer defines type 'wireguard_peer'.
94 type WireguardPeer struct {
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"`
106 // WantWireguardPeerEvents defines message 'want_wireguard_peer_events'.
107 // InProgress: the message form may change in the future versions
108 type WantWireguardPeerEvents struct {
109 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index,default=4294967295" json:"sw_if_index,omitempty"`
110 PeerIndex uint32 `binapi:"u32,name=peer_index,default=4294967295" json:"peer_index,omitempty"`
111 EnableDisable uint32 `binapi:"u32,name=enable_disable" json:"enable_disable,omitempty"`
112 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
115 func (m *WantWireguardPeerEvents) Reset() { *m = WantWireguardPeerEvents{} }
116 func (*WantWireguardPeerEvents) GetMessageName() string { return "want_wireguard_peer_events" }
117 func (*WantWireguardPeerEvents) GetCrcString() string { return "3bc666c8" }
118 func (*WantWireguardPeerEvents) GetMessageType() api.MessageType {
119 return api.RequestMessage
122 func (m *WantWireguardPeerEvents) Size() (size int) {
126 size += 4 // m.SwIfIndex
127 size += 4 // m.PeerIndex
128 size += 4 // m.EnableDisable
132 func (m *WantWireguardPeerEvents) Marshal(b []byte) ([]byte, error) {
134 b = make([]byte, m.Size())
136 buf := codec.NewBuffer(b)
137 buf.EncodeUint32(uint32(m.SwIfIndex))
138 buf.EncodeUint32(m.PeerIndex)
139 buf.EncodeUint32(m.EnableDisable)
140 buf.EncodeUint32(m.PID)
141 return buf.Bytes(), nil
143 func (m *WantWireguardPeerEvents) Unmarshal(b []byte) error {
144 buf := codec.NewBuffer(b)
145 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
146 m.PeerIndex = buf.DecodeUint32()
147 m.EnableDisable = buf.DecodeUint32()
148 m.PID = buf.DecodeUint32()
152 // WantWireguardPeerEventsReply defines message 'want_wireguard_peer_events_reply'.
153 // InProgress: the message form may change in the future versions
154 type WantWireguardPeerEventsReply struct {
155 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
158 func (m *WantWireguardPeerEventsReply) Reset() { *m = WantWireguardPeerEventsReply{} }
159 func (*WantWireguardPeerEventsReply) GetMessageName() string {
160 return "want_wireguard_peer_events_reply"
162 func (*WantWireguardPeerEventsReply) GetCrcString() string { return "e8d4e804" }
163 func (*WantWireguardPeerEventsReply) GetMessageType() api.MessageType {
164 return api.ReplyMessage
167 func (m *WantWireguardPeerEventsReply) Size() (size int) {
171 size += 4 // m.Retval
174 func (m *WantWireguardPeerEventsReply) Marshal(b []byte) ([]byte, error) {
176 b = make([]byte, m.Size())
178 buf := codec.NewBuffer(b)
179 buf.EncodeInt32(m.Retval)
180 return buf.Bytes(), nil
182 func (m *WantWireguardPeerEventsReply) Unmarshal(b []byte) error {
183 buf := codec.NewBuffer(b)
184 m.Retval = buf.DecodeInt32()
188 // WgSetAsyncMode defines message 'wg_set_async_mode'.
189 // InProgress: the message form may change in the future versions
190 type WgSetAsyncMode struct {
191 AsyncEnable bool `binapi:"bool,name=async_enable" json:"async_enable,omitempty"`
194 func (m *WgSetAsyncMode) Reset() { *m = WgSetAsyncMode{} }
195 func (*WgSetAsyncMode) GetMessageName() string { return "wg_set_async_mode" }
196 func (*WgSetAsyncMode) GetCrcString() string { return "a6465f7c" }
197 func (*WgSetAsyncMode) GetMessageType() api.MessageType {
198 return api.RequestMessage
201 func (m *WgSetAsyncMode) Size() (size int) {
205 size += 1 // m.AsyncEnable
208 func (m *WgSetAsyncMode) Marshal(b []byte) ([]byte, error) {
210 b = make([]byte, m.Size())
212 buf := codec.NewBuffer(b)
213 buf.EncodeBool(m.AsyncEnable)
214 return buf.Bytes(), nil
216 func (m *WgSetAsyncMode) Unmarshal(b []byte) error {
217 buf := codec.NewBuffer(b)
218 m.AsyncEnable = buf.DecodeBool()
222 // WgSetAsyncModeReply defines message 'wg_set_async_mode_reply'.
223 // InProgress: the message form may change in the future versions
224 type WgSetAsyncModeReply struct {
225 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
228 func (m *WgSetAsyncModeReply) Reset() { *m = WgSetAsyncModeReply{} }
229 func (*WgSetAsyncModeReply) GetMessageName() string { return "wg_set_async_mode_reply" }
230 func (*WgSetAsyncModeReply) GetCrcString() string { return "e8d4e804" }
231 func (*WgSetAsyncModeReply) GetMessageType() api.MessageType {
232 return api.ReplyMessage
235 func (m *WgSetAsyncModeReply) Size() (size int) {
239 size += 4 // m.Retval
242 func (m *WgSetAsyncModeReply) Marshal(b []byte) ([]byte, error) {
244 b = make([]byte, m.Size())
246 buf := codec.NewBuffer(b)
247 buf.EncodeInt32(m.Retval)
248 return buf.Bytes(), nil
250 func (m *WgSetAsyncModeReply) Unmarshal(b []byte) error {
251 buf := codec.NewBuffer(b)
252 m.Retval = buf.DecodeInt32()
256 // WireguardInterfaceCreate defines message 'wireguard_interface_create'.
257 // InProgress: the message form may change in the future versions
258 type WireguardInterfaceCreate struct {
259 Interface WireguardInterface `binapi:"wireguard_interface,name=interface" json:"interface,omitempty"`
260 GenerateKey bool `binapi:"bool,name=generate_key" json:"generate_key,omitempty"`
263 func (m *WireguardInterfaceCreate) Reset() { *m = WireguardInterfaceCreate{} }
264 func (*WireguardInterfaceCreate) GetMessageName() string { return "wireguard_interface_create" }
265 func (*WireguardInterfaceCreate) GetCrcString() string { return "a530137e" }
266 func (*WireguardInterfaceCreate) GetMessageType() api.MessageType {
267 return api.RequestMessage
270 func (m *WireguardInterfaceCreate) Size() (size int) {
274 size += 4 // m.Interface.UserInstance
275 size += 4 // m.Interface.SwIfIndex
276 size += 1 * 32 // m.Interface.PrivateKey
277 size += 1 * 32 // m.Interface.PublicKey
278 size += 2 // m.Interface.Port
279 size += 1 // m.Interface.SrcIP.Af
280 size += 1 * 16 // m.Interface.SrcIP.Un
281 size += 1 // m.GenerateKey
284 func (m *WireguardInterfaceCreate) Marshal(b []byte) ([]byte, error) {
286 b = make([]byte, m.Size())
288 buf := codec.NewBuffer(b)
289 buf.EncodeUint32(m.Interface.UserInstance)
290 buf.EncodeUint32(uint32(m.Interface.SwIfIndex))
291 buf.EncodeBytes(m.Interface.PrivateKey, 32)
292 buf.EncodeBytes(m.Interface.PublicKey, 32)
293 buf.EncodeUint16(m.Interface.Port)
294 buf.EncodeUint8(uint8(m.Interface.SrcIP.Af))
295 buf.EncodeBytes(m.Interface.SrcIP.Un.XXX_UnionData[:], 16)
296 buf.EncodeBool(m.GenerateKey)
297 return buf.Bytes(), nil
299 func (m *WireguardInterfaceCreate) Unmarshal(b []byte) error {
300 buf := codec.NewBuffer(b)
301 m.Interface.UserInstance = buf.DecodeUint32()
302 m.Interface.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
303 m.Interface.PrivateKey = make([]byte, 32)
304 copy(m.Interface.PrivateKey, buf.DecodeBytes(len(m.Interface.PrivateKey)))
305 m.Interface.PublicKey = make([]byte, 32)
306 copy(m.Interface.PublicKey, buf.DecodeBytes(len(m.Interface.PublicKey)))
307 m.Interface.Port = buf.DecodeUint16()
308 m.Interface.SrcIP.Af = ip_types.AddressFamily(buf.DecodeUint8())
309 copy(m.Interface.SrcIP.Un.XXX_UnionData[:], buf.DecodeBytes(16))
310 m.GenerateKey = buf.DecodeBool()
314 // WireguardInterfaceCreateReply defines message 'wireguard_interface_create_reply'.
315 // InProgress: the message form may change in the future versions
316 type WireguardInterfaceCreateReply struct {
317 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
318 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
321 func (m *WireguardInterfaceCreateReply) Reset() { *m = WireguardInterfaceCreateReply{} }
322 func (*WireguardInterfaceCreateReply) GetMessageName() string {
323 return "wireguard_interface_create_reply"
325 func (*WireguardInterfaceCreateReply) GetCrcString() string { return "5383d31f" }
326 func (*WireguardInterfaceCreateReply) GetMessageType() api.MessageType {
327 return api.ReplyMessage
330 func (m *WireguardInterfaceCreateReply) Size() (size int) {
334 size += 4 // m.Retval
335 size += 4 // m.SwIfIndex
338 func (m *WireguardInterfaceCreateReply) Marshal(b []byte) ([]byte, error) {
340 b = make([]byte, m.Size())
342 buf := codec.NewBuffer(b)
343 buf.EncodeInt32(m.Retval)
344 buf.EncodeUint32(uint32(m.SwIfIndex))
345 return buf.Bytes(), nil
347 func (m *WireguardInterfaceCreateReply) Unmarshal(b []byte) error {
348 buf := codec.NewBuffer(b)
349 m.Retval = buf.DecodeInt32()
350 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
354 // WireguardInterfaceDelete defines message 'wireguard_interface_delete'.
355 // InProgress: the message form may change in the future versions
356 type WireguardInterfaceDelete struct {
357 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
360 func (m *WireguardInterfaceDelete) Reset() { *m = WireguardInterfaceDelete{} }
361 func (*WireguardInterfaceDelete) GetMessageName() string { return "wireguard_interface_delete" }
362 func (*WireguardInterfaceDelete) GetCrcString() string { return "f9e6675e" }
363 func (*WireguardInterfaceDelete) GetMessageType() api.MessageType {
364 return api.RequestMessage
367 func (m *WireguardInterfaceDelete) Size() (size int) {
371 size += 4 // m.SwIfIndex
374 func (m *WireguardInterfaceDelete) Marshal(b []byte) ([]byte, error) {
376 b = make([]byte, m.Size())
378 buf := codec.NewBuffer(b)
379 buf.EncodeUint32(uint32(m.SwIfIndex))
380 return buf.Bytes(), nil
382 func (m *WireguardInterfaceDelete) Unmarshal(b []byte) error {
383 buf := codec.NewBuffer(b)
384 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
388 // WireguardInterfaceDeleteReply defines message 'wireguard_interface_delete_reply'.
389 // InProgress: the message form may change in the future versions
390 type WireguardInterfaceDeleteReply struct {
391 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
394 func (m *WireguardInterfaceDeleteReply) Reset() { *m = WireguardInterfaceDeleteReply{} }
395 func (*WireguardInterfaceDeleteReply) GetMessageName() string {
396 return "wireguard_interface_delete_reply"
398 func (*WireguardInterfaceDeleteReply) GetCrcString() string { return "e8d4e804" }
399 func (*WireguardInterfaceDeleteReply) GetMessageType() api.MessageType {
400 return api.ReplyMessage
403 func (m *WireguardInterfaceDeleteReply) Size() (size int) {
407 size += 4 // m.Retval
410 func (m *WireguardInterfaceDeleteReply) Marshal(b []byte) ([]byte, error) {
412 b = make([]byte, m.Size())
414 buf := codec.NewBuffer(b)
415 buf.EncodeInt32(m.Retval)
416 return buf.Bytes(), nil
418 func (m *WireguardInterfaceDeleteReply) Unmarshal(b []byte) error {
419 buf := codec.NewBuffer(b)
420 m.Retval = buf.DecodeInt32()
424 // WireguardInterfaceDetails defines message 'wireguard_interface_details'.
425 // InProgress: the message form may change in the future versions
426 type WireguardInterfaceDetails struct {
427 Interface WireguardInterface `binapi:"wireguard_interface,name=interface" json:"interface,omitempty"`
430 func (m *WireguardInterfaceDetails) Reset() { *m = WireguardInterfaceDetails{} }
431 func (*WireguardInterfaceDetails) GetMessageName() string { return "wireguard_interface_details" }
432 func (*WireguardInterfaceDetails) GetCrcString() string { return "0dd4865d" }
433 func (*WireguardInterfaceDetails) GetMessageType() api.MessageType {
434 return api.ReplyMessage
437 func (m *WireguardInterfaceDetails) Size() (size int) {
441 size += 4 // m.Interface.UserInstance
442 size += 4 // m.Interface.SwIfIndex
443 size += 1 * 32 // m.Interface.PrivateKey
444 size += 1 * 32 // m.Interface.PublicKey
445 size += 2 // m.Interface.Port
446 size += 1 // m.Interface.SrcIP.Af
447 size += 1 * 16 // m.Interface.SrcIP.Un
450 func (m *WireguardInterfaceDetails) Marshal(b []byte) ([]byte, error) {
452 b = make([]byte, m.Size())
454 buf := codec.NewBuffer(b)
455 buf.EncodeUint32(m.Interface.UserInstance)
456 buf.EncodeUint32(uint32(m.Interface.SwIfIndex))
457 buf.EncodeBytes(m.Interface.PrivateKey, 32)
458 buf.EncodeBytes(m.Interface.PublicKey, 32)
459 buf.EncodeUint16(m.Interface.Port)
460 buf.EncodeUint8(uint8(m.Interface.SrcIP.Af))
461 buf.EncodeBytes(m.Interface.SrcIP.Un.XXX_UnionData[:], 16)
462 return buf.Bytes(), nil
464 func (m *WireguardInterfaceDetails) Unmarshal(b []byte) error {
465 buf := codec.NewBuffer(b)
466 m.Interface.UserInstance = buf.DecodeUint32()
467 m.Interface.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
468 m.Interface.PrivateKey = make([]byte, 32)
469 copy(m.Interface.PrivateKey, buf.DecodeBytes(len(m.Interface.PrivateKey)))
470 m.Interface.PublicKey = make([]byte, 32)
471 copy(m.Interface.PublicKey, buf.DecodeBytes(len(m.Interface.PublicKey)))
472 m.Interface.Port = buf.DecodeUint16()
473 m.Interface.SrcIP.Af = ip_types.AddressFamily(buf.DecodeUint8())
474 copy(m.Interface.SrcIP.Un.XXX_UnionData[:], buf.DecodeBytes(16))
478 // WireguardInterfaceDump defines message 'wireguard_interface_dump'.
479 // InProgress: the message form may change in the future versions
480 type WireguardInterfaceDump struct {
481 ShowPrivateKey bool `binapi:"bool,name=show_private_key" json:"show_private_key,omitempty"`
482 SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
485 func (m *WireguardInterfaceDump) Reset() { *m = WireguardInterfaceDump{} }
486 func (*WireguardInterfaceDump) GetMessageName() string { return "wireguard_interface_dump" }
487 func (*WireguardInterfaceDump) GetCrcString() string { return "2c954158" }
488 func (*WireguardInterfaceDump) GetMessageType() api.MessageType {
489 return api.RequestMessage
492 func (m *WireguardInterfaceDump) Size() (size int) {
496 size += 1 // m.ShowPrivateKey
497 size += 4 // m.SwIfIndex
500 func (m *WireguardInterfaceDump) Marshal(b []byte) ([]byte, error) {
502 b = make([]byte, m.Size())
504 buf := codec.NewBuffer(b)
505 buf.EncodeBool(m.ShowPrivateKey)
506 buf.EncodeUint32(uint32(m.SwIfIndex))
507 return buf.Bytes(), nil
509 func (m *WireguardInterfaceDump) Unmarshal(b []byte) error {
510 buf := codec.NewBuffer(b)
511 m.ShowPrivateKey = buf.DecodeBool()
512 m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
516 // WireguardPeerAdd defines message 'wireguard_peer_add'.
517 // InProgress: the message form may change in the future versions
518 type WireguardPeerAdd struct {
519 Peer WireguardPeer `binapi:"wireguard_peer,name=peer" json:"peer,omitempty"`
522 func (m *WireguardPeerAdd) Reset() { *m = WireguardPeerAdd{} }
523 func (*WireguardPeerAdd) GetMessageName() string { return "wireguard_peer_add" }
524 func (*WireguardPeerAdd) GetCrcString() string { return "aedf8d59" }
525 func (*WireguardPeerAdd) GetMessageType() api.MessageType {
526 return api.RequestMessage
529 func (m *WireguardPeerAdd) Size() (size int) {
533 size += 1 * 32 // m.Peer.PublicKey
534 size += 2 // m.Peer.Port
535 size += 2 // m.Peer.PersistentKeepalive
536 size += 4 // m.Peer.TableID
537 size += 1 // m.Peer.Endpoint.Af
538 size += 1 * 16 // m.Peer.Endpoint.Un
539 size += 4 // m.Peer.SwIfIndex
540 size += 1 // m.Peer.Flags
541 size += 1 // m.Peer.NAllowedIps
542 for j2 := 0; j2 < len(m.Peer.AllowedIps); j2++ {
543 var s2 ip_types.Prefix
545 if j2 < len(m.Peer.AllowedIps) {
546 s2 = m.Peer.AllowedIps[j2]
548 size += 1 // s2.Address.Af
549 size += 1 * 16 // s2.Address.Un
554 func (m *WireguardPeerAdd) Marshal(b []byte) ([]byte, error) {
556 b = make([]byte, m.Size())
558 buf := codec.NewBuffer(b)
559 buf.EncodeBytes(m.Peer.PublicKey, 32)
560 buf.EncodeUint16(m.Peer.Port)
561 buf.EncodeUint16(m.Peer.PersistentKeepalive)
562 buf.EncodeUint32(m.Peer.TableID)
563 buf.EncodeUint8(uint8(m.Peer.Endpoint.Af))
564 buf.EncodeBytes(m.Peer.Endpoint.Un.XXX_UnionData[:], 16)
565 buf.EncodeUint32(uint32(m.Peer.SwIfIndex))
566 buf.EncodeUint8(uint8(m.Peer.Flags))
567 buf.EncodeUint8(uint8(len(m.Peer.AllowedIps)))
568 for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
569 var v1 ip_types.Prefix // AllowedIps
570 if j1 < len(m.Peer.AllowedIps) {
571 v1 = m.Peer.AllowedIps[j1]
573 buf.EncodeUint8(uint8(v1.Address.Af))
574 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
575 buf.EncodeUint8(v1.Len)
577 return buf.Bytes(), nil
579 func (m *WireguardPeerAdd) Unmarshal(b []byte) error {
580 buf := codec.NewBuffer(b)
581 m.Peer.PublicKey = make([]byte, 32)
582 copy(m.Peer.PublicKey, buf.DecodeBytes(len(m.Peer.PublicKey)))
583 m.Peer.Port = buf.DecodeUint16()
584 m.Peer.PersistentKeepalive = buf.DecodeUint16()
585 m.Peer.TableID = buf.DecodeUint32()
586 m.Peer.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8())
587 copy(m.Peer.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16))
588 m.Peer.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
589 m.Peer.Flags = WireguardPeerFlags(buf.DecodeUint8())
590 m.Peer.NAllowedIps = buf.DecodeUint8()
591 m.Peer.AllowedIps = make([]ip_types.Prefix, m.Peer.NAllowedIps)
592 for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
593 m.Peer.AllowedIps[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
594 copy(m.Peer.AllowedIps[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
595 m.Peer.AllowedIps[j1].Len = buf.DecodeUint8()
600 // WireguardPeerAddReply defines message 'wireguard_peer_add_reply'.
601 // InProgress: the message form may change in the future versions
602 type WireguardPeerAddReply struct {
603 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
604 PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"`
607 func (m *WireguardPeerAddReply) Reset() { *m = WireguardPeerAddReply{} }
608 func (*WireguardPeerAddReply) GetMessageName() string { return "wireguard_peer_add_reply" }
609 func (*WireguardPeerAddReply) GetCrcString() string { return "084a0cd3" }
610 func (*WireguardPeerAddReply) GetMessageType() api.MessageType {
611 return api.ReplyMessage
614 func (m *WireguardPeerAddReply) Size() (size int) {
618 size += 4 // m.Retval
619 size += 4 // m.PeerIndex
622 func (m *WireguardPeerAddReply) Marshal(b []byte) ([]byte, error) {
624 b = make([]byte, m.Size())
626 buf := codec.NewBuffer(b)
627 buf.EncodeInt32(m.Retval)
628 buf.EncodeUint32(m.PeerIndex)
629 return buf.Bytes(), nil
631 func (m *WireguardPeerAddReply) Unmarshal(b []byte) error {
632 buf := codec.NewBuffer(b)
633 m.Retval = buf.DecodeInt32()
634 m.PeerIndex = buf.DecodeUint32()
638 // WireguardPeerEvent defines message 'wireguard_peer_event'.
639 // InProgress: the message form may change in the future versions
640 type WireguardPeerEvent struct {
641 PID uint32 `binapi:"u32,name=pid" json:"pid,omitempty"`
642 PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"`
643 Flags WireguardPeerFlags `binapi:"wireguard_peer_flags,name=flags" json:"flags,omitempty"`
646 func (m *WireguardPeerEvent) Reset() { *m = WireguardPeerEvent{} }
647 func (*WireguardPeerEvent) GetMessageName() string { return "wireguard_peer_event" }
648 func (*WireguardPeerEvent) GetCrcString() string { return "4e1b5d67" }
649 func (*WireguardPeerEvent) GetMessageType() api.MessageType {
650 return api.EventMessage
653 func (m *WireguardPeerEvent) Size() (size int) {
658 size += 4 // m.PeerIndex
662 func (m *WireguardPeerEvent) Marshal(b []byte) ([]byte, error) {
664 b = make([]byte, m.Size())
666 buf := codec.NewBuffer(b)
667 buf.EncodeUint32(m.PID)
668 buf.EncodeUint32(m.PeerIndex)
669 buf.EncodeUint8(uint8(m.Flags))
670 return buf.Bytes(), nil
672 func (m *WireguardPeerEvent) Unmarshal(b []byte) error {
673 buf := codec.NewBuffer(b)
674 m.PID = buf.DecodeUint32()
675 m.PeerIndex = buf.DecodeUint32()
676 m.Flags = WireguardPeerFlags(buf.DecodeUint8())
680 // WireguardPeerRemove defines message 'wireguard_peer_remove'.
681 // InProgress: the message form may change in the future versions
682 type WireguardPeerRemove struct {
683 PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"`
686 func (m *WireguardPeerRemove) Reset() { *m = WireguardPeerRemove{} }
687 func (*WireguardPeerRemove) GetMessageName() string { return "wireguard_peer_remove" }
688 func (*WireguardPeerRemove) GetCrcString() string { return "3b74607a" }
689 func (*WireguardPeerRemove) GetMessageType() api.MessageType {
690 return api.RequestMessage
693 func (m *WireguardPeerRemove) Size() (size int) {
697 size += 4 // m.PeerIndex
700 func (m *WireguardPeerRemove) Marshal(b []byte) ([]byte, error) {
702 b = make([]byte, m.Size())
704 buf := codec.NewBuffer(b)
705 buf.EncodeUint32(m.PeerIndex)
706 return buf.Bytes(), nil
708 func (m *WireguardPeerRemove) Unmarshal(b []byte) error {
709 buf := codec.NewBuffer(b)
710 m.PeerIndex = buf.DecodeUint32()
714 // WireguardPeerRemoveReply defines message 'wireguard_peer_remove_reply'.
715 // InProgress: the message form may change in the future versions
716 type WireguardPeerRemoveReply struct {
717 Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
720 func (m *WireguardPeerRemoveReply) Reset() { *m = WireguardPeerRemoveReply{} }
721 func (*WireguardPeerRemoveReply) GetMessageName() string { return "wireguard_peer_remove_reply" }
722 func (*WireguardPeerRemoveReply) GetCrcString() string { return "e8d4e804" }
723 func (*WireguardPeerRemoveReply) GetMessageType() api.MessageType {
724 return api.ReplyMessage
727 func (m *WireguardPeerRemoveReply) Size() (size int) {
731 size += 4 // m.Retval
734 func (m *WireguardPeerRemoveReply) Marshal(b []byte) ([]byte, error) {
736 b = make([]byte, m.Size())
738 buf := codec.NewBuffer(b)
739 buf.EncodeInt32(m.Retval)
740 return buf.Bytes(), nil
742 func (m *WireguardPeerRemoveReply) Unmarshal(b []byte) error {
743 buf := codec.NewBuffer(b)
744 m.Retval = buf.DecodeInt32()
748 // WireguardPeersDetails defines message 'wireguard_peers_details'.
749 // InProgress: the message form may change in the future versions
750 type WireguardPeersDetails struct {
751 Peer WireguardPeer `binapi:"wireguard_peer,name=peer" json:"peer,omitempty"`
754 func (m *WireguardPeersDetails) Reset() { *m = WireguardPeersDetails{} }
755 func (*WireguardPeersDetails) GetMessageName() string { return "wireguard_peers_details" }
756 func (*WireguardPeersDetails) GetCrcString() string { return "29269d0e" }
757 func (*WireguardPeersDetails) GetMessageType() api.MessageType {
758 return api.ReplyMessage
761 func (m *WireguardPeersDetails) Size() (size int) {
765 size += 1 * 32 // m.Peer.PublicKey
766 size += 2 // m.Peer.Port
767 size += 2 // m.Peer.PersistentKeepalive
768 size += 4 // m.Peer.TableID
769 size += 1 // m.Peer.Endpoint.Af
770 size += 1 * 16 // m.Peer.Endpoint.Un
771 size += 4 // m.Peer.SwIfIndex
772 size += 1 // m.Peer.Flags
773 size += 1 // m.Peer.NAllowedIps
774 for j2 := 0; j2 < len(m.Peer.AllowedIps); j2++ {
775 var s2 ip_types.Prefix
777 if j2 < len(m.Peer.AllowedIps) {
778 s2 = m.Peer.AllowedIps[j2]
780 size += 1 // s2.Address.Af
781 size += 1 * 16 // s2.Address.Un
786 func (m *WireguardPeersDetails) Marshal(b []byte) ([]byte, error) {
788 b = make([]byte, m.Size())
790 buf := codec.NewBuffer(b)
791 buf.EncodeBytes(m.Peer.PublicKey, 32)
792 buf.EncodeUint16(m.Peer.Port)
793 buf.EncodeUint16(m.Peer.PersistentKeepalive)
794 buf.EncodeUint32(m.Peer.TableID)
795 buf.EncodeUint8(uint8(m.Peer.Endpoint.Af))
796 buf.EncodeBytes(m.Peer.Endpoint.Un.XXX_UnionData[:], 16)
797 buf.EncodeUint32(uint32(m.Peer.SwIfIndex))
798 buf.EncodeUint8(uint8(m.Peer.Flags))
799 buf.EncodeUint8(uint8(len(m.Peer.AllowedIps)))
800 for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
801 var v1 ip_types.Prefix // AllowedIps
802 if j1 < len(m.Peer.AllowedIps) {
803 v1 = m.Peer.AllowedIps[j1]
805 buf.EncodeUint8(uint8(v1.Address.Af))
806 buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
807 buf.EncodeUint8(v1.Len)
809 return buf.Bytes(), nil
811 func (m *WireguardPeersDetails) Unmarshal(b []byte) error {
812 buf := codec.NewBuffer(b)
813 m.Peer.PublicKey = make([]byte, 32)
814 copy(m.Peer.PublicKey, buf.DecodeBytes(len(m.Peer.PublicKey)))
815 m.Peer.Port = buf.DecodeUint16()
816 m.Peer.PersistentKeepalive = buf.DecodeUint16()
817 m.Peer.TableID = buf.DecodeUint32()
818 m.Peer.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8())
819 copy(m.Peer.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16))
820 m.Peer.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
821 m.Peer.Flags = WireguardPeerFlags(buf.DecodeUint8())
822 m.Peer.NAllowedIps = buf.DecodeUint8()
823 m.Peer.AllowedIps = make([]ip_types.Prefix, m.Peer.NAllowedIps)
824 for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
825 m.Peer.AllowedIps[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
826 copy(m.Peer.AllowedIps[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
827 m.Peer.AllowedIps[j1].Len = buf.DecodeUint8()
832 // WireguardPeersDump defines message 'wireguard_peers_dump'.
833 // InProgress: the message form may change in the future versions
834 type WireguardPeersDump struct {
835 PeerIndex uint32 `binapi:"u32,name=peer_index,default=4294967295" json:"peer_index,omitempty"`
838 func (m *WireguardPeersDump) Reset() { *m = WireguardPeersDump{} }
839 func (*WireguardPeersDump) GetMessageName() string { return "wireguard_peers_dump" }
840 func (*WireguardPeersDump) GetCrcString() string { return "3b74607a" }
841 func (*WireguardPeersDump) GetMessageType() api.MessageType {
842 return api.RequestMessage
845 func (m *WireguardPeersDump) Size() (size int) {
849 size += 4 // m.PeerIndex
852 func (m *WireguardPeersDump) Marshal(b []byte) ([]byte, error) {
854 b = make([]byte, m.Size())
856 buf := codec.NewBuffer(b)
857 buf.EncodeUint32(m.PeerIndex)
858 return buf.Bytes(), nil
860 func (m *WireguardPeersDump) Unmarshal(b []byte) error {
861 buf := codec.NewBuffer(b)
862 m.PeerIndex = buf.DecodeUint32()
866 func init() { file_wireguard_binapi_init() }
867 func file_wireguard_binapi_init() {
868 api.RegisterMessage((*WantWireguardPeerEvents)(nil), "want_wireguard_peer_events_3bc666c8")
869 api.RegisterMessage((*WantWireguardPeerEventsReply)(nil), "want_wireguard_peer_events_reply_e8d4e804")
870 api.RegisterMessage((*WgSetAsyncMode)(nil), "wg_set_async_mode_a6465f7c")
871 api.RegisterMessage((*WgSetAsyncModeReply)(nil), "wg_set_async_mode_reply_e8d4e804")
872 api.RegisterMessage((*WireguardInterfaceCreate)(nil), "wireguard_interface_create_a530137e")
873 api.RegisterMessage((*WireguardInterfaceCreateReply)(nil), "wireguard_interface_create_reply_5383d31f")
874 api.RegisterMessage((*WireguardInterfaceDelete)(nil), "wireguard_interface_delete_f9e6675e")
875 api.RegisterMessage((*WireguardInterfaceDeleteReply)(nil), "wireguard_interface_delete_reply_e8d4e804")
876 api.RegisterMessage((*WireguardInterfaceDetails)(nil), "wireguard_interface_details_0dd4865d")
877 api.RegisterMessage((*WireguardInterfaceDump)(nil), "wireguard_interface_dump_2c954158")
878 api.RegisterMessage((*WireguardPeerAdd)(nil), "wireguard_peer_add_aedf8d59")
879 api.RegisterMessage((*WireguardPeerAddReply)(nil), "wireguard_peer_add_reply_084a0cd3")
880 api.RegisterMessage((*WireguardPeerEvent)(nil), "wireguard_peer_event_4e1b5d67")
881 api.RegisterMessage((*WireguardPeerRemove)(nil), "wireguard_peer_remove_3b74607a")
882 api.RegisterMessage((*WireguardPeerRemoveReply)(nil), "wireguard_peer_remove_reply_e8d4e804")
883 api.RegisterMessage((*WireguardPeersDetails)(nil), "wireguard_peers_details_29269d0e")
884 api.RegisterMessage((*WireguardPeersDump)(nil), "wireguard_peers_dump_3b74607a")
887 // Messages returns list of all messages in this module.
888 func AllMessages() []api.Message {
889 return []api.Message{
890 (*WantWireguardPeerEvents)(nil),
891 (*WantWireguardPeerEventsReply)(nil),
892 (*WgSetAsyncMode)(nil),
893 (*WgSetAsyncModeReply)(nil),
894 (*WireguardInterfaceCreate)(nil),
895 (*WireguardInterfaceCreateReply)(nil),
896 (*WireguardInterfaceDelete)(nil),
897 (*WireguardInterfaceDeleteReply)(nil),
898 (*WireguardInterfaceDetails)(nil),
899 (*WireguardInterfaceDump)(nil),
900 (*WireguardPeerAdd)(nil),
901 (*WireguardPeerAddReply)(nil),
902 (*WireguardPeerEvent)(nil),
903 (*WireguardPeerRemove)(nil),
904 (*WireguardPeerRemoveReply)(nil),
905 (*WireguardPeersDetails)(nil),
906 (*WireguardPeersDump)(nil),