OpenSDN source code
|
#include <controller_route_path.h>
Public Types | |
typedef std::list < ClonedLocalPath * > | ClonedLocalPathList |
typedef ClonedLocalPathList::iterator | ClonedLocalPathListIter |
![]() | |
enum | Type { ADD_DEL_CHANGE, ROUTE_PREFERENCE_CHANGE, IPAM_SUBNET } |
Public Member Functions | |
template<typename TYPE > | |
ControllerEcmpRoute (const BgpPeer *peer, const VnListType &vn_list, const EcmpLoadBalance &ecmp_load_balance, const TagList &tag_list, const TYPE *item, const AgentRouteTable *rt_table, const std::string &prefix_str) | |
ControllerEcmpRoute (const BgpPeer *peer, const VnListType &vn_list, const EcmpLoadBalance &ecmp_load_balance, const TagList &tag_list, const SecurityGroupList &sg_list, const PathPreference &path_pref, TunnelType::TypeBmap tunnel_bmap, DBRequest &nh_req, const std::string &prefix_str, const std::string vrf_name="") | |
ControllerEcmpRoute (const BgpPeer *peer, const VnListType &vn_list, const EcmpLoadBalance &ecmp_load_balance, const TagList &tag_list, const SecurityGroupList &sg_list, const PathPreference &path_pref, TunnelType::TypeBmap tunnel_bmap, std::vector< IpAddress > &tunnel_dest_list, std::vector< uint32_t > &label_list, const std::string &prefix_str, const std::string &vrf_name) | |
virtual | ~ControllerEcmpRoute () |
virtual bool | AddChangePathExtended (Agent *agent, AgentPath *path, const AgentRoute *rt) |
virtual string | ToString () const |
bool | CopyToPath (AgentPath *path) |
void | BuildNhReq (const string &vrf_name, const autogen::ItemType *item_type, const VnListType &vn_list) |
ClonedLocalPathList & | cloned_local_path_list () |
void | set_copy_local_path (bool copy_local_path) |
DBRequest & | nh_req () |
![]() | |
ControllerPeerPath (const BgpPeer *peer) | |
~ControllerPeerPath () | |
virtual bool | UpdateRoute (AgentRoute *route) |
![]() | |
AgentRouteData (Type type, bool is_multicast, uint64_t sequence_number) | |
virtual | ~AgentRouteData () |
virtual AgentPath * | CreateAgentPath (const Peer *peer, AgentRoute *rt) const |
virtual bool | CanDeletePath (Agent *agent, AgentPath *path, const AgentRoute *rt) const |
bool | AddChangePath (Agent *agent, AgentPath *path, const AgentRoute *rt) |
bool | is_multicast () const |
uint64_t | sequence_number () const |
DISALLOW_COPY_AND_ASSIGN (AgentRouteData) | |
![]() | |
AgentData () | |
virtual | ~AgentData () |
![]() | |
virtual | ~DBRequestData () |
Static Public Attributes | |
static const uint32_t | maximum_ecmp_paths = 128 |
![]() | |
static const uint64_t | kInvalidPeerIdentifier = 0xFFFFFFFFFFFFFFFFLL |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (ControllerEcmpRoute) | |
Private Attributes | |
VnListType | vn_list_ |
SecurityGroupList | sg_list_ |
EcmpLoadBalance | ecmp_load_balance_ |
TagList | tag_list_ |
PathPreference | path_preference_ |
TunnelType::TypeBmap | tunnel_bmap_ |
DBRequest | nh_req_ |
ClonedLocalPathList | cloned_data_list_ |
Agent * | agent_ |
bool | copy_local_path_ |
std::vector< IpAddress > | tunnel_dest_list_ |
std::vector< uint32_t > | label_list_ |
string | vrf_name_ |
uint32_t | vxlan_id_ |
Friends | |
class | AgentXmppChannel |
Additional Inherited Members | |
![]() | |
Type | type_ |
bool | is_multicast_ |
uint64_t | sequence_number_ |
Definition at line 185 of file controller_route_path.h.
typedef std::list<ClonedLocalPath *> ControllerEcmpRoute::ClonedLocalPathList |
Definition at line 188 of file controller_route_path.h.
typedef ClonedLocalPathList::iterator ControllerEcmpRoute::ClonedLocalPathListIter |
Definition at line 189 of file controller_route_path.h.
ControllerEcmpRoute::ControllerEcmpRoute | ( | const BgpPeer * | peer, |
const VnListType & | vn_list, | ||
const EcmpLoadBalance & | ecmp_load_balance, | ||
const TagList & | tag_list, | ||
const TYPE * | item, | ||
const AgentRouteTable * | rt_table, | ||
const std::string & | prefix_str | ||
) |
ControllerEcmpRoute::ControllerEcmpRoute | ( | const BgpPeer * | peer, |
const VnListType & | vn_list, | ||
const EcmpLoadBalance & | ecmp_load_balance, | ||
const TagList & | tag_list, | ||
const SecurityGroupList & | sg_list, | ||
const PathPreference & | path_pref, | ||
TunnelType::TypeBmap | tunnel_bmap, | ||
DBRequest & | nh_req, | ||
const std::string & | prefix_str, | ||
const std::string | vrf_name = "" |
||
) |
ControllerEcmpRoute::ControllerEcmpRoute | ( | const BgpPeer * | peer, |
const VnListType & | vn_list, | ||
const EcmpLoadBalance & | ecmp_load_balance, | ||
const TagList & | tag_list, | ||
const SecurityGroupList & | sg_list, | ||
const PathPreference & | path_pref, | ||
TunnelType::TypeBmap | tunnel_bmap, | ||
std::vector< IpAddress > & | tunnel_dest_list, | ||
std::vector< uint32_t > & | label_list, | ||
const std::string & | prefix_str, | ||
const std::string & | vrf_name | ||
) |
|
inlinevirtual |
Definition at line 221 of file controller_route_path.h.
|
virtual |
Implements AgentRouteData.
Definition at line 57 of file controller_route_path.cc.
void ControllerEcmpRoute::BuildNhReq | ( | const string & | vrf_name, |
const autogen::ItemType * | item_type, | ||
const VnListType & | vn_list | ||
) |
|
inline |
Definition at line 228 of file controller_route_path.h.
bool ControllerEcmpRoute::CopyToPath | ( | AgentPath * | path | ) |
|
private |
|
inline |
Definition at line 236 of file controller_route_path.h.
|
inline |
Definition at line 232 of file controller_route_path.h.
|
inlinevirtual |
Implements AgentRouteData.
Definition at line 224 of file controller_route_path.h.
|
friend |
Definition at line 240 of file controller_route_path.h.
|
private |
Definition at line 250 of file controller_route_path.h.
|
private |
Definition at line 249 of file controller_route_path.h.
|
private |
Definition at line 251 of file controller_route_path.h.
|
private |
Definition at line 244 of file controller_route_path.h.
|
private |
Definition at line 253 of file controller_route_path.h.
|
static |
Definition at line 187 of file controller_route_path.h.
|
private |
Definition at line 248 of file controller_route_path.h.
|
private |
Definition at line 246 of file controller_route_path.h.
|
private |
Definition at line 243 of file controller_route_path.h.
|
private |
Definition at line 245 of file controller_route_path.h.
|
private |
Definition at line 247 of file controller_route_path.h.
|
private |
Definition at line 252 of file controller_route_path.h.
|
private |
Definition at line 242 of file controller_route_path.h.
|
private |
Definition at line 254 of file controller_route_path.h.
|
private |
Definition at line 255 of file controller_route_path.h.