base/frameworks/netcontrol/plugins/openflow.zeek
- NetControl
OpenFlow plugin for the NetControl framework.
- Namespace:
NetControl
- Imports:
base/frameworks/netcontrol/main.zeek, base/frameworks/netcontrol/plugin.zeek, base/frameworks/openflow
Summary
Redefinable Options
The time interval after we consider a flow timed out. |
|
The time interval after which an openflow message is considered to be timed out and we delete it from our internal tracking. |
Types
This record specifies the configuration that is passed to |
|
Redefinitions
|
Functions
Instantiates an openflow plugin for the NetControl framework. |
Detailed Interface
Redefinable Options
- NetControl::openflow_flow_timeout
-
The time interval after we consider a flow timed out. This should be fairly high (or even disabled) if you expect a lot of long flows. However, one also will have state buildup for quite a while if keeping this around…
- NetControl::openflow_message_timeout
-
The time interval after which an openflow message is considered to be timed out and we delete it from our internal tracking.
Types
- NetControl::OfConfig
- Type:
- Fields:
-
-
priority_offset:
int&default=0&optional Add this to all rule priorities. Can be useful if you want the openflow priorities be offset from the netcontrol priorities without having to write a filter function.
-
check_pred:
function(p:NetControl::PluginState, r:NetControl::Rule) :bool&optional Predicate that is called on rule insertion or removal.
- Param p:
Current plugin state.
- Param r:
The rule to be inserted or removed.
- Returns:
T if the rule can be handled by the current backend, F otherwise.
-
match_pred:
function(p:NetControl::PluginState, e:NetControl::Entity, m:vectorofOpenFlow::ofp_match) :vectorofOpenFlow::ofp_match&optional This predicate is called each time an OpenFlow match record is created. The predicate can modify the match structure before it is sent on to the device.
- Param p:
Current plugin state.
- Param r:
The rule to be inserted or removed.
- Param m:
The openflow match structures that were generated for this rules.
- Returns:
The modified OpenFlow match structures that will be used in place of the structures passed in m.
-
flow_mod_pred:
function(p:NetControl::PluginState, r:NetControl::Rule, m:OpenFlow::ofp_flow_mod) :OpenFlow::ofp_flow_mod&optional This predicate is called before a FlowMod message is sent to the OpenFlow device. It can modify the FlowMod message before it is passed on.
- Param p:
Current plugin state.
- Param r:
The rule to be inserted or removed.
- Param m:
The OpenFlow FlowMod message.
- Returns:
The modified FlowMod message that is used in lieu of m.
-
priority_offset:
This record specifies the configuration that is passed to
NetControl::create_openflow.
Functions
- NetControl::create_openflow
- Type:
function(controller:OpenFlow::Controller, config:NetControl::OfConfig&default=[]&optional) :NetControl::PluginState
Instantiates an openflow plugin for the NetControl framework.