go.ligato.io/vpp-agent/v3@v3.5.0/plugins/vpp/binapi/vpp2106/wireguard/wireguard.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  
     3  // Package wireguard contains generated bindings for API file wireguard.api.
     4  //
     5  // Contents:
     6  // -  1 enum
     7  // -  2 structs
     8  // - 12 messages
     9  package wireguard
    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/vpp2106/interface_types"
    17  	ip_types "go.ligato.io/vpp-agent/v3/plugins/vpp/binapi/vpp2106/ip_types"
    18  )
    19  
    20  // This is a compile-time assertion to ensure that this generated file
    21  // is compatible with the GoVPP api package it is being compiled against.
    22  // A compilation error at this line likely means your copy of the
    23  // GoVPP api package needs to be updated.
    24  const _ = api.GoVppAPIPackageIsVersion2
    25  
    26  const (
    27  	APIFile    = "wireguard"
    28  	APIVersion = "0.1.0"
    29  	VersionCrc = 0x1e1d4252
    30  )
    31  
    32  // WireguardPeerFlags defines enum 'wireguard_peer_flags'.
    33  type WireguardPeerFlags uint8
    34  
    35  const (
    36  	WIREGUARD_PEER_STATUS_DEAD WireguardPeerFlags = 1
    37  )
    38  
    39  var (
    40  	WireguardPeerFlags_name = map[uint8]string{
    41  		1: "WIREGUARD_PEER_STATUS_DEAD",
    42  	}
    43  	WireguardPeerFlags_value = map[string]uint8{
    44  		"WIREGUARD_PEER_STATUS_DEAD": 1,
    45  	}
    46  )
    47  
    48  func (x WireguardPeerFlags) String() string {
    49  	s, ok := WireguardPeerFlags_name[uint8(x)]
    50  	if ok {
    51  		return s
    52  	}
    53  	str := func(n uint8) string {
    54  		s, ok := WireguardPeerFlags_name[uint8(n)]
    55  		if ok {
    56  			return s
    57  		}
    58  		return "WireguardPeerFlags(" + strconv.Itoa(int(n)) + ")"
    59  	}
    60  	for i := uint8(0); i <= 8; i++ {
    61  		val := uint8(x)
    62  		if val&(1<<i) != 0 {
    63  			if s != "" {
    64  				s += "|"
    65  			}
    66  			s += str(1 << i)
    67  		}
    68  	}
    69  	if s == "" {
    70  		return str(uint8(x))
    71  	}
    72  	return s
    73  }
    74  
    75  // WireguardInterface defines type 'wireguard_interface'.
    76  type WireguardInterface struct {
    77  	UserInstance uint32                         `binapi:"u32,name=user_instance,default=4294967295" json:"user_instance,omitempty"`
    78  	SwIfIndex    interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
    79  	PrivateKey   []byte                         `binapi:"u8[32],name=private_key" json:"private_key,omitempty"`
    80  	PublicKey    []byte                         `binapi:"u8[32],name=public_key" json:"public_key,omitempty"`
    81  	Port         uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
    82  	SrcIP        ip_types.Address               `binapi:"address,name=src_ip" json:"src_ip,omitempty"`
    83  }
    84  
    85  // WireguardPeer defines type 'wireguard_peer'.
    86  type WireguardPeer struct {
    87  	PublicKey           []byte                         `binapi:"u8[32],name=public_key" json:"public_key,omitempty"`
    88  	Port                uint16                         `binapi:"u16,name=port" json:"port,omitempty"`
    89  	PersistentKeepalive uint16                         `binapi:"u16,name=persistent_keepalive" json:"persistent_keepalive,omitempty"`
    90  	TableID             uint32                         `binapi:"u32,name=table_id" json:"table_id,omitempty"`
    91  	Endpoint            ip_types.Address               `binapi:"address,name=endpoint" json:"endpoint,omitempty"`
    92  	SwIfIndex           interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
    93  	Flags               WireguardPeerFlags             `binapi:"wireguard_peer_flags,name=flags" json:"flags,omitempty"`
    94  	NAllowedIps         uint8                          `binapi:"u8,name=n_allowed_ips" json:"-"`
    95  	AllowedIps          []ip_types.Prefix              `binapi:"prefix[n_allowed_ips],name=allowed_ips" json:"allowed_ips,omitempty"`
    96  }
    97  
    98  // WireguardInterfaceCreate defines message 'wireguard_interface_create'.
    99  // InProgress: the message form may change in the future versions
   100  type WireguardInterfaceCreate struct {
   101  	Interface   WireguardInterface `binapi:"wireguard_interface,name=interface" json:"interface,omitempty"`
   102  	GenerateKey bool               `binapi:"bool,name=generate_key" json:"generate_key,omitempty"`
   103  }
   104  
   105  func (m *WireguardInterfaceCreate) Reset()               { *m = WireguardInterfaceCreate{} }
   106  func (*WireguardInterfaceCreate) GetMessageName() string { return "wireguard_interface_create" }
   107  func (*WireguardInterfaceCreate) GetCrcString() string   { return "a530137e" }
   108  func (*WireguardInterfaceCreate) GetMessageType() api.MessageType {
   109  	return api.RequestMessage
   110  }
   111  
   112  func (m *WireguardInterfaceCreate) Size() (size int) {
   113  	if m == nil {
   114  		return 0
   115  	}
   116  	size += 4      // m.Interface.UserInstance
   117  	size += 4      // m.Interface.SwIfIndex
   118  	size += 1 * 32 // m.Interface.PrivateKey
   119  	size += 1 * 32 // m.Interface.PublicKey
   120  	size += 2      // m.Interface.Port
   121  	size += 1      // m.Interface.SrcIP.Af
   122  	size += 1 * 16 // m.Interface.SrcIP.Un
   123  	size += 1      // m.GenerateKey
   124  	return size
   125  }
   126  func (m *WireguardInterfaceCreate) Marshal(b []byte) ([]byte, error) {
   127  	if b == nil {
   128  		b = make([]byte, m.Size())
   129  	}
   130  	buf := codec.NewBuffer(b)
   131  	buf.EncodeUint32(m.Interface.UserInstance)
   132  	buf.EncodeUint32(uint32(m.Interface.SwIfIndex))
   133  	buf.EncodeBytes(m.Interface.PrivateKey, 32)
   134  	buf.EncodeBytes(m.Interface.PublicKey, 32)
   135  	buf.EncodeUint16(m.Interface.Port)
   136  	buf.EncodeUint8(uint8(m.Interface.SrcIP.Af))
   137  	buf.EncodeBytes(m.Interface.SrcIP.Un.XXX_UnionData[:], 16)
   138  	buf.EncodeBool(m.GenerateKey)
   139  	return buf.Bytes(), nil
   140  }
   141  func (m *WireguardInterfaceCreate) Unmarshal(b []byte) error {
   142  	buf := codec.NewBuffer(b)
   143  	m.Interface.UserInstance = buf.DecodeUint32()
   144  	m.Interface.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   145  	m.Interface.PrivateKey = make([]byte, 32)
   146  	copy(m.Interface.PrivateKey, buf.DecodeBytes(len(m.Interface.PrivateKey)))
   147  	m.Interface.PublicKey = make([]byte, 32)
   148  	copy(m.Interface.PublicKey, buf.DecodeBytes(len(m.Interface.PublicKey)))
   149  	m.Interface.Port = buf.DecodeUint16()
   150  	m.Interface.SrcIP.Af = ip_types.AddressFamily(buf.DecodeUint8())
   151  	copy(m.Interface.SrcIP.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   152  	m.GenerateKey = buf.DecodeBool()
   153  	return nil
   154  }
   155  
   156  // WireguardInterfaceCreateReply defines message 'wireguard_interface_create_reply'.
   157  // InProgress: the message form may change in the future versions
   158  type WireguardInterfaceCreateReply struct {
   159  	Retval    int32                          `binapi:"i32,name=retval" json:"retval,omitempty"`
   160  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   161  }
   162  
   163  func (m *WireguardInterfaceCreateReply) Reset() { *m = WireguardInterfaceCreateReply{} }
   164  func (*WireguardInterfaceCreateReply) GetMessageName() string {
   165  	return "wireguard_interface_create_reply"
   166  }
   167  func (*WireguardInterfaceCreateReply) GetCrcString() string { return "5383d31f" }
   168  func (*WireguardInterfaceCreateReply) GetMessageType() api.MessageType {
   169  	return api.ReplyMessage
   170  }
   171  
   172  func (m *WireguardInterfaceCreateReply) Size() (size int) {
   173  	if m == nil {
   174  		return 0
   175  	}
   176  	size += 4 // m.Retval
   177  	size += 4 // m.SwIfIndex
   178  	return size
   179  }
   180  func (m *WireguardInterfaceCreateReply) Marshal(b []byte) ([]byte, error) {
   181  	if b == nil {
   182  		b = make([]byte, m.Size())
   183  	}
   184  	buf := codec.NewBuffer(b)
   185  	buf.EncodeInt32(m.Retval)
   186  	buf.EncodeUint32(uint32(m.SwIfIndex))
   187  	return buf.Bytes(), nil
   188  }
   189  func (m *WireguardInterfaceCreateReply) Unmarshal(b []byte) error {
   190  	buf := codec.NewBuffer(b)
   191  	m.Retval = buf.DecodeInt32()
   192  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   193  	return nil
   194  }
   195  
   196  // WireguardInterfaceDelete defines message 'wireguard_interface_delete'.
   197  // InProgress: the message form may change in the future versions
   198  type WireguardInterfaceDelete struct {
   199  	SwIfIndex interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   200  }
   201  
   202  func (m *WireguardInterfaceDelete) Reset()               { *m = WireguardInterfaceDelete{} }
   203  func (*WireguardInterfaceDelete) GetMessageName() string { return "wireguard_interface_delete" }
   204  func (*WireguardInterfaceDelete) GetCrcString() string   { return "f9e6675e" }
   205  func (*WireguardInterfaceDelete) GetMessageType() api.MessageType {
   206  	return api.RequestMessage
   207  }
   208  
   209  func (m *WireguardInterfaceDelete) Size() (size int) {
   210  	if m == nil {
   211  		return 0
   212  	}
   213  	size += 4 // m.SwIfIndex
   214  	return size
   215  }
   216  func (m *WireguardInterfaceDelete) Marshal(b []byte) ([]byte, error) {
   217  	if b == nil {
   218  		b = make([]byte, m.Size())
   219  	}
   220  	buf := codec.NewBuffer(b)
   221  	buf.EncodeUint32(uint32(m.SwIfIndex))
   222  	return buf.Bytes(), nil
   223  }
   224  func (m *WireguardInterfaceDelete) Unmarshal(b []byte) error {
   225  	buf := codec.NewBuffer(b)
   226  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   227  	return nil
   228  }
   229  
   230  // WireguardInterfaceDeleteReply defines message 'wireguard_interface_delete_reply'.
   231  // InProgress: the message form may change in the future versions
   232  type WireguardInterfaceDeleteReply struct {
   233  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   234  }
   235  
   236  func (m *WireguardInterfaceDeleteReply) Reset() { *m = WireguardInterfaceDeleteReply{} }
   237  func (*WireguardInterfaceDeleteReply) GetMessageName() string {
   238  	return "wireguard_interface_delete_reply"
   239  }
   240  func (*WireguardInterfaceDeleteReply) GetCrcString() string { return "e8d4e804" }
   241  func (*WireguardInterfaceDeleteReply) GetMessageType() api.MessageType {
   242  	return api.ReplyMessage
   243  }
   244  
   245  func (m *WireguardInterfaceDeleteReply) Size() (size int) {
   246  	if m == nil {
   247  		return 0
   248  	}
   249  	size += 4 // m.Retval
   250  	return size
   251  }
   252  func (m *WireguardInterfaceDeleteReply) Marshal(b []byte) ([]byte, error) {
   253  	if b == nil {
   254  		b = make([]byte, m.Size())
   255  	}
   256  	buf := codec.NewBuffer(b)
   257  	buf.EncodeInt32(m.Retval)
   258  	return buf.Bytes(), nil
   259  }
   260  func (m *WireguardInterfaceDeleteReply) Unmarshal(b []byte) error {
   261  	buf := codec.NewBuffer(b)
   262  	m.Retval = buf.DecodeInt32()
   263  	return nil
   264  }
   265  
   266  // WireguardInterfaceDetails defines message 'wireguard_interface_details'.
   267  // InProgress: the message form may change in the future versions
   268  type WireguardInterfaceDetails struct {
   269  	Interface WireguardInterface `binapi:"wireguard_interface,name=interface" json:"interface,omitempty"`
   270  }
   271  
   272  func (m *WireguardInterfaceDetails) Reset()               { *m = WireguardInterfaceDetails{} }
   273  func (*WireguardInterfaceDetails) GetMessageName() string { return "wireguard_interface_details" }
   274  func (*WireguardInterfaceDetails) GetCrcString() string   { return "0dd4865d" }
   275  func (*WireguardInterfaceDetails) GetMessageType() api.MessageType {
   276  	return api.ReplyMessage
   277  }
   278  
   279  func (m *WireguardInterfaceDetails) Size() (size int) {
   280  	if m == nil {
   281  		return 0
   282  	}
   283  	size += 4      // m.Interface.UserInstance
   284  	size += 4      // m.Interface.SwIfIndex
   285  	size += 1 * 32 // m.Interface.PrivateKey
   286  	size += 1 * 32 // m.Interface.PublicKey
   287  	size += 2      // m.Interface.Port
   288  	size += 1      // m.Interface.SrcIP.Af
   289  	size += 1 * 16 // m.Interface.SrcIP.Un
   290  	return size
   291  }
   292  func (m *WireguardInterfaceDetails) Marshal(b []byte) ([]byte, error) {
   293  	if b == nil {
   294  		b = make([]byte, m.Size())
   295  	}
   296  	buf := codec.NewBuffer(b)
   297  	buf.EncodeUint32(m.Interface.UserInstance)
   298  	buf.EncodeUint32(uint32(m.Interface.SwIfIndex))
   299  	buf.EncodeBytes(m.Interface.PrivateKey, 32)
   300  	buf.EncodeBytes(m.Interface.PublicKey, 32)
   301  	buf.EncodeUint16(m.Interface.Port)
   302  	buf.EncodeUint8(uint8(m.Interface.SrcIP.Af))
   303  	buf.EncodeBytes(m.Interface.SrcIP.Un.XXX_UnionData[:], 16)
   304  	return buf.Bytes(), nil
   305  }
   306  func (m *WireguardInterfaceDetails) Unmarshal(b []byte) error {
   307  	buf := codec.NewBuffer(b)
   308  	m.Interface.UserInstance = buf.DecodeUint32()
   309  	m.Interface.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   310  	m.Interface.PrivateKey = make([]byte, 32)
   311  	copy(m.Interface.PrivateKey, buf.DecodeBytes(len(m.Interface.PrivateKey)))
   312  	m.Interface.PublicKey = make([]byte, 32)
   313  	copy(m.Interface.PublicKey, buf.DecodeBytes(len(m.Interface.PublicKey)))
   314  	m.Interface.Port = buf.DecodeUint16()
   315  	m.Interface.SrcIP.Af = ip_types.AddressFamily(buf.DecodeUint8())
   316  	copy(m.Interface.SrcIP.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   317  	return nil
   318  }
   319  
   320  // WireguardInterfaceDump defines message 'wireguard_interface_dump'.
   321  // InProgress: the message form may change in the future versions
   322  type WireguardInterfaceDump struct {
   323  	ShowPrivateKey bool                           `binapi:"bool,name=show_private_key" json:"show_private_key,omitempty"`
   324  	SwIfIndex      interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   325  }
   326  
   327  func (m *WireguardInterfaceDump) Reset()               { *m = WireguardInterfaceDump{} }
   328  func (*WireguardInterfaceDump) GetMessageName() string { return "wireguard_interface_dump" }
   329  func (*WireguardInterfaceDump) GetCrcString() string   { return "2c954158" }
   330  func (*WireguardInterfaceDump) GetMessageType() api.MessageType {
   331  	return api.RequestMessage
   332  }
   333  
   334  func (m *WireguardInterfaceDump) Size() (size int) {
   335  	if m == nil {
   336  		return 0
   337  	}
   338  	size += 1 // m.ShowPrivateKey
   339  	size += 4 // m.SwIfIndex
   340  	return size
   341  }
   342  func (m *WireguardInterfaceDump) Marshal(b []byte) ([]byte, error) {
   343  	if b == nil {
   344  		b = make([]byte, m.Size())
   345  	}
   346  	buf := codec.NewBuffer(b)
   347  	buf.EncodeBool(m.ShowPrivateKey)
   348  	buf.EncodeUint32(uint32(m.SwIfIndex))
   349  	return buf.Bytes(), nil
   350  }
   351  func (m *WireguardInterfaceDump) Unmarshal(b []byte) error {
   352  	buf := codec.NewBuffer(b)
   353  	m.ShowPrivateKey = buf.DecodeBool()
   354  	m.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   355  	return nil
   356  }
   357  
   358  // WireguardPeerAdd defines message 'wireguard_peer_add'.
   359  // InProgress: the message form may change in the future versions
   360  type WireguardPeerAdd struct {
   361  	Peer WireguardPeer `binapi:"wireguard_peer,name=peer" json:"peer,omitempty"`
   362  }
   363  
   364  func (m *WireguardPeerAdd) Reset()               { *m = WireguardPeerAdd{} }
   365  func (*WireguardPeerAdd) GetMessageName() string { return "wireguard_peer_add" }
   366  func (*WireguardPeerAdd) GetCrcString() string   { return "ed792326" }
   367  func (*WireguardPeerAdd) GetMessageType() api.MessageType {
   368  	return api.RequestMessage
   369  }
   370  
   371  func (m *WireguardPeerAdd) Size() (size int) {
   372  	if m == nil {
   373  		return 0
   374  	}
   375  	size += 1 * 32 // m.Peer.PublicKey
   376  	size += 2      // m.Peer.Port
   377  	size += 2      // m.Peer.PersistentKeepalive
   378  	size += 4      // m.Peer.TableID
   379  	size += 1      // m.Peer.Endpoint.Af
   380  	size += 1 * 16 // m.Peer.Endpoint.Un
   381  	size += 4      // m.Peer.SwIfIndex
   382  	size += 1      // m.Peer.Flags
   383  	size += 1      // m.Peer.NAllowedIps
   384  	for j2 := 0; j2 < len(m.Peer.AllowedIps); j2++ {
   385  		var s2 ip_types.Prefix
   386  		_ = s2
   387  		if j2 < len(m.Peer.AllowedIps) {
   388  			s2 = m.Peer.AllowedIps[j2]
   389  		}
   390  		size += 1      // s2.Address.Af
   391  		size += 1 * 16 // s2.Address.Un
   392  		size += 1      // s2.Len
   393  	}
   394  	return size
   395  }
   396  func (m *WireguardPeerAdd) Marshal(b []byte) ([]byte, error) {
   397  	if b == nil {
   398  		b = make([]byte, m.Size())
   399  	}
   400  	buf := codec.NewBuffer(b)
   401  	buf.EncodeBytes(m.Peer.PublicKey, 32)
   402  	buf.EncodeUint16(m.Peer.Port)
   403  	buf.EncodeUint16(m.Peer.PersistentKeepalive)
   404  	buf.EncodeUint32(m.Peer.TableID)
   405  	buf.EncodeUint8(uint8(m.Peer.Endpoint.Af))
   406  	buf.EncodeBytes(m.Peer.Endpoint.Un.XXX_UnionData[:], 16)
   407  	buf.EncodeUint32(uint32(m.Peer.SwIfIndex))
   408  	buf.EncodeUint8(uint8(m.Peer.Flags))
   409  	buf.EncodeUint8(uint8(len(m.Peer.AllowedIps)))
   410  	for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
   411  		var v1 ip_types.Prefix // AllowedIps
   412  		if j1 < len(m.Peer.AllowedIps) {
   413  			v1 = m.Peer.AllowedIps[j1]
   414  		}
   415  		buf.EncodeUint8(uint8(v1.Address.Af))
   416  		buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
   417  		buf.EncodeUint8(v1.Len)
   418  	}
   419  	return buf.Bytes(), nil
   420  }
   421  func (m *WireguardPeerAdd) Unmarshal(b []byte) error {
   422  	buf := codec.NewBuffer(b)
   423  	m.Peer.PublicKey = make([]byte, 32)
   424  	copy(m.Peer.PublicKey, buf.DecodeBytes(len(m.Peer.PublicKey)))
   425  	m.Peer.Port = buf.DecodeUint16()
   426  	m.Peer.PersistentKeepalive = buf.DecodeUint16()
   427  	m.Peer.TableID = buf.DecodeUint32()
   428  	m.Peer.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8())
   429  	copy(m.Peer.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   430  	m.Peer.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   431  	m.Peer.Flags = WireguardPeerFlags(buf.DecodeUint8())
   432  	m.Peer.NAllowedIps = buf.DecodeUint8()
   433  	m.Peer.AllowedIps = make([]ip_types.Prefix, m.Peer.NAllowedIps)
   434  	for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
   435  		m.Peer.AllowedIps[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
   436  		copy(m.Peer.AllowedIps[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   437  		m.Peer.AllowedIps[j1].Len = buf.DecodeUint8()
   438  	}
   439  	return nil
   440  }
   441  
   442  // WireguardPeerAddReply defines message 'wireguard_peer_add_reply'.
   443  // InProgress: the message form may change in the future versions
   444  type WireguardPeerAddReply struct {
   445  	Retval    int32  `binapi:"i32,name=retval" json:"retval,omitempty"`
   446  	PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"`
   447  }
   448  
   449  func (m *WireguardPeerAddReply) Reset()               { *m = WireguardPeerAddReply{} }
   450  func (*WireguardPeerAddReply) GetMessageName() string { return "wireguard_peer_add_reply" }
   451  func (*WireguardPeerAddReply) GetCrcString() string   { return "084a0cd3" }
   452  func (*WireguardPeerAddReply) GetMessageType() api.MessageType {
   453  	return api.ReplyMessage
   454  }
   455  
   456  func (m *WireguardPeerAddReply) Size() (size int) {
   457  	if m == nil {
   458  		return 0
   459  	}
   460  	size += 4 // m.Retval
   461  	size += 4 // m.PeerIndex
   462  	return size
   463  }
   464  func (m *WireguardPeerAddReply) Marshal(b []byte) ([]byte, error) {
   465  	if b == nil {
   466  		b = make([]byte, m.Size())
   467  	}
   468  	buf := codec.NewBuffer(b)
   469  	buf.EncodeInt32(m.Retval)
   470  	buf.EncodeUint32(m.PeerIndex)
   471  	return buf.Bytes(), nil
   472  }
   473  func (m *WireguardPeerAddReply) Unmarshal(b []byte) error {
   474  	buf := codec.NewBuffer(b)
   475  	m.Retval = buf.DecodeInt32()
   476  	m.PeerIndex = buf.DecodeUint32()
   477  	return nil
   478  }
   479  
   480  // WireguardPeerRemove defines message 'wireguard_peer_remove'.
   481  // InProgress: the message form may change in the future versions
   482  type WireguardPeerRemove struct {
   483  	PeerIndex uint32 `binapi:"u32,name=peer_index" json:"peer_index,omitempty"`
   484  }
   485  
   486  func (m *WireguardPeerRemove) Reset()               { *m = WireguardPeerRemove{} }
   487  func (*WireguardPeerRemove) GetMessageName() string { return "wireguard_peer_remove" }
   488  func (*WireguardPeerRemove) GetCrcString() string   { return "3b74607a" }
   489  func (*WireguardPeerRemove) GetMessageType() api.MessageType {
   490  	return api.RequestMessage
   491  }
   492  
   493  func (m *WireguardPeerRemove) Size() (size int) {
   494  	if m == nil {
   495  		return 0
   496  	}
   497  	size += 4 // m.PeerIndex
   498  	return size
   499  }
   500  func (m *WireguardPeerRemove) Marshal(b []byte) ([]byte, error) {
   501  	if b == nil {
   502  		b = make([]byte, m.Size())
   503  	}
   504  	buf := codec.NewBuffer(b)
   505  	buf.EncodeUint32(m.PeerIndex)
   506  	return buf.Bytes(), nil
   507  }
   508  func (m *WireguardPeerRemove) Unmarshal(b []byte) error {
   509  	buf := codec.NewBuffer(b)
   510  	m.PeerIndex = buf.DecodeUint32()
   511  	return nil
   512  }
   513  
   514  // WireguardPeerRemoveReply defines message 'wireguard_peer_remove_reply'.
   515  // InProgress: the message form may change in the future versions
   516  type WireguardPeerRemoveReply struct {
   517  	Retval int32 `binapi:"i32,name=retval" json:"retval,omitempty"`
   518  }
   519  
   520  func (m *WireguardPeerRemoveReply) Reset()               { *m = WireguardPeerRemoveReply{} }
   521  func (*WireguardPeerRemoveReply) GetMessageName() string { return "wireguard_peer_remove_reply" }
   522  func (*WireguardPeerRemoveReply) GetCrcString() string   { return "e8d4e804" }
   523  func (*WireguardPeerRemoveReply) GetMessageType() api.MessageType {
   524  	return api.ReplyMessage
   525  }
   526  
   527  func (m *WireguardPeerRemoveReply) Size() (size int) {
   528  	if m == nil {
   529  		return 0
   530  	}
   531  	size += 4 // m.Retval
   532  	return size
   533  }
   534  func (m *WireguardPeerRemoveReply) Marshal(b []byte) ([]byte, error) {
   535  	if b == nil {
   536  		b = make([]byte, m.Size())
   537  	}
   538  	buf := codec.NewBuffer(b)
   539  	buf.EncodeInt32(m.Retval)
   540  	return buf.Bytes(), nil
   541  }
   542  func (m *WireguardPeerRemoveReply) Unmarshal(b []byte) error {
   543  	buf := codec.NewBuffer(b)
   544  	m.Retval = buf.DecodeInt32()
   545  	return nil
   546  }
   547  
   548  // WireguardPeersDetails defines message 'wireguard_peers_details'.
   549  // InProgress: the message form may change in the future versions
   550  type WireguardPeersDetails struct {
   551  	Peer WireguardPeer `binapi:"wireguard_peer,name=peer" json:"peer,omitempty"`
   552  }
   553  
   554  func (m *WireguardPeersDetails) Reset()               { *m = WireguardPeersDetails{} }
   555  func (*WireguardPeersDetails) GetMessageName() string { return "wireguard_peers_details" }
   556  func (*WireguardPeersDetails) GetCrcString() string   { return "2097f740" }
   557  func (*WireguardPeersDetails) GetMessageType() api.MessageType {
   558  	return api.ReplyMessage
   559  }
   560  
   561  func (m *WireguardPeersDetails) Size() (size int) {
   562  	if m == nil {
   563  		return 0
   564  	}
   565  	size += 1 * 32 // m.Peer.PublicKey
   566  	size += 2      // m.Peer.Port
   567  	size += 2      // m.Peer.PersistentKeepalive
   568  	size += 4      // m.Peer.TableID
   569  	size += 1      // m.Peer.Endpoint.Af
   570  	size += 1 * 16 // m.Peer.Endpoint.Un
   571  	size += 4      // m.Peer.SwIfIndex
   572  	size += 1      // m.Peer.Flags
   573  	size += 1      // m.Peer.NAllowedIps
   574  	for j2 := 0; j2 < len(m.Peer.AllowedIps); j2++ {
   575  		var s2 ip_types.Prefix
   576  		_ = s2
   577  		if j2 < len(m.Peer.AllowedIps) {
   578  			s2 = m.Peer.AllowedIps[j2]
   579  		}
   580  		size += 1      // s2.Address.Af
   581  		size += 1 * 16 // s2.Address.Un
   582  		size += 1      // s2.Len
   583  	}
   584  	return size
   585  }
   586  func (m *WireguardPeersDetails) Marshal(b []byte) ([]byte, error) {
   587  	if b == nil {
   588  		b = make([]byte, m.Size())
   589  	}
   590  	buf := codec.NewBuffer(b)
   591  	buf.EncodeBytes(m.Peer.PublicKey, 32)
   592  	buf.EncodeUint16(m.Peer.Port)
   593  	buf.EncodeUint16(m.Peer.PersistentKeepalive)
   594  	buf.EncodeUint32(m.Peer.TableID)
   595  	buf.EncodeUint8(uint8(m.Peer.Endpoint.Af))
   596  	buf.EncodeBytes(m.Peer.Endpoint.Un.XXX_UnionData[:], 16)
   597  	buf.EncodeUint32(uint32(m.Peer.SwIfIndex))
   598  	buf.EncodeUint8(uint8(m.Peer.Flags))
   599  	buf.EncodeUint8(uint8(len(m.Peer.AllowedIps)))
   600  	for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
   601  		var v1 ip_types.Prefix // AllowedIps
   602  		if j1 < len(m.Peer.AllowedIps) {
   603  			v1 = m.Peer.AllowedIps[j1]
   604  		}
   605  		buf.EncodeUint8(uint8(v1.Address.Af))
   606  		buf.EncodeBytes(v1.Address.Un.XXX_UnionData[:], 16)
   607  		buf.EncodeUint8(v1.Len)
   608  	}
   609  	return buf.Bytes(), nil
   610  }
   611  func (m *WireguardPeersDetails) Unmarshal(b []byte) error {
   612  	buf := codec.NewBuffer(b)
   613  	m.Peer.PublicKey = make([]byte, 32)
   614  	copy(m.Peer.PublicKey, buf.DecodeBytes(len(m.Peer.PublicKey)))
   615  	m.Peer.Port = buf.DecodeUint16()
   616  	m.Peer.PersistentKeepalive = buf.DecodeUint16()
   617  	m.Peer.TableID = buf.DecodeUint32()
   618  	m.Peer.Endpoint.Af = ip_types.AddressFamily(buf.DecodeUint8())
   619  	copy(m.Peer.Endpoint.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   620  	m.Peer.SwIfIndex = interface_types.InterfaceIndex(buf.DecodeUint32())
   621  	m.Peer.Flags = WireguardPeerFlags(buf.DecodeUint8())
   622  	m.Peer.NAllowedIps = buf.DecodeUint8()
   623  	m.Peer.AllowedIps = make([]ip_types.Prefix, m.Peer.NAllowedIps)
   624  	for j1 := 0; j1 < len(m.Peer.AllowedIps); j1++ {
   625  		m.Peer.AllowedIps[j1].Address.Af = ip_types.AddressFamily(buf.DecodeUint8())
   626  		copy(m.Peer.AllowedIps[j1].Address.Un.XXX_UnionData[:], buf.DecodeBytes(16))
   627  		m.Peer.AllowedIps[j1].Len = buf.DecodeUint8()
   628  	}
   629  	return nil
   630  }
   631  
   632  // WireguardPeersDump defines message 'wireguard_peers_dump'.
   633  // InProgress: the message form may change in the future versions
   634  type WireguardPeersDump struct{}
   635  
   636  func (m *WireguardPeersDump) Reset()               { *m = WireguardPeersDump{} }
   637  func (*WireguardPeersDump) GetMessageName() string { return "wireguard_peers_dump" }
   638  func (*WireguardPeersDump) GetCrcString() string   { return "51077d14" }
   639  func (*WireguardPeersDump) GetMessageType() api.MessageType {
   640  	return api.RequestMessage
   641  }
   642  
   643  func (m *WireguardPeersDump) Size() (size int) {
   644  	if m == nil {
   645  		return 0
   646  	}
   647  	return size
   648  }
   649  func (m *WireguardPeersDump) Marshal(b []byte) ([]byte, error) {
   650  	if b == nil {
   651  		b = make([]byte, m.Size())
   652  	}
   653  	buf := codec.NewBuffer(b)
   654  	return buf.Bytes(), nil
   655  }
   656  func (m *WireguardPeersDump) Unmarshal(b []byte) error {
   657  	return nil
   658  }
   659  
   660  func init() { file_wireguard_binapi_init() }
   661  func file_wireguard_binapi_init() {
   662  	api.RegisterMessage((*WireguardInterfaceCreate)(nil), "wireguard_interface_create_a530137e")
   663  	api.RegisterMessage((*WireguardInterfaceCreateReply)(nil), "wireguard_interface_create_reply_5383d31f")
   664  	api.RegisterMessage((*WireguardInterfaceDelete)(nil), "wireguard_interface_delete_f9e6675e")
   665  	api.RegisterMessage((*WireguardInterfaceDeleteReply)(nil), "wireguard_interface_delete_reply_e8d4e804")
   666  	api.RegisterMessage((*WireguardInterfaceDetails)(nil), "wireguard_interface_details_0dd4865d")
   667  	api.RegisterMessage((*WireguardInterfaceDump)(nil), "wireguard_interface_dump_2c954158")
   668  	api.RegisterMessage((*WireguardPeerAdd)(nil), "wireguard_peer_add_ed792326")
   669  	api.RegisterMessage((*WireguardPeerAddReply)(nil), "wireguard_peer_add_reply_084a0cd3")
   670  	api.RegisterMessage((*WireguardPeerRemove)(nil), "wireguard_peer_remove_3b74607a")
   671  	api.RegisterMessage((*WireguardPeerRemoveReply)(nil), "wireguard_peer_remove_reply_e8d4e804")
   672  	api.RegisterMessage((*WireguardPeersDetails)(nil), "wireguard_peers_details_2097f740")
   673  	api.RegisterMessage((*WireguardPeersDump)(nil), "wireguard_peers_dump_51077d14")
   674  }
   675  
   676  // Messages returns list of all messages in this module.
   677  func AllMessages() []api.Message {
   678  	return []api.Message{
   679  		(*WireguardInterfaceCreate)(nil),
   680  		(*WireguardInterfaceCreateReply)(nil),
   681  		(*WireguardInterfaceDelete)(nil),
   682  		(*WireguardInterfaceDeleteReply)(nil),
   683  		(*WireguardInterfaceDetails)(nil),
   684  		(*WireguardInterfaceDump)(nil),
   685  		(*WireguardPeerAdd)(nil),
   686  		(*WireguardPeerAddReply)(nil),
   687  		(*WireguardPeerRemove)(nil),
   688  		(*WireguardPeerRemoveReply)(nil),
   689  		(*WireguardPeersDetails)(nil),
   690  		(*WireguardPeersDump)(nil),
   691  	}
   692  }