pub struct PushOpGetDeviceDumpRequest<Prev: Rec> { /* private fields */ }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.
Implementations§
Source§impl<Prev: Rec> PushOpGetDeviceDumpRequest<Prev>
impl<Prev: Rec> PushOpGetDeviceDumpRequest<Prev>
pub fn new(prev: Prev) -> Self
pub fn end_nested(self) -> Prev
pub fn push_ifindex(self, value: u32) -> Self
pub fn push_ifname(self, value: &CStr) -> Self
pub fn push_ifname_bytes(self, value: &[u8]) -> Self
Sourcepub fn push_private_key(self, value: &[u8]) -> Self
pub fn push_private_key(self, value: &[u8]) -> Self
Set to all zeros to remove.
pub fn push_public_key(self, value: &[u8]) -> Self
Sourcepub fn push_flags(self, value: u32) -> Self
pub fn push_flags(self, value: u32) -> Self
0 or WGDEVICE_F_REPLACE_PEERS if all current peers should be removed prior to adding the list below.
Associated type: “WgdeviceFlags” (enum)
Sourcepub fn push_listen_port(self, value: u16) -> Self
pub fn push_listen_port(self, value: u16) -> Self
Set as 0 to choose randomly.
Sourcepub fn push_fwmark(self, value: u32) -> Self
pub fn push_fwmark(self, value: u32) -> Self
Set as 0 to disable.