OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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, 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

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

Definition at line 30 of file bgp_attr_base.h.

Enumerator
Optional 
Transitive 
Partial 
ExtendedLength 

Definition at line 24 of file bgp_attr_base.h.

Enumerator
OList 
LabelBlock 
SourceRd 
Esi 
Params 
LeafOList 
SubProtocol 

Definition at line 52 of file bgp_attr_base.h.

Constructor & Destructor Documentation

BgpAttribute::BgpAttribute ( )
inline

Definition at line 62 of file bgp_attr_base.h.

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

Definition at line 63 of file bgp_attr_base.h.

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

Definition at line 65 of file bgp_attr_base.h.

Member Function Documentation

size_t BgpAttribute::EncodeLength ( ) const
virtual
uint8_t BgpAttribute::GetEncodeFlags ( ) const

Definition at line 57 of file bgp_attr_base.cc.

Here is the call graph for this function:

Member Data Documentation

uint8_t BgpAttribute::code

Definition at line 68 of file bgp_attr_base.h.

const uint8_t BgpAttribute::FLAG_MASK = Optional|Transitive
static

Definition at line 67 of file bgp_attr_base.h.

uint8_t BgpAttribute::flags

Definition at line 70 of file bgp_attr_base.h.

uint8_t BgpAttribute::subcode

Definition at line 69 of file bgp_attr_base.h.


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