OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
EcmpData Class Reference

#include <ecmp.h>

Collaboration diagram for EcmpData:

Public Member Functions

 EcmpData (Agent *agent, const string &vrf_name, const string &route_str, AgentPath *path, bool del)
 
virtual ~EcmpData ()
 
bool Update (AgentRoute *rt)
 
bool UpdateWithParams (const SecurityGroupList &sg_list, const TagList &tag_list, const CommunityList &community_list, const PathPreference &path_preference, const TunnelType::TypeBmap bmap, const EcmpLoadBalance &ecmp_load_balance, const VnListType &vn_list, DBRequest &nh_req)
 

Static Public Member Functions

static const NextHopGetLocalNextHop (const AgentRoute *rt)
 

Private Member Functions

bool LocalVmPortPeerEcmp (AgentRoute *rt)
 
bool BgpPeerEcmp ()
 
bool EcmpAddPath (AgentRoute *rt)
 
bool EcmpDeletePath (AgentRoute *rt)
 
bool ModifyEcmpPath (CompositeNHKey *composite_nh_key=NULL)
 
bool UpdateNh (CompositeNHKey *composite_nh_key=NULL)
 
bool SyncParams ()
 
void AllocateEcmpPath (AgentRoute *rt, const AgentPath *path2)
 
bool UpdateComponentNH (AgentRoute *rt, AgentPath *path)
 
void AppendEcmpPath (AgentRoute *rt, AgentPath *path)
 
void DeleteComponentNH (AgentRoute *rt, AgentPath *path)
 
 DISALLOW_COPY_AND_ASSIGN (EcmpData)
 

Private Attributes

AgentPathpath_
 
AgentPathecmp_path_
 
bool delete_
 
bool alloc_label_
 
uint32_t label_
 
std::string vrf_name_
 
std::string route_str_
 
VnListType vn_list_
 
SecurityGroupList sg_list_
 
TagList tag_list_
 
CommunityList community_list_
 
PathPreference path_preference_
 
TunnelType::TypeBmap tunnel_bmap_
 
EcmpLoadBalance ecmp_load_balance_
 
DBRequest nh_req_
 
Agentagent_
 

Detailed Description

Definition at line 15 of file ecmp.h.

Constructor & Destructor Documentation

EcmpData::EcmpData ( Agent agent,
const string &  vrf_name,
const string &  route_str,
AgentPath path,
bool  del 
)

Definition at line 26 of file ecmp.cc.

virtual EcmpData::~EcmpData ( )
inlinevirtual

Definition at line 22 of file ecmp.h.

Member Function Documentation

void EcmpData::AllocateEcmpPath ( AgentRoute rt,
const AgentPath path2 
)
private

Definition at line 176 of file ecmp.cc.

Here is the call graph for this function:

void EcmpData::AppendEcmpPath ( AgentRoute rt,
AgentPath path 
)
private

Definition at line 227 of file ecmp.cc.

Here is the call graph for this function:

bool EcmpData::BgpPeerEcmp ( )
private

Definition at line 93 of file ecmp.cc.

Here is the call graph for this function:

void EcmpData::DeleteComponentNH ( AgentRoute rt,
AgentPath path 
)
private

Definition at line 463 of file ecmp.cc.

Here is the call graph for this function:

EcmpData::DISALLOW_COPY_AND_ASSIGN ( EcmpData  )
private
bool EcmpData::EcmpAddPath ( AgentRoute rt)
private

Definition at line 106 of file ecmp.cc.

Here is the call graph for this function:

bool EcmpData::EcmpDeletePath ( AgentRoute rt)
private

Definition at line 271 of file ecmp.cc.

Here is the call graph for this function:

const NextHop * EcmpData::GetLocalNextHop ( const AgentRoute rt)
static

Definition at line 496 of file ecmp.cc.

Here is the call graph for this function:

bool EcmpData::LocalVmPortPeerEcmp ( AgentRoute rt)
private

Definition at line 81 of file ecmp.cc.

Here is the call graph for this function:

bool EcmpData::ModifyEcmpPath ( CompositeNHKey composite_nh_key = NULL)
private

Definition at line 397 of file ecmp.cc.

Here is the call graph for this function:

bool EcmpData::SyncParams ( )
private

Definition at line 353 of file ecmp.cc.

Here is the call graph for this function:

bool EcmpData::Update ( AgentRoute rt)

Definition at line 44 of file ecmp.cc.

Here is the call graph for this function:

bool EcmpData::UpdateComponentNH ( AgentRoute rt,
AgentPath path 
)
private

Definition at line 422 of file ecmp.cc.

Here is the call graph for this function:

bool EcmpData::UpdateNh ( CompositeNHKey composite_nh_key = NULL)
private

Definition at line 316 of file ecmp.cc.

Here is the call graph for this function:

bool EcmpData::UpdateWithParams ( const SecurityGroupList sg_list,
const TagList tag_list,
const CommunityList community_list,
const PathPreference path_preference,
const TunnelType::TypeBmap  bmap,
const EcmpLoadBalance ecmp_load_balance,
const VnListType vn_list,
DBRequest nh_req 
)

Definition at line 61 of file ecmp.cc.

Here is the call graph for this function:

Member Data Documentation

Agent* EcmpData::agent_
private

Definition at line 69 of file ecmp.h.

bool EcmpData::alloc_label_
private

Definition at line 57 of file ecmp.h.

CommunityList EcmpData::community_list_
private

Definition at line 64 of file ecmp.h.

bool EcmpData::delete_
private

Definition at line 56 of file ecmp.h.

EcmpLoadBalance EcmpData::ecmp_load_balance_
private

Definition at line 67 of file ecmp.h.

AgentPath* EcmpData::ecmp_path_
private

Definition at line 55 of file ecmp.h.

uint32_t EcmpData::label_
private

Definition at line 58 of file ecmp.h.

DBRequest EcmpData::nh_req_
private

Definition at line 68 of file ecmp.h.

AgentPath* EcmpData::path_
private

Definition at line 54 of file ecmp.h.

PathPreference EcmpData::path_preference_
private

Definition at line 65 of file ecmp.h.

std::string EcmpData::route_str_
private

Definition at line 60 of file ecmp.h.

SecurityGroupList EcmpData::sg_list_
private

Definition at line 62 of file ecmp.h.

TagList EcmpData::tag_list_
private

Definition at line 63 of file ecmp.h.

TunnelType::TypeBmap EcmpData::tunnel_bmap_
private

Definition at line 66 of file ecmp.h.

VnListType EcmpData::vn_list_
private

Definition at line 61 of file ecmp.h.

std::string EcmpData::vrf_name_
private

Definition at line 59 of file ecmp.h.


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