[−][src]Struct rtnetlink::VxlanAddRequest
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
.
pub fn link(mut self: Self, index: u32) -> Self
[src]
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
impl !RefUnwindSafe for VxlanAddRequest
[src]
impl Send for VxlanAddRequest
[src]
impl Sync for VxlanAddRequest
[src]
impl Unpin for VxlanAddRequest
[src]
impl !UnwindSafe for VxlanAddRequest
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,