pio 0.29.0 → 0.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/bin/{code_metrics → terminal-notifier} +2 -2
- data/features/{open_flow10 → open_flow}/nicira_resubmit.feature +0 -1
- data/features/{open_flow10 → open_flow}/nicira_resubmit_table.feature +0 -1
- data/features/open_flow13/nicira_reg_load.feature +56 -0
- data/features/open_flow13/nicira_reg_move.feature +21 -0
- data/features/open_flow13/nicira_send_out_port.feature +20 -0
- data/features/open_flow13/set_metadata.feature +14 -0
- data/lib/pio/open_flow.rb +3 -3
- data/lib/pio/open_flow/nicira_resubmit.rb +18 -0
- data/lib/pio/open_flow/nicira_resubmit_table.rb +15 -0
- data/lib/pio/open_flow10.rb +2 -2
- data/lib/pio/open_flow13.rb +5 -0
- data/lib/pio/open_flow13/goto_table.rb +1 -0
- data/lib/pio/open_flow13/match.rb +348 -58
- data/lib/pio/open_flow13/nicira_reg_load.rb +44 -0
- data/lib/pio/open_flow13/nicira_reg_move.rb +7 -3
- data/lib/pio/open_flow13/nicira_send_out_port.rb +38 -0
- data/lib/pio/open_flow13/set_arp_operation.rb +1 -1
- data/lib/pio/open_flow13/set_arp_sender_hardware_address.rb +1 -1
- data/lib/pio/open_flow13/set_arp_sender_protocol_address.rb +1 -1
- data/lib/pio/open_flow13/set_destination_mac_address.rb +1 -1
- data/lib/pio/open_flow13/set_metadata.rb +21 -0
- data/lib/pio/open_flow13/set_source_mac_address.rb +1 -1
- data/lib/pio/version.rb +1 -1
- data/spec/pio/open_flow13/match_spec.rb +43 -43
- metadata +19 -11
- data/bin/code_metrics-profile +0 -16
- data/lib/pio/open_flow10/nicira_resubmit.rb +0 -20
- data/lib/pio/open_flow10/nicira_resubmit_table.rb +0 -17
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'active_support/core_ext/string/inflections'
|
2
|
+
require 'pio/open_flow/action'
|
3
|
+
|
4
|
+
module Pio
|
5
|
+
module OpenFlow13
|
6
|
+
# NXAST_REG_LOAD action
|
7
|
+
class NiciraRegLoad < OpenFlow::Action
|
8
|
+
action_header action_type: 0xffff, action_length: 24
|
9
|
+
uint32 :experimenter_id, value: 0x2320
|
10
|
+
uint16 :experimenter_type, value: 7
|
11
|
+
bit10 :offset_internal, initial_value: 0
|
12
|
+
bit6 :n_bits_internal
|
13
|
+
uint32 :destination_internal
|
14
|
+
uint64 :value_internal
|
15
|
+
|
16
|
+
attr_reader :destination
|
17
|
+
|
18
|
+
# rubocop:disable AbcSize
|
19
|
+
# rubocop:disable LineLength
|
20
|
+
def initialize(value, destination, options = {})
|
21
|
+
@destination = destination
|
22
|
+
oxm_klass = Match.const_get(destination.to_s.split('_').map(&:capitalize).join)
|
23
|
+
super(value_internal: value,
|
24
|
+
offset_internal: options[:offset] || 0,
|
25
|
+
n_bits_internal: options[:n_bits] ? options[:n_bits] - 1 : oxm_klass.new.length * 8 - 1,
|
26
|
+
destination_internal: ((oxm_klass.superclass.const_get(:OXM_CLASS) << 16) | (oxm_klass.const_get(:OXM_FIELD) << 9) | oxm_klass.new.length))
|
27
|
+
end
|
28
|
+
# rubocop:enable AbcSize
|
29
|
+
# rubocop:enable LineLength
|
30
|
+
|
31
|
+
def offset
|
32
|
+
offset_internal
|
33
|
+
end
|
34
|
+
|
35
|
+
def n_bits
|
36
|
+
n_bits_internal + 1
|
37
|
+
end
|
38
|
+
|
39
|
+
def value
|
40
|
+
value_internal
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -11,11 +11,11 @@ module Pio
|
|
11
11
|
uint16 :n_bits, initial_value: -> { source_oxm_length * 8 }
|
12
12
|
uint16 :source_offset, value: 0
|
13
13
|
uint16 :destination_offset, value: 0
|
14
|
-
uint16 :
|
14
|
+
uint16 :source_oxm_class
|
15
15
|
bit7 :source_oxm_field
|
16
16
|
bit1 :source_oxm_hasmask, value: 0
|
17
17
|
uint8 :source_oxm_length
|
18
|
-
uint16 :destination_oxm_class
|
18
|
+
uint16 :destination_oxm_class
|
19
19
|
bit7 :destination_oxm_field
|
20
20
|
bit1 :destination_oxm_hasmask, value: 0
|
21
21
|
uint8 :destination_oxm_length
|
@@ -23,16 +23,20 @@ module Pio
|
|
23
23
|
attr_reader :from
|
24
24
|
attr_reader :to
|
25
25
|
|
26
|
+
# rubocop:disable AbcSize
|
26
27
|
def initialize(options)
|
27
28
|
@from = options.fetch(:from)
|
28
29
|
@to = options.fetch(:to)
|
29
30
|
from_klass = Match.const_get(@from.to_s.classify)
|
30
31
|
to_klass = Match.const_get(@to.to_s.classify)
|
31
|
-
super(
|
32
|
+
super(source_oxm_class: from_klass.superclass.const_get(:OXM_CLASS),
|
33
|
+
source_oxm_field: from_klass.const_get(:OXM_FIELD),
|
32
34
|
source_oxm_length: from_klass.new.length,
|
35
|
+
destination_oxm_class: to_klass.superclass.const_get(:OXM_CLASS),
|
33
36
|
destination_oxm_field: to_klass.const_get(:OXM_FIELD),
|
34
37
|
destination_oxm_length: to_klass.new.length)
|
35
38
|
end
|
39
|
+
# rubocop:enable AbcSize
|
36
40
|
end
|
37
41
|
end
|
38
42
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'pio/open_flow/action'
|
2
|
+
|
3
|
+
module Pio
|
4
|
+
module OpenFlow13
|
5
|
+
# NXAST_OUTPUT_REG action
|
6
|
+
class NiciraSendOutPort < OpenFlow::Action
|
7
|
+
action_header action_type: 0xffff, action_length: 24
|
8
|
+
uint32 :experimenter_id, value: 0x2320
|
9
|
+
uint16 :experimenter_type, value: 15
|
10
|
+
bit10 :offset_internal, value: 0
|
11
|
+
bit6 :n_bits_internal
|
12
|
+
uint32 :source_internal
|
13
|
+
uint16 :max_length, value: 0
|
14
|
+
string :zero, length: 6
|
15
|
+
|
16
|
+
attr_reader :source
|
17
|
+
|
18
|
+
# rubocop:disable AbcSize
|
19
|
+
# rubocop:disable LineLength
|
20
|
+
def initialize(source)
|
21
|
+
@source = source
|
22
|
+
oxm_klass = Match.const_get(source.to_s.split('_').map(&:capitalize).join)
|
23
|
+
super(n_bits_internal: oxm_klass.new.length * 8 - 1,
|
24
|
+
source_internal: ((oxm_klass.superclass.const_get(:OXM_CLASS) << 16) | (oxm_klass.const_get(:OXM_FIELD) << 9) | oxm_klass.new.length))
|
25
|
+
end
|
26
|
+
# rubocop:enable AbcSize
|
27
|
+
# rubocop:enable LineLength
|
28
|
+
|
29
|
+
def offset
|
30
|
+
offset_internal
|
31
|
+
end
|
32
|
+
|
33
|
+
def n_bits
|
34
|
+
n_bits_internal + 1
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -7,7 +7,7 @@ module Pio
|
|
7
7
|
class SetArpOperation < OpenFlow::Action
|
8
8
|
action_header action_type: 25, action_length: 16
|
9
9
|
|
10
|
-
uint16 :oxm_class, value: Match::
|
10
|
+
uint16 :oxm_class, value: Match::OpenFlowBasicValue::OXM_CLASS
|
11
11
|
bit7 :oxm_field, value: Match::ArpOperation::OXM_FIELD
|
12
12
|
bit1 :oxm_hasmask, value: 0
|
13
13
|
uint8 :oxm_length, value: 2
|
@@ -7,7 +7,7 @@ module Pio
|
|
7
7
|
class SetArpSenderHardwareAddress < OpenFlow::Action
|
8
8
|
action_header action_type: 25, action_length: 16
|
9
9
|
|
10
|
-
uint16 :oxm_class, value: Match::
|
10
|
+
uint16 :oxm_class, value: Match::OpenFlowBasicValue::OXM_CLASS
|
11
11
|
bit7 :oxm_field, value: Match::ArpSenderHardwareAddress::OXM_FIELD
|
12
12
|
bit1 :oxm_hasmask, value: 0
|
13
13
|
uint8 :oxm_length, value: 6
|
@@ -7,7 +7,7 @@ module Pio
|
|
7
7
|
class SetArpSenderProtocolAddress < OpenFlow::Action
|
8
8
|
action_header action_type: 25, action_length: 16
|
9
9
|
|
10
|
-
uint16 :oxm_class, value: Match::
|
10
|
+
uint16 :oxm_class, value: Match::OpenFlowBasicValue::OXM_CLASS
|
11
11
|
bit7 :oxm_field, value: Match::ArpSenderProtocolAddress::OXM_FIELD
|
12
12
|
bit1 :oxm_hasmask, value: 0
|
13
13
|
uint8 :oxm_length, value: 4
|
@@ -7,7 +7,7 @@ module Pio
|
|
7
7
|
class SetDestinationMacAddress < OpenFlow::Action
|
8
8
|
action_header action_type: 25, action_length: 16
|
9
9
|
|
10
|
-
uint16 :oxm_class, value: Match::
|
10
|
+
uint16 :oxm_class, value: Match::OpenFlowBasicValue::OXM_CLASS
|
11
11
|
bit7 :oxm_field, value: Match::DestinationMacAddress::OXM_FIELD
|
12
12
|
bit1 :oxm_hasmask, value: 0
|
13
13
|
uint8 :oxm_length, value: 6
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'pio/open_flow/action'
|
2
|
+
require 'pio/open_flow13/match'
|
3
|
+
|
4
|
+
module Pio
|
5
|
+
module OpenFlow13
|
6
|
+
# Set metadata
|
7
|
+
class SetMetadata < OpenFlow::Action
|
8
|
+
action_header action_type: 25, action_length: 16
|
9
|
+
|
10
|
+
uint16 :oxm_class, value: Match::OpenFlowBasicValue::OXM_CLASS
|
11
|
+
bit7 :oxm_field, value: Match::ArpOperation::OXM_FIELD
|
12
|
+
bit1 :oxm_hasmask, value: 0
|
13
|
+
uint8 :oxm_length, value: 8
|
14
|
+
uint64 :metadata
|
15
|
+
|
16
|
+
def initialize(metadata)
|
17
|
+
super metadata: metadata
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -7,7 +7,7 @@ module Pio
|
|
7
7
|
class SetSourceMacAddress < OpenFlow::Action
|
8
8
|
action_header action_type: 25, action_length: 16
|
9
9
|
|
10
|
-
uint16 :oxm_class, value: Match::
|
10
|
+
uint16 :oxm_class, value: Match::OpenFlowBasicValue::OXM_CLASS
|
11
11
|
bit7 :oxm_field, value: Match::SourceMacAddress::OXM_FIELD
|
12
12
|
bit1 :oxm_hasmask, value: 0
|
13
13
|
uint8 :oxm_length, value: 6
|
data/lib/pio/version.rb
CHANGED
@@ -20,7 +20,7 @@ describe Pio::OpenFlow13::Match do
|
|
20
20
|
And { match.match_fields.size == 1 }
|
21
21
|
And do
|
22
22
|
match.match_fields[0].oxm_class ==
|
23
|
-
Pio::OpenFlow13::Match::
|
23
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
24
24
|
end
|
25
25
|
And do
|
26
26
|
match.match_fields[0].oxm_field ==
|
@@ -42,7 +42,7 @@ describe Pio::OpenFlow13::Match do
|
|
42
42
|
And { match.match_fields.size == 1 }
|
43
43
|
And do
|
44
44
|
match.match_fields[0].oxm_class ==
|
45
|
-
Pio::OpenFlow13::Match::
|
45
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
46
46
|
end
|
47
47
|
And do
|
48
48
|
match.match_fields[0].oxm_field ==
|
@@ -64,7 +64,7 @@ describe Pio::OpenFlow13::Match do
|
|
64
64
|
And { match.match_fields.size == 1 }
|
65
65
|
And do
|
66
66
|
match.match_fields[0].oxm_class ==
|
67
|
-
Pio::OpenFlow13::Match::
|
67
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
68
68
|
end
|
69
69
|
And do
|
70
70
|
match.match_fields[0].oxm_field ==
|
@@ -87,7 +87,7 @@ describe Pio::OpenFlow13::Match do
|
|
87
87
|
And { match.match_fields.size == 1 }
|
88
88
|
And do
|
89
89
|
match.match_fields[0].oxm_class ==
|
90
|
-
Pio::OpenFlow13::Match::
|
90
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
91
91
|
end
|
92
92
|
And do
|
93
93
|
match.match_fields[0].oxm_field ==
|
@@ -111,7 +111,7 @@ describe Pio::OpenFlow13::Match do
|
|
111
111
|
And { match.match_fields.size == 1 }
|
112
112
|
And do
|
113
113
|
match.match_fields[0].oxm_class ==
|
114
|
-
Pio::OpenFlow13::Match::
|
114
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
115
115
|
end
|
116
116
|
And do
|
117
117
|
match.match_fields[0].oxm_field ==
|
@@ -131,7 +131,7 @@ describe Pio::OpenFlow13::Match do
|
|
131
131
|
And { match.match_fields.size == 1 }
|
132
132
|
And do
|
133
133
|
match.match_fields[0].oxm_class ==
|
134
|
-
Pio::OpenFlow13::Match::
|
134
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
135
135
|
end
|
136
136
|
And do
|
137
137
|
match.match_fields[0].oxm_field ==
|
@@ -151,7 +151,7 @@ describe Pio::OpenFlow13::Match do
|
|
151
151
|
And { match.match_fields.size == 1 }
|
152
152
|
And do
|
153
153
|
match.match_fields[0].oxm_class ==
|
154
|
-
Pio::OpenFlow13::Match::
|
154
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
155
155
|
end
|
156
156
|
And do
|
157
157
|
match.match_fields[0].oxm_field ==
|
@@ -172,7 +172,7 @@ describe Pio::OpenFlow13::Match do
|
|
172
172
|
And { match.match_fields.size == 2 }
|
173
173
|
And do
|
174
174
|
match.match_fields[1].oxm_class ==
|
175
|
-
Pio::OpenFlow13::Match::
|
175
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
176
176
|
end
|
177
177
|
And do
|
178
178
|
match.match_fields[1].oxm_field ==
|
@@ -193,7 +193,7 @@ describe Pio::OpenFlow13::Match do
|
|
193
193
|
And { match.match_fields.size == 2 }
|
194
194
|
And do
|
195
195
|
match.match_fields[1].oxm_class ==
|
196
|
-
Pio::OpenFlow13::Match::
|
196
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
197
197
|
end
|
198
198
|
And do
|
199
199
|
match.match_fields[1].oxm_field ==
|
@@ -214,7 +214,7 @@ describe Pio::OpenFlow13::Match do
|
|
214
214
|
And { match.match_fields.size == 2 }
|
215
215
|
And do
|
216
216
|
match.match_fields[1].oxm_class ==
|
217
|
-
Pio::OpenFlow13::Match::
|
217
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
218
218
|
end
|
219
219
|
And do
|
220
220
|
match.match_fields[1].oxm_field ==
|
@@ -238,7 +238,7 @@ describe Pio::OpenFlow13::Match do
|
|
238
238
|
And { match.match_fields.size == 2 }
|
239
239
|
And do
|
240
240
|
match.match_fields[0].oxm_class ==
|
241
|
-
Pio::OpenFlow13::Match::
|
241
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
242
242
|
end
|
243
243
|
And do
|
244
244
|
match.match_fields[0].oxm_field ==
|
@@ -248,7 +248,7 @@ describe Pio::OpenFlow13::Match do
|
|
248
248
|
And { match.match_fields[0].oxm_length == 2 }
|
249
249
|
And do
|
250
250
|
match.match_fields[1].oxm_class ==
|
251
|
-
Pio::OpenFlow13::Match::
|
251
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
252
252
|
end
|
253
253
|
And do
|
254
254
|
match.match_fields[1].oxm_field ==
|
@@ -272,7 +272,7 @@ describe Pio::OpenFlow13::Match do
|
|
272
272
|
And { match.match_fields.size == 2 }
|
273
273
|
And do
|
274
274
|
match.match_fields[0].oxm_class ==
|
275
|
-
Pio::OpenFlow13::Match::
|
275
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
276
276
|
end
|
277
277
|
And do
|
278
278
|
match.match_fields[0].oxm_field ==
|
@@ -282,7 +282,7 @@ describe Pio::OpenFlow13::Match do
|
|
282
282
|
And { match.match_fields[0].oxm_length == 2 }
|
283
283
|
And do
|
284
284
|
match.match_fields[1].oxm_class ==
|
285
|
-
Pio::OpenFlow13::Match::
|
285
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
286
286
|
end
|
287
287
|
And do
|
288
288
|
match.match_fields[1].oxm_field ==
|
@@ -310,7 +310,7 @@ describe Pio::OpenFlow13::Match do
|
|
310
310
|
And { match.match_fields.size == 3 }
|
311
311
|
And do
|
312
312
|
match.match_fields[2].oxm_class ==
|
313
|
-
Pio::OpenFlow13::Match::
|
313
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
314
314
|
end
|
315
315
|
And do
|
316
316
|
match.match_fields[2].oxm_field ==
|
@@ -338,7 +338,7 @@ describe Pio::OpenFlow13::Match do
|
|
338
338
|
And { match.match_fields.size == 3 }
|
339
339
|
And do
|
340
340
|
match.match_fields[2].oxm_class ==
|
341
|
-
Pio::OpenFlow13::Match::
|
341
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
342
342
|
end
|
343
343
|
And do
|
344
344
|
match.match_fields[2].oxm_field ==
|
@@ -366,7 +366,7 @@ describe Pio::OpenFlow13::Match do
|
|
366
366
|
And { match.match_fields.size == 3 }
|
367
367
|
And do
|
368
368
|
match.match_fields[2].oxm_class ==
|
369
|
-
Pio::OpenFlow13::Match::
|
369
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
370
370
|
end
|
371
371
|
And do
|
372
372
|
match.match_fields[2].oxm_field ==
|
@@ -394,7 +394,7 @@ describe Pio::OpenFlow13::Match do
|
|
394
394
|
And { match.match_fields.size == 3 }
|
395
395
|
And do
|
396
396
|
match.match_fields[2].oxm_class ==
|
397
|
-
Pio::OpenFlow13::Match::
|
397
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
398
398
|
end
|
399
399
|
And do
|
400
400
|
match.match_fields[2].oxm_field ==
|
@@ -420,7 +420,7 @@ describe Pio::OpenFlow13::Match do
|
|
420
420
|
And { match.match_fields.size == 2 }
|
421
421
|
And do
|
422
422
|
match.match_fields[1].oxm_class ==
|
423
|
-
Pio::OpenFlow13::Match::
|
423
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
424
424
|
end
|
425
425
|
And do
|
426
426
|
match.match_fields[1].oxm_field ==
|
@@ -446,7 +446,7 @@ describe Pio::OpenFlow13::Match do
|
|
446
446
|
And { match.match_fields.size == 2 }
|
447
447
|
And do
|
448
448
|
match.match_fields[1].oxm_class ==
|
449
|
-
Pio::OpenFlow13::Match::
|
449
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
450
450
|
end
|
451
451
|
And do
|
452
452
|
match.match_fields[1].oxm_field ==
|
@@ -474,7 +474,7 @@ describe Pio::OpenFlow13::Match do
|
|
474
474
|
And { match.match_fields.size == 2 }
|
475
475
|
And do
|
476
476
|
match.match_fields[1].oxm_class ==
|
477
|
-
Pio::OpenFlow13::Match::
|
477
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
478
478
|
end
|
479
479
|
And do
|
480
480
|
match.match_fields[1].oxm_field ==
|
@@ -500,7 +500,7 @@ describe Pio::OpenFlow13::Match do
|
|
500
500
|
And { match.match_fields.size == 2 }
|
501
501
|
And do
|
502
502
|
match.match_fields[1].oxm_class ==
|
503
|
-
Pio::OpenFlow13::Match::
|
503
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
504
504
|
end
|
505
505
|
And do
|
506
506
|
match.match_fields[1].oxm_field ==
|
@@ -528,7 +528,7 @@ describe Pio::OpenFlow13::Match do
|
|
528
528
|
And { match.match_fields.size == 2 }
|
529
529
|
And do
|
530
530
|
match.match_fields[1].oxm_class ==
|
531
|
-
Pio::OpenFlow13::Match::
|
531
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
532
532
|
end
|
533
533
|
And do
|
534
534
|
match.match_fields[1].oxm_field ==
|
@@ -554,7 +554,7 @@ describe Pio::OpenFlow13::Match do
|
|
554
554
|
And { match.match_fields.size == 2 }
|
555
555
|
And do
|
556
556
|
match.match_fields[1].oxm_class ==
|
557
|
-
Pio::OpenFlow13::Match::
|
557
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
558
558
|
end
|
559
559
|
And do
|
560
560
|
match.match_fields[1].oxm_field ==
|
@@ -582,7 +582,7 @@ describe Pio::OpenFlow13::Match do
|
|
582
582
|
And { match.match_fields.size == 2 }
|
583
583
|
And do
|
584
584
|
match.match_fields[1].oxm_class ==
|
585
|
-
Pio::OpenFlow13::Match::
|
585
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
586
586
|
end
|
587
587
|
And do
|
588
588
|
match.match_fields[1].oxm_field ==
|
@@ -608,7 +608,7 @@ describe Pio::OpenFlow13::Match do
|
|
608
608
|
And { match.match_fields.size == 2 }
|
609
609
|
And do
|
610
610
|
match.match_fields[1].oxm_class ==
|
611
|
-
Pio::OpenFlow13::Match::
|
611
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
612
612
|
end
|
613
613
|
And do
|
614
614
|
match.match_fields[1].oxm_field ==
|
@@ -636,7 +636,7 @@ describe Pio::OpenFlow13::Match do
|
|
636
636
|
And { match.match_fields.size == 2 }
|
637
637
|
And do
|
638
638
|
match.match_fields[1].oxm_class ==
|
639
|
-
Pio::OpenFlow13::Match::
|
639
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
640
640
|
end
|
641
641
|
And do
|
642
642
|
match.match_fields[1].oxm_field ==
|
@@ -658,7 +658,7 @@ describe Pio::OpenFlow13::Match do
|
|
658
658
|
And { match.match_fields.size == 1 }
|
659
659
|
And do
|
660
660
|
match.match_fields[0].oxm_class ==
|
661
|
-
Pio::OpenFlow13::Match::
|
661
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
662
662
|
end
|
663
663
|
And do
|
664
664
|
match.match_fields[0].oxm_field ==
|
@@ -684,7 +684,7 @@ describe Pio::OpenFlow13::Match do
|
|
684
684
|
And { match.match_fields.size == 1 }
|
685
685
|
And do
|
686
686
|
match.match_fields[0].oxm_class ==
|
687
|
-
Pio::OpenFlow13::Match::
|
687
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
688
688
|
end
|
689
689
|
And do
|
690
690
|
match.match_fields[0].oxm_field ==
|
@@ -725,7 +725,7 @@ describe Pio::OpenFlow13::Match do
|
|
725
725
|
And { match.match_fields.size == 1 }
|
726
726
|
And do
|
727
727
|
match.match_fields[0].oxm_class ==
|
728
|
-
Pio::OpenFlow13::Match::
|
728
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
729
729
|
end
|
730
730
|
And do
|
731
731
|
match.match_fields[0].oxm_field ==
|
@@ -747,7 +747,7 @@ describe Pio::OpenFlow13::Match do
|
|
747
747
|
And { match.match_fields.size == 1 }
|
748
748
|
And do
|
749
749
|
match.match_fields[0].oxm_class ==
|
750
|
-
Pio::OpenFlow13::Match::
|
750
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
751
751
|
end
|
752
752
|
And do
|
753
753
|
match.match_fields[0].oxm_field ==
|
@@ -769,7 +769,7 @@ describe Pio::OpenFlow13::Match do
|
|
769
769
|
And { match.match_fields.size == 1 }
|
770
770
|
And do
|
771
771
|
match.match_fields[0].oxm_class ==
|
772
|
-
Pio::OpenFlow13::Match::
|
772
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
773
773
|
end
|
774
774
|
And do
|
775
775
|
match.match_fields[0].oxm_field ==
|
@@ -792,7 +792,7 @@ describe Pio::OpenFlow13::Match do
|
|
792
792
|
And { match.match_fields.size == 1 }
|
793
793
|
And do
|
794
794
|
match.match_fields[0].oxm_class ==
|
795
|
-
Pio::OpenFlow13::Match::
|
795
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
796
796
|
end
|
797
797
|
And do
|
798
798
|
match.match_fields[0].oxm_field ==
|
@@ -815,7 +815,7 @@ describe Pio::OpenFlow13::Match do
|
|
815
815
|
And { match.match_fields.size == 1 }
|
816
816
|
And do
|
817
817
|
match.match_fields[0].oxm_class ==
|
818
|
-
Pio::OpenFlow13::Match::
|
818
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
819
819
|
end
|
820
820
|
And do
|
821
821
|
match.match_fields[0].oxm_field ==
|
@@ -837,7 +837,7 @@ describe Pio::OpenFlow13::Match do
|
|
837
837
|
And { match.match_fields.size == 1 }
|
838
838
|
And do
|
839
839
|
match.match_fields[0].oxm_class ==
|
840
|
-
Pio::OpenFlow13::Match::
|
840
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
841
841
|
end
|
842
842
|
And do
|
843
843
|
match.match_fields[0].oxm_field ==
|
@@ -859,7 +859,7 @@ describe Pio::OpenFlow13::Match do
|
|
859
859
|
And { match.match_fields.size == 1 }
|
860
860
|
And do
|
861
861
|
match.match_fields[0].oxm_class ==
|
862
|
-
Pio::OpenFlow13::Match::
|
862
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
863
863
|
end
|
864
864
|
And do
|
865
865
|
match.match_fields[0].oxm_field ==
|
@@ -881,7 +881,7 @@ describe Pio::OpenFlow13::Match do
|
|
881
881
|
And { match.match_fields.size == 2 }
|
882
882
|
And do
|
883
883
|
match.match_fields[0].oxm_class ==
|
884
|
-
Pio::OpenFlow13::Match::
|
884
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
885
885
|
end
|
886
886
|
And do
|
887
887
|
match.match_fields[0].oxm_field ==
|
@@ -903,7 +903,7 @@ describe Pio::OpenFlow13::Match do
|
|
903
903
|
And { match.match_fields.size == 2 }
|
904
904
|
And do
|
905
905
|
match.match_fields[1].oxm_class ==
|
906
|
-
Pio::OpenFlow13::Match::
|
906
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
907
907
|
end
|
908
908
|
And do
|
909
909
|
match.match_fields[1].oxm_field ==
|
@@ -925,7 +925,7 @@ describe Pio::OpenFlow13::Match do
|
|
925
925
|
And { match.match_fields.size == 2 }
|
926
926
|
And do
|
927
927
|
match.match_fields[1].oxm_class ==
|
928
|
-
Pio::OpenFlow13::Match::
|
928
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
929
929
|
end
|
930
930
|
And do
|
931
931
|
match.match_fields[1].oxm_field ==
|
@@ -948,7 +948,7 @@ describe Pio::OpenFlow13::Match do
|
|
948
948
|
And { match.match_fields.size == 2 }
|
949
949
|
And do
|
950
950
|
match.match_fields[0].oxm_class ==
|
951
|
-
Pio::OpenFlow13::Match::
|
951
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
952
952
|
end
|
953
953
|
And do
|
954
954
|
match.match_fields[0].oxm_field ==
|
@@ -958,7 +958,7 @@ describe Pio::OpenFlow13::Match do
|
|
958
958
|
And { match.match_fields[0].oxm_length == 2 }
|
959
959
|
And do
|
960
960
|
match.match_fields[1].oxm_class ==
|
961
|
-
Pio::OpenFlow13::Match::
|
961
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
962
962
|
end
|
963
963
|
And do
|
964
964
|
match.match_fields[1].oxm_field ==
|
@@ -981,7 +981,7 @@ describe Pio::OpenFlow13::Match do
|
|
981
981
|
And { match.match_fields.size == 2 }
|
982
982
|
And do
|
983
983
|
match.match_fields[0].oxm_class ==
|
984
|
-
Pio::OpenFlow13::Match::
|
984
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
985
985
|
end
|
986
986
|
And do
|
987
987
|
match.match_fields[0].oxm_field ==
|
@@ -991,7 +991,7 @@ describe Pio::OpenFlow13::Match do
|
|
991
991
|
And { match.match_fields[0].oxm_length == 2 }
|
992
992
|
And do
|
993
993
|
match.match_fields[1].oxm_class ==
|
994
|
-
Pio::OpenFlow13::Match::
|
994
|
+
Pio::OpenFlow13::Match::OpenFlowBasicValue::OXM_CLASS
|
995
995
|
end
|
996
996
|
And do
|
997
997
|
match.match_fields[1].oxm_field ==
|