[][src]Struct rtnetlink::VxlanAddRequest

pub struct VxlanAddRequest { /* fields omitted */ }

A request to create a new vxlan link. This is equivalent to ip link add NAME vxlan id ID ... commands. It provides methods to customize the creation of the vxlan interface It provides almost all parameters that are listed by man ip link.

Implementations

impl VxlanAddRequest[src]

pub async fn execute(self) -> Result<(), Error>[src]

Execute the request.

pub fn up(mut self: Self) -> Self[src]

Sets the interface up This is equivalent to ip link set up dev NAME.

Adds the dev attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI dev LINK, dev LINK - specifies the physical device to use for tunnel endpoint communication. But instead of specifing a link name (LINK), we specify a link index.

pub fn port(mut self: Self, port: u16) -> Self[src]

Adds the dstport attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI dstport PORT. dstport PORT - specifies the UDP destination port to communicate to the remote VXLAN tunnel endpoint.

pub fn group(mut self: Self, addr: Ipv4Addr) -> Self[src]

Adds the group attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI group IPADDR, group IPADDR - specifies the multicast IP address to join. This function takes an IPv4 address WARNING: only one between remote and group can be present.

pub fn group6(mut self: Self, addr: Ipv6Addr) -> Self[src]

Adds the group attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI group IPADDR, group IPADDR - specifies the multicast IP address to join. This function takes an IPv6 address WARNING: only one between remote and group can be present.

pub fn remote(self, addr: Ipv4Addr) -> Self[src]

Adds the remote attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI remote IPADDR, remote IPADDR - specifies the unicast destination IP address to use in outgoing packets when the destination link layer address is not known in the VXLAN device forwarding database. This function takes an IPv4 address. WARNING: only one between remote and group can be present.

pub fn remote6(self, addr: Ipv6Addr) -> Self[src]

Adds the remote attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI remote IPADDR, remote IPADDR - specifies the unicast destination IP address to use in outgoing packets when the destination link layer address is not known in the VXLAN device forwarding database. This function takes an IPv6 address. WARNING: only one between remote and group can be present.

pub fn local(mut self: Self, addr: Ipv4Addr) -> Self[src]

Adds the local attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI local IPADDR, local IPADDR - specifies the source IP address to use in outgoing packets. This function takes an IPv4 address.

pub fn local6(mut self: Self, addr: Ipv6Addr) -> Self[src]

Adds the local attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI local IPADDR, local IPADDR - specifies the source IP address to use in outgoing packets. This function takes an IPv6 address.

pub fn tos(mut self: Self, tos: u8) -> Self[src]

Adds the tos attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI tos TOS. tos TOS - specifies the TOS value to use in outgoing packets.

pub fn ttl(mut self: Self, ttl: u8) -> Self[src]

Adds the ttl attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI ttl TTL. ttl TTL - specifies the TTL value to use in outgoing packets.

pub fn label(mut self: Self, label: u32) -> Self[src]

Adds the flowlabel attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI flowlabel LABEL. flowlabel LABEL - specifies the flow label to use in outgoing packets.

pub fn learning(mut self: Self, learning: u8) -> Self[src]

Adds the learning attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI [no]learning. [no]learning - specifies if unknown source link layer addresses and IP addresses are entered into the VXLAN device forwarding database.

pub fn ageing(mut self: Self, seconds: u32) -> Self[src]

Adds the ageing attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI ageing SECONDS. ageing SECONDS - specifies the lifetime in seconds of FDB entries learnt by the kernel.

pub fn limit(mut self: Self, limit: u32) -> Self[src]

Adds the maxaddress attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI maxaddress LIMIT. maxaddress LIMIT - specifies the maximum number of FDB entries.

pub fn port_range(mut self: Self, min: u16, max: u16) -> Self[src]

Adds the srcport attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI srcport MIN MAX. srcport MIN MAX - specifies the range of port numbers to use as UDP source ports to communicate to the remote VXLAN tunnel endpoint.

pub fn proxy(mut self: Self, proxy: u8) -> Self[src]

Adds the proxy attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI [no]proxy. [no]proxy - specifies ARP proxy is turned on.

pub fn rsc(mut self: Self, rsc: u8) -> Self[src]

Adds the rsc attribute to the VXLAN This is equivalent to ip link add name NAME type vxlan id VNI [no]rsc. [no]rsc - specifies if route short circuit is turned on.

pub fn l2miss(mut self: Self, l2miss: u8) -> Self[src]

This is equivalent to ip link add name NAME type vxlan id VNI [no]l2miss. [no]l2miss - specifies if netlink LLADDR miss notifications are generated.

pub fn l3miss(mut self: Self, l3miss: u8) -> Self[src]

This is equivalent to ip link add name NAME type vxlan id VNI [no]l3miss. [no]l3miss - specifies if netlink IP ADDR miss notifications are generated.

pub fn collect_metadata(mut self: Self, collect_metadata: u8) -> Self[src]

pub fn udp_csum(mut self: Self, udp_csum: u8) -> Self[src]

This is equivalent to ip link add name NAME type vxlan id VNI [no]udp_csum. [no]udpcsum - specifies if UDP checksum is calculated for transmitted packets over IPv4.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.