OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MacIpLearningTable Class Reference

#include <mac_ip_learning.h>

Collaboration diagram for MacIpLearningTable:

Public Types

typedef std::pair
< MacIpLearningKey,
MacLearningEntryPtr
MacIpLearningEntryPair
 
typedef std::map
< MacIpLearningKey,
MacLearningEntryPtr,
MacIpLearningKeyCmp
MacIpLearningEntryMap
 

Public Member Functions

 MacIpLearningTable (Agent *agent, MacLearningProto *proto)
 
virtual ~MacIpLearningTable ()
 
void Add (MacLearningEntryPtr ptr)
 
void Resync (MacLearningEntryPtr ptr)
 
void Delete (MacLearningEntryPtr ptr)
 
void DetectIpMove (MacLearningEntryRequestPtr ptr)
 
void MacIpEntryUnreachable (MacLearningEntryRequestPtr ptr)
 
void MacIpEntryUnreachable (uint32_t vrf_id, IpAddress &ip, MacAddress &mac)
 
void MacIpEntryHcNotify (const HealthCheckInstanceService *instance_service)
 
MacIpLearningEntryFind (const MacIpLearningKey &key)
 
MacAddress GetPairedMacAddress (uint32_t vrf_id, const IpAddress &ip)
 
bool RequestHandler (MacLearningEntryRequestPtr ptr)
 
Agentagent ()
 
void SetQueueDisable (bool disable)
 
void Enqueue (MacLearningEntryRequestPtr req)
 
void EnqueueMgmtReq (MacLearningEntryPtr ptr, bool add)
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (MacIpLearningTable)
 

Private Attributes

Agentagent_
 
MacIpLearningEntryMap mac_ip_learning_entry_map_
 
MacIpLearningRequestQueue work_queue_
 
tbb::mutex macip_map_mutex_
 

Detailed Description

Definition at line 71 of file mac_ip_learning.h.

Member Typedef Documentation

Constructor & Destructor Documentation

MacIpLearningTable::MacIpLearningTable ( Agent agent,
MacLearningProto proto 
)

Definition at line 19 of file mac_ip_learning.cc.

Here is the call graph for this function:

virtual MacIpLearningTable::~MacIpLearningTable ( )
inlinevirtual

Definition at line 80 of file mac_ip_learning.h.

Member Function Documentation

void MacIpLearningTable::Add ( MacLearningEntryPtr  ptr)

Definition at line 64 of file mac_ip_learning.cc.

Here is the call graph for this function:

Agent* MacIpLearningTable::agent ( )
inline

Definition at line 94 of file mac_ip_learning.h.

void MacIpLearningTable::Delete ( MacLearningEntryPtr  ptr)

Definition at line 119 of file mac_ip_learning.cc.

Here is the call graph for this function:

void MacIpLearningTable::DetectIpMove ( MacLearningEntryRequestPtr  ptr)

Definition at line 160 of file mac_ip_learning.cc.

Here is the call graph for this function:

MacIpLearningTable::DISALLOW_COPY_AND_ASSIGN ( MacIpLearningTable  )
private
void MacIpLearningTable::Enqueue ( MacLearningEntryRequestPtr  req)

Definition at line 222 of file mac_ip_learning.cc.

Here is the call graph for this function:

void MacIpLearningTable::EnqueueMgmtReq ( MacLearningEntryPtr  ptr,
bool  add 
)

Definition at line 56 of file mac_ip_learning.cc.

Here is the call graph for this function:

MacIpLearningEntry * MacIpLearningTable::Find ( const MacIpLearningKey key)

Definition at line 227 of file mac_ip_learning.cc.

MacAddress MacIpLearningTable::GetPairedMacAddress ( uint32_t  vrf_id,
const IpAddress ip 
)

Definition at line 237 of file mac_ip_learning.cc.

Here is the call graph for this function:

void MacIpLearningTable::MacIpEntryHcNotify ( const HealthCheckInstanceService instance_service)

Definition at line 189 of file mac_ip_learning.cc.

Here is the call graph for this function:

void MacIpLearningTable::MacIpEntryUnreachable ( MacLearningEntryRequestPtr  ptr)

Definition at line 204 of file mac_ip_learning.cc.

Here is the call graph for this function:

void MacIpLearningTable::MacIpEntryUnreachable ( uint32_t  vrf_id,
IpAddress ip,
MacAddress mac 
)

Definition at line 182 of file mac_ip_learning.cc.

Here is the call graph for this function:

bool MacIpLearningTable::RequestHandler ( MacLearningEntryRequestPtr  ptr)

Definition at line 26 of file mac_ip_learning.cc.

Here is the call graph for this function:

void MacIpLearningTable::Resync ( MacLearningEntryPtr  ptr)

Definition at line 142 of file mac_ip_learning.cc.

Here is the call graph for this function:

void MacIpLearningTable::SetQueueDisable ( bool  disable)
inline

Definition at line 98 of file mac_ip_learning.h.

Here is the call graph for this function:

Member Data Documentation

Agent* MacIpLearningTable::agent_
private

Definition at line 106 of file mac_ip_learning.h.

MacIpLearningEntryMap MacIpLearningTable::mac_ip_learning_entry_map_
private

Definition at line 107 of file mac_ip_learning.h.

tbb::mutex MacIpLearningTable::macip_map_mutex_
private

Definition at line 109 of file mac_ip_learning.h.

MacIpLearningRequestQueue MacIpLearningTable::work_queue_
private

Definition at line 108 of file mac_ip_learning.h.


The documentation for this class was generated from the following files: