pub struct ExtendedNextHopCapability {
pub entries: Vec<ExtendedNextHopEntry>,
}Expand description
Extended Next Hop capability - RFC 8950, Section 3 Contains a list of supported NLRI/NextHop AFI/SAFI combinations
Fields§
§entries: Vec<ExtendedNextHopEntry>List of supported AFI/SAFI combinations for extended next hop encoding
Implementations§
Source§impl ExtendedNextHopCapability
impl ExtendedNextHopCapability
Sourcepub fn new(entries: Vec<ExtendedNextHopEntry>) -> Self
pub fn new(entries: Vec<ExtendedNextHopEntry>) -> Self
Create a new Extended Next Hop capability with the given entries
Sourcepub fn supports(&self, nlri_afi: Afi, nlri_safi: Safi, nexthop_afi: Afi) -> bool
pub fn supports(&self, nlri_afi: Afi, nlri_safi: Safi, nexthop_afi: Afi) -> bool
Check if this capability supports a specific NLRI AFI/SAFI with NextHop AFI combination
Sourcepub fn supported_nlri_for_nexthop(&self, nexthop_afi: Afi) -> Vec<(Afi, Safi)>
pub fn supported_nlri_for_nexthop(&self, nexthop_afi: Afi) -> Vec<(Afi, Safi)>
Get all supported NLRI AFI/SAFI combinations for a given NextHop AFI
Sourcepub fn parse(data: Bytes) -> Result<Self, ParserError>
pub fn parse(data: Bytes) -> Result<Self, ParserError>
Parse Extended Next Hop capability from raw bytes - RFC 8950, Section 3
Format: Series of 6-byte entries, each containing:
- NLRI AFI (2 bytes)
- NLRI SAFI (2 bytes)
- NextHop AFI (2 bytes)
Trait Implementations§
Source§impl Clone for ExtendedNextHopCapability
impl Clone for ExtendedNextHopCapability
Source§fn clone(&self) -> ExtendedNextHopCapability
fn clone(&self) -> ExtendedNextHopCapability
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExtendedNextHopCapability
impl Debug for ExtendedNextHopCapability
impl Eq for ExtendedNextHopCapability
impl StructuralPartialEq for ExtendedNextHopCapability
Auto Trait Implementations§
impl Freeze for ExtendedNextHopCapability
impl RefUnwindSafe for ExtendedNextHopCapability
impl Send for ExtendedNextHopCapability
impl Sync for ExtendedNextHopCapability
impl Unpin for ExtendedNextHopCapability
impl UnwindSafe for ExtendedNextHopCapability
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§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.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more