1 *************************************
2 OpenFlow v1.5 Messages and Structures
3 *************************************
5 .. py:currentmodule:: ryu.ofproto.ofproto_v1_5_parser
7 Controller-to-Switch Messages
8 =============================
13 .. autoclass:: OFPFeaturesRequest
17 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json
19 .. autoclass:: OFPSwitchFeatures
23 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json
28 .. autoclass:: OFPSetConfig
32 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json
34 .. autoclass:: OFPGetConfigRequest
38 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json
40 .. autoclass:: OFPGetConfigReply
44 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json
49 .. autoclass:: OFPTableMod
53 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json
55 .. autoclass:: OFPFlowMod
59 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json
60 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_conjunction.packet.json
61 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json
63 .. autoclass:: OFPGroupMod
67 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json
69 .. autoclass:: OFPPortMod
73 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json
75 .. autoclass:: OFPMeterMod
79 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json
84 .. autoclass:: OFPDescStatsRequest
88 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json
90 .. autoclass:: OFPDescStatsReply
94 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json
96 .. autoclass:: OFPFlowDescStatsRequest
100 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json
102 .. autoclass:: OFPFlowDescStatsReply
106 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json
108 .. autoclass:: OFPFlowStatsRequest
112 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json
114 .. autoclass:: OFPFlowStatsReply
118 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json
120 .. autoclass:: OFPAggregateStatsRequest
124 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json
126 .. autoclass:: OFPAggregateStatsReply
130 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json
132 .. autoclass:: OFPPortStatsRequest
136 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json
138 .. autoclass:: OFPPortStatsReply
142 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json
144 .. autoclass:: OFPPortDescStatsRequest
148 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_request.packet.json
150 .. autoclass:: OFPPortDescStatsReply
154 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json
156 .. autoclass:: OFPQueueStatsRequest
160 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json
162 .. autoclass:: OFPQueueStatsReply
166 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json
168 .. autoclass:: OFPQueueDescStatsRequest
172 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_request.packet.json
174 .. autoclass:: OFPQueueDescStatsReply
178 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json
180 .. autoclass:: OFPGroupStatsRequest
184 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json
186 .. autoclass:: OFPGroupStatsReply
190 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json
192 .. autoclass:: OFPGroupDescStatsRequest
196 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_request.packet.json
198 .. autoclass:: OFPGroupDescStatsReply
202 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_reply.packet.json
204 .. autoclass:: OFPGroupFeaturesStatsRequest
208 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json
210 .. autoclass:: OFPGroupFeaturesStatsReply
214 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json
216 .. autoclass:: OFPMeterStatsRequest
220 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json
222 .. autoclass:: OFPMeterStatsReply
226 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json
228 .. autoclass:: OFPMeterDescStatsRequest
232 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json
234 .. autoclass:: OFPMeterDescStatsReply
238 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json
240 .. autoclass:: OFPMeterFeaturesStatsRequest
244 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json
246 .. autoclass:: OFPMeterFeaturesStatsReply
250 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json
252 .. autoclass:: OFPControllerStatusStatsRequest
256 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_request.packet.json
258 .. autoclass:: OFPControllerStatusStatsReply
262 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_reply.packet.json
264 .. autoclass:: OFPTableStatsRequest
268 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json
270 .. autoclass:: OFPTableStatsReply
274 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json
276 .. autoclass:: OFPTableDescStatsRequest
280 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json
282 .. autoclass:: OFPTableDescStatsReply
286 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json
288 .. autoclass:: OFPTableFeaturesStatsRequest
292 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_request.packet.json
294 .. autoclass:: OFPTableFeaturesStatsReply
298 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_reply.packet.json
300 .. autoclass:: OFPFlowMonitorRequest
304 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json
306 .. autoclass:: OFPFlowMonitorReply
310 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json
312 .. autoclass:: OFPBundleFeaturesStatsRequest
316 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_request.packet.json
318 .. autoclass:: OFPBundleFeaturesStatsReply
322 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_reply.packet.json
324 .. autoclass:: OFPExperimenterStatsRequest
328 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json
330 .. autoclass:: OFPExperimenterStatsReply
334 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json
339 .. autoclass:: OFPPacketOut
343 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_out.packet.json
348 .. autoclass:: OFPBarrierRequest
352 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json
354 .. autoclass:: OFPBarrierReply
358 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json
363 .. autoclass:: OFPRoleRequest
367 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_request.packet.json
369 .. autoclass:: OFPRoleReply
373 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_reply.packet.json
378 .. autoclass:: OFPBundleCtrlMsg
382 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_ctrl.packet.json
384 .. autoclass:: OFPBundleAddMsg
388 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json
390 Set Asynchronous Configuration Message
391 --------------------------------------
393 .. autoclass:: OFPSetAsync
397 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json
399 .. autoclass:: OFPGetAsyncRequest
403 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json
405 .. autoclass:: OFPGetAsyncReply
409 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json
411 Asynchronous Messages
412 =====================
417 .. autoclass:: OFPPacketIn
421 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_in.packet.json
426 .. autoclass:: OFPFlowRemoved
430 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json
435 .. autoclass:: OFPPortStatus
439 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json
441 Controller Role Status Message
442 ------------------------------
444 .. autoclass:: OFPRoleStatus
448 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json
453 .. autoclass:: OFPTableStatus
457 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json
459 Request Forward Message
460 -----------------------
462 .. autoclass:: OFPRequestForward
466 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json
468 Controller Status Message
469 -------------------------
471 .. autoclass:: OFPControllerStatus
475 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status.packet.json
483 .. autoclass:: OFPHello
487 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json
489 .. autoclass:: OFPHelloElemVersionBitmap
494 .. autoclass:: OFPEchoRequest
498 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json
503 .. autoclass:: OFPEchoReply
507 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json
512 .. autoclass:: OFPErrorMsg
516 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json
521 .. autoclass:: OFPExperimenter
525 .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json
530 .. autoclass:: OFPPort
535 .. autoclass:: OFPMatch
537 Flow Stats Structures
538 =====================
540 .. autoclass:: OFPStats
542 Flow Instruction Structures
543 ===========================
545 .. autoclass:: OFPInstructionGotoTable
546 .. autoclass:: OFPInstructionWriteMetadata
547 .. autoclass:: OFPInstructionActions
548 .. autoclass:: OFPInstructionStatTrigger
553 .. autoclass:: OFPActionOutput
554 .. autoclass:: OFPActionCopyTtlOut
555 .. autoclass:: OFPActionCopyTtlIn
556 .. autoclass:: OFPActionSetMplsTtl
557 .. autoclass:: OFPActionDecMplsTtl
558 .. autoclass:: OFPActionPushVlan
559 .. autoclass:: OFPActionPopVlan
560 .. autoclass:: OFPActionPushMpls
561 .. autoclass:: OFPActionPopMpls
562 .. autoclass:: OFPActionSetQueue
563 .. autoclass:: OFPActionGroup
564 .. autoclass:: OFPActionSetNwTtl
565 .. autoclass:: OFPActionDecNwTtl
566 .. autoclass:: OFPActionSetField
567 .. autoclass:: OFPActionPushPbb
568 .. autoclass:: OFPActionPopPbb
569 .. autoclass:: OFPActionCopyField
570 .. autoclass:: OFPActionMeter
571 .. autoclass:: OFPActionExperimenter
573 Controller Status Structure
574 ===========================
576 .. autoclass:: OFPControllerStatusStats