OpenSDN source code
BgpAttribute Class Reference

#include <bgp_attr_base.h>

Inheritance diagram for BgpAttribute:
Collaboration diagram for BgpAttribute:

Public Types

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
}
 

Public Member Functions

 BgpAttribute ()
 
 BgpAttribute (uint8_t code, uint8_t flags)
 
 BgpAttribute (uint8_t code, uint8_t subcode, uint8_t flags)
 
virtual size_t EncodeLength () const
 
uint8_t GetEncodeFlags () const
 
virtual std::string ToString () const
 
virtual int CompareTo (const BgpAttribute &rhs) const
 
virtual void ToCanonical (BgpAttr *attr)
 
- Public Member Functions inherited from ParseObject
virtual ~ParseObject ()
 

Public Attributes

uint8_t code
 
uint8_t subcode
 
uint8_t flags
 

Static Public Attributes

static const uint8_t FLAG_MASK = Optional|Transitive
 

Detailed Description

Definition at line 22 of file bgp_attr_base.h.

Member Enumeration Documentation

◆ Code

Enumerator
Reserved 
Origin 
AsPath 
NextHop 
MultiExitDisc 
LocalPref 
AtomicAggregate 
Aggregator 
Communities 
OriginatorId 
ClusterList 
MPReachNlri 
MPUnreachNlri 
ExtendedCommunities 
As4Path 
As4Aggregator 
PmsiTunnel 
LargeCommunities 
McastEdgeDiscovery 
McastEdgeForwarding 
OriginVnPath 

Definition at line 30 of file bgp_attr_base.h.

◆ Flag

Enumerator
Optional 
Transitive 
Partial 
ExtendedLength 

Definition at line 24 of file bgp_attr_base.h.

◆ Subcode

Enumerator
OList 
LabelBlock 
SourceRd 
Esi 
Params 
LeafOList 
SubProtocol 

Definition at line 53 of file bgp_attr_base.h.

Constructor & Destructor Documentation

◆ BgpAttribute() [1/3]

BgpAttribute::BgpAttribute ( )
inline

Definition at line 63 of file bgp_attr_base.h.

◆ BgpAttribute() [2/3]

BgpAttribute::BgpAttribute ( uint8_t  code,
uint8_t  flags 
)
inline

Definition at line 64 of file bgp_attr_base.h.

◆ BgpAttribute() [3/3]

BgpAttribute::BgpAttribute ( uint8_t  code,
uint8_t  subcode,
uint8_t  flags 
)
inline

Definition at line 66 of file bgp_attr_base.h.

Member Function Documentation

◆ CompareTo()

◆ EncodeLength()

size_t BgpAttribute::EncodeLength ( ) const
virtual

◆ GetEncodeFlags()

uint8_t BgpAttribute::GetEncodeFlags ( ) const

Definition at line 57 of file bgp_attr_base.cc.

Here is the call graph for this function:

◆ ToCanonical()

◆ ToString()

Member Data Documentation

◆ code

uint8_t BgpAttribute::code

Definition at line 69 of file bgp_attr_base.h.

◆ FLAG_MASK

const uint8_t BgpAttribute::FLAG_MASK = Optional|Transitive
static

Definition at line 68 of file bgp_attr_base.h.

◆ flags

uint8_t BgpAttribute::flags

Definition at line 71 of file bgp_attr_base.h.

◆ subcode

uint8_t BgpAttribute::subcode

Definition at line 70 of file bgp_attr_base.h.


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