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

#include <ovsdb_route_peer.h>

Inheritance diagram for OvsPeer:
Collaboration diagram for OvsPeer:

Public Member Functions

 OvsPeer (const IpAddress &peer_ip, uint64_t gen_id, OvsPeerManager *manager)
 
virtual ~OvsPeer ()
 
bool Compare (const Peer *rhs) const
 
const Ip4AddressNexthopIp (Agent *agent, const AgentPath *path) const
 
bool AddOvsRoute (const VrfEntry *vrf, uint32_t vxlan_id, const std::string &dest_vn, const MacAddress &mac, Ip4Address &tor_ip)
 
void DeleteOvsRoute (VrfEntry *vrf, uint32_t vxlan, const MacAddress &mac)
 
void AddOvsPeerMulticastRoute (const VrfEntry *vrf, uint32_t vxlan_id, const std::string &vn_name_, const Ip4Address &tsn_ip, const Ip4Address &tor_ip)
 
void DeleteOvsPeerMulticastRoute (const VrfEntry *vrf, uint32_t vxlan_id, const Ip4Address &tor_ip)
 
const IpAddresspeer_ip () const
 
void set_ha_stale_export (bool ha_stale_export)
 
bool ha_stale_export () const
 
- Public Member Functions inherited from DynamicPeer
 DynamicPeer (Agent *agent, Type type, const std::string &name, bool controller_export)
 
virtual ~DynamicPeer ()
 
virtual bool SkipAddChangeRequest () const
 
virtual bool IsDeleted () const
 
void StopRouteExports ()
 
bool DeleteTimeout ()
 
- Public Member Functions inherited from Peer
 Peer (Type type, const std::string &name, bool controller_export)
 
virtual ~Peer ()
 
bool IsLess (const Peer *rhs) const
 
virtual bool export_to_controller () const
 
const std::string & GetName () const
 
const Type GetType () const
 
uint32_t refcount () const
 
uint64_t sequence_number () const
 
void incr_sequence_number ()
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (OvsPeer)
 

Private Attributes

IpAddress peer_ip_
 
uint64_t gen_id_
 
OvsPeerManagerpeer_manager_
 
bool ha_stale_export_
 

Additional Inherited Members

- Public Types inherited from Peer
enum  Type {
  MULTICAST_PEER, EVPN_PEER, BGP_PEER, EVPN_ROUTING_PEER,
  LINKLOCAL_PEER, ECMP_PEER, VXLAN_BGP_PEER, LOCAL_VM_PORT_PEER,
  LOCAL_VM_PEER, LOCAL_PEER, NOVA_PEER, VGW_PEER,
  MULTICAST_FABRIC_TREE_BUILDER, OVS_PEER, MULTICAST_TOR_PEER, MAC_VM_BINDING_PEER,
  INET_EVPN_PEER, MAC_LEARNING_PEER
}
 
typedef std::map< std::string,
Peer * > 
PeerMap
 
typedef std::pair< std::string,
Peer * > 
PeerPair
 
- Static Public Member Functions inherited from DynamicPeer
static void ProcessDelete (DynamicPeer *p)
 
- Static Public Attributes inherited from DynamicPeer
static const uint32_t kDeleteTimeout = 300 * 1000
 

Detailed Description

Definition at line 13 of file ovsdb_route_peer.h.

Constructor & Destructor Documentation

OvsPeer::OvsPeer ( const IpAddress peer_ip,
uint64_t  gen_id,
OvsPeerManager manager 
)

Definition at line 13 of file ovsdb_route_peer.cc.

OvsPeer::~OvsPeer ( )
virtual

Definition at line 24 of file ovsdb_route_peer.cc.

Member Function Documentation

void OvsPeer::AddOvsPeerMulticastRoute ( const VrfEntry vrf,
uint32_t  vxlan_id,
const std::string &  vn_name_,
const Ip4Address tsn_ip,
const Ip4Address tor_ip 
)

Definition at line 103 of file ovsdb_route_peer.cc.

Here is the call graph for this function:

bool OvsPeer::AddOvsRoute ( const VrfEntry vrf,
uint32_t  vxlan_id,
const std::string &  dest_vn,
const MacAddress mac,
Ip4Address tor_ip 
)

Definition at line 38 of file ovsdb_route_peer.cc.

Here is the call graph for this function:

bool OvsPeer::Compare ( const Peer rhs) const
virtual

Reimplemented from Peer.

Definition at line 30 of file ovsdb_route_peer.cc.

void OvsPeer::DeleteOvsPeerMulticastRoute ( const VrfEntry vrf,
uint32_t  vxlan_id,
const Ip4Address tor_ip 
)

Definition at line 114 of file ovsdb_route_peer.cc.

Here is the call graph for this function:

void OvsPeer::DeleteOvsRoute ( VrfEntry vrf,
uint32_t  vxlan,
const MacAddress mac 
)

Definition at line 88 of file ovsdb_route_peer.cc.

Here is the call graph for this function:

OvsPeer::DISALLOW_COPY_AND_ASSIGN ( OvsPeer  )
private
bool OvsPeer::ha_stale_export ( ) const
inline

Definition at line 37 of file ovsdb_route_peer.h.

const Ip4Address * OvsPeer::NexthopIp ( Agent agent,
const AgentPath path 
) const
virtual

Reimplemented from Peer.

Definition at line 122 of file ovsdb_route_peer.cc.

Here is the call graph for this function:

const IpAddress& OvsPeer::peer_ip ( ) const
inline

Definition at line 32 of file ovsdb_route_peer.h.

void OvsPeer::set_ha_stale_export ( bool  ha_stale_export)
inline

Definition at line 34 of file ovsdb_route_peer.h.

Here is the call graph for this function:

Member Data Documentation

uint64_t OvsPeer::gen_id_
private

Definition at line 41 of file ovsdb_route_peer.h.

bool OvsPeer::ha_stale_export_
private

Definition at line 43 of file ovsdb_route_peer.h.

IpAddress OvsPeer::peer_ip_
private

Definition at line 40 of file ovsdb_route_peer.h.

OvsPeerManager* OvsPeer::peer_manager_
private

Definition at line 42 of file ovsdb_route_peer.h.


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