base/frameworks/openflow/types.zeek
- OpenFlow
Types used by the OpenFlow framework.
- Namespace:
OpenFlow
- Imports:
Summary
Types
Controller record representing an openflow controller. |
|
Controller related state. |
|
Available openflow plugins. |
|
The actions that can be taken in a flow. |
|
Openflow flow_mod definition, describing the action to perform. |
|
Openflow match definition. |
Detailed Interface
Types
- OpenFlow::Controller
- Type:
- Fields:
-
state:
OpenFlow::ControllerState Controller related state.
-
describe:
function(state:OpenFlow::ControllerState) :string Function that describes the controller. Has to be implemented.
-
init:
function(state:OpenFlow::ControllerState) :void&optional One-time initialization function. If defined, controller_init_done has to be called once initialization finishes.
-
destroy:
function(state:OpenFlow::ControllerState) :void&optional One-time destruction function.
-
flow_mod:
function(state:OpenFlow::ControllerState, match:OpenFlow::ofp_match, flow_mod:OpenFlow::ofp_flow_mod) :bool&optional flow_mod function.
-
flow_clear:
function(state:OpenFlow::ControllerState) :bool&optional flow_clear function.
-
state:
Controller record representing an openflow controller.
- OpenFlow::ControllerState
- Type:
- Fields:
-
_plugin:
OpenFlow::Plugin&optional Internally set to the type of plugin used.
-
ryu_host:
addr&optional (present if base/frameworks/openflow/plugins/ryu.zeek is loaded)
Controller ip.
-
ryu_port:
count&optional (present if base/frameworks/openflow/plugins/ryu.zeek is loaded)
Controller listen port.
-
ryu_dpid:
count&optional (present if base/frameworks/openflow/plugins/ryu.zeek is loaded)
OpenFlow switch datapath id.
-
ryu_debug:
bool&default=F&optional (present if base/frameworks/openflow/plugins/ryu.zeek is loaded)
Enable debug mode - output JSON to stdout; do not perform actions.
-
log_dpid:
count&optional (present if base/frameworks/openflow/plugins/log.zeek is loaded)
OpenFlow switch datapath id.
-
log_success_event:
bool&optional (present if base/frameworks/openflow/plugins/log.zeek is loaded)
Raise or do not raise success event.
-
broker_host:
addr&optional (present if base/frameworks/openflow/plugins/broker.zeek is loaded)
Controller ip.
-
broker_port:
port&optional (present if base/frameworks/openflow/plugins/broker.zeek is loaded)
Controller listen port.
-
broker_dpid:
count&optional (present if base/frameworks/openflow/plugins/broker.zeek is loaded)
OpenFlow switch datapath id.
-
broker_topic:
string&optional (present if base/frameworks/openflow/plugins/broker.zeek is loaded)
Topic to send events for this controller to.
-
_plugin:
- Attributes:
Controller related state. Can be redefined by plugins to add state.
- OpenFlow::Plugin
- Type:
-
- OpenFlow::INVALID
Internal placeholder plugin.
- OpenFlow::RYU
(present if base/frameworks/openflow/plugins/ryu.zeek is loaded)
- OpenFlow::OFLOG
(present if base/frameworks/openflow/plugins/log.zeek is loaded)
- OpenFlow::BROKER
(present if base/frameworks/openflow/plugins/broker.zeek is loaded)
Available openflow plugins.
- OpenFlow::ofp_flow_action
- Type:
- Fields:
- Attributes:
The actions that can be taken in a flow. (Separate record to make ofp_flow_mod less crowded)
- OpenFlow::ofp_flow_mod
- Type:
- Fields:
-
-
table_id:
count&optional&log Table to put the flow in. OFPTT_ALL can be used for delete, to delete flows from all matching tables.
-
command:
OpenFlow::ofp_flow_mod_command&log One of OFPFC_*.
-
out_port:
count&optional&log For OFPFC_DELETE* commands, require matching entry to include this as an output port/group. OFPP_ANY/OFPG_ANY means no restrictions.
-
actions:
OpenFlow::ofp_flow_action&default= ...&optional&log Actions to take on match
-
table_id:
- Attributes:
Openflow flow_mod definition, describing the action to perform.
- OpenFlow::ofp_match
- Type:
- Fields:
- Attributes:
Openflow match definition.
The openflow match record describes which packets match to a specific rule in a flow table.