zeek/scripts/base/frameworks/openflow/non-cluster.zeek
2025-07-01 10:39:47 +02:00

44 lines
972 B
Text

@load ./main
module OpenFlow;
# the flow_mod function wrapper
function flow_mod(controller: Controller, match: ofp_match, flow_mod: ofp_flow_mod): bool
{
if ( ! controller$state$_activated )
return F;
if ( controller?$flow_mod )
return controller$flow_mod(controller$state, match, flow_mod);
else
return F;
}
function flow_clear(controller: Controller): bool
{
if ( ! controller$state$_activated )
return F;
if ( controller?$flow_clear )
return controller$flow_clear(controller$state);
else
return F;
}
function register_controller(type_: OpenFlow::Plugin, name: string, controller: Controller)
{
controller$state$_name = cat(type_, name);
controller$state$_plugin = type_;
register_controller_impl(type_, name, controller);
}
function unregister_controller(controller: Controller)
{
unregister_controller_impl(controller);
}
function lookup_controller(name: string): vector of Controller
{
return lookup_controller_impl(name);
}