package openflow

  1. Overview
  2. Docs
type int8 = int
type int12 = int
type int16 = int
type int32 = Int32.t
type int64 = Int64.t
type int48 = Int64.t
type bytes = Cstruct.t
type switchId = VInt.t
type portId = VInt.t
type queueId = VInt.t
type bufferId =
  1. | OF10BufferId of int32
  2. | OF13BufferId of OpenFlow0x04_Core.bufferId
exception Unsupported of string
type port =
  1. | PhysicalPort of portId
  2. | AllPorts
  3. | Controller of int
type field =
  1. | InPort
  2. | EthType
  3. | EthSrc
  4. | EthDst
  5. | Vlan
  6. | VlanPcp
  7. | IPProto
  8. | IP4Src
  9. | IP4Dst
  10. | TCPSrcPort
  11. | TCPDstPort
type fieldVal = VInt.t
module FieldMap : sig ... end
type pattern = fieldVal FieldMap.t
type action =
  1. | OutputAllPorts
  2. | OutputPort of portId
  3. | Enqueue of portId * queueId
  4. | SetField of field * fieldVal
type seq = action list
type par = seq list
type group = par list
type timeout =
  1. | Permanent
  2. | ExpiresAfter of int16
type flow = {
  1. pattern : pattern;
  2. action : group;
  3. cookie : int64;
  4. idle_timeout : timeout;
  5. hard_timeout : timeout;
}
type flowTable = flow list
type payload =
  1. | Buffered of bufferId * bytes
  2. | NotBuffered of bytes
type packetInReason =
  1. | NoMatch
  2. | ExplicitSend
type pktIn = payload * int * VInt.t * packetInReason
type switchFeatures = {
  1. switch_id : switchId;
  2. switch_ports : VInt.t list;
}
type flowStats = {
  1. flow_table_id : int8;
  2. flow_pattern : pattern;
  3. flow_duration_sec : int32;
  4. flow_duration_nsec : int32;
  5. flow_priority : int16;
  6. flow_idle_timeout : int16;
  7. flow_hard_timeout : int16;
  8. flow_action : action;
  9. flow_packet_count : int64;
  10. flow_byte_count : int64;
}
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_field : Format.formatter -> field -> unit
val format_flow : Format.formatter -> flow -> unit
val format_flowTable : Format.formatter -> flowTable -> unit
val string_of_flowTable : flowTable -> string
val string_of_flow : flow -> string
val string_of_par : par -> string
val string_of_action : action -> string