672db3d81a
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
348 lines
8.0 KiB
ReStructuredText
348 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
|
|
|
|
|
|
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
|