OpenSDN source code
|
#include <flow_entry.h>
Public Types | |
typedef boost::shared_ptr< Port > | PortPtr |
typedef IndexVector< PortPtr > | PortList |
typedef std::map< uint16_t, uint16_t > | PortToBitIndexMap |
typedef std::pair< uint16_t, uint16_t > | PortToBitIndexPair |
typedef IndexVector< FlowKey > | PortBitMap |
typedef boost::shared_ptr < PortBitMap > | PortBitMapPtr |
typedef std::vector < PortBitMapPtr > | PortHashTable |
Public Member Functions | |
PortTable (Agent *agent, uint32_t bucket_size, uint8_t protocol) | |
~PortTable () | |
uint16_t | Allocate (const FlowKey &key) |
void | Free (const FlowKey &key, uint16_t port, bool release) |
uint16_t | HashFlowKey (const FlowKey &key) |
Agent * | agent () |
uint16_t | port_count () const |
void | set_timeout (uint64_t timeout) |
tbb::recursive_mutex & | mutex () |
void | UpdatePortConfig (const PortConfig *port_config) |
uint16_t | GetPortIndex (uint16_t port) const |
const PortConfig * | port_config () const |
std::vector< uint16_t > | GetPortList () const |
void | GetFlowKeyList (uint16_t port, std::vector< FlowKey > &key) const |
Static Public Attributes | |
static const uint8_t | kInvalidPort = 0 |
Private Member Functions | |
PortPtr | CreatePortEntry (uint16_t port_no) |
void | AddPort (uint16_t port_no) |
void | DeletePort (uint16_t port_no) |
void | Relocate (uint16_t port_no) |
bool | IsValidPort (uint16_t port, uint16_t count) |
void | DeleteAllFlow (uint16_t port, uint16_t index) |
bool | HandlePortConfig (const PortConfig &pc) |
Private Attributes | |
Agent * | agent_ |
uint8_t | protocol_ |
PortCacheTable | cache_ |
uint16_t | hash_table_size_ |
PortHashTable | hash_table_ |
PortList | port_list_ |
PortToBitIndexMap | port_to_bit_index_ |
PortConfig | port_config_ |
tbb::recursive_mutex | mutex_ |
std::unique_ptr< TaskTrigger > | task_trigger_ |
Definition at line 1010 of file flow_entry.h.
typedef IndexVector<FlowKey> PortTable::PortBitMap |
Definition at line 1020 of file flow_entry.h.
typedef boost::shared_ptr<PortBitMap> PortTable::PortBitMapPtr |
Definition at line 1021 of file flow_entry.h.
typedef std::vector<PortBitMapPtr> PortTable::PortHashTable |
Definition at line 1022 of file flow_entry.h.
typedef IndexVector<PortPtr> PortTable::PortList |
Definition at line 1015 of file flow_entry.h.
typedef boost::shared_ptr<Port> PortTable::PortPtr |
Definition at line 1014 of file flow_entry.h.
typedef std::map<uint16_t, uint16_t> PortTable::PortToBitIndexMap |
Definition at line 1017 of file flow_entry.h.
typedef std::pair<uint16_t, uint16_t> PortTable::PortToBitIndexPair |
Definition at line 1018 of file flow_entry.h.
PortTable::PortTable | ( | Agent * | agent, |
uint32_t | bucket_size, | ||
uint8_t | protocol | ||
) |
Definition at line 3887 of file flow_entry.cc.
PortTable::~PortTable | ( | ) |
Definition at line 3895 of file flow_entry.cc.
|
private |
|
inline |
Definition at line 1031 of file flow_entry.h.
uint16_t PortTable::Allocate | ( | const FlowKey & | key | ) |
|
private |
|
private |
|
private |
void PortTable::Free | ( | const FlowKey & | key, |
uint16_t | port, | ||
bool | release | ||
) |
void PortTable::GetFlowKeyList | ( | uint16_t | port, |
std::vector< FlowKey > & | key | ||
) | const |
uint16_t PortTable::GetPortIndex | ( | uint16_t | port | ) | const |
Definition at line 4103 of file flow_entry.cc.
|
inline |
Definition at line 1054 of file flow_entry.h.
|
private |
uint16_t PortTable::HashFlowKey | ( | const FlowKey & | key | ) |
Definition at line 3879 of file flow_entry.cc.
|
private |
Definition at line 4031 of file flow_entry.cc.
|
inline |
Definition at line 1043 of file flow_entry.h.
|
inline |
Definition at line 1050 of file flow_entry.h.
|
inline |
Definition at line 1035 of file flow_entry.h.
|
private |
|
inline |
void PortTable::UpdatePortConfig | ( | const PortConfig * | port_config | ) |
|
private |
Definition at line 1066 of file flow_entry.h.
|
private |
Definition at line 1079 of file flow_entry.h.
|
private |
Definition at line 1088 of file flow_entry.h.
|
private |
Definition at line 1084 of file flow_entry.h.
|
static |
Definition at line 1012 of file flow_entry.h.
|
mutableprivate |
Definition at line 1099 of file flow_entry.h.
|
private |
Definition at line 1098 of file flow_entry.h.
|
private |
Definition at line 1091 of file flow_entry.h.
|
private |
Definition at line 1095 of file flow_entry.h.
|
private |
Definition at line 1076 of file flow_entry.h.
|
private |
Definition at line 1100 of file flow_entry.h.