openflow-protocol 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. checksums.yaml +4 -4
  2. data/lib/openflow-protocol.rb +2 -1
  3. data/lib/openflow-protocol/actions/action.rb +30 -0
  4. data/lib/openflow-protocol/actions/action_enqueue.rb +16 -0
  5. data/lib/openflow-protocol/actions/action_output.rb +14 -0
  6. data/lib/openflow-protocol/actions/action_set_destination_port.rb +7 -0
  7. data/lib/openflow-protocol/actions/action_set_ip_destination.rb +7 -0
  8. data/lib/openflow-protocol/actions/action_set_ip_source.rb +13 -0
  9. data/lib/openflow-protocol/actions/action_set_ip_tos.rb +15 -0
  10. data/lib/openflow-protocol/actions/action_set_mac_destination.rb +7 -0
  11. data/lib/openflow-protocol/actions/action_set_mac_source.rb +15 -0
  12. data/lib/openflow-protocol/actions/action_set_source_port.rb +15 -0
  13. data/lib/openflow-protocol/actions/action_set_vlan_id.rb +15 -0
  14. data/lib/openflow-protocol/actions/action_set_vlan_pcp.rb +15 -0
  15. data/lib/openflow-protocol/actions/action_strip_vlan.rb +14 -0
  16. data/lib/openflow-protocol/actions/action_vendor.rb +13 -0
  17. data/lib/openflow-protocol/actions/actions.rb +9 -0
  18. data/lib/openflow-protocol/helpers/array_of_subclasses.rb +42 -0
  19. data/lib/openflow-protocol/helpers/superclass_base.rb +26 -0
  20. data/lib/openflow-protocol/messages/barrier_reply.rb +7 -0
  21. data/lib/openflow-protocol/messages/barrier_request.rb +7 -0
  22. data/lib/openflow-protocol/messages/echo_reply.rb +13 -0
  23. data/lib/openflow-protocol/messages/echo_request.rb +13 -0
  24. data/lib/openflow-protocol/messages/error.rb +69 -0
  25. data/lib/openflow-protocol/messages/features_reply.rb +44 -0
  26. data/lib/openflow-protocol/messages/features_request.rb +7 -0
  27. data/lib/openflow-protocol/messages/flow_mod.rb +24 -0
  28. data/lib/openflow-protocol/messages/flow_removed.rb +27 -0
  29. data/lib/openflow-protocol/messages/get_config_reply.rb +16 -0
  30. data/lib/openflow-protocol/messages/get_config_request.rb +7 -0
  31. data/lib/openflow-protocol/messages/hello.rb +7 -0
  32. data/lib/openflow-protocol/messages/message.rb +49 -0
  33. data/lib/openflow-protocol/messages/packet_in.rb +27 -0
  34. data/lib/openflow-protocol/messages/packet_out.rb +17 -0
  35. data/lib/openflow-protocol/messages/parser.rb +26 -0
  36. data/lib/openflow-protocol/messages/port_mod.rb +19 -0
  37. data/lib/openflow-protocol/messages/port_status.rb +18 -0
  38. data/lib/openflow-protocol/messages/queue_get_config_reply.rb +18 -0
  39. data/lib/openflow-protocol/messages/queue_get_config_request.rb +15 -0
  40. data/lib/openflow-protocol/messages/set_config.rb +7 -0
  41. data/lib/openflow-protocol/messages/statistics.rb +28 -0
  42. data/lib/openflow-protocol/messages/statistics/aggregate_statistics_reply.rb +14 -0
  43. data/lib/openflow-protocol/messages/statistics/aggregate_statistics_request.rb +7 -0
  44. data/lib/openflow-protocol/messages/statistics/description_statistics.rb +32 -0
  45. data/lib/openflow-protocol/messages/statistics/flow_statistics_reply.rb +25 -0
  46. data/lib/openflow-protocol/messages/statistics/flow_statistics_request.rb +14 -0
  47. data/lib/openflow-protocol/messages/statistics/port_statistics_reply.rb +24 -0
  48. data/lib/openflow-protocol/messages/statistics/port_statistics_request.rb +12 -0
  49. data/lib/openflow-protocol/messages/statistics/queue_statistics_reply.rb +16 -0
  50. data/lib/openflow-protocol/messages/statistics/queue_statistics_request.rb +13 -0
  51. data/lib/openflow-protocol/messages/statistics/table_statistics.rb +20 -0
  52. data/lib/openflow-protocol/messages/statistics/vendor_statistics.rb +11 -0
  53. data/lib/openflow-protocol/messages/statistics_reply.rb +26 -0
  54. data/lib/openflow-protocol/messages/statistics_request.rb +18 -0
  55. data/lib/openflow-protocol/messages/vendor.rb +14 -0
  56. data/lib/openflow-protocol/structs/match.rb +106 -0
  57. data/lib/openflow-protocol/structs/packet_queue.rb +14 -0
  58. data/lib/openflow-protocol/structs/physical_port.rb +50 -0
  59. data/lib/openflow-protocol/structs/port_number.rb +49 -0
  60. data/lib/openflow-protocol/structs/queue_properties/queue_properties.rb +9 -0
  61. data/lib/openflow-protocol/structs/queue_properties/queue_property.rb +20 -0
  62. data/lib/openflow-protocol/structs/queue_properties/queue_property_min_rate.rb +30 -0
  63. data/lib/openflow-protocol/structs/queue_properties/queue_property_none.rb +7 -0
  64. data/lib/openflow-protocol/version.rb +1 -1
  65. data/spec/actions/action_enqueue_spec.rb +4 -6
  66. data/spec/actions/action_output_spec.rb +4 -6
  67. data/spec/actions/action_set_destination_port_spec.rb +4 -6
  68. data/spec/actions/action_set_ip_destination_spec.rb +4 -6
  69. data/spec/actions/action_set_ip_source_spec.rb +4 -6
  70. data/spec/actions/action_set_ip_tos_spec.rb +4 -6
  71. data/spec/actions/action_set_mac_destination_spec.rb +4 -6
  72. data/spec/actions/action_set_mac_source_spec.rb +4 -6
  73. data/spec/actions/action_set_source_port_spec.rb +4 -6
  74. data/spec/actions/action_set_vlan_id_spec.rb +4 -6
  75. data/spec/actions/action_set_vlan_pcp_spec.rb +4 -6
  76. data/spec/actions/action_strip_vlan_spec.rb +3 -5
  77. data/spec/actions/action_vendor_spec.rb +4 -6
  78. data/spec/actions/actions_spec.rb +6 -8
  79. data/spec/messages/barrier_reply_spec.rb +9 -11
  80. data/spec/messages/barrier_request_spec.rb +9 -11
  81. data/spec/messages/echo_reply_spec.rb +13 -15
  82. data/spec/messages/echo_request_spec.rb +16 -18
  83. data/spec/messages/error_spec.rb +23 -20
  84. data/spec/messages/features_reply_spec.rb +11 -13
  85. data/spec/messages/features_request_spec.rb +9 -11
  86. data/spec/messages/flow_mod_spec.rb +12 -14
  87. data/spec/messages/flow_removed_spec.rb +9 -11
  88. data/spec/messages/get_config_reply_spec.rb +9 -11
  89. data/spec/messages/get_config_request_spec.rb +9 -11
  90. data/spec/messages/hello_spec.rb +9 -11
  91. data/spec/messages/packet_in_spec.rb +9 -11
  92. data/spec/messages/packet_out_spec.rb +10 -12
  93. data/spec/messages/parser_spec.rb +7 -9
  94. data/spec/messages/port_mod_spec.rb +9 -11
  95. data/spec/messages/port_status_spec.rb +10 -12
  96. data/spec/messages/queue_get_config_reply_spec.rb +9 -11
  97. data/spec/messages/queue_get_config_request_spec.rb +9 -11
  98. data/spec/messages/set_config_spec.rb +9 -11
  99. data/spec/messages/statistics/aggregate_statistics_reply_spec.rb +4 -6
  100. data/spec/messages/statistics/aggregate_statistics_request_spec.rb +4 -6
  101. data/spec/messages/statistics/description_statistics_spec.rb +11 -9
  102. data/spec/messages/statistics/flow_statistics_reply_spec.rb +4 -6
  103. data/spec/messages/statistics/flow_statistics_request_spec.rb +4 -6
  104. data/spec/messages/statistics/port_statistics_reply_spec.rb +4 -6
  105. data/spec/messages/statistics/port_statistics_request_spec.rb +4 -6
  106. data/spec/messages/statistics/queue_statistics_reply_spec.rb +4 -6
  107. data/spec/messages/statistics/queue_statistics_request_spec.rb +4 -6
  108. data/spec/messages/statistics/table_statistics_spec.rb +4 -6
  109. data/spec/messages/statistics/vendor_statistics_spec.rb +4 -6
  110. data/spec/messages/statistics_reply_spec.rb +62 -64
  111. data/spec/messages/statistics_request_spec.rb +45 -47
  112. data/spec/messages/vendor_spec.rb +13 -15
  113. data/spec/spec_helper.rb +1 -1
  114. data/spec/structs/match_spec.rb +7 -9
  115. data/spec/structs/packet_queue_spec.rb +5 -7
  116. data/spec/structs/physical_port_spec.rb +16 -18
  117. data/spec/structs/port_number_spec.rb +11 -13
  118. data/spec/structs/queue_properties/queue_properties_spec.rb +5 -7
  119. data/spec/structs/queue_properties/queue_property_min_rate_spec.rb +5 -7
  120. data/spec/structs/queue_properties/queue_property_none_spec.rb +3 -5
  121. metadata +78 -64
  122. data/lib/actions/action.rb +0 -26
  123. data/lib/actions/action_enqueue.rb +0 -12
  124. data/lib/actions/action_output.rb +0 -10
  125. data/lib/actions/action_set_destination_port.rb +0 -3
  126. data/lib/actions/action_set_ip_destination.rb +0 -3
  127. data/lib/actions/action_set_ip_source.rb +0 -9
  128. data/lib/actions/action_set_ip_tos.rb +0 -11
  129. data/lib/actions/action_set_mac_destination.rb +0 -3
  130. data/lib/actions/action_set_mac_source.rb +0 -11
  131. data/lib/actions/action_set_source_port.rb +0 -11
  132. data/lib/actions/action_set_vlan_id.rb +0 -11
  133. data/lib/actions/action_set_vlan_pcp.rb +0 -11
  134. data/lib/actions/action_strip_vlan.rb +0 -10
  135. data/lib/actions/action_vendor.rb +0 -9
  136. data/lib/actions/actions.rb +0 -5
  137. data/lib/helpers/array_of_subclasses.rb +0 -38
  138. data/lib/helpers/superclass_base.rb +0 -24
  139. data/lib/messages/barrier_reply.rb +0 -3
  140. data/lib/messages/barrier_request.rb +0 -3
  141. data/lib/messages/echo_reply.rb +0 -9
  142. data/lib/messages/echo_request.rb +0 -9
  143. data/lib/messages/error.rb +0 -61
  144. data/lib/messages/features_reply.rb +0 -40
  145. data/lib/messages/features_request.rb +0 -3
  146. data/lib/messages/flow_mod.rb +0 -20
  147. data/lib/messages/flow_removed.rb +0 -23
  148. data/lib/messages/get_config_reply.rb +0 -12
  149. data/lib/messages/get_config_request.rb +0 -3
  150. data/lib/messages/hello.rb +0 -3
  151. data/lib/messages/message.rb +0 -45
  152. data/lib/messages/packet_in.rb +0 -23
  153. data/lib/messages/packet_out.rb +0 -13
  154. data/lib/messages/parser.rb +0 -22
  155. data/lib/messages/port_mod.rb +0 -15
  156. data/lib/messages/port_status.rb +0 -14
  157. data/lib/messages/queue_get_config_reply.rb +0 -14
  158. data/lib/messages/queue_get_config_request.rb +0 -11
  159. data/lib/messages/set_config.rb +0 -3
  160. data/lib/messages/statistics.rb +0 -24
  161. data/lib/messages/statistics/aggregate_statistics_reply.rb +0 -10
  162. data/lib/messages/statistics/aggregate_statistics_request.rb +0 -3
  163. data/lib/messages/statistics/description_statistics.rb +0 -28
  164. data/lib/messages/statistics/flow_statistics_reply.rb +0 -21
  165. data/lib/messages/statistics/flow_statistics_request.rb +0 -10
  166. data/lib/messages/statistics/port_statistics_reply.rb +0 -20
  167. data/lib/messages/statistics/port_statistics_request.rb +0 -8
  168. data/lib/messages/statistics/queue_statistics_reply.rb +0 -12
  169. data/lib/messages/statistics/queue_statistics_request.rb +0 -9
  170. data/lib/messages/statistics/table_statistics.rb +0 -16
  171. data/lib/messages/statistics/vendor_statistics.rb +0 -7
  172. data/lib/messages/statistics_reply.rb +0 -22
  173. data/lib/messages/statistics_request.rb +0 -14
  174. data/lib/messages/vendor.rb +0 -10
  175. data/lib/structs/match.rb +0 -102
  176. data/lib/structs/packet_queue.rb +0 -10
  177. data/lib/structs/physical_port.rb +0 -46
  178. data/lib/structs/port_number.rb +0 -45
  179. data/lib/structs/queue_properties/queue_properties.rb +0 -5
  180. data/lib/structs/queue_properties/queue_property.rb +0 -16
  181. data/lib/structs/queue_properties/queue_property_min_rate.rb +0 -26
  182. data/lib/structs/queue_properties/queue_property_none.rb +0 -3
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionEnqueue do
1
+ describe OpenFlow::Protocol::ActionEnqueue do
4
2
  it 'should read binary' do
5
- action = OFActionEnqueue.read [
3
+ action = OpenFlow::Protocol::ActionEnqueue.read [
6
4
  0, 11, 0, 16, # header
7
5
  0, 1, # port
8
6
  0, 0, 0, 0, 0, 0, # padding
@@ -14,14 +12,14 @@ describe OFActionEnqueue do
14
12
  expect(action.queue_id).to eq(1)
15
13
  end
16
14
  it 'should initialize with default values' do
17
- action = OFActionEnqueue.new
15
+ action = OpenFlow::Protocol::ActionEnqueue.new
18
16
  expect(action.type).to eq(:enqueue)
19
17
  expect(action.len).to eq(16)
20
18
  expect(action.port).to eq(:none)
21
19
  expect(action.queue_id).to eq(0)
22
20
  end
23
21
  it 'should initialize with some values' do
24
- action = OFActionEnqueue.new(port: 1, queue_id: 1)
22
+ action = OpenFlow::Protocol::ActionEnqueue.new(port: 1, queue_id: 1)
25
23
  expect(action.type).to eq(:enqueue)
26
24
  expect(action.len).to eq(16)
27
25
  expect(action.port).to eq(1)
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionOutput do
1
+ describe OpenFlow::Protocol::ActionOutput do
4
2
  it 'should read binary' do
5
- action = OFActionOutput.read [
3
+ action = OpenFlow::Protocol::ActionOutput.read [
6
4
  0, 0, 0, 8, # header
7
5
  0, 1, # port
8
6
  0xff, 0xff # max_length
@@ -13,14 +11,14 @@ describe OFActionOutput do
13
11
  expect(action.max_length).to eq(0xffff)
14
12
  end
15
13
  it 'should initialize with default values' do
16
- action = OFActionOutput.new
14
+ action = OpenFlow::Protocol::ActionOutput.new
17
15
  expect(action.type).to eq(:output)
18
16
  expect(action.len).to eq(8)
19
17
  expect(action.port).to eq(:none)
20
18
  expect(action.max_length).to eq(0xffff)
21
19
  end
22
20
  it 'should initialize with some values' do
23
- action = OFActionOutput.new(port: 1)
21
+ action = OpenFlow::Protocol::ActionOutput.new(port: 1)
24
22
  expect(action.type).to eq(:output)
25
23
  expect(action.len).to eq(8)
26
24
  expect(action.port).to eq(1)
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionSetDestinationPort do
1
+ describe OpenFlow::Protocol::ActionSetDestinationPort do
4
2
  it 'should read binary' do
5
- action = OFActionSetDestinationPort.read [
3
+ action = OpenFlow::Protocol::ActionSetDestinationPort.read [
6
4
  0, 10, 0, 8, # header
7
5
  0, 1, # port
8
6
  0, 0 # padding
@@ -12,13 +10,13 @@ describe OFActionSetDestinationPort do
12
10
  expect(action.port).to eq(1)
13
11
  end
14
12
  it 'should initialize with default values' do
15
- action = OFActionSetDestinationPort.new
13
+ action = OpenFlow::Protocol::ActionSetDestinationPort.new
16
14
  expect(action.type).to eq(:set_destination_port)
17
15
  expect(action.len).to eq(8)
18
16
  expect(action.port).to eq(0)
19
17
  end
20
18
  it 'should initialize with some values' do
21
- action = OFActionSetDestinationPort.new(port: 1)
19
+ action = OpenFlow::Protocol::ActionSetDestinationPort.new(port: 1)
22
20
  expect(action.type).to eq(:set_destination_port)
23
21
  expect(action.len).to eq(8)
24
22
  expect(action.port).to eq(1)
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionSetIpDestination do
1
+ describe OpenFlow::Protocol::ActionSetIpDestination do
4
2
  it 'should read binary' do
5
- action = OFActionSetIpDestination.read [
3
+ action = OpenFlow::Protocol::ActionSetIpDestination.read [
6
4
  0, 7, 0, 8, # header
7
5
  10, 0, 0, 1 # ip_address
8
6
  ].pack('C*')
@@ -11,13 +9,13 @@ describe OFActionSetIpDestination do
11
9
  expect(action.ip_address).to eq('10.0.0.1')
12
10
  end
13
11
  it 'should initialize with default values' do
14
- action = OFActionSetIpDestination.new
12
+ action = OpenFlow::Protocol::ActionSetIpDestination.new
15
13
  expect(action.type).to eq(:set_ip_destination)
16
14
  expect(action.len).to eq(8)
17
15
  expect(action.ip_address).to eq('0.0.0.0')
18
16
  end
19
17
  it 'should initialize with some values' do
20
- action = OFActionSetIpDestination.new(ip_address: '10.0.0.1')
18
+ action = OpenFlow::Protocol::ActionSetIpDestination.new(ip_address: '10.0.0.1')
21
19
  expect(action.type).to eq(:set_ip_destination)
22
20
  expect(action.len).to eq(8)
23
21
  expect(action.ip_address).to eq('10.0.0.1')
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionSetIpSource do
1
+ describe OpenFlow::Protocol::ActionSetIpSource do
4
2
  it 'should read binary' do
5
- action = OFActionSetIpSource.read [
3
+ action = OpenFlow::Protocol::ActionSetIpSource.read [
6
4
  0, 6, 0, 8, # header
7
5
  10, 0, 0, 1 # ip_address
8
6
  ].pack('C*')
@@ -11,13 +9,13 @@ describe OFActionSetIpSource do
11
9
  expect(action.ip_address).to eq('10.0.0.1')
12
10
  end
13
11
  it 'should initialize with default values' do
14
- action = OFActionSetIpSource.new
12
+ action = OpenFlow::Protocol::ActionSetIpSource.new
15
13
  expect(action.type).to eq(:set_ip_source)
16
14
  expect(action.len).to eq(8)
17
15
  expect(action.ip_address).to eq('0.0.0.0')
18
16
  end
19
17
  it 'should initialize with some values' do
20
- action = OFActionSetIpSource.new(ip_address: '10.0.0.1')
18
+ action = OpenFlow::Protocol::ActionSetIpSource.new(ip_address: '10.0.0.1')
21
19
  expect(action.type).to eq(:set_ip_source)
22
20
  expect(action.len).to eq(8)
23
21
  expect(action.ip_address).to eq('10.0.0.1')
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionSetIpTos do
1
+ describe OpenFlow::Protocol::ActionSetIpTos do
4
2
  it 'should read binary' do
5
- action = OFActionSetIpTos.read [
3
+ action = OpenFlow::Protocol::ActionSetIpTos.read [
6
4
  0, 8, 0, 8, # header
7
5
  10, # tos
8
6
  0, 0, 0 # padding
@@ -12,13 +10,13 @@ describe OFActionSetIpTos do
12
10
  expect(action.tos).to eq(10)
13
11
  end
14
12
  it 'should initialize with default values' do
15
- action = OFActionSetIpTos.new
13
+ action = OpenFlow::Protocol::ActionSetIpTos.new
16
14
  expect(action.type).to eq(:set_ip_tos)
17
15
  expect(action.len).to eq(8)
18
16
  expect(action.tos).to eq(0)
19
17
  end
20
18
  it 'should initialize with some values' do
21
- action = OFActionSetIpTos.new(tos: 10)
19
+ action = OpenFlow::Protocol::ActionSetIpTos.new(tos: 10)
22
20
  expect(action.type).to eq(:set_ip_tos)
23
21
  expect(action.len).to eq(8)
24
22
  expect(action.tos).to eq(10)
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionSetMacDestination do
1
+ describe OpenFlow::Protocol::ActionSetMacDestination do
4
2
  it 'should read binary' do
5
- action = OFActionSetMacDestination.read [
3
+ action = OpenFlow::Protocol::ActionSetMacDestination.read [
6
4
  0, 5, 0, 16, # header
7
5
  0, 0, 0, 0, 0, 1, # mac_address
8
6
  0, 0, 0, 0, 0, 0 # padding
@@ -12,13 +10,13 @@ describe OFActionSetMacDestination do
12
10
  expect(action.mac_address).to eq('00:00:00:00:00:01')
13
11
  end
14
12
  it 'should initialize with default values' do
15
- action = OFActionSetMacDestination.new
13
+ action = OpenFlow::Protocol::ActionSetMacDestination.new
16
14
  expect(action.type).to eq(:set_mac_destination)
17
15
  expect(action.len).to eq(16)
18
16
  expect(action.mac_address).to eq('00:00:00:00:00:00')
19
17
  end
20
18
  it 'should initialize with some values' do
21
- action = OFActionSetMacDestination.new(mac_address: '00:00:00:00:00:01')
19
+ action = OpenFlow::Protocol::ActionSetMacDestination.new(mac_address: '00:00:00:00:00:01')
22
20
  expect(action.type).to eq(:set_mac_destination)
23
21
  expect(action.len).to eq(16)
24
22
  expect(action.mac_address).to eq('00:00:00:00:00:01')
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionSetMacSource do
1
+ describe OpenFlow::Protocol::ActionSetMacSource do
4
2
  it 'should read binary' do
5
- action = OFActionSetMacSource.read [
3
+ action = OpenFlow::Protocol::ActionSetMacSource.read [
6
4
  0, 4, 0, 16, # header
7
5
  0, 0, 0, 0, 0, 1, # mac_address
8
6
  0, 0, 0, 0, 0, 0 # padding
@@ -12,13 +10,13 @@ describe OFActionSetMacSource do
12
10
  expect(action.mac_address).to eq('00:00:00:00:00:01')
13
11
  end
14
12
  it 'should initialize with default values' do
15
- action = OFActionSetMacSource.new
13
+ action = OpenFlow::Protocol::ActionSetMacSource.new
16
14
  expect(action.type).to eq(:set_mac_source)
17
15
  expect(action.len).to eq(16)
18
16
  expect(action.mac_address).to eq('00:00:00:00:00:00')
19
17
  end
20
18
  it 'should initialize with some values' do
21
- action = OFActionSetMacSource.new(mac_address: '00:00:00:00:00:01')
19
+ action = OpenFlow::Protocol::ActionSetMacSource.new(mac_address: '00:00:00:00:00:01')
22
20
  expect(action.type).to eq(:set_mac_source)
23
21
  expect(action.len).to eq(16)
24
22
  expect(action.mac_address).to eq('00:00:00:00:00:01')
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionSetSourcePort do
1
+ describe OpenFlow::Protocol::ActionSetSourcePort do
4
2
  it 'should read binary' do
5
- action = OFActionSetSourcePort.read [
3
+ action = OpenFlow::Protocol::ActionSetSourcePort.read [
6
4
  0, 9, 0, 8, # header
7
5
  0, 1, # port
8
6
  0, 0 # padding
@@ -12,13 +10,13 @@ describe OFActionSetSourcePort do
12
10
  expect(action.port).to eq(1)
13
11
  end
14
12
  it 'should initialize with default values' do
15
- action = OFActionSetSourcePort.new
13
+ action = OpenFlow::Protocol::ActionSetSourcePort.new
16
14
  expect(action.type).to eq(:set_source_port)
17
15
  expect(action.len).to eq(8)
18
16
  expect(action.port).to eq(0)
19
17
  end
20
18
  it 'should initialize with some values' do
21
- action = OFActionSetSourcePort.new(port: 1)
19
+ action = OpenFlow::Protocol::ActionSetSourcePort.new(port: 1)
22
20
  expect(action.type).to eq(:set_source_port)
23
21
  expect(action.len).to eq(8)
24
22
  expect(action.port).to eq(1)
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionSetVlanId do
1
+ describe OpenFlow::Protocol::ActionSetVlanId do
4
2
  it 'should read binary' do
5
- action = OFActionSetVlanId.read [
3
+ action = OpenFlow::Protocol::ActionSetVlanId.read [
6
4
  0, 1, 0, 8, # header
7
5
  0, 1, # vlan_id
8
6
  0, 0 # padding
@@ -12,13 +10,13 @@ describe OFActionSetVlanId do
12
10
  expect(action.vlan_id).to eq(1)
13
11
  end
14
12
  it 'should initialize with default values' do
15
- action = OFActionSetVlanId.new
13
+ action = OpenFlow::Protocol::ActionSetVlanId.new
16
14
  expect(action.type).to eq(:set_vlan_id)
17
15
  expect(action.len).to eq(8)
18
16
  expect(action.vlan_id).to eq(0)
19
17
  end
20
18
  it 'should initialize with some values' do
21
- action = OFActionSetVlanId.new(vlan_id: 1)
19
+ action = OpenFlow::Protocol::ActionSetVlanId.new(vlan_id: 1)
22
20
  expect(action.type).to eq(:set_vlan_id)
23
21
  expect(action.len).to eq(8)
24
22
  expect(action.vlan_id).to eq(1)
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionSetVlanPcp do
1
+ describe OpenFlow::Protocol::ActionSetVlanPcp do
4
2
  it 'should read binary' do
5
- action = OFActionSetVlanPcp.read [
3
+ action = OpenFlow::Protocol::ActionSetVlanPcp.read [
6
4
  0, 2, 0, 8, # header
7
5
  1, # vlan_pcp
8
6
  0, 0, 0 # padding
@@ -12,13 +10,13 @@ describe OFActionSetVlanPcp do
12
10
  expect(action.vlan_pcp).to eq(1)
13
11
  end
14
12
  it 'should initialize with default values' do
15
- action = OFActionSetVlanPcp.new
13
+ action = OpenFlow::Protocol::ActionSetVlanPcp.new
16
14
  expect(action.type).to eq(:set_vlan_pcp)
17
15
  expect(action.len).to eq(8)
18
16
  expect(action.vlan_pcp).to eq(0)
19
17
  end
20
18
  it 'should initialize with some values' do
21
- action = OFActionSetVlanPcp.new(vlan_pcp: 1)
19
+ action = OpenFlow::Protocol::ActionSetVlanPcp.new(vlan_pcp: 1)
22
20
  expect(action.type).to eq(:set_vlan_pcp)
23
21
  expect(action.len).to eq(8)
24
22
  expect(action.vlan_pcp).to eq(1)
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionStripVlan do
1
+ describe OpenFlow::Protocol::ActionStripVlan do
4
2
  it 'should read binary' do
5
- action = OFActionStripVlan.read [
3
+ action = OpenFlow::Protocol::ActionStripVlan.read [
6
4
  0, 3, 0, 8, # header
7
5
  0, 0, 0, 0 # padding
8
6
  ].pack('C*')
@@ -10,7 +8,7 @@ describe OFActionStripVlan do
10
8
  expect(action.len).to eq(8)
11
9
  end
12
10
  it 'should initialize with default values' do
13
- action = OFActionStripVlan.new
11
+ action = OpenFlow::Protocol::ActionStripVlan.new
14
12
  expect(action.type).to eq(:strip_vlan)
15
13
  expect(action.len).to eq(8)
16
14
  end
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActionVendor do
1
+ describe OpenFlow::Protocol::ActionVendor do
4
2
  it 'should read binary' do
5
- action = OFActionVendor.read [
3
+ action = OpenFlow::Protocol::ActionVendor.read [
6
4
  0xff, 0xff, 0, 8, # header
7
5
  0, 0, 0, 1 # vendor
8
6
  ].pack('C*')
@@ -11,13 +9,13 @@ describe OFActionVendor do
11
9
  expect(action.vendor).to eq(1)
12
10
  end
13
11
  it 'should initialize with default values' do
14
- action = OFActionVendor.new
12
+ action = OpenFlow::Protocol::ActionVendor.new
15
13
  expect(action.type).to eq(:vendor)
16
14
  expect(action.len).to eq(8)
17
15
  expect(action.vendor).to eq(0)
18
16
  end
19
17
  it 'should initialize with some values' do
20
- action = OFActionVendor.new(vendor: 1)
18
+ action = OpenFlow::Protocol::ActionVendor.new(vendor: 1)
21
19
  expect(action.type).to eq(:vendor)
22
20
  expect(action.len).to eq(8)
23
21
  expect(action.vendor).to eq(1)
@@ -1,8 +1,6 @@
1
- require 'spec_helper'
2
-
3
- describe OFActions do
1
+ describe OpenFlow::Protocol::Actions do
4
2
  it 'should read binary' do
5
- actions = OFActions.read [
3
+ actions = OpenFlow::Protocol::Actions.read [
6
4
  # output
7
5
  0, 0, 0, 8, # header
8
6
  0, 1, # port
@@ -18,13 +16,13 @@ describe OFActions do
18
16
  expect(actions.last.type).to eq(:enqueue)
19
17
  end
20
18
  it 'should initialize with default values' do
21
- actions = OFActions.new
19
+ actions = OpenFlow::Protocol::Actions.new
22
20
  expect(actions).to be_empty
23
21
  end
24
22
  it 'should initialize with some values' do
25
- actions = OFActions.new([
26
- OFActionOutput.new(port: 1, max_length: 0xffff),
27
- OFActionEnqueue.new(port: 1, queue_id: 1)
23
+ actions = OpenFlow::Protocol::Actions.new([
24
+ OpenFlow::Protocol::ActionOutput.new(port: 1, max_length: 0xffff),
25
+ OpenFlow::Protocol::ActionEnqueue.new(port: 1, queue_id: 1)
28
26
  ])
29
27
  expect(actions.length).to eq(2)
30
28
  expect(actions.first.type).to eq(:output)
@@ -1,29 +1,27 @@
1
- require 'spec_helper'
2
-
3
- describe OFBarrierReply do
1
+ describe OpenFlow::Protocol::BarrierReply do
4
2
  let(:data) { [1, 19, 0, 8, 0, 0, 0, 1].pack('C*') }
5
3
 
6
4
  it 'should read binary' do
7
- msg = OFBarrierReply.read(data)
8
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
5
+ msg = OpenFlow::Protocol::BarrierReply.read(data)
6
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
9
7
  expect(msg.type).to eq(:barrier_reply)
10
8
  expect(msg.len).to eq(8)
11
9
  expect(msg.xid).to eq(1)
12
10
  end
13
11
  it 'should be parsable' do
14
- msg = OFParser.read(data)
15
- expect(msg.class).to eq(OFBarrierReply)
12
+ msg = OpenFlow::Protocol::Parser.read(data)
13
+ expect(msg.class).to eq(OpenFlow::Protocol::BarrierReply)
16
14
  end
17
15
  it 'should initialize with default values' do
18
- msg = OFBarrierReply.new
19
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
16
+ msg = OpenFlow::Protocol::BarrierReply.new
17
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
20
18
  expect(msg.type).to eq(:barrier_reply)
21
19
  expect(msg.len).to eq(8)
22
20
  expect(msg.xid).to eq(0)
23
21
  end
24
22
  it 'should initialize with some values' do
25
- msg = OFBarrierReply.new(xid: 1)
26
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
23
+ msg = OpenFlow::Protocol::BarrierReply.new(xid: 1)
24
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
27
25
  expect(msg.type).to eq(:barrier_reply)
28
26
  expect(msg.len).to eq(8)
29
27
  expect(msg.xid).to eq(1)
@@ -1,29 +1,27 @@
1
- require 'spec_helper'
2
-
3
- describe OFBarrierRequest do
1
+ describe OpenFlow::Protocol::BarrierRequest do
4
2
  let(:data) { [1, 18, 0, 8, 0, 0, 0, 1].pack('C*') }
5
3
 
6
4
  it 'should read binary' do
7
- msg = OFBarrierRequest.read(data)
8
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
5
+ msg = OpenFlow::Protocol::BarrierRequest.read(data)
6
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
9
7
  expect(msg.type).to eq(:barrier_request)
10
8
  expect(msg.len).to eq(8)
11
9
  expect(msg.xid).to eq(1)
12
10
  end
13
11
  it 'should be parsable' do
14
- msg = OFParser.read(data)
15
- expect(msg.class).to eq(OFBarrierRequest)
12
+ msg = OpenFlow::Protocol::Parser.read(data)
13
+ expect(msg.class).to eq(OpenFlow::Protocol::BarrierRequest)
16
14
  end
17
15
  it 'should initialize with default values' do
18
- msg = OFBarrierRequest.new
19
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
16
+ msg = OpenFlow::Protocol::BarrierRequest.new
17
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
20
18
  expect(msg.type).to eq(:barrier_request)
21
19
  expect(msg.len).to eq(8)
22
20
  expect(msg.xid).to eq(0)
23
21
  end
24
22
  it 'should initialize with some values' do
25
- msg = OFBarrierRequest.new(xid: 1)
26
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
23
+ msg = OpenFlow::Protocol::BarrierRequest.new(xid: 1)
24
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
27
25
  expect(msg.type).to eq(:barrier_request)
28
26
  expect(msg.len).to eq(8)
29
27
  expect(msg.xid).to eq(1)