OpenSDN source code
|
#include <bgp_aspath.h>
Classes | |
struct | PathSegment |
Public Member Functions | |
AsPathSpec () | |
AsPathSpec (const BgpAttribute &rhs) | |
AsPathSpec (const AsPathSpec &rhs) | |
~AsPathSpec () | |
as2_t | AsLeftMost () const |
bool | AsLeftMostMatch (as2_t as) const |
as2_t | AsLeftMostPublic () const |
bool | AsPathLoop (as2_t as, uint8_t max_loop_count=0) const |
virtual int | CompareTo (const BgpAttribute &rhs_attr) const |
virtual void | ToCanonical (BgpAttr *attr) |
virtual size_t | EncodeLength () const |
virtual std::string | ToString () const |
AsPathSpec * | Add (as2_t asn) const |
AsPathSpec * | Add (const std::vector< as2_t > &asn_list) const |
AsPathSpec * | Add (const std::vector< as_t > &asn_list) const |
AsPathSpec * | Replace (as2_t old_asn, as2_t asn) const |
AsPathSpec * | RemovePrivate (bool all, as2_t asn, as2_t peer_as) const |
![]() | |
BgpAttribute () | |
BgpAttribute (uint8_t code, uint8_t flags) | |
BgpAttribute (uint8_t code, uint8_t subcode, uint8_t flags) | |
uint8_t | GetEncodeFlags () const |
![]() | |
virtual | ~ParseObject () |
Static Public Member Functions | |
static bool | AsIsPrivate (as2_t as) |
Public Attributes | |
std::vector< PathSegment * > | path_segments |
![]() | |
uint8_t | code |
uint8_t | subcode |
uint8_t | flags |
Static Public Attributes | |
static const int | kSize = -1 |
static const uint8_t | kFlags = Transitive |
static const as2_t | kMinPrivateAs = 64512 |
static const as2_t | kMaxPrivateAs = 65534 |
![]() | |
static const uint8_t | FLAG_MASK = Optional|Transitive |
Additional Inherited Members | |
![]() | |
enum | Flag { Optional = 1 << 7, Transitive = 1 << 6, Partial = 1 << 5, ExtendedLength = 1 << 4 } |
enum | Code { Reserved = 0, Origin = 1, AsPath = 2, NextHop = 3, MultiExitDisc = 4, LocalPref = 5, AtomicAggregate = 6, Aggregator = 7, Communities = 8, OriginatorId = 9, ClusterList = 10, MPReachNlri = 14, MPUnreachNlri = 15, ExtendedCommunities = 16, As4Path = 17, As4Aggregator = 18, PmsiTunnel = 22, McastEdgeDiscovery = 241, McastEdgeForwarding = 242, OriginVnPath = 243 } |
enum | Subcode { OList = 1, LabelBlock = 2, SourceRd = 3, Esi = 4, Params = 5, LeafOList = 6, SubProtocol = 7 } |
Definition at line 27 of file bgp_aspath.h.
|
inline |
Definition at line 33 of file bgp_aspath.h.
|
inlineexplicit |
Definition at line 34 of file bgp_aspath.h.
|
inlineexplicit |
Definition at line 35 of file bgp_aspath.h.
|
inline |
AsPathSpec * AsPathSpec::Add | ( | as2_t | asn | ) | const |
Definition at line 130 of file bgp_aspath.cc.
AsPathSpec* AsPathSpec::Add | ( | const std::vector< as2_t > & | asn_list | ) | const |
AsPathSpec* AsPathSpec::Add | ( | const std::vector< as_t > & | asn_list | ) | const |
|
inlinestatic |
Definition at line 65 of file bgp_aspath.h.
as2_t AsPathSpec::AsLeftMost | ( | ) | const |
Definition at line 21 of file bgp_aspath.cc.
bool AsPathSpec::AsLeftMostMatch | ( | as2_t | as | ) | const |
Definition at line 34 of file bgp_aspath.cc.
as2_t AsPathSpec::AsLeftMostPublic | ( | ) | const |
bool AsPathSpec::AsPathLoop | ( | as2_t | as, |
uint8_t | max_loop_count = 0 |
||
) | const |
Definition at line 114 of file bgp_aspath.cc.
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 56 of file bgp_aspath.cc.
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 101 of file bgp_aspath.cc.
AsPathSpec * AsPathSpec::RemovePrivate | ( | bool | all, |
as2_t | asn, | ||
as2_t | peer_as | ||
) | const |
AsPathSpec * AsPathSpec::Replace | ( | as2_t | old_asn, |
as2_t | asn | ||
) | const |
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 69 of file bgp_aspath.cc.
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 73 of file bgp_aspath.cc.
|
static |
Definition at line 29 of file bgp_aspath.h.
|
static |
Definition at line 31 of file bgp_aspath.h.
|
static |
Definition at line 30 of file bgp_aspath.h.
|
static |
Definition at line 28 of file bgp_aspath.h.
std::vector<PathSegment *> AsPathSpec::path_segments |
Definition at line 79 of file bgp_aspath.h.