OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
tor_agent_init.cc
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
3  */
4 #include <cmn/agent_cmn.h>
5 
6 #include <vnc_cfg_types.h>
7 #include <bgp_schema_types.h>
8 #include <agent_types.h>
9 
10 #include <init/agent_param.h>
11 #include <cmn/agent_db.h>
12 
13 #include <oper/operdb_init.h>
14 #include <oper/peer.h>
15 #include <oper/vrf.h>
16 #include <oper/interface_common.h>
17 #include <oper/nexthop.h>
18 #include <oper/multicast.h>
19 #include <oper/vn.h>
20 #include <oper/mirror_table.h>
21 #include <oper/vxlan.h>
22 #include <oper/mpls.h>
23 #include <oper/route_common.h>
24 #include <oper/bridge_route.h>
25 #include <uve/agent_uve.h>
26 
27 #include <cfg/cfg_init.h>
29 
34 
35 #include <string>
36 
37 using std::string;
38 using std::cout;
39 using OVSDB::OvsdbClient;
40 
42 }
43 
45 }
46 
48  (const std::string &config_file, const std::string &program_name) {
49  AgentInit::ProcessOptions(config_file, program_name);
50 }
51 
53  return AgentInit::Start();
54 }
55 
56 /****************************************************************************
57  * Initialization routines
58 ****************************************************************************/
60  TorAgentParam *param = dynamic_cast<TorAgentParam *>(agent_param());
61  return param->tor_id();
62 }
63 
65  return Module::TOR_AGENT;
66 }
67 
69 }
70 
73 }
74 
79  agent()->set_uve(uve_.get());
80  ovsdb_client_.reset(OvsdbClient::Allocate(agent(),
81  static_cast<TorAgentParam *>(agent_param()),
82  ovs_peer_manager()));
84 }
85 
87 }
88 
90  uve_->RegisterDBClients();
91  ovsdb_client_->RegisterClients();
92 }
93 
95  uve_->Init();
96 }
97 
99  agent()->controller()->Connect();
100 }
101 
102 /****************************************************************************
103  * Shutdown routines
104  ****************************************************************************/
106  uve_->Shutdown();
107 }
108 
110  sleep(5);
111 }
112 
113 /****************************************************************************
114  * Access routines
115  ****************************************************************************/
117  return ovs_peer_manager_.get();
118 }
virtual void ProcessOptions(const std::string &config_file, const std::string &program_name)
Definition: agent_init.cc:52
void ProcessOptions(const std::string &config_file, const std::string &program_name)
void set_ovsdb_client(OVSDB::OvsdbClient *client)
Definition: agent.h:1127
string program_name(string filename)
void RegisterDBClients()
void set_uve(AgentUveBase *uve)
Definition: agent.cc:913
void ConnectToController()
void CreateModules()
std::string tor_id() const
void InitModules()
std::unique_ptr< OvsPeerManager > ovs_peer_manager_
VNController * controller() const
Definition: agent.cc:981
static const uint32_t kDefaultInterval
static const uint64_t kBandwidthInterval
virtual int Start()
Definition: agent_init.cc:93
std::unique_ptr< OVSDB::OvsdbClient > ovsdb_client_
static const uint32_t kIncrementalInterval
void CreatePeers()
AgentParam * agent_param() const
Definition: agent_init.h:28
OvsPeerManager * ovs_peer_manager() const
virtual std::string InstanceId()
virtual int ModuleType()
std::unique_ptr< AgentUveBase > uve_
void FactoryInit()
void CreateDBTables()
Agent * agent() const
Definition: agent_init.h:26