README written
[vsorcdistro/.git] / ryu / doc / source / ofproto_v1_2_ref.rst
1 *************************************
2 OpenFlow v1.2 Messages and Structures
3 *************************************
4
5 .. py:currentmodule:: ryu.ofproto.ofproto_v1_2_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/of12/3-5-ofp_features_request.packet.json
18
19 .. autoclass:: OFPSwitchFeatures
20
21     JSON Example:
22
23     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-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/of12/3-7-ofp_set_config.packet.json
33
34 .. autoclass:: OFPGetConfigRequest
35
36     JSON Example:
37
38     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json
39
40 .. autoclass:: OFPGetConfigReply
41
42     JSON Example:
43
44     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-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/of12/3-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/of12/3-2-ofp_flow_mod.packet.json
63     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json
64
65 .. autoclass:: OFPGroupMod
66
67     JSON Example:
68
69     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json
70
71 .. autoclass:: OFPPortMod
72
73     JSON Example:
74
75     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json
76
77 Read State Messages
78 -------------------
79
80 .. autoclass:: OFPDescStatsRequest
81
82     JSON Example:
83
84     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json
85
86 .. autoclass:: OFPDescStats
87
88     JSON Example:
89
90     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json
91
92 .. autoclass:: OFPFlowStatsRequest
93
94     JSON Example:
95
96     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json
97
98 .. autoclass:: OFPFlowStats
99
100     JSON Example:
101
102     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json
103
104 .. autoclass:: OFPAggregateStatsRequest
105
106     JSON Example:
107
108     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json
109
110 .. autoclass:: OFPAggregateStatsReply
111
112     JSON Example:
113
114     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json
115
116 .. autoclass:: OFPTableStatsRequest
117
118     JSON Example:
119
120     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json
121
122 .. autoclass:: OFPTableStats
123
124 ..    XXX commented out because it's too long
125 ..    JSON Example:
126 ..
127 ..    .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json
128
129 .. autoclass:: OFPPortStatsRequest
130
131     JSON Example:
132
133     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json
134
135 .. autoclass:: OFPPortStats
136
137     JSON Example:
138
139     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json
140
141 .. autoclass:: OFPQueueStatsRequest
142
143     JSON Example:
144
145     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json
146
147 .. autoclass:: OFPQueueStats
148
149     JSON Example:
150
151     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json
152
153 .. autoclass:: OFPGroupStatsRequest
154 .. autoclass:: OFPGroupStats
155 .. autoclass:: OFPGroupDescStatsRequest
156
157     JSON Example:
158
159     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json
160
161 .. autoclass:: OFPGroupDescStats
162
163     JSON Example:
164
165     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json
166
167 .. autoclass:: OFPGroupFeaturesStatsRequest
168
169     JSON Example:
170
171     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json
172
173 .. autoclass:: OFPGroupFeaturesStats
174
175     JSON Example:
176
177     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json
178
179 Queue Configuration Messages
180 ----------------------------
181
182 .. autoclass:: OFPQueueGetConfigRequest
183
184     JSON Example:
185
186     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json
187
188 .. autoclass:: OFPQueueGetConfigReply
189
190     JSON Example:
191
192     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json
193
194 Packet-Out Message
195 ------------------
196
197 .. autoclass:: OFPPacketOut
198
199     JSON Example:
200
201     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json
202
203 Barrier Message
204 ---------------
205
206 .. autoclass:: OFPBarrierRequest
207
208     JSON Example:
209
210     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json
211
212 .. autoclass:: OFPBarrierReply
213
214     JSON Example:
215
216     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json
217
218 Role Request Message
219 --------------------
220
221 .. autoclass:: OFPRoleRequest
222
223     JSON Example:
224
225     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json
226
227 .. autoclass:: OFPRoleReply
228
229     JSON Example:
230
231     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json
232
233
234 Asynchronous Messages
235 =====================
236
237 Packet-In Message
238 -----------------
239
240 .. autoclass:: OFPPacketIn
241
242     JSON Example:
243
244     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json
245
246 Flow Removed Message
247 --------------------
248
249 .. autoclass:: OFPFlowRemoved
250
251     JSON Example:
252
253     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json
254
255 Port Status Message
256 -------------------
257
258 .. autoclass:: OFPPortStatus
259
260     JSON Example:
261
262     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json
263
264 Error Message
265 -------------
266
267 .. autoclass:: OFPErrorMsg
268
269     JSON Example:
270
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
273
274 Symmetric Messages
275 ==================
276
277 Hello
278 -----
279
280 .. autoclass:: OFPHello
281
282     JSON Example:
283
284     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json
285
286 Echo Request
287 ------------
288
289 .. autoclass:: OFPEchoRequest
290
291     JSON Example:
292
293     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json
294
295
296 Echo Reply
297 ----------
298
299 .. autoclass:: OFPEchoReply
300
301     JSON Example:
302
303     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json
304
305
306 Experimenter
307 ------------
308
309 .. autoclass:: OFPExperimenter
310
311     JSON Example:
312
313     .. literalinclude:: ../../ryu/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json
314
315 Port Structures
316 ===============
317
318 .. autoclass:: OFPPort
319
320
321 Flow Match Structure
322 ====================
323
324 .. autoclass:: OFPMatch
325
326
327 Flow Instruction Structures
328 ===========================
329
330 .. autoclass:: OFPInstructionGotoTable
331 .. autoclass:: OFPInstructionWriteMetadata
332 .. autoclass:: OFPInstructionActions
333
334
335 Action Structures
336 =================
337
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