openflow-protocol 0.1.4 → 0.1.6

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.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/lib/messages/echo_reply.rb +6 -0
  3. data/lib/openflow-protocol/version.rb +5 -0
  4. data/spec/actions/action_enqueue_spec.rb +30 -0
  5. data/spec/actions/action_output_spec.rb +29 -0
  6. data/spec/actions/action_set_destination_port_spec.rb +26 -0
  7. data/spec/actions/action_set_ip_destination_spec.rb +25 -0
  8. data/spec/actions/action_set_ip_source_spec.rb +25 -0
  9. data/spec/actions/action_set_ip_tos_spec.rb +26 -0
  10. data/spec/actions/action_set_mac_destination_spec.rb +26 -0
  11. data/spec/actions/action_set_mac_source_spec.rb +26 -0
  12. data/spec/actions/action_set_source_port_spec.rb +26 -0
  13. data/spec/actions/action_set_vlan_id_spec.rb +26 -0
  14. data/spec/actions/action_set_vlan_pcp_spec.rb +26 -0
  15. data/spec/actions/action_strip_vlan_spec.rb +17 -0
  16. data/spec/actions/action_vendor_spec.rb +25 -0
  17. data/spec/actions/actions_spec.rb +33 -0
  18. data/spec/messages/barrier_reply_spec.rb +25 -0
  19. data/spec/messages/barrier_request_spec.rb +25 -0
  20. data/spec/messages/echo_reply_spec.rb +44 -0
  21. data/spec/messages/echo_request_spec.rb +53 -0
  22. data/spec/messages/error_spec.rb +56 -0
  23. data/spec/messages/features_reply_spec.rb +204 -0
  24. data/spec/messages/features_request_spec.rb +25 -0
  25. data/spec/messages/flow_mod_spec.rb +139 -0
  26. data/spec/messages/flow_removed_spec.rb +109 -0
  27. data/spec/messages/get_config_reply_spec.rb +39 -0
  28. data/spec/messages/get_config_request_spec.rb +25 -0
  29. data/spec/messages/hello_spec.rb +25 -0
  30. data/spec/messages/packet_in_spec.rb +76 -0
  31. data/spec/messages/packet_out_spec.rb +56 -0
  32. data/spec/messages/parser_spec.rb +43 -0
  33. data/spec/messages/port_mod_spec.rb +64 -0
  34. data/spec/messages/port_status_spec.rb +52 -0
  35. data/spec/messages/set_config_spec.rb +39 -0
  36. data/spec/messages/statistics_reply_spec.rb +411 -0
  37. data/spec/messages/statistics_request_spec.rb +355 -0
  38. data/spec/messages/vendor_spec.rb +56 -0
  39. data/spec/spec_helper.rb +7 -0
  40. data/spec/statistics/aggregate_statistics_reply_spec.rb +31 -0
  41. data/spec/statistics/aggregate_statistics_request_spec.rb +46 -0
  42. data/spec/statistics/description_statistics_spec.rb +38 -0
  43. data/spec/statistics/flow_statistics_reply_spec.rb +74 -0
  44. data/spec/statistics/flow_statistics_request_spec.rb +46 -0
  45. data/spec/statistics/port_statistics_reply_spec.rb +81 -0
  46. data/spec/statistics/port_statistics_request_spec.rb +19 -0
  47. data/spec/statistics/queue_statistics_reply_spec.rb +42 -0
  48. data/spec/statistics/queue_statistics_request_spec.rb +26 -0
  49. data/spec/statistics/table_statistics_spec.rb +54 -0
  50. data/spec/statistics/vendor_statistics_spec.rb +25 -0
  51. data/spec/structs/match_spec.rb +143 -0
  52. data/spec/structs/physical_port_spec.rb +63 -0
  53. data/spec/structs/port_number_spec.rb +19 -0
  54. metadata +109 -8
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe OFQueueStatisticsRequest do
4
+ it 'should read binary' do
5
+ stats = OFQueueStatisticsRequest.read [
6
+ 0, 1, # port_number
7
+ 0, 0, # padding
8
+ 0, 0, 0, 1 # queue_id
9
+ ].pack('C*')
10
+ expect(stats.port_number).to eq(1)
11
+ expect(stats.queue_id).to eq(1)
12
+ end
13
+ it 'should initialize with default values' do
14
+ stats = OFQueueStatisticsRequest.new
15
+ expect(stats.port_number).to eq(:all)
16
+ expect(stats.queue_id).to eq(:all)
17
+ end
18
+ it 'should initialize with some values' do
19
+ stats = OFQueueStatisticsRequest.new(
20
+ port_number: 1,
21
+ queue_id: 1
22
+ )
23
+ expect(stats.port_number).to eq(1)
24
+ expect(stats.queue_id).to eq(1)
25
+ end
26
+ end
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+
3
+ describe OFTableStatistics do
4
+ it 'should read binary' do
5
+ stats = OFTableStatistics.read [
6
+ 1, # table_id
7
+ 0, 0, 0, # padding
8
+ 116, 97, 98, 108, 101, 45, 49, 0, # name
9
+ 0, 0, 0, 0, 0, 0, 0, 0,
10
+ 0, 0, 0, 0, 0, 0, 0, 0,
11
+ 0, 0, 0, 0, 0, 0, 0, 0,
12
+ 0, 8, 0x20, 1, # wildcards
13
+ 0, 0, 0, 10, # max_entries
14
+ 0, 0, 0, 5, # active_count
15
+ 0, 0, 0, 0, 0, 0, 0, 4, # lookup_count
16
+ 0, 0, 0, 0, 0, 0, 0, 1 # matched_count
17
+ ].pack('C*')
18
+ expect(stats.table_id).to eq(1)
19
+ expect(stats.name).to eq('table-1')
20
+ expect(stats.wildcards).to eq([:in_port, :ip_source_all, :ip_destination_all])
21
+ expect(stats.max_entries).to eq(10)
22
+ expect(stats.active_count).to eq(5)
23
+ expect(stats.lookup_count).to eq(4)
24
+ expect(stats.matched_count).to eq(1)
25
+ end
26
+ it 'should initialize with default values' do
27
+ stats = OFTableStatistics.new
28
+ expect(stats.table_id).to eq(0)
29
+ expect(stats.name).to eq('')
30
+ expect(stats.wildcards).to be_empty
31
+ expect(stats.max_entries).to eq(0)
32
+ expect(stats.active_count).to eq(0)
33
+ expect(stats.lookup_count).to eq(0)
34
+ expect(stats.matched_count).to eq(0)
35
+ end
36
+ it 'should initialize with some values' do
37
+ stats = OFTableStatistics.new(
38
+ table_id: 1,
39
+ name: 'table-1',
40
+ wildcards: [:in_port, :ip_source_all, :ip_destination_all],
41
+ max_entries: 10,
42
+ active_count: 5,
43
+ lookup_count: 4,
44
+ matched_count: 1
45
+ )
46
+ expect(stats.table_id).to eq(1)
47
+ expect(stats.name).to eq('table-1')
48
+ expect(stats.wildcards).to eq([:in_port, :ip_source_all, :ip_destination_all])
49
+ expect(stats.max_entries).to eq(10)
50
+ expect(stats.active_count).to eq(5)
51
+ expect(stats.lookup_count).to eq(4)
52
+ expect(stats.matched_count).to eq(1)
53
+ end
54
+ end
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe OFVendorStatistics do
4
+ it 'should read binary' do
5
+ stats = OFVendorStatistics.read [
6
+ 0, 0, 0, 1, # vendor
7
+ 1, 2, 3, 4 # body
8
+ ].pack('C*')
9
+ expect(stats.vendor).to eq(1)
10
+ expect(stats.body).to eq([1, 2, 3, 4].pack('C*'))
11
+ end
12
+ it 'should initialize with default values' do
13
+ stats = OFVendorStatistics.new
14
+ expect(stats.vendor).to eq(0)
15
+ expect(stats.body).to be_empty
16
+ end
17
+ it 'should initialize with some values' do
18
+ stats = OFVendorStatistics.new(
19
+ vendor: 1,
20
+ body: [1, 2, 3, 4].pack('C*')
21
+ )
22
+ expect(stats.vendor).to eq(1)
23
+ expect(stats.body).to eq([1, 2, 3, 4].pack('C*'))
24
+ end
25
+ end
@@ -0,0 +1,143 @@
1
+ require 'spec_helper'
2
+
3
+ describe OFMatch do
4
+ it 'should read binary' do
5
+ match = OFMatch.read [
6
+ 0, 0x30, 0x20, 0x4f, # wildcards
7
+ 0, 0, # in_port
8
+ 0, 0, 0, 0, 0, 0, # mac_source
9
+ 0, 0, 0, 0, 0, 0, # mac_destination
10
+ 0xff, 0xff, # vlan_id
11
+ 0, # vlan_pcp
12
+ 0, # padding
13
+ 8, 0, # mac_protocol
14
+ 0, # ip_tos
15
+ 6, # ip_protocol
16
+ 0, 0, # padding
17
+ 0, 0, 0, 0, # ip_source
18
+ 192, 168, 0, 2, # ip_destination
19
+ 0, 0, # source_port
20
+ 0x0b, 0xb8 # destination_port
21
+ ].pack('C*')
22
+ expect(match.wildcards).to eq(
23
+ in_port: true,
24
+ vlan_id: true,
25
+ mac_source: true,
26
+ mac_destination: true,
27
+ source_port: true,
28
+ ip_source_all: true,
29
+ vlan_pcp: true,
30
+ ip_tos: true
31
+ )
32
+ expect(match.in_port).to eq(0)
33
+ expect(match.mac_source).to eq('00:00:00:00:00:00')
34
+ expect(match.mac_destination).to eq('00:00:00:00:00:00')
35
+ expect(match.vlan_id).to eq(0xffff)
36
+ expect(match.vlan_pcp).to eq(0)
37
+ expect(match.mac_protocol).to eq(:ipv4)
38
+ expect(match.ip_tos).to eq(0)
39
+ expect(match.ip_protocol).to eq(:tcp)
40
+ expect(match.ip_source).to eq('0.0.0.0')
41
+ expect(match.ip_destination).to eq('192.168.0.2')
42
+ expect(match.source_port).to eq(0)
43
+ expect(match.destination_port).to eq(3000)
44
+ end
45
+ it 'should initialize with default values' do
46
+ match = OFMatch.new
47
+ expect(match.wildcards).to eq(OFMatch::Wildcards::ALL_FLAGS)
48
+ expect(match.in_port).to eq(0)
49
+ expect(match.mac_source).to eq('00:00:00:00:00:00')
50
+ expect(match.mac_destination).to eq('00:00:00:00:00:00')
51
+ expect(match.vlan_id).to eq(0xffff)
52
+ expect(match.vlan_pcp).to eq(0)
53
+ expect(match.mac_protocol).to eq(0)
54
+ expect(match.ip_tos).to eq(0)
55
+ expect(match.ip_protocol).to eq(0)
56
+ expect(match.ip_source).to eq('0.0.0.0')
57
+ expect(match.ip_destination).to eq('0.0.0.0')
58
+ expect(match.source_port).to eq(0)
59
+ expect(match.destination_port).to eq(0)
60
+ end
61
+ it 'should initialize with some values' do
62
+ match = OFMatch.new(
63
+ wildcards: {
64
+ in_port: true,
65
+ mac_source: true,
66
+ mac_destination: true,
67
+ vlan_id: true,
68
+ vlan_pcp: true,
69
+ ip_tos: true,
70
+ ip_source_all: true,
71
+ ip_destination: 16,
72
+ destination_port: true
73
+ },
74
+ mac_protocol: :ipv4,
75
+ ip_protocol: :tcp,
76
+ ip_destination: '192.168.0.2',
77
+ destination_port: 3000
78
+ )
79
+ expect(match.wildcards).to eq(
80
+ in_port: true,
81
+ mac_source: true,
82
+ mac_destination: true,
83
+ vlan_id: true,
84
+ vlan_pcp: true,
85
+ ip_tos: true,
86
+ ip_source_all: true,
87
+ ip_destination: 16,
88
+ destination_port: true
89
+ )
90
+ expect(match.in_port).to eq(0)
91
+ expect(match.mac_source).to eq('00:00:00:00:00:00')
92
+ expect(match.mac_destination).to eq('00:00:00:00:00:00')
93
+ expect(match.vlan_id).to eq(0xffff)
94
+ expect(match.vlan_pcp).to eq(0)
95
+ expect(match.mac_protocol).to eq(:ipv4)
96
+ expect(match.ip_tos).to eq(0)
97
+ expect(match.ip_protocol).to eq(:tcp)
98
+ expect(match.ip_source).to eq('0.0.0.0')
99
+ expect(match.ip_destination).to eq('192.168.0.2')
100
+ expect(match.source_port).to eq(0)
101
+ expect(match.destination_port).to eq(3000)
102
+ end
103
+ it 'should initialize with wildcards as array' do
104
+ match = OFMatch.new(
105
+ wildcards: [:in_port, :mac_source, :mac_destination]
106
+ )
107
+ expect(match.wildcards).to eq(
108
+ in_port: true,
109
+ mac_source: true,
110
+ mac_destination: true
111
+ )
112
+ end
113
+ it 'should initialize wildcards based on matching values given' do
114
+ match = OFMatch.create(
115
+ mac_source: '00:00:00:00:00:01',
116
+ mac_destination: '00:00:00:00:00:02',
117
+ mac_protocol: :ipv4,
118
+ ip_protocol: :udp,
119
+ ip_source: '10.0.0.1',
120
+ ip_destination: '10.0.0.2'
121
+ )
122
+ expect(match.wildcards).to eq(
123
+ in_port: true,
124
+ vlan_id: true,
125
+ source_port: true,
126
+ destination_port: true,
127
+ vlan_pcp: true,
128
+ ip_tos: true
129
+ )
130
+ expect(match.in_port).to eq(0)
131
+ expect(match.mac_source).to eq('00:00:00:00:00:01')
132
+ expect(match.mac_destination).to eq('00:00:00:00:00:02')
133
+ expect(match.vlan_id).to eq(0xffff)
134
+ expect(match.vlan_pcp).to eq(0)
135
+ expect(match.mac_protocol).to eq(:ipv4)
136
+ expect(match.ip_tos).to eq(0)
137
+ expect(match.ip_protocol).to eq(:udp)
138
+ expect(match.ip_source).to eq('10.0.0.1')
139
+ expect(match.ip_destination).to eq('10.0.0.2')
140
+ expect(match.source_port).to eq(0)
141
+ expect(match.destination_port).to eq(0)
142
+ end
143
+ end
@@ -0,0 +1,63 @@
1
+ require 'spec_helper'
2
+
3
+ describe OFPhysicalPort do
4
+ it 'should read binary' do
5
+ phy_port = OFPhysicalPort.read [
6
+ 0, 1, # port_number
7
+ 0, 0, 0, 0, 0, 1, # hardware_address
8
+ 112, 111, 114, 116, # name
9
+ 45, 49, 0, 0,
10
+ 0, 0, 0, 0,
11
+ 0, 0, 0, 0,
12
+ 0, 0, 0, 1, # config
13
+ 0, 0, 0, 1, # state
14
+ 0, 0, 0x0f, 0xff, # current_features
15
+ 0, 0, 0x0f, 0xff, # advertised_features
16
+ 0, 0, 0x0f, 0xff, # supported_features
17
+ 0, 0, 0x0f, 0xff # peer_features
18
+ ].pack('C*')
19
+ expect(phy_port.port_number).to eq(1)
20
+ expect(phy_port.hardware_address).to eq('00:00:00:00:00:01')
21
+ expect(phy_port.name).to eq('port-1')
22
+ expect(phy_port.config).to eq([:port_down])
23
+ expect(phy_port.state).to eq([:link_down])
24
+ expect(phy_port.current_features).to eq(OFPhysicalPort::FEATURES)
25
+ expect(phy_port.advertised_features).to eq(OFPhysicalPort::FEATURES)
26
+ expect(phy_port.supported_features).to eq(OFPhysicalPort::FEATURES)
27
+ expect(phy_port.peer_features).to eq(OFPhysicalPort::FEATURES)
28
+ end
29
+ it 'should initialize with default values' do
30
+ phy_port = OFPhysicalPort.new
31
+ expect(phy_port.port_number).to eq(0)
32
+ expect(phy_port.hardware_address).to eq('00:00:00:00:00:00')
33
+ expect(phy_port.name).to eq('')
34
+ expect(phy_port.config).to be_empty
35
+ expect(phy_port.state).to eq([:spanning_tree_listen])
36
+ expect(phy_port.current_features).to be_empty
37
+ expect(phy_port.advertised_features).to be_empty
38
+ expect(phy_port.supported_features).to be_empty
39
+ expect(phy_port.peer_features).to be_empty
40
+ end
41
+ it 'should initialize with some values' do
42
+ phy_port = OFPhysicalPort.new(
43
+ port_number: 1,
44
+ hardware_address: '00:00:00:00:00:01',
45
+ name: 'port-1',
46
+ config: [:port_down],
47
+ state: [:link_down],
48
+ current_features: OFPhysicalPort::FEATURES,
49
+ advertised_features: OFPhysicalPort::FEATURES,
50
+ supported_features: OFPhysicalPort::FEATURES,
51
+ peer_features: OFPhysicalPort::FEATURES
52
+ )
53
+ expect(phy_port.port_number).to eq(1)
54
+ expect(phy_port.hardware_address).to eq('00:00:00:00:00:01')
55
+ expect(phy_port.name).to eq('port-1')
56
+ expect(phy_port.config).to eq([:port_down])
57
+ expect(phy_port.state).to eq([:link_down])
58
+ expect(phy_port.current_features).to eq(OFPhysicalPort::FEATURES)
59
+ expect(phy_port.advertised_features).to eq(OFPhysicalPort::FEATURES)
60
+ expect(phy_port.supported_features).to eq(OFPhysicalPort::FEATURES)
61
+ expect(phy_port.peer_features).to eq(OFPhysicalPort::FEATURES)
62
+ end
63
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe OFPortNumber do
4
+ it 'should read binary' do
5
+ port_number = OFPortNumber.read [0, 1].pack('C*')
6
+ expect(port_number).to eq(1)
7
+ end
8
+ it 'should initialize with default values' do
9
+ port_number = OFPortNumber.new
10
+ expect(port_number).to eq(:none)
11
+ end
12
+ it 'should initialize with some values' do
13
+ port_number = OFPortNumber.new(:local)
14
+ expect(port_number).to eq(:local)
15
+ end
16
+ it 'should raise an error with invalid port' do
17
+ expect { OFPortNumber.new(0xff01) }.to raise_error(ArgumentError)
18
+ end
19
+ end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openflow-protocol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jérémy Pagé
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-02 00:00:00.000000000 Z
11
+ date: 2016-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: packet-protocols
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0.1'
19
+ version: 0.1.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '0.1'
26
+ version: 0.1.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -85,6 +85,7 @@ files:
85
85
  - lib/messages/statistics_request.rb
86
86
  - lib/messages/vendor.rb
87
87
  - lib/openflow-protocol.rb
88
+ - lib/openflow-protocol/version.rb
88
89
  - lib/statistics/aggregate_statistics_reply.rb
89
90
  - lib/statistics/aggregate_statistics_request.rb
90
91
  - lib/statistics/description_statistics.rb
@@ -99,6 +100,56 @@ files:
99
100
  - lib/structs/match.rb
100
101
  - lib/structs/physical_port.rb
101
102
  - lib/structs/port_number.rb
103
+ - spec/actions/action_enqueue_spec.rb
104
+ - spec/actions/action_output_spec.rb
105
+ - spec/actions/action_set_destination_port_spec.rb
106
+ - spec/actions/action_set_ip_destination_spec.rb
107
+ - spec/actions/action_set_ip_source_spec.rb
108
+ - spec/actions/action_set_ip_tos_spec.rb
109
+ - spec/actions/action_set_mac_destination_spec.rb
110
+ - spec/actions/action_set_mac_source_spec.rb
111
+ - spec/actions/action_set_source_port_spec.rb
112
+ - spec/actions/action_set_vlan_id_spec.rb
113
+ - spec/actions/action_set_vlan_pcp_spec.rb
114
+ - spec/actions/action_strip_vlan_spec.rb
115
+ - spec/actions/action_vendor_spec.rb
116
+ - spec/actions/actions_spec.rb
117
+ - spec/messages/barrier_reply_spec.rb
118
+ - spec/messages/barrier_request_spec.rb
119
+ - spec/messages/echo_reply_spec.rb
120
+ - spec/messages/echo_request_spec.rb
121
+ - spec/messages/error_spec.rb
122
+ - spec/messages/features_reply_spec.rb
123
+ - spec/messages/features_request_spec.rb
124
+ - spec/messages/flow_mod_spec.rb
125
+ - spec/messages/flow_removed_spec.rb
126
+ - spec/messages/get_config_reply_spec.rb
127
+ - spec/messages/get_config_request_spec.rb
128
+ - spec/messages/hello_spec.rb
129
+ - spec/messages/packet_in_spec.rb
130
+ - spec/messages/packet_out_spec.rb
131
+ - spec/messages/parser_spec.rb
132
+ - spec/messages/port_mod_spec.rb
133
+ - spec/messages/port_status_spec.rb
134
+ - spec/messages/set_config_spec.rb
135
+ - spec/messages/statistics_reply_spec.rb
136
+ - spec/messages/statistics_request_spec.rb
137
+ - spec/messages/vendor_spec.rb
138
+ - spec/spec_helper.rb
139
+ - spec/statistics/aggregate_statistics_reply_spec.rb
140
+ - spec/statistics/aggregate_statistics_request_spec.rb
141
+ - spec/statistics/description_statistics_spec.rb
142
+ - spec/statistics/flow_statistics_reply_spec.rb
143
+ - spec/statistics/flow_statistics_request_spec.rb
144
+ - spec/statistics/port_statistics_reply_spec.rb
145
+ - spec/statistics/port_statistics_request_spec.rb
146
+ - spec/statistics/queue_statistics_reply_spec.rb
147
+ - spec/statistics/queue_statistics_request_spec.rb
148
+ - spec/statistics/table_statistics_spec.rb
149
+ - spec/statistics/vendor_statistics_spec.rb
150
+ - spec/structs/match_spec.rb
151
+ - spec/structs/physical_port_spec.rb
152
+ - spec/structs/port_number_spec.rb
102
153
  homepage: https://github.com/jejepage/openflow-protocol
103
154
  licenses:
104
155
  - MIT
@@ -119,8 +170,58 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
170
  version: '0'
120
171
  requirements: []
121
172
  rubyforge_project:
122
- rubygems_version: 2.4.8
173
+ rubygems_version: 2.5.1
123
174
  signing_key:
124
175
  specification_version: 4
125
176
  summary: OpenFlow Protocol
126
- test_files: []
177
+ test_files:
178
+ - spec/actions/action_enqueue_spec.rb
179
+ - spec/actions/action_output_spec.rb
180
+ - spec/actions/action_set_destination_port_spec.rb
181
+ - spec/actions/action_set_ip_destination_spec.rb
182
+ - spec/actions/action_set_ip_source_spec.rb
183
+ - spec/actions/action_set_ip_tos_spec.rb
184
+ - spec/actions/action_set_mac_destination_spec.rb
185
+ - spec/actions/action_set_mac_source_spec.rb
186
+ - spec/actions/action_set_source_port_spec.rb
187
+ - spec/actions/action_set_vlan_id_spec.rb
188
+ - spec/actions/action_set_vlan_pcp_spec.rb
189
+ - spec/actions/action_strip_vlan_spec.rb
190
+ - spec/actions/action_vendor_spec.rb
191
+ - spec/actions/actions_spec.rb
192
+ - spec/messages/barrier_reply_spec.rb
193
+ - spec/messages/barrier_request_spec.rb
194
+ - spec/messages/echo_reply_spec.rb
195
+ - spec/messages/echo_request_spec.rb
196
+ - spec/messages/error_spec.rb
197
+ - spec/messages/features_reply_spec.rb
198
+ - spec/messages/features_request_spec.rb
199
+ - spec/messages/flow_mod_spec.rb
200
+ - spec/messages/flow_removed_spec.rb
201
+ - spec/messages/get_config_reply_spec.rb
202
+ - spec/messages/get_config_request_spec.rb
203
+ - spec/messages/hello_spec.rb
204
+ - spec/messages/packet_in_spec.rb
205
+ - spec/messages/packet_out_spec.rb
206
+ - spec/messages/parser_spec.rb
207
+ - spec/messages/port_mod_spec.rb
208
+ - spec/messages/port_status_spec.rb
209
+ - spec/messages/set_config_spec.rb
210
+ - spec/messages/statistics_reply_spec.rb
211
+ - spec/messages/statistics_request_spec.rb
212
+ - spec/messages/vendor_spec.rb
213
+ - spec/spec_helper.rb
214
+ - spec/statistics/aggregate_statistics_reply_spec.rb
215
+ - spec/statistics/aggregate_statistics_request_spec.rb
216
+ - spec/statistics/description_statistics_spec.rb
217
+ - spec/statistics/flow_statistics_reply_spec.rb
218
+ - spec/statistics/flow_statistics_request_spec.rb
219
+ - spec/statistics/port_statistics_reply_spec.rb
220
+ - spec/statistics/port_statistics_request_spec.rb
221
+ - spec/statistics/queue_statistics_reply_spec.rb
222
+ - spec/statistics/queue_statistics_request_spec.rb
223
+ - spec/statistics/table_statistics_spec.rb
224
+ - spec/statistics/vendor_statistics_spec.rb
225
+ - spec/structs/match_spec.rb
226
+ - spec/structs/physical_port_spec.rb
227
+ - spec/structs/port_number_spec.rb