os-ken/doc/source/ofproto_v1_4_ref.rst

13 KiB

OpenFlow v1.4 Messages and Structures

Controller-to-Switch Messages

Handshake

OFPFeaturesRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-5-ofp_features_request.packet.json

OFPSwitchFeatures

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-6-ofp_features_reply.packet.json

Switch Configuration

OFPSetConfig

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-7-ofp_set_config.packet.json

OFPGetConfigRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-8-ofp_get_config_request.packet.json

OFPGetConfigReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-9-ofp_get_config_reply.packet.json

Modify State Messages

OFPTableMod

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-23-ofp_table_mod.packet.json

OFPFlowMod

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json

../../os_ken/tests/unit/ofproto/json/of14/5-3-ofp_flow_mod.packet.json

../../os_ken/tests/unit/ofproto/json/of14/5-44-ofp_flow_mod.packet.json

../../os_ken/tests/unit/ofproto/json/of14/5-58-ofp_flow_mod.packet.json

OFPGroupMod

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-21-ofp_group_mod.packet.json

OFPPortMod

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-22-ofp_port_mod.packet.json

OFPMeterMod

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-43-ofp_meter_mod.packet.json

Multipart Messages

OFPDescStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-24-ofp_desc_request.packet.json

OFPDescStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-0-ofp_desc_reply.packet.json

OFPFlowStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-11-ofp_flow_stats_request.packet.json

OFPFlowStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json

OFPAggregateStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-25-ofp_aggregate_stats_request.packet.json

OFPAggregateStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-26-ofp_aggregate_stats_reply.packet.json

OFPTableStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-27-ofp_table_stats_request.packet.json

OFPTableStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-28-ofp_table_stats_reply.packet.json

OFPTableDescStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-61-ofp_table_desc_request.packet.json

OFPTableDescStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-62-ofp_table_desc_reply.packet.json

OFPTableFeaturesStatsRequest

JSON Example:

See an example in:

os_ken/tests/unit/ofproto/json/of14/5-53-ofp_table_features_request.packet.json

OFPTableFeaturesStatsReply

JSON Example:

See an example in:

os_ken/tests/unit/ofproto/json/of14/5-54-ofp_table_features_reply.packet.json

OFPPortStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-29-ofp_port_stats_request.packet.json

OFPPortStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-30-ofp_port_stats_reply.packet.json

OFPPortDescStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-51-ofp_port_desc_request.packet.json

OFPPortDescStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-52-ofp_port_desc_reply.packet.json

OFPQueueStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-35-ofp_queue_stats_request.packet.json

OFPQueueStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-36-ofp_queue_stats_reply.packet.json

OFPQueueDescStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-63-ofp_queue_desc_request.packet.json

OFPQueueDescStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-64-ofp_queue_desc_reply.packet.json

OFPGroupStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-55-ofp_group_stats_request.packet.json

OFPGroupStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-56-ofp_group_stats_reply.packet.json

OFPGroupDescStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-33-ofp_group_desc_request.packet.json

OFPGroupDescStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-34-ofp_group_desc_reply.packet.json

OFPGroupFeaturesStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-31-ofp_group_features_request.packet.json

OFPGroupFeaturesStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-32-ofp_group_features_reply.packet.json

OFPMeterStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-47-ofp_meter_stats_request.packet.json

OFPMeterStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-48-ofp_meter_stats_reply.packet.json

OFPMeterConfigStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-45-ofp_meter_config_request.packet.json

OFPMeterConfigStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-46-ofp_meter_config_reply.packet.json

OFPMeterFeaturesStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-49-ofp_meter_features_request.packet.json

OFPMeterFeaturesStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-50-ofp_meter_features_reply.packet.json

OFPFlowMonitorRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json

OFPFlowMonitorReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json

OFPExperimenterStatsRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-59-ofp_experimenter_request.packet.json

OFPExperimenterStatsReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-60-ofp_experimenter_reply.packet.json

Packet-Out Message

OFPPacketOut

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-1-ofp_packet_out.packet.json

Barrier Message

OFPBarrierRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-17-ofp_barrier_request.packet.json

OFPBarrierReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-18-ofp_barrier_reply.packet.json

Role Request Message

OFPRoleRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-19-ofp_role_request.packet.json

OFPRoleReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-20-ofp_role_reply.packet.json

Bundle Messages

OFPBundleCtrlMsg

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json

OFPBundleAddMsg

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json

Set Asynchronous Configuration Message

OFPSetAsync

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-42-ofp_set_async.packet.json

OFPGetAsyncRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-40-ofp_get_async_request.packet.json

OFPGetAsyncReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-41-ofp_get_async_reply.packet.json

Asynchronous Messages

Packet-In Message

OFPPacketIn

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-4-ofp_packet_in.packet.json

../../os_ken/tests/unit/ofproto/json/of14/5-57-ofp_packet_in.packet.json

Flow Removed Message

OFPFlowRemoved

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-38-ofp_flow_removed.packet.json

Port Status Message

OFPPortStatus

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-37-ofp_port_status.packet.json

Controller Role Status Message

OFPRoleStatus

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-65-ofp_role_status.packet.json

Table Status Message

OFPTableStatus

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json

Request Forward Message

OFPRequestForward

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json

Symmetric Messages

Hello

OFPHello

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-10-ofp_hello.packet.json

OFPHelloElemVersionBitmap

Echo Request

OFPEchoRequest

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-13-ofp_echo_request.packet.json

Echo Reply

OFPEchoReply

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-14-ofp_echo_reply.packet.json

Error Message

OFPErrorMsg

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-15-ofp_error_msg.packet.json

Experimenter

OFPExperimenter

JSON Example:

../../os_ken/tests/unit/ofproto/json/of14/5-16-ofp_experimenter.packet.json

Port Structures

OFPPort

Flow Match Structure

OFPMatch

Flow Instruction Structures

OFPInstructionGotoTable

OFPInstructionWriteMetadata

OFPInstructionActions

OFPInstructionMeter

Action Structures

OFPActionOutput

OFPActionCopyTtlOut

OFPActionCopyTtlIn

OFPActionSetMplsTtl

OFPActionDecMplsTtl

OFPActionPushVlan

OFPActionPopVlan

OFPActionPushMpls

OFPActionPopMpls

OFPActionSetQueue

OFPActionGroup

OFPActionSetNwTtl

OFPActionDecNwTtl

OFPActionSetField

OFPActionPushPbb

OFPActionPopPbb

OFPActionExperimenter