README written
[vsorcdistro/.git] / ryu / doc / source / ofproto_v1_3_ref.rst
1 *************************************
2 OpenFlow v1.3 Messages and Structures
3 *************************************
4
5 .. py:currentmodule:: ryu.ofproto.ofproto_v1_3_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/of13/4-5-ofp_features_request.packet.json
18
19 .. autoclass:: OFPSwitchFeatures
20
21     JSON Example:
22
23     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-6-ofp_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/of13/4-7-ofp_set_config.packet.json
33
34 .. autoclass:: OFPGetConfigRequest
35
36     JSON Example:
37
38     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-8-ofp_get_config_request.packet.json
39
40 .. autoclass:: OFPGetConfigReply
41
42     JSON Example:
43
44     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-9-ofp_get_config_reply.packet.json
45
46 Flow Table Configuration
47 ------------------------
48
49 .. autoclass:: OFPTableMod
50
51     JSON Example:
52
53     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-23-ofp_table_mod.packet.json
54
55 Modify State Messages
56 ---------------------
57
58 .. autoclass:: OFPFlowMod
59
60     JSON Example:
61
62     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json
63     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-3-ofp_flow_mod.packet.json
64     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-46-ofp_flow_mod.packet.json
65
66 .. autoclass:: OFPGroupMod
67
68     JSON Example:
69
70     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-21-ofp_group_mod.packet.json
71
72 .. autoclass:: OFPPortMod
73
74     JSON Example:
75
76     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-22-ofp_port_mod.packet.json
77
78 .. autoclass:: OFPMeterMod
79
80     JSON Example:
81
82     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-45-ofp_meter_mod.packet.json
83
84 Multipart Messages
85 ------------------
86
87 .. autoclass:: OFPDescStatsRequest
88
89     JSON Example:
90
91     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-24-ofp_desc_request.packet.json
92
93 .. autoclass:: OFPDescStatsReply
94
95     JSON Example:
96
97     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-0-ofp_desc_reply.packet.json
98
99 .. autoclass:: OFPFlowStatsRequest
100
101     JSON Example:
102
103     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-11-ofp_flow_stats_request.packet.json
104
105 .. autoclass:: OFPFlowStatsReply
106
107     JSON Example:
108
109     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json
110
111 .. autoclass:: OFPAggregateStatsRequest
112
113     JSON Example:
114
115     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-25-ofp_aggregate_stats_request.packet.json
116
117 .. autoclass:: OFPAggregateStatsReply
118
119     JSON Example:
120
121     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-26-ofp_aggregate_stats_reply.packet.json
122
123 .. autoclass:: OFPTableStatsRequest
124
125     JSON Example:
126
127     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-27-ofp_table_stats_request.packet.json
128
129 .. autoclass:: OFPTableStatsReply
130
131     JSON Example:
132
133     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-28-ofp_table_stats_reply.packet.json
134
135 .. autoclass:: OFPPortStatsRequest
136
137     JSON Example:
138
139     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-29-ofp_port_stats_request.packet.json
140
141 .. autoclass:: OFPPortStatsReply
142
143     JSON Example:
144
145     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-30-ofp_port_stats_reply.packet.json
146
147 .. autoclass:: OFPPortDescStatsRequest
148
149     JSON Example:
150
151     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-53-ofp_port_desc_request.packet.json
152
153 .. autoclass:: OFPPortDescStatsReply
154
155     JSON Example:
156
157     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-54-ofp_port_desc_reply.packet.json
158
159 .. autoclass:: OFPQueueStatsRequest
160
161     JSON Example:
162
163     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-37-ofp_queue_stats_request.packet.json
164
165 .. autoclass:: OFPQueueStatsReply
166
167     JSON Example:
168
169     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-38-ofp_queue_stats_reply.packet.json
170
171 .. autoclass:: OFPGroupStatsRequest
172 .. autoclass:: OFPGroupStatsReply
173 .. autoclass:: OFPGroupDescStatsRequest
174
175     JSON Example:
176
177     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-33-ofp_group_desc_request.packet.json
178
179 .. autoclass:: OFPGroupDescStatsReply
180
181     JSON Example:
182
183     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-34-ofp_group_desc_reply.packet.json
184
185 .. autoclass:: OFPGroupFeaturesStatsRequest
186
187     JSON Example:
188
189     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-31-ofp_group_features_request.packet.json
190
191 .. autoclass:: OFPGroupFeaturesStatsReply
192
193     JSON Example:
194
195     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-32-ofp_group_features_reply.packet.json
196
197 .. autoclass:: OFPMeterStatsRequest
198
199     JSON Example:
200
201     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-49-ofp_meter_stats_request.packet.json
202
203 .. autoclass:: OFPMeterStatsReply
204
205     JSON Example:
206
207     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-50-ofp_meter_stats_reply.packet.json
208
209 .. autoclass:: OFPMeterConfigStatsRequest
210
211     JSON Example:
212
213     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-47-ofp_meter_config_request.packet.json
214
215 .. autoclass:: OFPMeterConfigStatsReply
216
217     JSON Example:
218
219     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-48-ofp_meter_config_reply.packet.json
220
221 .. autoclass:: OFPMeterFeaturesStatsRequest
222
223     JSON Example:
224
225     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-51-ofp_meter_features_request.packet.json
226
227 .. autoclass:: OFPMeterFeaturesStatsReply
228
229     JSON Example:
230
231     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-52-ofp_meter_features_reply.packet.json
232
233 .. autoclass:: OFPTableFeaturesStatsRequest
234 .. autoclass:: OFPTableFeaturesStatsReply
235
236     JSON Example:
237
238        See an example in:
239
240        ``ryu/tests/unit/ofproto/json/of13/4-56-ofp_table_features_reply.packet.json``
241
242 Queue Configuration Messages
243 ----------------------------
244
245 .. autoclass:: OFPQueueGetConfigRequest
246
247     JSON Example:
248
249     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-35-ofp_queue_get_config_request.packet.json
250
251 .. autoclass:: OFPQueueGetConfigReply
252
253     JSON Example:
254
255     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-36-ofp_queue_get_config_reply.packet.json
256
257 Packet-Out Message
258 ------------------
259
260 .. autoclass:: OFPPacketOut
261
262     JSON Example:
263
264     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-1-ofp_packet_out.packet.json
265
266 Barrier Message
267 ---------------
268
269 .. autoclass:: OFPBarrierRequest
270
271     JSON Example:
272
273     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-17-ofp_barrier_request.packet.json
274
275 .. autoclass:: OFPBarrierReply
276
277     JSON Example:
278
279     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-18-ofp_barrier_reply.packet.json
280
281 Role Request Message
282 --------------------
283
284 .. autoclass:: OFPRoleRequest
285
286     JSON Example:
287
288     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-19-ofp_role_request.packet.json
289
290 .. autoclass:: OFPRoleReply
291
292     JSON Example:
293
294     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-20-ofp_role_reply.packet.json
295
296 Set Asynchronous Configuration Message
297 --------------------------------------
298
299 .. autoclass:: OFPSetAsync
300
301     JSON Example:
302
303     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-44-ofp_set_async.packet.json
304
305 .. autoclass:: OFPGetAsyncRequest
306
307     JSON Example:
308
309     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-42-ofp_get_async_request.packet.json
310
311 .. autoclass:: OFPGetAsyncReply
312
313     JSON Example:
314
315     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-43-ofp_get_async_reply.packet.json
316
317
318 Asynchronous Messages
319 =====================
320
321 Packet-In Message
322 -----------------
323
324 .. autoclass:: OFPPacketIn
325
326     JSON Example:
327
328     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-4-ofp_packet_in.packet.json
329
330 Flow Removed Message
331 --------------------
332
333 .. autoclass:: OFPFlowRemoved
334
335     JSON Example:
336
337     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-40-ofp_flow_removed.packet.json
338
339 Port Status Message
340 -------------------
341
342 .. autoclass:: OFPPortStatus
343
344     JSON Example:
345
346     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-39-ofp_port_status.packet.json
347
348 Error Message
349 -------------
350
351 .. autoclass:: OFPErrorMsg
352
353     JSON Example:
354
355     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-15-ofp_error_msg.packet.json
356
357
358 Symmetric Messages
359 ==================
360
361 Hello
362 -----
363
364 .. autoclass:: OFPHello
365
366     JSON Example:
367
368     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-10-ofp_hello.packet.json
369
370 .. autoclass:: OFPHelloElemVersionBitmap
371
372 Echo Request
373 ------------
374
375 .. autoclass:: OFPEchoRequest
376
377     JSON Example:
378
379     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-13-ofp_echo_request.packet.json
380
381 Echo Reply
382 ----------
383
384 .. autoclass:: OFPEchoReply
385
386     JSON Example:
387
388     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-14-ofp_echo_reply.packet.json
389
390 Experimenter
391 ------------
392
393 .. autoclass:: OFPExperimenter
394
395     JSON Example:
396
397     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of13/4-16-ofp_experimenter.packet.json
398
399 Port Structures
400 ===============
401
402 .. autoclass:: OFPPort
403
404
405 Flow Match Structure
406 ====================
407
408 .. autoclass:: OFPMatch
409
410
411 Flow Instruction Structures
412 ===========================
413
414 .. autoclass:: OFPInstructionGotoTable
415 .. autoclass:: OFPInstructionWriteMetadata
416 .. autoclass:: OFPInstructionActions
417 .. autoclass:: OFPInstructionMeter
418
419
420 Action Structures
421 =================
422
423 .. autoclass:: OFPActionOutput
424 .. autoclass:: OFPActionGroup
425 .. autoclass:: OFPActionSetQueue
426 .. autoclass:: OFPActionSetMplsTtl
427 .. autoclass:: OFPActionDecMplsTtl
428 .. autoclass:: OFPActionSetNwTtl
429 .. autoclass:: OFPActionDecNwTtl
430 .. autoclass:: OFPActionCopyTtlOut
431 .. autoclass:: OFPActionCopyTtlIn
432 .. autoclass:: OFPActionPushVlan
433 .. autoclass:: OFPActionPushMpls
434 .. autoclass:: OFPActionPopVlan
435 .. autoclass:: OFPActionPopMpls
436 .. autoclass:: OFPActionSetField
437 .. autoclass:: OFPActionExperimenter