OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ksync_vxlan.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 <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 
26 #include "ksync_vxlan.h"
27 #include "ksync_vxlan_bridge.h"
28 #include "ksync_vxlan_port.h"
29 #include "ksync_vxlan_route.h"
30 
32 
34  agent_(agent), bridge_obj_(nullptr), port_obj_(nullptr), vrf_obj_(nullptr) {
35 }
36 
38 }
39 
41  return bridge_obj_.get();
42 }
43 
45  bridge_obj_.reset(obj);
46 }
47 
49  return port_obj_.get();
50 }
51 
53  port_obj_.reset(obj);
54 }
55 
57  return vrf_obj_.get();
58 }
59 
61  vrf_obj_.reset(obj);
62 }
63 
65  return defer_entry_;
66 }
67 
69  defer_entry_ = entry;
70 }
71 
74  bridge_obj_.get()->RegisterDBClients();
75  port_obj_.get()->RegisterDBClients();
76  vrf_obj_.get()->RegisterDBClients();
77 }
78 
80  bridge_obj_.get()->Init();
81  port_obj_.get()->Init();
82  vrf_obj_.get()->Init();
83 }
84 
86  bridge_obj_.reset(nullptr);
87  port_obj_.reset(nullptr);
88  vrf_obj_.reset(nullptr);
90 }
static KSyncEntry * defer_entry()
Definition: ksync_vxlan.cc:64
KSyncVxlanVrfObject * vrf_obj() const
Definition: ksync_vxlan.cc:56
std::unique_ptr< KSyncVxlanBridgeObject > bridge_obj_
Definition: ksync_vxlan.h:58
KSyncVxlan(Agent *agent)
Definition: ksync_vxlan.cc:33
Definition: db.h:24
void set_port_obj(KSyncVxlanPortObject *obj)
Definition: ksync_vxlan.cc:52
Definition: agent.h:358
virtual ~KSyncVxlan()
Definition: ksync_vxlan.cc:37
std::unique_ptr< KSyncVxlanVrfObject > vrf_obj_
Definition: ksync_vxlan.h:60
void Shutdown()
Definition: ksync_vxlan.cc:85
std::unique_ptr< KSyncVxlanPortObject > port_obj_
Definition: ksync_vxlan.h:59
void set_vrf_obj(KSyncVxlanVrfObject *obj)
Definition: ksync_vxlan.cc:60
KSyncVxlanBridgeObject * bridge_obj() const
Definition: ksync_vxlan.cc:40
static KSyncObjectManager * Init()
void set_bridge_obj(KSyncVxlanBridgeObject *obj)
Definition: ksync_vxlan.cc:44
static void set_defer_entry(KSyncEntry *entry)
Definition: ksync_vxlan.cc:68
static void Shutdown()
KSyncVxlanPortObject * port_obj() const
Definition: ksync_vxlan.cc:48
void Init()
Definition: ksync_vxlan.cc:79
static KSyncEntry * defer_entry_
Definition: ksync_vxlan.h:61
void RegisterDBClients(DB *db)
Definition: ksync_vxlan.cc:72