OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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.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 
21 
23 public:
25  const VrfAssignKSyncEntry *entry, uint32_t index);
27  virtual ~VrfAssignKSyncEntry();
28 
29  uint16_t vlan_tag() const {return vlan_tag_;};
31  NHKSyncEntry *nh() const;
32  KSyncDBObject *GetObject() const;
33 
34  virtual bool IsLess(const KSyncEntry &rhs) const;
35  virtual std::string ToString() const;
37  virtual bool Sync(DBEntry *e);
38  virtual int AddMsg(char *buf, int buf_len);
39  virtual int ChangeMsg(char *buf, int buf_len);
40  virtual int DeleteMsg(char *buf, int buf_len);
41 private:
42  int Encode(sandesh_op::type op, char *buf, int buf_len);
45  uint16_t vlan_tag_;
46  uint32_t vrf_id_;
49 };
50 
52 public:
54  virtual ~VrfAssignKSyncObject();
55 
56  KSync *ksync() const { return ksync_; }
57 
58  void RegisterDBClients();
59  virtual KSyncEntry *Alloc(const KSyncEntry *entry, uint32_t index);
60  virtual KSyncEntry *DBToKSyncEntry(const DBEntry *e);
61 private:
64 };
65 
66 #endif // vnsw_agent_vrf_assign_ksync_h
DISALLOW_COPY_AND_ASSIGN(VrfAssignKSyncEntry)
virtual bool IsLess(const KSyncEntry &rhs) const
virtual int ChangeMsg(char *buf, int buf_len)
NHKSyncEntry * nh() const
virtual std::string ToString() const
uint16_t vlan_tag() const
VrfAssignKSyncObject(KSync *ksync)
virtual KSyncEntry * UnresolvedReference()
uint8_t type
Definition: load_balance.h:109
VrfAssignKSyncObject * ksync_obj_
virtual KSyncEntry * DBToKSyncEntry(const DBEntry *e)
boost::intrusive_ptr< KSyncEntry > KSyncEntryPtr
Definition: ksync_entry.h:68
virtual int DeleteMsg(char *buf, int buf_len)
KSyncEntryPtr interface_
virtual ~VrfAssignKSyncEntry()
int Encode(sandesh_op::type op, char *buf, int buf_len)
KSync * ksync() const
VrfAssignKSyncEntry(VrfAssignKSyncObject *obj, const VrfAssignKSyncEntry *entry, uint32_t index)
DISALLOW_COPY_AND_ASSIGN(VrfAssignKSyncObject)
InterfaceKSyncEntry * interface() const
virtual bool Sync(DBEntry *e)
virtual KSyncEntry * Alloc(const KSyncEntry *entry, uint32_t index)
KSyncDBObject * GetObject() const
virtual int AddMsg(char *buf, int buf_len)