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