val val_to_mask : 'a1 ‑> 'a1 mask
val ip_to_mask : (Packet.nwAddr * int32) ‑> Packet.nwAddr mask
include sig ... end
val switchFlags_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> switchFlags
val sexp_of_switchFlags : switchFlags ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val switchConfig_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> switchConfig
val sexp_of_switchConfig : switchConfig ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val helloFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> helloFailed
val sexp_of_helloFailed : helloFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val badRequest_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> badRequest
val sexp_of_badRequest : badRequest ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val badInstruction_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> badInstruction
val sexp_of_badInstruction : badInstruction ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val flowModFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flowModFailed
val sexp_of_flowModFailed : flowModFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val groupModFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> groupModFailed
val sexp_of_groupModFailed : groupModFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val portModFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> portModFailed
val sexp_of_portModFailed : portModFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val tableModFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> tableModFailed
val sexp_of_tableModFailed : tableModFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val queueOpFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> queueOpFailed
val sexp_of_queueOpFailed : queueOpFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val switchConfigFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> switchConfigFailed
val sexp_of_switchConfigFailed : switchConfigFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val roleReqFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> roleReqFailed
val sexp_of_roleReqFailed : roleReqFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val meterModFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> meterModFailed
val sexp_of_meterModFailed : meterModFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val tableFeatFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> tableFeatFailed
val sexp_of_tableFeatFailed : tableFeatFailed ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val experimenterFailed_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> experimenterFailed
val sexp_of_experimenterFailed : experimenterFailed ‑> Ppx_sexp_conv_lib.Sexp.t
type errorTyp
=
| HelloFailed of helloFailed |
| BadRequest of badRequest |
| BadAction of badAction |
| BadInstruction of badInstruction |
| BadMatch of badMatch |
| FlowModFailed of flowModFailed |
| GroupModFailed of groupModFailed |
| PortModFailed of portModFailed |
| TableModFailed of tableModFailed |
| QueueOpFailed of queueOpFailed |
| SwitchConfigFailed of switchConfigFailed |
| RoleReqFailed of roleReqFailed |
| MeterModFailed of meterModFailed |
| TableFeatFailed of tableFeatFailed |
| ExperimenterFailed of experimenterFailed |
include sig ... end
val oxmIPv6ExtHdr_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> oxmIPv6ExtHdr
val sexp_of_oxmIPv6ExtHdr : oxmIPv6ExtHdr ‑> Ppx_sexp_conv_lib.Sexp.t
type oxm
=
| OxmInPort of portId |
| OxmInPhyPort of portId |
| OxmMetadata of int64 mask |
| OxmEthType of Packet.int16 |
| OxmEthDst of Packet.int48 mask |
| OxmEthSrc of Packet.int48 mask |
| OxmVlanVId of int12 mask |
| OxmVlanPcp of Packet.int8 |
| OxmIPProto of Packet.int8 |
| OxmIPDscp of Packet.int8 |
| OxmIPEcn of Packet.int8 |
| OxmIP4Src of int32 mask |
| OxmIP4Dst of int32 mask |
| OxmTCPSrc of Packet.int16 |
| OxmTCPDst of Packet.int16 |
| OxmARPOp of Packet.int16 |
| OxmARPSpa of int32 mask |
| OxmARPTpa of int32 mask |
| OxmARPSha of Packet.int48 mask |
| OxmARPTha of Packet.int48 mask |
| OxmICMPType of Packet.int8 |
| OxmICMPCode of Packet.int8 |
| OxmMPLSLabel of int32 |
| OxmMPLSTc of Packet.int8 |
| OxmTunnelId of int64 mask |
| OxmUDPSrc of Packet.int16 |
| OxmUDPDst of Packet.int16 |
| OxmSCTPSrc of Packet.int16 |
| OxmSCTPDst of Packet.int16 |
| OxmIPv6Src of int128 mask |
| OxmIPv6Dst of int128 mask |
| OxmIPv6FLabel of int32 mask |
| OxmICMPv6Type of Packet.int8 |
| OxmICMPv6Code of Packet.int8 |
| OxmIPv6NDTarget of int128 mask |
| OxmIPv6NDSll of Packet.int48 |
| OxmIPv6NDTll of Packet.int48 |
| OxmMPLSBos of bool |
| OxmPBBIsid of int24 mask |
| OxmIPv6ExtHdr of oxmIPv6ExtHdr mask |
val parse_payload : payload ‑> Packet.packet
val marshal_payload : int32 option ‑> Packet.packet ‑> payload
marshal_payload buf pkt
serializes pkt, where buf
is an optional
buffer ID.
val match_all : oxmMatch
type pseudoPort
=
| PhysicalPort of portId | |
| InPort | (** Send the packet out the input port. This reserved port must be explicitly used in order to send back out of the input port. *) |
| Table | (** Submit the packet to the first flow table NB: This destination port can only be used in packet-out messages. *) |
| Normal | (** Process with normal L2/L3 switching. *) |
| Flood | (** All physical ports in VLAN, except input port and those blocked or link down. *) |
| AllPorts | (** All physical ports except input port. *) |
| Controller of Packet.int16 | (** Send to controller along with |
| Local | (** Local openflow "port". *) |
| Any | (** Wildcard port used only for flow mod (delete) and flow stats requests. Selects all flows regardless of output port (including flows with no output port). *) |
A pseudo-port, as described by the ofp_port_no
enumeration in
Section A.2.1 of the OpenFlow 1.3.0 specification.
include sig ... end
val pseudoPort_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> pseudoPort
val sexp_of_pseudoPort : pseudoPort ‑> Ppx_sexp_conv_lib.Sexp.t
type action
=
| Output of pseudoPort |
| Group of groupId |
| PopVlan |
| PushVlan of Packet.int16 |
| PopMpls of Packet.int16 |
| PushMpls of Packet.int16 |
| SetField of oxm |
| CopyTtlOut |
| CopyTtlIn |
| SetNwTtl of Packet.int8 |
| DecNwTtl |
| PushPbb of Packet.int16 |
| PopPbb |
| SetMplsTtl of Packet.int8 |
| DecMplsTtl |
| SetQueue of int32 |
| Experimenter of int32 |
include sig ... end
val actionSequence_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> actionSequence
val sexp_of_actionSequence : actionSequence ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val instructionHdr_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> instructionHdr
val sexp_of_instructionHdr : instructionHdr ‑> Ppx_sexp_conv_lib.Sexp.t
type instruction
=
| GotoTable of tableId |
| ApplyActions of actionSequence |
| WriteActions of actionSequence |
| WriteMetadata of int64 mask |
| Clear |
| Meter of int32 |
| Experimenter of int32 |
include sig ... end
val instruction_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> instruction
val sexp_of_instruction : instruction ‑> Ppx_sexp_conv_lib.Sexp.t
type bucket
=
{
bu_weight : Packet.int16; |
bu_watch_port : portId option; |
bu_watch_group : groupId option; |
bu_actions : actionSequence; |
}
include sig ... end
val flowModCommand_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flowModCommand
val sexp_of_flowModCommand : flowModCommand ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val flowModFlags_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flowModFlags
val sexp_of_flowModFlags : flowModFlags ‑> Ppx_sexp_conv_lib.Sexp.t
type flowMod
=
{
mfCookie : int64 mask; |
mfTable_id : tableId; |
mfCommand : flowModCommand; |
mfIdle_timeout : timeout; |
mfHard_timeout : timeout; |
mfPriority : Packet.int16; |
mfBuffer_id : bufferId option; |
mfOut_port : pseudoPort option; |
mfOut_group : groupId option; |
mfFlags : flowModFlags; |
mfOfp_match : oxmMatch; |
mfInstructions : instruction list; |
}
val add_flow : tbl:tableId ‑> prio:Packet.int16 ‑> pat:oxmMatch ‑> insts:instruction list ‑> flowMod
val delete_all_flows : flowMod
val delete_all_groups : groupMod
include sig ... end
val packetInReason_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> packetInReason
val sexp_of_packetInReason : packetInReason ‑> Ppx_sexp_conv_lib.Sexp.t
type packetIn
=
{
pi_total_len : Packet.int16; |
pi_reason : packetInReason; |
pi_table_id : tableId; |
pi_cookie : int64; |
pi_ofp_match : oxmMatch; |
pi_payload : payload; |
}
include sig ... end
val flowReason_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flowReason
val sexp_of_flowReason : flowReason ‑> Ppx_sexp_conv_lib.Sexp.t
type flowRemoved
=
{
cookie : int64; |
priority : Packet.int16; |
reason : flowReason; |
table_id : tableId; |
duration_sec : int32; |
duration_nsec : int32; |
idle_timeout : timeout; |
hard_timeout : timeout; |
packet_count : int64; |
byte_count : int64; |
oxm : oxmMatch; |
}
include sig ... end
val flowRemoved_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flowRemoved
val sexp_of_flowRemoved : flowRemoved ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val capabilities_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> capabilities
val sexp_of_capabilities : capabilities ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val portConfig_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> portConfig
val sexp_of_portConfig : portConfig ‑> Ppx_sexp_conv_lib.Sexp.t
type portFeatures
=
{
}
include sig ... end
val portFeatures_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> portFeatures
val sexp_of_portFeatures : portFeatures ‑> Ppx_sexp_conv_lib.Sexp.t
type portDesc
=
{
port_no : portId; |
hw_addr : Packet.int48; |
name : string; |
config : portConfig; |
state : portState; |
curr : portFeatures; |
advertised : portFeatures; |
supported : portFeatures; |
peer : portFeatures; |
curr_speed : int32; |
max_speed : int32; |
}
type portMod
=
{
mpPortNo : portId; |
mpHw_addr : Packet.int48; |
mpConfig : portConfig; |
mpMask : int32; |
mpAdvertise : portFeatures; |
}
include sig ... end
val portReason_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> portReason
val sexp_of_portReason : portReason ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val portStatus_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> portStatus
val sexp_of_portStatus : portStatus ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val experimenterId_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> experimenterId
val sexp_of_experimenterId : experimenterId ‑> Ppx_sexp_conv_lib.Sexp.t
type meterBand
=
| Drop of rate * burst |
| DscpRemark of rate * burst * Packet.int8 |
| ExpMeter of rate * burst * experimenterId |
include sig ... end
val meterCommand_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> meterCommand
val sexp_of_meterCommand : meterCommand ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val meterFlags_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> meterFlags
val sexp_of_meterFlags : meterFlags ‑> Ppx_sexp_conv_lib.Sexp.t
type meterMod
=
{
command : meterCommand; |
flags : meterFlags; |
meter_id : int32; |
bands : meterBand list; |
}
include sig ... end
val flowRequest_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flowRequest
val sexp_of_flowRequest : flowRequest ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val queueRequest_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> queueRequest
val sexp_of_queueRequest : queueRequest ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val experimenter_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> experimenter
val sexp_of_experimenter : experimenter ‑> Ppx_sexp_conv_lib.Sexp.t
type tableFeatureProp
=
| TfpInstruction of instructionHdr list |
| TfpInstructionMiss of instructionHdr list |
| TfpNextTable of tableId list |
| TfpNextTableMiss of tableId list |
| TfpWriteAction of actionHdr list |
| TfpWriteActionMiss of actionHdr list |
| TfpApplyAction of actionHdr list |
| TfpApplyActionMiss of actionHdr list |
| TfpMatch of oxm list |
| TfpWildcard of oxm list |
| TfpWriteSetField of oxm list |
| TfpWriteSetFieldMiss of oxm list |
| TfpApplySetField of oxm list |
| TfpApplySetFieldMiss of oxm list |
| TfpExperimenter of experimenter * Cstruct.t |
| TfpExperimenterMiss of experimenter * Cstruct.t |
include sig ... end
val tableFeatureProp_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> tableFeatureProp
val sexp_of_tableFeatureProp : tableFeatureProp ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val tableConfig_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> tableConfig
val sexp_of_tableConfig : tableConfig ‑> Ppx_sexp_conv_lib.Sexp.t
type tableFeatures
=
{
length : Packet.int16; |
table_id : tableId; |
name : string; |
metadata_match : int64; |
metadata_write : int64; |
config : tableConfig; |
max_entries : int32; |
feature_prop : tableFeatureProp list; |
}
include sig ... end
val tableFeatures_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> tableFeatures
val sexp_of_tableFeatures : tableFeatures ‑> Ppx_sexp_conv_lib.Sexp.t
type multipartType
=
| SwitchDescReq |
| PortsDescReq |
| FlowStatsReq of flowRequest |
| AggregFlowStatsReq of flowRequest |
| TableStatsReq |
| PortStatsReq of portId |
| QueueStatsReq of queueRequest |
| GroupStatsReq of int32 |
| GroupDescReq |
| GroupFeatReq |
| MeterStatsReq of int32 |
| MeterConfReq of int32 |
| MeterFeatReq |
| TableFeatReq of tableFeatures list option |
| ExperimentReq of experimenter |
include sig ... end
val multipartType_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> multipartType
val sexp_of_multipartType : multipartType ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val multipartRequest_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> multipartRequest
val sexp_of_multipartRequest : multipartRequest ‑> Ppx_sexp_conv_lib.Sexp.t
val portDescReq : multipartRequest
include sig ... end
val switchDesc_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> switchDesc
val sexp_of_switchDesc : switchDesc ‑> Ppx_sexp_conv_lib.Sexp.t
type flowStats
=
{
table_id : tableId; |
duration_sec : int32; |
duration_nsec : int32; |
priority : Packet.int16; |
idle_timeout : timeout; |
hard_timeout : timeout; |
flags : flowModFlags; |
cookie : int64; |
packet_count : int64; |
byte_count : int64; |
ofp_match : oxmMatch; |
instructions : instruction list; |
}
include sig ... end
val aggregStats_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> aggregStats
val sexp_of_aggregStats : aggregStats ‑> Ppx_sexp_conv_lib.Sexp.t
type tableStats
=
{
table_id : tableId; |
active_count : int32; |
lookup_count : int64; |
matched_count : int64; |
}
include sig ... end
val tableStats_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> tableStats
val sexp_of_tableStats : tableStats ‑> Ppx_sexp_conv_lib.Sexp.t
type portStats
=
{
psPort_no : portId; |
rx_packets : int64; |
tx_packets : int64; |
rx_bytes : int64; |
tx_bytes : int64; |
rx_dropped : int64; |
tx_dropped : int64; |
rx_errors : int64; |
tx_errors : int64; |
rx_frame_err : int64; |
rx_over_err : int64; |
rx_crc_err : int64; |
collisions : int64; |
duration_sec : int32; |
duration_nsec : int32; |
}
type queueStats
=
{
qsPort_no : portId; |
queue_id : int32; |
tx_bytes : int64; |
tx_packets : int64; |
tx_errors : int64; |
duration_sec : int32; |
duration_nsec : int32; |
}
include sig ... end
val queueStats_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> queueStats
val sexp_of_queueStats : queueStats ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val bucketStats_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> bucketStats
val sexp_of_bucketStats : bucketStats ‑> Ppx_sexp_conv_lib.Sexp.t
type groupStats
=
{
length : Packet.int16; |
group_id : int32; |
ref_count : int32; |
packet_count : int64; |
byte_count : int64; |
duration_sec : int32; |
duration_nsec : int32; |
bucket_stats : bucketStats list; |
}
include sig ... end
val groupStats_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> groupStats
val sexp_of_groupStats : groupStats ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val groupCapabilities_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> groupCapabilities
val sexp_of_groupCapabilities : groupCapabilities ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val groupTypeMap_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> groupTypeMap
val sexp_of_groupTypeMap : groupTypeMap ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val actionTypeMap_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> actionTypeMap
val sexp_of_actionTypeMap : actionTypeMap ‑> Ppx_sexp_conv_lib.Sexp.t
type groupFeatures
=
{
typ : groupTypeMap; |
capabilities : groupCapabilities; |
max_groups_all : int32; |
max_groups_select : int32; |
max_groups_indirect : int32; |
max_groups_ff : int32; |
actions_all : actionTypeMap; |
actions_select : actionTypeMap; |
actions_indirect : actionTypeMap; |
actions_ff : actionTypeMap; |
}
include sig ... end
val groupFeatures_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> groupFeatures
val sexp_of_groupFeatures : groupFeatures ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val meterBandStats_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> meterBandStats
val sexp_of_meterBandStats : meterBandStats ‑> Ppx_sexp_conv_lib.Sexp.t
type meterStats
=
{
meter_id : int32; |
len : Packet.int16; |
flow_count : int32; |
packet_in_count : int64; |
byte_in_count : int64; |
duration_sec : int32; |
duration_nsec : int32; |
band : meterBandStats list; |
}
include sig ... end
val meterStats_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> meterStats
val sexp_of_meterStats : meterStats ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val meterConfig_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> meterConfig
val sexp_of_meterConfig : meterConfig ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val meterBandMaps_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> meterBandMaps
val sexp_of_meterBandMaps : meterBandMaps ‑> Ppx_sexp_conv_lib.Sexp.t
type meterFeatures
=
{
max_meter : int32; |
band_typ : meterBandMaps; |
capabilities : meterFlags; |
max_band : Packet.int8; |
max_color : Packet.int8; |
}
include sig ... end
val meterFeatures_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> meterFeatures
val sexp_of_meterFeatures : meterFeatures ‑> Ppx_sexp_conv_lib.Sexp.t
type multipartReplyTyp
=
| PortsDescReply of portDesc list |
| SwitchDescReply of switchDesc |
| FlowStatsReply of flowStats list |
| AggregateReply of aggregStats |
| TableReply of tableStats list |
| TableFeaturesReply of tableFeatures list |
| PortStatsReply of portStats list |
| QueueStatsReply of queueStats list |
| GroupStatsReply of groupStats list |
| GroupDescReply of groupDesc list |
| GroupFeaturesReply of groupFeatures |
| MeterReply of meterStats list |
| MeterConfig of meterConfig list |
| MeterFeaturesReply of meterFeatures |
include sig ... end
val multipartReplyTyp_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> multipartReplyTyp
val sexp_of_multipartReplyTyp : multipartReplyTyp ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val multipartReply_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> multipartReply
val sexp_of_multipartReply : multipartReply ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val queueConfReq_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> queueConfReq
val sexp_of_queueConfReq : queueConfReq ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val queueConfReply_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> queueConfReply
val sexp_of_queueConfReply : queueConfReply ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val controllerRole_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> controllerRole
val sexp_of_controllerRole : controllerRole ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val roleRequest_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> roleRequest
val sexp_of_roleRequest : roleRequest ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val supportedList_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> supportedList
val sexp_of_supportedList : supportedList ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val helloElement_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> helloElement
val sexp_of_helloElement : helloElement ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val packetInReasonMap_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> packetInReasonMap
val sexp_of_packetInReasonMap : packetInReasonMap ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val portReasonMap_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> portReasonMap
val sexp_of_portReasonMap : portReasonMap ‑> Ppx_sexp_conv_lib.Sexp.t
include sig ... end
val flowReasonMask_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> flowReasonMask
val sexp_of_flowReasonMask : flowReasonMask ‑> Ppx_sexp_conv_lib.Sexp.t
type asyncConfig
=
{
packet_in : packetInReasonMap asyncMask; |
port_status : portReasonMap asyncMask; |
flow_removed : flowReasonMask asyncMask; |
}
include sig ... end
val asyncConfig_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> asyncConfig
val sexp_of_asyncConfig : asyncConfig ‑> Ppx_sexp_conv_lib.Sexp.t
type msg_code
=
val msg_code_to_int : msg_code ‑> int
module PortConfig : sig ... end
See the ofp_port_config
enumeration in section 7.2.1 of the OpenFlow 1.3.4 specification
module PortFeatures : sig ... end
See the ofp_port_features
enumeration in section 7.2.1 of the OpenFlow 1.3.4 specification
module Oxm : sig ... end
Flow Match Fields structure. See the section 7.2.3.2 of the OpenFlow 1.3.4 specification
module PseudoPort : sig ... end
module QueueDesc : sig ... end
Queue Description structure. See the section 7.2.2 of the OpenFlow 1.3.4 specification
module SwitchConfig : sig ... end
Switch Configuration structure. See the section 7.3.2 of the OpenFlow 1.3.4 specification
module OfpMatch : sig ... end
Flow Match structure. See the section 7.2.3.1 of the OpenFlow 1.3.4 specification
module Action : sig ... end
Action structure. See the section 7.2.5 of the OpenFlow 1.3.4 specification
module Bucket : sig ... end
Bucket structure for use in groups. See the section 7.3.4.2 of OpenFlow 1.3.4 specification
module FlowModCommand : sig ... end
Modify Flow message structure. See the section 7.3.4.1 of the OpenFlow 1.3.4 specification
module GroupType : sig ... end
See the ofp_group_type
enumeration in section 7.3.4.2 of the OpenFlow 1.3.4 specification
module GroupMod : sig ... end
Modify Group message structure. See the section 7.3.4.2 of the OpenFlow 1.3.4 specification
module PortMod : sig ... end
Modify Port message structure. See the section 7.3.4.3 of the OpenFlow 1.3.4 specification
module MeterMod : sig ... end
Modify Meter message structure. See the section 7.3.4.4 of the OpenFlow 1.3.4 specification
module Instruction : sig ... end
Flow Instruction structure. See the section 7.2.4 of the OpenFlow 1.3.4 specification
module Instructions : sig ... end
module FlowMod : sig ... end
Modify flow message structure. See the section 7.3.4.1 of the OpenFlow 1.3.4 specification
module Capabilities : sig ... end
See the ofp_capabilities
enumeration in section 7.3.1 of OpenFlow 1.3.4 specification
type switchFeatures
=
{
datapath_id : int64; |
num_buffers : int32; |
num_tables : Packet.int8; |
aux_id : Packet.int8; |
supported_capabilities : capabilities; |
}
module SwitchFeatures : sig ... end
Switch Features structure. See the section 7.3.1 of the OpenFlow 1.3.4 specification
module PortState : sig ... end
See the ofp_port_state
enumeration in section 7.2.1 of the OpenFlow 1.3.4 specification
module PortDesc : sig ... end
Description of a port structure. See the section 7.3.1 of the OpenFlow 1.3.4 specification
module PortStatus : sig ... end
Port Status structure. See the section 7.4.3 of the OpenFlow 1.3.4 specification
module PacketIn : sig ... end
Packet received by the datapath and sent to the controller structure. See the section 7.4.1 of the OpenFlow 1.3.4 specification
module PacketOut : sig ... end
Packet send out of the datapath structure. See the section 7.3.7 of the OpenFlow 1.3.4 specification
module MeterBand : sig ... end
Meter bands structure. See the section 7.3.4.4 of the OpenFlow 1.3.4 specification
module FlowRemoved : sig ... end
Flow Removed structure. See the section 7.4.2 of the OpenFlow 1.3.4 specification
module FlowRequest : sig ... end
Flow Statistics request structure. See the section 7.3.5.2 of the OpenFlow 1.3.4 specification this structure is the same for indidual and aggregate flow request
module QueueRequest : sig ... end
Queue Statistics request structure. See the section 7.3.5.8 of the OpenFlow 1.3.4 specification
module TableFeatureProp : sig ... end
Table Features property structure. See the section 7.3.5.5.2 of the OpenFlow 1.3.4 specification
module TableFeature : sig ... end
Table Feature structure. See the section 7.3.5.5.1 of the OpenFlow 1.3.4 specification
module MultipartReq : sig ... end
Multipart request message structure. See the section 7.3.5 of the OpenFlow 1.3.4 specification
module GroupStats : sig ... end
Group statistics structure. See the section 7.3.5.9 of the OpenFlow 1.3.4 specification
module SwitchDescriptionReply : sig ... end
Switch Description structure. See the section 7.3.5.1 of the OpenFlow 1.3.4 specification
module FlowStats : sig ... end
Individual Flow Statistics structure. See the section 7.3.5.2 of the OpenFlow 1.3.4 specification
module AggregateStats : sig ... end
Aggregate Flow Statistics structure. See the section 7.3.5.3 of the OpenFlow 1.3.4 specification
module TableStats : sig ... end
Table Statistics structure. See the section 7.3.5.4 of the OpenFlow 1.3.4 specification
module PortStats : sig ... end
Port Statistics structure. See the section 7.3.5.6 of the OpenFlow 1.3.4 specification
module QueueStats : sig ... end
Queue Statistics structure. See the section 7.3.5.8 of the OpenFlow 1.3.4 specification
module GroupDesc : sig ... end
Group Description structure. See the section 7.3.5.10 of the OpenFlow 1.3.4 specification
module GroupFeatures : sig ... end
Group Features structure. See the section 7.3.5.10 of the OpenFlow 1.3.4 specification
module MeterStats : sig ... end
Meter Statistics structure. See the section 7.3.5.12 of the OpenFlow 1.3.4 specification
module MeterConfig : sig ... end
Meter Configuration structure. See the section 7.3.5.13 of the OpenFlow 1.3.4 specification
module MeterFeatures : sig ... end
Meter Features structure. See the section 7.3.5.14 of the OpenFlow 1.3.4 specification
module MultipartReply : sig ... end
Multipart reply message structure. See the section 7.3.5 of the OpenFlow 1.3.4 specification
module TableMod : sig ... end
Modify Table message structure. See the section 7.3.3 of the OpenFlow 1.3.4 specification
module QueueConfReq : sig ... end
Queue Configuration request message structure. See the section 7.3.6 of the OpenFlow 1.3.4 specification
module QueueConfReply : sig ... end
Queue Configuration respond message structure. See the section 7.3.6 of the OpenFlow 1.3.4 specification
module Error : sig ... end
Error message structure. See the section 7.4.4 of the OpenFlow 1.3.4 specification
module RoleRequest : sig ... end
Role Request message structure. See the section 7.3.9 of OpenFlow 1.3.4 specification
module Hello : sig ... end
Hello message structure. See the section 7.5.1 of the OpenFlow 1.3.4 specification
module AsyncConfig : sig ... end
Set Asynchronous message structure. See the section 7.3.10 of OpenFlow 1.3.4 specification
module Message : sig ... end