OpenSDN source code
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::EcmpData ( Agent agent,
const string &  vrf_name,
const string &  route_str,
AgentPath path,
bool  del 
)

Definition at line 26 of file ecmp.cc.

◆ ~EcmpData()

virtual EcmpData::~EcmpData ( )
inlinevirtual

Definition at line 22 of file ecmp.h.

Member Function Documentation

◆ AllocateEcmpPath()

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:

◆ AppendEcmpPath()

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

Definition at line 227 of file ecmp.cc.

Here is the call graph for this function:

◆ BgpPeerEcmp()

bool EcmpData::BgpPeerEcmp ( )
private

Definition at line 93 of file ecmp.cc.

Here is the call graph for this function:

◆ DeleteComponentNH()

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

Definition at line 463 of file ecmp.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

EcmpData::DISALLOW_COPY_AND_ASSIGN ( EcmpData  )
private

◆ EcmpAddPath()

bool EcmpData::EcmpAddPath ( AgentRoute rt)
private

Definition at line 106 of file ecmp.cc.

Here is the call graph for this function:

◆ EcmpDeletePath()

bool EcmpData::EcmpDeletePath ( AgentRoute rt)
private

Definition at line 271 of file ecmp.cc.

Here is the call graph for this function:

◆ GetLocalNextHop()

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

Definition at line 496 of file ecmp.cc.

Here is the call graph for this function:

◆ LocalVmPortPeerEcmp()

bool EcmpData::LocalVmPortPeerEcmp ( AgentRoute rt)
private

Definition at line 81 of file ecmp.cc.

Here is the call graph for this function:

◆ ModifyEcmpPath()

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:

◆ SyncParams()

bool EcmpData::SyncParams ( )
private

Definition at line 353 of file ecmp.cc.

Here is the call graph for this function:

◆ Update()

bool EcmpData::Update ( AgentRoute rt)

Definition at line 44 of file ecmp.cc.

Here is the call graph for this function:

◆ UpdateComponentNH()

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

Definition at line 422 of file ecmp.cc.

Here is the call graph for this function:

◆ UpdateNh()

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:

◆ UpdateWithParams()

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_

Agent* EcmpData::agent_
private

Definition at line 69 of file ecmp.h.

◆ alloc_label_

bool EcmpData::alloc_label_
private

Definition at line 57 of file ecmp.h.

◆ community_list_

CommunityList EcmpData::community_list_
private

Definition at line 64 of file ecmp.h.

◆ delete_

bool EcmpData::delete_
private

Definition at line 56 of file ecmp.h.

◆ ecmp_load_balance_

EcmpLoadBalance EcmpData::ecmp_load_balance_
private

Definition at line 67 of file ecmp.h.

◆ ecmp_path_

AgentPath* EcmpData::ecmp_path_
private

Definition at line 55 of file ecmp.h.

◆ label_

uint32_t EcmpData::label_
private

Definition at line 58 of file ecmp.h.

◆ nh_req_

DBRequest EcmpData::nh_req_
private

Definition at line 68 of file ecmp.h.

◆ path_

AgentPath* EcmpData::path_
private

Definition at line 54 of file ecmp.h.

◆ path_preference_

PathPreference EcmpData::path_preference_
private

Definition at line 65 of file ecmp.h.

◆ route_str_

std::string EcmpData::route_str_
private

Definition at line 60 of file ecmp.h.

◆ sg_list_

SecurityGroupList EcmpData::sg_list_
private

Definition at line 62 of file ecmp.h.

◆ tag_list_

TagList EcmpData::tag_list_
private

Definition at line 63 of file ecmp.h.

◆ tunnel_bmap_

TunnelType::TypeBmap EcmpData::tunnel_bmap_
private

Definition at line 66 of file ecmp.h.

◆ vn_list_

VnListType EcmpData::vn_list_
private

Definition at line 61 of file ecmp.h.

◆ vrf_name_

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: