Enum nmstate::MptcpAddressFlag
source · #[non_exhaustive]
pub enum MptcpAddressFlag {
Signal,
Subflow,
Backup,
Fullmesh,
}
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Signal
The endpoint will be announced/signaled to each peer via an MPTCP ADD_ADDR sub-option. Upon reception of an ADD_ADDR sub-option, the peer can try to create additional subflows. Cannot used along with MptcpAddressFlag::Fullmesh as Linux kernel enforced.
Subflow
If additional subflow creation is allowed by the MPTCP limits, the MPTCP path manager will try to create an additional subflow using this endpoint as the source address after the MPTCP connection is established.
Backup
If this is a subflow endpoint, the subflows created using this endpoint will have the backup flag set during the connection process. This flag instructs the peer to only send data on a given subflow when all non-backup subflows are unavailable. This does not affect outgoing data, where subflow priority is determined by the backup/non-backup flag received from the peer.
Fullmesh
If this is a subflow endpoint and additional subflow creation is allowed by the MPTCP limits, the MPTCP path manager will try to create an additional subflow for each known peer address, using this endpoint as the source address. This will occur after the MPTCP connection is established. If the peer did not announce any additional addresses using the MPTCP ADD_ADDR sub-option, this will behave the same as a plain subflow endpoint. When the peer does announce addresses, each received ADD_ADDR sub-option will trigger creation of an additional subflow to generate a full mesh topology.
Trait Implementations
sourceimpl Clone for MptcpAddressFlag
impl Clone for MptcpAddressFlag
sourcefn clone(&self) -> MptcpAddressFlag
fn clone(&self) -> MptcpAddressFlag
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for MptcpAddressFlag
impl Debug for MptcpAddressFlag
sourceimpl<'de> Deserialize<'de> for MptcpAddressFlag
impl<'de> Deserialize<'de> for MptcpAddressFlag
sourcefn 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>,
sourceimpl Ord for MptcpAddressFlag
impl Ord for MptcpAddressFlag
sourcefn cmp(&self, other: &MptcpAddressFlag) -> Ordering
fn cmp(&self, other: &MptcpAddressFlag) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl PartialEq<MptcpAddressFlag> for MptcpAddressFlag
impl PartialEq<MptcpAddressFlag> for MptcpAddressFlag
sourcefn eq(&self, other: &MptcpAddressFlag) -> bool
fn eq(&self, other: &MptcpAddressFlag) -> bool
sourceimpl PartialOrd<MptcpAddressFlag> for MptcpAddressFlag
impl PartialOrd<MptcpAddressFlag> for MptcpAddressFlag
sourcefn partial_cmp(&self, other: &MptcpAddressFlag) -> Option<Ordering>
fn partial_cmp(&self, other: &MptcpAddressFlag) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresourceimpl Serialize for MptcpAddressFlag
impl Serialize for MptcpAddressFlag
sourceimpl TryFrom<MptcpAddressFlag> for MptcpAddressFlag
impl TryFrom<MptcpAddressFlag> for MptcpAddressFlag
type Error = NmstateError
type Error = NmstateError
sourcefn try_from(value: MptcpAddressFlag) -> Result<Self, NmstateError>
fn try_from(value: MptcpAddressFlag) -> Result<Self, NmstateError>
impl Copy for MptcpAddressFlag
impl Eq for MptcpAddressFlag
impl StructuralEq for MptcpAddressFlag
impl StructuralPartialEq for MptcpAddressFlag
Auto Trait Implementations
impl RefUnwindSafe for MptcpAddressFlag
impl Send for MptcpAddressFlag
impl Sync for MptcpAddressFlag
impl Unpin for MptcpAddressFlag
impl UnwindSafe for MptcpAddressFlag
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.