pio 0.27.2 → 0.28.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 +17 -0
- data/Rakefile +1 -1
- data/bin/{code_metrics → terminal-notifier} +2 -2
- data/features/dhcp.feature +12 -12
- data/features/icmp.feature +12 -12
- data/features/open_flow10/aggregate_stats_request.feature +10 -10
- data/features/open_flow10/enqueue.feature +7 -7
- data/features/open_flow10/exact_match.feature +15 -15
- data/features/open_flow10/features_reply.feature +40 -40
- data/features/open_flow10/flow_mod.feature +49 -49
- data/features/open_flow10/flow_removed.feature +34 -0
- data/features/open_flow10/flow_stats_reply.feature +14 -14
- data/features/open_flow10/flow_stats_request.feature +15 -15
- data/features/open_flow10/nicira_resubmit.feature +30 -0
- data/features/open_flow10/nicira_resubmit_table.feature +32 -0
- data/features/open_flow10/port_stats_request.feature +48 -0
- data/features/open_flow10/port_stats_request.raw +0 -0
- data/features/open_flow10/queue_stats_request.feature +51 -0
- data/features/open_flow10/queue_stats_request.raw +0 -0
- data/features/open_flow10/send_out_port.feature +40 -40
- data/features/open_flow10/set_destination_mac_address.feature +16 -0
- data/features/open_flow10/set_ip_destination_address.feature +6 -6
- data/features/open_flow10/set_source_ip_address.feature +16 -0
- data/features/open_flow10/set_source_mac_address.feature +16 -0
- data/features/open_flow10/{set_ip_tos.feature → set_tos.feature} +3 -3
- data/features/open_flow10/set_transport_destination_port.feature +6 -6
- data/features/open_flow10/set_transport_source_port.feature +6 -6
- data/features/open_flow10/set_vlan_priority.feature +3 -3
- data/features/open_flow10/set_vlan_vid.feature +6 -6
- data/features/open_flow10/strip_vlan_header.feature +5 -5
- data/features/open_flow10/table_stats_request.feature +31 -0
- data/features/open_flow13/match.feature +33 -33
- data/features/open_flow13/send_out_port.feature +45 -45
- data/features/udp.feature +2 -2
- data/lib/pio/arp/format.rb +5 -5
- data/lib/pio/dhcp/boot_reply_options.rb +6 -6
- data/lib/pio/dhcp/boot_request_options.rb +2 -2
- data/lib/pio/dhcp/common_options.rb +5 -5
- data/lib/pio/dhcp/message.rb +2 -2
- data/lib/pio/icmp/options.rb +2 -2
- data/lib/pio/icmp/reply.rb +6 -6
- data/lib/pio/icmp/request.rb +6 -6
- data/lib/pio/ipv4_header.rb +11 -11
- data/lib/pio/open_flow.rb +5 -2
- data/lib/pio/open_flow/action.rb +41 -0
- data/lib/pio/open_flow/nicira_action.rb +17 -0
- data/lib/pio/open_flow10.rb +12 -1
- data/lib/pio/open_flow10/actions.rb +17 -15
- data/lib/pio/open_flow10/enqueue.rb +27 -46
- data/lib/pio/open_flow10/features/reply.rb +5 -5
- data/lib/pio/open_flow10/flow_removed.rb +40 -0
- data/lib/pio/open_flow10/match.rb +33 -33
- data/lib/pio/open_flow10/nicira_resubmit.rb +20 -0
- data/lib/pio/open_flow10/nicira_resubmit_table.rb +17 -0
- data/lib/pio/open_flow10/port_stats/request.rb +25 -0
- data/lib/pio/open_flow10/queue_stats/request.rb +22 -0
- data/lib/pio/open_flow10/send_out_port.rb +6 -27
- data/lib/pio/open_flow10/set_destination_ip_address.rb +16 -0
- data/lib/pio/open_flow10/set_destination_mac_address.rb +18 -0
- data/lib/pio/open_flow10/set_source_ip_address.rb +16 -0
- data/lib/pio/open_flow10/set_source_mac_address.rb +18 -0
- data/lib/pio/open_flow10/set_tos.rb +24 -0
- data/lib/pio/open_flow10/set_transport_port.rb +32 -48
- data/lib/pio/open_flow10/set_vlan_priority.rb +16 -11
- data/lib/pio/open_flow10/set_vlan_vid.rb +16 -11
- data/lib/pio/open_flow10/stats_request.rb +5 -1
- data/lib/pio/open_flow10/strip_vlan_header.rb +8 -25
- data/lib/pio/open_flow10/table_stats/request.rb +19 -0
- data/lib/pio/open_flow13/actions.rb +1 -1
- data/lib/pio/open_flow13/match.rb +19 -19
- data/lib/pio/open_flow13/send_out_port.rb +9 -28
- data/lib/pio/udp_header.rb +4 -4
- data/lib/pio/version.rb +1 -1
- data/pio.gemspec +3 -2
- data/spec/pio/dhcp/ack_spec.rb +8 -8
- data/spec/pio/dhcp/offer_spec.rb +8 -8
- data/spec/pio/dhcp_spec.rb +16 -16
- data/spec/pio/icmp/reply_spec.rb +4 -4
- data/spec/pio/icmp/request_spec.rb +6 -6
- data/spec/pio/icmp_spec.rb +4 -4
- data/spec/pio/open_flow10/enqueue_spec.rb +13 -11
- data/spec/pio/open_flow10/flow_mod_spec.rb +20 -20
- data/spec/pio/open_flow10/flow_stats_request_spec.rb +4 -4
- data/spec/pio/open_flow10/match_spec.rb +59 -59
- data/spec/pio/open_flow10/packet_out_spec.rb +31 -29
- data/spec/pio/open_flow10/set_destination_ip_address_spec.rb +27 -0
- data/spec/pio/open_flow10/set_destination_mac_address_spec.rb +28 -0
- data/spec/pio/open_flow10/set_source_ip_address_spec.rb +27 -0
- data/spec/pio/open_flow10/set_source_mac_address_spec.rb +28 -0
- data/spec/pio/open_flow10/set_tos_spec.rb +30 -0
- data/spec/pio/open_flow10/set_transport_destination_port_spec.rb +4 -4
- data/spec/pio/open_flow10/set_transport_source_port_spec.rb +4 -4
- 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 +5 -5
- data/spec/pio/open_flow10/wildcards_spec.rb +18 -18
- data/spec/pio/open_flow13/match_spec.rb +20 -20
- metadata +73 -37
- data/bin/code_metrics-profile +0 -16
- data/features/open_flow10/set_ether_destination_address.feature +0 -16
- data/features/open_flow10/set_ether_source_address.feature +0 -16
- data/features/open_flow10/set_ip_source_address.feature +0 -16
- data/lib/pio/open_flow10/set_ether_address.rb +0 -53
- data/lib/pio/open_flow10/set_ip_address.rb +0 -49
- data/lib/pio/open_flow10/set_ip_tos.rb +0 -42
- data/lib/pio/open_flow10/set_vlan.rb +0 -37
- data/spec/pio/open_flow10/set_ether_destination_address_spec.rb +0 -28
- data/spec/pio/open_flow10/set_ether_source_address_spec.rb +0 -28
- data/spec/pio/open_flow10/set_ip_destination_address_spec.rb +0 -27
- data/spec/pio/open_flow10/set_ip_source_address_spec.rb +0 -25
- data/spec/pio/open_flow10/set_ip_tos_spec.rb +0 -30
@@ -1,16 +1,16 @@
|
|
1
1
|
@open_flow10
|
2
|
-
Feature: Pio::
|
2
|
+
Feature: Pio::OpenFlow10::SetDestinationIpAddress
|
3
3
|
|
4
4
|
Scenario: new('192.168.0.1')
|
5
5
|
When I try to create an OpenFlow action with:
|
6
6
|
"""
|
7
|
-
Pio::
|
7
|
+
Pio::OpenFlow10::SetDestinationIpAddress.new('192.168.0.1')
|
8
8
|
"""
|
9
9
|
Then it should finish successfully
|
10
10
|
And the action has the following fields and values:
|
11
|
-
| field
|
12
|
-
| action_type
|
13
|
-
|
|
14
|
-
| ip_address
|
11
|
+
| field | value |
|
12
|
+
| action_type | 7 |
|
13
|
+
| action_length | 8 |
|
14
|
+
| ip_address | 192.168.0.1 |
|
15
15
|
|
16
16
|
|
@@ -0,0 +1,16 @@
|
|
1
|
+
@open_flow10
|
2
|
+
Feature: Pio::OpenFlow10::SetSourceIpAddress
|
3
|
+
|
4
|
+
Scenario: new('192.168.0.1')
|
5
|
+
When I try to create an OpenFlow action with:
|
6
|
+
"""
|
7
|
+
Pio::OpenFlow10::SetSourceIpAddress.new('192.168.0.1')
|
8
|
+
"""
|
9
|
+
Then it should finish successfully
|
10
|
+
And the action has the following fields and values:
|
11
|
+
| field | value |
|
12
|
+
| action_type | 6 |
|
13
|
+
| action_length | 8 |
|
14
|
+
| ip_address | 192.168.0.1 |
|
15
|
+
|
16
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
@open_flow10
|
2
|
+
Feature: Pio::OpenFlow10::SetSourceMacAddress
|
3
|
+
|
4
|
+
Scenario: new('11:22:33:44:55:66')
|
5
|
+
When I try to create an OpenFlow action with:
|
6
|
+
"""
|
7
|
+
Pio::OpenFlow10::SetSourceMacAddress.new('11:22:33:44:55:66')
|
8
|
+
"""
|
9
|
+
Then it should finish successfully
|
10
|
+
And the action has the following fields and values:
|
11
|
+
| field | value |
|
12
|
+
| action_type | 4 |
|
13
|
+
| action_length | 16 |
|
14
|
+
| mac_address | 11:22:33:44:55:66 |
|
15
|
+
|
16
|
+
|
@@ -1,16 +1,16 @@
|
|
1
1
|
@open_flow10
|
2
|
-
Feature: Pio::
|
2
|
+
Feature: Pio::OpenFlow10::SetTos
|
3
3
|
|
4
4
|
Scenario: new(0b11111100)
|
5
5
|
When I try to create an OpenFlow action with:
|
6
6
|
"""
|
7
|
-
Pio::
|
7
|
+
Pio::OpenFlow10::SetTos.new(0b11111100)
|
8
8
|
"""
|
9
9
|
Then it should finish successfully
|
10
10
|
And the action has the following fields and values:
|
11
11
|
| field | value |
|
12
12
|
| action_type | 8 |
|
13
|
-
|
|
13
|
+
| action_length | 8 |
|
14
14
|
| type_of_service | 252 |
|
15
15
|
|
16
16
|
|
@@ -1,16 +1,16 @@
|
|
1
1
|
@open_flow10
|
2
|
-
Feature: Pio::SetTransportDestinationPort
|
2
|
+
Feature: Pio::OpenFlow10::SetTransportDestinationPort
|
3
3
|
|
4
4
|
Scenario: new(100)
|
5
5
|
When I try to create an OpenFlow action with:
|
6
6
|
"""
|
7
|
-
Pio::SetTransportDestinationPort.new(100)
|
7
|
+
Pio::OpenFlow10::SetTransportDestinationPort.new(100)
|
8
8
|
"""
|
9
9
|
Then it should finish successfully
|
10
10
|
And the action has the following fields and values:
|
11
|
-
| field
|
12
|
-
| action_type
|
13
|
-
|
|
14
|
-
| port
|
11
|
+
| field | value |
|
12
|
+
| action_type | 10 |
|
13
|
+
| action_length | 8 |
|
14
|
+
| port | 100 |
|
15
15
|
|
16
16
|
|
@@ -1,16 +1,16 @@
|
|
1
1
|
@open_flow10
|
2
|
-
Feature: Pio::SetTransportSourcePort
|
2
|
+
Feature: Pio::OpenFlow10::SetTransportSourcePort
|
3
3
|
|
4
4
|
Scenario: new(100)
|
5
5
|
When I try to create an OpenFlow action with:
|
6
6
|
"""
|
7
|
-
Pio::SetTransportSourcePort.new(100)
|
7
|
+
Pio::OpenFlow10::SetTransportSourcePort.new(100)
|
8
8
|
"""
|
9
9
|
Then it should finish successfully
|
10
10
|
And the action has the following fields and values:
|
11
|
-
| field
|
12
|
-
| action_type
|
13
|
-
|
|
14
|
-
| port
|
11
|
+
| field | value |
|
12
|
+
| action_type | 9 |
|
13
|
+
| action_length | 8 |
|
14
|
+
| port | 100 |
|
15
15
|
|
16
16
|
|
@@ -1,16 +1,16 @@
|
|
1
1
|
@open_flow10
|
2
|
-
Feature: Pio::SetVlanPriority
|
2
|
+
Feature: Pio::OpenFlow10::SetVlanPriority
|
3
3
|
|
4
4
|
Scenario: new(1)
|
5
5
|
When I try to create an OpenFlow action with:
|
6
6
|
"""
|
7
|
-
Pio::SetVlanPriority.new(1)
|
7
|
+
Pio::OpenFlow10::SetVlanPriority.new(1)
|
8
8
|
"""
|
9
9
|
Then it should finish successfully
|
10
10
|
And the action has the following fields and values:
|
11
11
|
| field | value |
|
12
12
|
| action_type | 2 |
|
13
|
-
|
|
13
|
+
| action_length | 8 |
|
14
14
|
| vlan_priority | 1 |
|
15
15
|
|
16
16
|
|
@@ -1,16 +1,16 @@
|
|
1
1
|
@open_flow10
|
2
|
-
Feature: Pio::SetVlanVid
|
2
|
+
Feature: Pio::OpenFlow10::SetVlanVid
|
3
3
|
|
4
4
|
Scenario: new(1)
|
5
5
|
When I try to create an OpenFlow action with:
|
6
6
|
"""
|
7
|
-
Pio::SetVlanVid.new(1)
|
7
|
+
Pio::OpenFlow10::SetVlanVid.new(1)
|
8
8
|
"""
|
9
9
|
Then it should finish successfully
|
10
10
|
And the action has the following fields and values:
|
11
|
-
| field
|
12
|
-
| action_type
|
13
|
-
|
|
14
|
-
| vlan_id
|
11
|
+
| field | value |
|
12
|
+
| action_type | 1 |
|
13
|
+
| action_length | 8 |
|
14
|
+
| vlan_id | 1 |
|
15
15
|
|
16
16
|
|
@@ -1,15 +1,15 @@
|
|
1
1
|
@open_flow10
|
2
|
-
Feature: Pio::StripVlanHeader
|
2
|
+
Feature: Pio::OpenFlow10::StripVlanHeader
|
3
3
|
|
4
4
|
Scenario: new
|
5
5
|
When I try to create an OpenFlow action with:
|
6
6
|
"""
|
7
|
-
Pio::StripVlanHeader.new
|
7
|
+
Pio::OpenFlow10::StripVlanHeader.new
|
8
8
|
"""
|
9
9
|
Then it should finish successfully
|
10
10
|
And the action has the following fields and values:
|
11
|
-
| field
|
12
|
-
| action_type
|
13
|
-
|
|
11
|
+
| field | value |
|
12
|
+
| action_type | 3 |
|
13
|
+
| action_length | 8 |
|
14
14
|
|
15
15
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
@open_flow10
|
2
|
+
Feature: Pio::TableStats::Request
|
3
|
+
Scenario: new
|
4
|
+
When I try to create an OpenFlow message with:
|
5
|
+
"""
|
6
|
+
Pio::TableStats::Request.new
|
7
|
+
"""
|
8
|
+
Then it should finish successfully
|
9
|
+
And the message has the following fields and values:
|
10
|
+
| field | value |
|
11
|
+
| ofp_version | 1 |
|
12
|
+
| message_type | 16 |
|
13
|
+
| message_length | 12 |
|
14
|
+
| transaction_id | 0 |
|
15
|
+
| xid | 0 |
|
16
|
+
| stats_type | :table |
|
17
|
+
|
18
|
+
Scenario: new(transaction_id: 123)
|
19
|
+
When I try to create an OpenFlow message with:
|
20
|
+
"""
|
21
|
+
Pio::TableStats::Request.new(transaction_id: 123)
|
22
|
+
"""
|
23
|
+
Then it should finish successfully
|
24
|
+
And the message has the following fields and values:
|
25
|
+
| field | value |
|
26
|
+
| ofp_version | 1 |
|
27
|
+
| message_type | 16 |
|
28
|
+
| message_length | 12 |
|
29
|
+
| transaction_id | 123 |
|
30
|
+
| xid | 123 |
|
31
|
+
| stats_type | :table |
|
@@ -41,47 +41,47 @@ Feature: Pio::Match
|
|
41
41
|
| metadata | 1 |
|
42
42
|
| metadata_mask | 1 |
|
43
43
|
|
44
|
-
Scenario: new(
|
44
|
+
Scenario: new(source_mac_address: '01:02:03:04:05:06')
|
45
45
|
When I try to create an OpenFlow message with:
|
46
46
|
"""
|
47
|
-
Pio::Match.new(
|
47
|
+
Pio::Match.new(source_mac_address: '01:02:03:04:05:06')
|
48
48
|
"""
|
49
49
|
Then it should finish successfully
|
50
50
|
And the message has the following fields and values:
|
51
|
-
| field
|
52
|
-
|
|
51
|
+
| field | value |
|
52
|
+
| source_mac_address | 01:02:03:04:05:06 |
|
53
53
|
|
54
|
-
Scenario: new(
|
54
|
+
Scenario: new(destination_mac_address: '01:02:03:04:05:06')
|
55
55
|
When I try to create an OpenFlow message with:
|
56
56
|
"""
|
57
|
-
Pio::Match.new(
|
57
|
+
Pio::Match.new(destination_mac_address: '01:02:03:04:05:06')
|
58
58
|
"""
|
59
59
|
Then it should finish successfully
|
60
60
|
And the message has the following fields and values:
|
61
|
-
| field
|
62
|
-
|
|
61
|
+
| field | value |
|
62
|
+
| destination_mac_address | 01:02:03:04:05:06 |
|
63
63
|
|
64
|
-
Scenario: new(
|
64
|
+
Scenario: new(source_mac_address: '01:02:03:04:05:06', source_mac_address_mask: 'ff:ff:ff:00:00:00')
|
65
65
|
When I try to create an OpenFlow message with:
|
66
66
|
"""
|
67
|
-
Pio::Match.new(
|
67
|
+
Pio::Match.new(source_mac_address: '01:02:03:04:05:06', source_mac_address_mask: 'ff:ff:ff:00:00:00')
|
68
68
|
"""
|
69
69
|
Then it should finish successfully
|
70
70
|
And the message has the following fields and values:
|
71
|
-
| field
|
72
|
-
|
|
73
|
-
|
|
71
|
+
| field | value |
|
72
|
+
| source_mac_address | 01:02:03:04:05:06 |
|
73
|
+
| source_mac_address_mask | ff:ff:ff:00:00:00 |
|
74
74
|
|
75
|
-
Scenario: new(
|
75
|
+
Scenario: new(destination_mac_address: '01:02:03:04:05:06', destination_mac_address_mask: 'ff:ff:ff:00:00:00')
|
76
76
|
When I try to create an OpenFlow message with:
|
77
77
|
"""
|
78
|
-
Pio::Match.new(
|
78
|
+
Pio::Match.new(destination_mac_address: '01:02:03:04:05:06', destination_mac_address_mask: 'ff:ff:ff:00:00:00')
|
79
79
|
"""
|
80
80
|
Then it should finish successfully
|
81
81
|
And the message has the following fields and values:
|
82
|
-
| field
|
83
|
-
|
|
84
|
-
|
|
82
|
+
| field | value |
|
83
|
+
| destination_mac_address | 01:02:03:04:05:06 |
|
84
|
+
| destination_mac_address_mask | ff:ff:ff:00:00:00 |
|
85
85
|
|
86
86
|
Scenario: new(ether_type: 0x0800)
|
87
87
|
When I try to create an OpenFlow message with:
|
@@ -100,8 +100,8 @@ Feature: Pio::Match
|
|
100
100
|
"""
|
101
101
|
Then it should finish successfully
|
102
102
|
And the message has the following fields and values:
|
103
|
-
|
104
|
-
|
103
|
+
| field | value |
|
104
|
+
| vlan_vid | 10 |
|
105
105
|
|
106
106
|
Scenario: new(vlan_vid: 10, vlan_pcp: 5)
|
107
107
|
When I try to create an OpenFlow message with:
|
@@ -110,9 +110,9 @@ Feature: Pio::Match
|
|
110
110
|
"""
|
111
111
|
Then it should finish successfully
|
112
112
|
And the message has the following fields and values:
|
113
|
-
|
114
|
-
|
115
|
-
|
113
|
+
| field | value |
|
114
|
+
| vlan_vid | 10 |
|
115
|
+
| vlan_pcp | 5 |
|
116
116
|
|
117
117
|
Scenario: new(eth_type: 2048, ip_dscp: 46)
|
118
118
|
When I try to create an OpenFlow message with:
|
@@ -481,31 +481,31 @@ Feature: Pio::Match
|
|
481
481
|
When I try to parse a file named "open_flow13/oxm_ether_destination_field.raw" with "Pio::Match" class
|
482
482
|
Then it should finish successfully
|
483
483
|
And the message has the following fields and values:
|
484
|
-
| field
|
485
|
-
|
|
484
|
+
| field | value |
|
485
|
+
| destination_mac_address | ff:ff:ff:ff:ff:ff |
|
486
486
|
|
487
487
|
Scenario: read (file: open_flow13/oxm_ether_source_field.raw)
|
488
488
|
When I try to parse a file named "open_flow13/oxm_ether_source_field.raw" with "Pio::Match" class
|
489
489
|
Then it should finish successfully
|
490
490
|
And the message has the following fields and values:
|
491
|
-
| field
|
492
|
-
|
|
491
|
+
| field | value |
|
492
|
+
| source_mac_address | 01:02:03:04:05:06 |
|
493
493
|
|
494
494
|
Scenario: read (file: open_flow13/oxm_masked_ether_destination_field.raw)
|
495
495
|
When I try to parse a file named "open_flow13/oxm_masked_ether_destination_field.raw" with "Pio::Match" class
|
496
496
|
Then it should finish successfully
|
497
497
|
And the message has the following fields and values:
|
498
|
-
| field
|
499
|
-
|
|
500
|
-
|
|
498
|
+
| field | value |
|
499
|
+
| destination_mac_address | ff:ff:ff:ff:ff:ff |
|
500
|
+
| destination_mac_address_mask | ff:ff:ff:00:00:00 |
|
501
501
|
|
502
502
|
Scenario: read (file: open_flow13/oxm_masked_ether_source_field.raw)
|
503
503
|
When I try to parse a file named "open_flow13/oxm_masked_ether_source_field.raw" with "Pio::Match" class
|
504
504
|
Then it should finish successfully
|
505
505
|
And the message has the following fields and values:
|
506
|
-
| field
|
507
|
-
|
|
508
|
-
|
|
506
|
+
| field | value |
|
507
|
+
| source_mac_address | 01:02:03:04:05:06 |
|
508
|
+
| source_mac_address_mask | ff:ff:ff:00:00:00 |
|
509
509
|
|
510
510
|
Scenario: read (file: open_flow13/oxm_ether_type_field.raw)
|
511
511
|
When I try to parse a file named "open_flow13/oxm_ether_type_field.raw" with "Pio::Match" class
|
@@ -7,11 +7,11 @@ Feature: Pio::SendOutPort
|
|
7
7
|
"""
|
8
8
|
Then it should finish successfully
|
9
9
|
And the message has the following fields and values:
|
10
|
-
| field
|
11
|
-
| action_type
|
12
|
-
|
|
13
|
-
| port
|
14
|
-
| max_length
|
10
|
+
| field | value |
|
11
|
+
| action_type | 0 |
|
12
|
+
| action_length | 16 |
|
13
|
+
| port | 1 |
|
14
|
+
| max_length | :no_buffer |
|
15
15
|
|
16
16
|
Scenario: new(:all)
|
17
17
|
When I try to create an OpenFlow action with:
|
@@ -20,11 +20,11 @@ Feature: Pio::SendOutPort
|
|
20
20
|
"""
|
21
21
|
Then it should finish successfully
|
22
22
|
And the action has the following fields and values:
|
23
|
-
| field
|
24
|
-
| action_type
|
25
|
-
|
|
26
|
-
| port
|
27
|
-
| max_length
|
23
|
+
| field | value |
|
24
|
+
| action_type | 0 |
|
25
|
+
| action_length | 16 |
|
26
|
+
| port | :all |
|
27
|
+
| max_length | :no_buffer |
|
28
28
|
|
29
29
|
Scenario: new(:controller)
|
30
30
|
When I try to create an OpenFlow action with:
|
@@ -33,11 +33,11 @@ Feature: Pio::SendOutPort
|
|
33
33
|
"""
|
34
34
|
Then it should finish successfully
|
35
35
|
And the action has the following fields and values:
|
36
|
-
| field
|
37
|
-
| action_type
|
38
|
-
|
|
39
|
-
| port
|
40
|
-
| max_length
|
36
|
+
| field | value |
|
37
|
+
| action_type | 0 |
|
38
|
+
| action_length | 16 |
|
39
|
+
| port | :controller |
|
40
|
+
| max_length | :no_buffer |
|
41
41
|
|
42
42
|
Scenario: new(:local)
|
43
43
|
When I try to create an OpenFlow action with:
|
@@ -46,11 +46,11 @@ Feature: Pio::SendOutPort
|
|
46
46
|
"""
|
47
47
|
Then it should finish successfully
|
48
48
|
And the action has the following fields and values:
|
49
|
-
| field
|
50
|
-
| action_type
|
51
|
-
|
|
52
|
-
| port
|
53
|
-
| max_length
|
49
|
+
| field | value |
|
50
|
+
| action_type | 0 |
|
51
|
+
| action_length | 16 |
|
52
|
+
| port | :local |
|
53
|
+
| max_length | :no_buffer |
|
54
54
|
|
55
55
|
Scenario: new(:table)
|
56
56
|
When I try to create an OpenFlow action with:
|
@@ -59,11 +59,11 @@ Feature: Pio::SendOutPort
|
|
59
59
|
"""
|
60
60
|
Then it should finish successfully
|
61
61
|
And the action has the following fields and values:
|
62
|
-
| field
|
63
|
-
| action_type
|
64
|
-
|
|
65
|
-
| port
|
66
|
-
| max_length
|
62
|
+
| field | value |
|
63
|
+
| action_type | 0 |
|
64
|
+
| action_length | 16 |
|
65
|
+
| port | :table |
|
66
|
+
| max_length | :no_buffer |
|
67
67
|
|
68
68
|
Scenario: new(:in_port)
|
69
69
|
When I try to create an OpenFlow action with:
|
@@ -72,11 +72,11 @@ Feature: Pio::SendOutPort
|
|
72
72
|
"""
|
73
73
|
Then it should finish successfully
|
74
74
|
And the action has the following fields and values:
|
75
|
-
| field
|
76
|
-
| action_type
|
77
|
-
|
|
78
|
-
| port
|
79
|
-
| max_length
|
75
|
+
| field | value |
|
76
|
+
| action_type | 0 |
|
77
|
+
| action_length | 16 |
|
78
|
+
| port | :in_port |
|
79
|
+
| max_length | :no_buffer |
|
80
80
|
|
81
81
|
Scenario: new(:normal)
|
82
82
|
When I try to create an OpenFlow action with:
|
@@ -85,11 +85,11 @@ Feature: Pio::SendOutPort
|
|
85
85
|
"""
|
86
86
|
Then it should finish successfully
|
87
87
|
And the action has the following fields and values:
|
88
|
-
| field
|
89
|
-
| action_type
|
90
|
-
|
|
91
|
-
| port
|
92
|
-
| max_length
|
88
|
+
| field | value |
|
89
|
+
| action_type | 0 |
|
90
|
+
| action_length | 16 |
|
91
|
+
| port | :normal |
|
92
|
+
| max_length | :no_buffer |
|
93
93
|
|
94
94
|
Scenario: new(:flood)
|
95
95
|
When I try to create an OpenFlow action with:
|
@@ -98,18 +98,18 @@ Feature: Pio::SendOutPort
|
|
98
98
|
"""
|
99
99
|
Then it should finish successfully
|
100
100
|
And the action has the following fields and values:
|
101
|
-
| field
|
102
|
-
| action_type
|
103
|
-
|
|
104
|
-
| port
|
105
|
-
| max_length
|
101
|
+
| field | value |
|
102
|
+
| action_type | 0 |
|
103
|
+
| action_length | 16 |
|
104
|
+
| port | :flood |
|
105
|
+
| max_length | :no_buffer |
|
106
106
|
|
107
107
|
Scenario: read
|
108
108
|
When I try to parse a file named "open_flow13/send_out_port.raw" with "Pio::SendOutPort" class
|
109
109
|
Then it should finish successfully
|
110
110
|
And the message has the following fields and values:
|
111
|
-
| field
|
112
|
-
| action_type
|
113
|
-
|
|
114
|
-
| port
|
115
|
-
| max_length
|
111
|
+
| field | value |
|
112
|
+
| action_type | 0 |
|
113
|
+
| action_length | 16 |
|
114
|
+
| port | 1 |
|
115
|
+
| max_length | :no_buffer |
|