|
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 |
Public Member Functions inherited from BgpAttribute | |
| BgpAttribute () | |
| BgpAttribute (uint8_t code, uint8_t flags) | |
| BgpAttribute (uint8_t code, uint8_t subcode, uint8_t flags) | |
| uint8_t | GetEncodeFlags () const |
Public Member Functions inherited from ParseObject | |
| virtual | ~ParseObject () |
Static Public Member Functions | |
| static bool | AsIsPrivate (as2_t as) |
Public Attributes | |
| std::vector< PathSegment * > | path_segments |
Public Attributes inherited from BgpAttribute | |
| 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 Public Attributes inherited from BgpAttribute | |
| static const uint8_t | FLAG_MASK = Optional|Transitive |
Additional Inherited Members | |
Public Types inherited from BgpAttribute | |
| 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 , LargeCommunities = 32 , 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.