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/stats-helper"
19
+ require 'trema/stats-helper'
20
20
 
21
21
 
22
22
  module Trema
@@ -54,7 +54,7 @@ module Trema
54
54
  # @return [AggregateStatsReply]
55
55
  # an object that encapsulates the OFPST_STATS_REPLY(OFPST_AGGREGATE) OpenFlow message.
56
56
  #
57
- def initialize options
57
+ def initialize(options)
58
58
  super FIELDS, options
59
59
  end
60
60
  end
@@ -16,8 +16,8 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/daemon"
20
- require "trema/network-component"
19
+ require 'trema/daemon'
20
+ require 'trema/network-component'
21
21
 
22
22
 
23
23
  module Trema
@@ -35,7 +35,7 @@ module Trema
35
35
  attr_reader :stanza
36
36
 
37
37
 
38
- command { | app | [ app.command, app.stanza[ :options ] ].compact.join " " }
38
+ command { | app | [app.command, app.stanza[ :options]].compact.join ' ' }
39
39
 
40
40
 
41
41
  #
@@ -48,14 +48,14 @@ module Trema
48
48
  #
49
49
  # @api public
50
50
  #
51
- def initialize stanza
51
+ def initialize(stanza)
52
52
  @stanza = stanza
53
- if /\.rb\Z/=~ @stanza.fetch( :name ) # ruby?
54
- require "trema"
55
- path = @stanza.fetch( :path )
56
- ARGV.replace [ path ]
57
- $LOAD_PATH << File.dirname( path )
58
- Trema.module_eval IO.read( path )
53
+ if /\.rb\Z/ =~ @stanza.fetch(:name) # ruby?
54
+ require 'trema'
55
+ path = @stanza.fetch(:path)
56
+ ARGV.replace [path]
57
+ $LOAD_PATH << File.dirname(path)
58
+ Trema.module_eval IO.read(path)
59
59
  else
60
60
  App.add self
61
61
  end
@@ -73,7 +73,7 @@ module Trema
73
73
  # @api public
74
74
  #
75
75
  def name
76
- @stanza[ :name ]
76
+ @stanza[ :name]
77
77
  end
78
78
 
79
79
 
@@ -88,7 +88,7 @@ module Trema
88
88
  # @api public
89
89
  #
90
90
  def daemonize!
91
- sh [ command, "-d", @stanza[ :options ] ].compact.join( " " )
91
+ sh [command, '-d', @stanza[ :options]].compact.join(' ')
92
92
  self
93
93
  end
94
94
 
@@ -101,7 +101,7 @@ module Trema
101
101
  # @api private
102
102
  #
103
103
  def command
104
- "#{ @stanza[ :path ] } --name #{ name }"
104
+ "#{ @stanza[ :path] } --name #{ name }"
105
105
  end
106
106
  end
107
107
  end
@@ -18,7 +18,7 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/executables"
21
+ require 'trema/executables'
22
22
 
23
23
 
24
24
  module Trema
@@ -35,7 +35,7 @@ module Trema
35
35
  attr_reader :n_octets
36
36
 
37
37
 
38
- def initialize ip_dst, tp_dst, ip_src, tp_src, n_pkts, n_octets
38
+ def initialize(ip_dst, tp_dst, ip_src, tp_src, n_pkts, n_octets)
39
39
  @ip_dst = ip_dst
40
40
  @tp_dst = tp_dst.to_i
41
41
  @ip_src = ip_src
@@ -58,36 +58,36 @@ end
58
58
 
59
59
  module Trema
60
60
  class Cli
61
- def initialize host
61
+ def initialize(host)
62
62
  @host = host
63
63
  end
64
64
 
65
65
 
66
- def send_packets dest, options = {}
67
- if options[ :duration ] and options[ :n_pkts ]
68
- raise "--duration and --n_pkts are exclusive."
66
+ def send_packets(dest, options = {})
67
+ if options[ :duration] && options[ :n_pkts]
68
+ fail '--duration and --n_pkts are exclusive.'
69
69
  end
70
70
 
71
- sh( "#{ Executables.cli } -i #{ @host.interface } send_packets " +
71
+ sh("#{ Executables.cli } -i #{ @host.interface } send_packets " \
72
72
  "--ip_src #{ @host.ip } --ip_dst #{ dest.ip } " +
73
- send_packets_options( options ) )
73
+ send_packets_options(options))
74
74
  end
75
75
 
76
76
 
77
77
  def show_tx_stats
78
- puts stats( :tx )
78
+ puts stats(:tx)
79
79
  end
80
80
 
81
81
 
82
82
  def show_rx_stats
83
- puts stats( :rx )
83
+ puts stats(:rx)
84
84
  end
85
85
 
86
86
 
87
87
  def tx_stats
88
- stat = stats( :tx ).split( "\n" )[ 1 ]
88
+ stat = stats(:tx).split("\n")[ 1]
89
89
  if stat
90
- Trema::Stats.new *stat.split( "," )
90
+ Trema::Stats.new(*stat.split(','))
91
91
  else
92
92
  nil
93
93
  end
@@ -95,9 +95,9 @@ module Trema
95
95
 
96
96
 
97
97
  def rx_stats
98
- stat = stats( :rx ).split( "\n" )[ 1 ]
98
+ stat = stats(:rx).split("\n")[ 1]
99
99
  if stat
100
- Trema::Stats.new *stat.split( "," )
100
+ Trema::Stats.new(*stat.split(','))
101
101
  else
102
102
  Trema::Stats.new nil, nil, nil, nil, 0, 0
103
103
  end
@@ -110,7 +110,7 @@ module Trema
110
110
  end
111
111
 
112
112
 
113
- def add_arp_entry other
113
+ def add_arp_entry(other)
114
114
  sh "sudo #{ Executables.cli } -i #{ @host.interface } add_arp_entry --ip_addr #{ other.ip } --mac_addr #{ other.mac }"
115
115
  end
116
116
 
@@ -130,24 +130,24 @@ module Trema
130
130
  ################################################################################
131
131
 
132
132
 
133
- def send_packets_options options
133
+ def send_packets_options(options)
134
134
  [
135
- tp_src( options[ :tp_src ] || default_tp_src ),
136
- tp_dst( options[ :tp_dst ] || default_tp_dst ),
137
- pps( options[ :pps ] || default_pps ),
138
- options[ :n_pkts ] ? nil : duration( options[ :duration ] || default_duration ),
139
- length( options[ :length ] || default_length ),
140
- n_pkts( options[ :n_pkts ] ),
141
- inc_ip_src( options[ :inc_ip_src ] ),
142
- inc_ip_dst( options[ :inc_ip_dst ] ),
143
- inc_tp_src( options[ :inc_tp_src ] ),
144
- inc_tp_dst( options[ :inc_tp_dst ] ),
145
- inc_payload( options[ :inc_payload ] ),
146
- ].compact.join( " " )
135
+ tp_src(options[ :tp_src] || default_tp_src),
136
+ tp_dst(options[ :tp_dst] || default_tp_dst),
137
+ pps(options[ :pps] || default_pps),
138
+ options[ :n_pkts] ? nil : duration(options[ :duration] || default_duration),
139
+ length(options[ :length] || default_length),
140
+ n_pkts(options[ :n_pkts]),
141
+ inc_ip_src(options[ :inc_ip_src]),
142
+ inc_ip_dst(options[ :inc_ip_dst]),
143
+ inc_tp_src(options[ :inc_tp_src]),
144
+ inc_tp_dst(options[ :inc_tp_dst]),
145
+ inc_payload(options[ :inc_payload])
146
+ ].compact.join(' ')
147
147
  end
148
148
 
149
149
 
150
- def tp_src value
150
+ def tp_src(value)
151
151
  "--tp_src #{ value }"
152
152
  end
153
153
 
@@ -157,7 +157,7 @@ module Trema
157
157
  end
158
158
 
159
159
 
160
- def tp_dst value
160
+ def tp_dst(value)
161
161
  "--tp_dst #{ value }"
162
162
  end
163
163
 
@@ -167,7 +167,7 @@ module Trema
167
167
  end
168
168
 
169
169
 
170
- def pps value
170
+ def pps(value)
171
171
  "--pps #{ value }"
172
172
  end
173
173
 
@@ -177,7 +177,7 @@ module Trema
177
177
  end
178
178
 
179
179
 
180
- def duration value
180
+ def duration(value)
181
181
  "--duration #{ value }"
182
182
  end
183
183
 
@@ -187,7 +187,7 @@ module Trema
187
187
  end
188
188
 
189
189
 
190
- def length value
190
+ def length(value)
191
191
  "--length #{ value }"
192
192
  end
193
193
 
@@ -197,63 +197,63 @@ module Trema
197
197
  end
198
198
 
199
199
 
200
- def inc_ip_src value
200
+ def inc_ip_src(value)
201
201
  return nil if value.nil?
202
202
  if value == true
203
- "--inc_ip_src"
203
+ '--inc_ip_src'
204
204
  else
205
205
  "--inc_ip_src=#{ value }"
206
206
  end
207
207
  end
208
208
 
209
209
 
210
- def inc_ip_dst value
210
+ def inc_ip_dst(value)
211
211
  return nil if value.nil?
212
212
  if value == true
213
- "--inc_ip_dst"
213
+ '--inc_ip_dst'
214
214
  else
215
215
  "--inc_ip_dst=#{ value }"
216
216
  end
217
217
  end
218
218
 
219
219
 
220
- def inc_tp_src value
220
+ def inc_tp_src(value)
221
221
  return nil if value.nil?
222
222
  if value == true
223
- "--inc_tp_src"
223
+ '--inc_tp_src'
224
224
  else
225
225
  "--inc_tp_src=#{ value }"
226
226
  end
227
227
  end
228
228
 
229
229
 
230
- def inc_tp_dst value
230
+ def inc_tp_dst(value)
231
231
  return nil if value.nil?
232
232
  if value == true
233
- "--inc_tp_dst"
233
+ '--inc_tp_dst'
234
234
  else
235
235
  "--inc_tp_dst=#{ value }"
236
236
  end
237
237
  end
238
238
 
239
239
 
240
- def inc_payload value
240
+ def inc_payload(value)
241
241
  return nil if value.nil?
242
242
  if value == true
243
- "--inc_payload"
243
+ '--inc_payload'
244
244
  else
245
245
  "--inc_payload=#{ value }"
246
246
  end
247
247
  end
248
248
 
249
249
 
250
- def n_pkts value
250
+ def n_pkts(value)
251
251
  return nil if value.nil?
252
252
  "--n_pkts=#{ value }"
253
253
  end
254
254
 
255
255
 
256
- def stats type
256
+ def stats(type)
257
257
  `sudo #{ Executables.cli } -i #{ @host.interface } show_stats --#{ type }`
258
258
  end
259
259
  end
@@ -18,20 +18,20 @@
18
18
  #
19
19
 
20
20
 
21
- require "trema/command/dump_flows"
22
- require "trema/command/kill"
23
- require "trema/command/killall"
24
- require "trema/command/netns"
25
- require "trema/command/port_up"
26
- require "trema/command/port_down"
27
- require "trema/command/reset_stats"
28
- require "trema/command/ruby"
29
- require "trema/command/run"
30
- require "trema/command/send_packets"
31
- require "trema/command/shell"
32
- require "trema/command/show_stats"
33
- require "trema/command/up"
34
- require "trema/command/version"
21
+ require 'trema/command/dump_flows'
22
+ require 'trema/command/kill'
23
+ require 'trema/command/killall'
24
+ require 'trema/command/netns'
25
+ require 'trema/command/port_up'
26
+ require 'trema/command/port_down'
27
+ require 'trema/command/reset_stats'
28
+ require 'trema/command/ruby'
29
+ require 'trema/command/run'
30
+ require 'trema/command/send_packets'
31
+ require 'trema/command/shell'
32
+ require 'trema/command/show_stats'
33
+ require 'trema/command/up'
34
+ require 'trema/command/version'
35
35
 
36
36
 
37
37
  ### Local variables:
@@ -16,8 +16,8 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/ofctl"
20
- require "trema/util"
19
+ require 'trema/ofctl'
20
+ require 'trema/util'
21
21
 
22
22
 
23
23
  module Trema
@@ -25,11 +25,11 @@ module Trema
25
25
  include Trema::Util
26
26
 
27
27
 
28
- def trema_dump_flows switches
28
+ def trema_dump_flows(switches)
29
29
  switches.each do | each |
30
- switch = find_switch_by_name( each )
30
+ switch = find_switch_by_name(each)
31
31
  exit_now! "No switch named `#{ each }` found!" if switch.nil?
32
- puts Trema::Ofctl.new.dump_flows( switch )
32
+ puts Trema::Ofctl.new.dump_flows(switch)
33
33
  end
34
34
  end
35
35
  end
@@ -16,7 +16,7 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/util"
19
+ require 'trema/util'
20
20
 
21
21
 
22
22
  module Trema
@@ -24,8 +24,8 @@ module Trema
24
24
  include Trema::Util
25
25
 
26
26
 
27
- def trema_kill name
28
- unless maybe_kill( name )
27
+ def trema_kill(name)
28
+ unless maybe_kill(name)
29
29
  exit_now! "unknown name: #{ name }"
30
30
  end
31
31
  end
@@ -36,31 +36,31 @@ module Trema
36
36
  ############################################################################
37
37
 
38
38
 
39
- def maybe_kill name
40
- killed = maybe_kill_app( name ) || nil
41
- killed ||= maybe_shutdown_host( name )
42
- killed ||= maybe_shutdown_switch( name )
39
+ def maybe_kill(name)
40
+ killed = maybe_kill_app(name) || nil
41
+ killed ||= maybe_shutdown_host(name)
42
+ killed ||= maybe_shutdown_switch(name)
43
43
  # [TODO] kill a link by its name. Needs a good naming convension for link.
44
44
  killed
45
45
  end
46
46
 
47
47
 
48
- def maybe_kill_app name
49
- app = find_app_by_name( name )
48
+ def maybe_kill_app(name)
49
+ app = find_app_by_name(name)
50
50
  app.kill! if app
51
51
  app
52
52
  end
53
53
 
54
54
 
55
- def maybe_shutdown_host name
56
- host = find_host_by_name( name )
55
+ def maybe_shutdown_host(name)
56
+ host = find_host_by_name(name)
57
57
  host.shutdown! if host
58
58
  host
59
59
  end
60
60
 
61
61
 
62
- def maybe_shutdown_switch name
63
- switch = find_switch_by_name( name )
62
+ def maybe_shutdown_switch(name)
63
+ switch = find_switch_by_name(name)
64
64
  switch.shutdown if switch
65
65
  switch
66
66
  end
@@ -16,7 +16,7 @@
16
16
  #
17
17
 
18
18
 
19
- require "trema/util"
19
+ require 'trema/util'
20
20
 
21
21
 
22
22
  module Trema