Commit graph

18 commits

Author SHA1 Message Date
Johanna Amann
208d150a0e Change openflow plugin for broker and allow specification of topics per
instance.
2015-05-13 16:23:24 -07:00
Johanna Amann
a403dbd83e add broker output plugin for openflow (at the moment we more or less
just send the flow_mod event along - there still is no feedback) and add
a testcase for it.

Also fix a few other small problems.
2015-04-20 16:07:00 -07:00
Johanna Amann
e21238d454 add a few more flow_mod options and the option to check via a predicate
if a module wants to be responsible for a certain rule...
2015-04-16 15:44:46 -07:00
Johanna Amann
7d7578146f Add basic OpenFlow plugin for Pacf.
This also changes a few types in pacf and adds a few needed bits and
pieces to the OpenFlow framework.

And - it even has a testcase...
2015-04-14 15:24:22 -07:00
Johanna Amann
c42fbdab12 move openflow to use subnets instead of addr for matches. 2015-04-14 15:00:49 -07:00
Johanna Amann
21b78b7d92 add really simple log output plugin for openflow. 2015-04-13 12:55:38 -07:00
Johanna Amann
46058d0b02 a few small fixes to openflow
*rename module from Openflow to OpenFlow
*add match_conn function to convert conn_id to openflow match
*add a few things back into the openflow records like... table_id
*and - a test
2015-04-10 11:21:55 -07:00
Johanna Amann
dbc51371cb Rewrite big parts of the Openflow framework.
The API now does not follow the openflow specification quite as closely,
however I think it is much more usable. Furthermore, the Ryu plugin was
basically completely rewritten and is now more usable for general flow
manipulation.

This also adds a debug mode that just outputs the json fragments that
would be sent to ryu. At the moment, Ryu still assumes that every
request that it receives succeeds - it is not possible to get an error
message from the controller. Instead, one has to check if a flow was
added by doing a second REST request. Which seems unnecessary, and also
requires complete json parsing functionality. Hence we are not doing
that at the moment.

The alternative would be to use an external script for the actual
add-and-check-operation.
2015-04-07 15:37:46 -07:00
Johanna Amann
4195a0066a move the json stuff into utils - I guess we will need functionality like
this not just for openflow at some point of time.
2015-04-07 10:43:36 -07:00
Johanna Amann
fe5408e676 as a first step, restructure things a bit and remove the site scripts
users have to suply
2015-04-06 15:08:08 -07:00
Christian Struck
d80cc9ea10 [ADD] reworked code to new design suggested by seth.
The openflow framework now supports multiple
controllers. The design now looks a bit object
oriented and a new() function creates a controller
record.

Moved the JSON script from the JSON namespace into a
openflow specific OpenflowJSON namespace
2014-11-13 16:49:50 -08:00
Christian Struck
fef8476690 [FIX] small codestyle changes 2014-11-10 16:49:20 -08:00
Christian Struck
8e2c269c2e [ADD] status function to get flows from switch, error handling.
Added a function to receive status from the switch through the
openflow controller. (not yet implemented anywhere)

The flow_mod and flow_stats function now have default values which
report that the function is not implemented when they're called but
no plugin has registered its functions for them.
2014-11-06 15:53:09 -08:00
Christian Struck
c705375537 [ADD] made code event based, changed code style
the openflow framework does now use events to signal
the success or failure of openflow commands, further
the reporter framework is used to log errors.

added bro unique cookie, so the framework can recognize
which flows it installed and which not.

documented all of the code.

the code style should now me more like the rest of the
bro code.
2014-10-30 18:12:55 -07:00
Christian Struck
bf6dc12be4 [ADD] the possibility to remove flows and refactored the flow_mod function to fit the new capabilities. Also started to comment more of the code 2014-10-23 18:20:40 -07:00
Christian Struck
6c2a8cdff4 Seth's *any type* to JSON converter, slightly changed 2014-10-20 17:13:01 -07:00
Christian Struck
676207e968 Small implementation of the RYU restAPI functionality to add flows. 2014-10-20 17:10:49 -07:00
Christian Struck
d426f36ebe Small openflow api, that provides functionality to add flows. 2014-10-20 17:09:44 -07:00