OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
As4PathSpec Struct Reference

#include <bgp_aspath.h>

Inheritance diagram for As4PathSpec:
Collaboration diagram for As4PathSpec:

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
 
As4PathSpecAdd (as_t asn) const
 
As4PathSpecAdd (const std::vector< as_t > &asn_list) const
 
As4PathSpecReplace (as_t old_asn, as_t asn) const
 
As4PathSpecRemovePrivate (bool all, as_t asn, as_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 (as_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|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 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, McastEdgeDiscovery = 241, McastEdgeForwarding = 242, OriginVnPath = 243
}
 
enum  Subcode {
  OList = 1, LabelBlock = 2, SourceRd = 3, Esi = 4,
  Params = 5, LeafOList = 6, SubProtocol = 7
}
 

Detailed Description

Definition at line 341 of file bgp_aspath.h.

Constructor & Destructor Documentation

As4PathSpec::As4PathSpec ( )
inline

Definition at line 349 of file bgp_aspath.h.

As4PathSpec::As4PathSpec ( const BgpAttribute rhs)
inlineexplicit

Definition at line 350 of file bgp_aspath.h.

As4PathSpec::As4PathSpec ( const As4PathSpec rhs)
inlineexplicit

Definition at line 351 of file bgp_aspath.h.

As4PathSpec::~As4PathSpec ( )
inline

Definition at line 359 of file bgp_aspath.h.

Here is the call graph for this function:

Member Function Documentation

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
static bool As4PathSpec::AsIsPrivate ( as_t  as)
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

Definition at line 533 of file bgp_aspath.cc.

Here is the call graph for this function:

bool As4PathSpec::AsPathLoop ( as_t  as,
uint8_t  max_loop_count = 0 
) const

Definition at line 602 of file bgp_aspath.cc.

int As4PathSpec::CompareTo ( const BgpAttribute rhs_attr) const
virtual

Reimplemented from BgpAttribute.

Definition at line 544 of file bgp_aspath.cc.

Here is the call graph for this function:

size_t As4PathSpec::EncodeLength ( ) const
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

Definition at line 680 of file bgp_aspath.cc.

Here is the call graph for this function:

As4PathSpec * As4PathSpec::Replace ( as_t  old_asn,
as_t  asn 
) const

Definition at line 658 of file bgp_aspath.cc.

Here is the call graph for this function:

void As4PathSpec::ToCanonical ( BgpAttr attr)
virtual

Reimplemented from BgpAttribute.

Definition at line 557 of file bgp_aspath.cc.

Here is the call graph for this function:

string As4PathSpec::ToString ( ) const
virtual

Reimplemented from BgpAttribute.

Definition at line 561 of file bgp_aspath.cc.

Member Data Documentation

const uint8_t As4PathSpec::kFlags = Transitive|Optional
static

Definition at line 343 of file bgp_aspath.h.

const as_t As4PathSpec::kMaxPrivateAs = 65534
static

Definition at line 345 of file bgp_aspath.h.

const as_t As4PathSpec::kMaxPrivateAs4 = 4294967294
static

Definition at line 347 of file bgp_aspath.h.

const as_t As4PathSpec::kMinPrivateAs = 64512
static

Definition at line 344 of file bgp_aspath.h.

const as_t As4PathSpec::kMinPrivateAs4 = 4200000000
static

Definition at line 346 of file bgp_aspath.h.

const int As4PathSpec::kSize = -1
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.


The documentation for this struct was generated from the following files: