os-ken/doc/source/ofproto_v1_2_ref.rst

353 lines
8.0 KiB
ReStructuredText

*************************************
OpenFlow v1.2 Messages and Structures
*************************************
.. py:currentmodule:: ryu.ofproto.ofproto_v1_2_parser
Controller-to-Switch Messages
=============================
Handshake
---------
.. autoclass:: OFPFeaturesRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-5-ofp_features_request.packet.json
.. autoclass:: OFPSwitchFeatures
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-6-ofp_features_reply.packet.json
Switch Configuration
--------------------
.. autoclass:: OFPSetConfig
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-7-ofp_set_config.packet.json
.. autoclass:: OFPGetConfigRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json
.. autoclass:: OFPGetConfigReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-9-ofp_get_config_reply.packet.json
Flow Table Configuration
------------------------
.. autoclass:: OFPTableMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-23-ofp_table_mod.packet.json
Modify State Messages
---------------------
.. autoclass:: OFPFlowMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json
.. autoclass:: OFPGroupMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json
.. autoclass:: OFPPortMod
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json
Read State Messages
-------------------
.. autoclass:: OFPDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json
.. autoclass:: OFPDescStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json
.. autoclass:: OFPFlowStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json
.. autoclass:: OFPFlowStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json
.. autoclass:: OFPAggregateStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json
.. autoclass:: OFPAggregateStatsReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json
.. autoclass:: OFPTableStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json
.. autoclass:: OFPTableStats
.. XXX commented out because it's too long
.. JSON Example:
..
.. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json
.. autoclass:: OFPPortStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json
.. autoclass:: OFPPortStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json
.. autoclass:: OFPQueueStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json
.. autoclass:: OFPQueueStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json
.. autoclass:: OFPGroupStatsRequest
.. autoclass:: OFPGroupStats
.. autoclass:: OFPGroupDescStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json
.. autoclass:: OFPGroupDescStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json
.. autoclass:: OFPGroupFeaturesStatsRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json
.. autoclass:: OFPGroupFeaturesStats
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json
Queue Configuration Messages
----------------------------
.. autoclass:: OFPQueueGetConfigRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json
.. autoclass:: OFPQueueGetConfigReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json
Packet-Out Message
------------------
.. autoclass:: OFPPacketOut
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json
Barrier Message
---------------
.. autoclass:: OFPBarrierRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json
.. autoclass:: OFPBarrierReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json
Role Request Message
--------------------
.. autoclass:: OFPRoleRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json
.. autoclass:: OFPRoleReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json
Asynchronous Messages
=====================
Packet-In Message
-----------------
.. autoclass:: OFPPacketIn
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json
Flow Removed Message
--------------------
.. autoclass:: OFPFlowRemoved
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json
Port Status Message
-------------------
.. autoclass:: OFPPortStatus
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json
Error Message
-------------
.. autoclass:: OFPErrorMsg
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-15-ofp_error_msg.packet.json
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-41-ofp_error_msg_experimenter.packet.json
Symmetric Messages
==================
Hello
-----
.. autoclass:: OFPHello
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json
Echo Request
------------
.. autoclass:: OFPEchoRequest
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json
Echo Reply
----------
.. autoclass:: OFPEchoReply
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json
Experimenter
------------
.. autoclass:: OFPExperimenter
JSON Example:
.. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json
Port Structures
===============
.. autoclass:: OFPPort
Flow Match Structure
====================
.. autoclass:: OFPMatch
Flow Instruction Structures
===========================
.. autoclass:: OFPInstructionGotoTable
.. autoclass:: OFPInstructionWriteMetadata
.. autoclass:: OFPInstructionActions
Action Structures
=================
.. autoclass:: OFPActionOutput
.. autoclass:: OFPActionGroup
.. autoclass:: OFPActionSetQueue
.. autoclass:: OFPActionSetMplsTtl
.. autoclass:: OFPActionDecMplsTtl
.. autoclass:: OFPActionSetNwTtl
.. autoclass:: OFPActionDecNwTtl
.. autoclass:: OFPActionCopyTtlOut
.. autoclass:: OFPActionCopyTtlIn
.. autoclass:: OFPActionPushVlan
.. autoclass:: OFPActionPushMpls
.. autoclass:: OFPActionPopVlan
.. autoclass:: OFPActionPopMpls
.. autoclass:: OFPActionSetField
.. autoclass:: OFPActionExperimenter