nx-match: Move all knowledge of OXM/NXM here.
[cascardo/ovs.git] / tests / ofp-actions.at
1 AT_BANNER([OpenFlow actions])
2
3 AT_SETUP([OpenFlow 1.0 action translation])
4 AT_KEYWORDS([ofp-actions OF1.0])
5 AT_DATA([test-data], [dnl
6 # actions=LOCAL
7 0000 0008 fffe 04d2
8
9 # actions=CONTROLLER:1234
10 0000 0008 fffd 04d2
11
12 # actions=mod_vlan_vid:9
13 0001 0008 0009 0000
14
15 # actions=mod_vlan_pcp:6
16 0002 0008 06 000000
17
18 # actions=strip_vlan
19 0003 0008 00000000
20
21 # actions=mod_dl_src:00:11:22:33:44:55
22 0004 0010 001122334455 000000000000
23
24 # actions=mod_dl_dst:10:20:30:40:50:60
25 0005 0010 102030405060 000000000000
26
27 # actions=mod_nw_src:1.2.3.4
28 0006 0008 01020304
29
30 # actions=mod_nw_dst:192.168.0.1
31 0007 0008 c0a80001
32
33 # actions=mod_nw_tos:48
34 0008 0008 30 000000
35
36 # actions=mod_tp_src:80
37 0009 0008 0050 0000
38
39 # actions=mod_tp_dst:443
40 000a 0008 01bb 0000
41
42 # actions=enqueue:10:55
43 000b 0010 000a 000000000000 00000037
44
45 # actions=resubmit:5
46 ffff 0010 00002320 0001 0005 00000000
47
48 # actions=set_tunnel:0x12345678
49 ffff 0010 00002320 0002 0000 12345678
50
51 # actions=set_queue:2309737729
52 ffff 0010 00002320 0004 0000 89abcd01
53
54 # actions=pop_queue
55 ffff 0010 00002320 0005 000000000000
56
57 # actions=move:NXM_OF_IN_PORT[]->NXM_OF_VLAN_TCI[]
58 ffff 0018 00002320 0006 0010 0000 0000 00000002 00000802
59
60 # actions=load:0xf009->NXM_OF_VLAN_TCI[]
61 ffff 0018 00002320 0007 000f 00000802 000000000000f009
62
63 # actions=note:11.e9.9a.ad.67.f3
64 ffff 0010 00002320 0008 11e99aad67f3
65
66 # actions=set_tunnel64:0xc426384d49c53d60
67 ffff 0018 00002320 0009 000000000000 c426384d49c53d60
68
69 # actions=set_tunnel64:0x885f3298
70 ffff 0018 00002320 0009 000000000000 00000000885f3298
71
72 # bad OpenFlow10 actions: OFPBIC_UNSUP_INST
73 & ofp_actions|WARN|write_metadata instruction not allowed here
74 ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff
75
76 # bad OpenFlow10 actions: OFPBIC_UNSUP_INST
77 & ofp_actions|WARN|write_metadata instruction not allowed here
78 ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffff0000ffff0000
79
80 # actions=multipath(eth_src,50,modulo_n,1,0,NXM_NX_REG0[])
81 ffff 0020 00002320 000a 0000 0032 0000 0000 0000 0000 0000 0000 001f 00010004
82
83 # actions=bundle(eth_src,0,hrw,ofport,slaves:4,8)
84 ffff 0028 00002320 000c 0001 0000 0000 00000002 0002 0000 00000000 00000000 dnl
85 0004 0008 00000000
86
87 # actions=bundle_load(eth_src,0,hrw,ofport,NXM_NX_REG0[],slaves:4,8)
88 ffff 0028 00002320 000d 0001 0000 0000 00000002 0002 001f 00010004 00000000 dnl
89 0004 0008 00000000
90
91 # actions=resubmit(10,5)
92 ffff 0010 00002320 000e 000a 05 000000
93
94 # actions=output:NXM_NX_REG1[5..10]
95 ffff 0018 00002320 000f 0145 00010204 ffff 000000000000
96
97 # actions=learn(table=2,idle_timeout=10,hard_timeout=20,fin_idle_timeout=2,fin_hard_timeout=4,priority=80,cookie=0x123456789abcdef0,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],output:NXM_OF_IN_PORT[])
98 ffff 0048 00002320 0010 000a 0014 0050 123456789abcdef0 0000 02 00 0002 0004 dnl
99 000c 00000802 0000 00000802 0000 dnl
100 0030 00000406 0000 00000206 0000 dnl
101 1010 00000002 0000 dnl
102 00000000
103
104 # actions=exit
105 ffff 0010 00002320 0011 000000000000
106
107 # actions=dec_ttl
108 ffff 0010 00002320 0012 000000000000
109
110 # actions=fin_timeout(idle_timeout=10,hard_timeout=20)
111 ffff 0010 00002320 0013 000a 0014 0000
112
113 # actions=controller(reason=invalid_ttl,max_len=1234,id=5678)
114 ffff 0010 00002320 0014 04d2 162e 02 00
115
116 # actions=dec_ttl(32768,12345,90,765,1024)
117 ffff 0020 00002320 0015 000500000000 80003039005A02fd 0400000000000000
118
119 # actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
120 ffff 0018 00002320 001d 3039 00005BA0 00008707 0000B26E
121
122 ])
123 sed '/^[[#&]]/d' < test-data > input.txt
124 sed -n 's/^# //p; /^$/p' < test-data > expout
125 sed -n 's/^& //p' < test-data > experr
126 AT_CAPTURE_FILE([input.txt])
127 AT_CAPTURE_FILE([expout])
128 AT_CAPTURE_FILE([experr])
129 AT_CHECK(
130   [ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-actions OpenFlow10 < input.txt],
131   [0], [expout], [experr])
132 AT_CLEANUP
133
134 AT_SETUP([OpenFlow 1.0 "instruction" translations])
135 AT_KEYWORDS([ofp-actions OF1.0 instruction])
136 AT_DATA([test-data], [dnl
137 dnl Try a couple of ordinary actions to make sure they're accepted,
138 dnl but there's no point in retrying all the actions from the previous test.
139 # actions=LOCAL
140 0000 0008 fffe 04d2
141
142 # actions=mod_dl_src:00:11:22:33:44:55
143 0004 0010 001122334455 000000000000
144
145 dnl Now check that write_metadata is accepted.
146 # actions=write_metadata:0xfedcba9876543210
147 ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff
148
149 # actions=write_metadata:0xfedcba9876543210/0xffff0000ffff0000
150 ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffff0000ffff0000
151
152 ])
153 sed '/^[[#&]]/d' < test-data > input.txt
154 sed -n 's/^# //p; /^$/p' < test-data > expout
155 sed -n 's/^& //p' < test-data > experr
156 AT_CAPTURE_FILE([input.txt])
157 AT_CAPTURE_FILE([expout])
158 AT_CAPTURE_FILE([experr])
159 AT_CHECK(
160   [ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-instructions OpenFlow10 < input.txt],
161   [0], [expout], [experr])
162 AT_CLEANUP
163
164 AT_SETUP([OpenFlow 1.1 action translation])
165 AT_KEYWORDS([ofp-actions OF1.1])
166 AT_DATA([test-data], [dnl
167 # actions=LOCAL
168 0000 0010 fffffffe 04d2 000000000000
169
170 # actions=CONTROLLER:1234
171 0000 0010 fffffffd 04d2 000000000000
172
173 # actions=set_vlan_vid:9
174 0001 0008 0009 0000
175
176 # actions=set_vlan_pcp:6
177 0002 0008 06 000000
178
179 # actions=mod_dl_src:00:11:22:33:44:55
180 0003 0010 001122334455 000000000000
181
182 # actions=mod_dl_dst:10:20:30:40:50:60
183 0004 0010 102030405060 000000000000
184
185 # actions=mod_nw_src:1.2.3.4
186 0005 0008 01020304
187
188 # actions=mod_nw_dst:192.168.0.1
189 0006 0008 c0a80001
190
191 # actions=mod_nw_tos:48
192 0007 0008 30 000000
193
194 # actions=mod_tp_src:80
195 0009 0008 0050 0000
196
197 # actions=mod_tp_dst:443
198 000a 0008 01bb 0000
199
200 # actions=pop_vlan
201 0012 0008 00000000
202
203 # actions=set_queue:2309737729
204 0015 0008 89abcd01
205
206 dnl 802.1ad isn't supported at the moment
207 dnl # actions=push_vlan:0x88a8
208 dnl 0011 0008 88a8 0000
209 # actions=push_vlan:0x8100
210 0011 0008 8100 0000
211
212 # actions=resubmit:5
213 ffff 0010 00002320 0001 0005 00000000
214
215 # actions=set_tunnel:0x12345678
216 ffff 0010 00002320 0002 0000 12345678
217
218 # actions=pop_queue
219 ffff 0010 00002320 0005 000000000000
220
221 # actions=move:NXM_OF_IN_PORT[]->NXM_OF_VLAN_TCI[]
222 ffff 0018 00002320 0006 0010 0000 0000 00000002 00000802
223
224 # actions=load:0xf009->NXM_OF_VLAN_TCI[]
225 ffff 0018 00002320 0007 000f 00000802 000000000000f009
226
227 # actions=note:11.e9.9a.ad.67.f3
228 ffff 0010 00002320 0008 11e99aad67f3
229
230 # actions=set_tunnel64:0xc426384d49c53d60
231 ffff 0018 00002320 0009 000000000000 c426384d49c53d60
232
233 # actions=set_tunnel64:0x885f3298
234 ffff 0018 00002320 0009 000000000000 00000000885f3298
235
236 dnl Write-Metadata is only allowed in contexts that allow instructions.
237 & ofp_actions|WARN|write_metadata instruction not allowed here
238 # bad OpenFlow11 actions: OFPBIC_UNSUP_INST
239 ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff
240
241 # actions=multipath(eth_src,50,modulo_n,1,0,NXM_NX_REG0[])
242 ffff 0020 00002320 000a 0000 0032 0000 0000 0000 0000 0000 0000 001f 00010004
243
244 # actions=bundle(eth_src,0,hrw,ofport,slaves:4,8)
245 ffff 0028 00002320 000c 0001 0000 0000 00000002 0002 0000 00000000 00000000 dnl
246 0004 0008 00000000
247
248 # actions=bundle_load(eth_src,0,hrw,ofport,NXM_NX_REG0[],slaves:4,8)
249 ffff 0028 00002320 000d 0001 0000 0000 00000002 0002 001f 00010004 00000000 dnl
250 0004 0008 00000000
251
252 # actions=resubmit(10,5)
253 ffff 0010 00002320 000e 000a 05 000000
254
255 # actions=output:NXM_NX_REG1[5..10]
256 ffff 0018 00002320 000f 0145 00010204 ffff 000000000000
257
258 # actions=learn(table=2,idle_timeout=10,hard_timeout=20,fin_idle_timeout=2,fin_hard_timeout=4,priority=80,cookie=0x123456789abcdef0,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],output:NXM_OF_IN_PORT[])
259 ffff 0048 00002320 0010 000a 0014 0050 123456789abcdef0 0000 02 00 0002 0004 dnl
260 000c 00000802 0000 00000802 0000 dnl
261 0030 00000406 0000 00000206 0000 dnl
262 1010 00000002 0000 dnl
263 00000000
264
265 # actions=exit
266 ffff 0010 00002320 0011 000000000000
267
268 dnl OpenFlow 1.1 OFPAT_DEC_TTL
269 # actions=dec_ttl
270 0018 0008 00000000
271
272 # actions=fin_timeout(idle_timeout=10,hard_timeout=20)
273 ffff 0010 00002320 0013 000a 0014 0000
274
275 # actions=controller(reason=invalid_ttl,max_len=1234,id=5678)
276 ffff 0010 00002320 0014 04d2 162e 02 00
277
278 # actions=dec_ttl(32768,12345,90,765,1024)
279 ffff 0020 00002320 0015 000500000000 80003039005A02fd 0400000000000000
280
281 # actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
282 ffff 0018 00002320 001d 3039 00005BA0 00008707 0000B26E
283
284 ])
285 sed '/^[[#&]]/d' < test-data > input.txt
286 sed -n 's/^# //p; /^$/p' < test-data > expout
287 sed -n 's/^& //p' < test-data > experr
288 AT_CAPTURE_FILE([input.txt])
289 AT_CAPTURE_FILE([expout])
290 AT_CAPTURE_FILE([experr])
291 AT_CHECK(
292   [ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-actions OpenFlow11 < input.txt],
293   [0], [expout], [experr])
294 AT_CLEANUP
295
296 AT_SETUP([OpenFlow 1.1 instruction translation])
297 AT_KEYWORDS([OF1.1 instruction ofp-actions])
298 AT_DATA([test-data], [dnl
299 # actions=LOCAL
300 0004 0018 00000000 dnl
301 0000 0010 fffffffe 04d2 000000000000
302
303 dnl Apply-Actions non-zero padding
304 # actions=drop
305 #  0: 00 -> (none)
306 #  1: 04 -> (none)
307 #  2: 00 -> (none)
308 #  3: 08 -> (none)
309 #  4: 00 -> (none)
310 #  5: 00 -> (none)
311 #  6: 00 -> (none)
312 #  7: 01 -> (none)
313 0004 0008 00000001
314
315 dnl Check that an empty Apply-Actions instruction gets dropped.
316 # actions=drop
317 #  0: 00 -> (none)
318 #  1: 04 -> (none)
319 #  2: 00 -> (none)
320 #  3: 08 -> (none)
321 #  4: 00 -> (none)
322 #  5: 00 -> (none)
323 #  6: 00 -> (none)
324 #  7: 00 -> (none)
325 0004 0008 00000000
326
327 dnl Duplicate instruction type:
328 # bad OpenFlow11 instructions: OFPBIC_DUP_INST
329 0004 0008 00000000 0004 0008 00000000
330
331 dnl Instructions not multiple of 8 in length.
332 & ofp_actions|WARN|OpenFlow message instructions length 9 is not a multiple of 8
333 # bad OpenFlow11 instructions: OFPBIC_BAD_LEN
334 0004 0009 01 00000000
335
336 dnl Goto-Table instruction too long.
337 # bad OpenFlow11 instructions: OFPBIC_BAD_LEN
338 0001 0010 01 000000 0000000000000000
339
340 dnl Goto-Table 1 instruction non-zero padding
341 # actions=goto_table:1
342 #  7: 01 -> 00
343 0001 0008 01 000001
344
345 dnl Goto-Table 1 instruction go back to the previous table.
346 # bad OpenFlow11 instructions: OFPBIC_BAD_TABLE_ID
347 2,0001 0008 01 000000
348
349 dnl Goto-Table 1
350 # actions=goto_table:1
351 0001 0008 01 000000
352
353 dnl Write-Metadata.
354 # actions=write_metadata:0xfedcba9876543210
355 0002 0018 00000000 fedcba9876543210 ffffffffffffffff
356
357 dnl Write-Metadata as Nicira extension action is transformed into instruction.
358 # actions=write_metadata:0xfedcba9876543210
359 #  1: 04 -> 02
360 #  3: 28 -> 18
361 #  8: ff -> fe
362 #  9: ff -> dc
363 # 10: 00 -> ba
364 # 11: 20 -> 98
365 # 12: 00 -> 76
366 # 13: 00 -> 54
367 # 14: 23 -> 32
368 # 15: 20 -> 10
369 # 16: 00 -> ff
370 # 17: 16 -> ff
371 # 18: 00 -> ff
372 # 19: 00 -> ff
373 # 20: 00 -> ff
374 # 21: 00 -> ff
375 # 22: 00 -> ff
376 # 23: 00 -> ff
377 # 24: fe -> (none)
378 # 25: dc -> (none)
379 # 26: ba -> (none)
380 # 27: 98 -> (none)
381 # 28: 76 -> (none)
382 # 29: 54 -> (none)
383 # 30: 32 -> (none)
384 # 31: 10 -> (none)
385 # 32: ff -> (none)
386 # 33: ff -> (none)
387 # 34: ff -> (none)
388 # 35: ff -> (none)
389 # 36: ff -> (none)
390 # 37: ff -> (none)
391 # 38: ff -> (none)
392 # 39: ff -> (none)
393 0004 0028 00000000 ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff
394
395 dnl Write-Metadata with mask.
396 # actions=write_metadata:0xfedcba9876543210/0xff00ff00ff00ff00
397 0002 0018 00000000 fedcba9876543210 ff00ff00ff00ff00
398
399 dnl Write-Metadata too short.
400 # bad OpenFlow11 instructions: OFPBIC_BAD_LEN
401 0002 0010 00000000 fedcba9876543210
402
403 dnl Write-Metadata too long.
404 # bad OpenFlow11 instructions: OFPBIC_BAD_LEN
405 0002 0020 00000000 fedcba9876543210 ffffffffffffffff 0000000000000000
406
407 dnl Write-Metadata duplicated.
408 # bad OpenFlow11 instructions: OFPBIC_DUP_INST
409 0002 0018 00000000 fedcba9876543210 ff00ff00ff00ff00 0002 0018 00000000 fedcba9876543210 ff00ff00ff00ff00
410
411 dnl Write-Metadata in wrong position (OpenFlow 1.1+ disregards the order
412 dnl and OVS reorders it to the canonical order)
413 # actions=write_metadata:0xfedcba9876543210,goto_table:1
414 #  1: 01 -> 02
415 #  3: 08 -> 18
416 #  4: 01 -> 00
417 #  8: 00 -> fe
418 #  9: 02 -> dc
419 # 10: 00 -> ba
420 # 11: 18 -> 98
421 # 12: 00 -> 76
422 # 13: 00 -> 54
423 # 14: 00 -> 32
424 # 15: 00 -> 10
425 # 16: fe -> ff
426 # 17: dc -> ff
427 # 18: ba -> ff
428 # 19: 98 -> ff
429 # 20: 76 -> ff
430 # 21: 54 -> ff
431 # 22: 32 -> ff
432 # 23: 10 -> ff
433 # 24: ff -> 00
434 # 25: ff -> 01
435 # 26: ff -> 00
436 # 27: ff -> 08
437 # 28: ff -> 01
438 # 29: ff -> 00
439 # 30: ff -> 00
440 # 31: ff -> 00
441 0001 0008 01 000000 0002 0018 00000000 fedcba9876543210 ffffffffffffffff
442
443 dnl empty Write-Actions non-zero padding
444 # actions=write_actions(drop)
445 #  0: 00 -> (none)
446 #  1: 03 -> (none)
447 #  2: 00 -> (none)
448 #  3: 08 -> (none)
449 #  4: 00 -> (none)
450 #  5: 00 -> (none)
451 #  6: 00 -> (none)
452 #  7: 01 -> (none)
453 0003 0008 00000001
454
455 dnl Check that an empty Write-Actions instruction gets dropped.
456 # actions=write_actions(drop)
457 #  0: 00 -> (none)
458 #  1: 03 -> (none)
459 #  2: 00 -> (none)
460 #  3: 08 -> (none)
461 #  4: 00 -> (none)
462 #  5: 00 -> (none)
463 #  6: 00 -> (none)
464 #  7: 00 -> (none)
465 0003 0008 00000000
466
467 dnl Clear-Actions too-long
468 # bad OpenFlow11 instructions: OFPBIC_BAD_LEN
469 0005 0010 00000000 0000000000000000
470
471 dnl Clear-Actions non-zero padding
472 # actions=clear_actions
473 #  7: 01 -> 00
474 0005 0008 00000001
475
476 dnl Clear-Actions non-zero padding
477 # actions=clear_actions
478 #  4: 01 -> 00
479 0005 0008 01 000000
480
481 dnl Clear-Actions
482 # actions=clear_actions
483 0005 0008 00000000
484
485 dnl Experimenter actions not supported yet.
486 # bad OpenFlow11 instructions: OFPBIC_BAD_EXPERIMENTER
487 ffff 0008 01 000000
488
489 dnl Bad instruction number (0 not assigned).
490 # bad OpenFlow11 instructions: OFPBIC_UNKNOWN_INST
491 0000 0008 01 000000
492
493 ])
494 sed '/^[[#&]]/d' < test-data > input.txt
495 sed -n 's/^# //p; /^$/p' < test-data > expout
496 sed -n 's/^& //p' < test-data > experr
497 AT_CAPTURE_FILE([input.txt])
498 AT_CAPTURE_FILE([expout])
499 AT_CAPTURE_FILE([experr])
500 AT_CHECK(
501   [ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-instructions OpenFlow11 < input.txt],
502   [0], [expout], [experr])
503 AT_CLEANUP
504
505 dnl Our primary goal here is to verify OpenFlow 1.2-specific changes,
506 dnl so the list of tests is short.
507 AT_SETUP([OpenFlow 1.2 action translation])
508 AT_KEYWORDS([ofp-actions OF1.2])
509 AT_DATA([test-data], [dnl
510 # actions=LOCAL
511 0000 0010 fffffffe 04d2 000000000000
512
513 # bad OpenFlow12 actions: OFPBAC_BAD_SET_MASK
514 & ofp_actions|WARN|bad action at offset 0 (OFPBAC_BAD_SET_MASK):
515 & 00000000  00 19 00 18 80 00 09 0c-00 00 00 00 12 34 00 00
516 & 00000010  00 00 ff ff 00 00 00 00-
517 0019 0018 8000090c 000000001234 00000000ffff 00000000
518
519 ])
520 sed '/^[[#&]]/d' < test-data > input.txt
521 sed -n 's/^# //p; /^$/p' < test-data > expout
522 sed -n 's/^& //p' < test-data > experr
523 AT_CAPTURE_FILE([input.txt])
524 AT_CAPTURE_FILE([expout])
525 AT_CAPTURE_FILE([experr])
526 AT_CHECK(
527   [ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-actions OpenFlow12 < input.txt],
528   [0], [expout], [experr])
529 AT_CLEANUP
530
531 dnl Our primary goal here is to verify that OpenFlow 1.5-specific changes,
532 dnl so the list of tests is short.
533 AT_SETUP([OpenFlow 1.5 action translation])
534 AT_KEYWORDS([ofp-actions OF1.5])
535 AT_DATA([test-data], [dnl
536 # actions=LOCAL
537 0000 0010 fffffffe 04d2 000000000000
538
539 # actions=move:NXM_OF_IN_PORT[]->NXM_OF_VLAN_TCI[]
540 001c 0018 0010 0000 0000 0008 00000002 00000802 00000000
541
542 # bad OpenFlow15 actions: OFPBAC_BAD_SET_MASK
543 & ofp_actions|WARN|bad action at offset 0 (OFPBAC_BAD_SET_MASK):
544 & 00000000  00 19 00 18 80 00 09 0c-00 00 00 00 12 34 00 00
545 & 00000010  00 00 ff ff 00 00 00 00-
546 0019 0018 8000090c 000000001234 00000000ffff 00000000
547
548 ])
549 sed '/^[[#&]]/d' < test-data > input.txt
550 sed -n 's/^# //p; /^$/p' < test-data > expout
551 sed -n 's/^& //p' < test-data > experr
552 AT_CAPTURE_FILE([input.txt])
553 AT_CAPTURE_FILE([expout])
554 AT_CAPTURE_FILE([experr])
555 AT_CHECK(
556   [ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-actions OpenFlow15 < input.txt],
557   [0], [expout], [experr])
558 AT_CLEANUP
559
560 AT_SETUP([ofp-actions - inconsistent MPLS actions])
561 OVS_VSWITCHD_START
562 dnl OK: Use fin_timeout action on TCP flow
563 AT_CHECK([ovs-ofctl -O OpenFlow11 -vwarn add-flow br0 'tcp actions=fin_timeout(idle_timeout=1)'])
564 dnl Bad: Use fin_timeout action on TCP flow that has been converted to MPLS
565 AT_CHECK([ovs-ofctl -O OpenFlow11 -vwarn add-flow br0 'tcp actions=push_mpls:0x8847,fin_timeout(idle_timeout=1)'],
566          [1], [], [dnl
567 ovs-ofctl: none of the usable flow formats (OpenFlow10,NXM) is among the allowed flow formats (OpenFlow11)
568 ])
569 OVS_VSWITCHD_STOP
570 AT_CLEANUP