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
@@ -24,19 +24,19 @@ module Trema
24
24
  attr_reader :name
25
25
 
26
26
 
27
- def initialize name = nil
27
+ def initialize(name = nil)
28
28
  @name = name
29
29
  end
30
30
 
31
31
 
32
- def [] attribute
32
+ def [](attribute)
33
33
  instance_variable_get "@#{ attribute }".intern
34
34
  end
35
35
 
36
36
 
37
- def fetch attribute
38
- v = self[ attribute ]
39
- raise "#{ attribute } is not set" if v.nil?
37
+ def fetch(attribute)
38
+ v = self[ attribute]
39
+ fail "#{ attribute } is not set" if v.nil?
40
40
  v
41
41
  end
42
42
  end
@@ -18,33 +18,33 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl/stanza"
21
+ require 'trema/dsl/stanza'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module DSL
26
26
  class Switch < Stanza
27
- def dpid value
27
+ def dpid(value)
28
28
  case value
29
29
  when String
30
- set_dpid value
30
+ self.dpid = value
31
31
  when Integer
32
- set_dpid sprintf( "%#x", value )
32
+ self.dpid = sprintf('%#x', value)
33
33
  else
34
- raise "Invalid datapath_id: #{ value }"
34
+ fail "Invalid datapath_id: #{ value }"
35
35
  end
36
36
  end
37
- alias :datapath_id :dpid
37
+ alias_method :datapath_id, :dpid
38
38
 
39
39
 
40
- def ports str
40
+ def ports(str)
41
41
  @ports = str
42
42
  end
43
43
 
44
44
 
45
45
  def validate
46
- set_dpid name if /\A0x/=~ name
47
- raise "Invalid dpid: #{ @name }" if @dpid_short.nil?
46
+ self.dpid = name if /\A0x/ =~ name
47
+ fail "Invalid dpid: #{ @name }" if @dpid_short.nil?
48
48
  end
49
49
 
50
50
 
@@ -53,16 +53,16 @@ module Trema
53
53
  ##########################################################################
54
54
 
55
55
 
56
- def set_dpid string
57
- @dpid_long = dpid_long_from( string )
56
+ def dpid=(string)
57
+ @dpid_long = dpid_long_from(string)
58
58
  @dpid_short = string
59
59
  @name = @dpid_short if @name.nil?
60
60
  end
61
61
 
62
62
 
63
- def dpid_long_from string
64
- no_0x = string.gsub( /^0x/, "" )
65
- "0" * ( 16 - no_0x.length ) + no_0x
63
+ def dpid_long_from(string)
64
+ no_0x = string.gsub(/^0x/, '')
65
+ '0' * ( 16 - no_0x.length) + no_0x
66
66
  end
67
67
  end
68
68
  end
@@ -18,102 +18,102 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/app"
22
- require "trema/dsl/link"
23
- require "trema/dsl/netns"
24
- require "trema/dsl/rswitch"
25
- require "trema/dsl/run"
26
- require "trema/dsl/switch"
27
- require "trema/dsl/vhost"
28
- require "trema/dsl/vswitch"
29
- require "trema/dsl/custom-switch"
30
- require "trema/hardware-switch"
31
- require "trema/host"
32
- require "trema/link"
33
- require "trema/monkey-patch/module"
34
- require "trema/netns"
35
- require "trema/open-vswitch"
36
- require "trema/packetin-filter"
37
- require "trema/ruby-switch"
38
- require "trema/switch-manager"
39
- require "trema/custom-switch"
21
+ require 'trema/app'
22
+ require 'trema/dsl/link'
23
+ require 'trema/dsl/netns'
24
+ require 'trema/dsl/rswitch'
25
+ require 'trema/dsl/run'
26
+ require 'trema/dsl/switch'
27
+ require 'trema/dsl/vhost'
28
+ require 'trema/dsl/vswitch'
29
+ require 'trema/dsl/custom-switch'
30
+ require 'trema/hardware-switch'
31
+ require 'trema/host'
32
+ require 'trema/link'
33
+ require 'trema/monkey-patch/module'
34
+ require 'trema/netns'
35
+ require 'trema/open-vswitch'
36
+ require 'trema/packetin-filter'
37
+ require 'trema/ruby-switch'
38
+ require 'trema/switch-manager'
39
+ require 'trema/custom-switch'
40
40
 
41
41
 
42
42
  module Trema
43
43
  module DSL
44
44
  class Syntax
45
- def initialize config
45
+ def initialize(config)
46
46
  @config = config
47
47
  end
48
48
 
49
49
 
50
- def port number
50
+ def port(number)
51
51
  @config.port = number
52
52
  end
53
53
 
54
54
 
55
- def link peer0, peer1
56
- stanza = Trema::DSL::Link.new( peer0, peer1 )
57
- Trema::Link.new( stanza )
55
+ def link(peer0, peer1)
56
+ stanza = Trema::DSL::Link.new(peer0, peer1)
57
+ Trema::Link.new(stanza)
58
58
  end
59
59
 
60
60
 
61
- def switch name = nil, &block
62
- stanza = Trema::DSL::Switch.new( name )
63
- stanza.instance_eval( &block )
64
- Trema::HardwareSwitch.new( stanza )
61
+ def switch(name = nil, &block)
62
+ stanza = Trema::DSL::Switch.new(name)
63
+ stanza.instance_eval(&block)
64
+ Trema::HardwareSwitch.new(stanza)
65
65
  end
66
66
 
67
67
 
68
- def vswitch name = nil, &block
69
- stanza = Trema::DSL::Vswitch.new( name )
70
- stanza.instance_eval( &block )
68
+ def vswitch(name = nil, &block)
69
+ stanza = Trema::DSL::Vswitch.new(name)
70
+ stanza.instance_eval(&block)
71
71
  Trema::OpenVswitch.new stanza, @config.port
72
72
  end
73
73
 
74
74
 
75
- def rswitch name = nil, &block
76
- stanza = Trema::DSL::Rswitch.new( name )
77
- stanza.instance_eval( &block )
78
- Trema::RubySwitch.new( stanza )
75
+ def rswitch(name = nil, &block)
76
+ stanza = Trema::DSL::Rswitch.new(name)
77
+ stanza.instance_eval(&block)
78
+ Trema::RubySwitch.new(stanza)
79
79
  end
80
80
 
81
81
 
82
- def custom_switch name = nil, &block
83
- stanza = Trema::DSL::CustomSwitch.new( name )
84
- stanza.instance_eval( &block )
82
+ def custom_switch(name = nil, &block)
83
+ stanza = Trema::DSL::CustomSwitch.new(name)
84
+ stanza.instance_eval(&block)
85
85
  Trema::CustomSwitch.new stanza
86
86
  end
87
87
 
88
88
 
89
- def vhost name = nil, &block
90
- stanza = Trema::DSL::Vhost.new( name )
91
- stanza.instance_eval( &block ) if block
92
- Trema::Host.new( stanza )
89
+ def vhost(name = nil, &block)
90
+ stanza = Trema::DSL::Vhost.new(name)
91
+ stanza.instance_eval(&block) if block
92
+ Trema::Host.new(stanza)
93
93
  end
94
94
 
95
95
 
96
- def netns name, &block
97
- stanza = Trema::DSL::Netns.new( name )
98
- stanza.instance_eval( &block ) if block
99
- Trema::Netns.new( stanza )
96
+ def netns(name, &block)
97
+ stanza = Trema::DSL::Netns.new(name)
98
+ stanza.instance_eval(&block) if block
99
+ Trema::Netns.new(stanza)
100
100
  end
101
101
 
102
102
 
103
- def filter rule
104
- Trema::PacketinFilter.new( rule )
103
+ def filter(rule)
104
+ Trema::PacketinFilter.new(rule)
105
105
  end
106
106
 
107
107
 
108
- def event rule
109
- Trema::SwitchManager.new( rule, @config.port )
108
+ def event(rule)
109
+ Trema::SwitchManager.new(rule, @config.port)
110
110
  end
111
111
 
112
112
 
113
- def run name = nil, &block
114
- stanza = Trema::DSL::Run.new( name )
115
- stanza.instance_eval( &block )
116
- Trema::App.new( stanza )
113
+ def run(name = nil, &block)
114
+ stanza = Trema::DSL::Run.new(name)
115
+ stanza.instance_eval(&block)
116
+ Trema::App.new(stanza)
117
117
  end
118
118
  deprecate :app => :run
119
119
  end
@@ -16,8 +16,8 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/dsl/stanza"
20
- require "trema/dsl/syntax-error"
19
+ require 'trema/dsl/stanza'
20
+ require 'trema/dsl/syntax-error'
21
21
 
22
22
 
23
23
  module Trema
@@ -36,14 +36,14 @@ module Trema
36
36
  #
37
37
  # @api public
38
38
  #
39
- def promisc on_off
39
+ def promisc(on_off)
40
40
  case on_off.to_s.downcase
41
- when "on", "yes"
41
+ when 'on', 'yes'
42
42
  @promisc = true
43
- when "off", "no"
43
+ when 'off', 'no'
44
44
  @promisc = false
45
45
  else
46
- raise SyntaxError, "Unknown option: promisc #{ on_off }"
46
+ fail SyntaxError, "Unknown option: promisc #{ on_off }"
47
47
  end
48
48
  end
49
49
 
@@ -58,7 +58,7 @@ module Trema
58
58
  #
59
59
  # @api public
60
60
  #
61
- def ip str
61
+ def ip(str)
62
62
  @ip = str
63
63
  if @name.nil?
64
64
  @name = @ip
@@ -76,7 +76,7 @@ module Trema
76
76
  #
77
77
  # @api public
78
78
  #
79
- def netmask str
79
+ def netmask(str)
80
80
  @netmask = str
81
81
  end
82
82
 
@@ -91,7 +91,7 @@ module Trema
91
91
  #
92
92
  # @api public
93
93
  #
94
- def mac str
94
+ def mac(str)
95
95
  @mac = str
96
96
  end
97
97
  end
@@ -18,19 +18,19 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/dsl/switch"
21
+ require 'trema/dsl/switch'
22
22
 
23
23
 
24
24
  module Trema
25
25
  module DSL
26
26
  class Vswitch < Switch
27
- def initialize name = nil
27
+ def initialize(name = nil)
28
28
  super name
29
- @ip = "127.0.0.1"
29
+ @ip = '127.0.0.1'
30
30
  end
31
31
 
32
32
 
33
- def ip str
33
+ def ip(str)
34
34
  @ip = str
35
35
  end
36
36
  end
@@ -16,8 +16,8 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/action"
20
- require "trema/monkey-patch/integer"
19
+ require 'trema/action'
20
+ require 'trema/monkey-patch/integer'
21
21
 
22
22
 
23
23
  module Trema
@@ -53,24 +53,24 @@ module Trema
53
53
  # @raise [ArgumentError] if port_number is not an unsigned 16-bit integer.
54
54
  # @raise [ArgumentError] if queue id is not an unsigned 32-bit integer.
55
55
  #
56
- def initialize options
57
- if options.is_a?( Hash )
58
- @port_number = options[ :port_number ]
59
- @queue_id = options[ :queue_id ]
56
+ def initialize(options)
57
+ if options.is_a?(Hash)
58
+ @port_number = options[ :port_number]
59
+ @queue_id = options[ :queue_id]
60
60
  if @port_number.nil?
61
- raise ArgumentError, "Port number is a mandatory option"
61
+ fail ArgumentError, 'Port number is a mandatory option'
62
62
  end
63
63
  unless @port_number.unsigned_16bit?
64
- raise ArgumentError, "Port number must be an unsigned 16-bit integer"
64
+ fail ArgumentError, 'Port number must be an unsigned 16-bit integer'
65
65
  end
66
66
  if @queue_id.nil?
67
- raise ArgumentError, "Queue ID is a mandatory option"
67
+ fail ArgumentError, 'Queue ID is a mandatory option'
68
68
  end
69
69
  unless @queue_id.unsigned_32bit?
70
- raise ArgumentError, "Queue ID must be an unsigned 32-bit integer"
70
+ fail ArgumentError, 'Queue ID must be an unsigned 32-bit integer'
71
71
  end
72
72
  else
73
- raise "Invalid option"
73
+ fail 'Invalid option'
74
74
  end
75
75
  end
76
76
  end
@@ -20,7 +20,7 @@
20
20
 
21
21
  module Trema
22
22
  class ExactMatch
23
- def self.from message
23
+ def self.from(message)
24
24
  Match.from message
25
25
  end
26
26
  end
@@ -16,9 +16,9 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/monkey-patch/module"
20
- require "trema/monkey-patch/string"
21
- require "trema/path"
19
+ require 'trema/monkey-patch/module'
20
+ require 'trema/monkey-patch/string'
21
+ require 'trema/path'
22
22
 
23
23
 
24
24
  #
@@ -36,7 +36,7 @@ class Trema::Executables
36
36
  #
37
37
  def compiled?
38
38
  @list.each do | each |
39
- return false unless FileTest.executable?( __send__ each )
39
+ return false unless FileTest.executable?(__send__ each)
40
40
  end
41
41
  end
42
42
 
@@ -49,7 +49,7 @@ class Trema::Executables
49
49
  #
50
50
  # Adds the name to a list.
51
51
  #
52
- def add name
52
+ def add(name)
53
53
  @list ||= []
54
54
  @list << name
55
55
  end
@@ -68,9 +68,9 @@ class Trema::Executables
68
68
  #
69
69
  # @return [Array] a list of a class method to access each executable program.
70
70
  #
71
- def path path
72
- name = File.basename( path ).underscore
73
- define_class_method( name ) do
71
+ def path(path)
72
+ name = File.basename(path).underscore
73
+ define_class_method(name) do
74
74
  File.join Trema.objects, path
75
75
  end
76
76
  add name
@@ -78,17 +78,17 @@ class Trema::Executables
78
78
  end
79
79
 
80
80
 
81
- path "openvswitch/bin/ovs-ofctl"
82
- path "openvswitch/bin/ovs-openflowd"
83
- path "packetin_filter/packetin_filter"
84
- path "phost/cli"
85
- path "phost/phost"
86
- path "switch_manager/switch"
87
- path "switch_manager/switch_manager"
88
- path "tremashark/packet_capture"
89
- path "tremashark/stdin_relay"
90
- path "tremashark/syslog_relay"
91
- path "tremashark/tremashark"
81
+ path 'openvswitch/bin/ovs-ofctl'
82
+ path 'openvswitch/bin/ovs-openflowd'
83
+ path 'packetin_filter/packetin_filter'
84
+ path 'phost/cli'
85
+ path 'phost/phost'
86
+ path 'switch_manager/switch'
87
+ path 'switch_manager/switch_manager'
88
+ path 'tremashark/packet_capture'
89
+ path 'tremashark/stdin_relay'
90
+ path 'tremashark/syslog_relay'
91
+ path 'tremashark/tremashark'
92
92
  end
93
93
 
94
94