Skip to main content

OpSetDeviceDo

Struct OpSetDeviceDo 

Source
pub struct OpSetDeviceDo<'r> { /* private fields */ }
Available on crate feature wireguard only.
Expand description

§Set WireGuard device

This command should be called with a wgdevice set, containing one but not both of WGDEVICE_A_IFINDEX and WGDEVICE_A_IFNAME.

It is possible that the amount of configuration data exceeds that of the maximum message length accepted by the kernel. In that case, several messages should be sent one after another, with each successive one filling in information not contained in the prior. Note that if WGDEVICE_F_REPLACE_PEERS is specified in the first message, it probably should not be specified in fragments that come after, so that the list of peers is only cleared the first time but appended after. Likewise for peers, if WGPEER_F_REPLACE_ALLOWEDIPS is specified in the first message of a peer, it likely should not be specified in subsequent fragments.

If an error occurs, NLMSG_ERROR will reply containing an errno.

Flags: uns-admin-perm

Request attributes:

Implementations§

Source§

impl<'r> OpSetDeviceDo<'r>

Source

pub fn new(request: Request<'r>) -> Self

Source

pub fn encode_request<'buf>( buf: &'buf mut Vec<u8>, ) -> PushWgdevice<&'buf mut Vec<u8>>

Source

pub fn encode(&mut self) -> PushWgdevice<&mut Vec<u8>>

Source

pub fn into_encoder(self) -> PushWgdevice<RequestBuf<'r>>

Source

pub fn decode_request<'a>(buf: &'a [u8]) -> IterableWgdevice<'a>

Trait Implementations§

Source§

impl<'r> Debug for OpSetDeviceDo<'r>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl NetlinkRequest for OpSetDeviceDo<'_>

Source§

type ReplyType<'buf> = IterableWgdevice<'buf>

Source§

fn protocol(&self) -> Protocol

Netlink protocol to use
Source§

fn flags(&self) -> u16

Additional flags specified in the message header
Source§

fn payload(&self) -> &[u8]

Encoded payload of the message (without message header)
Source§

fn decode_reply<'buf>(buf: &'buf [u8]) -> Self::ReplyType<'buf>

Source§

fn lookup( buf: &[u8], offset: usize, missing_type: Option<u16>, ) -> (Vec<(&'static str, usize)>, Option<&'static str>)

Lookup an attribute and it’s parents in the request payload by offset

Auto Trait Implementations§

§

impl<'r> !UnwindSafe for OpSetDeviceDo<'r>

§

impl<'r> Freeze for OpSetDeviceDo<'r>

§

impl<'r> RefUnwindSafe for OpSetDeviceDo<'r>

§

impl<'r> Send for OpSetDeviceDo<'r>

§

impl<'r> Sync for OpSetDeviceDo<'r>

§

impl<'r> Unpin for OpSetDeviceDo<'r>

§

impl<'r> UnsafeUnpin for OpSetDeviceDo<'r>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.