Module Frenetic.OpenFlow

type switchId = int64
val equal_switchId : switchId ‑> switchId ‑> Ppx_deriving_runtime.bool
val switchId_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> switchId
val sexp_of_switchId : switchId ‑> Ppx_sexp_conv_lib.Sexp.t
val compare_switchId : switchId ‑> switchId ‑> int
type portId = int32
val equal_portId : portId ‑> portId ‑> Ppx_deriving_runtime.bool
val portId_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> portId
val sexp_of_portId : portId ‑> Ppx_sexp_conv_lib.Sexp.t
val compare_portId : portId ‑> portId ‑> int
type queueId = int32
val equal_queueId : queueId ‑> queueId ‑> Ppx_deriving_runtime.bool
val queueId_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> queueId
val sexp_of_queueId : queueId ‑> Ppx_sexp_conv_lib.Sexp.t
val compare_queueId : queueId ‑> queueId ‑> int
type bufferId = int32
val equal_bufferId : bufferId ‑> bufferId ‑> Ppx_deriving_runtime.bool
val bufferId_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> bufferId
val sexp_of_bufferId : bufferId ‑> Ppx_sexp_conv_lib.Sexp.t
val compare_bufferId : bufferId ‑> bufferId ‑> int
exception Unsupported of string
type payload = Frenetic_kernel__OpenFlow.payload =
| Buffered of bufferId * Cstruct.t
| NotBuffered of Cstruct.t
val payload_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> payload
val sexp_of_payload : payload ‑> Ppx_sexp_conv_lib.Sexp.t
val payload_bytes : payload ‑> Cstruct.t
type packetInReason = Frenetic_kernel__OpenFlow.packetInReason =
| NoMatch
| ExplicitSend
val packetInReason_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> packetInReason
val sexp_of_packetInReason : packetInReason ‑> Ppx_sexp_conv_lib.Sexp.t
type switchFeatures = Frenetic_kernel__OpenFlow.switchFeatures = {
switch_id : switchId;
switch_ports : portId list;
}
val switchFeatures_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> switchFeatures
val sexp_of_switchFeatures : switchFeatures ‑> Ppx_sexp_conv_lib.Sexp.t
module Pattern : sig ... end
type modify = Frenetic_kernel__OpenFlow.modify =
| SetEthSrc of Frenetic_kernel.Packet.dlAddr
| SetEthDst of Frenetic_kernel.Packet.dlAddr
| SetVlan of Frenetic_kernel.Packet.dlVlan
| SetVlanPcp of Frenetic_kernel.Packet.dlVlanPcp
| SetEthTyp of Frenetic_kernel.Packet.dlTyp
| SetIPProto of Frenetic_kernel.Packet.nwProto
| SetIP4Src of Frenetic_kernel.Packet.nwAddr
| SetIP4Dst of Frenetic_kernel.Packet.nwAddr
| SetTCPSrcPort of Frenetic_kernel.Packet.tpPort
| SetTCPDstPort of Frenetic_kernel.Packet.tpPort
val modify_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> modify
val sexp_of_modify : modify ‑> Ppx_sexp_conv_lib.Sexp.t
type pseudoport = Frenetic_kernel__OpenFlow.pseudoport =
| Physical of portId
| InPort
| Table
| Normal
| Flood
| All
| Controller of int
| Local
val pseudoport_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> pseudoport
val sexp_of_pseudoport : pseudoport ‑> Ppx_sexp_conv_lib.Sexp.t
type groupId = int32
val groupId_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> groupId
val sexp_of_groupId : groupId ‑> Ppx_sexp_conv_lib.Sexp.t
type action = Frenetic_kernel__OpenFlow.action =
| Output of pseudoport
| Enqueue of portId * queueId
| Modify of modify
| FastFail of groupId
val action_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> action
val sexp_of_action : action ‑> Ppx_sexp_conv_lib.Sexp.t
type seq = action list
val seq_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> seq
val sexp_of_seq : seq ‑> Ppx_sexp_conv_lib.Sexp.t
type par = seq list
val par_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> par
val sexp_of_par : par ‑> Ppx_sexp_conv_lib.Sexp.t
type group = par list
val group_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> group
val sexp_of_group : group ‑> Ppx_sexp_conv_lib.Sexp.t
type timeout = Frenetic_kernel__OpenFlow.timeout =
| Permanent
| ExpiresAfter of Frenetic_kernel.Packet.int16
val timeout_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> timeout
val sexp_of_timeout : timeout ‑> Ppx_sexp_conv_lib.Sexp.t
type flow = Frenetic_kernel__OpenFlow.flow = {
pattern : Pattern.t;
action : group;
cookie : int64;
idle_timeout : timeout;
hard_timeout : timeout;
}
val flow_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flow
val sexp_of_flow : flow ‑> Ppx_sexp_conv_lib.Sexp.t
type flowTable = flow list
val flowTable_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flowTable
val sexp_of_flowTable : flowTable ‑> Ppx_sexp_conv_lib.Sexp.t
type flowStats = Frenetic_kernel__OpenFlow.flowStats = {
flow_table_id : int64;
flow_pattern : Pattern.t;
flow_actions : action list;
flow_duration_sec : int64;
flow_duration_nsec : int64;
flow_priority : int64;
flow_idle_timeout : int64;
flow_hard_timeout : int64;
flow_packet_count : int64;
flow_byte_count : int64;
}
val flowStats_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flowStats
val sexp_of_flowStats : flowStats ‑> Ppx_sexp_conv_lib.Sexp.t
type portStats = Frenetic_kernel__OpenFlow.portStats = {
port_no : int64;
port_rx_packets : int64;
port_tx_packets : int64;
port_rx_bytes : int64;
port_tx_bytes : int64;
port_rx_dropped : int64;
port_tx_dropped : int64;
port_rx_errors : int64;
port_tx_errors : int64;
port_rx_frame_err : int64;
port_rx_over_err : int64;
port_rx_crc_err : int64;
port_collisions : int64;
}
val portStats_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> portStats
val sexp_of_portStats : portStats ‑> Ppx_sexp_conv_lib.Sexp.t
type event = Frenetic_kernel__OpenFlow.event =
| SwitchUp of switchId * portId list
| SwitchDown of switchId
| PortUp of switchId * portId
| PortDown of switchId * portId
| PacketIn of string * switchId * portId * payload * int * packetInReason
| PortStats of switchId * portStats
| FlowStats of switchId * flowStats
type pktOut = payload * portId option * action list
val pktOut_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> pktOut
val sexp_of_pktOut : pktOut ‑> Ppx_sexp_conv_lib.Sexp.t
val format_list : 'a list ‑> to_string:('a ‑> string) ‑> string
val format_action : Format.formatter ‑> action ‑> unit
val format_seq : Format.formatter ‑> seq ‑> unit
val format_par : Format.formatter ‑> par ‑> unit
val format_group : Format.formatter ‑> group ‑> unit
val format_flow : Format.formatter ‑> flow ‑> unit
val format_flowTable : Format.formatter ‑> flowTable ‑> unit
val string_of_action : action ‑> string
val string_of_seq : seq ‑> string
val string_of_par : par ‑> string
val string_of_flow : flow ‑> string
val string_of_group : group ‑> string
val string_of_flowTable : ?⁠label:string ‑> flowTable ‑> string
val string_of_event : event ‑> string
module OF10 : sig ... end
module To0x01 : sig ... end
module From0x01 : sig ... end