Flow Table of active flows. More...
#include <cflowtable.h>
Public Member Functions | |
Methods for CRUD operations on active flow entries. | |
void | clear () |
Deletes all entries stored in this cflowtable instance. | |
cflowentry & | add_flow_entry (const rofl::caddress_ll &src, const rofl::caddress_ll &dst, uint32_t portno) |
Returns reference to empty cflowentry instance for given hardware address. More... | |
cflowentry & | set_flow_entry (const rofl::caddress_ll &src, const rofl::caddress_ll &dst, uint32_t portno) |
Returns reference to existing cflowentry instance for given hardware address. More... | |
cflowentry & | set_flow_entry (const rofl::caddress_ll &src, const rofl::caddress_ll &dst) |
Returns reference to existing cflowentry instance for given hardware address. More... | |
const cflowentry & | get_flow_entry (const rofl::caddress_ll &src, const rofl::caddress_ll &dst) const |
Returns const reference to existing cflowentry instance for given hardware address. More... | |
void | drop_flow_entry (const rofl::caddress_ll &src, const rofl::caddress_ll &dst) |
Removes an existing cflowentry for given source and destination hardware address. More... | |
bool | has_flow_entry (const rofl::caddress_ll &src, const rofl::caddress_ll &dst) const |
Checks whether a cflowentry exists for given source and destination hardware address. More... | |
![]() | |
virtual | ~cflowentry_env () |
cflowentry_env destructor | |
Static Public Member Functions | |
Methods for managing Active Flow Tables | |
static cflowtable & | add_flowtable (const rofl::cdptid &dptid) |
Returns reference to new or existing and resetted cflowtable instance. More... | |
static cflowtable & | set_flowtable (const rofl::cdptid &dptid) |
Returns reference to existing cflowtable instance or creates a new empty one. More... | |
static const cflowtable & | get_flowtable (const rofl::cdptid &dptid) |
Returns const reference to existing cflowtable instance or throws exception. More... | |
static void | drop_flowtable (const rofl::cdptid &dptid) |
Removes an existing cflowtable instance. More... | |
static bool | has_flowtable (const rofl::cdptid &dptid) |
Checks existence of cflowtable for given identifier. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, cflowtable const &flowtable) |
Additional Inherited Members |
Flow Table of active flows.
This class stores all active flows created on a given datapath element. Class cflowentry defines the container for an active flow. Class cflowtable defines two groups of methods:
|
inline |
Returns reference to empty cflowentry instance for given hardware address.
Creates a new cflowentry instance or resets an already existing one for the given identifier.
src | ethernet hardware address for source station of flow |
dst | ethernet hardware address for destination station of flow |
portno | outgoing port for this flow |
eFlowInval | hardware address validation failed |
|
inlinestatic |
Returns reference to new or existing and resetted cflowtable instance.
This method creates a new or resets an existing instance of class cflowtable for the given datapath handle.
dptid | rofl-common's internal handle for datapath element |
|
inline |
Removes an existing cflowentry for given source and destination hardware address.
src | ethernet hardware address for source station of flow |
dst | ethernet hardware address for destination station of flow |
|
inlinestatic |
Removes an existing cflowtable instance.
dptid | rofl-common's internal handle for datapath element |
|
inline |
Returns const reference to existing cflowentry instance for given hardware address.
Returns reference to existing cflowentry for given identifier or throw exception, if none exists.
src | ethernet hardware address for source station of flow |
dst | ethernet hardware address for destination station of flow |
eFlowInval | hardware address validation failed |
eFlowNotFound | flow destination address not found |
|
inlinestatic |
Returns const reference to existing cflowtable instance or throws exception.
This method returns a const reference to an existing cflowtable instance. If no instance for the given identifier is found, an exception of type eFibNotFound is thrown.
dptid | rofl-common's internal handle for datapath element |
eFibNotFound |
|
inline |
Checks whether a cflowentry exists for given source and destination hardware address.
src | ethernet hardware address for source station of flow |
dst | ethernet hardware address for destination station of flow |
|
inlinestatic |
Checks existence of cflowtable for given identifier.
dptid | rofl-common's internal handle for datapath element |
|
inline |
Returns reference to existing cflowentry instance for given hardware address.
Returns reference to existing cflowentry for given identifier or creates new one if non exists yet.
src | ethernet hardware address for source station of flow |
dst | ethernet hardware address for destination station of flow |
portno | outgoing port for this flow |
eFlowInval | hardware address validation failed |
|
inline |
Returns reference to existing cflowentry instance for given hardware address.
Returns reference to existing cflowentry for given identifier or throw exception, if none exists.
src | ethernet hardware address for source station of flow |
dst | ethernet hardware address for destination station of flow |
eFlowInval | hardware address validation failed |
eFlowNotFound | flow destination address not found |
|
inlinestatic |
Returns reference to existing cflowtable instance or creates a new empty one.
This method returns a reference to an existing cflowtable instance. If no instance for the given identifier is found, a new instance is created.
dptid | rofl-common's internal handle for datapath element |