openflow-protocol 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,29 +1,27 @@
1
- require 'spec_helper'
2
-
3
- describe OFGetConfigRequest do
1
+ describe OpenFlow::Protocol::GetConfigRequest do
4
2
  let(:data) { [1, 7, 0, 8, 0, 0, 0, 1].pack('C*') }
5
3
 
6
4
  it 'should read binary' do
7
- msg = OFGetConfigRequest.read(data)
8
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
5
+ msg = OpenFlow::Protocol::GetConfigRequest.read(data)
6
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
9
7
  expect(msg.type).to eq(:get_config_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(OFGetConfigRequest)
12
+ msg = OpenFlow::Protocol::Parser.read(data)
13
+ expect(msg.class).to eq(OpenFlow::Protocol::GetConfigRequest)
16
14
  end
17
15
  it 'should initialize with default values' do
18
- msg = OFGetConfigRequest.new
19
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
16
+ msg = OpenFlow::Protocol::GetConfigRequest.new
17
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
20
18
  expect(msg.type).to eq(:get_config_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 = OFGetConfigRequest.new(xid: 1)
26
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
23
+ msg = OpenFlow::Protocol::GetConfigRequest.new(xid: 1)
24
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
27
25
  expect(msg.type).to eq(:get_config_request)
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 OFHello do
1
+ describe OpenFlow::Protocol::Hello do
4
2
  let(:data) { [1, 0, 0, 8, 0, 0, 0, 1].pack('C*') }
5
3
 
6
4
  it 'should read binary' do
7
- msg = OFHello.read(data)
8
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
5
+ msg = OpenFlow::Protocol::Hello.read(data)
6
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
9
7
  expect(msg.type).to eq(:hello)
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(OFHello)
12
+ msg = OpenFlow::Protocol::Parser.read(data)
13
+ expect(msg.class).to eq(OpenFlow::Protocol::Hello)
16
14
  end
17
15
  it 'should initialize with default values' do
18
- msg = OFHello.new
19
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
16
+ msg = OpenFlow::Protocol::Hello.new
17
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
20
18
  expect(msg.type).to eq(:hello)
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 = OFHello.new(xid: 1)
26
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
23
+ msg = OpenFlow::Protocol::Hello.new(xid: 1)
24
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
27
25
  expect(msg.type).to eq(:hello)
28
26
  expect(msg.len).to eq(8)
29
27
  expect(msg.xid).to eq(1)
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe OFPacketIn do
1
+ describe OpenFlow::Protocol::PacketIn do
4
2
  let(:data) {
5
3
  [
6
4
  1, 10, 0, 64, 0, 0, 0, 1, # header
@@ -34,8 +32,8 @@ describe OFPacketIn do
34
32
  }
35
33
 
36
34
  it 'should read binary' do
37
- msg = OFPacketIn.read(data)
38
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
35
+ msg = OpenFlow::Protocol::PacketIn.read(data)
36
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
39
37
  expect(msg.type).to eq(:packet_in)
40
38
  expect(msg.len).to eq(64)
41
39
  expect(msg.xid).to eq(1)
@@ -48,12 +46,12 @@ describe OFPacketIn do
48
46
  expect(msg.parsed_data.mac_destination).to eq('00:00:00:00:00:02')
49
47
  end
50
48
  it 'should be parsable' do
51
- msg = OFParser.read(data)
52
- expect(msg.class).to eq(OFPacketIn)
49
+ msg = OpenFlow::Protocol::Parser.read(data)
50
+ expect(msg.class).to eq(OpenFlow::Protocol::PacketIn)
53
51
  end
54
52
  it 'should initialize with default values' do
55
- msg = OFPacketIn.new
56
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
53
+ msg = OpenFlow::Protocol::PacketIn.new
54
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
57
55
  expect(msg.type).to eq(:packet_in)
58
56
  expect(msg.len).to eq(18)
59
57
  expect(msg.xid).to eq(0)
@@ -64,14 +62,14 @@ describe OFPacketIn do
64
62
  expect(msg.data).to be_empty
65
63
  end
66
64
  it 'should initialize with some values' do
67
- msg = OFPacketIn.new(
65
+ msg = OpenFlow::Protocol::PacketIn.new(
68
66
  xid: 1,
69
67
  buffer_id: 1,
70
68
  in_port: 1,
71
69
  reason: :no_match,
72
70
  data: [1, 2].pack('C*')
73
71
  )
74
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
72
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
75
73
  expect(msg.type).to eq(:packet_in)
76
74
  expect(msg.len).to eq(20)
77
75
  expect(msg.xid).to eq(1)
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe OFPacketOut do
1
+ describe OpenFlow::Protocol::PacketOut do
4
2
  let(:data) {
5
3
  [
6
4
  1, 13, 0, 26, 0, 0, 0, 1, # header
@@ -18,8 +16,8 @@ describe OFPacketOut do
18
16
  }
19
17
 
20
18
  it 'should read binary' do
21
- msg = OFPacketOut.read(data)
22
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
19
+ msg = OpenFlow::Protocol::PacketOut.read(data)
20
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
23
21
  expect(msg.type).to eq(:packet_out)
24
22
  expect(msg.len).to eq(26)
25
23
  expect(msg.xid).to eq(1)
@@ -30,12 +28,12 @@ describe OFPacketOut do
30
28
  expect(msg.data.length).to eq(2)
31
29
  end
32
30
  it 'should be parsable' do
33
- msg = OFParser.read(data)
34
- expect(msg.class).to eq(OFPacketOut)
31
+ msg = OpenFlow::Protocol::Parser.read(data)
32
+ expect(msg.class).to eq(OpenFlow::Protocol::PacketOut)
35
33
  end
36
34
  it 'should initialize with default values' do
37
- msg = OFPacketOut.new
38
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
35
+ msg = OpenFlow::Protocol::PacketOut.new
36
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
39
37
  expect(msg.type).to eq(:packet_out)
40
38
  expect(msg.len).to eq(16)
41
39
  expect(msg.xid).to eq(0)
@@ -45,13 +43,13 @@ describe OFPacketOut do
45
43
  expect(msg.data).to be_empty
46
44
  end
47
45
  it 'should initialize with some values' do
48
- msg = OFPacketOut.new(
46
+ msg = OpenFlow::Protocol::PacketOut.new(
49
47
  xid: 1,
50
48
  in_port: 1,
51
- actions: [OFActionOutput.new(port: 1)],
49
+ actions: [OpenFlow::Protocol::ActionOutput.new(port: 1)],
52
50
  data: [1, 2].pack('C*')
53
51
  )
54
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
52
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
55
53
  expect(msg.type).to eq(:packet_out)
56
54
  expect(msg.len).to eq(26)
57
55
  expect(msg.xid).to eq(1)
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe OFParser do
1
+ describe OpenFlow::Protocol::Parser do
4
2
  let(:hello_msg) { [1, 0, 0, 8, 0, 0, 0, 1].pack('C*') }
5
3
  let(:packet_out_msg) {
6
4
  [
@@ -19,18 +17,18 @@ describe OFParser do
19
17
  }
20
18
 
21
19
  it 'should read binary Hello Message' do
22
- msg = OFParser.read(hello_msg)
23
- expect(msg.class).to be(OFHello)
24
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
20
+ msg = OpenFlow::Protocol::Parser.read(hello_msg)
21
+ expect(msg.class).to be(OpenFlow::Protocol::Hello)
22
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
25
23
  expect(msg.type).to eq(:hello)
26
24
  expect(msg.len).to eq(8)
27
25
  expect(msg.xid).to eq(1)
28
26
  end
29
27
 
30
28
  it 'should read binary PacketOut Message' do
31
- msg = OFParser.read(packet_out_msg)
32
- expect(msg.class).to be(OFPacketOut)
33
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
29
+ msg = OpenFlow::Protocol::Parser.read(packet_out_msg)
30
+ expect(msg.class).to be(OpenFlow::Protocol::PacketOut)
31
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
34
32
  expect(msg.type).to eq(:packet_out)
35
33
  expect(msg.len).to eq(26)
36
34
  expect(msg.xid).to eq(1)
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe OFPortMod do
1
+ describe OpenFlow::Protocol::PortMod do
4
2
  let(:data) {
5
3
  [
6
4
  1, 15, 0, 32, 0, 0, 0, 1, # header
@@ -14,8 +12,8 @@ describe OFPortMod do
14
12
  }
15
13
 
16
14
  it 'should read binary' do
17
- msg = OFPortMod.read(data)
18
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
15
+ msg = OpenFlow::Protocol::PortMod.read(data)
16
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
19
17
  expect(msg.type).to eq(:port_mod)
20
18
  expect(msg.len).to eq(32)
21
19
  expect(msg.xid).to eq(1)
@@ -29,12 +27,12 @@ describe OFPortMod do
29
27
  ])
30
28
  end
31
29
  it 'should be parsable' do
32
- msg = OFParser.read(data)
33
- expect(msg.class).to eq(OFPortMod)
30
+ msg = OpenFlow::Protocol::Parser.read(data)
31
+ expect(msg.class).to eq(OpenFlow::Protocol::PortMod)
34
32
  end
35
33
  it 'should initialize with default values' do
36
- msg = OFPortMod.new
37
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
34
+ msg = OpenFlow::Protocol::PortMod.new
35
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
38
36
  expect(msg.type).to eq(:port_mod)
39
37
  expect(msg.len).to eq(32)
40
38
  expect(msg.xid).to eq(0)
@@ -45,7 +43,7 @@ describe OFPortMod do
45
43
  expect(msg.advertise).to be_empty
46
44
  end
47
45
  it 'should initialize with some values' do
48
- msg = OFPortMod.new(
46
+ msg = OpenFlow::Protocol::PortMod.new(
49
47
  xid: 1,
50
48
  port_number: 1,
51
49
  hardware_address: '00:00:00:00:00:01',
@@ -56,7 +54,7 @@ describe OFPortMod do
56
54
  :port_10mb_full_duplex
57
55
  ]
58
56
  )
59
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
57
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
60
58
  expect(msg.type).to eq(:port_mod)
61
59
  expect(msg.len).to eq(32)
62
60
  expect(msg.xid).to eq(1)
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe OFPortStatus do
1
+ describe OpenFlow::Protocol::PortStatus do
4
2
  let(:data) {
5
3
  [
6
4
  1, 12, 0, 64, 0, 0, 0, 1, # header
@@ -23,8 +21,8 @@ describe OFPortStatus do
23
21
  }
24
22
 
25
23
  it 'should read binary' do
26
- msg = OFPortStatus.read(data)
27
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
24
+ msg = OpenFlow::Protocol::PortStatus.read(data)
25
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
28
26
  expect(msg.type).to eq(:port_status)
29
27
  expect(msg.len).to eq(64)
30
28
  expect(msg.xid).to eq(1)
@@ -32,12 +30,12 @@ describe OFPortStatus do
32
30
  expect(msg.desc.port_number).to eq(1)
33
31
  end
34
32
  it 'should be parsable' do
35
- msg = OFParser.read(data)
36
- expect(msg.class).to eq(OFPortStatus)
33
+ msg = OpenFlow::Protocol::Parser.read(data)
34
+ expect(msg.class).to eq(OpenFlow::Protocol::PortStatus)
37
35
  end
38
36
  it 'should initialize with default values' do
39
- msg = OFPortStatus.new
40
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
37
+ msg = OpenFlow::Protocol::PortStatus.new
38
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
41
39
  expect(msg.type).to eq(:port_status)
42
40
  expect(msg.len).to eq(64)
43
41
  expect(msg.xid).to eq(0)
@@ -45,12 +43,12 @@ describe OFPortStatus do
45
43
  expect(msg.desc.port_number).to eq(0)
46
44
  end
47
45
  it 'should initialize with some values' do
48
- msg = OFPortStatus.new(
46
+ msg = OpenFlow::Protocol::PortStatus.new(
49
47
  xid: 1,
50
48
  reason: :delete,
51
- desc: OFPhysicalPort.new(port_number: 1)
49
+ desc: OpenFlow::Protocol::PhysicalPort.new(port_number: 1)
52
50
  )
53
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
51
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
54
52
  expect(msg.type).to eq(:port_status)
55
53
  expect(msg.len).to eq(64)
56
54
  expect(msg.xid).to eq(1)
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe OFQueueGetConfigReply do
1
+ describe OpenFlow::Protocol::QueueGetConfigReply do
4
2
  let(:data) {
5
3
  [
6
4
  1, 21, 0, 48, 0, 0, 0, 1, # header
@@ -23,8 +21,8 @@ describe OFQueueGetConfigReply do
23
21
  }
24
22
 
25
23
  it 'should read binary' do
26
- msg = OFQueueGetConfigReply.read(data)
27
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
24
+ msg = OpenFlow::Protocol::QueueGetConfigReply.read(data)
25
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
28
26
  expect(msg.type).to eq(:queue_get_config_reply)
29
27
  expect(msg.len).to eq(48)
30
28
  expect(msg.xid).to eq(1)
@@ -35,12 +33,12 @@ describe OFQueueGetConfigReply do
35
33
  expect(msg.queues.last.queue_id).to eq(2)
36
34
  end
37
35
  it 'should be parsable' do
38
- msg = OFParser.read(data)
39
- expect(msg.class).to eq(OFQueueGetConfigReply)
36
+ msg = OpenFlow::Protocol::Parser.read(data)
37
+ expect(msg.class).to eq(OpenFlow::Protocol::QueueGetConfigReply)
40
38
  end
41
39
  it 'should initialize with default values' do
42
- msg = OFQueueGetConfigReply.new
43
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
40
+ msg = OpenFlow::Protocol::QueueGetConfigReply.new
41
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
44
42
  expect(msg.type).to eq(:queue_get_config_reply)
45
43
  expect(msg.len).to eq(16)
46
44
  expect(msg.xid).to eq(0)
@@ -48,7 +46,7 @@ describe OFQueueGetConfigReply do
48
46
  expect(msg.queues).to be_empty
49
47
  end
50
48
  it 'should initialize with some values' do
51
- msg = OFQueueGetConfigReply.new(
49
+ msg = OpenFlow::Protocol::QueueGetConfigReply.new(
52
50
  xid: 1,
53
51
  port: 2,
54
52
  queues: [
@@ -56,7 +54,7 @@ describe OFQueueGetConfigReply do
56
54
  { queue_id: 2 },
57
55
  ]
58
56
  )
59
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
57
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
60
58
  expect(msg.type).to eq(:queue_get_config_reply)
61
59
  expect(msg.len).to eq(32)
62
60
  expect(msg.xid).to eq(1)
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe OFQueueGetConfigRequest do
1
+ describe OpenFlow::Protocol::QueueGetConfigRequest do
4
2
  let(:data) {
5
3
  [
6
4
  1, 20, 0, 12, 0, 0, 0, 1, # header
@@ -10,28 +8,28 @@ describe OFQueueGetConfigRequest do
10
8
  }
11
9
 
12
10
  it 'should read binary' do
13
- msg = OFQueueGetConfigRequest.read(data)
14
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
11
+ msg = OpenFlow::Protocol::QueueGetConfigRequest.read(data)
12
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
15
13
  expect(msg.type).to eq(:queue_get_config_request)
16
14
  expect(msg.len).to eq(12)
17
15
  expect(msg.xid).to eq(1)
18
16
  expect(msg.port).to eq(1)
19
17
  end
20
18
  it 'should be parsable' do
21
- msg = OFParser.read(data)
22
- expect(msg.class).to eq(OFQueueGetConfigRequest)
19
+ msg = OpenFlow::Protocol::Parser.read(data)
20
+ expect(msg.class).to eq(OpenFlow::Protocol::QueueGetConfigRequest)
23
21
  end
24
22
  it 'should initialize with default values' do
25
- msg = OFQueueGetConfigRequest.new
26
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
23
+ msg = OpenFlow::Protocol::QueueGetConfigRequest.new
24
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
27
25
  expect(msg.type).to eq(:queue_get_config_request)
28
26
  expect(msg.len).to eq(12)
29
27
  expect(msg.xid).to eq(0)
30
28
  expect(msg.port).to eq(0)
31
29
  end
32
30
  it 'should initialize with some values' do
33
- msg = OFQueueGetConfigRequest.new(xid: 1, port: 2)
34
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
31
+ msg = OpenFlow::Protocol::QueueGetConfigRequest.new(xid: 1, port: 2)
32
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
35
33
  expect(msg.type).to eq(:queue_get_config_request)
36
34
  expect(msg.len).to eq(12)
37
35
  expect(msg.xid).to eq(1)
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe OFSetConfig do
1
+ describe OpenFlow::Protocol::SetConfig do
4
2
  let(:data) {
5
3
  [
6
4
  1, 9, 0, 12, 0, 0, 0, 1, # header
@@ -10,8 +8,8 @@ describe OFSetConfig do
10
8
  }
11
9
 
12
10
  it 'should read binary' do
13
- msg = OFSetConfig.read(data)
14
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
11
+ msg = OpenFlow::Protocol::SetConfig.read(data)
12
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
15
13
  expect(msg.type).to eq(:set_config)
16
14
  expect(msg.len).to eq(12)
17
15
  expect(msg.xid).to eq(1)
@@ -19,12 +17,12 @@ describe OFSetConfig do
19
17
  expect(msg.miss_send_length).to eq(0xff)
20
18
  end
21
19
  it 'should be parsable' do
22
- msg = OFParser.read(data)
23
- expect(msg.class).to eq(OFSetConfig)
20
+ msg = OpenFlow::Protocol::Parser.read(data)
21
+ expect(msg.class).to eq(OpenFlow::Protocol::SetConfig)
24
22
  end
25
23
  it 'should initialize with default values' do
26
- msg = OFSetConfig.new
27
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
24
+ msg = OpenFlow::Protocol::SetConfig.new
25
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
28
26
  expect(msg.type).to eq(:set_config)
29
27
  expect(msg.len).to eq(12)
30
28
  expect(msg.xid).to eq(0)
@@ -32,12 +30,12 @@ describe OFSetConfig do
32
30
  expect(msg.miss_send_length).to eq(0)
33
31
  end
34
32
  it 'should initialize with some values' do
35
- msg = OFSetConfig.new(
33
+ msg = OpenFlow::Protocol::SetConfig.new(
36
34
  xid: 1,
37
35
  flags: :fragments_normal,
38
36
  miss_send_length: 0xff
39
37
  )
40
- expect(msg.version).to eq(OFMessage::OFP_VERSION)
38
+ expect(msg.version).to eq(OpenFlow::Protocol::Message::OFP_VERSION)
41
39
  expect(msg.type).to eq(:set_config)
42
40
  expect(msg.len).to eq(12)
43
41
  expect(msg.xid).to eq(1)