Struct nmstate::InterfaceIpv6
source · #[non_exhaustive]pub struct InterfaceIpv6 {Show 15 fields
pub enabled: bool,
pub dhcp: Option<bool>,
pub dhcp_duid: Option<Dhcpv6Duid>,
pub autoconf: Option<bool>,
pub addr_gen_mode: Option<Ipv6AddrGenMode>,
pub addresses: Option<Vec<InterfaceIpAddr>>,
pub auto_dns: Option<bool>,
pub auto_gateway: Option<bool>,
pub auto_routes: Option<bool>,
pub auto_table_id: Option<u32>,
pub allow_extra_address: Option<bool>,
pub auto_route_metric: Option<u32>,
pub token: Option<String>,
pub dhcp_send_hostname: Option<bool>,
pub dhcp_custom_hostname: Option<String>,
/* private fields */
}
Expand description
IPv6 configurations of interface. Example output of interface holding automatic IPv6 settings:
---
interfaces:
- name: eth1
state: up
mtu: 1500
ipv4:
enabled: false
ipv6:
address:
- ip: 2001:db8:2::1
prefix-length: 64
- ip: 2001:db8:1::1
prefix-length: 64
- ip: fe80::1ec1:cff:fe32:3bd3
prefix-length: 64
autoconf: true
dhcp: true
enabled: true
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.enabled: bool
Whether IPv6 stack is enable. When set to false, the IPv6 stack is disabled with IPv6 link-local address purged also.
dhcp: Option<bool>
Whether DHCPv6 enabled.
dhcp_duid: Option<Dhcpv6Duid>
DHCPv6 Unique Identifier
Serialize and deserialize to/from dhcp-duid
.
autoconf: Option<bool>
Whether autoconf via IPv6 router announcement enabled.
addr_gen_mode: Option<Ipv6AddrGenMode>
IPv6 address generation mode.
Serialize and deserialize to/from addr-gen-mode
.
addresses: Option<Vec<InterfaceIpAddr>>
IPv6 addresses. Will be ignored when applying with
DHCPv6 or autoconf is enabled.
When applying with None
, current IP address will be preserved.
When applying with Some(Vec::new())
, all IP address will be removed.
The IP addresses will apply to kernel with the same order specified.
auto_dns: Option<bool>
Whether to apply DNS resolver information retrieved from DHCPv6 or
autoconf.
Serialize and deserialize to/from auto-dns
.
If you want to append static DNS name server before DHCP/Autoconf
provided servers, please set auto-dns: true
explicitly a along with
static DNS server.
auto_gateway: Option<bool>
Whether to set default gateway retrieved from autoconf.
Serialize and deserialize to/from auto-gateway
.
auto_routes: Option<bool>
Whether to set routes(including default gateway) retrieved from
autoconf.
Serialize and deserialize to/from auto-routes
.
auto_table_id: Option<u32>
The route table ID used to hold routes(including default gateway)
retrieved from autoconf.
If not defined, the main(254) will be used.
Serialize and deserialize to/from auto-table-id
.
allow_extra_address: Option<bool>
By default(true), nmstate verification process allows extra IP address
found as long as desired IP address matched.
When set to false, the verification process of nmstate do exact equal
check on IP address.
Ignored when serializing.
Deserialize from allow-extra-address
.
auto_route_metric: Option<u32>
Metric for routes retrieved from DHCP server.
Only available for autoconf enabled interface.
Deserialize from auto-route-metric
.
token: Option<String>
IETF draft(expired) Tokenised IPv6 Identifiers. Should be only containing the tailing 64 bites for IPv6 address.
dhcp_send_hostname: Option<bool>
Whether to include hostname in DHCP request in
Fully Qualified Domain Name (FQDN)
option(39) defined in RFC 4704.
If not defined, set to True when DHCPv6 enabled.
Deserialize from dhcp-send-hostname
dhcp_custom_hostname: Option<String>
Custom string to override hostname used for DHCP request in
Fully Qualified Domain Name (FQDN)
option(29) defined in RFC 4704.
If not defined, current non-dynamic hostname will be used.
Deserialize from dhcp-custom-hostname
Implementations§
source§impl InterfaceIpv6
impl InterfaceIpv6
Trait Implementations§
source§impl Clone for InterfaceIpv6
impl Clone for InterfaceIpv6
source§fn clone(&self) -> InterfaceIpv6
fn clone(&self) -> InterfaceIpv6
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for InterfaceIpv6
impl Debug for InterfaceIpv6
source§impl Default for InterfaceIpv6
impl Default for InterfaceIpv6
source§fn default() -> InterfaceIpv6
fn default() -> InterfaceIpv6
source§impl<'de> Deserialize<'de> for InterfaceIpv6
impl<'de> Deserialize<'de> for InterfaceIpv6
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
source§impl PartialEq for InterfaceIpv6
impl PartialEq for InterfaceIpv6
source§fn eq(&self, other: &InterfaceIpv6) -> bool
fn eq(&self, other: &InterfaceIpv6) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for InterfaceIpv6
impl Serialize for InterfaceIpv6
impl Eq for InterfaceIpv6
impl StructuralPartialEq for InterfaceIpv6
Auto Trait Implementations§
impl Freeze for InterfaceIpv6
impl RefUnwindSafe for InterfaceIpv6
impl Send for InterfaceIpv6
impl Sync for InterfaceIpv6
impl Unpin for InterfaceIpv6
impl UnwindSafe for InterfaceIpv6
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.