Update and rename MantenerFIFO to MantenerFIFO.md
[vsorcdistro/.git] / ryu / doc / source / ofproto_v1_5_ref.rst
1 *************************************
2 OpenFlow v1.5 Messages and Structures
3 *************************************
4
5 .. py:currentmodule:: ryu.ofproto.ofproto_v1_5_parser
6
7 Controller-to-Switch Messages
8 =============================
9
10 Handshake
11 ---------
12
13 .. autoclass:: OFPFeaturesRequest
14
15     JSON Example:
16
17     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json
18
19 .. autoclass:: OFPSwitchFeatures
20
21     JSON Example:
22
23     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json
24
25 Switch Configuration
26 --------------------
27
28 .. autoclass:: OFPSetConfig
29
30     JSON Example:
31
32     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json
33
34 .. autoclass:: OFPGetConfigRequest
35
36     JSON Example:
37
38     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json
39
40 .. autoclass:: OFPGetConfigReply
41
42     JSON Example:
43
44     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json
45
46 Modify State Messages
47 ---------------------
48
49 .. autoclass:: OFPTableMod
50
51     JSON Example:
52
53     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json
54
55 .. autoclass:: OFPFlowMod
56
57     JSON Example:
58
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
62
63 .. autoclass:: OFPGroupMod
64
65     JSON Example:
66
67     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json
68
69 .. autoclass:: OFPPortMod
70
71     JSON Example:
72
73     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json
74
75 .. autoclass:: OFPMeterMod
76
77     JSON Example:
78
79     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json
80
81 Multipart Messages
82 ------------------
83
84 .. autoclass:: OFPDescStatsRequest
85
86     JSON Example:
87
88     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json
89
90 .. autoclass:: OFPDescStatsReply
91
92     JSON Example:
93
94     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json
95
96 .. autoclass:: OFPFlowDescStatsRequest
97
98     JSON Example:
99
100     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json
101
102 .. autoclass:: OFPFlowDescStatsReply
103
104     JSON Example:
105
106     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json
107
108 .. autoclass:: OFPFlowStatsRequest
109
110     JSON Example:
111
112     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json
113
114 .. autoclass:: OFPFlowStatsReply
115
116     JSON Example:
117
118     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json
119
120 .. autoclass:: OFPAggregateStatsRequest
121
122     JSON Example:
123
124     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json
125
126 .. autoclass:: OFPAggregateStatsReply
127
128     JSON Example:
129
130     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json
131
132 .. autoclass:: OFPPortStatsRequest
133
134     JSON Example:
135
136     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json
137
138 .. autoclass:: OFPPortStatsReply
139
140     JSON Example:
141
142     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json
143
144 .. autoclass:: OFPPortDescStatsRequest
145
146     JSON Example:
147
148     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_request.packet.json
149
150 .. autoclass:: OFPPortDescStatsReply
151
152     JSON Example:
153
154     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json
155
156 .. autoclass:: OFPQueueStatsRequest
157
158     JSON Example:
159
160     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json
161
162 .. autoclass:: OFPQueueStatsReply
163
164     JSON Example:
165
166     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json
167
168 .. autoclass:: OFPQueueDescStatsRequest
169
170     JSON Example:
171
172     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_request.packet.json
173
174 .. autoclass:: OFPQueueDescStatsReply
175
176     JSON Example:
177
178     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json
179
180 .. autoclass:: OFPGroupStatsRequest
181
182     JSON Example:
183
184     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json
185
186 .. autoclass:: OFPGroupStatsReply
187
188     JSON Example:
189
190     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json
191
192 .. autoclass:: OFPGroupDescStatsRequest
193
194     JSON Example:
195
196     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_request.packet.json
197
198 .. autoclass:: OFPGroupDescStatsReply
199
200     JSON Example:
201
202     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_reply.packet.json
203
204 .. autoclass:: OFPGroupFeaturesStatsRequest
205
206     JSON Example:
207
208     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json
209
210 .. autoclass:: OFPGroupFeaturesStatsReply
211
212     JSON Example:
213
214     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json
215
216 .. autoclass:: OFPMeterStatsRequest
217
218     JSON Example:
219
220     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json
221
222 .. autoclass:: OFPMeterStatsReply
223
224     JSON Example:
225
226     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json
227
228 .. autoclass:: OFPMeterDescStatsRequest
229
230     JSON Example:
231
232     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json
233
234 .. autoclass:: OFPMeterDescStatsReply
235
236     JSON Example:
237
238     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json
239
240 .. autoclass:: OFPMeterFeaturesStatsRequest
241
242     JSON Example:
243
244     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json
245
246 .. autoclass:: OFPMeterFeaturesStatsReply
247
248     JSON Example:
249
250     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json
251
252 .. autoclass:: OFPControllerStatusStatsRequest
253
254     JSON Example:
255
256     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_request.packet.json
257
258 .. autoclass:: OFPControllerStatusStatsReply
259
260     JSON Example:
261
262     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_reply.packet.json
263
264 .. autoclass:: OFPTableStatsRequest
265
266     JSON Example:
267
268     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json
269
270 .. autoclass:: OFPTableStatsReply
271
272     JSON Example:
273
274     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json
275
276 .. autoclass:: OFPTableDescStatsRequest
277
278     JSON Example:
279
280     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json
281
282 .. autoclass:: OFPTableDescStatsReply
283
284     JSON Example:
285
286     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json
287
288 .. autoclass:: OFPTableFeaturesStatsRequest
289
290     JSON Example:
291
292     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_request.packet.json
293
294 .. autoclass:: OFPTableFeaturesStatsReply
295
296     JSON Example:
297
298     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_reply.packet.json
299
300 .. autoclass:: OFPFlowMonitorRequest
301
302     JSON Example:
303
304     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json
305
306 .. autoclass:: OFPFlowMonitorReply
307
308     JSON Example:
309
310     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json
311
312 .. autoclass:: OFPBundleFeaturesStatsRequest
313
314     JSON Example:
315
316     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_request.packet.json
317
318 .. autoclass:: OFPBundleFeaturesStatsReply
319
320     JSON Example:
321
322     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_reply.packet.json
323
324 .. autoclass:: OFPExperimenterStatsRequest
325
326     JSON Example:
327
328     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json
329
330 .. autoclass:: OFPExperimenterStatsReply
331
332     JSON Example:
333
334     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json
335
336 Packet-Out Message
337 ------------------
338
339 .. autoclass:: OFPPacketOut
340
341     JSON Example:
342
343     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_out.packet.json
344
345 Barrier Message
346 ---------------
347
348 .. autoclass:: OFPBarrierRequest
349
350     JSON Example:
351
352     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json
353
354 .. autoclass:: OFPBarrierReply
355
356     JSON Example:
357
358     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json
359
360 Role Request Message
361 --------------------
362
363 .. autoclass:: OFPRoleRequest
364
365     JSON Example:
366
367     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_request.packet.json
368
369 .. autoclass:: OFPRoleReply
370
371     JSON Example:
372
373     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_reply.packet.json
374
375 Bundle Messages
376 ---------------
377
378 .. autoclass:: OFPBundleCtrlMsg
379
380     JSON Example:
381
382     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_ctrl.packet.json
383
384 .. autoclass:: OFPBundleAddMsg
385
386     JSON Example:
387
388     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json
389
390 Set Asynchronous Configuration Message
391 --------------------------------------
392
393 .. autoclass:: OFPSetAsync
394
395     JSON Example:
396
397     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json
398
399 .. autoclass:: OFPGetAsyncRequest
400
401     JSON Example:
402
403     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json
404
405 .. autoclass:: OFPGetAsyncReply
406
407     JSON Example:
408
409     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json
410
411 Asynchronous Messages
412 =====================
413
414 Packet-In Message
415 -----------------
416
417 .. autoclass:: OFPPacketIn
418
419     JSON Example:
420
421     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_in.packet.json
422
423 Flow Removed Message
424 --------------------
425
426 .. autoclass:: OFPFlowRemoved
427
428     JSON Example:
429
430     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json
431
432 Port Status Message
433 -------------------
434
435 .. autoclass:: OFPPortStatus
436
437     JSON Example:
438
439     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json
440
441 Controller Role Status Message
442 ------------------------------
443
444 .. autoclass:: OFPRoleStatus
445
446     JSON Example:
447
448     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json
449
450 Table Status Message
451 --------------------
452
453 .. autoclass:: OFPTableStatus
454
455     JSON Example:
456
457     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json
458
459 Request Forward Message
460 -----------------------
461
462 .. autoclass:: OFPRequestForward
463
464     JSON Example:
465
466     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json
467
468 Controller Status Message
469 -------------------------
470
471 .. autoclass:: OFPControllerStatus
472
473     JSON Example:
474
475     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status.packet.json
476
477 Symmetric Messages
478 ==================
479
480 Hello
481 -----
482
483 .. autoclass:: OFPHello
484
485     JSON Example:
486
487     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json
488
489 .. autoclass:: OFPHelloElemVersionBitmap
490
491 Echo Request
492 ------------
493
494 .. autoclass:: OFPEchoRequest
495
496     JSON Example:
497
498     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json
499
500 Echo Reply
501 ----------
502
503 .. autoclass:: OFPEchoReply
504
505     JSON Example:
506
507     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json
508
509 Error Message
510 -------------
511
512 .. autoclass:: OFPErrorMsg
513
514     JSON Example:
515
516     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json
517
518 Experimenter
519 ------------
520
521 .. autoclass:: OFPExperimenter
522
523     JSON Example:
524
525     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json
526
527 Port Structures
528 ===============
529
530 .. autoclass:: OFPPort
531
532 Flow Match Structure
533 ====================
534
535 .. autoclass:: OFPMatch
536
537 Flow Stats Structures
538 =====================
539
540 .. autoclass:: OFPStats
541
542 Flow Instruction Structures
543 ===========================
544
545 .. autoclass:: OFPInstructionGotoTable
546 .. autoclass:: OFPInstructionWriteMetadata
547 .. autoclass:: OFPInstructionActions
548 .. autoclass:: OFPInstructionStatTrigger
549
550 Action Structures
551 =================
552
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
572
573 Controller Status Structure
574 ===========================
575
576 .. autoclass:: OFPControllerStatusStats
577