1 *************************************
2 OpenFlow v1.4 Messages and Structures
3 *************************************
5 .. py:currentmodule:: ryu.ofproto.ofproto_v1_4_parser
7 Controller-to-Switch Messages
8 =============================
13 .. autoclass:: OFPFeaturesRequest
17 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-5-ofp_features_request.packet.json
19 .. autoclass:: OFPSwitchFeatures
23 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-6-ofp_features_reply.packet.json
28 .. autoclass:: OFPSetConfig
32 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-7-ofp_set_config.packet.json
34 .. autoclass:: OFPGetConfigRequest
38 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-8-ofp_get_config_request.packet.json
40 .. autoclass:: OFPGetConfigReply
44 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-9-ofp_get_config_reply.packet.json
49 .. autoclass:: OFPTableMod
53 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-23-ofp_table_mod.packet.json
55 .. autoclass:: OFPFlowMod
59 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json
60 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-3-ofp_flow_mod.packet.json
61 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-44-ofp_flow_mod.packet.json
62 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-58-ofp_flow_mod.packet.json
64 .. autoclass:: OFPGroupMod
68 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-21-ofp_group_mod.packet.json
70 .. autoclass:: OFPPortMod
74 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-22-ofp_port_mod.packet.json
76 .. autoclass:: OFPMeterMod
80 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-43-ofp_meter_mod.packet.json
85 .. autoclass:: OFPDescStatsRequest
89 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-24-ofp_desc_request.packet.json
91 .. autoclass:: OFPDescStatsReply
95 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-0-ofp_desc_reply.packet.json
97 .. autoclass:: OFPFlowStatsRequest
101 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-11-ofp_flow_stats_request.packet.json
103 .. autoclass:: OFPFlowStatsReply
107 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json
109 .. autoclass:: OFPAggregateStatsRequest
113 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-25-ofp_aggregate_stats_request.packet.json
115 .. autoclass:: OFPAggregateStatsReply
119 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-26-ofp_aggregate_stats_reply.packet.json
121 .. autoclass:: OFPTableStatsRequest
125 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-27-ofp_table_stats_request.packet.json
127 .. autoclass:: OFPTableStatsReply
131 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-28-ofp_table_stats_reply.packet.json
133 .. autoclass:: OFPTableDescStatsRequest
137 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-61-ofp_table_desc_request.packet.json
139 .. autoclass:: OFPTableDescStatsReply
143 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-62-ofp_table_desc_reply.packet.json
145 .. autoclass:: OFPTableFeaturesStatsRequest
151 ``ryu/tests/unit/ofproto/json/of14/5-53-ofp_table_features_request.packet.json``
153 .. autoclass:: OFPTableFeaturesStatsReply
159 ``ryu/tests/unit/ofproto/json/of14/5-54-ofp_table_features_reply.packet.json``
161 .. autoclass:: OFPPortStatsRequest
165 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-29-ofp_port_stats_request.packet.json
167 .. autoclass:: OFPPortStatsReply
171 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-30-ofp_port_stats_reply.packet.json
173 .. autoclass:: OFPPortDescStatsRequest
177 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-51-ofp_port_desc_request.packet.json
179 .. autoclass:: OFPPortDescStatsReply
183 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-52-ofp_port_desc_reply.packet.json
185 .. autoclass:: OFPQueueStatsRequest
189 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-35-ofp_queue_stats_request.packet.json
191 .. autoclass:: OFPQueueStatsReply
195 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-36-ofp_queue_stats_reply.packet.json
197 .. autoclass:: OFPQueueDescStatsRequest
201 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-63-ofp_queue_desc_request.packet.json
203 .. autoclass:: OFPQueueDescStatsReply
207 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-64-ofp_queue_desc_reply.packet.json
209 .. autoclass:: OFPGroupStatsRequest
213 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-55-ofp_group_stats_request.packet.json
215 .. autoclass:: OFPGroupStatsReply
219 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-56-ofp_group_stats_reply.packet.json
221 .. autoclass:: OFPGroupDescStatsRequest
225 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-33-ofp_group_desc_request.packet.json
227 .. autoclass:: OFPGroupDescStatsReply
231 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-34-ofp_group_desc_reply.packet.json
233 .. autoclass:: OFPGroupFeaturesStatsRequest
237 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-31-ofp_group_features_request.packet.json
239 .. autoclass:: OFPGroupFeaturesStatsReply
243 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-32-ofp_group_features_reply.packet.json
245 .. autoclass:: OFPMeterStatsRequest
249 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-47-ofp_meter_stats_request.packet.json
251 .. autoclass:: OFPMeterStatsReply
255 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-48-ofp_meter_stats_reply.packet.json
257 .. autoclass:: OFPMeterConfigStatsRequest
261 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-45-ofp_meter_config_request.packet.json
263 .. autoclass:: OFPMeterConfigStatsReply
267 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-46-ofp_meter_config_reply.packet.json
269 .. autoclass:: OFPMeterFeaturesStatsRequest
273 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-49-ofp_meter_features_request.packet.json
275 .. autoclass:: OFPMeterFeaturesStatsReply
279 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-50-ofp_meter_features_reply.packet.json
281 .. autoclass:: OFPFlowMonitorRequest
285 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json
287 .. autoclass:: OFPFlowMonitorReply
291 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json
293 .. autoclass:: OFPExperimenterStatsRequest
297 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-59-ofp_experimenter_request.packet.json
299 .. autoclass:: OFPExperimenterStatsReply
303 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-60-ofp_experimenter_reply.packet.json
308 .. autoclass:: OFPPacketOut
312 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-1-ofp_packet_out.packet.json
317 .. autoclass:: OFPBarrierRequest
321 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-17-ofp_barrier_request.packet.json
323 .. autoclass:: OFPBarrierReply
327 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-18-ofp_barrier_reply.packet.json
332 .. autoclass:: OFPRoleRequest
336 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-19-ofp_role_request.packet.json
338 .. autoclass:: OFPRoleReply
342 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-20-ofp_role_reply.packet.json
347 .. autoclass:: OFPBundleCtrlMsg
351 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json
353 .. autoclass:: OFPBundleAddMsg
357 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json
359 Set Asynchronous Configuration Message
360 --------------------------------------
362 .. autoclass:: OFPSetAsync
366 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-42-ofp_set_async.packet.json
368 .. autoclass:: OFPGetAsyncRequest
372 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-40-ofp_get_async_request.packet.json
374 .. autoclass:: OFPGetAsyncReply
378 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-41-ofp_get_async_reply.packet.json
381 Asynchronous Messages
382 =====================
387 .. autoclass:: OFPPacketIn
391 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-4-ofp_packet_in.packet.json
392 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-57-ofp_packet_in.packet.json
397 .. autoclass:: OFPFlowRemoved
401 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-38-ofp_flow_removed.packet.json
406 .. autoclass:: OFPPortStatus
410 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-37-ofp_port_status.packet.json
412 Controller Role Status Message
413 ------------------------------
415 .. autoclass:: OFPRoleStatus
419 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-65-ofp_role_status.packet.json
424 .. autoclass:: OFPTableStatus
428 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json
430 Request Forward Message
431 -----------------------
433 .. autoclass:: OFPRequestForward
437 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json
446 .. autoclass:: OFPHello
450 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-10-ofp_hello.packet.json
452 .. autoclass:: OFPHelloElemVersionBitmap
457 .. autoclass:: OFPEchoRequest
461 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-13-ofp_echo_request.packet.json
466 .. autoclass:: OFPEchoReply
470 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-14-ofp_echo_reply.packet.json
475 .. autoclass:: OFPErrorMsg
479 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-15-ofp_error_msg.packet.json
484 .. autoclass:: OFPExperimenter
488 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of14/5-16-ofp_experimenter.packet.json
493 .. autoclass:: OFPPort
499 .. autoclass:: OFPMatch
502 Flow Instruction Structures
503 ===========================
505 .. autoclass:: OFPInstructionGotoTable
506 .. autoclass:: OFPInstructionWriteMetadata
507 .. autoclass:: OFPInstructionActions
508 .. autoclass:: OFPInstructionMeter
514 .. autoclass:: OFPActionOutput
515 .. autoclass:: OFPActionCopyTtlOut
516 .. autoclass:: OFPActionCopyTtlIn
517 .. autoclass:: OFPActionSetMplsTtl
518 .. autoclass:: OFPActionDecMplsTtl
519 .. autoclass:: OFPActionPushVlan
520 .. autoclass:: OFPActionPopVlan
521 .. autoclass:: OFPActionPushMpls
522 .. autoclass:: OFPActionPopMpls
523 .. autoclass:: OFPActionSetQueue
524 .. autoclass:: OFPActionGroup
525 .. autoclass:: OFPActionSetNwTtl
526 .. autoclass:: OFPActionDecNwTtl
527 .. autoclass:: OFPActionSetField
528 .. autoclass:: OFPActionPushPbb
529 .. autoclass:: OFPActionPopPbb
530 .. autoclass:: OFPActionExperimenter