trema 0.4.6 → 0.4.7

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 (291) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/.travis.yml +24 -7
  4. data/Gemfile +19 -27
  5. data/Guardfile +6 -0
  6. data/README.md +13 -5
  7. data/Rakefile +418 -415
  8. data/bin/quality +2 -2
  9. data/bin/trema +103 -105
  10. data/bin/trema-config +7 -7
  11. data/build.rb +2 -2
  12. data/cruise.rb +109 -83
  13. data/features/dsl/switch_port_specifier.feature +1 -1
  14. data/features/examples/dumper.feature +9 -41
  15. data/features/examples/hello_trema.feature +1 -1
  16. data/features/examples/learning_switch.feature +7 -7
  17. data/features/examples/list_switches.feature +5 -5
  18. data/features/examples/message.set_config.feature +11 -11
  19. data/features/examples/message.vendor-action.feature +7 -7
  20. data/features/examples/message.vendor-stats-request.feature +1 -1
  21. data/features/examples/multi_learning_switch.feature +7 -7
  22. data/features/examples/openflow_message.echo.feature +15 -15
  23. data/features/examples/openflow_message.features_request.feature +12 -12
  24. data/features/examples/openflow_message.hello.feature +13 -13
  25. data/features/examples/packet_in.feature +8 -8
  26. data/features/examples/patch_panel.feature +1 -1
  27. data/features/examples/repeater_hub.feature +7 -7
  28. data/features/examples/switch_info.feature +16 -16
  29. data/features/examples/switch_monitor.feature +11 -11
  30. data/features/examples/transparent_firewall.feature +73 -0
  31. data/features/handlers/switch_ready.feature +1 -1
  32. data/features/step_definitions/misc_steps.rb +24 -24
  33. data/features/step_definitions/send_packets_steps.rb +2 -2
  34. data/features/step_definitions/stats_steps.rb +6 -6
  35. data/features/support/env.rb +15 -15
  36. data/features/support/hooks.rb +9 -9
  37. data/features/switch_event/add_forward_entry.feature +3 -3
  38. data/features/switch_event/delete_forward_entry.feature +3 -3
  39. data/features/switch_event/dump_forward_entries.feature +2 -2
  40. data/features/switch_event/set_forward_entries.feature +2 -2
  41. data/features/trema_commands/dump_flows.feature +1 -0
  42. data/features/trema_commands/help.feature +1 -0
  43. data/features/trema_commands/help_option.feature +1 -0
  44. data/features/trema_commands/kill.feature +1 -0
  45. data/features/trema_commands/killall.feature +1 -0
  46. data/features/trema_commands/port_down.feature +1 -0
  47. data/features/trema_commands/port_up.feature +1 -0
  48. data/features/trema_commands/reset_stats.feature +1 -0
  49. data/features/trema_commands/run.feature +1 -0
  50. data/features/trema_commands/send_packets.feature +2 -1
  51. data/features/trema_commands/show_stats.feature +1 -0
  52. data/features/trema_commands/up.feature +1 -0
  53. data/features/trema_commands/version.feature +1 -0
  54. data/features/trema_commands/version_option.feature +1 -0
  55. data/rubocop-todo.yml +159 -0
  56. data/ruby/blocker.rb +15 -17
  57. data/ruby/extconf.rb +19 -19
  58. data/ruby/sub-process.rb +29 -29
  59. data/ruby/trema/aggregate-stats-reply.rb +2 -2
  60. data/ruby/trema/app.rb +13 -13
  61. data/ruby/trema/cli.rb +45 -45
  62. data/ruby/trema/command.rb +14 -14
  63. data/ruby/trema/command/dump_flows.rb +5 -5
  64. data/ruby/trema/command/kill.rb +13 -13
  65. data/ruby/trema/command/killall.rb +1 -1
  66. data/ruby/trema/command/netns.rb +3 -3
  67. data/ruby/trema/command/port_down.rb +7 -7
  68. data/ruby/trema/command/port_up.rb +7 -7
  69. data/ruby/trema/command/reset_stats.rb +6 -6
  70. data/ruby/trema/command/ruby.rb +2 -2
  71. data/ruby/trema/command/run.rb +23 -23
  72. data/ruby/trema/command/send_packets.rb +9 -9
  73. data/ruby/trema/command/shell.rb +14 -16
  74. data/ruby/trema/command/show_stats.rb +9 -9
  75. data/ruby/trema/command/up.rb +4 -4
  76. data/ruby/trema/command/version.rb +1 -1
  77. data/ruby/trema/controller.rb +10 -10
  78. data/ruby/trema/custom-switch.rb +4 -4
  79. data/ruby/trema/daemon.rb +21 -21
  80. data/ruby/trema/desc-stats-reply.rb +2 -2
  81. data/ruby/trema/dsl.rb +5 -5
  82. data/ruby/trema/dsl/configuration.rb +7 -7
  83. data/ruby/trema/dsl/context.rb +10 -10
  84. data/ruby/trema/dsl/custom-switch.rb +3 -3
  85. data/ruby/trema/dsl/link.rb +2 -2
  86. data/ruby/trema/dsl/netns.rb +9 -9
  87. data/ruby/trema/dsl/parser.rb +14 -14
  88. data/ruby/trema/dsl/rswitch.rb +3 -3
  89. data/ruby/trema/dsl/run.rb +4 -4
  90. data/ruby/trema/dsl/runner.rb +20 -20
  91. data/ruby/trema/dsl/stanza.rb +5 -5
  92. data/ruby/trema/dsl/switch.rb +14 -14
  93. data/ruby/trema/dsl/syntax.rb +54 -54
  94. data/ruby/trema/dsl/vhost.rb +9 -9
  95. data/ruby/trema/dsl/vswitch.rb +4 -4
  96. data/ruby/trema/enqueue.rb +11 -11
  97. data/ruby/trema/exact-match.rb +1 -1
  98. data/ruby/trema/executables.rb +19 -19
  99. data/ruby/trema/flow-stats-reply.rb +2 -2
  100. data/ruby/trema/flow.rb +8 -8
  101. data/ruby/trema/hardware-switch.rb +2 -2
  102. data/ruby/trema/host.rb +18 -18
  103. data/ruby/trema/link.rb +9 -9
  104. data/ruby/trema/mac.rb +1 -5
  105. data/ruby/trema/match.c +0 -1
  106. data/ruby/trema/monkey-patch/integer.rb +3 -3
  107. data/ruby/trema/monkey-patch/integer/base-conversions.rb +1 -1
  108. data/ruby/trema/monkey-patch/integer/ranges.rb +2 -2
  109. data/ruby/trema/monkey-patch/integer/validators.rb +1 -1
  110. data/ruby/trema/monkey-patch/module.rb +2 -2
  111. data/ruby/trema/monkey-patch/module/class-method.rb +2 -2
  112. data/ruby/trema/monkey-patch/module/deprecation.rb +1 -1
  113. data/ruby/trema/monkey-patch/string.rb +1 -1
  114. data/ruby/trema/monkey-patch/string/inflectors.rb +7 -7
  115. data/ruby/trema/netns.rb +6 -6
  116. data/ruby/trema/network-component.rb +7 -7
  117. data/ruby/trema/ofctl.rb +13 -13
  118. data/ruby/trema/open-vswitch.rb +25 -25
  119. data/ruby/trema/openflow-switch.rb +1 -1
  120. data/ruby/trema/ordered-hash.rb +8 -8
  121. data/ruby/trema/packet-in.c +0 -1
  122. data/ruby/trema/packet-queue.rb +8 -8
  123. data/ruby/trema/packetin-filter.rb +9 -9
  124. data/ruby/trema/path.rb +32 -32
  125. data/ruby/trema/phost.rb +5 -5
  126. data/ruby/trema/port-mod.c +0 -1
  127. data/ruby/trema/port-stats-reply.rb +2 -2
  128. data/ruby/trema/port-status-add.rb +2 -2
  129. data/ruby/trema/port-status-delete.rb +2 -2
  130. data/ruby/trema/port-status-modify.rb +2 -2
  131. data/ruby/trema/port.c +0 -1
  132. data/ruby/trema/process.rb +7 -7
  133. data/ruby/trema/queue-stats-reply.rb +2 -2
  134. data/ruby/trema/ruby-switch.rb +6 -6
  135. data/ruby/trema/send-out-port.rb +11 -11
  136. data/ruby/trema/set-eth-addr.rb +5 -5
  137. data/ruby/trema/set-eth-dst-addr.rb +1 -1
  138. data/ruby/trema/set-eth-src-addr.rb +1 -1
  139. data/ruby/trema/set-ip-addr.rb +6 -6
  140. data/ruby/trema/set-ip-dst-addr.rb +1 -1
  141. data/ruby/trema/set-ip-src-addr.rb +1 -1
  142. data/ruby/trema/set-ip-tos.rb +6 -6
  143. data/ruby/trema/set-transport-dst-port.rb +2 -2
  144. data/ruby/trema/set-transport-port.rb +7 -7
  145. data/ruby/trema/set-transport-src-port.rb +3 -3
  146. data/ruby/trema/set-vlan-priority.rb +6 -6
  147. data/ruby/trema/set-vlan-vid.rb +6 -6
  148. data/ruby/trema/shell.rb +10 -10
  149. data/ruby/trema/shell/down.rb +3 -3
  150. data/ruby/trema/shell/killall.rb +1 -1
  151. data/ruby/trema/shell/link.rb +14 -14
  152. data/ruby/trema/shell/reset_stats.rb +6 -6
  153. data/ruby/trema/shell/run.rb +7 -7
  154. data/ruby/trema/shell/send_packets.rb +3 -3
  155. data/ruby/trema/shell/show_stats.rb +7 -7
  156. data/ruby/trema/shell/up.rb +5 -5
  157. data/ruby/trema/shell/vhost.rb +4 -4
  158. data/ruby/trema/shell/vswitch.rb +7 -7
  159. data/ruby/trema/stats-helper.rb +3 -3
  160. data/ruby/trema/stats-reply.c +0 -1
  161. data/ruby/trema/strip-vlan-header.rb +1 -1
  162. data/ruby/trema/switch-daemon.rb +9 -9
  163. data/ruby/trema/switch-manager.rb +9 -9
  164. data/ruby/trema/switch.rb +7 -7
  165. data/ruby/trema/table-stats-reply.rb +2 -2
  166. data/ruby/trema/timers.rb +12 -12
  167. data/ruby/trema/trema.c +0 -1
  168. data/ruby/trema/tremashark.rb +1 -1
  169. data/ruby/trema/util.rb +25 -27
  170. data/ruby/trema/vendor-action.rb +10 -10
  171. data/ruby/trema/vendor-stats-reply.rb +2 -2
  172. data/ruby/trema/version.rb +1 -1
  173. data/spec/spec_helper.rb +50 -52
  174. data/spec/support/action.rb +9 -12
  175. data/spec/support/mandatory-option.rb +15 -18
  176. data/spec/support/matchers/constant.rb +7 -7
  177. data/spec/support/openflow-message.rb +76 -79
  178. data/spec/support/port-status.rb +7 -10
  179. data/spec/trema/app_spec.rb +27 -27
  180. data/spec/trema/barrier-reply_spec.rb +10 -10
  181. data/spec/trema/barrier-request_spec.rb +35 -35
  182. data/spec/trema/cli_spec.rb +63 -63
  183. data/spec/trema/controller_spec.rb +3 -3
  184. data/spec/trema/default-logger_spec.rb +4 -4
  185. data/spec/trema/dsl/configuration_spec.rb +47 -47
  186. data/spec/trema/dsl/link_spec.rb +11 -11
  187. data/spec/trema/dsl/run_spec.rb +19 -19
  188. data/spec/trema/dsl/runner_spec.rb +91 -91
  189. data/spec/trema/dsl/switch_spec.rb +16 -16
  190. data/spec/trema/dsl/syntax_spec.rb +22 -22
  191. data/spec/trema/dsl/vhost_spec.rb +37 -37
  192. data/spec/trema/dsl/vswitch_spec.rb +21 -21
  193. data/spec/trema/echo-reply_spec.rb +29 -29
  194. data/spec/trema/echo-request_spec.rb +54 -54
  195. data/spec/trema/enqueue_spec.rb +25 -25
  196. data/spec/trema/error_spec.rb +30 -30
  197. data/spec/trema/executables_spec.rb +20 -20
  198. data/spec/trema/features-reply_spec.rb +41 -41
  199. data/spec/trema/features-request_spec.rb +35 -35
  200. data/spec/trema/flow-mod_spec.rb +32 -32
  201. data/spec/trema/flow-removed_spec.rb +62 -62
  202. data/spec/trema/get-config-reply_spec.rb +14 -12
  203. data/spec/trema/get-config-request_spec.rb +35 -35
  204. data/spec/trema/hardware-switch_spec.rb +12 -12
  205. data/spec/trema/hello_spec.rb +17 -17
  206. data/spec/trema/host_spec.rb +71 -71
  207. data/spec/trema/link_spec.rb +13 -13
  208. data/spec/trema/list-switches-reply_spec.rb +10 -10
  209. data/spec/trema/match_spec.rb +41 -41
  210. data/spec/trema/open-vswitch_spec.rb +45 -45
  211. data/spec/trema/openflow-error_spec.rb +67 -65
  212. data/spec/trema/packet-in_spec.rb +450 -446
  213. data/spec/trema/packet-out_spec.rb +42 -42
  214. data/spec/trema/packetin-filter_spec.rb +5 -5
  215. data/spec/trema/port-mod_spec.rb +32 -32
  216. data/spec/trema/port-status-add_spec.rb +3 -3
  217. data/spec/trema/port-status-delete_spec.rb +3 -3
  218. data/spec/trema/port-status-modify_spec.rb +16 -16
  219. data/spec/trema/port-status_spec.rb +2 -2
  220. data/spec/trema/port_spec.rb +21 -21
  221. data/spec/trema/process_spec.rb +22 -22
  222. data/spec/trema/queue-get-config-reply_spec.rb +21 -20
  223. data/spec/trema/queue-get-config-request_spec.rb +24 -24
  224. data/spec/trema/send-out-port_spec.rb +42 -42
  225. data/spec/trema/set-config_spec.rb +31 -31
  226. data/spec/trema/set-eth-addr_spec.rb +21 -21
  227. data/spec/trema/set-ip-addr_spec.rb +29 -29
  228. data/spec/trema/set-ip-tos_spec.rb +26 -26
  229. data/spec/trema/set-transport-dst-port_spec.rb +22 -22
  230. data/spec/trema/set-transport-src-port_spec.rb +22 -22
  231. data/spec/trema/set-vlan-priority_spec.rb +23 -23
  232. data/spec/trema/set-vlan-vid_spec.rb +23 -23
  233. data/spec/trema/shell/vhost_spec.rb +21 -21
  234. data/spec/trema/shell/vswitch_spec.rb +30 -30
  235. data/spec/trema/stats-reply_spec.rb +183 -173
  236. data/spec/trema/stats-request_spec.rb +66 -66
  237. data/spec/trema/strip-vlan-header_spec.rb +11 -11
  238. data/spec/trema/switch-daemon_spec.rb +34 -34
  239. data/spec/trema/switch-disconnected_spec.rb +17 -17
  240. data/spec/trema/switch-manager_spec.rb +6 -6
  241. data/spec/trema/tremashark_spec.rb +4 -4
  242. data/spec/trema/util_spec.rb +35 -35
  243. data/spec/trema/vendor-action_spec.rb +26 -26
  244. data/spec/trema/vendor_spec.rb +27 -27
  245. data/spec/trema_spec.rb +2 -2
  246. data/src/examples/cbench_switch/cbench-switch.rb +3 -3
  247. data/src/examples/dumper/dumper.rb +31 -31
  248. data/src/examples/hello_trema/hello-trema.rb +2 -2
  249. data/src/examples/learning_switch/fdb.rb +14 -14
  250. data/src/examples/learning_switch/learning-switch.rb +12 -10
  251. data/src/examples/learning_switch/learning_switch.c +22 -39
  252. data/src/examples/list_switches/list-switches.rb +3 -3
  253. data/src/examples/match_compare/match-compare.rb +20 -20
  254. data/src/examples/multi_learning_switch/multi-learning-switch.rb +12 -12
  255. data/src/examples/openflow_message/echo.rb +4 -4
  256. data/src/examples/openflow_message/example.rb +7 -7
  257. data/src/examples/openflow_message/features-request.rb +31 -31
  258. data/src/examples/openflow_message/hello.rb +2 -2
  259. data/src/examples/openflow_message/set-config.rb +4 -4
  260. data/src/examples/openflow_message/vendor-action.rb +3 -3
  261. data/src/examples/openflow_message/vendor-stats-request.rb +9 -9
  262. data/src/examples/packet_in/packet-in.rb +2 -2
  263. data/src/examples/patch_panel/patch-panel.rb +9 -9
  264. data/src/examples/repeater_hub/repeater-hub.rb +4 -4
  265. data/src/examples/repeater_hub/repeater-hub_spec.rb +65 -65
  266. data/src/examples/simple_router/arp-table.rb +7 -7
  267. data/src/examples/simple_router/interface.rb +10 -10
  268. data/src/examples/simple_router/routing-table.rb +4 -4
  269. data/src/examples/simple_router/simple-router.rb +3 -3
  270. data/src/examples/switch_info/switch-info.rb +9 -9
  271. data/src/examples/switch_monitor/switch-monitor.rb +4 -4
  272. data/src/examples/traffic_monitor/counter.rb +6 -6
  273. data/src/examples/traffic_monitor/fdb.rb +4 -4
  274. data/src/examples/traffic_monitor/traffic-monitor.rb +12 -12
  275. data/src/examples/transparent_firewall/README.md +61 -0
  276. data/src/examples/transparent_firewall/aggregated-delegated-afrinic.txt +713 -0
  277. data/src/examples/transparent_firewall/aggregated-delegated-apnic.txt +3440 -0
  278. data/src/examples/transparent_firewall/aggregated-delegated-arin.txt +11342 -0
  279. data/src/examples/transparent_firewall/aggregated-delegated-lacnic.txt +1937 -0
  280. data/src/examples/transparent_firewall/aggregated-delegated-ripencc.txt +7329 -0
  281. data/src/examples/transparent_firewall/block-rfc1918.rb +86 -0
  282. data/src/examples/transparent_firewall/pass-delegated.rb +178 -0
  283. data/src/examples/transparent_firewall/regen_aggregated.sh +53 -0
  284. data/src/examples/transparent_firewall/stats-to-cidrs.rb +59 -0
  285. data/src/lib/messenger.c +14 -5
  286. data/src/lib/openflow_message.c +0 -5
  287. data/tasks/rubocop.rake +22 -0
  288. data/trema +1 -1
  289. data/trema-config +1 -1
  290. data/trema.gemspec +22 -22
  291. metadata +30 -16
@@ -16,48 +16,48 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema'
21
21
 
22
22
 
23
- describe SetIpTos, ".new( type_of_service )", :type => "actions" do
24
- subject { SetIpTos.new( type_of_service ) }
23
+ describe SetIpTos, '.new( type_of_service )', :type => 'actions' do
24
+ subject { SetIpTos.new(type_of_service) }
25
25
 
26
- context "with type_of_service (32)" do
27
- let( :type_of_service ) { 32 }
28
- its( :type_of_service ) { should == 32 }
26
+ context 'with type_of_service (32)' do
27
+ let(:type_of_service) { 32 }
28
+ its(:type_of_service) { should == 32 }
29
29
  end
30
30
 
31
- it_validates "option is within range", :type_of_service, 0..( 2 ** 8 - 1 )
31
+ it_validates 'option is within range', :type_of_service, 0..( 2**8 - 1)
32
32
 
33
- context %{with type_of_service ("32")} do
34
- let( :type_of_service ) { "32" }
35
- it { expect { subject }.to raise_error( TypeError ) }
33
+ context 'with type_of_service (32)' do
34
+ let(:type_of_service) { '32' }
35
+ it { expect { subject }.to raise_error(TypeError) }
36
36
  end
37
37
 
38
- context %{with type_of_service ([32])} do
39
- let( :type_of_service ) { [ 32 ] }
40
- it { expect { subject }.to raise_error( TypeError ) }
38
+ context 'with type_of_service ([32])' do
39
+ let(:type_of_service) { [32] }
40
+ it { expect { subject }.to raise_error(TypeError) }
41
41
  end
42
42
 
43
- context "with type_of_service (1)" do
44
- let( :type_of_service ) { 1 }
45
- it { expect { subject }.to raise_error( ArgumentError ) }
43
+ context 'with type_of_service (1)' do
44
+ let(:type_of_service) { 1 }
45
+ it { expect { subject }.to raise_error(ArgumentError) }
46
46
  end
47
47
 
48
- context "when sending a Flow Mod with SetIpTos" do
49
- let( :type_of_service ) { 4 }
48
+ context 'when sending a Flow Mod with SetIpTos' do
49
+ let(:type_of_service) { 4 }
50
50
 
51
- it "should insert a new flow entry with action (mod_nw_tos:4)" do
51
+ it 'should insert a new flow entry with action (mod_nw_tos:4)' do
52
52
  class TestController < Controller; end
53
- network {
53
+ network do
54
54
  vswitch { datapath_id 0xabc }
55
- }.run( TestController ) {
56
- controller( "TestController" ).send_flow_mod_add( 0xabc, :actions => subject )
55
+ end.run(TestController) do
56
+ controller('TestController').send_flow_mod_add(0xabc, :actions => subject)
57
57
  sleep 2
58
- expect( vswitch( "0xabc" ) ).to have( 1 ).flows
59
- expect( vswitch( "0xabc" ).flows[ 0 ].actions ).to eq( "mod_nw_tos:4" )
60
- }
58
+ expect(vswitch('0xabc')).to have(1).flows
59
+ expect(vswitch('0xabc').flows[ 0].actions).to eq('mod_nw_tos:4')
60
+ end
61
61
  end
62
62
  end
63
63
  end
@@ -16,43 +16,43 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema'
21
21
 
22
22
 
23
- describe SetTransportDstPort, "new( port_number )", :type => "actions" do
23
+ describe SetTransportDstPort, 'new( port_number )', :type => 'actions' do
24
24
  subject { SetTransportDstPort.new port_number }
25
25
 
26
- context "with port_number (5555)" do
27
- let( :port_number ) { 5555 }
28
- its( :port_number ) { should == 5555 }
26
+ context 'with port_number (5555)' do
27
+ let(:port_number) { 5555 }
28
+ its(:port_number) { should == 5555 }
29
29
  end
30
30
 
31
- it_validates "option is within range", :port_number, 0..( 2 ** 16 - 1 )
31
+ it_validates 'option is within range', :port_number, 0..( 2**16 - 1)
32
32
 
33
- context %{with invalid port_number ("5555")} do
34
- let( :port_number ) { "5555" }
35
- it { expect { subject }.to raise_error( TypeError ) }
33
+ context 'with invalid port_number (5555)' do
34
+ let(:port_number) { '5555' }
35
+ it { expect { subject }.to raise_error(TypeError) }
36
36
  end
37
37
 
38
- context %{with invalid port_number ([1, 2, 3])} do
39
- let( :port_number ) { [ 1, 2, 3 ] }
40
- it { expect { subject }.to raise_error( TypeError ) }
38
+ context 'with invalid port_number ([1, 2, 3])' do
39
+ let(:port_number) { [1, 2, 3] }
40
+ it { expect { subject }.to raise_error(TypeError) }
41
41
  end
42
42
 
43
- context "when sending a Flow Mod with SetTransportDstPort" do
44
- let( :port_number ) { 5555 }
43
+ context 'when sending a Flow Mod with SetTransportDstPort' do
44
+ let(:port_number) { 5555 }
45
45
 
46
- it "should insert a new flow entry with action (mod_tp_dst:5555)" do
46
+ it 'should insert a new flow entry with action (mod_tp_dst:5555)' do
47
47
  class TestController < Controller; end
48
- network {
48
+ network do
49
49
  vswitch { datapath_id 0xabc }
50
- }.run( TestController ) {
51
- controller( "TestController" ).send_flow_mod_add( 0xabc, :actions => subject )
50
+ end.run(TestController) do
51
+ controller('TestController').send_flow_mod_add(0xabc, :actions => subject)
52
52
  sleep 2
53
- expect( vswitch( "0xabc" ) ).to have( 1 ).flows
54
- expect( vswitch( "0xabc" ).flows[ 0 ].actions ).to eq( "mod_tp_dst:5555" )
55
- }
53
+ expect(vswitch('0xabc')).to have(1).flows
54
+ expect(vswitch('0xabc').flows[ 0].actions).to eq('mod_tp_dst:5555')
55
+ end
56
56
  end
57
57
  end
58
58
  end
@@ -16,43 +16,43 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema'
21
21
 
22
22
 
23
- describe SetTransportSrcPort, "new( port_number )", :type => "actions" do
23
+ describe SetTransportSrcPort, 'new( port_number )', :type => 'actions' do
24
24
  subject { SetTransportSrcPort.new port_number }
25
25
 
26
- context "with port_number (5555)" do
27
- let( :port_number ) { 5555 }
28
- its( :port_number ) { should == 5555 }
26
+ context 'with port_number (5555)' do
27
+ let(:port_number) { 5555 }
28
+ its(:port_number) { should == 5555 }
29
29
  end
30
30
 
31
- it_validates "option is within range", :port_number, 0..( 2 ** 16 - 1 )
31
+ it_validates 'option is within range', :port_number, 0..( 2**16 - 1)
32
32
 
33
- context %{with invalid port_number ("5555")} do
34
- let( :port_number ) { "5555" }
35
- it { expect { subject }.to raise_error( TypeError ) }
33
+ context 'with invalid port_number (5555)' do
34
+ let(:port_number) { '5555' }
35
+ it { expect { subject }.to raise_error(TypeError) }
36
36
  end
37
37
 
38
- context %{with invalid port_number ([1, 2, 3])} do
39
- let( :port_number ) { [ 1, 2, 3 ] }
40
- it { expect { subject }.to raise_error( TypeError ) }
38
+ context 'with invalid port_number ([1, 2, 3])' do
39
+ let(:port_number) { [1, 2, 3] }
40
+ it { expect { subject }.to raise_error(TypeError) }
41
41
  end
42
42
 
43
- context "when sending a Flow Mod with SetTransportSrcPort" do
44
- let( :port_number ) { 5555 }
43
+ context 'when sending a Flow Mod with SetTransportSrcPort' do
44
+ let(:port_number) { 5555 }
45
45
 
46
- it "should insert a new flow entry with action (mod_tp_src:5555)" do
46
+ it 'should insert a new flow entry with action (mod_tp_src:5555)' do
47
47
  class TestController < Controller; end
48
- network {
48
+ network do
49
49
  vswitch { datapath_id 0xabc }
50
- }.run( TestController ) {
51
- controller( "TestController" ).send_flow_mod_add( 0xabc, :actions => subject )
50
+ end.run(TestController) do
51
+ controller('TestController').send_flow_mod_add(0xabc, :actions => subject)
52
52
  sleep 2
53
- expect( vswitch( "0xabc" ) ).to have( 1 ).flows
54
- expect( vswitch( "0xabc" ).flows[ 0 ].actions ).to eq( "mod_tp_src:5555" )
55
- }
53
+ expect(vswitch('0xabc')).to have(1).flows
54
+ expect(vswitch('0xabc').flows[ 0].actions).to eq('mod_tp_src:5555')
55
+ end
56
56
  end
57
57
  end
58
58
  end
@@ -16,43 +16,43 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema'
21
21
 
22
22
 
23
- describe SetVlanPriority, ".new(vlan_priority)", :type => "actions" do
24
- subject { SetVlanPriority.new( vlan_priority ) }
23
+ describe SetVlanPriority, '.new(vlan_priority)', :type => 'actions' do
24
+ subject { SetVlanPriority.new(vlan_priority) }
25
25
 
26
- context "with vlan_priority (4)" do
27
- let( :vlan_priority ) { 4 }
28
- its( :vlan_priority ) { should == 4 }
26
+ context 'with vlan_priority (4)' do
27
+ let(:vlan_priority) { 4 }
28
+ its(:vlan_priority) { should == 4 }
29
29
  end
30
30
 
31
- it_validates "option is within range", :vlan_priority, 0..7
31
+ it_validates 'option is within range', :vlan_priority, 0..7
32
32
 
33
- context %{with vlan_priority ("4")} do
34
- let( :vlan_priority ) { "4" }
35
- it { expect { subject }.to raise_error( TypeError ) }
33
+ context 'with vlan_priority (4)' do
34
+ let(:vlan_priority) { '4' }
35
+ it { expect { subject }.to raise_error(TypeError) }
36
36
  end
37
37
 
38
- context "with vlan_priority ([4])" do
39
- let( :vlan_priority ) { [ 4 ] }
40
- it { expect { subject }.to raise_error( TypeError ) }
38
+ context 'with vlan_priority ([4])' do
39
+ let(:vlan_priority) { [4] }
40
+ it { expect { subject }.to raise_error(TypeError) }
41
41
  end
42
42
 
43
- context "when sending a Flow Mod with SetVlanVid" do
44
- let( :vlan_priority ) { 7 }
43
+ context 'when sending a Flow Mod with SetVlanVid' do
44
+ let(:vlan_priority) { 7 }
45
45
 
46
- it "should insert a new flow with action (mod_vlan_pcp:7)" do
46
+ it 'should insert a new flow with action (mod_vlan_pcp:7)' do
47
47
  class TestController < Controller; end
48
- network {
48
+ network do
49
49
  vswitch { datapath_id 0xabc }
50
- }.run( TestController ) {
51
- controller( "TestController" ).send_flow_mod_add( 0xabc, :actions => subject )
50
+ end.run(TestController) do
51
+ controller('TestController').send_flow_mod_add(0xabc, :actions => subject)
52
52
  sleep 2
53
- expect( vswitch( "0xabc" ) ).to have( 1 ).flows
54
- expect( vswitch( "0xabc" ).flows[ 0 ].actions ).to eq( "mod_vlan_pcp:7" )
55
- }
53
+ expect(vswitch('0xabc')).to have(1).flows
54
+ expect(vswitch('0xabc').flows[ 0].actions).to eq('mod_vlan_pcp:7')
55
+ end
56
56
  end
57
57
  end
58
58
  end
@@ -16,43 +16,43 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
20
- require "trema"
19
+ require File.join(File.dirname(__FILE__), '..', 'spec_helper')
20
+ require 'trema'
21
21
 
22
22
 
23
- describe SetVlanVid, ".new(vlan_id)", :type => "actions" do
24
- subject { SetVlanVid.new( vlan_id ) }
23
+ describe SetVlanVid, '.new(vlan_id)', :type => 'actions' do
24
+ subject { SetVlanVid.new(vlan_id) }
25
25
 
26
- context "with vlan_id (1024)" do
27
- let( :vlan_id ) { 1024 }
28
- its( :vlan_id ) { should == 1024 }
26
+ context 'with vlan_id (1024)' do
27
+ let(:vlan_id) { 1024 }
28
+ its(:vlan_id) { should == 1024 }
29
29
  end
30
30
 
31
- it_validates "option is within range", :vlan_id, 1..4095
31
+ it_validates 'option is within range', :vlan_id, 1..4095
32
32
 
33
- context %{with vlan_id ("1024")} do
34
- let( :vlan_id ) { "1024" }
35
- it { expect { subject }.to raise_error( TypeError ) }
33
+ context 'with vlan_id (1024)' do
34
+ let(:vlan_id) { '1024' }
35
+ it { expect { subject }.to raise_error(TypeError) }
36
36
  end
37
37
 
38
- context "with vlan_id ([1024])" do
39
- let( :vlan_id ) { [ 1024 ] }
40
- it { expect { subject }.to raise_error( TypeError ) }
38
+ context 'with vlan_id ([1024])' do
39
+ let(:vlan_id) { [1024] }
40
+ it { expect { subject }.to raise_error(TypeError) }
41
41
  end
42
42
 
43
- context "when sending a Flow Mod with SetVlanVid" do
44
- let( :vlan_id ) { 1024 }
43
+ context 'when sending a Flow Mod with SetVlanVid' do
44
+ let(:vlan_id) { 1024 }
45
45
 
46
- it "should insert a new flow entry with action (mod_vlan_vid:1024)" do
46
+ it 'should insert a new flow entry with action (mod_vlan_vid:1024)' do
47
47
  class TestController < Controller; end
48
- network {
48
+ network do
49
49
  vswitch { datapath_id 0xabc }
50
- }.run( TestController ) {
51
- controller( "TestController" ).send_flow_mod_add( 0xabc, :actions => subject )
50
+ end.run(TestController) do
51
+ controller('TestController').send_flow_mod_add(0xabc, :actions => subject)
52
52
  sleep 2
53
- expect( vswitch( "0xabc" ) ).to have( 1 ).flows
54
- expect( vswitch( "0xabc" ).flows[ 0 ].actions ).to eq( "mod_vlan_vid:1024" )
55
- }
53
+ expect(vswitch('0xabc')).to have(1).flows
54
+ expect(vswitch('0xabc').flows[ 0].actions).to eq('mod_vlan_vid:1024')
55
+ end
56
56
  end
57
57
  end
58
58
  end
@@ -16,37 +16,37 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "..", "spec_helper" )
19
+ require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
20
20
 
21
21
 
22
- describe Trema::Shell, ".vhost" do
23
- before {
22
+ describe Trema::Shell, '.vhost' do
23
+ before do
24
24
  Trema::Host.clear
25
- $context = mock( "context", :dump => true )
26
- }
25
+ $context = mock('context', :dump => true)
26
+ end
27
27
 
28
28
 
29
- it "should create a new vhost if name given" do
30
- Trema::Shell.vhost( "host1" )
29
+ it 'should create a new vhost if name given' do
30
+ Trema::Shell.vhost('host1')
31
31
 
32
- expect( Trema::Host ).to have( 1 ).host
33
- expect( Trema::Host[ "host1" ].name ).to eq( "host1" )
32
+ expect(Trema::Host).to have(1).host
33
+ expect(Trema::Host[ 'host1'].name).to eq('host1')
34
34
  end
35
35
 
36
36
 
37
- it "should take ip, netmask, promisc, and mac option" do
38
- Trema::Shell.vhost( "host1" ) {
39
- ip "192.168.100.1"
40
- netmask "255.255.255.0"
41
- promisc "on"
42
- mac "00:00:00:1:1:1"
43
- }
37
+ it 'should take ip, netmask, promisc, and mac option' do
38
+ Trema::Shell.vhost('host1') do
39
+ ip '192.168.100.1'
40
+ netmask '255.255.255.0'
41
+ promisc 'on'
42
+ mac '00:00:00:1:1:1'
43
+ end
44
44
 
45
- expect( Trema::Host ).to have( 1 ).host
46
- expect( Trema::Host[ "host1" ].name ).to eq( "host1" )
47
- expect( Trema::Host[ "host1" ].ip ).to eq( "192.168.100.1" )
48
- expect( Trema::Host[ "host1" ].promisc ).to be_true
49
- expect( Trema::Host[ "host1" ].mac ).to eq( "00:00:00:1:1:1" )
45
+ expect(Trema::Host).to have(1).host
46
+ expect(Trema::Host[ 'host1'].name).to eq('host1')
47
+ expect(Trema::Host[ 'host1'].ip).to eq('192.168.100.1')
48
+ expect(Trema::Host[ 'host1'].promisc).to be_true
49
+ expect(Trema::Host[ 'host1'].mac).to eq('00:00:00:1:1:1')
50
50
  end
51
51
  end
52
52
 
@@ -16,10 +16,10 @@
16
16
  #
17
17
 
18
18
 
19
- require File.join( File.dirname( __FILE__ ), "..", "..", "spec_helper" )
19
+ require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
20
20
 
21
21
 
22
- describe Trema::Shell, ".vswitch" do
22
+ describe Trema::Shell, '.vswitch' do
23
23
  around do | example |
24
24
  Trema::OpenflowSwitch.clear
25
25
  example.run
@@ -27,54 +27,54 @@ describe Trema::Shell, ".vswitch" do
27
27
  end
28
28
 
29
29
 
30
- context "executed without a shell" do
30
+ context 'executed without a shell' do
31
31
  before { $config = nil }
32
32
 
33
33
 
34
- it "should raise" do
35
- expect {
36
- Trema::Shell.vswitch { dpid "0xabc" }
37
- }.to raise_error( "Not in Trema shell" )
34
+ it 'should raise' do
35
+ expect do
36
+ Trema::Shell.vswitch { dpid '0xabc' }
37
+ end.to raise_error('Not in Trema shell')
38
38
  end
39
39
  end
40
40
 
41
41
 
42
- context "executed within a shell" do
43
- before {
44
- $config = mock( "config", :port => 6653 )
45
- $context = mock( "context", :dump => true )
46
- }
47
- after { Trema::OpenflowSwitch[ "0xabc" ].shutdown! if Trema::OpenflowSwitch[ "0xabc" ] }
42
+ context 'executed within a shell' do
43
+ before do
44
+ $config = mock('config', :port => 6653)
45
+ $context = mock('context', :dump => true)
46
+ end
47
+ after { Trema::OpenflowSwitch[ '0xabc'].shutdown! if Trema::OpenflowSwitch[ '0xabc'] }
48
48
 
49
49
 
50
- it "should create a new vswitch if name given" do
51
- Trema::Shell.vswitch { dpid "0xabc" }
52
- expect( Trema::OpenflowSwitch ).to have( 1 ).switch
53
- expect( Trema::OpenflowSwitch[ "0xabc" ].name ).to eq( "0xabc" )
54
- expect( Trema::OpenflowSwitch[ "0xabc" ].dpid_short ).to eq( "0xabc" )
55
- expect( Trema::OpenflowSwitch[ "0xabc" ].dpid_long ).to eq( "0000000000000abc" )
50
+ it 'should create a new vswitch if name given' do
51
+ Trema::Shell.vswitch { dpid '0xabc' }
52
+ expect(Trema::OpenflowSwitch).to have(1).switch
53
+ expect(Trema::OpenflowSwitch[ '0xabc'].name).to eq('0xabc')
54
+ expect(Trema::OpenflowSwitch[ '0xabc'].dpid_short).to eq('0xabc')
55
+ expect(Trema::OpenflowSwitch[ '0xabc'].dpid_long).to eq('0000000000000abc')
56
56
  end
57
57
 
58
58
 
59
- it "should create a new vswitch if dpid given" do
60
- Trema::Shell.vswitch "0xabc"
59
+ it 'should create a new vswitch if dpid given' do
60
+ Trema::Shell.vswitch '0xabc'
61
61
 
62
- expect( Trema::OpenflowSwitch ).to have( 1 ).switch
63
- expect( Trema::OpenflowSwitch[ "0xabc" ].name ).to eq( "0xabc" )
64
- expect( Trema::OpenflowSwitch[ "0xabc" ].dpid_short ).to eq( "0xabc" )
65
- expect( Trema::OpenflowSwitch[ "0xabc" ].dpid_long ).to eq( "0000000000000abc" )
62
+ expect(Trema::OpenflowSwitch).to have(1).switch
63
+ expect(Trema::OpenflowSwitch[ '0xabc'].name).to eq('0xabc')
64
+ expect(Trema::OpenflowSwitch[ '0xabc'].dpid_short).to eq('0xabc')
65
+ expect(Trema::OpenflowSwitch[ '0xabc'].dpid_long).to eq('0000000000000abc')
66
66
  end
67
67
 
68
68
 
69
- it "should raise if dpid not given" do
70
- expect {
69
+ it 'should raise if dpid not given' do
70
+ expect do
71
71
  Trema::Shell.vswitch
72
- }.to raise_error( "No dpid given" )
72
+ end.to raise_error('No dpid given')
73
73
  end
74
74
 
75
75
 
76
- it "should raise if the name is invalid and block not given" do
77
- expect { Trema::Shell.vswitch "INVALID_DPID" }.to raise_error( "Invalid dpid: INVALID_DPID" )
76
+ it 'should raise if the name is invalid and block not given' do
77
+ expect { Trema::Shell.vswitch 'INVALID_DPID' }.to raise_error('Invalid dpid: INVALID_DPID')
78
78
  end
79
79
  end
80
80
  end