OpenSDN source code
PmsiTunnelSpec Struct Reference

#include <bgp_attr.h>

Inheritance diagram for PmsiTunnelSpec:
Collaboration diagram for PmsiTunnelSpec:

Public Types

enum  Flags { LeafInfoRequired = 1 << 0 , AssistedReplicationType = 3 << 3 , EdgeReplicationSupported = 1 << 7 }
 
enum  ARType { RegularNVE = 0 << 3 , ARReplicator = 1 << 3 , ARLeaf = 2 << 3 }
 
enum  Type {
  NoTunnelInfo = 0 , RsvpP2mpLsp = 1 , LdpP2mpLsp = 2 , PimSsmTree = 3 ,
  PimSmTree = 4 , BidirPimTree = 5 , IngressReplication = 6 , MldpMp2mpLsp = 7 ,
  AssistedReplicationContrail = 252
}
 
- 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
}
 

Public Member Functions

 PmsiTunnelSpec ()
 
 PmsiTunnelSpec (const BgpAttribute &rhs)
 
virtual int CompareTo (const BgpAttribute &rhs_attr) const
 
virtual void ToCanonical (BgpAttr *attr)
 
virtual std::string ToString () const
 
uint32_t GetLabel (const ExtCommunity *ext) const
 
void SetLabel (uint32_t label, const ExtCommunity *ext)
 
Ip4Address GetIdentifier () const
 
void SetIdentifier (Ip4Address identifier)
 
std::string GetTunnelTypeString () const
 
std::string GetTunnelArTypeString () const
 
std::vector< std::string > GetTunnelFlagsStrings () 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)
 
virtual size_t EncodeLength () const
 
uint8_t GetEncodeFlags () const
 
- Public Member Functions inherited from ParseObject
virtual ~ParseObject ()
 

Public Attributes

uint8_t tunnel_flags
 
uint8_t tunnel_type
 
uint32_t label
 
std::vector< uint8_t > identifier
 
- 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
 

Detailed Description

Definition at line 314 of file bgp_attr.h.

Member Enumeration Documentation

◆ ARType

Enumerator
RegularNVE 
ARReplicator 
ARLeaf 

Definition at line 321 of file bgp_attr.h.

◆ Flags

Enumerator
LeafInfoRequired 
AssistedReplicationType 
EdgeReplicationSupported 

Definition at line 315 of file bgp_attr.h.

◆ Type

Enumerator
NoTunnelInfo 
RsvpP2mpLsp 
LdpP2mpLsp 
PimSsmTree 
PimSmTree 
BidirPimTree 
IngressReplication 
MldpMp2mpLsp 
AssistedReplicationContrail 

Definition at line 327 of file bgp_attr.h.

Constructor & Destructor Documentation

◆ PmsiTunnelSpec() [1/2]

PmsiTunnelSpec::PmsiTunnelSpec ( )

Definition at line 285 of file bgp_attr.cc.

◆ PmsiTunnelSpec() [2/2]

PmsiTunnelSpec::PmsiTunnelSpec ( const BgpAttribute rhs)
explicit

Definition at line 290 of file bgp_attr.cc.

Member Function Documentation

◆ CompareTo()

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

Reimplemented from BgpAttribute.

Definition at line 294 of file bgp_attr.cc.

Here is the call graph for this function:

◆ GetIdentifier()

Ip4Address PmsiTunnelSpec::GetIdentifier ( ) const

Definition at line 334 of file bgp_attr.cc.

Here is the call graph for this function:

◆ GetLabel()

uint32_t PmsiTunnelSpec::GetLabel ( const ExtCommunity ext) const

Definition at line 322 of file bgp_attr.cc.

Here is the call graph for this function:

◆ GetTunnelArTypeString()

string PmsiTunnelSpec::GetTunnelArTypeString ( ) const

Definition at line 372 of file bgp_attr.cc.

◆ GetTunnelFlagsStrings()

vector< string > PmsiTunnelSpec::GetTunnelFlagsStrings ( ) const

Definition at line 386 of file bgp_attr.cc.

◆ GetTunnelTypeString()

string PmsiTunnelSpec::GetTunnelTypeString ( ) const

Definition at line 346 of file bgp_attr.cc.

◆ SetIdentifier()

void PmsiTunnelSpec::SetIdentifier ( Ip4Address  identifier)

Definition at line 340 of file bgp_attr.cc.

◆ SetLabel()

void PmsiTunnelSpec::SetLabel ( uint32_t  label,
const ExtCommunity ext 
)

Definition at line 328 of file bgp_attr.cc.

Here is the call graph for this function:

◆ ToCanonical()

void PmsiTunnelSpec::ToCanonical ( BgpAttr attr)
virtual

Reimplemented from BgpAttribute.

Definition at line 305 of file bgp_attr.cc.

Here is the call graph for this function:

◆ ToString()

string PmsiTunnelSpec::ToString ( ) const
virtual

Reimplemented from BgpAttribute.

Definition at line 309 of file bgp_attr.cc.

Here is the call graph for this function:

Member Data Documentation

◆ identifier

std::vector<uint8_t> PmsiTunnelSpec::identifier

Definition at line 361 of file bgp_attr.h.

◆ kFlags

const uint8_t PmsiTunnelSpec::kFlags = Optional | Transitive
static

Definition at line 340 of file bgp_attr.h.

◆ kSize

const int PmsiTunnelSpec::kSize = -1
static

Definition at line 339 of file bgp_attr.h.

◆ label

uint32_t PmsiTunnelSpec::label

Definition at line 360 of file bgp_attr.h.

◆ tunnel_flags

uint8_t PmsiTunnelSpec::tunnel_flags

Definition at line 358 of file bgp_attr.h.

◆ tunnel_type

uint8_t PmsiTunnelSpec::tunnel_type

Definition at line 359 of file bgp_attr.h.


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