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

#include <controller_route_path.h>

Inheritance diagram for ControllerVmRoute:
Collaboration diagram for ControllerVmRoute:

Public Member Functions

 ControllerVmRoute (const BgpPeer *peer, const string &vrf_name, const Ip4Address &addr, uint32_t label, const VnListType &dest_vn_list, int bmap, const SecurityGroupList &sg_list, const TagList &tag_list, const PathPreference &path_preference, DBRequest &req, bool ecmp_suppressed, const EcmpLoadBalance &ecmp_load_balance, bool etree_leaf, const MacAddress &rewrite_dmac=MacAddress())
 
 ControllerVmRoute (const BgpPeer *peer)
 
virtual ~ControllerVmRoute ()
 
virtual bool AddChangePathExtended (Agent *agent, AgentPath *path, const AgentRoute *rt)
 
virtual bool UpdateRoute (AgentRoute *route)
 
virtual string ToString () const
 
const SecurityGroupListsg_list () const
 
const TagListtag_list () const
 
- Public Member Functions inherited from ControllerPeerPath
 ControllerPeerPath (const BgpPeer *peer)
 
 ~ControllerPeerPath ()
 
- Public Member Functions inherited from AgentRouteData
 AgentRouteData (Type type, bool is_multicast, uint64_t sequence_number)
 
virtual ~AgentRouteData ()
 
virtual AgentPathCreateAgentPath (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)
 
- Public Member Functions inherited from AgentData
 AgentData ()
 
virtual ~AgentData ()
 
- Public Member Functions inherited from DBRequestData
virtual ~DBRequestData ()
 

Static Public Member Functions

static ControllerVmRouteMakeControllerVmRoute (const BgpPeer *peer, const string &default_vrf, const Ip4Address &router_id, const string &vrf_name, const Ip4Address &tunnel_dest, TunnelType::TypeBmap bmap, uint32_t label, MacAddress rewrite_dmac, const VnListType &dest_vn_list, const SecurityGroupList &sg_list, const TagList &tag_list, const PathPreference &path_preference, bool ecmp_suppressed, const EcmpLoadBalance &ecmp_load_balance, bool etree_leaf)
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (ControllerVmRoute)
 

Private Attributes

string server_vrf_
 
Ip4Address tunnel_dest_
 
TunnelType::TypeBmap tunnel_bmap_
 
uint32_t label_
 
VnListType dest_vn_list_
 
SecurityGroupList sg_list_
 
TagList tag_list_
 
PathPreference path_preference_
 
DBRequest nh_req_
 
bool ecmp_suppressed_
 
EcmpLoadBalance ecmp_load_balance_
 
bool etree_leaf_
 
MacAddress rewrite_dmac_
 
std::vector< IpAddresstunnel_dest_list_
 
std::vector< uint32_t > label_list_
 

Additional Inherited Members

- Public Types inherited from AgentRouteData
enum  Type { ADD_DEL_CHANGE, ROUTE_PREFERENCE_CHANGE, IPAM_SUBNET }
 
- Public Attributes inherited from AgentRouteData
Type type_
 
bool is_multicast_
 
uint64_t sequence_number_
 
- Static Public Attributes inherited from ControllerPeerPath
static const uint64_t kInvalidPeerIdentifier = 0xFFFFFFFFFFFFFFFFLL
 

Detailed Description

Definition at line 56 of file controller_route_path.h.

Constructor & Destructor Documentation

ControllerVmRoute::ControllerVmRoute ( const BgpPeer peer,
const string &  vrf_name,
const Ip4Address addr,
uint32_t  label,
const VnListType dest_vn_list,
int  bmap,
const SecurityGroupList sg_list,
const TagList tag_list,
const PathPreference path_preference,
DBRequest req,
bool  ecmp_suppressed,
const EcmpLoadBalance ecmp_load_balance,
bool  etree_leaf,
const MacAddress rewrite_dmac = MacAddress() 
)
inline

Definition at line 58 of file controller_route_path.h.

Here is the call graph for this function:

ControllerVmRoute::ControllerVmRoute ( const BgpPeer peer)
inline

Definition at line 80 of file controller_route_path.h.

virtual ControllerVmRoute::~ControllerVmRoute ( )
inlinevirtual

Definition at line 81 of file controller_route_path.h.

Member Function Documentation

bool ControllerVmRoute::AddChangePathExtended ( Agent agent,
AgentPath path,
const AgentRoute rt 
)
virtual

Implements AgentRouteData.

Definition at line 506 of file controller_route_path.cc.

ControllerVmRoute::DISALLOW_COPY_AND_ASSIGN ( ControllerVmRoute  )
private
ControllerVmRoute * ControllerVmRoute::MakeControllerVmRoute ( const BgpPeer peer,
const string &  default_vrf,
const Ip4Address router_id,
const string &  vrf_name,
const Ip4Address tunnel_dest,
TunnelType::TypeBmap  bmap,
uint32_t  label,
MacAddress  rewrite_dmac,
const VnListType dest_vn_list,
const SecurityGroupList sg_list,
const TagList tag_list,
const PathPreference path_preference,
bool  ecmp_suppressed,
const EcmpLoadBalance ecmp_load_balance,
bool  etree_leaf 
)
static

Definition at line 422 of file controller_route_path.cc.

Here is the call graph for this function:

const SecurityGroupList& ControllerVmRoute::sg_list ( ) const
inline

Definition at line 87 of file controller_route_path.h.

const TagList& ControllerVmRoute::tag_list ( ) const
inline

Definition at line 88 of file controller_route_path.h.

virtual string ControllerVmRoute::ToString ( ) const
inlinevirtual

Implements AgentRouteData.

Definition at line 86 of file controller_route_path.h.

bool ControllerVmRoute::UpdateRoute ( AgentRoute route)
virtual

Reimplemented from ControllerPeerPath.

Definition at line 487 of file controller_route_path.cc.

Here is the call graph for this function:

Member Data Documentation

VnListType ControllerVmRoute::dest_vn_list_
private

Definition at line 110 of file controller_route_path.h.

EcmpLoadBalance ControllerVmRoute::ecmp_load_balance_
private

Definition at line 116 of file controller_route_path.h.

bool ControllerVmRoute::ecmp_suppressed_
private

Definition at line 115 of file controller_route_path.h.

bool ControllerVmRoute::etree_leaf_
private

Definition at line 117 of file controller_route_path.h.

uint32_t ControllerVmRoute::label_
private

Definition at line 109 of file controller_route_path.h.

std::vector<uint32_t> ControllerVmRoute::label_list_
private

Definition at line 120 of file controller_route_path.h.

DBRequest ControllerVmRoute::nh_req_
private

Definition at line 114 of file controller_route_path.h.

PathPreference ControllerVmRoute::path_preference_
private

Definition at line 113 of file controller_route_path.h.

MacAddress ControllerVmRoute::rewrite_dmac_
private

Definition at line 118 of file controller_route_path.h.

string ControllerVmRoute::server_vrf_
private

Definition at line 106 of file controller_route_path.h.

SecurityGroupList ControllerVmRoute::sg_list_
private

Definition at line 111 of file controller_route_path.h.

TagList ControllerVmRoute::tag_list_
private

Definition at line 112 of file controller_route_path.h.

TunnelType::TypeBmap ControllerVmRoute::tunnel_bmap_
private

Definition at line 108 of file controller_route_path.h.

Ip4Address ControllerVmRoute::tunnel_dest_
private

Definition at line 107 of file controller_route_path.h.

std::vector<IpAddress> ControllerVmRoute::tunnel_dest_list_
private

Definition at line 119 of file controller_route_path.h.


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