OpenSDN source code
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
linux_vxlan_agent_init.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3
*/
4
#include <
cmn/agent_cmn.h
>
5
6
#include <
ksync/ksync_index.h
>
7
#include <
ksync/ksync_entry.h
>
8
#include <
ksync/ksync_object.h
>
9
10
#include <vnc_cfg_types.h>
11
#include <bgp_schema_types.h>
12
#include <agent_types.h>
13
14
#include <
init/agent_param.h
>
15
#include <
cmn/agent_db.h
>
16
17
#include <
oper/operdb_init.h
>
18
#include <
oper/peer.h
>
19
#include <
oper/vrf.h
>
20
#include <
oper/interface_common.h
>
21
#include <
oper/nexthop.h
>
22
#include <
oper/multicast.h
>
23
#include <
oper/vn.h
>
24
#include <
oper/mirror_table.h
>
25
#include <
oper/vxlan.h
>
26
#include <
oper/mpls.h
>
27
#include <
oper/route_common.h
>
28
#include <
oper/bridge_route.h
>
29
30
#include <
cfg/cfg_init.h
>
31
#include <
controller/controller_init.h
>
32
#include <
uve/agent_uve.h
>
33
34
#include <
vxlan_agent/ksync_vxlan.h
>
35
#include <
vxlan_agent/ksync_vxlan_bridge.h
>
36
#include <
vxlan_agent/ksync_vxlan_route.h
>
37
#include <
vxlan_agent/ksync_vxlan_port.h
>
38
39
#include "
linux_vxlan.h
"
40
#include "
linux_bridge.h
"
41
#include "
linux_port.h
"
42
#include "
linux_fdb.h
"
43
44
#include "
linux_vxlan_agent_init.h
"
45
46
LinuxVxlanAgentInit::LinuxVxlanAgentInit
()
47
: ksync_vxlan_(nullptr) {
48
}
49
50
LinuxVxlanAgentInit::~LinuxVxlanAgentInit
() {
51
ksync_vxlan_
.reset(
nullptr
);
52
uve_
.reset(
nullptr
);
53
}
54
55
void
LinuxVxlanAgentInit::ProcessOptions
56
(
const
std::string &config_file,
const
std::string &
program_name
) {
57
AgentInit::ProcessOptions
(config_file, program_name);
58
}
59
60
int
LinuxVxlanAgentInit::Start
() {
61
return
AgentInit::Start
();
62
}
63
64
/****************************************************************************
65
* Initialization routines
66
****************************************************************************/
67
void
LinuxVxlanAgentInit::FactoryInit
() {
68
}
69
70
void
LinuxVxlanAgentInit::CreateModules
() {
71
ksync_vxlan_
.reset(
new
KSyncLinuxVxlan
(
agent
()));
72
uve_
.reset(
new
AgentUve
(
agent
(),
AgentUveBase::kBandwidthInterval
,
73
AgentUveBase::kDefaultInterval
,
74
AgentUveBase::kIncrementalInterval
));
75
agent
()->
set_uve
(
uve_
.get());
76
}
77
78
void
LinuxVxlanAgentInit::RegisterDBClients
() {
79
ksync_vxlan_
->RegisterDBClients(
agent
()->db());
80
uve_
->RegisterDBClients();
81
}
82
83
void
LinuxVxlanAgentInit::InitModules
() {
84
ksync_vxlan_
->Init();
85
uve_
->Init();
86
}
87
88
void
LinuxVxlanAgentInit::ConnectToController
() {
89
agent
()->
controller
()->
Connect
();
90
}
91
92
/****************************************************************************
93
* Shutdown routines
94
****************************************************************************/
95
void
LinuxVxlanAgentInit::KSyncShutdown
() {
96
ksync_vxlan_
->Shutdown();
97
}
98
99
void
LinuxVxlanAgentInit::UveShutdown
() {
100
uve_
->Shutdown();
101
}
102
103
void
LinuxVxlanAgentInit::WaitForIdle
() {
104
sleep(5);
105
}
AgentInit::ProcessOptions
virtual void ProcessOptions(const std::string &config_file, const std::string &program_name)
Definition:
agent_init.cc:52
linux_fdb.h
ksync_index.h
linux_vxlan_agent_init.h
ksync_vxlan_route.h
VNController::Connect
void Connect()
Definition:
controller_init.cc:367
ksync_vxlan_bridge.h
vxlan.h
linux_port.h
program_name
string program_name(string filename)
Definition:
src/contrail-common/sandesh/compiler/main.cc:322
LinuxVxlanAgentInit::UveShutdown
void UveShutdown()
Definition:
linux_vxlan_agent_init.cc:99
ksync_object.h
LinuxVxlanAgentInit::WaitForIdle
void WaitForIdle()
Definition:
linux_vxlan_agent_init.cc:103
agent_db.h
Agent::set_uve
void set_uve(AgentUveBase *uve)
Definition:
agent.cc:913
LinuxVxlanAgentInit::InitModules
void InitModules()
Definition:
linux_vxlan_agent_init.cc:83
nexthop.h
LinuxVxlanAgentInit::FactoryInit
void FactoryInit()
Definition:
linux_vxlan_agent_init.cc:67
peer.h
multicast.h
linux_vxlan.h
LinuxVxlanAgentInit::ProcessOptions
void ProcessOptions(const std::string &config_file, const std::string &program_name)
Definition:
linux_vxlan_agent_init.cc:56
LinuxVxlanAgentInit::ksync_vxlan_
std::unique_ptr< KSyncVxlan > ksync_vxlan_
Definition:
linux_vxlan_agent_init.h:41
AgentUve
Definition:
agent_uve.h:13
ksync_vxlan.h
LinuxVxlanAgentInit::uve_
std::unique_ptr< AgentUveBase > uve_
Definition:
linux_vxlan_agent_init.h:42
Agent::controller
VNController * controller() const
Definition:
agent.cc:981
operdb_init.h
AgentUveBase::kDefaultInterval
static const uint32_t kDefaultInterval
Definition:
agent_uve_base.h:64
AgentUveBase::kBandwidthInterval
static const uint64_t kBandwidthInterval
Definition:
agent_uve_base.h:70
route_common.h
AgentInit::Start
virtual int Start()
Definition:
agent_init.cc:93
agent_uve.h
LinuxVxlanAgentInit::Start
int Start()
Definition:
linux_vxlan_agent_init.cc:60
AgentUveBase::kIncrementalInterval
static const uint32_t kIncrementalInterval
Definition:
agent_uve_base.h:68
ksync_vxlan_port.h
LinuxVxlanAgentInit::KSyncShutdown
void KSyncShutdown()
Definition:
linux_vxlan_agent_init.cc:95
agent_param.h
linux_bridge.h
LinuxVxlanAgentInit::ConnectToController
void ConnectToController()
Definition:
linux_vxlan_agent_init.cc:88
LinuxVxlanAgentInit::LinuxVxlanAgentInit
LinuxVxlanAgentInit()
Definition:
linux_vxlan_agent_init.cc:46
LinuxVxlanAgentInit::RegisterDBClients
void RegisterDBClients()
Definition:
linux_vxlan_agent_init.cc:78
interface_common.h
vrf.h
KSyncLinuxVxlan
Definition:
linux_vxlan.h:24
bridge_route.h
LinuxVxlanAgentInit::~LinuxVxlanAgentInit
~LinuxVxlanAgentInit()
Definition:
linux_vxlan_agent_init.cc:50
LinuxVxlanAgentInit::CreateModules
void CreateModules()
Definition:
linux_vxlan_agent_init.cc:70
agent_cmn.h
mirror_table.h
AgentInit::agent
Agent * agent() const
Definition:
agent_init.h:26
mpls.h
controller_init.h
vn.h
ksync_entry.h
cfg_init.h
contrail
controller
src
vnsw
agent
vxlan_agent
linux
linux_vxlan_agent_init.cc
Generated by
1.8.5