val event : unit ‑> Frenetic_kernel.OpenFlow.event Async.Deferred.t
event ()
returns the next event from the network.
val switches : unit ‑> (Frenetic_kernel.OpenFlow.switchId * Frenetic_kernel.OpenFlow.portId list) list Async.Deferred.t
current_switches ()
returns the set of switches currently
connected to this controller.
val port_stats : Frenetic_kernel.OpenFlow.switchId ‑> Frenetic_kernel.OpenFlow.portId ‑> Frenetic_kernel.OpenFlow.portStats Async.Deferred.t
port_stats sw pt
returns byte and packet counts for switchsw
port pt
.
val update_global : Frenetic_netkat.Syntax.policy ‑> unit Async.Deferred.t
update p
sets to global policy p
.
val update_fdd : Frenetic_netkat.Local_compiler.t ‑> unit Async.Deferred.t
update_fdd fdd
sets the global policy to the one encoded by the FDD.
val packet_out : Frenetic_kernel.OpenFlow.switchId ‑> Frenetic_kernel.OpenFlow.portId option ‑> Frenetic_kernel.OpenFlow.payload ‑> Frenetic_netkat.Syntax.policy list ‑> unit Async.Deferred.t
send_packet_out sw pd p
injects packets into the network by
applying p
to pd
at sw
. Optional ingress port helps locate buffer.