OpenSDN source code
AsPath4ByteSpec Struct Reference

#include <bgp_aspath.h>

Inheritance diagram for AsPath4ByteSpec:
Collaboration diagram for AsPath4ByteSpec:

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
 
AsPath4ByteSpecAdd (as_t asn) const
 
AsPath4ByteSpecAdd (const std::vector< as_t > &asn_list) const
 
AsPath4ByteSpecReplace (as_t old_asn, as_t asn) const
 
AsPath4ByteSpecRemovePrivate (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
 
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 181 of file bgp_aspath.h.

Constructor & Destructor Documentation

◆ AsPath4ByteSpec() [1/3]

AsPath4ByteSpec::AsPath4ByteSpec ( )
inline

Definition at line 189 of file bgp_aspath.h.

◆ AsPath4ByteSpec() [2/3]

AsPath4ByteSpec::AsPath4ByteSpec ( const BgpAttribute rhs)
inlineexplicit

Definition at line 190 of file bgp_aspath.h.

◆ AsPath4ByteSpec() [3/3]

AsPath4ByteSpec::AsPath4ByteSpec ( const AsPath4ByteSpec rhs)
inlineexplicit

Definition at line 191 of file bgp_aspath.h.

◆ ~AsPath4ByteSpec()

AsPath4ByteSpec::~AsPath4ByteSpec ( )
inline

Definition at line 199 of file bgp_aspath.h.

Here is the call graph for this function:

Member Function Documentation

◆ Add() [1/2]

AsPath4ByteSpec * AsPath4ByteSpec::Add ( as_t  asn) const

Definition at line 392 of file bgp_aspath.cc.

◆ Add() [2/2]

AsPath4ByteSpec* AsPath4ByteSpec::Add ( const std::vector< as_t > &  asn_list) const

◆ AsIsPrivate()

static bool AsPath4ByteSpec::AsIsPrivate ( as_t  as)
inlinestatic

Definition at line 221 of file bgp_aspath.h.

◆ AsLeftMost()

as_t AsPath4ByteSpec::AsLeftMost ( ) const

Definition at line 283 of file bgp_aspath.cc.

◆ AsLeftMostMatch()

bool AsPath4ByteSpec::AsLeftMostMatch ( as_t  as) const

Definition at line 296 of file bgp_aspath.cc.

◆ AsLeftMostPublic()

as_t AsPath4ByteSpec::AsLeftMostPublic ( ) const

Definition at line 307 of file bgp_aspath.cc.

Here is the call graph for this function:

◆ AsPathLoop()

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

Definition at line 376 of file bgp_aspath.cc.

◆ CompareTo()

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

Reimplemented from BgpAttribute.

Definition at line 318 of file bgp_aspath.cc.

Here is the call graph for this function:

◆ EncodeLength()

size_t AsPath4ByteSpec::EncodeLength ( ) const
virtual

Reimplemented from BgpAttribute.

Definition at line 363 of file bgp_aspath.cc.

◆ RemovePrivate()

AsPath4ByteSpec * AsPath4ByteSpec::RemovePrivate ( bool  all,
as_t  asn,
as_t  peer_as 
) const

Definition at line 454 of file bgp_aspath.cc.

Here is the call graph for this function:

◆ Replace()

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

Definition at line 432 of file bgp_aspath.cc.

Here is the call graph for this function:

◆ ToCanonical()

void AsPath4ByteSpec::ToCanonical ( BgpAttr attr)
virtual

Reimplemented from BgpAttribute.

Definition at line 331 of file bgp_aspath.cc.

Here is the call graph for this function:

◆ ToString()

string AsPath4ByteSpec::ToString ( ) const
virtual

Reimplemented from BgpAttribute.

Definition at line 335 of file bgp_aspath.cc.

Member Data Documentation

◆ kFlags

const uint8_t AsPath4ByteSpec::kFlags = Transitive
static

Definition at line 183 of file bgp_aspath.h.

◆ kMaxPrivateAs

const as_t AsPath4ByteSpec::kMaxPrivateAs = 65534
static

Definition at line 185 of file bgp_aspath.h.

◆ kMaxPrivateAs4

const as_t AsPath4ByteSpec::kMaxPrivateAs4 = 4294967294
static

Definition at line 187 of file bgp_aspath.h.

◆ kMinPrivateAs

const as_t AsPath4ByteSpec::kMinPrivateAs = 64512
static

Definition at line 184 of file bgp_aspath.h.

◆ kMinPrivateAs4

const as_t AsPath4ByteSpec::kMinPrivateAs4 = 4200000000
static

Definition at line 186 of file bgp_aspath.h.

◆ kSize

const int AsPath4ByteSpec::kSize = -1
static

Definition at line 182 of file bgp_aspath.h.

◆ path_segments

std::vector<PathSegment *> AsPath4ByteSpec::path_segments

Definition at line 235 of file bgp_aspath.h.


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