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…
Types¶
-
NetControl::OfConfig¶ - Type
-
- monitor:
bool&default=T&optional Accept rules that target the monitor path.
- forward:
bool&default=T&optional Accept rules that target the forward path.
- idle_timeout:
count&default=0&optional Default OpenFlow idle timeout.
- table_id:
count&optional Default OpenFlow table ID.
- 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.
- p
Current plugin state.
- 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.
- p
Current plugin state.
- r
The rule to be inserted or removed.
- 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.
- p
Current plugin state.
- r
The rule to be inserted or removed.
- m
The OpenFlow FlowMod message.
- returns
The modified FlowMod message that is used in lieu of m.
- monitor:
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.