OpenSDN source code
vrf_assign_ksync.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3
*/
4
5
#ifndef vnsw_agent_vrf_assign_ksync_h
6
#define vnsw_agent_vrf_assign_ksync_h
7
8
#include <boost/asio.hpp>
9
#include <boost/bind/bind.hpp>
10
11
#include <
db/db_entry.h
>
12
#include <
db/db_table.h
>
13
#include <
db/db_table_partition.h
>
14
#include "vr_interface.h"
15
#include <
ksync/ksync_entry.h
>
16
#include <
ksync/ksync_object.h
>
17
#include <
ksync/ksync_netlink.h
>
18
#include "
oper/vrf_assign.h
"
19
20
using namespace
boost::placeholders;
21
22
class
VrfAssignKSyncObject
;
23
24
class
VrfAssignKSyncEntry
:
public
KSyncNetlinkDBEntry
{
25
public
:
26
VrfAssignKSyncEntry
(
VrfAssignKSyncObject
* obj,
27
const
VrfAssignKSyncEntry
*entry, uint32_t index);
28
VrfAssignKSyncEntry
(
VrfAssignKSyncObject
* obj,
const
VrfAssign
*rule);
29
virtual
~
VrfAssignKSyncEntry
();
30
31
uint16_t
vlan_tag
()
const
{
return
vlan_tag_;};
32
InterfaceKSyncEntry
*interface()
const
;
33
NHKSyncEntry
*nh()
const
;
34
KSyncDBObject
*GetObject()
const
;
35
36
virtual
bool
IsLess
(
const
KSyncEntry
&rhs)
const
;
37
virtual
std::string
ToString
()
const
;
38
virtual
KSyncEntry
*UnresolvedReference();
39
virtual
bool
Sync(
DBEntry
*e);
40
virtual
int
AddMsg(
char
*buf,
int
buf_len);
41
virtual
int
ChangeMsg(
char
*buf,
int
buf_len);
42
virtual
int
DeleteMsg(
char
*buf,
int
buf_len);
43
private
:
44
int
Encode(
sandesh_op::type
op,
char
*buf,
int
buf_len);
45
VrfAssignKSyncObject
*
ksync_obj_
;
46
KSyncEntryPtr
interface_
;
47
uint16_t
vlan_tag_
;
48
uint32_t
vrf_id_
;
49
KSyncEntryPtr
nh_
;
50
DISALLOW_COPY_AND_ASSIGN
(
VrfAssignKSyncEntry
);
51
};
52
53
class
VrfAssignKSyncObject
:
public
KSyncDBObject
{
54
public
:
55
VrfAssignKSyncObject
(
KSync
*ksync);
56
virtual
~
VrfAssignKSyncObject
();
57
58
KSync
*
ksync
()
const
{
return
ksync_; }
59
60
void
RegisterDBClients();
61
virtual
KSyncEntry
*Alloc(
const
KSyncEntry
*entry, uint32_t index);
62
virtual
KSyncEntry
*DBToKSyncEntry(
const
DBEntry
*e);
63
private
:
64
KSync
*
ksync_
;
65
DISALLOW_COPY_AND_ASSIGN
(
VrfAssignKSyncObject
);
66
};
67
68
#endif
// vnsw_agent_vrf_assign_ksync_h
IsLess
static bool IsLess(const ShowRoute &lhs, const ShowRoute &rhs, const BgpSandeshContext *bsc, const string &table_name)
Definition:
bgp_show_route.cc:23
DBEntry
Definition:
db_entry.h:96
InterfaceKSyncEntry
Definition:
interface_ksync.h:36
KSyncDBObject
Definition:
ksync_object.h:208
KSyncEntry
Definition:
ksync_entry.h:33
KSyncEntry::KSyncEntryPtr
boost::intrusive_ptr< KSyncEntry > KSyncEntryPtr
Definition:
ksync_entry.h:68
KSyncNetlinkDBEntry
Definition:
ksync_netlink.h:50
KSync
Definition:
ksync_init.h:27
NHKSyncEntry
Definition:
nexthop_ksync.h:27
VrfAssignKSyncEntry
Definition:
vrf_assign_ksync.h:24
VrfAssignKSyncEntry::ksync_obj_
VrfAssignKSyncObject * ksync_obj_
Definition:
vrf_assign_ksync.h:45
VrfAssignKSyncEntry::interface_
KSyncEntryPtr interface_
Definition:
vrf_assign_ksync.h:46
VrfAssignKSyncEntry::vlan_tag_
uint16_t vlan_tag_
Definition:
vrf_assign_ksync.h:47
VrfAssignKSyncEntry::nh_
KSyncEntryPtr nh_
Definition:
vrf_assign_ksync.h:49
VrfAssignKSyncEntry::DISALLOW_COPY_AND_ASSIGN
DISALLOW_COPY_AND_ASSIGN(VrfAssignKSyncEntry)
VrfAssignKSyncEntry::vlan_tag
uint16_t vlan_tag() const
Definition:
vrf_assign_ksync.h:31
VrfAssignKSyncEntry::vrf_id_
uint32_t vrf_id_
Definition:
vrf_assign_ksync.h:48
VrfAssignKSyncObject
Definition:
vrf_assign_ksync.h:53
VrfAssignKSyncObject::DISALLOW_COPY_AND_ASSIGN
DISALLOW_COPY_AND_ASSIGN(VrfAssignKSyncObject)
VrfAssignKSyncObject::ksync_
KSync * ksync_
Definition:
vrf_assign_ksync.h:64
VrfAssignKSyncObject::ksync
KSync * ksync() const
Definition:
vrf_assign_ksync.h:58
VrfAssign
Definition:
vrf_assign.h:16
db_entry.h
db_table.h
db_table_partition.h
ksync_entry.h
ksync_netlink.h
ksync_object.h
type
uint8_t type
Definition:
load_balance.h:2
ToString
static string ToString(PhysicalDevice::ManagementProtocol proto)
Definition:
physical_device.cc:33
vrf_assign.h
contrail
controller
src
vnsw
agent
vrouter
ksync
vrf_assign_ksync.h
Generated by
1.9.1