pio 0.25.0 → 0.26.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/README.md +4 -0
- data/Rakefile +1 -1
- data/bin/terminal-notifier +16 -0
- data/features/open_flow10/bad_request.feature +35 -0
- data/features/open_flow10/bad_request.raw +0 -0
- 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 +13 -13
- data/features/open_flow10/echo_request.feature +6 -6
- data/features/open_flow10/enqueue.feature +17 -0
- data/features/open_flow10/features_reply.feature +2 -2
- data/features/open_flow10/features_request.feature +28 -28
- data/features/open_flow10/flow_mod.feature +5 -5
- data/features/open_flow10/flow_stats_reply.feature +12 -12
- data/features/open_flow10/flow_stats_request.feature +3 -3
- data/features/open_flow10/hello.feature +8 -15
- data/features/open_flow10/hello_failed.feature +69 -0
- data/features/open_flow10/hello_failed.raw +0 -0
- data/features/open_flow10/nxast_learn.raw +0 -0
- data/features/open_flow10/packet_in.feature +2 -2
- data/features/open_flow10/packet_out.feature +13 -13
- data/features/open_flow10/port_status.feature +1 -1
- data/features/open_flow10/send_out_port.feature +106 -0
- data/features/open_flow10/set_ether_destination_address.feature +16 -0
- data/features/open_flow10/set_ether_source_address.feature +16 -0
- data/features/open_flow10/set_ip_destination_address.feature +16 -0
- data/features/open_flow10/set_ip_source_address.feature +16 -0
- data/features/open_flow10/set_ip_tos.feature +16 -0
- data/features/open_flow10/set_transport_destination_port.feature +16 -0
- data/features/open_flow10/set_transport_source_port.feature +16 -0
- data/features/open_flow10/set_vlan_priority.feature +16 -0
- data/features/open_flow10/set_vlan_vid.feature +16 -0
- data/features/open_flow10/strip_vlan_header.feature +15 -0
- data/features/open_flow10/vendor_action.feature +14 -0
- data/features/open_flow13/bad_request.feature +35 -0
- data/features/open_flow13/bad_request.raw +0 -0
- 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 +28 -28
- data/features/open_flow13/flow_mod.feature +24 -24
- data/features/open_flow13/hello.feature +5 -5
- data/features/open_flow13/hello_failed.feature +69 -0
- data/features/open_flow13/hello_failed.raw +0 -0
- 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 +101 -10
- data/features/open_flow13/table_stats_reply.raw +0 -0
- data/features/open_flow13/table_stats_request.raw +0 -0
- data/features/open_flow_read.feature +6 -0
- data/features/step_definitions/Gemfile +9 -0
- data/features/step_definitions/Gemfile.lock +76 -0
- data/features/step_definitions/Guardfile +4 -0
- data/features/step_definitions/LICENSE +675 -0
- data/features/step_definitions/README.md +7 -0
- data/features/step_definitions/Rakefile +10 -0
- data/features/step_definitions/dump_flows_steps.rb +13 -0
- data/features/step_definitions/packet_data_steps.rb +4 -0
- data/features/step_definitions/rest_api_steps.rb +40 -0
- data/features/step_definitions/show_stats_steps.rb +83 -0
- data/features/step_definitions/trema_steps.rb +33 -0
- data/features/step_definitions/virtual_link_steps.rb +8 -0
- data/lib/pio/open_flow.rb +5 -5
- data/lib/pio/open_flow/echo.rb +1 -1
- data/lib/pio/open_flow/error.rb +19 -0
- data/lib/pio/open_flow/format.rb +2 -1
- data/lib/pio/open_flow/hello_failed_code.rb +21 -0
- data/lib/pio/open_flow/open_flow_header.rb +11 -2
- data/lib/pio/open_flow/port.rb +69 -0
- data/lib/pio/open_flow10.rb +5 -0
- data/lib/pio/open_flow10/actions.rb +8 -6
- data/lib/pio/open_flow10/enqueue.rb +13 -13
- data/lib/pio/open_flow10/error.rb +28 -0
- data/lib/pio/open_flow10/error/bad_request.rb +66 -0
- data/lib/pio/open_flow10/error/error_type10.rb +26 -0
- data/lib/pio/open_flow10/error/hello_failed.rb +41 -0
- data/lib/pio/open_flow10/features.rb +6 -10
- data/lib/pio/open_flow10/flow_mod.rb +1 -1
- data/lib/pio/open_flow10/flow_stats_request.rb +1 -1
- data/lib/pio/open_flow10/hello.rb +2 -2
- data/lib/pio/open_flow10/match.rb +2 -2
- data/lib/pio/{open_flow/phy_port.rb → open_flow10/phy_port16.rb} +4 -4
- data/lib/pio/open_flow10/port16.rb +21 -0
- data/lib/pio/open_flow10/port_status.rb +1 -1
- data/lib/pio/open_flow10/send_out_port.rb +16 -40
- data/lib/pio/open_flow10/set_ether_address.rb +9 -8
- data/lib/pio/open_flow10/set_ip_address.rb +4 -4
- data/lib/pio/open_flow10/set_ip_tos.rb +4 -4
- data/lib/pio/open_flow10/set_transport_port.rb +12 -12
- data/lib/pio/open_flow10/set_vlan.rb +4 -4
- data/lib/pio/open_flow10/set_vlan_vid.rb +0 -12
- data/lib/pio/open_flow10/strip_vlan_header.rb +7 -7
- data/lib/pio/open_flow10/vendor_action.rb +33 -0
- data/lib/pio/open_flow13.rb +3 -0
- data/lib/pio/open_flow13/actions.rb +3 -3
- data/lib/pio/open_flow13/error.rb +28 -0
- data/lib/pio/open_flow13/error/bad_request.rb +66 -0
- data/lib/pio/open_flow13/error/error_type13.rb +37 -0
- data/lib/pio/open_flow13/error/hello_failed.rb +42 -0
- data/lib/pio/open_flow13/features_reply.rb +33 -33
- data/lib/pio/open_flow13/features_request.rb +3 -3
- data/lib/pio/open_flow13/flow_mod.rb +2 -2
- data/lib/pio/open_flow13/goto_table.rb +2 -0
- data/lib/pio/open_flow13/packet_out.rb +1 -1
- data/lib/pio/open_flow13/port32.rb +21 -0
- data/lib/pio/open_flow13/send_out_port.rb +3 -2
- data/lib/pio/version.rb +1 -1
- data/pio.gemspec +5 -5
- data/spec/pio/open_flow10/enqueue_spec.rb +22 -22
- data/spec/pio/open_flow10/error/hello_failed_spec.rb +26 -0
- data/spec/pio/open_flow10/flow_mod_spec.rb +6 -6
- data/spec/pio/open_flow10/flow_stats_request_spec.rb +1 -1
- data/spec/pio/open_flow10/hello_spec.rb +3 -3
- data/spec/pio/open_flow10/packet_out_spec.rb +33 -33
- data/spec/pio/{open_flow/phy_port_spec.rb → open_flow10/phy_port16_spec.rb} +7 -7
- data/spec/pio/open_flow10/send_out_port_spec.rb +28 -28
- data/spec/pio/open_flow10/set_ether_destination_address_spec.rb +2 -2
- data/spec/pio/open_flow10/set_ether_source_address_spec.rb +2 -2
- data/spec/pio/open_flow10/set_ip_destination_address_spec.rb +4 -4
- data/spec/pio/open_flow10/set_ip_source_address_spec.rb +4 -4
- data/spec/pio/open_flow10/set_ip_tos_spec.rb +4 -4
- data/spec/pio/open_flow10/set_transport_destination_port_spec.rb +11 -11
- data/spec/pio/open_flow10/set_transport_source_port_spec.rb +11 -11
- data/spec/pio/open_flow10/set_vlan_priority_spec.rb +4 -4
- data/spec/pio/open_flow10/set_vlan_vid_spec.rb +4 -4
- data/spec/pio/open_flow10/strip_vlan_header_spec.rb +6 -6
- data/spec/pio/open_flow13/error/bad_request_spec.rb +6 -0
- data/spec/pio/open_flow13/error/hello_failed_spec.rb +26 -0
- data/spec/pio/open_flow13/hello_spec.rb +3 -3
- data/spec/support/shared_examples_for_openflow_messages.rb +40 -27
- metadata +106 -16
- data/lib/pio/open_flow/port_number.rb +0 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97e01dadf109d6b2d380ce8a5594f28e74ef1ad5
|
4
|
+
data.tar.gz: e66083b080b1734bd0d080a9d8ebc7ea20b2113d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4be4e2c7008ef74af834e751ddb540e81e82282ac53384049da01767106f13eb55741a658968dbb4a661b40d4bcf999724105a55932c848dd78415c96a3372d
|
7
|
+
data.tar.gz: c7e70a342c16e90f4a167cfaca3e3898367a604d26fa188958d44c8e1d8ce78b59b7f749dcfcbfa07bf19b28c6cf1651348afd1620bda7b00c9065086400b317
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,14 @@
|
|
3
3
|
## develop (unreleased)
|
4
4
|
|
5
5
|
|
6
|
+
## 0.26.0 (9/8/2015)
|
7
|
+
### New features
|
8
|
+
* [#214](https://github.com/trema/pio/pull/214): Add new class `Pio::OpenFlow10::Error::HelloFailed`.
|
9
|
+
* [#215](https://github.com/trema/pio/pull/215): Add new class `Pio::OpenFlow13::Error::HelloFailed`.
|
10
|
+
* [#216](https://github.com/trema/pio/pull/216): Add new class `Pio::OpenFlow10::Error::BadRequest`.
|
11
|
+
* [#217](https://github.com/trema/pio/pull/217): Add new class `Pio::OpenFlow13::Error::BadRequest`.
|
12
|
+
|
13
|
+
|
6
14
|
## 0.25.0 (8/6/2015)
|
7
15
|
### New features
|
8
16
|
* [#211](https://github.com/trema/pio/pull/211): Add new classes `Pio::FlowStats::Request` and `Pio::FlowStats::Reply`.
|
data/README.md
CHANGED
@@ -20,6 +20,8 @@ supports the following packet formats:
|
|
20
20
|
- [UDP](https://relishapp.com/trema/pio/docs/pio-udp)
|
21
21
|
- OpenFlow 1.0
|
22
22
|
- [Hello](https://relishapp.com/trema/pio/docs/open-flow10/pio-hello)
|
23
|
+
- [HelloFailed](https://relishapp.com/trema/pio/docs/open-flow10/pio-error-hellofailed)
|
24
|
+
- [BadRequest](https://relishapp.com/trema/pio/docs/open-flow10/pio-error-badrequest)
|
23
25
|
- [Echo Request](https://relishapp.com/trema/pio/docs/open-flow10/pio-echo-request)
|
24
26
|
- [Echo Reply](https://relishapp.com/trema/pio/docs/open-flow10/pio-echo-reply)
|
25
27
|
- [Features Request](https://relishapp.com/trema/pio/docs/open-flow10/pio-features-request)
|
@@ -35,6 +37,8 @@ supports the following packet formats:
|
|
35
37
|
- [Flow Stats Reply](https://relishapp.com/trema/pio/docs/open-flow10/pio-flowstats-reply)
|
36
38
|
- OpenFlow 1.3
|
37
39
|
- [Hello](https://relishapp.com/trema/pio/docs/open-flow13/pio-hello)
|
40
|
+
- [HelloFailed](https://relishapp.com/trema/pio/docs/open-flow13/pio-error-hellofailed)
|
41
|
+
- [BadRequest](https://relishapp.com/trema/pio/docs/open-flow13/pio-error-badrequest)
|
38
42
|
- [Echo Request](https://relishapp.com/trema/pio/docs/open-flow13/pio-echo-request)
|
39
43
|
- [Echo Reply](https://relishapp.com/trema/pio/docs/open-flow13/pio-echo-reply)
|
40
44
|
- [Features Request](https://relishapp.com/trema/pio/docs/open-flow13/pio-features-request)
|
data/Rakefile
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# This file was generated by Bundler.
|
4
|
+
#
|
5
|
+
# The application 'terminal-notifier' is installed as part of a gem, and
|
6
|
+
# this file is here to facilitate running it.
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'pathname'
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'bundler/setup'
|
15
|
+
|
16
|
+
load Gem.bin_path('terminal-notifier', 'terminal-notifier')
|
@@ -0,0 +1,35 @@
|
|
1
|
+
@open_flow10
|
2
|
+
Feature: Pio::Error::BadRequest
|
3
|
+
|
4
|
+
Request was not understood error.
|
5
|
+
|
6
|
+
Scenario: new (raw_data = Echo request 1.3)
|
7
|
+
When I try to create an OpenFlow message with:
|
8
|
+
"""
|
9
|
+
Pio::Error::BadRequest.new(raw_data: Pio::OpenFlow13::Echo::Request.new.to_binary)
|
10
|
+
"""
|
11
|
+
Then it should finish successfully
|
12
|
+
And the message has the following fields and values:
|
13
|
+
| field | value |
|
14
|
+
| ofp_version | 1 |
|
15
|
+
| message_type | 1 |
|
16
|
+
| length | 20 |
|
17
|
+
| transaction_id | 0 |
|
18
|
+
| xid | 0 |
|
19
|
+
| error_type | :bad_request |
|
20
|
+
| error_code | :bad_version |
|
21
|
+
| raw_data.length | 8 |
|
22
|
+
|
23
|
+
Scenario: read
|
24
|
+
When I try to parse a file named "open_flow10/bad_request.raw" with "Pio::Error::BadRequest" class
|
25
|
+
Then it should finish successfully
|
26
|
+
And the message has the following fields and values:
|
27
|
+
| field | value |
|
28
|
+
| ofp_version | 1 |
|
29
|
+
| message_type | 1 |
|
30
|
+
| length | 20 |
|
31
|
+
| transaction_id | 0 |
|
32
|
+
| xid | 0 |
|
33
|
+
| error_type | :bad_request |
|
34
|
+
| error_code | :bad_version |
|
35
|
+
| raw_data.length | 8 |
|
Binary file
|
@@ -10,7 +10,7 @@ Feature: Pio::Barrier::Reply
|
|
10
10
|
| field | value |
|
11
11
|
| ofp_version | 1 |
|
12
12
|
| message_type | 19 |
|
13
|
-
|
|
13
|
+
| length | 8 |
|
14
14
|
| transaction_id | 0 |
|
15
15
|
| xid | 0 |
|
16
16
|
| body | |
|
@@ -25,7 +25,7 @@ Feature: Pio::Barrier::Reply
|
|
25
25
|
| field | value |
|
26
26
|
| ofp_version | 1 |
|
27
27
|
| message_type | 19 |
|
28
|
-
|
|
28
|
+
| length | 8 |
|
29
29
|
| transaction_id | 123 |
|
30
30
|
| xid | 123 |
|
31
31
|
| body | |
|
@@ -40,7 +40,7 @@ Feature: Pio::Barrier::Reply
|
|
40
40
|
| field | value |
|
41
41
|
| ofp_version | 1 |
|
42
42
|
| message_type | 19 |
|
43
|
-
|
|
43
|
+
| length | 8 |
|
44
44
|
| transaction_id | 123 |
|
45
45
|
| xid | 123 |
|
46
46
|
| body | |
|
@@ -52,7 +52,7 @@ Feature: Pio::Barrier::Reply
|
|
52
52
|
| field | value |
|
53
53
|
| ofp_version | 1 |
|
54
54
|
| message_type | 19 |
|
55
|
-
|
|
55
|
+
| length | 8 |
|
56
56
|
| transaction_id | 0 |
|
57
57
|
| xid | 0 |
|
58
58
|
| body | |
|
@@ -10,7 +10,7 @@ Feature: Pio::Barrier::Request
|
|
10
10
|
| field | value |
|
11
11
|
| ofp_version | 1 |
|
12
12
|
| message_type | 18 |
|
13
|
-
|
|
13
|
+
| length | 8 |
|
14
14
|
| transaction_id | 0 |
|
15
15
|
| xid | 0 |
|
16
16
|
| body | |
|
@@ -25,7 +25,7 @@ Feature: Pio::Barrier::Request
|
|
25
25
|
| field | value |
|
26
26
|
| ofp_version | 1 |
|
27
27
|
| message_type | 18 |
|
28
|
-
|
|
28
|
+
| length | 8 |
|
29
29
|
| transaction_id | 123 |
|
30
30
|
| xid | 123 |
|
31
31
|
| body | |
|
@@ -40,7 +40,7 @@ Feature: Pio::Barrier::Request
|
|
40
40
|
| field | value |
|
41
41
|
| ofp_version | 1 |
|
42
42
|
| message_type | 18 |
|
43
|
-
|
|
43
|
+
| length | 8 |
|
44
44
|
| transaction_id | 123 |
|
45
45
|
| xid | 123 |
|
46
46
|
| body | |
|
@@ -52,7 +52,7 @@ Feature: Pio::Barrier::Request
|
|
52
52
|
| field | value |
|
53
53
|
| ofp_version | 1 |
|
54
54
|
| message_type | 18 |
|
55
|
-
|
|
55
|
+
| length | 8 |
|
56
56
|
| transaction_id | 0 |
|
57
57
|
| xid | 0 |
|
58
58
|
| body | |
|
@@ -10,7 +10,7 @@ Feature: Pio::Echo::Reply
|
|
10
10
|
| field | value |
|
11
11
|
| ofp_version | 1 |
|
12
12
|
| message_type | 3 |
|
13
|
-
|
|
13
|
+
| length | 8 |
|
14
14
|
| transaction_id | 0 |
|
15
15
|
| xid | 0 |
|
16
16
|
| body | |
|
@@ -26,7 +26,7 @@ Feature: Pio::Echo::Reply
|
|
26
26
|
| field | value |
|
27
27
|
| ofp_version | 1 |
|
28
28
|
| message_type | 3 |
|
29
|
-
|
|
29
|
+
| length | 8 |
|
30
30
|
| transaction_id | 123 |
|
31
31
|
| xid | 123 |
|
32
32
|
| body | |
|
@@ -42,7 +42,7 @@ Feature: Pio::Echo::Reply
|
|
42
42
|
| field | value |
|
43
43
|
| ofp_version | 1 |
|
44
44
|
| message_type | 3 |
|
45
|
-
|
|
45
|
+
| length | 8 |
|
46
46
|
| transaction_id | 123 |
|
47
47
|
| xid | 123 |
|
48
48
|
| body | |
|
@@ -65,7 +65,7 @@ Feature: Pio::Echo::Reply
|
|
65
65
|
| field | value |
|
66
66
|
| ofp_version | 1 |
|
67
67
|
| message_type | 3 |
|
68
|
-
|
|
68
|
+
| length | 23 |
|
69
69
|
| transaction_id | 0 |
|
70
70
|
| xid | 0 |
|
71
71
|
| body | echo reply body |
|
@@ -81,7 +81,7 @@ Feature: Pio::Echo::Reply
|
|
81
81
|
| field | value |
|
82
82
|
| ofp_version | 1 |
|
83
83
|
| message_type | 3 |
|
84
|
-
|
|
84
|
+
| length | 23 |
|
85
85
|
| transaction_id | 0 |
|
86
86
|
| xid | 0 |
|
87
87
|
| body | echo reply body |
|
@@ -91,14 +91,14 @@ Feature: Pio::Echo::Reply
|
|
91
91
|
When I try to parse a file named "open_flow10/echo_reply.raw" with "Pio::Echo::Reply" class
|
92
92
|
Then it should finish successfully
|
93
93
|
And the message has the following fields and values:
|
94
|
-
| field |
|
95
|
-
| ofp_version |
|
96
|
-
| message_type |
|
97
|
-
|
|
98
|
-
| transaction_id |
|
99
|
-
| xid |
|
100
|
-
| body |
|
101
|
-
| user_data |
|
94
|
+
| field | value |
|
95
|
+
| ofp_version | 1 |
|
96
|
+
| message_type | 3 |
|
97
|
+
| length | 8 |
|
98
|
+
| transaction_id | 6 |
|
99
|
+
| xid | 6 |
|
100
|
+
| body | |
|
101
|
+
| user_data | |
|
102
102
|
|
103
103
|
Scenario: parse error
|
104
104
|
When I try to parse a file named "open_flow10/features_reply.raw" with "Pio::Echo::Reply" class
|
@@ -10,7 +10,7 @@ Feature: Pio::Echo::Request
|
|
10
10
|
| field | value |
|
11
11
|
| ofp_version | 1 |
|
12
12
|
| message_type | 2 |
|
13
|
-
|
|
13
|
+
| length | 8 |
|
14
14
|
| transaction_id | 0 |
|
15
15
|
| xid | 0 |
|
16
16
|
| body | |
|
@@ -26,7 +26,7 @@ Feature: Pio::Echo::Request
|
|
26
26
|
| field | value |
|
27
27
|
| ofp_version | 1 |
|
28
28
|
| message_type | 2 |
|
29
|
-
|
|
29
|
+
| length | 8 |
|
30
30
|
| transaction_id | 123 |
|
31
31
|
| xid | 123 |
|
32
32
|
| body | |
|
@@ -42,7 +42,7 @@ Feature: Pio::Echo::Request
|
|
42
42
|
| field | value |
|
43
43
|
| ofp_version | 1 |
|
44
44
|
| message_type | 2 |
|
45
|
-
|
|
45
|
+
| length | 8 |
|
46
46
|
| transaction_id | 123 |
|
47
47
|
| xid | 123 |
|
48
48
|
| body | |
|
@@ -58,7 +58,7 @@ Feature: Pio::Echo::Request
|
|
58
58
|
| field | value |
|
59
59
|
| ofp_version | 1 |
|
60
60
|
| message_type | 2 |
|
61
|
-
|
|
61
|
+
| length | 25 |
|
62
62
|
| transaction_id | 0 |
|
63
63
|
| xid | 0 |
|
64
64
|
| body | echo request body |
|
@@ -74,7 +74,7 @@ Feature: Pio::Echo::Request
|
|
74
74
|
| field | value |
|
75
75
|
| ofp_version | 1 |
|
76
76
|
| message_type | 2 |
|
77
|
-
|
|
77
|
+
| length | 25 |
|
78
78
|
| transaction_id | 0 |
|
79
79
|
| xid | 0 |
|
80
80
|
| body | echo request body |
|
@@ -87,7 +87,7 @@ Feature: Pio::Echo::Request
|
|
87
87
|
| field | value |
|
88
88
|
| ofp_version | 1 |
|
89
89
|
| message_type | 2 |
|
90
|
-
|
|
90
|
+
| length | 8 |
|
91
91
|
| transaction_id | 0 |
|
92
92
|
| xid | 0 |
|
93
93
|
| body | |
|
@@ -0,0 +1,17 @@
|
|
1
|
+
@open_flow10
|
2
|
+
Feature: Pio::Enqueue
|
3
|
+
|
4
|
+
Scenario: new(port: 1, queue_id: 2)
|
5
|
+
When I try to create an OpenFlow action with:
|
6
|
+
"""
|
7
|
+
Pio::Enqueue.new(port: 1, queue_id: 2)
|
8
|
+
"""
|
9
|
+
Then it should finish successfully
|
10
|
+
And the action has the following fields and values:
|
11
|
+
| field | value |
|
12
|
+
| action_type | 11 |
|
13
|
+
| length | 16 |
|
14
|
+
| port | 1 |
|
15
|
+
| queue_id | 2 |
|
16
|
+
|
17
|
+
|
@@ -25,7 +25,7 @@ Feature: Pio::Features::Reply
|
|
25
25
|
| field | value |
|
26
26
|
| ofp_version | 1 |
|
27
27
|
| message_type | 6 |
|
28
|
-
|
|
28
|
+
| length | 80 |
|
29
29
|
| transaction_id | 0 |
|
30
30
|
| xid | 0 |
|
31
31
|
| datapath_id | 291 |
|
@@ -54,7 +54,7 @@ Feature: Pio::Features::Reply
|
|
54
54
|
| field | value |
|
55
55
|
| ofp_version | 1 |
|
56
56
|
| message_type | 6 |
|
57
|
-
|
|
57
|
+
| length | 176 |
|
58
58
|
| transaction_id | 2 |
|
59
59
|
| xid | 2 |
|
60
60
|
| datapath_id | 1 |
|
@@ -7,13 +7,13 @@ Feature: Pio::Features::Request
|
|
7
7
|
"""
|
8
8
|
Then it should finish successfully
|
9
9
|
And the message has the following fields and values:
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
10
|
+
| field | value |
|
11
|
+
| ofp_version | 1 |
|
12
|
+
| message_type | 5 |
|
13
|
+
| length | 8 |
|
14
|
+
| transaction_id | 0 |
|
15
|
+
| xid | 0 |
|
16
|
+
| user_data | |
|
17
17
|
|
18
18
|
Scenario: new(transaction_id: 123)
|
19
19
|
When I try to create an OpenFlow message with:
|
@@ -22,13 +22,13 @@ Feature: Pio::Features::Request
|
|
22
22
|
"""
|
23
23
|
Then it should finish successfully
|
24
24
|
And the message has the following fields and values:
|
25
|
-
| field |
|
26
|
-
| ofp_version |
|
27
|
-
| message_type |
|
28
|
-
|
|
29
|
-
| transaction_id |
|
30
|
-
| xid |
|
31
|
-
| user_data |
|
25
|
+
| field | value |
|
26
|
+
| ofp_version | 1 |
|
27
|
+
| message_type | 5 |
|
28
|
+
| length | 8 |
|
29
|
+
| transaction_id | 123 |
|
30
|
+
| xid | 123 |
|
31
|
+
| user_data | |
|
32
32
|
|
33
33
|
Scenario: new(xid: 123)
|
34
34
|
When I try to create an OpenFlow message with:
|
@@ -37,25 +37,25 @@ Feature: Pio::Features::Request
|
|
37
37
|
"""
|
38
38
|
Then it should finish successfully
|
39
39
|
And the message has the following fields and values:
|
40
|
-
| field |
|
41
|
-
| ofp_version |
|
42
|
-
| message_type |
|
43
|
-
|
|
44
|
-
| transaction_id |
|
45
|
-
| xid |
|
46
|
-
| user_data |
|
40
|
+
| field | value |
|
41
|
+
| ofp_version | 1 |
|
42
|
+
| message_type | 5 |
|
43
|
+
| length | 8 |
|
44
|
+
| transaction_id | 123 |
|
45
|
+
| xid | 123 |
|
46
|
+
| user_data | |
|
47
47
|
|
48
48
|
Scenario: read
|
49
49
|
When I try to parse a file named "open_flow10/features_request.raw" with "Pio::Features::Request" class
|
50
50
|
Then it should finish successfully
|
51
51
|
And the message has the following fields and values:
|
52
|
-
| field |
|
53
|
-
| ofp_version |
|
54
|
-
| message_type |
|
55
|
-
|
|
56
|
-
| transaction_id |
|
57
|
-
| xid |
|
58
|
-
| user_data |
|
52
|
+
| field | value |
|
53
|
+
| ofp_version | 1 |
|
54
|
+
| message_type | 5 |
|
55
|
+
| length | 8 |
|
56
|
+
| transaction_id | 2 |
|
57
|
+
| xid | 2 |
|
58
|
+
| user_data | |
|
59
59
|
|
60
60
|
Scenario: parse error
|
61
61
|
When I try to parse a file named "open_flow10/echo_request.raw" with "Pio::Features::Request" class
|
@@ -49,7 +49,7 @@ Feature: Pio::FlowMod
|
|
49
49
|
| field | value |
|
50
50
|
| ofp_version | 1 |
|
51
51
|
| message_type | 14 |
|
52
|
-
|
|
52
|
+
| length | 192 |
|
53
53
|
| transaction_id | 0 |
|
54
54
|
| xid | 0 |
|
55
55
|
| match.wildcards | {:ip_source_address=>24, :ip_destination_address=>24} |
|
@@ -86,7 +86,7 @@ Feature: Pio::FlowMod
|
|
86
86
|
| field | value |
|
87
87
|
| ofp_version | 1 |
|
88
88
|
| message_type | 14 |
|
89
|
-
|
|
89
|
+
| length | 192 |
|
90
90
|
| transaction_id | 0 |
|
91
91
|
| xid | 0 |
|
92
92
|
| match.wildcards | {:ip_source_address=>24, :ip_destination_address=>24} |
|
@@ -123,7 +123,7 @@ Feature: Pio::FlowMod
|
|
123
123
|
| field | value |
|
124
124
|
| ofp_version | 1 |
|
125
125
|
| message_type | 14 |
|
126
|
-
|
|
126
|
+
| length | 192 |
|
127
127
|
| transaction_id | 0 |
|
128
128
|
| xid | 0 |
|
129
129
|
| match.wildcards | {:ip_source_address=>24, :ip_destination_address=>24} |
|
@@ -160,7 +160,7 @@ Feature: Pio::FlowMod
|
|
160
160
|
| field | value |
|
161
161
|
| ofp_version | 1 |
|
162
162
|
| message_type | 14 |
|
163
|
-
|
|
163
|
+
| length | 72 |
|
164
164
|
| transaction_id | 0 |
|
165
165
|
| xid | 0 |
|
166
166
|
| match.wildcards | {:ip_source_address=>24, :ip_destination_address=>24} |
|
@@ -195,7 +195,7 @@ Feature: Pio::FlowMod
|
|
195
195
|
| field | value |
|
196
196
|
| ofp_version | 1 |
|
197
197
|
| message_type | 14 |
|
198
|
-
|
|
198
|
+
| length | 72 |
|
199
199
|
| transaction_id | 0 |
|
200
200
|
| xid | 0 |
|
201
201
|
| match.wildcards | {:ip_source_address=>24, :ip_destination_address=>24} |
|