pio 0.24.2 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +2 -0
- data/bin/byebug +16 -0
- data/features/arp.feature +2 -2
- data/features/dhcp.feature +4 -4
- data/features/icmp.feature +2 -2
- data/features/lldp.feature +1 -1
- data/features/open_flow10/barrier_reply.feature +4 -4
- data/features/open_flow10/barrier_request.feature +4 -4
- data/features/open_flow10/echo_reply.feature +6 -6
- data/features/open_flow10/echo_request.feature +6 -6
- data/features/open_flow10/exact_match.feature +2 -2
- data/features/open_flow10/features_reply.feature +2 -2
- data/features/open_flow10/features_request.feature +4 -4
- data/features/open_flow10/flow_mod.feature +6 -6
- data/features/open_flow10/flow_stats_reply.feature +105 -0
- data/features/open_flow10/flow_stats_request.feature +90 -0
- data/features/open_flow10/hello.feature +4 -4
- data/features/open_flow10/packet_in.feature +2 -2
- data/features/open_flow10/packet_out.feature +1 -1
- data/features/open_flow10/port_status.feature +1 -1
- data/features/open_flow13/apply_actions.feature +3 -3
- data/features/open_flow13/echo_reply.feature +7 -7
- data/features/open_flow13/echo_request.feature +7 -7
- data/features/open_flow13/features_reply.feature +2 -2
- data/features/open_flow13/features_request.feature +4 -4
- data/features/open_flow13/flow_mod.feature +5 -5
- data/features/open_flow13/goto_table.feature +2 -2
- data/features/open_flow13/hello.feature +5 -5
- data/features/open_flow13/match.feature +81 -81
- data/features/open_flow13/meter.feature +2 -2
- data/features/open_flow13/packet_in.feature +3 -3
- data/features/open_flow13/packet_out.feature +3 -3
- data/features/open_flow13/send_out_port.feature +2 -2
- data/features/open_flow13/write_metadata.feature +2 -2
- data/features/open_flow_read.feature +12 -10
- data/features/step_definitions/packet_data_steps.rb +3 -3
- data/lib/pio/open_flow.rb +4 -1
- data/lib/pio/open_flow/message.rb +3 -0
- data/lib/pio/open_flow10.rb +2 -0
- data/lib/pio/open_flow10/flow_mod.rb +1 -16
- data/lib/pio/open_flow10/flow_stats_reply.rb +59 -0
- data/lib/pio/open_flow10/flow_stats_request.rb +64 -0
- data/lib/pio/open_flow10/match.rb +17 -0
- data/lib/pio/open_flow10/stats_type.rb +27 -0
- data/lib/pio/version.rb +1 -1
- data/pio.gemspec +2 -2
- data/spec/pio/open_flow10/flow_stats_reply_spec.rb +39 -0
- data/spec/pio/open_flow10/flow_stats_request_spec.rb +38 -0
- metadata +185 -173
@@ -6,7 +6,7 @@ Feature: Pio::Match
|
|
6
6
|
Pio::Match.new
|
7
7
|
"""
|
8
8
|
Then it should finish successfully
|
9
|
-
And the message
|
9
|
+
And the message has the following fields and values:
|
10
10
|
| field | value |
|
11
11
|
| match_fields | [] |
|
12
12
|
|
@@ -16,7 +16,7 @@ Feature: Pio::Match
|
|
16
16
|
Pio::Match.new(in_port: 1)
|
17
17
|
"""
|
18
18
|
Then it should finish successfully
|
19
|
-
And the message
|
19
|
+
And the message has the following fields and values:
|
20
20
|
| field | value |
|
21
21
|
| in_port | 1 |
|
22
22
|
|
@@ -26,7 +26,7 @@ Feature: Pio::Match
|
|
26
26
|
Pio::Match.new(metadata: 1)
|
27
27
|
"""
|
28
28
|
Then it should finish successfully
|
29
|
-
And the message
|
29
|
+
And the message has the following fields and values:
|
30
30
|
| field | value |
|
31
31
|
| metadata | 1 |
|
32
32
|
|
@@ -36,7 +36,7 @@ Feature: Pio::Match
|
|
36
36
|
Pio::Match.new(metadata: 1, metadata_mask: 1)
|
37
37
|
"""
|
38
38
|
Then it should finish successfully
|
39
|
-
And the message
|
39
|
+
And the message has the following fields and values:
|
40
40
|
| field | value |
|
41
41
|
| metadata | 1 |
|
42
42
|
| metadata_mask | 1 |
|
@@ -47,7 +47,7 @@ Feature: Pio::Match
|
|
47
47
|
Pio::Match.new(ether_source_address: '01:02:03:04:05:06')
|
48
48
|
"""
|
49
49
|
Then it should finish successfully
|
50
|
-
And the message
|
50
|
+
And the message has the following fields and values:
|
51
51
|
| field | value |
|
52
52
|
| ether_source_address | 01:02:03:04:05:06 |
|
53
53
|
|
@@ -57,7 +57,7 @@ Feature: Pio::Match
|
|
57
57
|
Pio::Match.new(ether_destination_address: '01:02:03:04:05:06')
|
58
58
|
"""
|
59
59
|
Then it should finish successfully
|
60
|
-
And the message
|
60
|
+
And the message has the following fields and values:
|
61
61
|
| field | value |
|
62
62
|
| ether_destination_address | 01:02:03:04:05:06 |
|
63
63
|
|
@@ -67,7 +67,7 @@ Feature: Pio::Match
|
|
67
67
|
Pio::Match.new(ether_source_address: '01:02:03:04:05:06', ether_source_address_mask: 'ff:ff:ff:00:00:00')
|
68
68
|
"""
|
69
69
|
Then it should finish successfully
|
70
|
-
And the message
|
70
|
+
And the message has the following fields and values:
|
71
71
|
| field | value |
|
72
72
|
| ether_source_address | 01:02:03:04:05:06 |
|
73
73
|
| ether_source_address_mask | ff:ff:ff:00:00:00 |
|
@@ -78,7 +78,7 @@ Feature: Pio::Match
|
|
78
78
|
Pio::Match.new(ether_destination_address: '01:02:03:04:05:06', ether_destination_address_mask: 'ff:ff:ff:00:00:00')
|
79
79
|
"""
|
80
80
|
Then it should finish successfully
|
81
|
-
And the message
|
81
|
+
And the message has the following fields and values:
|
82
82
|
| field | value |
|
83
83
|
| ether_destination_address | 01:02:03:04:05:06 |
|
84
84
|
| ether_destination_address_mask | ff:ff:ff:00:00:00 |
|
@@ -89,7 +89,7 @@ Feature: Pio::Match
|
|
89
89
|
Pio::Match.new(ether_type: 0x0800)
|
90
90
|
"""
|
91
91
|
Then it should finish successfully
|
92
|
-
And the message
|
92
|
+
And the message has the following fields and values:
|
93
93
|
| field | value |
|
94
94
|
| ether_type | 2048 |
|
95
95
|
|
@@ -99,7 +99,7 @@ Feature: Pio::Match
|
|
99
99
|
Pio::Match.new(vlan_vid: 10)
|
100
100
|
"""
|
101
101
|
Then it should finish successfully
|
102
|
-
And the message
|
102
|
+
And the message has the following fields and values:
|
103
103
|
| field | value |
|
104
104
|
| vlan_vid | 10 |
|
105
105
|
|
@@ -109,7 +109,7 @@ Feature: Pio::Match
|
|
109
109
|
Pio::Match.new(vlan_vid: 10, vlan_pcp: 5)
|
110
110
|
"""
|
111
111
|
Then it should finish successfully
|
112
|
-
And the message
|
112
|
+
And the message has the following fields and values:
|
113
113
|
| field | value |
|
114
114
|
| vlan_vid | 10 |
|
115
115
|
| vlan_pcp | 5 |
|
@@ -120,7 +120,7 @@ Feature: Pio::Match
|
|
120
120
|
Pio::Match.new(ether_type: 2048, ip_dscp: 46)
|
121
121
|
"""
|
122
122
|
Then it should finish successfully
|
123
|
-
And the message
|
123
|
+
And the message has the following fields and values:
|
124
124
|
| field | value |
|
125
125
|
| ether_type | 2048 |
|
126
126
|
| ip_dscp | 46 |
|
@@ -131,7 +131,7 @@ Feature: Pio::Match
|
|
131
131
|
Pio::Match.new(ether_type: 2048, ip_ecn: 46)
|
132
132
|
"""
|
133
133
|
Then it should finish successfully
|
134
|
-
And the message
|
134
|
+
And the message has the following fields and values:
|
135
135
|
| field | value |
|
136
136
|
| ether_type | 2048 |
|
137
137
|
| ip_ecn | 3 |
|
@@ -142,7 +142,7 @@ Feature: Pio::Match
|
|
142
142
|
Pio::Match.new(ether_type: 0x0800, ipv4_source_address: '192.168.0.1')
|
143
143
|
"""
|
144
144
|
Then it should finish successfully
|
145
|
-
And the message
|
145
|
+
And the message has the following fields and values:
|
146
146
|
| field | value |
|
147
147
|
| ether_type | 2048 |
|
148
148
|
| ipv4_source_address | 192.168.0.1 |
|
@@ -153,7 +153,7 @@ Feature: Pio::Match
|
|
153
153
|
Pio::Match.new(ether_type: 0x0800, ipv4_destination_address: '192.168.0.1')
|
154
154
|
"""
|
155
155
|
Then it should finish successfully
|
156
|
-
And the message
|
156
|
+
And the message has the following fields and values:
|
157
157
|
| field | value |
|
158
158
|
| ether_type | 2048 |
|
159
159
|
| ipv4_destination_address | 192.168.0.1 |
|
@@ -164,7 +164,7 @@ Feature: Pio::Match
|
|
164
164
|
Pio::Match.new(ether_type: 0x0800, ipv4_source_address: '192.168.0.1', ipv4_source_address_mask: '255.255.0.0')
|
165
165
|
"""
|
166
166
|
Then it should finish successfully
|
167
|
-
And the message
|
167
|
+
And the message has the following fields and values:
|
168
168
|
| field | value |
|
169
169
|
| ether_type | 2048 |
|
170
170
|
| ipv4_source_address | 192.168.0.1 |
|
@@ -176,7 +176,7 @@ Feature: Pio::Match
|
|
176
176
|
Pio::Match.new(ether_type: 0x0800, ipv4_destination_address: '192.168.0.1', ipv4_destination_address_mask: '255.255.0.0')
|
177
177
|
"""
|
178
178
|
Then it should finish successfully
|
179
|
-
And the message
|
179
|
+
And the message has the following fields and values:
|
180
180
|
| field | value |
|
181
181
|
| ether_type | 2048 |
|
182
182
|
| ipv4_destination_address | 192.168.0.1 |
|
@@ -188,7 +188,7 @@ Feature: Pio::Match
|
|
188
188
|
Pio::Match.new(ether_type: 0x0800, ip_protocol: 6, tcp_source_port: 1111)
|
189
189
|
"""
|
190
190
|
Then it should finish successfully
|
191
|
-
And the message
|
191
|
+
And the message has the following fields and values:
|
192
192
|
| field | value |
|
193
193
|
| ether_type | 2048 |
|
194
194
|
| ip_protocol | 6 |
|
@@ -200,7 +200,7 @@ Feature: Pio::Match
|
|
200
200
|
Pio::Match.new(ether_type: 0x0800, ip_protocol: 6, tcp_destination_port: 80)
|
201
201
|
"""
|
202
202
|
Then it should finish successfully
|
203
|
-
And the message
|
203
|
+
And the message has the following fields and values:
|
204
204
|
| field | value |
|
205
205
|
| ether_type | 2048 |
|
206
206
|
| ip_protocol | 6 |
|
@@ -212,7 +212,7 @@ Feature: Pio::Match
|
|
212
212
|
Pio::Match.new(ether_type: 0x0800, ip_protocol: 17, udp_source_port: 2222)
|
213
213
|
"""
|
214
214
|
Then it should finish successfully
|
215
|
-
And the message
|
215
|
+
And the message has the following fields and values:
|
216
216
|
| field | value |
|
217
217
|
| ether_type | 2048 |
|
218
218
|
| ip_protocol | 17 |
|
@@ -224,7 +224,7 @@ Feature: Pio::Match
|
|
224
224
|
Pio::Match.new(ether_type: 0x0800, ip_protocol: 17, udp_destination_port: 3333)
|
225
225
|
"""
|
226
226
|
Then it should finish successfully
|
227
|
-
And the message
|
227
|
+
And the message has the following fields and values:
|
228
228
|
| field | value |
|
229
229
|
| ether_type | 2048 |
|
230
230
|
| ip_protocol | 17 |
|
@@ -236,7 +236,7 @@ Feature: Pio::Match
|
|
236
236
|
Pio::Match.new(ether_type: 0x0800, ip_protocol: 132, sctp_source_port: 22)
|
237
237
|
"""
|
238
238
|
Then it should finish successfully
|
239
|
-
And the message
|
239
|
+
And the message has the following fields and values:
|
240
240
|
| field | value |
|
241
241
|
| ether_type | 2048 |
|
242
242
|
| ip_protocol | 132 |
|
@@ -248,7 +248,7 @@ Feature: Pio::Match
|
|
248
248
|
Pio::Match.new(ether_type: 0x0800, ip_protocol: 132, sctp_destination_port: 22)
|
249
249
|
"""
|
250
250
|
Then it should finish successfully
|
251
|
-
And the message
|
251
|
+
And the message has the following fields and values:
|
252
252
|
| field | value |
|
253
253
|
| ether_type | 2048 |
|
254
254
|
| ip_protocol | 132 |
|
@@ -260,7 +260,7 @@ Feature: Pio::Match
|
|
260
260
|
Pio::Match.new(ether_type: 0x0800, ip_protocol: 1, icmpv4_type: 8)
|
261
261
|
"""
|
262
262
|
Then it should finish successfully
|
263
|
-
And the message
|
263
|
+
And the message has the following fields and values:
|
264
264
|
| field | value |
|
265
265
|
| ether_type | 2048 |
|
266
266
|
| ip_protocol | 1 |
|
@@ -272,7 +272,7 @@ Feature: Pio::Match
|
|
272
272
|
Pio::Match.new(ether_type: 0x0800, ip_protocol: 1, icmpv4_code: 0)
|
273
273
|
"""
|
274
274
|
Then it should finish successfully
|
275
|
-
And the message
|
275
|
+
And the message has the following fields and values:
|
276
276
|
| field | value |
|
277
277
|
| ether_type | 2048 |
|
278
278
|
| ip_protocol | 1 |
|
@@ -284,7 +284,7 @@ Feature: Pio::Match
|
|
284
284
|
Pio::Match.new(ether_type: 2054, arp_op: 1)
|
285
285
|
"""
|
286
286
|
Then it should finish successfully
|
287
|
-
And the message
|
287
|
+
And the message has the following fields and values:
|
288
288
|
| field | value |
|
289
289
|
| ether_type | 2054 |
|
290
290
|
| arp_op | 1 |
|
@@ -295,7 +295,7 @@ Feature: Pio::Match
|
|
295
295
|
Pio::Match.new(ether_type: 2054, arp_sender_protocol_address: '1.2.3.4')
|
296
296
|
"""
|
297
297
|
Then it should finish successfully
|
298
|
-
And the message
|
298
|
+
And the message has the following fields and values:
|
299
299
|
| field | value |
|
300
300
|
| ether_type | 2054 |
|
301
301
|
| arp_sender_protocol_address | 1.2.3.4 |
|
@@ -306,7 +306,7 @@ Feature: Pio::Match
|
|
306
306
|
Pio::Match.new(ether_type: 2054, arp_sender_protocol_address: '1.2.3.4', arp_sender_protocol_address_mask: '255.255.0.0')
|
307
307
|
"""
|
308
308
|
Then it should finish successfully
|
309
|
-
And the message
|
309
|
+
And the message has the following fields and values:
|
310
310
|
| field | value |
|
311
311
|
| ether_type | 2054 |
|
312
312
|
| arp_sender_protocol_address | 1.2.3.4 |
|
@@ -318,7 +318,7 @@ Feature: Pio::Match
|
|
318
318
|
Pio::Match.new(ether_type: 2054, arp_target_protocol_address: '1.2.3.4')
|
319
319
|
"""
|
320
320
|
Then it should finish successfully
|
321
|
-
And the message
|
321
|
+
And the message has the following fields and values:
|
322
322
|
| field | value |
|
323
323
|
| ether_type | 2054 |
|
324
324
|
| arp_target_protocol_address | 1.2.3.4 |
|
@@ -329,7 +329,7 @@ Feature: Pio::Match
|
|
329
329
|
Pio::Match.new(ether_type: 2054, arp_target_protocol_address: '1.2.3.4', arp_target_protocol_address_mask: '255.255.0.0')
|
330
330
|
"""
|
331
331
|
Then it should finish successfully
|
332
|
-
And the message
|
332
|
+
And the message has the following fields and values:
|
333
333
|
| field | value |
|
334
334
|
| ether_type | 2054 |
|
335
335
|
| arp_target_protocol_address | 1.2.3.4 |
|
@@ -341,7 +341,7 @@ Feature: Pio::Match
|
|
341
341
|
Pio::Match.new(ether_type: 2054, arp_sender_hardware_address: '11:22:33:44:55:66')
|
342
342
|
"""
|
343
343
|
Then it should finish successfully
|
344
|
-
And the message
|
344
|
+
And the message has the following fields and values:
|
345
345
|
| field | value |
|
346
346
|
| ether_type | 2054 |
|
347
347
|
| arp_sender_hardware_address | 11:22:33:44:55:66 |
|
@@ -352,7 +352,7 @@ Feature: Pio::Match
|
|
352
352
|
Pio::Match.new(ether_type: 2054, arp_sender_hardware_address: '11:22:33:44:55:66', arp_sender_hardware_address_mask: 'ff:ff:ff:00:00:00')
|
353
353
|
"""
|
354
354
|
Then it should finish successfully
|
355
|
-
And the message
|
355
|
+
And the message has the following fields and values:
|
356
356
|
| field | value |
|
357
357
|
| ether_type | 2054 |
|
358
358
|
| arp_sender_hardware_address | 11:22:33:44:55:66 |
|
@@ -364,7 +364,7 @@ Feature: Pio::Match
|
|
364
364
|
Pio::Match.new(ether_type: 2054, arp_target_hardware_address: '11:22:33:44:55:66')
|
365
365
|
"""
|
366
366
|
Then it should finish successfully
|
367
|
-
And the message
|
367
|
+
And the message has the following fields and values:
|
368
368
|
| field | value |
|
369
369
|
| ether_type | 2054 |
|
370
370
|
| arp_target_hardware_address | 11:22:33:44:55:66 |
|
@@ -375,7 +375,7 @@ Feature: Pio::Match
|
|
375
375
|
Pio::Match.new(ether_type: 2054, arp_target_hardware_address: '11:22:33:44:55:66', arp_target_hardware_address_mask: 'ff:ff:ff:00:00:00')
|
376
376
|
"""
|
377
377
|
Then it should finish successfully
|
378
|
-
And the message
|
378
|
+
And the message has the following fields and values:
|
379
379
|
| field | value |
|
380
380
|
| ether_type | 2054 |
|
381
381
|
| arp_target_hardware_address | 11:22:33:44:55:66 |
|
@@ -387,7 +387,7 @@ Feature: Pio::Match
|
|
387
387
|
Pio::Match.new(ether_type: 0x86dd, ipv6_source_address: '2001:db8:bd05:1d2:288a:1fc0:1:10ee')
|
388
388
|
"""
|
389
389
|
Then it should finish successfully
|
390
|
-
And the message
|
390
|
+
And the message has the following fields and values:
|
391
391
|
| field | value |
|
392
392
|
| ether_type | 34525 |
|
393
393
|
| ipv6_source_address | 2001:db8:bd05:1d2:288a:1fc0:1:10ee |
|
@@ -398,7 +398,7 @@ Feature: Pio::Match
|
|
398
398
|
Pio::Match.new(ether_type: 0x86dd, ipv6_source_address: '2001:db8:bd05:1d2:288a:1fc0:1:10ee', ipv6_source_address_mask: 'ffff:ffff:ffff:ffff::')
|
399
399
|
"""
|
400
400
|
Then it should finish successfully
|
401
|
-
And the message
|
401
|
+
And the message has the following fields and values:
|
402
402
|
| field | value |
|
403
403
|
| ether_type | 34525 |
|
404
404
|
| ipv6_source_address | 2001:db8:bd05:1d2:288a:1fc0:1:10ee |
|
@@ -410,7 +410,7 @@ Feature: Pio::Match
|
|
410
410
|
Pio::Match.new(ether_type: 0x86dd, ipv6_destination_address: '2001:db8:bd05:1d2:288a:1fc0:1:10ee')
|
411
411
|
"""
|
412
412
|
Then it should finish successfully
|
413
|
-
And the message
|
413
|
+
And the message has the following fields and values:
|
414
414
|
| field | value |
|
415
415
|
| ether_type | 34525 |
|
416
416
|
| ipv6_destination_address | 2001:db8:bd05:1d2:288a:1fc0:1:10ee |
|
@@ -421,7 +421,7 @@ Feature: Pio::Match
|
|
421
421
|
Pio::Match.new(ether_type: 0x86dd, ipv6_destination_address: '2001:db8:bd05:1d2:288a:1fc0:1:10ee', ipv6_destination_address_mask: 'ffff:ffff:ffff:ffff::')
|
422
422
|
"""
|
423
423
|
Then it should finish successfully
|
424
|
-
And the message
|
424
|
+
And the message has the following fields and values:
|
425
425
|
| field | value |
|
426
426
|
| ether_type | 34525 |
|
427
427
|
| ipv6_destination_address | 2001:db8:bd05:1d2:288a:1fc0:1:10ee |
|
@@ -433,7 +433,7 @@ Feature: Pio::Match
|
|
433
433
|
Pio::Match.new(tunnel_id: 1)
|
434
434
|
"""
|
435
435
|
Then it should finish successfully
|
436
|
-
And the message
|
436
|
+
And the message has the following fields and values:
|
437
437
|
| field | value |
|
438
438
|
| tunnel_id | 1 |
|
439
439
|
|
@@ -443,7 +443,7 @@ Feature: Pio::Match
|
|
443
443
|
Pio::Match.new(tunnel_id: 1, tunnel_id_mask: 9223372036854775808)
|
444
444
|
"""
|
445
445
|
Then it should finish successfully
|
446
|
-
And the message
|
446
|
+
And the message has the following fields and values:
|
447
447
|
| field | value |
|
448
448
|
| tunnel_id | 1 |
|
449
449
|
| tunnel_id_mask | 9223372036854775808 |
|
@@ -451,28 +451,28 @@ Feature: Pio::Match
|
|
451
451
|
Scenario: read (file: open_flow13/oxm_no_fields.raw)
|
452
452
|
When I try to parse a file named "open_flow13/oxm_no_fields.raw" with "Pio::Match" class
|
453
453
|
Then it should finish successfully
|
454
|
-
And the message
|
454
|
+
And the message has the following fields and values:
|
455
455
|
| field | value |
|
456
456
|
| match_fields | [] |
|
457
457
|
|
458
458
|
Scenario: read (file: open_flow13/oxm_in_port_field.raw)
|
459
459
|
When I try to parse a file named "open_flow13/oxm_in_port_field.raw" with "Pio::Match" class
|
460
460
|
Then it should finish successfully
|
461
|
-
And the message
|
461
|
+
And the message has the following fields and values:
|
462
462
|
| field | value |
|
463
463
|
| in_port | 1 |
|
464
464
|
|
465
465
|
Scenario: read (file: open_flow13/oxm_metadata_field.raw)
|
466
466
|
When I try to parse a file named "open_flow13/oxm_metadata_field.raw" with "Pio::Match" class
|
467
467
|
Then it should finish successfully
|
468
|
-
And the message
|
468
|
+
And the message has the following fields and values:
|
469
469
|
| field | value |
|
470
470
|
| metadata | 1 |
|
471
471
|
|
472
472
|
Scenario: read (file: open_flow13/oxm_metadata_masked_field.raw)
|
473
473
|
When I try to parse a file named "open_flow13/oxm_metadata_masked_field.raw" with "Pio::Match" class
|
474
474
|
Then it should finish successfully
|
475
|
-
And the message
|
475
|
+
And the message has the following fields and values:
|
476
476
|
| field | value |
|
477
477
|
| metadata | 1 |
|
478
478
|
| metadata_mask | 18446744069414584320 |
|
@@ -480,21 +480,21 @@ Feature: Pio::Match
|
|
480
480
|
Scenario: read (file: open_flow13/oxm_ether_destination_field.raw)
|
481
481
|
When I try to parse a file named "open_flow13/oxm_ether_destination_field.raw" with "Pio::Match" class
|
482
482
|
Then it should finish successfully
|
483
|
-
And the message
|
483
|
+
And the message has the following fields and values:
|
484
484
|
| field | value |
|
485
485
|
| ether_destination_address | ff:ff:ff:ff:ff:ff |
|
486
486
|
|
487
487
|
Scenario: read (file: open_flow13/oxm_ether_source_field.raw)
|
488
488
|
When I try to parse a file named "open_flow13/oxm_ether_source_field.raw" with "Pio::Match" class
|
489
489
|
Then it should finish successfully
|
490
|
-
And the message
|
490
|
+
And the message has the following fields and values:
|
491
491
|
| field | value |
|
492
492
|
| ether_source_address | 01:02:03:04:05:06 |
|
493
493
|
|
494
494
|
Scenario: read (file: open_flow13/oxm_masked_ether_destination_field.raw)
|
495
495
|
When I try to parse a file named "open_flow13/oxm_masked_ether_destination_field.raw" with "Pio::Match" class
|
496
496
|
Then it should finish successfully
|
497
|
-
And the message
|
497
|
+
And the message has the following fields and values:
|
498
498
|
| field | value |
|
499
499
|
| ether_destination_address | ff:ff:ff:ff:ff:ff |
|
500
500
|
| ether_destination_address_mask | ff:ff:ff:00:00:00 |
|
@@ -502,7 +502,7 @@ Feature: Pio::Match
|
|
502
502
|
Scenario: read (file: open_flow13/oxm_masked_ether_source_field.raw)
|
503
503
|
When I try to parse a file named "open_flow13/oxm_masked_ether_source_field.raw" with "Pio::Match" class
|
504
504
|
Then it should finish successfully
|
505
|
-
And the message
|
505
|
+
And the message has the following fields and values:
|
506
506
|
| field | value |
|
507
507
|
| ether_source_address | 01:02:03:04:05:06 |
|
508
508
|
| ether_source_address_mask | ff:ff:ff:00:00:00 |
|
@@ -510,21 +510,21 @@ Feature: Pio::Match
|
|
510
510
|
Scenario: read (file: open_flow13/oxm_ether_type_field.raw)
|
511
511
|
When I try to parse a file named "open_flow13/oxm_ether_type_field.raw" with "Pio::Match" class
|
512
512
|
Then it should finish successfully
|
513
|
-
And the message
|
513
|
+
And the message has the following fields and values:
|
514
514
|
| field | value |
|
515
515
|
| ether_type | 0 |
|
516
516
|
|
517
517
|
Scenario: read (file: open_flow13/oxm_vlan_vid_field.raw)
|
518
518
|
When I try to parse a file named "open_flow13/oxm_vlan_vid_field.raw" with "Pio::Match" class
|
519
519
|
Then it should finish successfully
|
520
|
-
And the message
|
520
|
+
And the message has the following fields and values:
|
521
521
|
| field | value |
|
522
522
|
| vlan_vid | 10 |
|
523
523
|
|
524
524
|
Scenario: read (file: open_flow13/oxm_vlan_pcp_field.raw)
|
525
525
|
When I try to parse a file named "open_flow13/oxm_vlan_pcp_field.raw" with "Pio::Match" class
|
526
526
|
Then it should finish successfully
|
527
|
-
And the message
|
527
|
+
And the message has the following fields and values:
|
528
528
|
| field | value |
|
529
529
|
| vlan_vid | 10 |
|
530
530
|
| vlan_pcp | 5 |
|
@@ -532,7 +532,7 @@ Feature: Pio::Match
|
|
532
532
|
Scenario: read (file: open_flow13/oxm_ip_dscp_field.raw)
|
533
533
|
When I try to parse a file named "open_flow13/oxm_ip_dscp_field.raw" with "Pio::Match" class
|
534
534
|
Then it should finish successfully
|
535
|
-
And the message
|
535
|
+
And the message has the following fields and values:
|
536
536
|
| field | value |
|
537
537
|
| ether_type | 2048 |
|
538
538
|
| ip_dscp | 46 |
|
@@ -540,7 +540,7 @@ Feature: Pio::Match
|
|
540
540
|
Scenario: read (file: open_flow13/oxm_ip_ecn_field.raw)
|
541
541
|
When I try to parse a file named "open_flow13/oxm_ip_ecn_field.raw" with "Pio::Match" class
|
542
542
|
Then it should finish successfully
|
543
|
-
And the message
|
543
|
+
And the message has the following fields and values:
|
544
544
|
| field | value |
|
545
545
|
| ether_type | 2048 |
|
546
546
|
| ip_ecn | 3 |
|
@@ -548,7 +548,7 @@ Feature: Pio::Match
|
|
548
548
|
Scenario: read (file: open_flow13/oxm_ipv4_source_field.raw)
|
549
549
|
When I try to parse a file named "open_flow13/oxm_ipv4_source_field.raw" with "Pio::Match" class
|
550
550
|
Then it should finish successfully
|
551
|
-
And the message
|
551
|
+
And the message has the following fields and values:
|
552
552
|
| field | value |
|
553
553
|
| ether_type | 2048 |
|
554
554
|
| ipv4_source_address | 1.2.3.4 |
|
@@ -556,7 +556,7 @@ Feature: Pio::Match
|
|
556
556
|
Scenario: read (file: open_flow13/oxm_ipv4_destination_field.raw)
|
557
557
|
When I try to parse a file named "open_flow13/oxm_ipv4_destination_field.raw" with "Pio::Match" class
|
558
558
|
Then it should finish successfully
|
559
|
-
And the message
|
559
|
+
And the message has the following fields and values:
|
560
560
|
| field | value |
|
561
561
|
| ether_type | 2048 |
|
562
562
|
| ipv4_destination_address | 11.22.33.44 |
|
@@ -564,7 +564,7 @@ Feature: Pio::Match
|
|
564
564
|
Scenario: read (file: open_flow13/oxm_masked_ipv4_source_field.raw)
|
565
565
|
When I try to parse a file named "open_flow13/oxm_masked_ipv4_source_field.raw" with "Pio::Match" class
|
566
566
|
Then it should finish successfully
|
567
|
-
And the message
|
567
|
+
And the message has the following fields and values:
|
568
568
|
| field | value |
|
569
569
|
| ether_type | 2048 |
|
570
570
|
| ipv4_source_address | 1.2.3.4 |
|
@@ -573,7 +573,7 @@ Feature: Pio::Match
|
|
573
573
|
Scenario: read (file: open_flow13/oxm_masked_ipv4_destination_field.raw)
|
574
574
|
When I try to parse a file named "open_flow13/oxm_masked_ipv4_destination_field.raw" with "Pio::Match" class
|
575
575
|
Then it should finish successfully
|
576
|
-
And the message
|
576
|
+
And the message has the following fields and values:
|
577
577
|
| field | value |
|
578
578
|
| ether_type | 2048 |
|
579
579
|
| ipv4_destination_address | 11.22.33.44 |
|
@@ -582,7 +582,7 @@ Feature: Pio::Match
|
|
582
582
|
Scenario: read (file: open_flow13/oxm_tcp_source_field.raw)
|
583
583
|
When I try to parse a file named "open_flow13/oxm_tcp_source_field.raw" with "Pio::Match" class
|
584
584
|
Then it should finish successfully
|
585
|
-
And the message
|
585
|
+
And the message has the following fields and values:
|
586
586
|
| field | value |
|
587
587
|
| ether_type | 2048 |
|
588
588
|
| ip_protocol | 6 |
|
@@ -591,7 +591,7 @@ Feature: Pio::Match
|
|
591
591
|
Scenario: read (file: open_flow13/oxm_tcp_destination_field.raw)
|
592
592
|
When I try to parse a file named "open_flow13/oxm_tcp_destination_field.raw" with "Pio::Match" class
|
593
593
|
Then it should finish successfully
|
594
|
-
And the message
|
594
|
+
And the message has the following fields and values:
|
595
595
|
| field | value |
|
596
596
|
| ether_type | 2048 |
|
597
597
|
| ip_protocol | 6 |
|
@@ -600,7 +600,7 @@ Feature: Pio::Match
|
|
600
600
|
Scenario: read (file: open_flow13/oxm_udp_source_field.raw)
|
601
601
|
When I try to parse a file named "open_flow13/oxm_udp_source_field.raw" with "Pio::Match" class
|
602
602
|
Then it should finish successfully
|
603
|
-
And the message
|
603
|
+
And the message has the following fields and values:
|
604
604
|
| field | value |
|
605
605
|
| ether_type | 2048 |
|
606
606
|
| ip_protocol | 17 |
|
@@ -609,7 +609,7 @@ Feature: Pio::Match
|
|
609
609
|
Scenario: read (file: open_flow13/oxm_udp_destination_field.raw)
|
610
610
|
When I try to parse a file named "open_flow13/oxm_udp_destination_field.raw" with "Pio::Match" class
|
611
611
|
Then it should finish successfully
|
612
|
-
And the message
|
612
|
+
And the message has the following fields and values:
|
613
613
|
| field | value |
|
614
614
|
| ether_type | 2048 |
|
615
615
|
| ip_protocol | 17 |
|
@@ -618,7 +618,7 @@ Feature: Pio::Match
|
|
618
618
|
Scenario: read (file: open_flow13/oxm_sctp_source_field.raw)
|
619
619
|
When I try to parse a file named "open_flow13/oxm_sctp_source_field.raw" with "Pio::Match" class
|
620
620
|
Then it should finish successfully
|
621
|
-
And the message
|
621
|
+
And the message has the following fields and values:
|
622
622
|
| field | value |
|
623
623
|
| ether_type | 2048 |
|
624
624
|
| ip_protocol | 132 |
|
@@ -627,7 +627,7 @@ Feature: Pio::Match
|
|
627
627
|
Scenario: read (file: open_flow13/oxm_sctp_destination_field.raw)
|
628
628
|
When I try to parse a file named "open_flow13/oxm_sctp_destination_field.raw" with "Pio::Match" class
|
629
629
|
Then it should finish successfully
|
630
|
-
And the message
|
630
|
+
And the message has the following fields and values:
|
631
631
|
| field | value |
|
632
632
|
| ether_type | 2048 |
|
633
633
|
| ip_protocol | 132 |
|
@@ -636,7 +636,7 @@ Feature: Pio::Match
|
|
636
636
|
Scenario: read (file: open_flow13/oxm_icmpv4_type_field.raw)
|
637
637
|
When I try to parse a file named "open_flow13/oxm_icmpv4_type_field.raw" with "Pio::Match" class
|
638
638
|
Then it should finish successfully
|
639
|
-
And the message
|
639
|
+
And the message has the following fields and values:
|
640
640
|
| field | value |
|
641
641
|
| ether_type | 2048 |
|
642
642
|
| ip_protocol | 1 |
|
@@ -645,7 +645,7 @@ Feature: Pio::Match
|
|
645
645
|
Scenario: read (file: open_flow13/oxm_icmpv4_code_field.raw)
|
646
646
|
When I try to parse a file named "open_flow13/oxm_icmpv4_code_field.raw" with "Pio::Match" class
|
647
647
|
Then it should finish successfully
|
648
|
-
And the message
|
648
|
+
And the message has the following fields and values:
|
649
649
|
| field | value |
|
650
650
|
| ether_type | 2048 |
|
651
651
|
| ip_protocol | 1 |
|
@@ -654,7 +654,7 @@ Feature: Pio::Match
|
|
654
654
|
Scenario: read (file: open_flow13/oxm_arp_op_field.raw)
|
655
655
|
When I try to parse a file named "open_flow13/oxm_arp_op_field.raw" with "Pio::Match" class
|
656
656
|
Then it should finish successfully
|
657
|
-
And the message
|
657
|
+
And the message has the following fields and values:
|
658
658
|
| field | value |
|
659
659
|
| ether_type | 2054 |
|
660
660
|
| arp_op | 1 |
|
@@ -662,7 +662,7 @@ Feature: Pio::Match
|
|
662
662
|
Scenario: read (file: open_flow13/oxm_arp_spa_field.raw)
|
663
663
|
When I try to parse a file named "open_flow13/oxm_arp_spa_field.raw" with "Pio::Match" class
|
664
664
|
Then it should finish successfully
|
665
|
-
And the message
|
665
|
+
And the message has the following fields and values:
|
666
666
|
| field | value |
|
667
667
|
| ether_type | 2054 |
|
668
668
|
| arp_sender_protocol_address | 1.2.3.4 |
|
@@ -670,7 +670,7 @@ Feature: Pio::Match
|
|
670
670
|
Scenario: read (file: open_flow13/oxm_masked_arp_spa_field.raw)
|
671
671
|
When I try to parse a file named "open_flow13/oxm_masked_arp_spa_field.raw" with "Pio::Match" class
|
672
672
|
Then it should finish successfully
|
673
|
-
And the message
|
673
|
+
And the message has the following fields and values:
|
674
674
|
| field | value |
|
675
675
|
| ether_type | 2054 |
|
676
676
|
| arp_sender_protocol_address | 1.2.3.4 |
|
@@ -679,7 +679,7 @@ Feature: Pio::Match
|
|
679
679
|
Scenario: read (file: open_flow13/oxm_arp_tpa_field.raw)
|
680
680
|
When I try to parse a file named "open_flow13/oxm_arp_tpa_field.raw" with "Pio::Match" class
|
681
681
|
Then it should finish successfully
|
682
|
-
And the message
|
682
|
+
And the message has the following fields and values:
|
683
683
|
| field | value |
|
684
684
|
| ether_type | 2054 |
|
685
685
|
| arp_target_protocol_address | 1.2.3.4 |
|
@@ -687,7 +687,7 @@ Feature: Pio::Match
|
|
687
687
|
Scenario: read (file: open_flow13/oxm_masked_arp_tpa_field.raw)
|
688
688
|
When I try to parse a file named "open_flow13/oxm_masked_arp_tpa_field.raw" with "Pio::Match" class
|
689
689
|
Then it should finish successfully
|
690
|
-
And the message
|
690
|
+
And the message has the following fields and values:
|
691
691
|
| field | value |
|
692
692
|
| ether_type | 2054 |
|
693
693
|
| arp_target_protocol_address | 1.2.3.4 |
|
@@ -696,7 +696,7 @@ Feature: Pio::Match
|
|
696
696
|
Scenario: read (file: open_flow13/oxm_arp_sha_field.raw)
|
697
697
|
When I try to parse a file named "open_flow13/oxm_arp_sha_field.raw" with "Pio::Match" class
|
698
698
|
Then it should finish successfully
|
699
|
-
And the message
|
699
|
+
And the message has the following fields and values:
|
700
700
|
| field | value |
|
701
701
|
| ether_type | 2054 |
|
702
702
|
| arp_sender_hardware_address | 11:22:33:44:55:66 |
|
@@ -704,7 +704,7 @@ Feature: Pio::Match
|
|
704
704
|
Scenario: read (file: open_flow13/oxm_masked_arp_sha_field.raw)
|
705
705
|
When I try to parse a file named "open_flow13/oxm_masked_arp_sha_field.raw" with "Pio::Match" class
|
706
706
|
Then it should finish successfully
|
707
|
-
And the message
|
707
|
+
And the message has the following fields and values:
|
708
708
|
| field | value |
|
709
709
|
| ether_type | 2054 |
|
710
710
|
| arp_sender_hardware_address | 11:22:33:44:55:66 |
|
@@ -713,7 +713,7 @@ Feature: Pio::Match
|
|
713
713
|
Scenario: read (file: open_flow13/oxm_arp_tha_field.raw)
|
714
714
|
When I try to parse a file named "open_flow13/oxm_arp_tha_field.raw" with "Pio::Match" class
|
715
715
|
Then it should finish successfully
|
716
|
-
And the message
|
716
|
+
And the message has the following fields and values:
|
717
717
|
| field | value |
|
718
718
|
| ether_type | 2054 |
|
719
719
|
| arp_target_hardware_address | 11:22:33:44:55:66 |
|
@@ -721,7 +721,7 @@ Feature: Pio::Match
|
|
721
721
|
Scenario: read (file: open_flow13/oxm_masked_arp_tha_field.raw)
|
722
722
|
When I try to parse a file named "open_flow13/oxm_masked_arp_tha_field.raw" with "Pio::Match" class
|
723
723
|
Then it should finish successfully
|
724
|
-
And the message
|
724
|
+
And the message has the following fields and values:
|
725
725
|
| field | value |
|
726
726
|
| ether_type | 2054 |
|
727
727
|
| arp_target_hardware_address | 11:22:33:44:55:66 |
|
@@ -730,7 +730,7 @@ Feature: Pio::Match
|
|
730
730
|
Scenario: read (file: open_flow13/oxm_ipv6_source_field.raw)
|
731
731
|
When I try to parse a file named "open_flow13/oxm_ipv6_source_field.raw" with "Pio::Match" class
|
732
732
|
Then it should finish successfully
|
733
|
-
And the message
|
733
|
+
And the message has the following fields and values:
|
734
734
|
| field | value |
|
735
735
|
| ether_type | 34525 |
|
736
736
|
| ipv6_source_address | 2001:db8:bd05:1d2:288a:1fc0:1:10ee |
|
@@ -738,7 +738,7 @@ Feature: Pio::Match
|
|
738
738
|
Scenario: read (file: open_flow13/oxm_masked_ipv6_source_field.raw)
|
739
739
|
When I try to parse a file named "open_flow13/oxm_masked_ipv6_source_field.raw" with "Pio::Match" class
|
740
740
|
Then it should finish successfully
|
741
|
-
And the message
|
741
|
+
And the message has the following fields and values:
|
742
742
|
| field | value |
|
743
743
|
| ether_type | 34525 |
|
744
744
|
| ipv6_source_address | 2001:db8:bd05:1d2:288a:1fc0:1:10ee |
|
@@ -747,7 +747,7 @@ Feature: Pio::Match
|
|
747
747
|
Scenario: read (file: open_flow13/oxm_ipv6_destination_field.raw)
|
748
748
|
When I try to parse a file named "open_flow13/oxm_ipv6_destination_field.raw" with "Pio::Match" class
|
749
749
|
Then it should finish successfully
|
750
|
-
And the message
|
750
|
+
And the message has the following fields and values:
|
751
751
|
| field | value |
|
752
752
|
| ether_type | 34525 |
|
753
753
|
| ipv6_destination_address | 2001:db8:bd05:1d2:288a:1fc0:1:10ee |
|
@@ -755,7 +755,7 @@ Feature: Pio::Match
|
|
755
755
|
Scenario: read (file: open_flow13/oxm_masked_ipv6_destination_field.raw)
|
756
756
|
When I try to parse a file named "open_flow13/oxm_masked_ipv6_destination_field.raw" with "Pio::Match" class
|
757
757
|
Then it should finish successfully
|
758
|
-
And the message
|
758
|
+
And the message has the following fields and values:
|
759
759
|
| field | value |
|
760
760
|
| ether_type | 34525 |
|
761
761
|
| ipv6_destination_address | 2001:db8:bd05:1d2:288a:1fc0:1:10ee |
|
@@ -764,14 +764,14 @@ Feature: Pio::Match
|
|
764
764
|
Scenario: read (file: open_flow13/oxm_tunnel_id_field.raw)
|
765
765
|
When I try to parse a file named "open_flow13/oxm_tunnel_id_field.raw" with "Pio::Match" class
|
766
766
|
Then it should finish successfully
|
767
|
-
And the message
|
767
|
+
And the message has the following fields and values:
|
768
768
|
| field | value |
|
769
769
|
| tunnel_id | 1 |
|
770
770
|
|
771
771
|
Scenario: read (file: open_flow13/oxm_masked_tunnel_id_field.raw)
|
772
772
|
When I try to parse a file named "open_flow13/oxm_masked_tunnel_id_field.raw" with "Pio::Match" class
|
773
773
|
Then it should finish successfully
|
774
|
-
And the message
|
774
|
+
And the message has the following fields and values:
|
775
775
|
| field | value |
|
776
776
|
| tunnel_id | 1 |
|
777
777
|
| tunnel_id_mask | 9223372036854775808 |
|
@@ -783,7 +783,7 @@ Feature: Pio::Match
|
|
783
783
|
Scenario: read (file: open_flow13/oxm_experimenter_stratos_basic_dot11.raw)
|
784
784
|
When I try to parse a file named "open_flow13/oxm_experimenter_stratos_basic_dot11.raw" with "Pio::Match" class
|
785
785
|
Then it should finish successfully
|
786
|
-
And the message
|
786
|
+
And the message has the following fields and values:
|
787
787
|
| field | value |
|
788
788
|
| match_fields.at(0).oxm_field | 0 |
|
789
789
|
| match_fields.at(0).experimenter | 4278247501 |
|