OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vgw.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 #ifndef vnsw_agent_vgw_h
5 #define vnsw_agent_vgw_h
6 
7 // Simple Virtual Gateway operational class
8 // Creates the interface, route and nexthop for virtual-gateway
10 public:
11  VirtualGateway(Agent *agent);
13  void InterfaceNotify(DBTablePartBase *partition, DBEntryBase *entry);
14 
15  void Init();
16  void Shutdown();
17  void CreateVrf();
18  void CreateVrf(const std::string &vrf_name);
19  void DeleteVrf(const std::string &vrf_name);
20  void CreateInterfaces(Interface::Transport transport);
21  void CreateInterface(const std::string &interface_name,
22  const std::string &vrf_name,
23  Interface::Transport transport);
24  void DeleteInterface(const std::string &interface_name);
25  void SubnetUpdate(const VirtualGatewayConfig &vgw,
26  const VirtualGatewayConfig::SubnetList &add_list,
27  const VirtualGatewayConfig::SubnetList &del_list);
28  void RouteUpdate(const VirtualGatewayConfig &vgw,
29  const VirtualGatewayConfig::SubnetList &new_list,
30  const VirtualGatewayConfig::SubnetList &add_list,
31  const VirtualGatewayConfig::SubnetList &del_list,
32  bool add_default_route);
33  void RegisterDBClients();
34 
35 private:
36  void SubnetUpdate(const std::string &vrf,
38  const VirtualGatewayConfig::SubnetList &add_list,
39  const VirtualGatewayConfig::SubnetList &del_list);
40  void RouteUpdate(const VirtualGatewayConfig &vgw, uint32_t new_list_size,
42  const VirtualGatewayConfig::SubnetList &add_list,
43  const VirtualGatewayConfig::SubnetList &del_list,
44  bool add_default_route, bool del_default_route);
45 
46  // Cached entries
50 
52 };
53 
54 #endif //vnsw_agent_vgw_h
void SubnetUpdate(const VirtualGatewayConfig &vgw, const VirtualGatewayConfig::SubnetList &add_list, const VirtualGatewayConfig::SubnetList &del_list)
Definition: vgw.cc:148
void RegisterDBClients()
Definition: vgw.cc:95
void CreateInterfaces(Interface::Transport transport)
Definition: vgw.cc:122
int ListenerId
Definition: db_table.h:62
Agent * agent_
Definition: vgw.h:47
void DeleteInterface(const std::string &interface_name)
Definition: vgw.cc:143
DISALLOW_COPY_AND_ASSIGN(VirtualGateway)
void Shutdown()
Definition: vgw.cc:246
~VirtualGateway()
Definition: vgw.h:12
void RouteUpdate(const VirtualGatewayConfig &vgw, const VirtualGatewayConfig::SubnetList &new_list, const VirtualGatewayConfig::SubnetList &add_list, const VirtualGatewayConfig::SubnetList &del_list, bool add_default_route)
Definition: vgw.cc:188
Definition: agent.h:358
void InterfaceNotify(DBTablePartBase *partition, DBEntryBase *entry)
Definition: vgw.cc:36
VirtualGatewayConfigTable * vgw_config_table_
Definition: vgw.h:49
void CreateInterface(const std::string &interface_name, const std::string &vrf_name, Interface::Transport transport)
Definition: vgw.cc:134
VirtualGateway(Agent *agent)
Definition: vgw.cc:26
void Init()
Definition: vgw.cc:243
std::vector< Subnet > SubnetList
Definition: cfg_vgw.h:30
DBTableBase::ListenerId listener_id_
Definition: vgw.h:48
void DeleteVrf(const std::string &vrf_name)
Definition: vgw.cc:117
void CreateVrf()
Definition: vgw.cc:101