OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
linux_vxlan_agent_init.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef vnsw_linux_vlan_agent_init_hpp
6 #define vnsw_linux_vlan_agent_init_hpp
7 
8 #include <boost/program_options.hpp>
9 #include <init/agent_init.h>
10 
11 class Agent;
12 class AgentParam;
13 class KSyncVxlan;
14 class AgentUveBase;
15 
16 // The class to drive agent initialization.
17 // Defines control parameters used to enable/disable agent features
19 public:
22 
23  void ProcessOptions(const std::string &config_file,
24  const std::string &program_name);
25 
26  int Start();
27 
28  // Initialization virtual methods
29  void FactoryInit();
30  void CreateModules();
31  void RegisterDBClients();
32  void InitModules();
33  void ConnectToController();
34 
35  // Shutdown virtual methods
36  void KSyncShutdown();
37  void UveShutdown();
38  void WaitForIdle();
39 
40 private:
41  std::unique_ptr<KSyncVxlan> ksync_vxlan_;
42  std::unique_ptr<AgentUveBase> uve_;
44 };
45 
46 #endif // vnsw_linux_vlan_agent_init_hpp
string program_name(string filename)
void ProcessOptions(const std::string &config_file, const std::string &program_name)
std::unique_ptr< KSyncVxlan > ksync_vxlan_
Definition: agent.h:358
std::unique_ptr< AgentUveBase > uve_
DISALLOW_COPY_AND_ASSIGN(LinuxVxlanAgentInit)