Class: Nl::Linux::Wireguard::Messages::DumpGetDeviceRequest

Inherits:
Genl::Message show all
Defined in:
nl-linux/generated/nl/linux/wireguard.rb

Overview

Retrieve WireGuard device


The command should be called with one but not both of:

- ``WGDEVICE_A_IFINDEX``
- ``WGDEVICE_A_IFNAME``

The kernel will then return several messages (``NLM_F_MULTI``). It is
possible that all of the allowed IPs of a single peer will not fit
within a single netlink message. In that case, the same peer will be
written in the following message, except it will only contain
``WGPEER_A_PUBLIC_KEY`` and ``WGPEER_A_ALLOWEDIPS``. This may occur
several times in a row for the same peer. It is then up to the receiver
to coalesce adjacent peers. Likewise, it is possible that all peers will
not fit within a single message. So, subsequent peers will be sent in
following messages, except those will only contain ``WGDEVICE_A_IFNAME``
and ``WGDEVICE_A_PEERS``. It is then up to the receiver to coalesce
these messages to form the complete list of peers.

Since this is an ``NLA_F_DUMP`` command, the final message will always
be ``NLMSG_DONE``, even if an error occurs. However, this ``NLMSG_DONE``
message contains an integer error code. It is either zero or a negative
error code corresponding to the errno.


Requires CAP_NET_ADMIN in the user namespace owning the network namespace.

Constant Summary collapse

TYPE =
0
FIXED_HEADER =
nil
ATTRIBUTE_SET =
AttributeSets::Wgdevice
ATTRIBUTES =
Ractor.make_shareable(%i[ifindex ifname])

Instance Attribute Summary

Attributes included from StructuredPayload

#attributes, #fixed_header

Instance Method Summary collapse

Methods inherited from Genl::Message

decode

Methods inherited from Raw::Message

#append_attribute, decode, #initialize

Methods included from StructuredPayload

#encode, #initialize

Constructor Details

This class inherits a constructor from Nl::Raw::Message

Instance Method Details

#ifindex ⇒ Integer

Returns:

  • (Integer)

See Also:



525
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 525

def ifindex; attributes[:"ifindex"]&.value; end

#ifname ⇒ String

Returns:

  • (String)

See Also:



529
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 529

def ifname; attributes[:"ifname"]&.value; end