OpenSDN source code
|
#include <bgp_aspath.h>
Classes | |
struct | PathSegment |
Public Member Functions | |
AsPath4ByteSpec () | |
AsPath4ByteSpec (const BgpAttribute &rhs) | |
AsPath4ByteSpec (const AsPath4ByteSpec &rhs) | |
~AsPath4ByteSpec () | |
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 |
AsPath4ByteSpec * | Add (as_t asn) const |
AsPath4ByteSpec * | Add (const std::vector< as_t > &asn_list) const |
AsPath4ByteSpec * | Replace (as_t old_asn, as_t asn) const |
AsPath4ByteSpec * | 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 |
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 181 of file bgp_aspath.h.
|
inline |
Definition at line 189 of file bgp_aspath.h.
|
inlineexplicit |
Definition at line 190 of file bgp_aspath.h.
|
inlineexplicit |
Definition at line 191 of file bgp_aspath.h.
|
inline |
AsPath4ByteSpec * AsPath4ByteSpec::Add | ( | as_t | asn | ) | const |
Definition at line 392 of file bgp_aspath.cc.
AsPath4ByteSpec* AsPath4ByteSpec::Add | ( | const std::vector< as_t > & | asn_list | ) | const |
|
inlinestatic |
Definition at line 221 of file bgp_aspath.h.
as_t AsPath4ByteSpec::AsLeftMost | ( | ) | const |
Definition at line 283 of file bgp_aspath.cc.
bool AsPath4ByteSpec::AsLeftMostMatch | ( | as_t | as | ) | const |
Definition at line 296 of file bgp_aspath.cc.
as_t AsPath4ByteSpec::AsLeftMostPublic | ( | ) | const |
bool AsPath4ByteSpec::AsPathLoop | ( | as_t | as, |
uint8_t | max_loop_count = 0 |
||
) | const |
Definition at line 376 of file bgp_aspath.cc.
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 318 of file bgp_aspath.cc.
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 363 of file bgp_aspath.cc.
AsPath4ByteSpec * AsPath4ByteSpec::RemovePrivate | ( | bool | all, |
as_t | asn, | ||
as_t | peer_as | ||
) | const |
AsPath4ByteSpec * AsPath4ByteSpec::Replace | ( | as_t | old_asn, |
as_t | asn | ||
) | const |
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 331 of file bgp_aspath.cc.
|
virtual |
Reimplemented from BgpAttribute.
Definition at line 335 of file bgp_aspath.cc.
|
static |
Definition at line 183 of file bgp_aspath.h.
|
static |
Definition at line 185 of file bgp_aspath.h.
|
static |
Definition at line 187 of file bgp_aspath.h.
|
static |
Definition at line 184 of file bgp_aspath.h.
|
static |
Definition at line 186 of file bgp_aspath.h.
|
static |
Definition at line 182 of file bgp_aspath.h.
std::vector<PathSegment *> AsPath4ByteSpec::path_segments |
Definition at line 235 of file bgp_aspath.h.