#[non_exhaustive]pub struct Routes {
pub running: Option<Vec<RouteEntry>>,
pub config: Option<Vec<RouteEntry>>,
}
Expand description
IP routing status
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.running: Option<Vec<RouteEntry>>
Running effected routes containing route from universe or link scope, and only from these protocols:
- boot (often used by
iproute
command) - static
- ra
- dhcp
- mrouted
- keepalived
- babel
Ignored when applying.
config: Option<Vec<RouteEntry>>
Static routes containing route from universe or link scope, and only from these protocols:
- boot (often used by
iproute
command) - static
When applying, None
means preserve current routes.
This property is not overriding but adding specified routes to
existing routes. To delete a route entry, please [RouteEntry.state] as
RouteState::Absent. Any property of absent RouteEntry set to
None
means wildcard. For example, this crate::NetworkState could
remove all routes next hop to interface eth1(showing in yaml):
routes:
config:
- next-hop-interface: eth1
state: absent
To change a route entry, you need to delete old one and add new one(can be in single transaction).
Implementations§
Trait Implementations§
source§impl<'de> Deserialize<'de> for Routes
impl<'de> Deserialize<'de> for Routes
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Routes
impl StructuralPartialEq for Routes
Auto Trait Implementations§
impl Freeze for Routes
impl RefUnwindSafe for Routes
impl Send for Routes
impl Sync for Routes
impl Unpin for Routes
impl UnwindSafe for Routes
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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
Compare self to
key
and return true
if they are equal.