5 #ifndef SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_LOGICAL_SWITCH_OVSDB_H_
6 #define SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_LOGICAL_SWITCH_OVSDB_H_
17 class LogicalSwitchEntry;
27 typedef std::map<struct ovsdb_idl_row *, LogicalSwitchEntry *>
OvsdbIdlRowMap;
52 return "LogicalSwitchTable::ProcessDeleteTableReqTask";
80 struct ovsdb_idl_row *entry);
85 void AddMsg(
struct ovsdb_idl_txn *);
92 const std::string &
name()
const;
101 std::string
ToString()
const {
return "Logical Switch";}
107 void Ack(
bool success);
132 void DeleteOvs(
bool add_change_in_progress);
161 return "LogicalSwitchEntry::ProcessDeleteOvsReqTask";
221 #endif //SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_LOGICAL_SWITCH_OVSDB_H_
KSyncEntryPtr pl_create_ref_
KSyncEntry::KSyncEntryPtr entry_
ProcessDeleteOvsReqTask * del_task_
std::string Description() const
bool is_local_mac_ref_set() const
OvsdbIdlRowList old_mcast_remote_row_list_
virtual void StaleTimerExpired()
void DeleteOldMcastRemoteMac()
uint32_t ucast_local_row_list_size() const
KSyncEntry * Alloc(const KSyncEntry *key, uint32_t index)
virtual void NotifyDelete(struct ovsdb_idl_row *)
LogicalSwitchTable(OvsdbClientIdl *idl)
bool IsLocalMacsRef() const
KSyncEntry * DBToKSyncEntry(const DBEntry *)
virtual ~LogicalSwitchEntry()
virtual ~ProcessDeleteOvsReqTask()
std::pair< void *, void * > IntrusiveReferrer
IntrusivePtrRef< LogicalSwitchEntry > LogicalSwitchRef
OvsdbIdlRowList mcast_local_row_list_
bool IsLess(const KSyncEntry &) const
DBFilterResp OvsdbDBEntryFilter(const DBEntry *entry, const OvsdbDBEntry *ovsdb_entry)
uint32_t old_mcast_remote_row_list_size() const
std::string Description() const
bool Run()
Code to execute. Returns true if task is completed. Return false to reschedule the task...
void ChangeMsg(struct ovsdb_idl_txn *)
std::map< struct ovsdb_idl_row *, LogicalSwitchEntry * > OvsdbIdlRowMap
static const int kEntriesPerIteration
bool IsDeleteOvsInProgress() const
KSyncEntry::KSyncEntryPtr entry_
std::string ToString() const
OvsdbDBEntry * AllocOvsEntry(struct ovsdb_idl_row *row)
KSyncEntryPtr local_mac_ref_
static const int kEntriesPerIteration
KSyncEntry::KSyncEntryPtr begin_ref_
std::string tor_service_node() const
void OvsdbMcastRemoteMacNotify(OvsdbClientIdl::Op, struct ovsdb_idl_row *)
boost::intrusive_ptr< KSyncEntry > KSyncEntryPtr
KSyncEntryPtr physical_switch_
const std::string & name() const
void AddMsg(struct ovsdb_idl_txn *)
DISALLOW_COPY_AND_ASSIGN(LogicalSwitchEntry)
KSyncEntry * UnresolvedReference()
DISALLOW_COPY_AND_ASSIGN(ProcessDeleteTableReqTask)
std::set< IntrusiveReferrer > back_ref_set_
friend void intrusive_ptr_add_back_ref(IntrusiveReferrer ref, LogicalSwitchEntry *p)
void OvsdbNotify(OvsdbClientIdl::Op, struct ovsdb_idl_row *)
virtual ~ProcessDeleteTableReqTask()
OvsdbIdlRowMap idl_row_map_
void OvsdbMcastLocalMacNotify(OvsdbClientIdl::Op, struct ovsdb_idl_row *)
OvsdbIdlRowList ucast_local_row_list_
boost::asio::ip::address_v4 Ip4Address
Ip4Address & physical_switch_tunnel_ip()
DISALLOW_COPY_AND_ASSIGN(ProcessDeleteOvsReqTask)
uint32_t mcast_local_row_list_size() const
void ProcessDeleteTableReq()
void SendTrace(Trace event) const
std::set< struct ovsdb_idl_row * > OvsdbIdlRowList
DISALLOW_COPY_AND_ASSIGN(LogicalSwitchTable)
virtual ~LogicalSwitchTable()
ProcessDeleteOvsReqTask(LogicalSwitchEntry *entry)
OvsdbResourceVxLanId & res_vxlan_id()
void DeleteMsg(struct ovsdb_idl_txn *)
friend void intrusive_ptr_del_back_ref(IntrusiveReferrer ref, LogicalSwitchEntry *p)
void DeleteOvs(bool add_change_in_progress)
const std::string & device_name() const
bool is_mcast_remote_set() const
LogicalSwitchTable * table_
bool Run()
Code to execute. Returns true if task is completed. Return false to reschedule the task...
struct ovsdb_idl_row * mcast_remote_row_
void ReleaseLocatorCreateReference()
OvsdbResourceVxLanId res_vxlan_id_
Task is a wrapper over tbb::task to support policies.
LogicalSwitchEntry(OvsdbDBObject *table, const std::string &name)
void OvsdbUcastLocalMacNotify(OvsdbClientIdl::Op, struct ovsdb_idl_row *)
ProcessDeleteTableReqTask(LogicalSwitchTable *table)