1 *************************************
2 OpenFlow v1.2 Messages and Structures
3 *************************************
5 .. py:currentmodule:: ryu.ofproto.ofproto_v1_2_parser
7 Controller-to-Switch Messages
8 =============================
13 .. autoclass:: OFPFeaturesRequest
17 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-5-ofp_features_request.packet.json
19 .. autoclass:: OFPSwitchFeatures
23 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-6-ofp_features_reply.packet.json
28 .. autoclass:: OFPSetConfig
32 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-7-ofp_set_config.packet.json
34 .. autoclass:: OFPGetConfigRequest
38 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json
40 .. autoclass:: OFPGetConfigReply
44 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-9-ofp_get_config_reply.packet.json
46 Flow Table Configuration
47 ------------------------
49 .. autoclass:: OFPTableMod
53 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-23-ofp_table_mod.packet.json
58 .. autoclass:: OFPFlowMod
62 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json
63 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json
65 .. autoclass:: OFPGroupMod
69 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json
71 .. autoclass:: OFPPortMod
75 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json
80 .. autoclass:: OFPDescStatsRequest
84 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json
86 .. autoclass:: OFPDescStats
90 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json
92 .. autoclass:: OFPFlowStatsRequest
96 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json
98 .. autoclass:: OFPFlowStats
102 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json
104 .. autoclass:: OFPAggregateStatsRequest
108 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json
110 .. autoclass:: OFPAggregateStatsReply
114 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json
116 .. autoclass:: OFPTableStatsRequest
120 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json
122 .. autoclass:: OFPTableStats
124 .. XXX commented out because it's too long
127 .. .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json
129 .. autoclass:: OFPPortStatsRequest
133 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json
135 .. autoclass:: OFPPortStats
139 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json
141 .. autoclass:: OFPQueueStatsRequest
145 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json
147 .. autoclass:: OFPQueueStats
151 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json
153 .. autoclass:: OFPGroupStatsRequest
154 .. autoclass:: OFPGroupStats
155 .. autoclass:: OFPGroupDescStatsRequest
159 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json
161 .. autoclass:: OFPGroupDescStats
165 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json
167 .. autoclass:: OFPGroupFeaturesStatsRequest
171 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json
173 .. autoclass:: OFPGroupFeaturesStats
177 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json
179 Queue Configuration Messages
180 ----------------------------
182 .. autoclass:: OFPQueueGetConfigRequest
186 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json
188 .. autoclass:: OFPQueueGetConfigReply
192 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json
197 .. autoclass:: OFPPacketOut
201 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json
206 .. autoclass:: OFPBarrierRequest
210 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json
212 .. autoclass:: OFPBarrierReply
216 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json
221 .. autoclass:: OFPRoleRequest
225 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json
227 .. autoclass:: OFPRoleReply
231 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json
234 Asynchronous Messages
235 =====================
240 .. autoclass:: OFPPacketIn
244 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json
249 .. autoclass:: OFPFlowRemoved
253 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json
258 .. autoclass:: OFPPortStatus
262 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json
267 .. autoclass:: OFPErrorMsg
271 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-15-ofp_error_msg.packet.json
272 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-41-ofp_error_msg_experimenter.packet.json
280 .. autoclass:: OFPHello
284 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json
289 .. autoclass:: OFPEchoRequest
293 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json
299 .. autoclass:: OFPEchoReply
303 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json
309 .. autoclass:: OFPExperimenter
313 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json
318 .. autoclass:: OFPPort
324 .. autoclass:: OFPMatch
327 Flow Instruction Structures
328 ===========================
330 .. autoclass:: OFPInstructionGotoTable
331 .. autoclass:: OFPInstructionWriteMetadata
332 .. autoclass:: OFPInstructionActions
338 .. autoclass:: OFPActionOutput
339 .. autoclass:: OFPActionGroup
340 .. autoclass:: OFPActionSetQueue
341 .. autoclass:: OFPActionSetMplsTtl
342 .. autoclass:: OFPActionDecMplsTtl
343 .. autoclass:: OFPActionSetNwTtl
344 .. autoclass:: OFPActionDecNwTtl
345 .. autoclass:: OFPActionCopyTtlOut
346 .. autoclass:: OFPActionCopyTtlIn
347 .. autoclass:: OFPActionPushVlan
348 .. autoclass:: OFPActionPushMpls
349 .. autoclass:: OFPActionPopVlan
350 .. autoclass:: OFPActionPopMpls
351 .. autoclass:: OFPActionSetField
352 .. autoclass:: OFPActionExperimenter