trema 0.4.7 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (718) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +33 -54
  3. data/.hound.yml +3 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +17 -1
  6. data/.travis.yml +14 -18
  7. data/CHANGELOG.md +10 -0
  8. data/Gemfile +1 -26
  9. data/README.md +25 -241
  10. data/Rakefile +4 -1056
  11. data/bin/.gitignore +3 -0
  12. data/bin/trema +163 -237
  13. data/features/cleanup_on_failure.feature +118 -0
  14. data/features/logging.feature +73 -0
  15. data/features/open_flow13.feature +21 -0
  16. data/features/step_definitions/.gitignore +35 -0
  17. data/features/step_definitions/.rubocop.yml +5 -0
  18. data/features/step_definitions/.travis.yml +19 -0
  19. data/features/step_definitions/Gemfile +9 -0
  20. data/features/step_definitions/Guardfile +4 -0
  21. data/features/step_definitions/LICENSE +675 -0
  22. data/features/step_definitions/README.md +7 -0
  23. data/features/step_definitions/Rakefile +10 -0
  24. data/features/step_definitions/show_stats_steps.rb +56 -0
  25. data/features/step_definitions/virtual_link_steps.rb +8 -0
  26. data/features/support/env.rb +0 -73
  27. data/features/support/hooks.rb +6 -50
  28. data/features/trema_delete_link.feature +30 -0
  29. data/features/trema_killall.feature +56 -0
  30. data/features/trema_run.feature +47 -0
  31. data/features/trema_start.feature +73 -0
  32. data/features/trema_stop.feature +50 -0
  33. data/lib/trema.rb +4 -0
  34. data/lib/trema/command.rb +184 -0
  35. data/lib/trema/controller.rb +289 -0
  36. data/lib/trema/dirs.rb +14 -0
  37. data/lib/trema/drb.rb +32 -0
  38. data/lib/trema/logger.rb +63 -0
  39. data/lib/trema/monkey_patch/integer.rb +8 -0
  40. data/lib/trema/monkey_patch/integer/base_conversions.rb +12 -0
  41. data/lib/trema/monkey_patch/integer/durations.rb +12 -0
  42. data/lib/trema/switch.rb +83 -0
  43. data/lib/trema/version.rb +5 -0
  44. data/spec/spec_helper.rb +9 -178
  45. data/spec/trema/controller_spec.rb +4 -53
  46. data/tasks/.gitignore +34 -0
  47. data/tasks/LICENSE +675 -0
  48. data/tasks/README.md +6 -0
  49. data/tasks/cucumber.rake +14 -0
  50. data/tasks/flay.rake +15 -0
  51. data/tasks/flog.rake +25 -0
  52. data/tasks/gem.rake +15 -0
  53. data/tasks/reek.rake +11 -0
  54. data/tasks/relish.rake +8 -0
  55. data/tasks/rspec.rake +8 -0
  56. data/tasks/rubocop.rake +2 -16
  57. data/tasks/yard.rake +11 -0
  58. data/trema.gemspec +24 -23
  59. metadata +180 -720
  60. data/.yardopts +0 -4
  61. data/Doxyfile +0 -1679
  62. data/Guardfile +0 -14
  63. data/bin/quality +0 -31
  64. data/bin/trema-config +0 -59
  65. data/build.rb +0 -32
  66. data/cruise.rb +0 -409
  67. data/features/.nav +0 -50
  68. data/features/README.md +0 -7
  69. data/features/core/get_pid_by_trema_name.feature +0 -137
  70. data/features/core/packetin_filter.feature +0 -55
  71. data/features/core/switch_manager.feature +0 -41
  72. data/features/core/trema-config.feature +0 -55
  73. data/features/dsl/switch_port_specifier.feature +0 -15
  74. data/features/examples/dumper.feature +0 -35
  75. data/features/examples/hello_trema.feature +0 -23
  76. data/features/examples/learning_switch.feature +0 -37
  77. data/features/examples/list_switches.feature +0 -24
  78. data/features/examples/message.set_config.feature +0 -27
  79. data/features/examples/message.vendor-action.feature +0 -25
  80. data/features/examples/message.vendor-stats-request.feature +0 -20
  81. data/features/examples/multi_learning_switch.feature +0 -107
  82. data/features/examples/openflow_message.echo.feature +0 -59
  83. data/features/examples/openflow_message.features_request.feature +0 -35
  84. data/features/examples/openflow_message.hello.feature +0 -59
  85. data/features/examples/packet_in.feature +0 -33
  86. data/features/examples/packetin_filter_config.feature +0 -95
  87. data/features/examples/patch_panel.feature +0 -29
  88. data/features/examples/repeater_hub.feature +0 -52
  89. data/features/examples/switch_info.feature +0 -51
  90. data/features/examples/switch_monitor.feature +0 -35
  91. data/features/examples/transparent_firewall.feature +0 -73
  92. data/features/handlers/switch_ready.feature +0 -40
  93. data/features/step_definitions/misc_steps.rb +0 -85
  94. data/features/step_definitions/send_packets_steps.rb +0 -33
  95. data/features/step_definitions/stats_steps.rb +0 -39
  96. data/features/switch_event/C-add_forward_entry.feature +0 -114
  97. data/features/switch_event/C-delete_forward_entry.feature +0 -85
  98. data/features/switch_event/C-dump_forward_entries.feature +0 -72
  99. data/features/switch_event/C-set_forward_entries.feature +0 -77
  100. data/features/switch_event/README.md +0 -40
  101. data/features/switch_event/add_forward_entry.feature +0 -160
  102. data/features/switch_event/delete_forward_entry.feature +0 -160
  103. data/features/switch_event/dump_forward_entries.feature +0 -103
  104. data/features/switch_event/set_forward_entries.feature +0 -102
  105. data/features/trema_commands/README.md +0 -8
  106. data/features/trema_commands/dump_flows.feature +0 -41
  107. data/features/trema_commands/help.feature +0 -27
  108. data/features/trema_commands/help_option.feature +0 -20
  109. data/features/trema_commands/kill.feature +0 -56
  110. data/features/trema_commands/killall.feature +0 -32
  111. data/features/trema_commands/port_down.feature +0 -71
  112. data/features/trema_commands/port_up.feature +0 -75
  113. data/features/trema_commands/reset_stats.feature +0 -56
  114. data/features/trema_commands/run.feature +0 -56
  115. data/features/trema_commands/send_packets.feature +0 -46
  116. data/features/trema_commands/show_stats.feature +0 -66
  117. data/features/trema_commands/up.feature +0 -34
  118. data/features/trema_commands/version.feature +0 -10
  119. data/features/trema_commands/version_option.feature +0 -8
  120. data/rubocop-todo.yml +0 -159
  121. data/ruby/.gitignore +0 -4
  122. data/ruby/blocker.rb +0 -74
  123. data/ruby/extconf.rb +0 -80
  124. data/ruby/sub-process.rb +0 -289
  125. data/ruby/trema/action-common.c +0 -46
  126. data/ruby/trema/action-common.h +0 -38
  127. data/ruby/trema/action.rb +0 -33
  128. data/ruby/trema/aggregate-stats-reply.rb +0 -68
  129. data/ruby/trema/app.rb +0 -114
  130. data/ruby/trema/barrier-reply.c +0 -98
  131. data/ruby/trema/barrier-reply.h +0 -44
  132. data/ruby/trema/barrier-request.c +0 -135
  133. data/ruby/trema/barrier-request.h +0 -42
  134. data/ruby/trema/cli.rb +0 -267
  135. data/ruby/trema/command.rb +0 -41
  136. data/ruby/trema/command/dump_flows.rb +0 -43
  137. data/ruby/trema/command/kill.rb +0 -75
  138. data/ruby/trema/command/killall.rb +0 -38
  139. data/ruby/trema/command/netns.rb +0 -38
  140. data/ruby/trema/command/port_down.rb +0 -43
  141. data/ruby/trema/command/port_up.rb +0 -43
  142. data/ruby/trema/command/reset_stats.rb +0 -41
  143. data/ruby/trema/command/ruby.rb +0 -38
  144. data/ruby/trema/command/run.rb +0 -110
  145. data/ruby/trema/command/send_packets.rb +0 -46
  146. data/ruby/trema/command/shell.rb +0 -57
  147. data/ruby/trema/command/show_stats.rb +0 -65
  148. data/ruby/trema/command/up.rb +0 -44
  149. data/ruby/trema/command/version.rb +0 -35
  150. data/ruby/trema/compat.h +0 -36
  151. data/ruby/trema/controller.c +0 -691
  152. data/ruby/trema/controller.h +0 -42
  153. data/ruby/trema/controller.rb +0 -255
  154. data/ruby/trema/custom-switch.rb +0 -56
  155. data/ruby/trema/daemon.rb +0 -184
  156. data/ruby/trema/default-logger.c +0 -161
  157. data/ruby/trema/default-logger.h +0 -42
  158. data/ruby/trema/default-logger.rb +0 -29
  159. data/ruby/trema/default_openflow_channel_port.rb +0 -26
  160. data/ruby/trema/desc-stats-reply.rb +0 -75
  161. data/ruby/trema/dsl.rb +0 -32
  162. data/ruby/trema/dsl/configuration.rb +0 -145
  163. data/ruby/trema/dsl/context.rb +0 -69
  164. data/ruby/trema/dsl/custom-switch.rb +0 -44
  165. data/ruby/trema/dsl/link.rb +0 -39
  166. data/ruby/trema/dsl/netns.rb +0 -78
  167. data/ruby/trema/dsl/parser.rb +0 -70
  168. data/ruby/trema/dsl/rswitch.rb +0 -47
  169. data/ruby/trema/dsl/run.rb +0 -47
  170. data/ruby/trema/dsl/runner.rb +0 -178
  171. data/ruby/trema/dsl/stanza.rb +0 -51
  172. data/ruby/trema/dsl/switch.rb +0 -76
  173. data/ruby/trema/dsl/syntax-error.rb +0 -31
  174. data/ruby/trema/dsl/syntax.rb +0 -128
  175. data/ruby/trema/dsl/vhost.rb +0 -106
  176. data/ruby/trema/dsl/vswitch.rb +0 -45
  177. data/ruby/trema/echo-reply.c +0 -122
  178. data/ruby/trema/echo-reply.h +0 -40
  179. data/ruby/trema/echo-request.c +0 -117
  180. data/ruby/trema/echo-request.h +0 -40
  181. data/ruby/trema/echo.c +0 -99
  182. data/ruby/trema/echo.h +0 -39
  183. data/ruby/trema/enqueue.rb +0 -87
  184. data/ruby/trema/error.c +0 -262
  185. data/ruby/trema/error.h +0 -42
  186. data/ruby/trema/exact-match.rb +0 -34
  187. data/ruby/trema/executables.rb +0 -99
  188. data/ruby/trema/features-reply.c +0 -330
  189. data/ruby/trema/features-reply.h +0 -54
  190. data/ruby/trema/features-request.c +0 -134
  191. data/ruby/trema/features-request.h +0 -42
  192. data/ruby/trema/flow-mod.c +0 -150
  193. data/ruby/trema/flow-mod.h +0 -42
  194. data/ruby/trema/flow-removed.c +0 -280
  195. data/ruby/trema/flow-removed.h +0 -44
  196. data/ruby/trema/flow-stats-reply.rb +0 -107
  197. data/ruby/trema/flow.rb +0 -65
  198. data/ruby/trema/get-config-reply.c +0 -158
  199. data/ruby/trema/get-config-reply.h +0 -50
  200. data/ruby/trema/get-config-request.c +0 -136
  201. data/ruby/trema/get-config-request.h +0 -42
  202. data/ruby/trema/hardware-switch.rb +0 -86
  203. data/ruby/trema/hello.c +0 -133
  204. data/ruby/trema/hello.h +0 -42
  205. data/ruby/trema/host.rb +0 -263
  206. data/ruby/trema/link.rb +0 -177
  207. data/ruby/trema/list-switches-reply.c +0 -44
  208. data/ruby/trema/list-switches-reply.h +0 -38
  209. data/ruby/trema/mac.rb +0 -29
  210. data/ruby/trema/match.c +0 -621
  211. data/ruby/trema/match.h +0 -34
  212. data/ruby/trema/monkey-patch/integer.rb +0 -35
  213. data/ruby/trema/monkey-patch/integer/base-conversions.rb +0 -34
  214. data/ruby/trema/monkey-patch/integer/ranges.rb +0 -49
  215. data/ruby/trema/monkey-patch/integer/validators.rb +0 -36
  216. data/ruby/trema/monkey-patch/module.rb +0 -33
  217. data/ruby/trema/monkey-patch/module/class-method.rb +0 -38
  218. data/ruby/trema/monkey-patch/module/deprecation.rb +0 -39
  219. data/ruby/trema/monkey-patch/string.rb +0 -31
  220. data/ruby/trema/monkey-patch/string/inflectors.rb +0 -52
  221. data/ruby/trema/netns.rb +0 -127
  222. data/ruby/trema/network-component.rb +0 -151
  223. data/ruby/trema/ofctl.rb +0 -70
  224. data/ruby/trema/open-vswitch.rb +0 -160
  225. data/ruby/trema/openflow-error.c +0 -193
  226. data/ruby/trema/openflow-error.h +0 -51
  227. data/ruby/trema/openflow-switch.rb +0 -35
  228. data/ruby/trema/ordered-hash.rb +0 -75
  229. data/ruby/trema/packet-in.c +0 -1365
  230. data/ruby/trema/packet-in.h +0 -44
  231. data/ruby/trema/packet-queue.rb +0 -181
  232. data/ruby/trema/packetin-filter.rb +0 -124
  233. data/ruby/trema/path.rb +0 -85
  234. data/ruby/trema/phost.rb +0 -76
  235. data/ruby/trema/port-mod.c +0 -232
  236. data/ruby/trema/port-mod.h +0 -34
  237. data/ruby/trema/port-stats-reply.rb +0 -109
  238. data/ruby/trema/port-status-add.rb +0 -60
  239. data/ruby/trema/port-status-delete.rb +0 -60
  240. data/ruby/trema/port-status-modify.rb +0 -60
  241. data/ruby/trema/port-status.c +0 -192
  242. data/ruby/trema/port-status.h +0 -41
  243. data/ruby/trema/port.c +0 -398
  244. data/ruby/trema/port.h +0 -45
  245. data/ruby/trema/process.rb +0 -103
  246. data/ruby/trema/queue-get-config-reply.c +0 -205
  247. data/ruby/trema/queue-get-config-reply.h +0 -45
  248. data/ruby/trema/queue-get-config-request.c +0 -141
  249. data/ruby/trema/queue-get-config-request.h +0 -42
  250. data/ruby/trema/queue-stats-reply.rb +0 -76
  251. data/ruby/trema/ruby-switch.rb +0 -62
  252. data/ruby/trema/send-out-port.rb +0 -113
  253. data/ruby/trema/set-config.c +0 -174
  254. data/ruby/trema/set-config.h +0 -42
  255. data/ruby/trema/set-eth-addr.rb +0 -54
  256. data/ruby/trema/set-eth-dst-addr.rb +0 -52
  257. data/ruby/trema/set-eth-src-addr.rb +0 -53
  258. data/ruby/trema/set-ip-addr.rb +0 -54
  259. data/ruby/trema/set-ip-dst-addr.rb +0 -53
  260. data/ruby/trema/set-ip-src-addr.rb +0 -52
  261. data/ruby/trema/set-ip-tos.rb +0 -64
  262. data/ruby/trema/set-transport-dst-port.rb +0 -53
  263. data/ruby/trema/set-transport-port.rb +0 -53
  264. data/ruby/trema/set-transport-src-port.rb +0 -54
  265. data/ruby/trema/set-vlan-priority.rb +0 -66
  266. data/ruby/trema/set-vlan-vid.rb +0 -65
  267. data/ruby/trema/shell.rb +0 -37
  268. data/ruby/trema/shell/down.rb +0 -37
  269. data/ruby/trema/shell/killall.rb +0 -38
  270. data/ruby/trema/shell/link.rb +0 -59
  271. data/ruby/trema/shell/reset_stats.rb +0 -49
  272. data/ruby/trema/shell/run.rb +0 -67
  273. data/ruby/trema/shell/send_packets.rb +0 -40
  274. data/ruby/trema/shell/show_stats.rb +0 -47
  275. data/ruby/trema/shell/up.rb +0 -41
  276. data/ruby/trema/shell/vhost.rb +0 -42
  277. data/ruby/trema/shell/vswitch.rb +0 -47
  278. data/ruby/trema/stats-helper.rb +0 -63
  279. data/ruby/trema/stats-reply.c +0 -540
  280. data/ruby/trema/stats-reply.h +0 -51
  281. data/ruby/trema/stats-request.c +0 -715
  282. data/ruby/trema/stats-request.h +0 -40
  283. data/ruby/trema/strip-vlan-header.rb +0 -41
  284. data/ruby/trema/switch-daemon.rb +0 -90
  285. data/ruby/trema/switch-disconnected.c +0 -38
  286. data/ruby/trema/switch-disconnected.h +0 -36
  287. data/ruby/trema/switch-event.c +0 -648
  288. data/ruby/trema/switch-event.h +0 -27
  289. data/ruby/trema/switch-manager.rb +0 -119
  290. data/ruby/trema/switch.c +0 -197
  291. data/ruby/trema/switch.h +0 -40
  292. data/ruby/trema/switch.rb +0 -56
  293. data/ruby/trema/table-stats-reply.rb +0 -85
  294. data/ruby/trema/timers.rb +0 -95
  295. data/ruby/trema/trema-ruby-utils.c +0 -66
  296. data/ruby/trema/trema-ruby-utils.h +0 -42
  297. data/ruby/trema/trema.c +0 -126
  298. data/ruby/trema/tremashark.rb +0 -46
  299. data/ruby/trema/util.rb +0 -116
  300. data/ruby/trema/vendor-action.rb +0 -82
  301. data/ruby/trema/vendor-stats-reply.rb +0 -64
  302. data/ruby/trema/vendor.c +0 -230
  303. data/ruby/trema/vendor.h +0 -48
  304. data/ruby/trema/version.rb +0 -28
  305. data/spec/support/action.rb +0 -49
  306. data/spec/support/mandatory-option.rb +0 -53
  307. data/spec/support/matchers/constant.rb +0 -25
  308. data/spec/support/openflow-message.rb +0 -173
  309. data/spec/support/port-status.rb +0 -35
  310. data/spec/trema/app_spec.rb +0 -88
  311. data/spec/trema/barrier-reply_spec.rb +0 -43
  312. data/spec/trema/barrier-request_spec.rb +0 -92
  313. data/spec/trema/cli_spec.rb +0 -156
  314. data/spec/trema/default-logger_spec.rb +0 -46
  315. data/spec/trema/dsl/configuration_spec.rb +0 -120
  316. data/spec/trema/dsl/link_spec.rb +0 -50
  317. data/spec/trema/dsl/run_spec.rb +0 -72
  318. data/spec/trema/dsl/runner_spec.rb +0 -247
  319. data/spec/trema/dsl/switch_spec.rb +0 -69
  320. data/spec/trema/dsl/syntax_spec.rb +0 -110
  321. data/spec/trema/dsl/vhost_spec.rb +0 -144
  322. data/spec/trema/dsl/vswitch_spec.rb +0 -80
  323. data/spec/trema/echo-reply_spec.rb +0 -84
  324. data/spec/trema/echo-request_spec.rb +0 -128
  325. data/spec/trema/enqueue_spec.rb +0 -76
  326. data/spec/trema/error_spec.rb +0 -81
  327. data/spec/trema/executables_spec.rb +0 -54
  328. data/spec/trema/features-reply_spec.rb +0 -91
  329. data/spec/trema/features-request_spec.rb +0 -93
  330. data/spec/trema/flow-mod_spec.rb +0 -99
  331. data/spec/trema/flow-removed_spec.rb +0 -144
  332. data/spec/trema/get-config-reply_spec.rb +0 -43
  333. data/spec/trema/get-config-request_spec.rb +0 -92
  334. data/spec/trema/hardware-switch_spec.rb +0 -54
  335. data/spec/trema/hello_spec.rb +0 -63
  336. data/spec/trema/host_spec.rb +0 -191
  337. data/spec/trema/link_spec.rb +0 -62
  338. data/spec/trema/list-switches-reply_spec.rb +0 -46
  339. data/spec/trema/match_spec.rb +0 -111
  340. data/spec/trema/open-vswitch_spec.rb +0 -121
  341. data/spec/trema/openflow-error_spec.rb +0 -141
  342. data/spec/trema/packet-in_spec.rb +0 -717
  343. data/spec/trema/packet-out_spec.rb +0 -125
  344. data/spec/trema/packetin-filter_spec.rb +0 -39
  345. data/spec/trema/port-mod_spec.rb +0 -98
  346. data/spec/trema/port-status-add_spec.rb +0 -32
  347. data/spec/trema/port-status-delete_spec.rb +0 -32
  348. data/spec/trema/port-status-modify_spec.rb +0 -71
  349. data/spec/trema/port-status_spec.rb +0 -38
  350. data/spec/trema/port_spec.rb +0 -59
  351. data/spec/trema/process_spec.rb +0 -69
  352. data/spec/trema/queue-get-config-reply_spec.rb +0 -65
  353. data/spec/trema/queue-get-config-request_spec.rb +0 -67
  354. data/spec/trema/send-out-port_spec.rb +0 -106
  355. data/spec/trema/set-config_spec.rb +0 -78
  356. data/spec/trema/set-eth-addr_spec.rb +0 -62
  357. data/spec/trema/set-ip-addr_spec.rb +0 -81
  358. data/spec/trema/set-ip-tos_spec.rb +0 -70
  359. data/spec/trema/set-transport-dst-port_spec.rb +0 -65
  360. data/spec/trema/set-transport-src-port_spec.rb +0 -65
  361. data/spec/trema/set-vlan-priority_spec.rb +0 -65
  362. data/spec/trema/set-vlan-vid_spec.rb +0 -65
  363. data/spec/trema/shell/vhost_spec.rb +0 -58
  364. data/spec/trema/shell/vswitch_spec.rb +0 -87
  365. data/spec/trema/stats-reply_spec.rb +0 -363
  366. data/spec/trema/stats-request_spec.rb +0 -166
  367. data/spec/trema/strip-vlan-header_spec.rb +0 -44
  368. data/spec/trema/switch-daemon_spec.rb +0 -81
  369. data/spec/trema/switch-disconnected_spec.rb +0 -56
  370. data/spec/trema/switch-manager_spec.rb +0 -41
  371. data/spec/trema/tremashark_spec.rb +0 -39
  372. data/spec/trema/util_spec.rb +0 -88
  373. data/spec/trema/vendor-action_spec.rb +0 -75
  374. data/spec/trema/vendor_spec.rb +0 -76
  375. data/spec/trema_spec.rb +0 -94
  376. data/src/examples/cbench_switch/README +0 -21
  377. data/src/examples/cbench_switch/cbench-switch.rb +0 -38
  378. data/src/examples/cbench_switch/cbench_switch.c +0 -66
  379. data/src/examples/dumper/dumper.c +0 -362
  380. data/src/examples/dumper/dumper.conf +0 -7
  381. data/src/examples/dumper/dumper.rb +0 -195
  382. data/src/examples/hello_trema/.gitignore +0 -2
  383. data/src/examples/hello_trema/README.md +0 -2
  384. data/src/examples/hello_trema/hello-trema.rb +0 -30
  385. data/src/examples/hello_trema/hello_trema.c +0 -48
  386. data/src/examples/hello_trema/sample.conf +0 -1
  387. data/src/examples/learning_switch/README +0 -15
  388. data/src/examples/learning_switch/fdb.rb +0 -110
  389. data/src/examples/learning_switch/learning-switch.rb +0 -90
  390. data/src/examples/learning_switch/learning_switch.c +0 -217
  391. data/src/examples/learning_switch/learning_switch.conf +0 -18
  392. data/src/examples/list_switches/README +0 -19
  393. data/src/examples/list_switches/list-switches.rb +0 -43
  394. data/src/examples/list_switches/list_switches.c +0 -79
  395. data/src/examples/list_switches/list_switches.conf +0 -15
  396. data/src/examples/match_compare/match-compare.conf +0 -30
  397. data/src/examples/match_compare/match-compare.rb +0 -97
  398. data/src/examples/multi_learning_switch/README +0 -14
  399. data/src/examples/multi_learning_switch/multi-learning-switch.rb +0 -94
  400. data/src/examples/multi_learning_switch/multi_learning_switch.c +0 -294
  401. data/src/examples/multi_learning_switch/multi_learning_switch.conf +0 -17
  402. data/src/examples/openflow_message/README +0 -11
  403. data/src/examples/openflow_message/echo.c +0 -80
  404. data/src/examples/openflow_message/echo.rb +0 -56
  405. data/src/examples/openflow_message/example.rb +0 -60
  406. data/src/examples/openflow_message/features-request.rb +0 -96
  407. data/src/examples/openflow_message/features_request.c +0 -167
  408. data/src/examples/openflow_message/hello.c +0 -68
  409. data/src/examples/openflow_message/hello.rb +0 -43
  410. data/src/examples/openflow_message/set-config.rb +0 -57
  411. data/src/examples/openflow_message/set_config.c +0 -68
  412. data/src/examples/openflow_message/vendor-action.rb +0 -43
  413. data/src/examples/openflow_message/vendor-stats-request.rb +0 -66
  414. data/src/examples/openflow_message/vendor_action.c +0 -103
  415. data/src/examples/openflow_switch/echo_switch.c +0 -89
  416. data/src/examples/openflow_switch/hello_switch.c +0 -85
  417. data/src/examples/packet_in/README +0 -15
  418. data/src/examples/packet_in/packet-in.rb +0 -37
  419. data/src/examples/packet_in/packet_in.c +0 -53
  420. data/src/examples/packet_in/packet_in.conf +0 -15
  421. data/src/examples/packetin_filter_config/README +0 -12
  422. data/src/examples/packetin_filter_config/add_filter.c +0 -71
  423. data/src/examples/packetin_filter_config/delete_filter.c +0 -63
  424. data/src/examples/packetin_filter_config/delete_filter_strict.c +0 -73
  425. data/src/examples/packetin_filter_config/dump_filter.c +0 -63
  426. data/src/examples/packetin_filter_config/dump_filter_strict.c +0 -73
  427. data/src/examples/packetin_filter_config/packetin_filter_config.c +0 -132
  428. data/src/examples/packetin_filter_config/packetin_filter_config.conf +0 -7
  429. data/src/examples/packetin_filter_config/utils.c +0 -100
  430. data/src/examples/packetin_filter_config/utils.h +0 -40
  431. data/src/examples/patch_panel/network.conf +0 -14
  432. data/src/examples/patch_panel/patch-panel.conf +0 -1
  433. data/src/examples/patch_panel/patch-panel.rb +0 -59
  434. data/src/examples/repeater_hub/README +0 -8
  435. data/src/examples/repeater_hub/repeater-hub.rb +0 -41
  436. data/src/examples/repeater_hub/repeater-hub_spec.rb +0 -154
  437. data/src/examples/repeater_hub/repeater_hub.c +0 -81
  438. data/src/examples/repeater_hub/repeater_hub.conf +0 -28
  439. data/src/examples/simple_router/README +0 -18
  440. data/src/examples/simple_router/arp-table.rb +0 -81
  441. data/src/examples/simple_router/interface.rb +0 -90
  442. data/src/examples/simple_router/routing-table.rb +0 -60
  443. data/src/examples/simple_router/simple-router.rb +0 -191
  444. data/src/examples/simple_router/simple_router.conf +0 -24
  445. data/src/examples/simple_router/simple_router_netns.conf +0 -15
  446. data/src/examples/simple_router/simple_router_network.conf +0 -6
  447. data/src/examples/switch_event_config/.gitignore +0 -6
  448. data/src/examples/switch_event_config/add_forward_entry.c +0 -227
  449. data/src/examples/switch_event_config/delete_forward_entry.c +0 -226
  450. data/src/examples/switch_event_config/dump_forward_entries.c +0 -190
  451. data/src/examples/switch_event_config/network.conf +0 -2
  452. data/src/examples/switch_event_config/set_forward_entries.c +0 -210
  453. data/src/examples/switch_info/README +0 -13
  454. data/src/examples/switch_info/switch-info.rb +0 -44
  455. data/src/examples/switch_info/switch_info.c +0 -78
  456. data/src/examples/switch_info/switch_info.conf +0 -3
  457. data/src/examples/switch_monitor/switch-monitor.conf +0 -3
  458. data/src/examples/switch_monitor/switch-monitor.rb +0 -56
  459. data/src/examples/switch_monitor/switch_monitor.c +0 -152
  460. data/src/examples/traffic_monitor/counter.c +0 -72
  461. data/src/examples/traffic_monitor/counter.h +0 -46
  462. data/src/examples/traffic_monitor/counter.rb +0 -44
  463. data/src/examples/traffic_monitor/fdb.c +0 -74
  464. data/src/examples/traffic_monitor/fdb.h +0 -48
  465. data/src/examples/traffic_monitor/fdb.rb +0 -42
  466. data/src/examples/traffic_monitor/traffic-monitor.rb +0 -98
  467. data/src/examples/traffic_monitor/traffic_monitor.c +0 -161
  468. data/src/examples/traffic_monitor/traffic_monitor.conf +0 -16
  469. data/src/examples/transparent_firewall/README.md +0 -61
  470. data/src/examples/transparent_firewall/aggregated-delegated-afrinic.txt +0 -713
  471. data/src/examples/transparent_firewall/aggregated-delegated-apnic.txt +0 -3440
  472. data/src/examples/transparent_firewall/aggregated-delegated-arin.txt +0 -11342
  473. data/src/examples/transparent_firewall/aggregated-delegated-lacnic.txt +0 -1937
  474. data/src/examples/transparent_firewall/aggregated-delegated-ripencc.txt +0 -7329
  475. data/src/examples/transparent_firewall/block-rfc1918.rb +0 -86
  476. data/src/examples/transparent_firewall/pass-delegated.rb +0 -178
  477. data/src/examples/transparent_firewall/regen_aggregated.sh +0 -53
  478. data/src/examples/transparent_firewall/stats-to-cidrs.rb +0 -59
  479. data/src/lib/arp.h +0 -64
  480. data/src/lib/bool.h +0 -47
  481. data/src/lib/buffer.c +0 -304
  482. data/src/lib/buffer.h +0 -54
  483. data/src/lib/byteorder.c +0 -571
  484. data/src/lib/byteorder.h +0 -108
  485. data/src/lib/checks.h +0 -40
  486. data/src/lib/chibach.c +0 -392
  487. data/src/lib/chibach.h +0 -69
  488. data/src/lib/chibach_private.c +0 -168
  489. data/src/lib/chibach_private.h +0 -50
  490. data/src/lib/daemon.c +0 -429
  491. data/src/lib/daemon.h +0 -40
  492. data/src/lib/doubly_linked_list.c +0 -284
  493. data/src/lib/doubly_linked_list.h +0 -86
  494. data/src/lib/ether.c +0 -47
  495. data/src/lib/ether.h +0 -92
  496. data/src/lib/etherip.h +0 -44
  497. data/src/lib/event_forward_interface.c +0 -788
  498. data/src/lib/event_forward_interface.h +0 -138
  499. data/src/lib/event_handler.c +0 -419
  500. data/src/lib/event_handler.h +0 -57
  501. data/src/lib/external_callback.c +0 -126
  502. data/src/lib/external_callback.h +0 -46
  503. data/src/lib/hash_table.c +0 -415
  504. data/src/lib/hash_table.h +0 -136
  505. data/src/lib/icmp.h +0 -72
  506. data/src/lib/igmp.h +0 -48
  507. data/src/lib/ipv4.h +0 -64
  508. data/src/lib/ipv6.h +0 -46
  509. data/src/lib/linked_list.c +0 -244
  510. data/src/lib/linked_list.h +0 -84
  511. data/src/lib/log.c +0 -636
  512. data/src/lib/log.h +0 -77
  513. data/src/lib/management_interface.c +0 -359
  514. data/src/lib/management_interface.h +0 -40
  515. data/src/lib/management_service_interface.c +0 -102
  516. data/src/lib/management_service_interface.h +0 -134
  517. data/src/lib/match.h +0 -82
  518. data/src/lib/match_table.c +0 -606
  519. data/src/lib/match_table.h +0 -49
  520. data/src/lib/message_queue.c +0 -143
  521. data/src/lib/message_queue.h +0 -59
  522. data/src/lib/messenger.c +0 -1821
  523. data/src/lib/messenger.h +0 -145
  524. data/src/lib/openflow_application_interface.c +0 -1800
  525. data/src/lib/openflow_application_interface.h +0 -359
  526. data/src/lib/openflow_message.c +0 -4240
  527. data/src/lib/openflow_message.h +0 -291
  528. data/src/lib/openflow_service_interface.h +0 -58
  529. data/src/lib/openflow_switch_interface.c +0 -1378
  530. data/src/lib/openflow_switch_interface.h +0 -262
  531. data/src/lib/packet_info.c +0 -336
  532. data/src/lib/packet_info.h +0 -233
  533. data/src/lib/packet_parser.c +0 -522
  534. data/src/lib/packetin_filter_interface.c +0 -292
  535. data/src/lib/packetin_filter_interface.h +0 -125
  536. data/src/lib/persistent_storage.c +0 -478
  537. data/src/lib/persistent_storage.h +0 -44
  538. data/src/lib/secure_channel.c +0 -496
  539. data/src/lib/secure_channel.h +0 -43
  540. data/src/lib/stat.c +0 -248
  541. data/src/lib/stat.h +0 -51
  542. data/src/lib/tcp.h +0 -62
  543. data/src/lib/timer.c +0 -349
  544. data/src/lib/timer.h +0 -51
  545. data/src/lib/trema.c +0 -776
  546. data/src/lib/trema.h +0 -80
  547. data/src/lib/trema.hpp +0 -49
  548. data/src/lib/trema_private.c +0 -175
  549. data/src/lib/trema_private.h +0 -64
  550. data/src/lib/trema_wrapper.c +0 -59
  551. data/src/lib/trema_wrapper.h +0 -66
  552. data/src/lib/udp.h +0 -41
  553. data/src/lib/utility.c +0 -625
  554. data/src/lib/utility.h +0 -84
  555. data/src/lib/wrapper.c +0 -121
  556. data/src/lib/wrapper.h +0 -76
  557. data/src/management/application.c +0 -222
  558. data/src/management/echo.c +0 -183
  559. data/src/management/set_logging_level.c +0 -151
  560. data/src/management/show_stats.c +0 -148
  561. data/src/management/trema_manager +0 -184
  562. data/src/packetin_filter/README +0 -17
  563. data/src/packetin_filter/packetin_filter.c +0 -575
  564. data/src/switch_manager/README +0 -20
  565. data/src/switch_manager/cookie_table.c +0 -290
  566. data/src/switch_manager/cookie_table.h +0 -70
  567. data/src/switch_manager/dpid_table.c +0 -108
  568. data/src/switch_manager/dpid_table.h +0 -43
  569. data/src/switch_manager/event_forward_entry_manipulation.c +0 -120
  570. data/src/switch_manager/event_forward_entry_manipulation.h +0 -31
  571. data/src/switch_manager/ofpmsg_recv.c +0 -497
  572. data/src/switch_manager/ofpmsg_recv.h +0 -39
  573. data/src/switch_manager/ofpmsg_send.c +0 -274
  574. data/src/switch_manager/ofpmsg_send.h +0 -51
  575. data/src/switch_manager/secure_channel_listener.c +0 -296
  576. data/src/switch_manager/secure_channel_listener.h +0 -40
  577. data/src/switch_manager/secure_channel_receiver.c +0 -129
  578. data/src/switch_manager/secure_channel_receiver.h +0 -40
  579. data/src/switch_manager/secure_channel_sender.c +0 -131
  580. data/src/switch_manager/secure_channel_sender.h +0 -41
  581. data/src/switch_manager/service_interface.c +0 -180
  582. data/src/switch_manager/service_interface.h +0 -44
  583. data/src/switch_manager/switch.c +0 -988
  584. data/src/switch_manager/switch.h +0 -50
  585. data/src/switch_manager/switch_manager.c +0 -643
  586. data/src/switch_manager/switch_manager.h +0 -65
  587. data/src/switch_manager/switch_option.c +0 -30
  588. data/src/switch_manager/switch_option.h +0 -41
  589. data/src/switch_manager/switchinfo.h +0 -81
  590. data/src/switch_manager/xid_table.c +0 -182
  591. data/src/switch_manager/xid_table.h +0 -53
  592. data/src/tremashark/README +0 -79
  593. data/src/tremashark/packet_capture.c +0 -358
  594. data/src/tremashark/pcap_private.h +0 -45
  595. data/src/tremashark/pcap_queue.c +0 -195
  596. data/src/tremashark/pcap_queue.h +0 -56
  597. data/src/tremashark/plugin/.gitignore +0 -6
  598. data/src/tremashark/plugin/packet-trema/.gitignore +0 -5
  599. data/src/tremashark/plugin/packet-trema/Makefile +0 -77
  600. data/src/tremashark/plugin/packet-trema/Makefile.am +0 -110
  601. data/src/tremashark/plugin/packet-trema/Makefile.common +0 -29
  602. data/src/tremashark/plugin/packet-trema/moduleinfo.h +0 -39
  603. data/src/tremashark/plugin/packet-trema/packet-trema.c +0 -1671
  604. data/src/tremashark/plugin/packet-trema/plugin.c +0 -31
  605. data/src/tremashark/plugin/user_dlts +0 -2
  606. data/src/tremashark/queue.c +0 -167
  607. data/src/tremashark/queue.h +0 -58
  608. data/src/tremashark/stdin_relay.c +0 -257
  609. data/src/tremashark/syslog_relay.c +0 -247
  610. data/src/tremashark/tremashark.c +0 -554
  611. data/trema +0 -11
  612. data/trema-config +0 -11
  613. data/unittests/buffer_stubs.c +0 -72
  614. data/unittests/cmockery_trema.c +0 -121
  615. data/unittests/cmockery_trema.h +0 -95
  616. data/unittests/lib/buffer_test.c +0 -368
  617. data/unittests/lib/byteorder_test.c +0 -1798
  618. data/unittests/lib/daemon_test.c +0 -804
  619. data/unittests/lib/doubly_linked_list_test.c +0 -348
  620. data/unittests/lib/ether_test.c +0 -125
  621. data/unittests/lib/event_forward_interface_test.c +0 -1676
  622. data/unittests/lib/external_callback_test.c +0 -282
  623. data/unittests/lib/hash_table_test.c +0 -278
  624. data/unittests/lib/linked_list_test.c +0 -434
  625. data/unittests/lib/log_test.c +0 -672
  626. data/unittests/lib/management_interface_test.c +0 -238
  627. data/unittests/lib/management_service_interface_test.c +0 -317
  628. data/unittests/lib/match_table_test.c +0 -1507
  629. data/unittests/lib/message_queue_test.c +0 -381
  630. data/unittests/lib/messenger_test.c +0 -623
  631. data/unittests/lib/openflow_application_interface_test.c +0 -3713
  632. data/unittests/lib/openflow_message_test.c +0 -8047
  633. data/unittests/lib/packet_info_test.c +0 -558
  634. data/unittests/lib/packet_parser_test.c +0 -784
  635. data/unittests/lib/packetin_filter_interface_test.c +0 -721
  636. data/unittests/lib/persistent_storage_test.c +0 -800
  637. data/unittests/lib/stat_test.c +0 -433
  638. data/unittests/lib/test_packets/arp_rep.cap +0 -0
  639. data/unittests/lib/test_packets/arp_req.cap +0 -0
  640. data/unittests/lib/test_packets/icmp6_echo_rep.cap +0 -0
  641. data/unittests/lib/test_packets/icmp6_echo_req.cap +0 -0
  642. data/unittests/lib/test_packets/icmp_echo_rep.cap +0 -0
  643. data/unittests/lib/test_packets/icmp_echo_req.cap +0 -0
  644. data/unittests/lib/test_packets/igmp_query_v2.cap +0 -0
  645. data/unittests/lib/test_packets/ipx.cap +0 -0
  646. data/unittests/lib/test_packets/lldp.cap +0 -0
  647. data/unittests/lib/test_packets/lldp_over_ip.cap +0 -0
  648. data/unittests/lib/test_packets/rarp_req.cap +0 -0
  649. data/unittests/lib/test_packets/tcp.cap +0 -0
  650. data/unittests/lib/test_packets/tcp_syn.cap +0 -0
  651. data/unittests/lib/test_packets/udp.cap +0 -0
  652. data/unittests/lib/test_packets/udp_frag_head.cap +0 -0
  653. data/unittests/lib/test_packets/udp_frag_next.cap +0 -0
  654. data/unittests/lib/test_packets/vtag_icmp_echo_rep.cap +0 -0
  655. data/unittests/lib/test_packets/vtag_icmp_echo_req.cap +0 -0
  656. data/unittests/lib/timer_test.c +0 -246
  657. data/unittests/lib/trema_private_test.c +0 -321
  658. data/unittests/lib/trema_test.c +0 -1030
  659. data/unittests/lib/utility_test.c +0 -711
  660. data/unittests/lib/wrapper_test.c +0 -228
  661. data/unittests/packetin_filter/packetin_filter_test.c +0 -476
  662. data/unittests/switch_manager/switch_manager_test.c +0 -1183
  663. data/unittests/wrapper_stubs.c +0 -37
  664. data/vendor/.gitignore +0 -6
  665. data/vendor/README.md +0 -29
  666. data/vendor/cmockery-20110428.tar.gz +0 -0
  667. data/vendor/oflops-0.03.trema1.tar.gz +0 -0
  668. data/vendor/oflops_no_snmp+1.0.0.diff +0 -340
  669. data/vendor/openflow-1.0.0.tar.gz +0 -0
  670. data/vendor/openflow.git.tar.gz +0 -0
  671. data/vendor/openvswitch-1.2.2.trema1.tar.gz +0 -0
  672. data/vendor/openvswitch-1.2.2_librt-check.diff +0 -21
  673. data/vendor/packet-openflow.diff +0 -13
  674. data/vendor/ruby-ifconfig-1.2/COPYING +0 -340
  675. data/vendor/ruby-ifconfig-1.2/Changelog +0 -16
  676. data/vendor/ruby-ifconfig-1.2/INSTALL +0 -239
  677. data/vendor/ruby-ifconfig-1.2/README +0 -38
  678. data/vendor/ruby-ifconfig-1.2/Rakefile +0 -14
  679. data/vendor/ruby-ifconfig-1.2/TODO +0 -8
  680. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/darwin.txt +0 -17
  681. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/dragonflybsd.txt +0 -10
  682. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/dragonflybsd_netstat.txt +0 -14
  683. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/freebsd.txt +0 -17
  684. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/freebsd_netstat.txt +0 -24
  685. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/linux.txt +0 -60
  686. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/linux_ethernet.txt +0 -20
  687. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/netbsd.txt +0 -10
  688. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/openbsd.txt +0 -36
  689. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/sunos.txt +0 -10
  690. data/vendor/ruby-ifconfig-1.2/lib/ifconfig.rb +0 -71
  691. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/ifconfig.rb +0 -72
  692. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/interface_types.rb +0 -69
  693. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/network_types.rb +0 -3
  694. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/common/ifconfig.rb +0 -84
  695. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/common/interface_types.rb +0 -130
  696. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/common/network_types.rb +0 -49
  697. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/ifconfig.rb +0 -43
  698. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/interface_types.rb +0 -112
  699. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/network_types.rb +0 -55
  700. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/ifconfig.rb +0 -38
  701. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/interface_types.rb +0 -77
  702. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/network_types.rb +0 -4
  703. data/vendor/ruby-ifconfig-1.2/setup.rb +0 -1306
  704. data/vendor/ruby-ifconfig-1.2/test/test_bsd.rb +0 -35
  705. data/vendor/ruby-ifconfig-1.2/test/test_darwin.rb +0 -33
  706. data/vendor/ruby-ifconfig-1.2/test/test_dragonflybsd.rb +0 -35
  707. data/vendor/ruby-ifconfig-1.2/test/test_helper.rb +0 -4
  708. data/vendor/ruby-ifconfig-1.2/test/test_linux.rb +0 -31
  709. data/vendor/ruby-ifconfig-1.2/test/test_netbsd.rb +0 -33
  710. data/vendor/ruby-ifconfig-1.2/test/test_openbsd.rb +0 -33
  711. data/vendor/ruby-ifconfig-1.2/test/test_sunos.rb +0 -35
  712. data/vendor/ruby-ifconfig-1.2/test/unit/tc_darwin.rb +0 -40
  713. data/vendor/ruby-ifconfig-1.2/test/unit/tc_dragonflybsd.rb +0 -39
  714. data/vendor/ruby-ifconfig-1.2/test/unit/tc_freebsd.rb +0 -40
  715. data/vendor/ruby-ifconfig-1.2/test/unit/tc_linux.rb +0 -49
  716. data/vendor/ruby-ifconfig-1.2/test/unit/tc_netbsd.rb +0 -39
  717. data/vendor/ruby-ifconfig-1.2/test/unit/tc_openbsd.rb +0 -39
  718. data/vendor/ruby-ifconfig-1.2/test/unit/tc_sunos.rb +0 -44
@@ -1,38 +0,0 @@
1
- $Id: README,v 1.1.1.1 2005/07/02 19:10:57 hobe Exp $
2
-
3
- This is a Ruby wrapper around the ifconfig command. The goal is to make
4
- getting any information that ifconfig provides easy to access.
5
-
6
- It was developed on Linux 2.6 with ifconfig from net-tools 1.60. It also has
7
- support for SunOS, Darwin and Open, Free, Net, and DragonflyBSD. These have
8
- not been thoroughly tested. Non Linux platforms call netstat for interface
9
- packet information
10
-
11
- Please send me ifconfig / netstat output for platforms that don't work.
12
-
13
- see test/*.rb for usage examples.
14
-
15
- Thanks to Peter Johnson for the *BSD examples
16
- Thanks to Jeremy Tregunna for Darwin and DragonflyBSD support
17
-
18
- INSTALLATION
19
- ------------
20
-
21
- Please see the INSTALL file for details of how to install Ruby-Ifconfig
22
-
23
- TESTING
24
- -------
25
- > rake
26
- to run all the unit tests.
27
-
28
- LICENCE
29
- -------
30
-
31
- This software is offered under the GNU GENERAL PUBLIC LICENSE, a copy of which
32
- is included.
33
-
34
- Section 2, paragraph b and section 5 of the GNU General Public License does not apply when the Software (Ruby/Ifconfig) is included in the program Corgi.
35
-
36
- --
37
- Daniel Hobe
38
- daniel@nightrunner.com
@@ -1,14 +0,0 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
-
4
- $VERBOSE = true
5
-
6
- desc "Run all unit tests"
7
- task :default => [ :test_units ]
8
-
9
- desc "Run the unit tests in test/"
10
- task :test_units do
11
- Dir.glob('test/unit/*').each do |t|
12
- puts `/usr/bin/env ruby #{t}`
13
- end
14
- end
@@ -1,8 +0,0 @@
1
- $Id: TODO,v 1.1.1.1 2005/07/02 19:10:57 hobe Exp $
2
-
3
- Clean up code to reduce duplicate code as much as possible.
4
-
5
- Test on more platforms
6
-
7
- Add concept of 'sub platform'. For example BSD->NetBSD1.4 might be different
8
- from BSD->NetBSD1.5
@@ -1,17 +0,0 @@
1
- lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
2
- inet6 ::1 prefixlen 128
3
- inet6 fe80::1 prefixlen 64 scopeid 0x1
4
- inet 127.0.0.1 netmask 0xff000000
5
- gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
6
- stf0: flags=0<> mtu 1280
7
- en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
8
- inet6 fe80::203:93ff:fe0a:1676 prefixlen 64 scopeid 0x4
9
- inet 192.168.0.14 netmask 0xffffff00 broadcast 192.168.0.255
10
- inet6 2001:5c0:8116::203:93ff:fe0a:1676 prefixlen 64 autoconf
11
- ether 00:03:93:0a:16:76
12
- media: autoselect (100baseTX <full-duplex>) status: active
13
- supported media: none autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex> 10baseT/UTP <full-duplex,hw-loopback> 100baseTX <half-duplex> 100baseTX <full-duplex> 100baseTX <full-duplex,hw-loopback>
14
- fw0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 2030
15
- lladdr 00:03:93:ff:fe:0a:16:76
16
- media: autoselect <full-duplex> status: inactive
17
- supported media: autoselect <full-duplex>
@@ -1,10 +0,0 @@
1
- rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
2
- inet6 fe80::202:44ff:fe8f:bb15%rl0 prefixlen 64 scopeid 0x2
3
- inet 192.168.1.24 netmask 0xffffff00 broadcast 192.168.1.255
4
- ether 00:02:44:8f:bb:15
5
- media: Ethernet autoselect (100baseTX <full-duplex>)
6
- status: active
7
- lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
8
- inet6 ::1 prefixlen 128
9
- inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
10
- inet 127.0.0.1 netmask 0xff000000
@@ -1,14 +0,0 @@
1
- ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
2
- sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
3
- faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500
4
- Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
5
- rl0 1500 <Link#1> 00:02:44:8f:bb:15 606 0 549 0 0
6
- rl0 1500 fe80:2::202 fe80:2::202:44ff: 0 - 0 - -
7
- rl0 1500 192.168.1 192.168.1.24 605 - 544 - -
8
- lo0 16384 <Link#2> 0 0 0 0 0
9
- lo0 16384 ::1/128 ::1 0 - 0 - -
10
- lo0 16384 fe80:4::1/6 fe80:4::1 0 - 0 - -
11
- lo0 16384 127 127.0.0.1 0 - 0 - -
12
- ppp0* 1500 <Link#3> 0 0 0 0 0
13
- sl0* 552 <Link#4> 0 0 0 0 0
14
- faith0* 1500 <Link#5> 0 0 0 0 0
@@ -1,17 +0,0 @@
1
- xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
2
- options=3<rxcsum,txcsum>
3
- inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
4
- inet6 fe80::201:2ff:fec6:4bea%xl0 prefixlen 64 scopeid 0x1
5
- ether 00:01:02:c6:4b:ea
6
- media: Ethernet autoselect (100baseTX <full-duplex>)
7
- status: active
8
- rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
9
- inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
10
- inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1
11
- ether 00:00:21:03:08:e1
12
- media: Ethernet autoselect (100baseTX )
13
- status: active
14
- lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
15
- inet6 ::1 prefixlen 128
16
- inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
17
- inet 127.0.0.1 netmask 0xff000000
@@ -1,24 +0,0 @@
1
- Name Mtu Network Address Ipkts Ierrs Ibytes Opkts Oerrs Obytes Coll Time Drop
2
- xl0 1500 <Link#1> 00:01:02:c6:4b:ea 7878752 2 404325088 5502452 0 1276760877 0 0 0
3
- 33:33:46:5d:24:5a
4
- 33:33:00:00:00:01
5
- 33:33:ff:c6:4b:ea
6
- 01:00:5e:00:00:01
7
- xl0 1500 192.168.0 beleriand 7865045 - 287935758 5496244 - 1199565347 - - -
8
- ALL-SYSTEMS.MCAST.NET
9
- xl0 1500 fe80:1::201 fe80:1::201:2ff:f 0 - 0 0 - 0 - - -
10
- ff02:1::2:465d:245a(refs: 1)
11
- ff02:1::1 (refs: 1)
12
- ff02:1::1:ffc6:4bea(refs: 1)
13
- lo0 16384 <Link#2> 574 0 118916 574 0 118916 0 0 0
14
- lo0 16384 localhost ::1 0 - 0 0 - 0 - - -
15
- ff01::1 (refs: 1)
16
- ff02:2::1 (refs: 1)
17
- ff02:2::1:ff00:1 (refs: 2)
18
- lo0 16384 fe80:2::1 fe80:2::1 0 - 0 0 - 0 - - -
19
- ff01::1 (refs: 1)
20
- ff02:2::1 (refs: 1)
21
- ff02:2::1:ff00:1 (refs: 2)
22
- lo0 16384 your-net localhost 574 - 118916 574 - 118916 - - -
23
- ALL-SYSTEMS.MCAST.NET
24
-
@@ -1,60 +0,0 @@
1
- eth0 Link encap:Ethernet HWaddr 00:50:DA:C1:C3:45
2
- inet addr:216.87.223.240 Bcast:216.87.223.255 Mask:255.255.255.0
3
- inet6 addr: fe80::250:daff:fec1:c345/10 Scope:Link
4
- inet6 addr: 3ffe:b00:c18:1fff::2bd/0 Scope:Global
5
- IPX/Ethernet II addr:CA008137:00204808C79B
6
- IPX/Ethernet SNAP addr:00204808C79B
7
- IPX/Ethernet 802.2 addr:00204808C79B
8
- IPX/Ethernet 802.3 addr:00204808C79B
9
- EtherTalk Phase 2 addr:7349/195
10
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
11
- RX packets:90170 errors:0 dropped:0 overruns:0 frame:0
12
- TX packets:2854 errors:0 dropped:0 overruns:0 carrier:0
13
- collisions:0 txqueuelen:100
14
- RX bytes:1037052545 (989.0 MiB) TX bytes:32859376 (31.3 MiB)
15
- Interrupt:10 Base address:0xe400
16
-
17
- eth0:0 Link encap:Ethernet HWaddr 00:50:DA:C1:C3:45
18
- inet addr:172.16.0.93 Bcast:172.16.0.255 Mask:255.255.255.0
19
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
20
- Interrupt:10 Base address:0xe400
21
-
22
- ppp0 Link encap:Point-to-Point Protocol
23
- inet addr:213.8.120.98 P-t-P:213.8.120.1 Mask:255.255.255.255
24
- UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1452 Metric:1
25
- RX packets:49753 errors:0 dropped:0 overruns:0 frame:0
26
- TX packets:26973 errors:0 dropped:0 overruns:0 carrier:0
27
- collisions:0 txqueuelen:10
28
-
29
- sl0 Link encap:Serial Line IP
30
- inet addr:192.168.1.1 P-t-P:192.168.1.2 Mask:255.255.255.0
31
- UP POINTOPOINT RUNNING MTU:1500 Metric:1
32
- RX packets:0 errors:0 dropped:0 overruns:0
33
- TX packets:40 errors:0 dropped:0 overruns:0
34
-
35
- lo Link encap:Local Loopback
36
- inet addr:127.0.0.1 Mask:255.0.0.0
37
- inet6 addr: ::1/128 Scope:Host
38
- EtherTalk Phase 2 addr:0/0
39
- UP LOOPBACK RUNNING MTU:3924 Metric:1
40
- RX packets:43 errors:0 dropped:0 overruns:0 frame:0
41
- TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
42
- collisions:0 txqueuelen:0
43
- RX bytes:14564572 (13.8 MiB) TX bytes:14564572 (13.8 MiB)
44
-
45
- sit0 Link encap:IPv6-in-IPv4
46
- inet6 addr: ::127.0.0.1/96 Scope:Unknown
47
- inet6 addr: ::216.87.223.240/96 Scope:Compat
48
- inet6 addr: ::172.16.0.93/96 Scope:Compat
49
- UP RUNNING NOARP MTU:1480 Metric:1
50
- RX packets:0 errors:0 dropped:0 overruns:0 frame:0
51
- TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
52
- collisions:0 txqueuelen:0
53
-
54
- sit1 Link encap:IPv6-in-IPv4
55
- inet6 addr: fe80::d857:dff0/10 Scope:Link
56
- inet6 addr: fe80::ac10:5d/10 Scope:Link
57
- UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1
58
- RX packets:0 errors:0 dropped:0 overruns:0 frame:0
59
- TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
60
- collisions:0 txqueuelen:0
@@ -1,20 +0,0 @@
1
- eth0 Link encap:Ethernet HWaddr 00:50:DA:C1:C3:45
2
- inet addr:216.87.223.240 Bcast:216.87.223.255 Mask:255.255.255.0
3
- inet6 addr: fe80::250:daff:fec1:c345/10 Scope:Link
4
- inet6 addr: 3ffe:b00:c18:1fff::2bd/0 Scope:Global
5
- IPX/Ethernet II addr:CA008137:00204808C79B
6
- IPX/Ethernet SNAP addr:00204808C79B
7
- IPX/Ethernet 802.2 addr:00204808C79B
8
- IPX/Ethernet 802.3 addr:00204808C79B
9
- EtherTalk Phase 2 addr:7349/195
10
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
11
- RX packets:90170 errors:0 dropped:0 overruns:0 frame:0
12
- TX packets:2854 errors:0 dropped:0 overruns:0 carrier:0
13
- collisions:0 txqueuelen:100
14
- RX bytes:1037052545 (989.0 MiB) TX bytes:32859376 (31.3 MiB)
15
- Interrupt:10 Base address:0xe400
16
-
17
- eth0:0 Link encap:Ethernet HWaddr 00:50:DA:C1:C3:45
18
- inet addr:172.16.0.93 Bcast:172.16.0.255 Mask:255.255.255.0
19
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
20
- Interrupt:10 Base address:0xe400
@@ -1,10 +0,0 @@
1
- cs0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
2
- address: 08:00:2b:81:62:ca
3
- media: Ethernet 10baseT
4
- status: active
5
- inet 192.168.0.3 netmask 0xffffff00 broadcast 192.168.0.255
6
- inet6 fe80::a00:2bff:fe81:62ca%cs0 prefixlen 64 scopeid 0x1
7
- lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 33220
8
- inet 127.0.0.1 netmask 0xff000000
9
- inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
10
- inet6 ::1 prefixlen 128
@@ -1,36 +0,0 @@
1
- lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
2
- inet 127.0.0.1 netmask 0xff000000
3
- inet6 ::1 prefixlen 128
4
- inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
5
- lo1: flags=8008<LOOPBACK,MULTICAST> mtu 33224
6
- xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
7
- address: 00:01:02:c6:4b:3d
8
- media: Ethernet autoselect (100baseTX full-duplex)
9
- status: active
10
- inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
11
- inet6 fe80::201:2ff:fec6:4b3d%xl0 prefixlen 64 scopeid 0x1
12
- ep0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
13
- address: 00:20:af:31:99:43
14
- media: Ethernet 10baseT
15
- inet6 fe80::220:afff:fe31:9943%ep0 prefixlen 64 scopeid 0x2
16
- inet 24.6.50.88 netmask 0xfffff800 broadcast 255.255.255.255
17
- pflog0: flags=41<UP,RUNNING> mtu 33224
18
- pfsync0: flags=0<> mtu 1896
19
- sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
20
- sl1: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
21
- ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
22
- ppp1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
23
- tun0: flags=10<POINTOPOINT> mtu 3000
24
- tun1: flags=10<POINTOPOINT> mtu 3000
25
- enc0: flags=0<> mtu 1536
26
- bridge0: flags=0<> mtu 1500
27
- bridge1: flags=0<> mtu 1500
28
- vlan0: flags=0<> mtu 1500
29
- address: 00:00:00:00:00:00
30
- vlan1: flags=0<> mtu 1500
31
- address: 00:00:00:00:00:00
32
- gre0: flags=9010<POINTOPOINT,LINK0,MULTICAST> mtu 1450
33
- gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
34
- gif1: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
35
- gif2: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
36
- gif3: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
@@ -1,10 +0,0 @@
1
- lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
2
- inet 127.0.0.1 netmask ff000000
3
- inet6 ::1/128
4
- bge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
5
- inet 10.32.4.138 netmask ffffff00 broadcast 10.32.4.255
6
- ether 0:3:ba:42:9d:ef
7
- inet6 fe80::a00:20ff:fe72:9724/10
8
- le1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
9
- inet 172.16.254.99 netmask ffff0000 broadcast 172.16.255.255
10
- ether 8:0:20:1d:71:eb
@@ -1,71 +0,0 @@
1
- # $Revision: 1.1.1.1 $
2
- # $Id: ifconfig.rb,v 1.1.1.1 2005/07/02 19:10:57 hobe Exp $
3
-
4
- # = Ruby/Ifconfig - ruby interface to the information presented by ifconfig
5
- #
6
- # == Prerequisites
7
- #
8
- # You must have a working ifconfig binary in your path.
9
- # The output format of you particular version of ifconfig must be supported.
10
- # Currently this has only been tested with net-tool 1.6 on Linux
11
- #
12
- # == Example
13
- # require 'ifconfig'
14
- #
15
- # cfg = IfconfigWrapper.new.parse # parses the output of ifconfig
16
- #
17
- # cfg.interfaces() # returns list of interfaces
18
- #
19
- # cfg[eth0].addresses('inet') # returns ipv4 address of eth0
20
- #
21
- # cfg.addrresses('inet') # returns list of all ipv4 addresses
22
- #
23
- # cfg[eth0].status # returns true if interface is up
24
- #
25
- # cfg.each { block } # run a block on each interface object
26
-
27
-
28
- #
29
- # inspired by Net::Ifconfig::Wrapper perl module
30
- # by Daniel Podolsky, <tpaba@cpan.org>
31
- #
32
- # Ruby version by Daniel Hobe <daniel@packetspike.net>
33
- # Licence:: GPL[http://www.gnu.org/copyleft/gpl.html]
34
- #
35
-
36
- require 'ipaddr'
37
-
38
- class IfconfigWrapper
39
- NAME = 'Ruby/Ifconfig'
40
- include Enumerable
41
-
42
- #
43
- # Can manually specify the platform (should be output of the 'uname' command)
44
- # and the ifconfig input
45
- #
46
- def initialize(platform=nil,input=nil,netstat=nil)
47
- platform = self.get_os unless !platform.nil?
48
- require "ifconfig/"+platform.downcase+"/ifconfig"
49
- @cfg = Ifconfig.new(input,netstat)
50
- end
51
- def parse
52
- return @cfg
53
- end
54
- # Find out what os we are on
55
- #
56
- def get_os
57
- plat = IO.popen('uname'){ |f| f.gets.strip }
58
- case plat
59
- when 'Windows'
60
- return plat
61
- when 'Linux'
62
- return plat
63
- when 'SunOS'
64
- return plat
65
- when 'FreeBSD','OpenBSD','NetBSD','DragonFly','Darwin'
66
- return 'BSD'
67
- else
68
- return 'Linux'
69
- end
70
- end
71
- end
@@ -1,72 +0,0 @@
1
- # $Id: ifconfig.rb,v 1.1.1.1 2005/07/02 19:10:58 hobe Exp $
2
- #
3
- require 'ifconfig/common/ifconfig'
4
- require 'ifconfig/bsd/network_types'
5
- require 'ifconfig/bsd/interface_types'
6
-
7
- class Ifconfig
8
- #
9
- # ifconfig = user provided ifconifg output
10
- # netstat = same, but for netstat -in
11
- #
12
- @@ifcfg_cmd = "/usr/bin/env ifconfig -a"
13
- @@netstat_cmd = "/usr/bin/env netstat -in"
14
- def initialize(ifconfig=nil,netstat=nil,verbose=nil)
15
- @ifconfig = ifconfig
16
- @ifconfig ||= IO.popen(@@ifcfg_cmd){ |f| f.readlines.join }
17
-
18
- @netstat = netstat
19
- @netstat ||= IO.popen(@@netstat_cmd){ |f| f.readlines.join }
20
-
21
- @verbose = verbose
22
-
23
- @ifaces = {}
24
- split_interfaces(@ifconfig).each do |iface|
25
- iface_name = get_iface_name(iface)
26
- case iface
27
- when /^lo\d\:/im
28
- @ifaces[iface_name] = LoopbackInterface.new(iface_name,iface)
29
- parse_activity(iface_name)
30
- when /\s+media\:\s+Ethernet\s+/im
31
- @ifaces[iface_name] = EthernetAdapter.new(iface_name,iface)
32
- parse_activity(iface_name)
33
- when /\s+supported\smedia\:\s+none\s+autoselect\s+/im
34
- # This clause is only matched on Darwin. This pattern will only be
35
- # matched on ethernet devices (won't match on fw0 or any other
36
- # interface I can see).
37
- @ifaces[iface_name] = EthernetAdapter.new(iface_name,iface)
38
- parse_activity(iface_name)
39
- else
40
- puts "Unknown Adapter Type: #{iface}" if @verbose
41
- end
42
- end
43
- end
44
-
45
- # Parse activity on interface
46
- #
47
- # Not doing it in each interface class so we can pass in
48
- # fake input
49
- #
50
- def parse_activity(iface)
51
- mtu = rxpackets = rxerrors = txpackets = txerrors = 0
52
- @netstat.split("\n").each { |line|
53
- line.strip!
54
- if line =~ /^#{iface}/
55
- next if line.split[2] =~ /\<Link\#\d\>/
56
- puts "matched line for "+iface
57
- toks = line.split
58
- mtu = toks[1]
59
- rxpackets += toks[4].to_i
60
- rxerrors += toks[5].to_i
61
- txpackets += toks[6].to_i
62
- txerrors += toks[7].to_i
63
- @ifaces[iface].mtu = mtu.to_i
64
- @ifaces[iface].rx = { 'packets' => rxpackets,
65
- 'errors' => rxerrors }
66
- @ifaces[iface].tx = { 'packets' => txpackets,
67
- 'errors' => txerrors }
68
- end
69
- }
70
- end
71
-
72
- end
@@ -1,69 +0,0 @@
1
- # $Id: interface_types.rb,v 1.1.1.1 2005/07/02 19:10:58 hobe Exp $
2
- #
3
- require 'ifconfig/common/interface_types'
4
-
5
- class NetworkAdapter
6
- # becuase on *BSD we get activity from netstat
7
- # we need to have a way to set this:
8
- attr_writer :mtu
9
-
10
- # iterate line by line and dispatch to helper functions
11
- # for lines that match a pattern
12
- #
13
- def parse_ifconfig
14
- @ifconfig.split("\n").each { |line|
15
- case line
16
- when /^\s+#{@protos}/
17
- add_network(line)
18
- when /flags\=/i
19
- parse_flags(line)
20
- end
21
- }
22
- end
23
-
24
- # parses the "UP LOOPBACK RUNNING MTU:3924 Metric:1" line
25
- #
26
- def parse_flags(line)
27
- flags = line.match(/\<(\S+)\>/i)[1]
28
- @flags = flags.strip.split(',')
29
- @status = true if @flags.include?('UP')
30
- end
31
-
32
- # Parses networks on an interface based on the first token in the line.
33
- # eg: inet or inet6
34
- #
35
- def add_network(line)
36
- case line
37
- when /^\s+inet\s/
38
- addr,mask = line.match(/\s+([\d\d?\d?\.]{4,})\s+netmask\s+(\S+)/i)[1..2]
39
- bcast = line.match(/\s+broadcast\s([\d\d?\d?\.]{4,})/i)
40
- bcast = bcast[1] unless bcast.nil?
41
- @networks['inet'] = Ipv4Network.new(addr, mask, bcast)
42
- when /^\s+inet6\s/
43
- # there can be multiple inet6 entries
44
- begin
45
- addr,scope = line.match(/inet6\s+(\S+)%/i)[1]
46
- rescue NoMethodError
47
- addr,scope = line.match(/inet6\s+(\S+)/i)[1]
48
- end
49
- @networks["inet6:#{addr}"] = Ipv6Network.new(addr)
50
- else
51
- puts "unknown network type: #{line}"
52
- end
53
- end
54
- end
55
-
56
-
57
- class EthernetAdapter
58
- def set_mac
59
- begin
60
- match=@ifconfig.match(/\s+ether\s+([a-f\d]{1,2}(?:\:[a-f\d]{1,2}){5})/im)
61
- return match[1] unless match.nil?
62
- # Openbsd
63
- match = @ifconfig.match(/\s+address\:\s+([a-f\d]{1,2}(?:\:[a-f\d]{1,2}){5})/im)
64
- return match[1] unless match.nil?
65
- rescue NoMethodError
66
- puts "Couldn't Parse MAC Address for: "+@name
67
- end
68
- end
69
- end