OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bridge_route_audit_ksync.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef vnsw_agent_bridge_route_audit_ksync_h
6 #define vnsw_agent_bridge_route_audit_ksync_h
7 
8 #include <string>
9 #include <net/mac_address.h>
10 #include <boost/asio.hpp>
11 #include <boost/bind.hpp>
12 
13 #include <ksync/ksync_entry.h>
14 #include <ksync/ksync_object.h>
15 #include <ksync/ksync_netlink.h>
16 #include <vrouter/ksync/agent_ksync_types.h>
18 
20 class KSync;
21 
23 public:
25  uint32_t vrf_id, const MacAddress &mac);
27  const BridgeRouteAuditKSyncEntry *entry);
29 
30  int EncodeDelete(char *buf, int buf_len);
31  KSyncObject *GetObject() const;
32  virtual bool Sync();
34  void FillObjectLog(sandesh_op::type type, KSyncRouteInfo &info) const;
35 
36  std::string ToString() const;
37  bool IsLess(const KSyncEntry &rhs) const;
38  int AddMsg(char *buf, int buf_len);
39  int ChangeMsg(char *buf, int buf_len);
40  int DeleteMsg(char *buf, int buf_len);
41 
42 private:
44  uint32_t vrf_id_;
47 };
48 
50 public:
53 
54  KSyncEntry *Alloc(const KSyncEntry *key, uint32_t index);
55  KSync *ksync() const { return ksync_; }
56 
57 private:
60 };
61 
62 #endif // vnsw_agent_bridge_route_audit_ksync_h
DISALLOW_COPY_AND_ASSIGN(BridgeRouteAuditKSyncObject)
KSyncEntry * Alloc(const KSyncEntry *key, uint32_t index)
DISALLOW_COPY_AND_ASSIGN(BridgeRouteAuditKSyncEntry)
bool IsLess(const KSyncEntry &rhs) const
void FillObjectLog(sandesh_op::type type, KSyncRouteInfo &info) const
int AddMsg(char *buf, int buf_len)
uint8_t type
Definition: load_balance.h:109
int EncodeDelete(char *buf, int buf_len)
int ChangeMsg(char *buf, int buf_len)
BridgeRouteAuditKSyncObject * ksync_obj_
int DeleteMsg(char *buf, int buf_len)
virtual KSyncEntry * UnresolvedReference()
BridgeRouteAuditKSyncEntry(BridgeRouteAuditKSyncObject *obj, uint32_t vrf_id, const MacAddress &mac)