pub enum PathAttribute {
Show 33 variants
ORIGIN(Origin),
AS_PATH(ASPath),
NEXT_HOP(IpAddr),
MULTI_EXIT_DISC(u32),
LOCAL_PREF(u32),
ATOMIC_AGGREGATOR,
AGGREGATOR((u32, Ipv4Addr)),
COMMUNITY(Vec<u32>),
ORIGINATOR_ID(u32),
CLUSTER_LIST(Vec<u32>),
DPA((u16, u32)),
ADVERTISER,
CLUSTER_ID,
MP_REACH_NLRI(MPReachNLRI),
MP_UNREACH_NLRI(MPUnreachNLRI),
EXTENDED_COMMUNITIES(Vec<u64>),
AS4_PATH(ASPath),
AS4_AGGREGATOR((u32, Ipv4Addr)),
SSA,
CONNECTOR(Ipv4Addr),
AS_PATHLIMIT((u8, u32)),
PMSI_TUNNEL((u8, u32, Vec<u8>)),
TUNNEL_ENCAPSULATION((u16, Vec<u8>)),
TRAFFIC_ENGINEERING,
IPV6_SPECIFIC_EXTENDED_COMMUNITY((u8, u8, Ipv6Addr, u16)),
AIGP((u8, Vec<u8>)),
PE_DISTINGUISHER_LABELS,
ENTROPY_LABEL_CAPABILITY,
BGP_LS,
LARGE_COMMUNITY(Vec<(u32, u32, u32)>),
BGPSEC_PATH,
BGP_PREFIX_SID,
ATTR_SET((u32, Vec<PathAttribute>)),
}
Expand description
Represents a path attribute that described meta data of a specific route.
Variants§
ORIGIN(Origin)
Indicates how an UPDATE message has been generated. Defined in RFC4271.
AS_PATH(ASPath)
Represents the path through which an UPDATE message traveled. Defined in RFC4271.
NEXT_HOP(IpAddr)
Indicates IP address that is to be used as a next hop. Defined in RFC4271.
MULTI_EXIT_DISC(u32)
Used to discriminate between multiple exit or entry points. Defined in RFC4271.
LOCAL_PREF(u32)
Represents the degree of preference for internal routes. Defined in RFC4271.
ATOMIC_AGGREGATOR
May be used when a route has been aggregated. Defined in RFC4271.
AGGREGATOR((u32, Ipv4Addr))
May be used to add information on who aggregated this route. Defined in RFC4271.
COMMUNITY(Vec<u32>)
Enables users to add extra information. Defined in RFC1997.
ORIGINATOR_ID(u32)
Defined in RFC4456.
CLUSTER_LIST(Vec<u32>)
Defined in RFC4456. Holds a list of CLUSTER_IDs.
DPA((u16, u32))
Defined in RFC6938. (deprecated) Tuple represents the (ASN specifying the preference, DPA value).
ADVERTISER
Defined in RFC6938. (deprecated)
CLUSTER_ID
Defined in RFC6938. (deprecated)
MP_REACH_NLRI(MPReachNLRI)
Multi-protocol extensions. Defined in RFC4760.
MP_UNREACH_NLRI(MPUnreachNLRI)
Multi-protocol extensions. Defined in RFC4760.
EXTENDED_COMMUNITIES(Vec<u64>)
Defined in RFC4360.
AS4_PATH(ASPath)
AS_PATH using 32-bit ASN. Defined in RFC6793.
AS4_AGGREGATOR((u32, Ipv4Addr))
AGGREGATOR using 32-bit ASN. Defined in RFC6793.
SSA
SAFI Specific Attribute (deprecated).
CONNECTOR(Ipv4Addr)
Defined in RFC6037. (deprecated)
AS_PATHLIMIT((u8, u32))
Defined here. (deprecated)
PMSI_TUNNEL((u8, u32, Vec<u8>))
Defined in RFC6514. Specifies the (Flags, Tunnel Type + MPLS Label, Tunnel Identifier) fields.
TUNNEL_ENCAPSULATION((u16, Vec<u8>))
Defined in RFC5512. Specifies the (Tunnel Type, Value) fields.
TRAFFIC_ENGINEERING
Defined in RFC5543.
IPV6_SPECIFIC_EXTENDED_COMMUNITY((u8, u8, Ipv6Addr, u16))
Defined in RFC5701. Specifies the (Transitive, Sub-type, Global Administrator, Local Administrator) fields.
AIGP((u8, Vec<u8>))
Defined in RFC7311. Specifies the (Type, Value) fields.
PE_DISTINGUISHER_LABELS
Defined in RFC6514.
ENTROPY_LABEL_CAPABILITY
Defined in RFC6790.
BGP_LS
Defined in RFC7752. (deprecated)
LARGE_COMMUNITY(Vec<(u32, u32, u32)>)
Defined in RFC8092.
BGPSEC_PATH
Defined in RFC8205.
BGP_PREFIX_SID
Defined here.
ATTR_SET((u32, Vec<PathAttribute>))
Defined in RFC6368.
Implementations§
Source§impl PathAttribute
impl PathAttribute
Sourcepub fn parse(
stream: &mut impl Read,
capabilities: &Capabilities,
) -> Result<PathAttribute, Error>
pub fn parse( stream: &mut impl Read, capabilities: &Capabilities, ) -> Result<PathAttribute, Error>
Sourcepub fn id(&self) -> Identifier
pub fn id(&self) -> Identifier
Retrieve the identifier belonging to this PathAttribute
Trait Implementations§
Source§impl Clone for PathAttribute
impl Clone for PathAttribute
Source§fn clone(&self) -> PathAttribute
fn clone(&self) -> PathAttribute
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more