2 #define ETHERSWITCH_H 1
8 #include <rofl/common/caddress.h>
9 #include <rofl/common/crofbase.h>
10 #include <rofl/common/crofdpt.h>
11 #include <rofl/platform/unix/cunixenv.h>
12 #include <rofl/platform/unix/cdaemon.h>
13 #include <rofl/common/cparams.h>
15 #include "cfibtable.h"
16 #include "cflowtable.h"
46 int argc,
char** argv);
115 handle_flow_stats_reply(
130 handle_flow_stats_reply_timeout(
149 void* data = (
void*)NULL);
167 os <<
rofl::indent(0) <<
"<ethswitch dptid: " << sw.dptid <<
" >" << std::endl;
177 enum cetherswitch_timer_t {
179 TIMER_GET_FLOW_STATS = 2,
185 unsigned int dump_fib_interval;
186 static const unsigned int DUMP_FIB_DEFAULT_INTERVAL = 60;
189 unsigned int get_flow_stats_interval;
190 static const unsigned int GET_FLOW_STATS_DEFAULT_INTERVAL = 30;
Definition: cofmsg_flow_stats.h:164
static const cflowtable & get_flowtable(const rofl::cdptid &dptid)
Returns const reference to existing cflowtable instance or throws exception.
Definition: cflowtable.h:106
static int run(int argc, char **argv)
Static main routine for class cetherswitch.
Definition: cetherswitch.cc:9
Timer handle used by class rofl::cioloop.
Definition: ctimerid.h:21
Definition: cofhelloelemversionbitmap.h:22
rofl-common's internal remote datapath handle.
Definition: cdptid.h:24
const rofl::cdpid & get_dpid() const
Returns OpenFlow datapath identifier for this instance.
Definition: crofdpt.h:1259
Definition: cofmsg_packet_in.h:21
static cfibtable & set_fib(const rofl::cdptid &dptid)
Returns reference to existing cfibtable instance or creates a new empty one.
Definition: cfibtable.h:83
Class representing a remote datapath element.
Definition: crofdpt.h:973
A very simple controller for forwarding Ethernet flows.
Definition: cetherswitch.h:32
static rofl::crofdpt & get_dpt(const rofl::cdptid &dptid)
Returns reference to rofl::crofdpt instance identified by rofl-common's internal identifier.
Definition: crofdpt.cc:17
Base class for revised OpenFlow library.
Definition: crofbase.h:100