OpenSDN source code
MplsLabel Class Reference

#include <mpls.h>

Inheritance diagram for MplsLabel:
Collaboration diagram for MplsLabel:

Public Types

typedef DependencyList< AgentRoute, MplsLabelDependentPathList
 
typedef std::map< std::string, NextHopRefFmgVrfNhMap
 
- Public Types inherited from AgentDBEntry
typedef boost::intrusive_ptr< AgentDBEntryAgentDBEntyRef
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr< DBRequestKeyKeyPtr
 

Public Member Functions

 MplsLabel (Agent *agent, uint32_t label)
 
virtual ~MplsLabel ()
 
virtual bool IsLess (const DBEntry &rhs) const
 
virtual std::string ToString () const
 
virtual void SetKey (const DBRequestKey *key)
 
virtual KeyPtr GetDBRequestKey () const
 
virtual uint32_t GetRefCount () const
 
virtual bool DBEntrySandesh (Sandesh *sresp, std::string &name) const
 
void Add (const DBRequest *req)
 
bool Change (const DBRequest *req)
 
void Delete (const DBRequest *req)
 
bool ChangeInternal (const DBRequest *req)
 
bool ChangeNH (NextHop *nh)
 
void SyncDependentPath ()
 
bool IsFabricMulticastReservedLabel () const
 
void SendObjectLog (const AgentDBTable *table, AgentLogEvent::type event) const
 
uint32_t label () const
 
const NextHopnexthop () const
 
FmgVrfNhMapfmg_nh_list ()
 
- Public Member Functions inherited from AgentDBEntry
 AgentDBEntry ()
 
virtual ~AgentDBEntry ()
 
void SetRefState () const
 
void ClearRefState () const
 
bool IsActive () const
 
DBStateGetAgentDBEntryState (int listener_id)
 
const DBStateGetAgentDBEntryState (int listener_id) const
 
virtual void AllocateResources (ResourceManager *resource_manager)
 
virtual void FreeResources (ResourceManager *resource_manager)
 
virtual void PostAdd ()
 
- Public Member Functions inherited from DBEntry
 DBEntry ()
 
virtual ~DBEntry ()
 
bool operator< (const DBEntry &rhs) const
 
- Public Member Functions inherited from DBEntryBase
 DBEntryBase ()
 
virtual ~DBEntryBase ()
 
virtual bool IsMoreSpecific (const std::string &match) const
 
virtual bool IsLessSpecific (const std::string &match) const
 
void SetState (DBTableBase *tbl_base, ListenerId listener, DBState *state)
 
void ClearState (DBTableBase *tbl_base, ListenerId listener)
 
DBStateGetState (DBTableBase *tbl_base, ListenerId listener) const
 
const DBStateGetState (const DBTableBase *tbl_base, ListenerId listener) const
 
bool is_state_empty (DBTablePartBase *tpart)
 
bool is_state_empty_unlocked (DBTablePartBase *tpart)
 
void Delete ()
 
void MarkDelete ()
 
void ClearDelete ()
 
bool IsDeleted () const
 
void set_onlist ()
 
void clear_onlist ()
 
bool is_onlist ()
 
void SetOnRemoveQ ()
 
bool IsOnRemoveQ ()
 
void ClearOnRemoveQ ()
 
void set_last_change_at (uint64_t time)
 
void set_last_change_at_to_now ()
 
const uint64_t last_change_at () const
 
const std::string last_change_at_str () const
 
void set_last_update_at (uint64_t time)
 
void set_last_update_at_to_now ()
 
const uint64_t last_update_at () const
 
DBTablePartBaseget_table_partition () const
 
void set_table_partition (DBTablePartBase *tpart)
 
DBTableBaseget_table () const
 
void Notify ()
 

Private Member Functions

 DEPENDENCY_LIST (AgentRoute, MplsLabel, mpls_label_)
 
 DISALLOW_COPY_AND_ASSIGN (MplsLabel)
 
- Private Member Functions inherited from AgentRefCount< MplsLabel >
uint32_t GetRefCount () const
 
 AgentRefCount ()
 
 AgentRefCount (const AgentRefCount &)
 
AgentRefCountoperator= (const AgentRefCount &)
 
virtual ~AgentRefCount ()
 
void swap (AgentRefCount &)
 

Private Attributes

Agentagent_
 
uint32_t label_
 
bool free_label_
 
NextHopnh_
 
FmgVrfNhMap fmg_nh_list_
 
- Private Attributes inherited from AgentRefCount< MplsLabel >
tbb::mutex back_ref_mutex_
 
std::set< IntrusiveReferrerback_ref_set_
 

Friends

class MplsTable
 

Additional Inherited Members

- Public Attributes inherited from DBEntryBase
boost::intrusive::list_member_hook chg_list_
 

Detailed Description

Definition at line 52 of file mpls.h.

Member Typedef Documentation

◆ DependentPathList

◆ FmgVrfNhMap

typedef std::map<std::string, NextHopRef> MplsLabel::FmgVrfNhMap

Definition at line 55 of file mpls.h.

Constructor & Destructor Documentation

◆ MplsLabel()

MplsLabel::MplsLabel ( Agent agent,
uint32_t  label 
)

Definition at line 26 of file mpls.cc.

◆ ~MplsLabel()

MplsLabel::~MplsLabel ( )
virtual

Definition at line 30 of file mpls.cc.

Here is the call graph for this function:

Member Function Documentation

◆ Add()

void MplsLabel::Add ( const DBRequest req)

Definition at line 63 of file mpls.cc.

Here is the call graph for this function:

◆ Change()

bool MplsLabel::Change ( const DBRequest req)

Definition at line 70 of file mpls.cc.

Here is the call graph for this function:

◆ ChangeInternal()

bool MplsLabel::ChangeInternal ( const DBRequest req)

Definition at line 83 of file mpls.cc.

Here is the call graph for this function:

◆ ChangeNH()

bool MplsLabel::ChangeNH ( NextHop nh)

Definition at line 97 of file mpls.cc.

Here is the call graph for this function:

◆ DBEntrySandesh()

bool MplsLabel::DBEntrySandesh ( Sandesh sresp,
std::string &  name 
) const
virtual

Implements AgentDBEntry.

Definition at line 144 of file mpls.cc.

Here is the call graph for this function:

◆ Delete()

void MplsLabel::Delete ( const DBRequest req)

Definition at line 77 of file mpls.cc.

Here is the call graph for this function:

◆ DEPENDENCY_LIST()

MplsLabel::DEPENDENCY_LIST ( AgentRoute  ,
MplsLabel  ,
mpls_label_   
)
private

◆ DISALLOW_COPY_AND_ASSIGN()

MplsLabel::DISALLOW_COPY_AND_ASSIGN ( MplsLabel  )
private

◆ fmg_nh_list()

FmgVrfNhMap& MplsLabel::fmg_nh_list ( )
inline

Definition at line 81 of file mpls.h.

◆ GetDBRequestKey()

DBEntryBase::KeyPtr MplsLabel::GetDBRequestKey ( ) const
virtual

Implements DBEntryBase.

Definition at line 49 of file mpls.cc.

◆ GetRefCount()

uint32_t MplsLabel::GetRefCount ( ) const
virtual

Implements AgentDBEntry.

Definition at line 59 of file mpls.cc.

Here is the call graph for this function:

◆ IsFabricMulticastReservedLabel()

bool MplsLabel::IsFabricMulticastReservedLabel ( ) const

Definition at line 135 of file mpls.cc.

Here is the call graph for this function:

◆ IsLess()

bool MplsLabel::IsLess ( const DBEntry rhs) const
virtual

Implements DBEntry.

Definition at line 40 of file mpls.cc.

◆ label()

uint32_t MplsLabel::label ( ) const
inline

Definition at line 79 of file mpls.h.

◆ nexthop()

const NextHop* MplsLabel::nexthop ( ) const
inline

Definition at line 80 of file mpls.h.

◆ SendObjectLog()

void MplsLabel::SendObjectLog ( const AgentDBTable table,
AgentLogEvent::type  event 
) const

Definition at line 157 of file mpls.cc.

Here is the call graph for this function:

◆ SetKey()

void MplsLabel::SetKey ( const DBRequestKey key)
virtual

Implements DBEntry.

Definition at line 54 of file mpls.cc.

Here is the call graph for this function:

◆ SyncDependentPath()

void MplsLabel::SyncDependentPath ( )

Definition at line 126 of file mpls.cc.

Here is the call graph for this function:

◆ ToString()

std::string MplsLabel::ToString ( ) const
virtual

Implements DBEntryBase.

Definition at line 45 of file mpls.cc.

Friends And Related Function Documentation

◆ MplsTable

friend class MplsTable
friend

Definition at line 86 of file mpls.h.

Member Data Documentation

◆ agent_

Agent* MplsLabel::agent_
private

Definition at line 87 of file mpls.h.

◆ fmg_nh_list_

FmgVrfNhMap MplsLabel::fmg_nh_list_
private

Definition at line 91 of file mpls.h.

◆ free_label_

bool MplsLabel::free_label_
private

Definition at line 89 of file mpls.h.

◆ label_

uint32_t MplsLabel::label_
private

Definition at line 88 of file mpls.h.

◆ nh_

NextHop* MplsLabel::nh_
private

Definition at line 90 of file mpls.h.


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