OpenSDN source code
ExtCommunitySpec Class Reference

#include <community.h>

Inheritance diagram for ExtCommunitySpec:
Collaboration diagram for ExtCommunitySpec:

Public Member Functions

 ExtCommunitySpec ()
 
 ExtCommunitySpec (const BgpAttribute &rhs)
 
virtual size_t EncodeLength () const
 
void AddTunnelEncaps (std::vector< std::string > encaps)
 
virtual int CompareTo (const BgpAttribute &rhs_attr) const
 
virtual void ToCanonical (BgpAttr *attr)
 
virtual std::string ToString () 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 ()
 

Public Attributes

std::vector< uint64_t > communities
 
- 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 = Optional | Transitive
 
- 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 136 of file community.h.

Constructor & Destructor Documentation

◆ ExtCommunitySpec() [1/2]

ExtCommunitySpec::ExtCommunitySpec ( )
inline

Definition at line 140 of file community.h.

◆ ExtCommunitySpec() [2/2]

ExtCommunitySpec::ExtCommunitySpec ( const BgpAttribute rhs)
inlineexplicit

Definition at line 141 of file community.h.

Member Function Documentation

◆ AddTunnelEncaps()

void ExtCommunitySpec::AddTunnelEncaps ( std::vector< std::string >  encaps)

Definition at line 213 of file community.cc.

Here is the call graph for this function:

◆ CompareTo()

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

Reimplemented from BgpAttribute.

Definition at line 201 of file community.cc.

Here is the call graph for this function:

◆ EncodeLength()

size_t ExtCommunitySpec::EncodeLength ( ) const
virtual

Reimplemented from BgpAttribute.

Definition at line 197 of file community.cc.

◆ ToCanonical()

void ExtCommunitySpec::ToCanonical ( BgpAttr attr)
virtual

Reimplemented from BgpAttribute.

Definition at line 209 of file community.cc.

Here is the call graph for this function:

◆ ToString()

string ExtCommunitySpec::ToString ( ) const
virtual

Reimplemented from BgpAttribute.

Definition at line 190 of file community.cc.

Member Data Documentation

◆ communities

std::vector<uint64_t> ExtCommunitySpec::communities

Definition at line 143 of file community.h.

◆ kFlags

const uint8_t ExtCommunitySpec::kFlags = Optional | Transitive
static

Definition at line 139 of file community.h.

◆ kSize

const int ExtCommunitySpec::kSize = -1
static

Definition at line 138 of file community.h.


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