Class: Nl::Linux::Wireguard::Messages::DumpGetDeviceReply
- Inherits:
-
Genl::Message
- Object
- Raw::Message
- Genl::Message
- Nl::Linux::Wireguard::Messages::DumpGetDeviceReply
- 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 private_key public_key flags listen_port fwmark peers])
Instance Attribute Summary
Attributes included from StructuredPayload
Instance Method Summary collapse
-
#flags ⇒ Integer
0orWGDEVICE_F_REPLACE_PEERSif all current peers should be removed prior to adding the list below. -
#fwmark ⇒ Integer
Set as
0to disable. - #ifindex ⇒ Integer
- #ifname ⇒ String
-
#listen_port ⇒ Integer
Set as
0to choose randomly. -
#peers ⇒ Array<AttributeSets::Wgpeer>
The index/type parameter is unused on
SET_DEVICEoperations and is zero onGET_DEVICEoperations. -
#private_key ⇒ String
Set to all zeros to remove.
- #public_key ⇒ String
Methods inherited from Genl::Message
Methods inherited from Raw::Message
#append_attribute, decode, #initialize
Methods included from StructuredPayload
Constructor Details
This class inherits a constructor from Nl::Raw::Message
Instance Method Details
#flags ⇒ Integer
0 or WGDEVICE_F_REPLACE_PEERS if all current peers should be
removed prior to adding the list below.
Known flags are defined in Flags::WgdeviceFlags.
588 |
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 588 def flags; attributes[:"flags"]&.value; end |
#fwmark ⇒ Integer
Set as 0 to disable.
598 |
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 598 def fwmark; attributes[:"fwmark"]&.value; end |
#ifindex ⇒ Integer
566 |
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 566 def ifindex; attributes[:"ifindex"]&.value; end |
#ifname ⇒ String
570 |
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 570 def ifname; attributes[:"ifname"]&.value; end |
#listen_port ⇒ Integer
Set as 0 to choose randomly.
593 |
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 593 def listen_port; attributes[:"listen_port"]&.value; end |
#peers ⇒ Array<AttributeSets::Wgpeer>
The index/type parameter is unused on SET_DEVICE operations and is
zero on GET_DEVICE operations.
604 |
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 604 def peers; attributes[:"peers"]&.value; end |
#private_key ⇒ String
Set to all zeros to remove.
575 |
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 575 def private_key; attributes[:"private_key"]&.value; end |
#public_key ⇒ String
579 |
# File 'nl-linux/generated/nl/linux/wireguard.rb', line 579 def public_key; attributes[:"public_key"]&.value; end |