pio 0.18.2 → 0.19.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 +3 -0
- data/README.md +40 -344
- data/Rakefile +32 -0
- data/bin/_guard-core +16 -0
- data/bin/byebug +16 -0
- data/bin/cc-tddium-post-worker +16 -0
- data/bin/cdiff +16 -0
- data/bin/coderay +16 -0
- data/bin/colortab +16 -0
- data/bin/coveralls +16 -0
- data/bin/cucumber +16 -0
- data/bin/decolor +16 -0
- data/bin/flay +16 -0
- data/bin/flog +16 -0
- data/bin/guard +16 -0
- data/bin/htmldiff +16 -0
- data/bin/inch +16 -0
- data/bin/ldiff +16 -0
- data/bin/listen +16 -0
- data/bin/minitar +16 -0
- data/bin/pry +16 -0
- data/bin/rake +16 -0
- data/bin/reek +16 -0
- data/bin/relish +16 -0
- data/bin/restclient +16 -0
- data/bin/rspec +16 -0
- data/bin/rubocop +16 -0
- data/bin/ruby-parse +16 -0
- data/bin/ruby-rewrite +16 -0
- data/bin/ruby_parse +16 -0
- data/bin/ruby_parse_extract_error +16 -0
- data/bin/sparkr +16 -0
- data/bin/term_display +16 -0
- data/bin/term_mandel +16 -0
- data/bin/thor +16 -0
- data/bin/unparser +16 -0
- data/bin/yard +16 -0
- data/bin/yardoc +16 -0
- data/bin/yri +16 -0
- data/features/arp.feature +61 -0
- data/features/dhcp.feature +4 -0
- data/features/icmp.feature +130 -0
- data/features/lldp.feature +47 -0
- data/features/open_flow10/echo_reply.feature +95 -0
- data/features/open_flow10/echo_request.feature +95 -0
- data/features/open_flow10/exact_match.feature +36 -0
- data/features/{features_read.feature → open_flow10/features_reply.feature} +54 -17
- data/features/open_flow10/features_request.feature +79 -0
- data/features/{flow_mod_read.feature → open_flow10/flow_mod.feature} +16 -21
- data/features/open_flow10/hello.feature +79 -0
- data/features/open_flow10/packet_in.feature +58 -0
- data/features/{packet_out_read.feature → open_flow10/packet_out.feature} +4 -5
- data/features/open_flow10/port_status.feature +23 -0
- data/features/open_flow13/echo_reply.feature +115 -0
- data/features/open_flow13/echo_request.feature +115 -0
- data/features/open_flow13/hello.feature +74 -0
- data/features/packet_data/echo13_reply_body.raw +0 -0
- data/features/packet_data/echo13_reply_no_body.raw +0 -0
- data/features/packet_data/echo13_request_body.raw +0 -0
- data/features/packet_data/echo13_request_no_body.raw +0 -0
- data/features/packet_data/hello13_no_version_bitmap.raw +0 -0
- data/features/packet_data/hello13_version_bitmap.raw +0 -0
- data/features/packet_data/udp_no_payload.raw +0 -0
- data/features/packet_data/udp_with_payload.raw +0 -0
- data/features/step_definitions/packet_data_steps.rb +49 -29
- data/features/support/env.rb +3 -0
- data/features/{udp_read.feature → udp.feature} +3 -4
- data/lib/pio.rb +1 -0
- data/lib/pio/echo.rb +67 -0
- data/lib/pio/hello13.rb +111 -0
- data/lib/pio/open_flow/message.rb +2 -1
- data/lib/pio/open_flow/open_flow_header.rb +21 -38
- data/lib/pio/open_flow/transaction_id.rb +25 -0
- data/lib/pio/version.rb +1 -1
- data/pio.gemspec +9 -14
- data/spec/pio/flow_mod_spec.rb +1 -1
- data/spec/pio/hello13_spec.rb +114 -0
- metadata +182 -138
- data/examples/arp_new.rb +0 -16
- data/examples/arp_read.rb +0 -4
- data/examples/dhcp_new.rb +0 -34
- data/examples/dhcp_read.rb +0 -4
- data/examples/echo_new.rb +0 -9
- data/examples/echo_read.rb +0 -4
- data/examples/features_new.rb +0 -28
- data/examples/features_read.rb +0 -4
- data/examples/flow_mod_new.rb +0 -13
- data/examples/flow_mod_read.rb +0 -6
- data/examples/hello_new.rb +0 -4
- data/examples/hello_read.rb +0 -4
- data/examples/icmp_new.rb +0 -21
- data/examples/icmp_read.rb +0 -4
- data/examples/lldp_new.rb +0 -4
- data/examples/lldp_read.rb +0 -4
- data/examples/packet_in_new.rb +0 -17
- data/examples/packet_in_read.rb +0 -5
- data/examples/packet_out_new.rb +0 -18
- data/examples/packet_out_read.rb +0 -6
- data/features/arp_read.feature +0 -10
- data/features/dhcp_read.feature +0 -6
- data/features/echo_read.feature +0 -29
- data/features/exact_match.feature +0 -38
- data/features/hello_read.feature +0 -14
- data/features/icmp_read.feature +0 -55
- data/features/lldp_read.feature +0 -26
- data/features/packet_in_read.feature +0 -22
- data/features/port_status_read.feature +0 -24
- data/features/step_definitions/pending_steps.rb +0 -3
- data/spec/pio/echo/reply_spec.rb +0 -135
- data/spec/pio/echo/request_spec.rb +0 -137
- data/spec/pio/features/reply_spec.rb +0 -137
- data/spec/pio/features/request_spec.rb +0 -112
- data/spec/pio/hello_spec.rb +0 -106
- data/spec/pio/lldp_spec.rb +0 -244
- data/spec/pio/packet_in_spec.rb +0 -146
data/pio.gemspec
CHANGED
|
@@ -22,13 +22,7 @@ Gem::Specification.new do |gem|
|
|
|
22
22
|
|
|
23
23
|
gem.require_paths = ['lib']
|
|
24
24
|
|
|
25
|
-
gem.extra_rdoc_files =
|
|
26
|
-
[
|
|
27
|
-
'README.md',
|
|
28
|
-
'CHANGELOG.md',
|
|
29
|
-
'LICENSE',
|
|
30
|
-
'CONTRIBUTING.md'
|
|
31
|
-
]
|
|
25
|
+
gem.extra_rdoc_files = %w(README.md CHANGELOG.md LICENSE CONTRIBUTING.md)
|
|
32
26
|
gem.test_files = Dir.glob('spec/**/*')
|
|
33
27
|
gem.test_files += Dir.glob('features/**/*')
|
|
34
28
|
|
|
@@ -37,13 +31,13 @@ Gem::Specification.new do |gem|
|
|
|
37
31
|
gem.add_dependency 'bindata', '~> 2.1.0'
|
|
38
32
|
|
|
39
33
|
gem.add_development_dependency 'rake'
|
|
40
|
-
gem.add_development_dependency 'bundler', '~> 1.
|
|
34
|
+
gem.add_development_dependency 'bundler', '~> 1.9.2'
|
|
41
35
|
gem.add_development_dependency 'pry', '~> 0.10.1'
|
|
42
36
|
|
|
43
37
|
# Guard
|
|
44
|
-
gem.add_development_dependency 'guard', '~> 2.12.
|
|
38
|
+
gem.add_development_dependency 'guard', '~> 2.12.5'
|
|
45
39
|
gem.add_development_dependency 'guard-bundler', '~> 2.1.0'
|
|
46
|
-
gem.add_development_dependency 'guard-cucumber', '~> 1.
|
|
40
|
+
gem.add_development_dependency 'guard-cucumber', '~> 1.6.0'
|
|
47
41
|
gem.add_development_dependency 'guard-rspec', '~> 4.5.0'
|
|
48
42
|
gem.add_development_dependency 'guard-rubocop', '~> 1.2.0'
|
|
49
43
|
gem.add_development_dependency 'rb-fchange', '~> 0.0.6'
|
|
@@ -53,16 +47,17 @@ Gem::Specification.new do |gem|
|
|
|
53
47
|
|
|
54
48
|
# Docs
|
|
55
49
|
gem.add_development_dependency 'inch', '~> 0.5.10'
|
|
50
|
+
gem.add_development_dependency 'relish', '~> 0.7.1'
|
|
56
51
|
gem.add_development_dependency 'yard', '~> 0.8.7.6'
|
|
57
52
|
|
|
58
53
|
# Test
|
|
59
54
|
gem.add_development_dependency 'codeclimate-test-reporter', '~> 0.4.7'
|
|
60
|
-
gem.add_development_dependency 'coveralls', '~> 0.
|
|
61
|
-
gem.add_development_dependency 'cucumber', '~>
|
|
55
|
+
gem.add_development_dependency 'coveralls', '~> 0.8.0'
|
|
56
|
+
gem.add_development_dependency 'cucumber', '~> 2.0.0'
|
|
62
57
|
gem.add_development_dependency 'flay', '~> 2.6.1'
|
|
63
58
|
gem.add_development_dependency 'flog', '~> 4.3.2'
|
|
64
|
-
gem.add_development_dependency 'reek', '~> 2.0.
|
|
59
|
+
gem.add_development_dependency 'reek', '~> 2.0.4'
|
|
65
60
|
gem.add_development_dependency 'rspec', '~> 3.2.0'
|
|
66
61
|
gem.add_development_dependency 'rspec-given', '~> 3.7.0'
|
|
67
|
-
gem.add_development_dependency 'rubocop', '~> 0.
|
|
62
|
+
gem.add_development_dependency 'rubocop', '~> 0.30.0'
|
|
68
63
|
end
|
data/spec/pio/flow_mod_spec.rb
CHANGED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
require 'pio/hello13'
|
|
2
|
+
|
|
3
|
+
describe Pio::Hello13 do
|
|
4
|
+
describe '.read' do
|
|
5
|
+
When(:result) { Pio::Hello13.read(binary) }
|
|
6
|
+
|
|
7
|
+
context 'with a hello message (no version bitmap)' do
|
|
8
|
+
Given(:binary) { [4, 0, 0, 8, 0, 0, 0, 0].pack('C*') }
|
|
9
|
+
|
|
10
|
+
Then { result.class == Pio::Hello13 }
|
|
11
|
+
Then { result.ofp_version == 4 }
|
|
12
|
+
Then { result.message_type == 0 }
|
|
13
|
+
Then { result.message_length == 8 }
|
|
14
|
+
Then { result.transaction_id == 0 }
|
|
15
|
+
Then { result.xid == 0 }
|
|
16
|
+
Then { result.supported_versions.empty? }
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
context 'with a hello message' do
|
|
20
|
+
Given(:binary) do
|
|
21
|
+
[4, 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 18].pack('C*')
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
Then { result.class == Pio::Hello13 }
|
|
25
|
+
Then { result.ofp_version == 4 }
|
|
26
|
+
Then { result.message_type == 0 }
|
|
27
|
+
Then { result.message_length == 16 }
|
|
28
|
+
Then { result.transaction_id == 0 }
|
|
29
|
+
Then { result.xid == 0 }
|
|
30
|
+
Then { result.supported_versions == [:open_flow10, :open_flow13] }
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
context 'with a hello message (OpenFlow 1.0)' do
|
|
34
|
+
Given(:binary) { [1, 0, 0, 8, 0, 0, 0, 0].pack('C*') }
|
|
35
|
+
|
|
36
|
+
Then { result == Failure(Pio::ParseError, 'Invalid Hello 1.3 message.') }
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe '.new' do
|
|
41
|
+
context 'with no arguments' do
|
|
42
|
+
When(:result) { Pio::Hello13.new }
|
|
43
|
+
|
|
44
|
+
Then { result.ofp_version == 4 }
|
|
45
|
+
Then { result.message_type == 0 }
|
|
46
|
+
Then { result.message_length == 16 }
|
|
47
|
+
Then { result.transaction_id == 0 }
|
|
48
|
+
Then { result.xid == 0 }
|
|
49
|
+
Then { result.supported_versions == [:open_flow13] }
|
|
50
|
+
Then do
|
|
51
|
+
result.to_binary ==
|
|
52
|
+
[4, 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 16].pack('C*')
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
context 'with transaction_id: 123' do
|
|
57
|
+
When(:result) { Pio::Hello13.new(transaction_id: 123) }
|
|
58
|
+
|
|
59
|
+
Then { result.ofp_version == 4 }
|
|
60
|
+
Then { result.message_type == 0 }
|
|
61
|
+
Then { result.message_length == 16 }
|
|
62
|
+
Then { result.transaction_id == 123 }
|
|
63
|
+
Then { result.xid == 123 }
|
|
64
|
+
Then { result.supported_versions == [:open_flow13] }
|
|
65
|
+
Then do
|
|
66
|
+
result.to_binary ==
|
|
67
|
+
[4, 0, 0, 16, 0, 0, 0, 123, 0, 1, 0, 8, 0, 0, 0, 16].pack('C*')
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
context 'with xid: 123' do
|
|
72
|
+
When(:result) { Pio::Hello13.new(xid: 123) }
|
|
73
|
+
|
|
74
|
+
Then { result.ofp_version == 4 }
|
|
75
|
+
Then { result.message_type == 0 }
|
|
76
|
+
Then { result.message_length == 16 }
|
|
77
|
+
Then { result.transaction_id == 123 }
|
|
78
|
+
Then { result.xid == 123 }
|
|
79
|
+
Then { result.supported_versions == [:open_flow13] }
|
|
80
|
+
Then do
|
|
81
|
+
result.to_binary ==
|
|
82
|
+
[4, 0, 0, 16, 0, 0, 0, 123, 0, 1, 0, 8, 0, 0, 0, 16].pack('C*')
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
context 'with xid: -1' do
|
|
87
|
+
When(:result) { Pio::Hello13.new(xid: -1) }
|
|
88
|
+
|
|
89
|
+
Then do
|
|
90
|
+
result ==
|
|
91
|
+
Failure(ArgumentError,
|
|
92
|
+
'Transaction ID should be an unsigned 32-bit integer.')
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
context 'with xid: 2**32' do
|
|
97
|
+
When(:result) { Pio::Hello13.new(xid: 2**32) }
|
|
98
|
+
|
|
99
|
+
Then do
|
|
100
|
+
result ==
|
|
101
|
+
Failure(ArgumentError,
|
|
102
|
+
'Transaction ID should be an unsigned 32-bit integer.')
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
context 'with invalid_keyword: :foo' do
|
|
107
|
+
When(:result) { Pio::Hello13.new(invalid_keyword: :foo) }
|
|
108
|
+
|
|
109
|
+
Then do
|
|
110
|
+
result == Failure(RuntimeError, 'Unknown keyword: invalid_keyword')
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pio
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.19.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yasuhito Takamiya
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-04-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bindata
|
|
@@ -44,14 +44,14 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - ~>
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.
|
|
47
|
+
version: 1.9.2
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - ~>
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 1.
|
|
54
|
+
version: 1.9.2
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: pry
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - ~>
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 2.12.
|
|
75
|
+
version: 2.12.5
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - ~>
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 2.12.
|
|
82
|
+
version: 2.12.5
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: guard-bundler
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -100,14 +100,14 @@ dependencies:
|
|
|
100
100
|
requirements:
|
|
101
101
|
- - ~>
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: 1.
|
|
103
|
+
version: 1.6.0
|
|
104
104
|
type: :development
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
108
|
- - ~>
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: 1.
|
|
110
|
+
version: 1.6.0
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
112
|
name: guard-rspec
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -206,6 +206,20 @@ dependencies:
|
|
|
206
206
|
- - ~>
|
|
207
207
|
- !ruby/object:Gem::Version
|
|
208
208
|
version: 0.5.10
|
|
209
|
+
- !ruby/object:Gem::Dependency
|
|
210
|
+
name: relish
|
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
|
212
|
+
requirements:
|
|
213
|
+
- - ~>
|
|
214
|
+
- !ruby/object:Gem::Version
|
|
215
|
+
version: 0.7.1
|
|
216
|
+
type: :development
|
|
217
|
+
prerelease: false
|
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
219
|
+
requirements:
|
|
220
|
+
- - ~>
|
|
221
|
+
- !ruby/object:Gem::Version
|
|
222
|
+
version: 0.7.1
|
|
209
223
|
- !ruby/object:Gem::Dependency
|
|
210
224
|
name: yard
|
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -240,28 +254,28 @@ dependencies:
|
|
|
240
254
|
requirements:
|
|
241
255
|
- - ~>
|
|
242
256
|
- !ruby/object:Gem::Version
|
|
243
|
-
version: 0.
|
|
257
|
+
version: 0.8.0
|
|
244
258
|
type: :development
|
|
245
259
|
prerelease: false
|
|
246
260
|
version_requirements: !ruby/object:Gem::Requirement
|
|
247
261
|
requirements:
|
|
248
262
|
- - ~>
|
|
249
263
|
- !ruby/object:Gem::Version
|
|
250
|
-
version: 0.
|
|
264
|
+
version: 0.8.0
|
|
251
265
|
- !ruby/object:Gem::Dependency
|
|
252
266
|
name: cucumber
|
|
253
267
|
requirement: !ruby/object:Gem::Requirement
|
|
254
268
|
requirements:
|
|
255
269
|
- - ~>
|
|
256
270
|
- !ruby/object:Gem::Version
|
|
257
|
-
version:
|
|
271
|
+
version: 2.0.0
|
|
258
272
|
type: :development
|
|
259
273
|
prerelease: false
|
|
260
274
|
version_requirements: !ruby/object:Gem::Requirement
|
|
261
275
|
requirements:
|
|
262
276
|
- - ~>
|
|
263
277
|
- !ruby/object:Gem::Version
|
|
264
|
-
version:
|
|
278
|
+
version: 2.0.0
|
|
265
279
|
- !ruby/object:Gem::Dependency
|
|
266
280
|
name: flay
|
|
267
281
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -296,14 +310,14 @@ dependencies:
|
|
|
296
310
|
requirements:
|
|
297
311
|
- - ~>
|
|
298
312
|
- !ruby/object:Gem::Version
|
|
299
|
-
version: 2.0.
|
|
313
|
+
version: 2.0.4
|
|
300
314
|
type: :development
|
|
301
315
|
prerelease: false
|
|
302
316
|
version_requirements: !ruby/object:Gem::Requirement
|
|
303
317
|
requirements:
|
|
304
318
|
- - ~>
|
|
305
319
|
- !ruby/object:Gem::Version
|
|
306
|
-
version: 2.0.
|
|
320
|
+
version: 2.0.4
|
|
307
321
|
- !ruby/object:Gem::Dependency
|
|
308
322
|
name: rspec
|
|
309
323
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -338,14 +352,14 @@ dependencies:
|
|
|
338
352
|
requirements:
|
|
339
353
|
- - ~>
|
|
340
354
|
- !ruby/object:Gem::Version
|
|
341
|
-
version: 0.
|
|
355
|
+
version: 0.30.0
|
|
342
356
|
type: :development
|
|
343
357
|
prerelease: false
|
|
344
358
|
version_requirements: !ruby/object:Gem::Requirement
|
|
345
359
|
requirements:
|
|
346
360
|
- - ~>
|
|
347
361
|
- !ruby/object:Gem::Version
|
|
348
|
-
version: 0.
|
|
362
|
+
version: 0.30.0
|
|
349
363
|
description: Pure ruby packet parser and generator.
|
|
350
364
|
email:
|
|
351
365
|
- yasuhito@gmail.com
|
|
@@ -362,35 +376,59 @@ files:
|
|
|
362
376
|
- LICENSE
|
|
363
377
|
- README.md
|
|
364
378
|
- Rakefile
|
|
365
|
-
-
|
|
366
|
-
-
|
|
367
|
-
-
|
|
368
|
-
-
|
|
369
|
-
-
|
|
370
|
-
-
|
|
371
|
-
-
|
|
372
|
-
-
|
|
373
|
-
-
|
|
374
|
-
-
|
|
375
|
-
-
|
|
376
|
-
-
|
|
377
|
-
-
|
|
378
|
-
-
|
|
379
|
-
-
|
|
380
|
-
-
|
|
381
|
-
-
|
|
382
|
-
-
|
|
383
|
-
-
|
|
384
|
-
-
|
|
385
|
-
-
|
|
386
|
-
-
|
|
387
|
-
-
|
|
388
|
-
-
|
|
389
|
-
-
|
|
390
|
-
-
|
|
391
|
-
-
|
|
392
|
-
-
|
|
393
|
-
-
|
|
379
|
+
- bin/_guard-core
|
|
380
|
+
- bin/byebug
|
|
381
|
+
- bin/cc-tddium-post-worker
|
|
382
|
+
- bin/cdiff
|
|
383
|
+
- bin/coderay
|
|
384
|
+
- bin/colortab
|
|
385
|
+
- bin/coveralls
|
|
386
|
+
- bin/cucumber
|
|
387
|
+
- bin/decolor
|
|
388
|
+
- bin/flay
|
|
389
|
+
- bin/flog
|
|
390
|
+
- bin/guard
|
|
391
|
+
- bin/htmldiff
|
|
392
|
+
- bin/inch
|
|
393
|
+
- bin/ldiff
|
|
394
|
+
- bin/listen
|
|
395
|
+
- bin/minitar
|
|
396
|
+
- bin/pry
|
|
397
|
+
- bin/rake
|
|
398
|
+
- bin/reek
|
|
399
|
+
- bin/relish
|
|
400
|
+
- bin/restclient
|
|
401
|
+
- bin/rspec
|
|
402
|
+
- bin/rubocop
|
|
403
|
+
- bin/ruby-parse
|
|
404
|
+
- bin/ruby-rewrite
|
|
405
|
+
- bin/ruby_parse
|
|
406
|
+
- bin/ruby_parse_extract_error
|
|
407
|
+
- bin/sparkr
|
|
408
|
+
- bin/term_display
|
|
409
|
+
- bin/term_mandel
|
|
410
|
+
- bin/thor
|
|
411
|
+
- bin/unparser
|
|
412
|
+
- bin/yard
|
|
413
|
+
- bin/yardoc
|
|
414
|
+
- bin/yri
|
|
415
|
+
- features/arp.feature
|
|
416
|
+
- features/dhcp.feature
|
|
417
|
+
- features/icmp.feature
|
|
418
|
+
- features/lldp.feature
|
|
419
|
+
- features/open_flow10/echo_reply.feature
|
|
420
|
+
- features/open_flow10/echo_request.feature
|
|
421
|
+
- features/open_flow10/exact_match.feature
|
|
422
|
+
- features/open_flow10/features_reply.feature
|
|
423
|
+
- features/open_flow10/features_request.feature
|
|
424
|
+
- features/open_flow10/flow_mod.feature
|
|
425
|
+
- features/open_flow10/hello.feature
|
|
426
|
+
- features/open_flow10/packet_in.feature
|
|
427
|
+
- features/open_flow10/packet_out.feature
|
|
428
|
+
- features/open_flow10/port_status.feature
|
|
429
|
+
- features/open_flow13/echo_reply.feature
|
|
430
|
+
- features/open_flow13/echo_request.feature
|
|
431
|
+
- features/open_flow13/hello.feature
|
|
394
432
|
- features/packet_data/aggregate_stats_reply.raw
|
|
395
433
|
- features/packet_data/aggregate_stats_request.raw
|
|
396
434
|
- features/packet_data/arp-storm.pcap
|
|
@@ -400,6 +438,10 @@ files:
|
|
|
400
438
|
- features/packet_data/desc_stats_reply.raw
|
|
401
439
|
- features/packet_data/desc_stats_request.raw
|
|
402
440
|
- features/packet_data/dhcp.pcap
|
|
441
|
+
- features/packet_data/echo13_reply_body.raw
|
|
442
|
+
- features/packet_data/echo13_reply_no_body.raw
|
|
443
|
+
- features/packet_data/echo13_request_body.raw
|
|
444
|
+
- features/packet_data/echo13_request_no_body.raw
|
|
403
445
|
- features/packet_data/echo_reply.raw
|
|
404
446
|
- features/packet_data/echo_request.raw
|
|
405
447
|
- features/packet_data/error.raw
|
|
@@ -416,6 +458,8 @@ files:
|
|
|
416
458
|
- features/packet_data/get_config_reply.raw
|
|
417
459
|
- features/packet_data/get_config_request.raw
|
|
418
460
|
- features/packet_data/hello.raw
|
|
461
|
+
- features/packet_data/hello13_no_version_bitmap.raw
|
|
462
|
+
- features/packet_data/hello13_version_bitmap.raw
|
|
419
463
|
- features/packet_data/icmp.pcap
|
|
420
464
|
- features/packet_data/lldp.detailed.pcap
|
|
421
465
|
- features/packet_data/lldp.minimal.pcap
|
|
@@ -431,15 +475,13 @@ files:
|
|
|
431
475
|
- features/packet_data/set_config.raw
|
|
432
476
|
- features/packet_data/table_stats_reply.raw
|
|
433
477
|
- features/packet_data/table_stats_request.raw
|
|
478
|
+
- features/packet_data/udp_no_payload.raw
|
|
479
|
+
- features/packet_data/udp_with_payload.raw
|
|
434
480
|
- features/packet_data/vendor.raw
|
|
435
481
|
- features/packet_data/vendor_stats_request.raw
|
|
436
|
-
- features/packet_in_read.feature
|
|
437
|
-
- features/packet_out_read.feature
|
|
438
|
-
- features/port_status_read.feature
|
|
439
482
|
- features/step_definitions/packet_data_steps.rb
|
|
440
|
-
- features/step_definitions/pending_steps.rb
|
|
441
483
|
- features/support/env.rb
|
|
442
|
-
- features/
|
|
484
|
+
- features/udp.feature
|
|
443
485
|
- lib/pio.rb
|
|
444
486
|
- lib/pio/arp.rb
|
|
445
487
|
- lib/pio/arp/format.rb
|
|
@@ -471,6 +513,7 @@ files:
|
|
|
471
513
|
- lib/pio/features.rb
|
|
472
514
|
- lib/pio/flow_mod.rb
|
|
473
515
|
- lib/pio/hello.rb
|
|
516
|
+
- lib/pio/hello13.rb
|
|
474
517
|
- lib/pio/icmp.rb
|
|
475
518
|
- lib/pio/icmp/format.rb
|
|
476
519
|
- lib/pio/icmp/message.rb
|
|
@@ -505,6 +548,7 @@ files:
|
|
|
505
548
|
- lib/pio/open_flow/open_flow_header.rb
|
|
506
549
|
- lib/pio/open_flow/phy_port.rb
|
|
507
550
|
- lib/pio/open_flow/port_number.rb
|
|
551
|
+
- lib/pio/open_flow/transaction_id.rb
|
|
508
552
|
- lib/pio/options.rb
|
|
509
553
|
- lib/pio/packet_in.rb
|
|
510
554
|
- lib/pio/packet_out.rb
|
|
@@ -537,24 +581,18 @@ files:
|
|
|
537
581
|
- spec/pio/dhcp/offer_spec.rb
|
|
538
582
|
- spec/pio/dhcp/request_spec.rb
|
|
539
583
|
- spec/pio/dhcp_spec.rb
|
|
540
|
-
- spec/pio/echo/reply_spec.rb
|
|
541
|
-
- spec/pio/echo/request_spec.rb
|
|
542
584
|
- spec/pio/enqueue_spec.rb
|
|
543
|
-
- spec/pio/features/reply_spec.rb
|
|
544
|
-
- spec/pio/features/request_spec.rb
|
|
545
585
|
- spec/pio/flow_mod_spec.rb
|
|
546
|
-
- spec/pio/
|
|
586
|
+
- spec/pio/hello13_spec.rb
|
|
547
587
|
- spec/pio/icmp/reply_spec.rb
|
|
548
588
|
- spec/pio/icmp/request_spec.rb
|
|
549
589
|
- spec/pio/icmp_spec.rb
|
|
550
590
|
- spec/pio/ipv4_address_spec.rb
|
|
551
591
|
- spec/pio/lldp/options_spec.rb
|
|
552
|
-
- spec/pio/lldp_spec.rb
|
|
553
592
|
- spec/pio/mac_spec.rb
|
|
554
593
|
- spec/pio/match_spec.rb
|
|
555
594
|
- spec/pio/open_flow/phy_port_spec.rb
|
|
556
595
|
- spec/pio/open_flow/type_spec.rb
|
|
557
|
-
- spec/pio/packet_in_spec.rb
|
|
558
596
|
- spec/pio/packet_out_spec.rb
|
|
559
597
|
- spec/pio/send_out_port_spec.rb
|
|
560
598
|
- spec/pio/set_eth_dst_addr_spec.rb
|
|
@@ -589,109 +627,115 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
589
627
|
version: '0'
|
|
590
628
|
requirements: []
|
|
591
629
|
rubyforge_project:
|
|
592
|
-
rubygems_version: 2.4.
|
|
630
|
+
rubygems_version: 2.4.5
|
|
593
631
|
signing_key:
|
|
594
632
|
specification_version: 4
|
|
595
633
|
summary: Packet parser and generator.
|
|
596
634
|
test_files:
|
|
597
|
-
- spec/pio/set_eth_src_addr_spec.rb
|
|
598
|
-
- spec/pio/features/request_spec.rb
|
|
599
|
-
- spec/pio/features/reply_spec.rb
|
|
600
|
-
- spec/pio/set_vlan_vid_spec.rb
|
|
601
|
-
- spec/pio/set_transport_dst_port_spec.rb
|
|
602
|
-
- spec/pio/strip_vlan_header_spec.rb
|
|
603
|
-
- spec/pio/ipv4_address_spec.rb
|
|
604
|
-
- spec/pio/open_flow/type_spec.rb
|
|
605
|
-
- spec/pio/open_flow/phy_port_spec.rb
|
|
606
|
-
- spec/pio/enqueue_spec.rb
|
|
607
|
-
- spec/pio/hello_spec.rb
|
|
608
|
-
- spec/pio/set_ip_src_addr_spec.rb
|
|
609
|
-
- spec/pio/dhcp/request_spec.rb
|
|
610
|
-
- spec/pio/dhcp/offer_spec.rb
|
|
611
|
-
- spec/pio/dhcp/ack_spec.rb
|
|
612
|
-
- spec/pio/dhcp/discover_spec.rb
|
|
613
|
-
- spec/pio/set_transport_src_port_spec.rb
|
|
614
|
-
- spec/pio/arp/request_spec.rb
|
|
615
635
|
- spec/pio/arp/reply/options_spec.rb
|
|
616
|
-
- spec/pio/arp/request/options_spec.rb
|
|
617
636
|
- spec/pio/arp/reply_spec.rb
|
|
637
|
+
- spec/pio/arp/request/options_spec.rb
|
|
638
|
+
- spec/pio/arp/request_spec.rb
|
|
639
|
+
- spec/pio/arp_spec.rb
|
|
640
|
+
- spec/pio/dhcp/ack_spec.rb
|
|
641
|
+
- spec/pio/dhcp/discover_spec.rb
|
|
642
|
+
- spec/pio/dhcp/offer_spec.rb
|
|
643
|
+
- spec/pio/dhcp/request_spec.rb
|
|
644
|
+
- spec/pio/dhcp_spec.rb
|
|
645
|
+
- spec/pio/enqueue_spec.rb
|
|
618
646
|
- spec/pio/flow_mod_spec.rb
|
|
619
|
-
- spec/pio/
|
|
620
|
-
- spec/pio/set_vlan_priority_spec.rb
|
|
621
|
-
- spec/pio/set_ip_dst_addr_spec.rb
|
|
622
|
-
- spec/pio/mac_spec.rb
|
|
623
|
-
- spec/pio/icmp/request_spec.rb
|
|
647
|
+
- spec/pio/hello13_spec.rb
|
|
624
648
|
- spec/pio/icmp/reply_spec.rb
|
|
649
|
+
- spec/pio/icmp/request_spec.rb
|
|
625
650
|
- spec/pio/icmp_spec.rb
|
|
626
|
-
- spec/pio/
|
|
627
|
-
- spec/pio/
|
|
628
|
-
- spec/pio/
|
|
629
|
-
- spec/pio/send_out_port_spec.rb
|
|
630
|
-
- spec/pio/packet_in_spec.rb
|
|
631
|
-
- spec/pio/lldp_spec.rb
|
|
632
|
-
- spec/pio/arp_spec.rb
|
|
633
|
-
- spec/pio/echo/request_spec.rb
|
|
634
|
-
- spec/pio/echo/reply_spec.rb
|
|
635
|
-
- spec/pio/set_eth_dst_addr_spec.rb
|
|
651
|
+
- spec/pio/ipv4_address_spec.rb
|
|
652
|
+
- spec/pio/lldp/options_spec.rb
|
|
653
|
+
- spec/pio/mac_spec.rb
|
|
636
654
|
- spec/pio/match_spec.rb
|
|
655
|
+
- spec/pio/open_flow/phy_port_spec.rb
|
|
656
|
+
- spec/pio/open_flow/type_spec.rb
|
|
637
657
|
- spec/pio/packet_out_spec.rb
|
|
658
|
+
- spec/pio/send_out_port_spec.rb
|
|
659
|
+
- spec/pio/set_eth_dst_addr_spec.rb
|
|
660
|
+
- spec/pio/set_eth_src_addr_spec.rb
|
|
661
|
+
- spec/pio/set_ip_dst_addr_spec.rb
|
|
662
|
+
- spec/pio/set_ip_src_addr_spec.rb
|
|
663
|
+
- spec/pio/set_ip_tos_spec.rb
|
|
664
|
+
- spec/pio/set_transport_dst_port_spec.rb
|
|
665
|
+
- spec/pio/set_transport_src_port_spec.rb
|
|
666
|
+
- spec/pio/set_vlan_priority_spec.rb
|
|
667
|
+
- spec/pio/set_vlan_vid_spec.rb
|
|
668
|
+
- spec/pio/strip_vlan_header_spec.rb
|
|
669
|
+
- spec/pio/wildcards_spec.rb
|
|
638
670
|
- spec/spec_helper.rb
|
|
639
|
-
- features/
|
|
640
|
-
- features/
|
|
641
|
-
- features/
|
|
671
|
+
- features/arp.feature
|
|
672
|
+
- features/dhcp.feature
|
|
673
|
+
- features/icmp.feature
|
|
674
|
+
- features/lldp.feature
|
|
675
|
+
- features/open_flow10/echo_reply.feature
|
|
676
|
+
- features/open_flow10/echo_request.feature
|
|
677
|
+
- features/open_flow10/exact_match.feature
|
|
678
|
+
- features/open_flow10/features_reply.feature
|
|
679
|
+
- features/open_flow10/features_request.feature
|
|
680
|
+
- features/open_flow10/flow_mod.feature
|
|
681
|
+
- features/open_flow10/hello.feature
|
|
682
|
+
- features/open_flow10/packet_in.feature
|
|
683
|
+
- features/open_flow10/packet_out.feature
|
|
684
|
+
- features/open_flow10/port_status.feature
|
|
685
|
+
- features/open_flow13/echo_reply.feature
|
|
686
|
+
- features/open_flow13/echo_request.feature
|
|
687
|
+
- features/open_flow13/hello.feature
|
|
688
|
+
- features/packet_data/aggregate_stats_reply.raw
|
|
689
|
+
- features/packet_data/aggregate_stats_request.raw
|
|
690
|
+
- features/packet_data/arp-storm.pcap
|
|
691
|
+
- features/packet_data/arp.pcap
|
|
692
|
+
- features/packet_data/barrier_reply.raw
|
|
693
|
+
- features/packet_data/barrier_request.raw
|
|
642
694
|
- features/packet_data/desc_stats_reply.raw
|
|
695
|
+
- features/packet_data/desc_stats_request.raw
|
|
643
696
|
- features/packet_data/dhcp.pcap
|
|
697
|
+
- features/packet_data/echo13_reply_body.raw
|
|
698
|
+
- features/packet_data/echo13_reply_no_body.raw
|
|
699
|
+
- features/packet_data/echo13_request_body.raw
|
|
700
|
+
- features/packet_data/echo13_request_no_body.raw
|
|
644
701
|
- features/packet_data/echo_reply.raw
|
|
645
|
-
- features/packet_data/
|
|
646
|
-
- features/packet_data/
|
|
702
|
+
- features/packet_data/echo_request.raw
|
|
703
|
+
- features/packet_data/error.raw
|
|
647
704
|
- features/packet_data/features_reply.raw
|
|
648
|
-
- features/packet_data/aggregate_stats_reply.raw
|
|
649
|
-
- features/packet_data/queue_get_config_reply.raw
|
|
650
|
-
- features/packet_data/arp.pcap
|
|
651
705
|
- features/packet_data/features_request.raw
|
|
652
|
-
- features/packet_data/
|
|
653
|
-
- features/packet_data/
|
|
654
|
-
- features/packet_data/port_stats_request.raw
|
|
706
|
+
- features/packet_data/flow_mod_add.raw
|
|
707
|
+
- features/packet_data/flow_mod_delete.raw
|
|
655
708
|
- features/packet_data/flow_mod_delete_strict.raw
|
|
656
|
-
- features/packet_data/
|
|
657
|
-
- features/packet_data/
|
|
658
|
-
- features/packet_data/
|
|
659
|
-
- features/packet_data/
|
|
709
|
+
- features/packet_data/flow_mod_modify.raw
|
|
710
|
+
- features/packet_data/flow_mod_modify_strict.raw
|
|
711
|
+
- features/packet_data/flow_removed.raw
|
|
712
|
+
- features/packet_data/flow_stats_reply.raw
|
|
713
|
+
- features/packet_data/flow_stats_request.raw
|
|
660
714
|
- features/packet_data/get_config_reply.raw
|
|
661
|
-
- features/packet_data/
|
|
715
|
+
- features/packet_data/get_config_request.raw
|
|
662
716
|
- features/packet_data/hello.raw
|
|
663
|
-
- features/packet_data/
|
|
664
|
-
- features/packet_data/
|
|
665
|
-
- features/packet_data/
|
|
666
|
-
- features/packet_data/
|
|
667
|
-
- features/packet_data/
|
|
717
|
+
- features/packet_data/hello13_no_version_bitmap.raw
|
|
718
|
+
- features/packet_data/hello13_version_bitmap.raw
|
|
719
|
+
- features/packet_data/icmp.pcap
|
|
720
|
+
- features/packet_data/lldp.detailed.pcap
|
|
721
|
+
- features/packet_data/lldp.minimal.pcap
|
|
722
|
+
- features/packet_data/packet_in_arp_request.raw
|
|
668
723
|
- features/packet_data/packet_in_cbench.raw
|
|
724
|
+
- features/packet_data/packet_out.raw
|
|
725
|
+
- features/packet_data/port_mod.raw
|
|
726
|
+
- features/packet_data/port_stats_reply.raw
|
|
727
|
+
- features/packet_data/port_stats_request.raw
|
|
728
|
+
- features/packet_data/port_status.raw
|
|
729
|
+
- features/packet_data/queue_get_config_reply.raw
|
|
669
730
|
- features/packet_data/queue_get_config_request.raw
|
|
670
|
-
- features/packet_data/
|
|
671
|
-
- features/packet_data/
|
|
672
|
-
- features/packet_data/icmp.pcap
|
|
673
|
-
- features/packet_data/arp-storm.pcap
|
|
674
|
-
- features/packet_data/flow_stats_reply.raw
|
|
675
|
-
- features/packet_data/desc_stats_request.raw
|
|
676
|
-
- features/packet_data/barrier_request.raw
|
|
731
|
+
- features/packet_data/set_config.raw
|
|
732
|
+
- features/packet_data/table_stats_reply.raw
|
|
677
733
|
- features/packet_data/table_stats_request.raw
|
|
678
|
-
- features/packet_data/
|
|
679
|
-
- features/packet_data/
|
|
680
|
-
- features/packet_data/
|
|
681
|
-
- features/packet_data/
|
|
682
|
-
- features/packet_data/aggregate_stats_request.raw
|
|
683
|
-
- features/packet_data/echo_request.raw
|
|
684
|
-
- features/exact_match.feature
|
|
685
|
-
- features/icmp_read.feature
|
|
686
|
-
- features/port_status_read.feature
|
|
687
|
-
- features/arp_read.feature
|
|
688
|
-
- features/step_definitions/pending_steps.rb
|
|
734
|
+
- features/packet_data/udp_no_payload.raw
|
|
735
|
+
- features/packet_data/udp_with_payload.raw
|
|
736
|
+
- features/packet_data/vendor.raw
|
|
737
|
+
- features/packet_data/vendor_stats_request.raw
|
|
689
738
|
- features/step_definitions/packet_data_steps.rb
|
|
690
|
-
- features/
|
|
691
|
-
- features/
|
|
692
|
-
- features/dhcp_read.feature
|
|
693
|
-
- features/features_read.feature
|
|
694
|
-
- features/packet_out_read.feature
|
|
695
|
-
- features/packet_in_read.feature
|
|
696
|
-
- features/echo_read.feature
|
|
739
|
+
- features/support/env.rb
|
|
740
|
+
- features/udp.feature
|
|
697
741
|
has_rdoc:
|