17 mac_entry_(ptr), intf_(this), vrf_(this), rt_(this), vn_(this),
70 if (mac_ip_entry != NULL) {
79 type_(
type), db_entry_(entry), deleted_(false) {
85 iter != mac_entry_list_.end(); iter++) {
101 iter != mac_entry_list_.end(); iter++) {
112 if (mac_entry_list_.empty() ==
false ||
tree_->
Find(
this) == NULL) {
147 mac_learning_mac_manager_(mgr) {
216 Tree::iterator it =
tree_.find(e);
217 if (it ==
tree_.end()) {
238 MacLearningNodeTree::iterator it =
242 ptr->mac_learning_entry()));
243 node->UpdateRef(
this);
247 it->second->set_mac_learning_entry(ptr->mac_learning_entry());
248 it->second->UpdateRef(
this);
257 MacIpLearningNodeTree::iterator it =
261 ptr->mac_learning_entry()));
262 node->UpdateRef(
this);
266 it->second->set_mac_learning_entry(ptr->mac_learning_entry());
267 it->second->UpdateRef(
this);
293 entry->
Delete(
true, notify_event);
308 switch(ptr->event()) {
358 if (mgmt_entry != NULL) {
372 if (rt_entry_ptr && rt_entry_ptr->
vrf() == vrf_name) {
435 if (mgmt_entry != NULL) {
448 if (mgmt_entry != NULL) {
461 if (mgmt_entry != NULL) {
473 if (mgmt_entry != NULL) {
484 if (mgmt_entry != NULL) {
496 agent_(agent), intf_tree_(this), vrf_tree_(this), rt_tree_(this),
497 vn_tree_(NULL), hc_tree_(NULL),
#define kTaskMacLearningMgmt
AgentDBEntry * Find(const DBEntry *key, bool ret_del)
virtual const PrefixType & prefix_address() const
Returns the value of a stored prefix address (IPv4, IPv6 or MAC address)
Base class for all Route entries in agent.
MacLearningProto * mac_learning_proto() const
VrfTable * vrf_table() const
static Agent * GetInstance()
void reset(ObjectType *ptr)
static const MacAddress & ZeroMac()
const MacIpLearningKey & key() const
const HealthCheckService * HcService()
const MacAddress & bmac() const
MacLearningMgmtDBEntry(Type type_, const DBEntry *entry)
MacLearningMgmtDBTree * tree_
void Delete(bool set_delete, bool notify_event=true)
const DBEntry * db_entry_
MacLearningMgmtDBTree * tree() const
void set_gen_id(uint32_t gen_id)
void set_tree(MacLearningMgmtDBTree *tree)
void set_db_entry(const DBEntry *entry)
std::pair< MacLearningMgmtDBEntry *, MacLearningMgmtDBEntry * > MacLearningMgmtDBPair
void Erase(MacLearningMgmtDBEntry *entry)
MacLearningMgmtDBTree(MacLearningMgmtManager *mgr)
MacLearningMgmtDBEntry * LowerBound(MacLearningMgmtDBEntry *entry)
MacLearningMgmtDBEntry * Find(MacLearningMgmtDBEntry *entry)
void Change(MacLearningMgmtDBEntry *entry)
MacLearningMgmtManager * mac_learning_mac_manager()
void Delete(MacLearningMgmtDBEntry *entry)
void TryDelete(MacLearningMgmtDBEntry *db_entry)
void Add(MacLearningMgmtDBEntry *entry)
MacLearningMgmtHcServiceEntry(const HealthCheckService *hc)
MacLearningMgmtIntfEntry(const Interface *intf)
void DeleteMacIpLearningEntry(MacLearningMgmtRequestPtr ptr)
MacLearningMgmtManager(Agent *agent)
void AddMacLearningEntry(MacLearningMgmtRequestPtr ptr)
MacLearningMgmtDBEntry * Find(const DBEntry *e)
MacLearningMgmtDBTree hc_tree_
void DeleteDBEntry(MacLearningMgmtRequestPtr ptr, bool notify_event=true)
void DeleteAllEntry(MacLearningMgmtRequestPtr ptr)
MacLearningNodeTree mac_learning_node_tree_
void Enqueue(MacLearningMgmtRequestPtr &ptr)
MacLearningMgmtDBTree rt_tree_
void DeleteMacLearningEntry(MacLearningMgmtRequestPtr ptr)
MacIpLearningNodeTree mac_ip_learning_node_tree_
MacLearningMgmtDBTree vrf_tree_
void AddMacIpLearningEntry(MacLearningMgmtRequestPtr ptr)
void AddDBEntry(MacLearningMgmtRequestPtr ptr)
bool RequestHandler(MacLearningMgmtRequestPtr ptr)
MacLearningMgmtDBTree * vrf_tree()
std::pair< MacLearningKey, MacLearningMgmtNodePtr > MacLearningNodePair
MacLearningMgmtQueue request_queue_
MacLearningMgmtDBTree intf_tree_
std::pair< MacIpLearningKey, MacLearningMgmtNodePtr > MacIpLearningNodePair
MacLearningMgmtDBEntry * Locate(const DBEntry *e)
bool IsVrfRouteEmpty(const std::string &vrf_name)
MacLearningMgmtDBTree vn_tree_
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > hc_service_
MacLearningEntryPtr mac_learning_entry()
void UpdateRef(MacLearningMgmtManager *mgr)
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > vrf_
virtual ~MacLearningMgmtNode()
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > rt_
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > intf_
MacLearningMgmtNode(MacLearningEntryPtr ptr)
MacLearningEntryPtr mac_entry_
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > vn_
MacLearningMgmtRouteEntry(const AgentRoute *rt)
const std::string & vrf()
MacLearningMgmtVnEntry(const VnEntry *vn)
MacLearningMgmtVrfEntry(const VrfEntry *vrf)
bool Enqueue(PktInfoPtr msg)
const MacLearningKey & key() const
const string & GetName() const
const std::string bmac_vrf_name() const
bool Enqueue(QueueEntryT entry)
boost::shared_ptr< MacLearningEntry > MacLearningEntryPtr
boost::shared_ptr< MacLearningEntryRequest > MacLearningEntryRequestPtr
boost::shared_ptr< MacLearningMgmtNode > MacLearningMgmtNodePtr
boost::shared_ptr< MacLearningMgmtRequest > MacLearningMgmtRequestPtr