OpenSDN source code
|
#include <bgp_aspath.h>
Classes | |
struct | PathSegment |
Public Member Functions | |
As4PathSpec () | |
As4PathSpec (const BgpAttribute &rhs) | |
As4PathSpec (const As4PathSpec &rhs) | |
~As4PathSpec () | |
as_t | AsLeftMost () const |
bool | AsLeftMostMatch (as_t as) const |
as_t | AsLeftMostPublic () const |
bool | AsPathLoop (as_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 |
As4PathSpec * | Add (as_t asn) const |
As4PathSpec * | Add (const std::vector< as_t > &asn_list) const |
As4PathSpec * | Replace (as_t old_asn, as_t asn) const |
As4PathSpec * | RemovePrivate (bool all, as_t asn, as_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 (as_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|Optional |
static const as_t | kMinPrivateAs = 64512 |
static const as_t | kMaxPrivateAs = 65534 |
static const as_t | kMinPrivateAs4 = 4200000000 |
static const as_t | kMaxPrivateAs4 = 4294967294 |
![]() | |
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 341 of file bgp_aspath.h.
|
inline |
Definition at line 349 of file bgp_aspath.h.
|
inlineexplicit |
Definition at line 350 of file bgp_aspath.h.
|
inlineexplicit |
Definition at line 351 of file bgp_aspath.h.
|
inline |
As4PathSpec * As4PathSpec::Add | ( | as_t | asn | ) | const |
Definition at line 618 of file bgp_aspath.cc.
As4PathSpec* As4PathSpec::Add | ( | const std::vector< as_t > & | asn_list | ) | const |
|
inlinestatic |
Definition at line 381 of file bgp_aspath.h.
as_t As4PathSpec::AsLeftMost | ( | ) | const |
Definition at line 509 of file bgp_aspath.cc.
bool As4PathSpec::AsLeftMostMatch | ( | as_t | as | ) | const |
Definition at line 522 of file bgp_aspath.cc.
as_t As4PathSpec::AsLeftMostPublic | ( | ) | const |
bool As4PathSpec::AsPathLoop | ( | as_t | as, |
uint8_t | max_loop_count = 0 |
||
) | const |
Definition at line 602 of file bgp_aspath.cc.
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 544 of file bgp_aspath.cc.
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 589 of file bgp_aspath.cc.
As4PathSpec * As4PathSpec::RemovePrivate | ( | bool | all, |
as_t | asn, | ||
as_t | peer_as | ||
) | const |
As4PathSpec * As4PathSpec::Replace | ( | as_t | old_asn, |
as_t | asn | ||
) | const |
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 557 of file bgp_aspath.cc.
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 561 of file bgp_aspath.cc.
|
static |
Definition at line 343 of file bgp_aspath.h.
|
static |
Definition at line 345 of file bgp_aspath.h.
|
static |
Definition at line 347 of file bgp_aspath.h.
|
static |
Definition at line 344 of file bgp_aspath.h.
|
static |
Definition at line 346 of file bgp_aspath.h.
|
static |
Definition at line 342 of file bgp_aspath.h.
std::vector<PathSegment *> As4PathSpec::path_segments |
Definition at line 395 of file bgp_aspath.h.