pub enum OpGetDeviceDumpRequest<'a> {
Ifindex(u32),
Ifname(&'a CStr),
PrivateKey(&'a [u8]),
PublicKey(&'a [u8]),
Flags(u32),
ListenPort(u16),
Fwmark(u32),
Peers(IterableArrayWgpeer<'a>),
}wireguard only.Expand description
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.
Variants§
Ifindex(u32)
Ifname(&'a CStr)
PrivateKey(&'a [u8])
Set to all zeros to remove.
PublicKey(&'a [u8])
Flags(u32)
0 or WGDEVICE_F_REPLACE_PEERS if all current peers should be removed prior to adding the list below.
Associated type: “WgdeviceFlags” (enum)
ListenPort(u16)
Set as 0 to choose randomly.
Fwmark(u32)
Set as 0 to disable.
Peers(IterableArrayWgpeer<'a>)
Implementations§
Source§impl<'a> OpGetDeviceDumpRequest<'a>
impl<'a> OpGetDeviceDumpRequest<'a>
pub fn new(buf: &'a [u8]) -> IterableOpGetDeviceDumpRequest<'a> ⓘ
Trait Implementations§
Source§impl<'a> Clone for OpGetDeviceDumpRequest<'a>
impl<'a> Clone for OpGetDeviceDumpRequest<'a>
Source§fn clone(&self) -> OpGetDeviceDumpRequest<'a>
fn clone(&self) -> OpGetDeviceDumpRequest<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more