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,7 +16,7 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/action"
19
+ require 'trema/action'
20
20
 
21
21
 
22
22
  module Trema
@@ -42,12 +42,12 @@ module Trema
42
42
  # @raise [ArgumentError] if vlan_id not within 1 and 4095 inclusive.
43
43
  # @raise [TypeError] if vlan_id is not an Integer.
44
44
  #
45
- def initialize vlan_id
46
- unless vlan_id.is_a?( Integer )
47
- raise TypeError, "VLAN ID argument must be an Integer"
45
+ def initialize(vlan_id)
46
+ unless vlan_id.is_a?(Integer)
47
+ fail TypeError, 'VLAN ID argument must be an Integer'
48
48
  end
49
- unless ( vlan_id >= 1 and vlan_id <= 4095 )
50
- raise ArgumentError, "Valid VLAN ID values between 1 to 4095 inclusive"
49
+ unless ( vlan_id >= 1 && vlan_id <= 4095)
50
+ fail ArgumentError, 'Valid VLAN ID values between 1 to 4095 inclusive'
51
51
  end
52
52
  @vlan_id = vlan_id
53
53
  end
@@ -18,16 +18,16 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/shell/down"
22
- require "trema/shell/killall"
23
- require "trema/shell/link"
24
- require "trema/shell/reset_stats"
25
- require "trema/shell/run"
26
- require "trema/shell/send_packets"
27
- require "trema/shell/show_stats"
28
- require "trema/shell/up"
29
- require "trema/shell/vhost"
30
- require "trema/shell/vswitch"
21
+ require 'trema/shell/down'
22
+ require 'trema/shell/killall'
23
+ require 'trema/shell/link'
24
+ require 'trema/shell/reset_stats'
25
+ require 'trema/shell/run'
26
+ require 'trema/shell/send_packets'
27
+ require 'trema/shell/show_stats'
28
+ require 'trema/shell/up'
29
+ require 'trema/shell/vhost'
30
+ require 'trema/shell/vswitch'
31
31
 
32
32
 
33
33
  ### Local variables:
@@ -18,13 +18,13 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module Shell
26
- def down name
27
- OpenflowSwitch[ name ].shutdown!
26
+ def down(name)
27
+ OpenflowSwitch[ name].shutdown!
28
28
  end
29
29
  end
30
30
  end
@@ -18,7 +18,7 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
@@ -18,30 +18,30 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module Shell
26
- def link peer0, peer1
27
- stanza = DSL::Link.new( peer0, peer1 )
28
- link = Link.new( stanza )
26
+ def link(peer0, peer1)
27
+ stanza = DSL::Link.new(peer0, peer1)
28
+ link = Link.new(stanza)
29
29
  link.enable!
30
30
 
31
- if OpenflowSwitch[ peer0 ]
32
- OpenflowSwitch[ peer0 ] << link.name
31
+ if OpenflowSwitch[ peer0]
32
+ OpenflowSwitch[ peer0] << link.name
33
33
  end
34
- if OpenflowSwitch[ peer1 ]
35
- OpenflowSwitch[ peer1 ] << link.name_peer
34
+ if OpenflowSwitch[ peer1]
35
+ OpenflowSwitch[ peer1] << link.name_peer
36
36
  end
37
37
 
38
- if Host[ peer0 ]
39
- Host[ peer0 ].interface = link.name
40
- Host[ peer0 ].run!
38
+ if Host[ peer0]
39
+ Host[ peer0].interface = link.name
40
+ Host[ peer0].run!
41
41
  end
42
- if Host[ peer1 ]
43
- Host[ peer1 ].interface = link.name_peer
44
- Host[ peer1 ].run!
42
+ if Host[ peer1]
43
+ Host[ peer1].interface = link.name_peer
44
+ Host[ peer1].run!
45
45
  end
46
46
 
47
47
  $context.dump
@@ -18,22 +18,22 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module Shell
26
- def reset_stats host_name = nil
26
+ def reset_stats(host_name = nil)
27
27
  assert_trema_is_built
28
28
 
29
- if host_name and Host[ host_name ].nil?
30
- raise "Host '#{ host_name }' is not defined."
29
+ if host_name && Host[ host_name].nil?
30
+ fail "Host '#{ host_name }' is not defined."
31
31
  end
32
32
  if host_name
33
- Cli.new( Host[ host_name ] ).reset_stats
33
+ Cli.new(Host[ host_name]).reset_stats
34
34
  else
35
35
  Host.each do | each |
36
- Cli.new( each ).reset_stats
36
+ Cli.new(each).reset_stats
37
37
  end
38
38
  end
39
39
  true
@@ -18,30 +18,30 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module Shell
26
- def run controller
26
+ def run(controller)
27
27
  assert_trema_is_built
28
28
 
29
29
  if controller
30
- if /\.rb\Z/=~ controller.split.first
31
- require "trema"
30
+ if /\.rb\Z/ =~ controller.split.first
31
+ require 'trema'
32
32
  include Trema
33
33
  ARGV.replace controller.split
34
- $LOAD_PATH << File.dirname( controller )
34
+ $LOAD_PATH << File.dirname(controller)
35
35
  load controller
36
36
  else
37
37
  # Assume that the controller is written in C
38
38
  stanza = Trema::DSL::Run.new
39
39
  stanza.path controller
40
- Trema::App.new( stanza )
40
+ Trema::App.new(stanza)
41
41
  end
42
42
  end
43
43
 
44
- runner = DSL::Runner.new( $config )
44
+ runner = DSL::Runner.new($config)
45
45
  runner.maybe_run_switch_manager
46
46
  $config.switches.each do | name, switch |
47
47
  if switch.running?
@@ -18,14 +18,14 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module Shell
26
- def send_packets source, dest, options = {}
26
+ def send_packets(source, dest, options = {})
27
27
  assert_trema_is_built
28
- Cli.new( Host[ source ] ).send_packets( Host[ dest ], options )
28
+ Cli.new(Host[ source]).send_packets(Host[ dest], options)
29
29
  true
30
30
  end
31
31
  module_function :send_packets
@@ -18,21 +18,21 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module Shell
26
- def show_stats host_name, option
26
+ def show_stats(host_name, option)
27
27
  assert_trema_is_built
28
28
 
29
- raise "Host '#{ host_name }' is not defined." if Host[ host_name ].nil?
30
- raise "Host '#{ host_name }' is not connected to any link." if Host[ host_name ].interface.nil?
29
+ fail "Host '#{ host_name }' is not defined." if Host[ host_name].nil?
30
+ fail "Host '#{ host_name }' is not connected to any link." if Host[ host_name].interface.nil?
31
31
 
32
- if option.to_s == "tx"
33
- Cli.new( Host[ host_name ] ).show_tx_stats
32
+ if option.to_s == 'tx'
33
+ Cli.new(Host[ host_name]).show_tx_stats
34
34
  else
35
- Cli.new( Host[ host_name ] ).show_rx_stats
35
+ Cli.new(Host[ host_name]).show_rx_stats
36
36
  end
37
37
  true
38
38
  end
@@ -18,16 +18,16 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module Shell
26
- def up name
27
- if OpenflowSwitch[ name ].running?
28
- OpenflowSwitch[ name ].restart!
26
+ def up(name)
27
+ if OpenflowSwitch[ name].running?
28
+ OpenflowSwitch[ name].restart!
29
29
  else
30
- OpenflowSwitch[ name ].run!
30
+ OpenflowSwitch[ name].run!
31
31
  end
32
32
  end
33
33
  end
@@ -18,14 +18,14 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module Shell
26
- def vhost name = nil, &block
27
- stanza = DSL::Vhost.new( name )
28
- stanza.instance_eval( &block ) if block
26
+ def vhost(name = nil, &block)
27
+ stanza = DSL::Vhost.new(name)
28
+ stanza.instance_eval(&block) if block
29
29
  Host.new stanza
30
30
  $context.dump
31
31
  true
@@ -18,18 +18,18 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl"
21
+ require 'trema/dsl'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module Shell
26
- def vswitch name = nil, &block
27
- raise "Not in Trema shell" if $config.nil?
28
- raise "No dpid given" if name.nil? and block.nil?
26
+ def vswitch(name = nil, &block)
27
+ fail 'Not in Trema shell' if $config.nil?
28
+ fail 'No dpid given' if name.nil? && block.nil?
29
29
 
30
- stanza = DSL::Vswitch.new( name )
31
- stanza.instance_eval &block if block
32
- OpenVswitch.new( stanza, $config.port ).restart!
30
+ stanza = DSL::Vswitch.new(name)
31
+ stanza.instance_eval(&block) if block
32
+ OpenVswitch.new(stanza, $config.port).restart!
33
33
 
34
34
  $context.dump
35
35
 
@@ -33,9 +33,9 @@ module Trema
33
33
  #
34
34
  # @return [void]
35
35
  #
36
- def initialize fields, options
36
+ def initialize(fields, options)
37
37
  fields.each do |field|
38
- instance_variable_set( "@#{field}", options[field.intern] )
38
+ instance_variable_set("@#{field}", options[field.intern])
39
39
  end
40
40
  end
41
41
 
@@ -47,7 +47,7 @@ module Trema
47
47
  def to_s
48
48
  str = super.to_s + "\n"
49
49
  instance_variables.sort.each do |var|
50
- str += "#{var[1..var.length]}: #{instance_variable_get( var ).to_s}\n"
50
+ str += "#{var[1..var.length]}: #{instance_variable_get(var)}\n"
51
51
  end
52
52
  # remove the last newline character
53
53
  str[0..-2]
@@ -144,7 +144,6 @@ stats_reply_stats( VALUE self ) {
144
144
  */
145
145
  void
146
146
  Init_stats_reply() {
147
- rb_require( "rubygems" );
148
147
  rb_require( "pio" );
149
148
  rb_require( "trema/desc-stats-reply" );
150
149
  rb_require( "trema/flow-stats-reply" );
@@ -16,7 +16,7 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/action"
19
+ require 'trema/action'
20
20
 
21
21
 
22
22
  module Trema
@@ -20,7 +20,7 @@
20
20
 
21
21
  module Trema
22
22
  class SwitchDaemon
23
- MANDATORY_QUEUES = [ :port_status, :packet_in, :state_notify ]
23
+ MANDATORY_QUEUES = [:port_status, :packet_in, :state_notify]
24
24
 
25
25
 
26
26
  #
@@ -35,7 +35,7 @@ module Trema
35
35
  # @option queues [Symbol] :state_notify
36
36
  # the controller(s) to receive state notification messages.
37
37
  #
38
- def initialize queues
38
+ def initialize(queues)
39
39
  check_mandatory_options queues
40
40
  @queues = queues
41
41
  end
@@ -47,7 +47,7 @@ module Trema
47
47
  #
48
48
  # @return [Array<String>] the switch daemon's options.
49
49
  def options
50
- all_queues = MANDATORY_QUEUES + [ :vendor ]
50
+ all_queues = MANDATORY_QUEUES + [:vendor]
51
51
  all_queues.collect! do | each |
52
52
  queue each
53
53
  end.flatten!
@@ -62,9 +62,9 @@ module Trema
62
62
  #
63
63
  # @raise [RuntimeError] if a mandatory option is not found.
64
64
  #
65
- def check_mandatory_options queues
65
+ def check_mandatory_options(queues)
66
66
  MANDATORY_QUEUES.each do | each |
67
- raise ":#{ each } is a mandatory option" if queues[ each ].nil?
67
+ fail ":#{ each } is a mandatory option" if queues[ each].nil?
68
68
  end
69
69
  end
70
70
 
@@ -72,11 +72,11 @@ module Trema
72
72
  #
73
73
  # @return [Array<String>] an array of controller name strings.
74
74
  #
75
- def queue queue_type
76
- return [] unless @queues[ queue_type ]
77
- controllers = @queues[ queue_type ].split( "," )
75
+ def queue(queue_type)
76
+ return [] unless @queues[ queue_type]
77
+ controllers = @queues[ queue_type].split(',')
78
78
  controllers.collect! do | each |
79
- "#{ queue_type.to_s }::#{ each }"
79
+ "#{ queue_type }::#{ each }"
80
80
  end
81
81
  end
82
82
  end
@@ -16,10 +16,10 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/daemon"
20
- require "trema/executables"
21
- require "trema/network-component"
22
- require "trema/switch-daemon"
19
+ require 'trema/daemon'
20
+ require 'trema/executables'
21
+ require 'trema/network-component'
22
+ require 'trema/switch-daemon'
23
23
 
24
24
 
25
25
  module Trema
@@ -65,7 +65,7 @@ module Trema
65
65
  #
66
66
  # @return [SwitchManager]
67
67
  #
68
- def initialize rule, port = nil
68
+ def initialize(rule, port = nil)
69
69
  @rule = rule
70
70
  @port = port
71
71
  @no_flow_cleanup = false
@@ -82,7 +82,7 @@ module Trema
82
82
  # @return [String]
83
83
  #
84
84
  def name
85
- "switch manager"
85
+ 'switch manager'
86
86
  end
87
87
 
88
88
 
@@ -97,15 +97,15 @@ module Trema
97
97
 
98
98
 
99
99
  def options
100
- opts = [ "--daemonize" ]
100
+ opts = ['--daemonize']
101
101
  opts << "--port=#{ @port }" if @port
102
102
  opts
103
103
  end
104
104
 
105
105
 
106
106
  def switch_options
107
- opts = SwitchDaemon.new( @rule ).options
108
- opts << "--no-flow-cleanup" if @no_flow_cleanup
107
+ opts = SwitchDaemon.new(@rule).options
108
+ opts << '--no-flow-cleanup' if @no_flow_cleanup
109
109
  opts
110
110
  end
111
111
  end