OpenSDN source code
|
#include <mac_learning_proto.h>
Public Types | |
typedef boost::shared_ptr < MacLearningPartition > | MacLearningPartitionPtr |
typedef boost::shared_ptr < MacIpLearningTable > | MacIpLearningTablePtr |
typedef std::vector < MacLearningPartitionPtr > | MacLearningPartitionList |
typedef boost::shared_ptr < MacAgingTable > | MacAgingTablePtr |
![]() | |
typedef WorkQueue < boost::shared_ptr< PktInfo > > | ProtoWorkQueue |
Public Member Functions | |
MacLearningProto (Agent *agent, boost::asio::io_context &io) | |
virtual | ~MacLearningProto () |
virtual bool | Validate (PktInfo *msg) |
virtual ProtoHandler * | AllocProtoHandler (boost::shared_ptr< PktInfo > info, boost::asio::io_context &io) |
MacLearningPartition * | Find (uint32_t index) |
void | Delete (uint32_t index) |
bool | Enqueue (PktInfoPtr msg) |
void | Init () |
uint32_t | Hash (uint32_t vrf_id, const MacAddress &mac) |
uint32_t | size () |
TokenPool * | add_tokens () |
TokenPool * | change_tokens () |
TokenPool * | delete_tokens () |
TokenPtr | GetToken (MacLearningEntryRequest::Event event) |
virtual void | TokenAvailable (TokenPool *pool) |
MacIpLearningTable * | GetMacIpLearningTable () |
![]() | |
Proto (Agent *agent, const char *task_name, PktHandler::PktModuleName mod, boost::asio::io_context &io) | |
virtual | ~Proto () |
virtual bool | Enqueue (boost::shared_ptr< PktInfo > msg) |
virtual void | ProcessStats (PktStatsType::Type type) |
void | FreeBuffer (PktInfo *msg) |
bool | ProcessProto (boost::shared_ptr< PktInfo > msg_info) |
bool | RunProtoHandler (ProtoHandler *handler) |
void | set_trace (bool val) |
void | set_free_buffer (bool val) |
boost::asio::io_context & | get_io_service () const |
Agent * | agent () const |
const ProtoWorkQueue * | work_queue () const |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (MacLearningProto) | |
Private Attributes | |
tbb::mutex::scoped_lock | mutex_ |
MacLearningPartitionList | mac_learning_partition_list_ |
MacIpLearningTablePtr | mac_ip_learning_tbl_ |
TokenPool | add_tokens_ |
TokenPool | change_tokens_ |
TokenPool | delete_tokens_ |
Additional Inherited Members | |
![]() | |
Agent * | agent_ |
PktHandler::PktModuleName | module_ |
bool | trace_ |
bool | free_buffer_ |
boost::asio::io_context & | io_ |
ProtoWorkQueue | work_queue_ |
Definition at line 20 of file mac_learning_proto.h.
typedef boost::shared_ptr<MacAgingTable> MacLearningProto::MacAgingTablePtr |
Definition at line 26 of file mac_learning_proto.h.
typedef boost::shared_ptr<MacIpLearningTable> MacLearningProto::MacIpLearningTablePtr |
Definition at line 23 of file mac_learning_proto.h.
typedef std::vector<MacLearningPartitionPtr> MacLearningProto::MacLearningPartitionList |
Definition at line 24 of file mac_learning_proto.h.
typedef boost::shared_ptr<MacLearningPartition> MacLearningProto::MacLearningPartitionPtr |
Definition at line 22 of file mac_learning_proto.h.
MacLearningProto::MacLearningProto | ( | Agent * | agent, |
boost::asio::io_context & | io | ||
) |
|
inlinevirtual |
Definition at line 30 of file mac_learning_proto.h.
|
inline |
Definition at line 48 of file mac_learning_proto.h.
|
virtual |
Implements Proto.
Definition at line 24 of file mac_learning_proto.cc.
|
inline |
Definition at line 52 of file mac_learning_proto.h.
|
inline |
Definition at line 38 of file mac_learning_proto.h.
|
inline |
Definition at line 56 of file mac_learning_proto.h.
|
private |
bool MacLearningProto::Enqueue | ( | PktInfoPtr | msg | ) |
MacLearningPartition * MacLearningProto::Find | ( | uint32_t | index | ) |
Definition at line 81 of file mac_learning_proto.cc.
MacIpLearningTable * MacLearningProto::GetMacIpLearningTable | ( | ) |
Definition at line 107 of file mac_learning_proto.cc.
TokenPtr MacLearningProto::GetToken | ( | MacLearningEntryRequest::Event | event | ) |
uint32_t MacLearningProto::Hash | ( | uint32_t | vrf_id, |
const MacAddress & | mac | ||
) |
void MacLearningProto::Init | ( | ) |
|
inline |
Definition at line 44 of file mac_learning_proto.h.
|
virtual |
Reimplemented from Proto.
Definition at line 90 of file mac_learning_proto.cc.
|
inlinevirtual |
Reimplemented from Proto.
Definition at line 32 of file mac_learning_proto.h.
|
private |
Definition at line 68 of file mac_learning_proto.h.
|
private |
Definition at line 69 of file mac_learning_proto.h.
|
private |
Definition at line 70 of file mac_learning_proto.h.
|
private |
Definition at line 67 of file mac_learning_proto.h.
|
private |
Definition at line 66 of file mac_learning_proto.h.
|
private |
Definition at line 65 of file mac_learning_proto.h.