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

#include <ksync_init.h>

Inheritance diagram for KSync:
Collaboration diagram for KSync:

Public Member Functions

 KSync (Agent *agent)
 
virtual ~KSync ()
 
virtual void Init (bool create_vhost)
 
virtual void InitDone ()
 
virtual void RegisterDBClients (DB *db)
 
void VnswInterfaceListenerInit ()
 
void Shutdown ()
 
void UpdateVhostMac ()
 
Agentagent () const
 
MirrorKSyncObjectmirror_ksync_obj () const
 
NHKSyncObjectnh_ksync_obj () const
 
InterfaceKSyncObjectinterface_ksync_obj () const
 
VrfKSyncObjectvrf_ksync_obj () const
 
FlowTableKSyncObjectflow_table_ksync_obj (uint16_t index) const
 
VnswInterfaceListenervnsw_interface_listner () const
 
KSyncFlowMemoryksync_flow_memory () const
 
KSyncFlowIndexManagerksync_flow_index_manager () const
 
void SetProfileData (ProfileData *data)
 
QosQueueKSyncObjectqos_queue_ksync_obj () const
 
ForwardingClassKSyncObjectforwarding_class_ksync_obj () const
 
QosConfigKSyncObjectqos_config_ksync_obj () const
 
BridgeRouteAuditKSyncObjectbridge_route_audit_ksync_obj () const
 
KSyncBridgeMemoryksync_bridge_memory () const
 
void * btable_huge_page_mem_get () const
 
void * ftable_huge_page_mem_get () const
 

Protected Member Functions

virtual void InitFlowMem ()
 
void SetHugePages ()
 
void ResetVRouter (bool run_sync_mode)
 
int Encode (Sandesh &encoder, uint8_t *buf, int buf_len)
 

Protected Attributes

Agentagent_
 
boost::scoped_ptr
< InterfaceKSyncObject
interface_ksync_obj_
 
std::vector
< FlowTableKSyncObject * > 
flow_table_ksync_obj_list_
 
boost::scoped_ptr
< MplsKSyncObject
mpls_ksync_obj_
 
boost::scoped_ptr< NHKSyncObjectnh_ksync_obj_
 
boost::scoped_ptr
< MirrorKSyncObject
mirror_ksync_obj_
 
boost::scoped_ptr< VrfKSyncObjectvrf_ksync_obj_
 
boost::scoped_ptr
< VxLanKSyncObject
vxlan_ksync_obj_
 
boost::scoped_ptr
< VrfAssignKSyncObject
vrf_assign_ksync_obj_
 
boost::scoped_ptr
< VnswInterfaceListener
vnsw_interface_listner_
 
boost::scoped_ptr
< KSyncFlowMemory
ksync_flow_memory_
 
boost::scoped_ptr
< KSyncFlowIndexManager
ksync_flow_index_manager_
 
boost::scoped_ptr
< QosQueueKSyncObject
qos_queue_ksync_obj_
 
boost::scoped_ptr
< ForwardingClassKSyncObject
forwarding_class_ksync_obj_
 
boost::scoped_ptr
< QosConfigKSyncObject
qos_config_ksync_obj_
 
boost::scoped_ptr
< BridgeRouteAuditKSyncObject
bridge_route_audit_ksync_obj_
 
boost::scoped_ptr
< KSyncBridgeMemory
ksync_bridge_memory_
 

Private Member Functions

void InitVrouterOps (vrouter_ops *v)
 
void NetlinkInit ()
 
void CreateVhostIntf ()
 
 DISALLOW_COPY_AND_ASSIGN (KSync)
 

Private Attributes

int huge_fd_ [kHugePageFiles]
 
void * huge_pages_ [kHugePageFiles]
 
int btable_huge_pages_index_
 
int ftable_huge_pages_index_
 

Static Private Attributes

static const int kHugePageFiles = 4
 

Detailed Description

Definition at line 27 of file ksync_init.h.

Constructor & Destructor Documentation

KSync::KSync ( Agent agent)

Definition at line 67 of file ksync_init.cc.

Here is the call graph for this function:

KSync::~KSync ( )
virtual

Definition at line 96 of file ksync_init.cc.

Here is the call graph for this function:

Member Function Documentation

Agent* KSync::agent ( ) const
inline

Definition at line 39 of file ksync_init.h.

BridgeRouteAuditKSyncObject* KSync::bridge_route_audit_ksync_obj ( ) const
inline

Definition at line 78 of file ksync_init.h.

void* KSync::btable_huge_page_mem_get ( ) const
inline

Definition at line 86 of file ksync_init.h.

void KSync::CreateVhostIntf ( )
private

Definition at line 412 of file ksync_init.cc.

Here is the call graph for this function:

KSync::DISALLOW_COPY_AND_ASSIGN ( KSync  )
private
int KSync::Encode ( Sandesh encoder,
uint8_t *  buf,
int  buf_len 
)
protected

Definition at line 172 of file ksync_init.cc.

Here is the call graph for this function:

FlowTableKSyncObject* KSync::flow_table_ksync_obj ( uint16_t  index) const
inline

Definition at line 52 of file ksync_init.h.

ForwardingClassKSyncObject* KSync::forwarding_class_ksync_obj ( ) const
inline

Definition at line 70 of file ksync_init.h.

void* KSync::ftable_huge_page_mem_get ( ) const
inline

Definition at line 90 of file ksync_init.h.

void KSync::Init ( bool  create_vhost)
virtual

Reimplemented in KSyncUds, and KSyncTcp.

Definition at line 119 of file ksync_init.cc.

Here is the call graph for this function:

void KSync::InitDone ( )
virtual

Definition at line 137 of file ksync_init.cc.

Here is the call graph for this function:

void KSync::InitFlowMem ( )
protectedvirtual

Reimplemented in KSyncUds, and KSyncTcp.

Definition at line 151 of file ksync_init.cc.

Here is the call graph for this function:

void KSync::InitVrouterOps ( vrouter_ops *  v)
private

Definition at line 223 of file ksync_init.cc.

InterfaceKSyncObject* KSync::interface_ksync_obj ( ) const
inline

Definition at line 46 of file ksync_init.h.

KSyncBridgeMemory* KSync::ksync_bridge_memory ( ) const
inline

Definition at line 82 of file ksync_init.h.

KSyncFlowIndexManager* KSync::ksync_flow_index_manager ( ) const
inline

Definition at line 61 of file ksync_init.h.

KSyncFlowMemory* KSync::ksync_flow_memory ( ) const
inline

Definition at line 58 of file ksync_init.h.

MirrorKSyncObject* KSync::mirror_ksync_obj ( ) const
inline

Definition at line 40 of file ksync_init.h.

void KSync::NetlinkInit ( )
private

Definition at line 156 of file ksync_init.cc.

Here is the call graph for this function:

NHKSyncObject* KSync::nh_ksync_obj ( ) const
inline

Definition at line 43 of file ksync_init.h.

QosConfigKSyncObject* KSync::qos_config_ksync_obj ( ) const
inline

Definition at line 74 of file ksync_init.h.

QosQueueKSyncObject* KSync::qos_queue_ksync_obj ( ) const
inline

Definition at line 66 of file ksync_init.h.

void KSync::RegisterDBClients ( DB db)
virtual

Definition at line 104 of file ksync_init.cc.

Here is the call graph for this function:

void KSync::ResetVRouter ( bool  run_sync_mode)
protected

Definition at line 370 of file ksync_init.cc.

Here is the call graph for this function:

void KSync::SetHugePages ( )
protected

Definition at line 256 of file ksync_init.cc.

Here is the call graph for this function:

void KSync::SetProfileData ( ProfileData data)

Definition at line 178 of file ksync_init.cc.

Here is the call graph for this function:

void KSync::Shutdown ( void  )

Definition at line 488 of file ksync_init.cc.

Here is the call graph for this function:

void KSync::UpdateVhostMac ( )

Definition at line 452 of file ksync_init.cc.

Here is the call graph for this function:

VnswInterfaceListener* KSync::vnsw_interface_listner ( ) const
inline

Definition at line 55 of file ksync_init.h.

void KSync::VnswInterfaceListenerInit ( )

Definition at line 408 of file ksync_init.cc.

VrfKSyncObject* KSync::vrf_ksync_obj ( ) const
inline

Definition at line 49 of file ksync_init.h.

Member Data Documentation

Agent* KSync::agent_
protected

Definition at line 94 of file ksync_init.h.

boost::scoped_ptr<BridgeRouteAuditKSyncObject> KSync::bridge_route_audit_ksync_obj_
protected

Definition at line 110 of file ksync_init.h.

int KSync::btable_huge_pages_index_
private

Definition at line 125 of file ksync_init.h.

std::vector<FlowTableKSyncObject *> KSync::flow_table_ksync_obj_list_
protected

Definition at line 96 of file ksync_init.h.

boost::scoped_ptr<ForwardingClassKSyncObject> KSync::forwarding_class_ksync_obj_
protected

Definition at line 107 of file ksync_init.h.

int KSync::ftable_huge_pages_index_
private

Definition at line 127 of file ksync_init.h.

int KSync::huge_fd_[kHugePageFiles]
private

Definition at line 122 of file ksync_init.h.

void* KSync::huge_pages_[kHugePageFiles]
private

Definition at line 123 of file ksync_init.h.

boost::scoped_ptr<InterfaceKSyncObject> KSync::interface_ksync_obj_
protected

Definition at line 95 of file ksync_init.h.

const int KSync::kHugePageFiles = 4
staticprivate

Definition at line 121 of file ksync_init.h.

boost::scoped_ptr<KSyncBridgeMemory> KSync::ksync_bridge_memory_
protected

Definition at line 111 of file ksync_init.h.

boost::scoped_ptr<KSyncFlowIndexManager> KSync::ksync_flow_index_manager_
protected

Definition at line 105 of file ksync_init.h.

boost::scoped_ptr<KSyncFlowMemory> KSync::ksync_flow_memory_
protected

Definition at line 104 of file ksync_init.h.

boost::scoped_ptr<MirrorKSyncObject> KSync::mirror_ksync_obj_
protected

Definition at line 99 of file ksync_init.h.

boost::scoped_ptr<MplsKSyncObject> KSync::mpls_ksync_obj_
protected

Definition at line 97 of file ksync_init.h.

boost::scoped_ptr<NHKSyncObject> KSync::nh_ksync_obj_
protected

Definition at line 98 of file ksync_init.h.

boost::scoped_ptr<QosConfigKSyncObject> KSync::qos_config_ksync_obj_
protected

Definition at line 108 of file ksync_init.h.

boost::scoped_ptr<QosQueueKSyncObject> KSync::qos_queue_ksync_obj_
protected

Definition at line 106 of file ksync_init.h.

boost::scoped_ptr<VnswInterfaceListener> KSync::vnsw_interface_listner_
protected

Definition at line 103 of file ksync_init.h.

boost::scoped_ptr<VrfAssignKSyncObject> KSync::vrf_assign_ksync_obj_
protected

Definition at line 102 of file ksync_init.h.

boost::scoped_ptr<VrfKSyncObject> KSync::vrf_ksync_obj_
protected

Definition at line 100 of file ksync_init.h.

boost::scoped_ptr<VxLanKSyncObject> KSync::vxlan_ksync_obj_
protected

Definition at line 101 of file ksync_init.h.


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