trema 0.1.3

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 (560) hide show
  1. data/.mono.rant +4107 -0
  2. data/.rspec +1 -0
  3. data/.yardopts +4 -0
  4. data/Doxyfile +1679 -0
  5. data/GPL2 +339 -0
  6. data/Gemfile +22 -0
  7. data/Gemfile.lock +71 -0
  8. data/README.md +135 -0
  9. data/Rakefile +140 -0
  10. data/Rantfile +834 -0
  11. data/VERSION +1 -0
  12. data/build.rb +32 -0
  13. data/cruise.rb +389 -0
  14. data/features/example.dumper.feature +87 -0
  15. data/features/example.learning_switch.feature +39 -0
  16. data/features/example.list_switches.feature +38 -0
  17. data/features/example.message.echo_reply.feature +26 -0
  18. data/features/example.message.echo_request.feature +25 -0
  19. data/features/example.message.features_request.feature +84 -0
  20. data/features/example.message.hello.feature +25 -0
  21. data/features/example.message.set_config.feature +27 -0
  22. data/features/example.multi_learning_switch.feature +135 -0
  23. data/features/example.packetin_filter_config.feature +91 -0
  24. data/features/example.repeater_hub.feature +49 -0
  25. data/features/example.switch_monitor.feature +39 -0
  26. data/features/packetin_filter.feature +49 -0
  27. data/features/step_definitions/kill_steps.rb +30 -0
  28. data/features/step_definitions/log_steps.rb +90 -0
  29. data/features/step_definitions/misc_steps.rb +64 -0
  30. data/features/step_definitions/off_steps.rb +30 -0
  31. data/features/step_definitions/run_steps.rb +91 -0
  32. data/features/step_definitions/send_packets_steps.rb +42 -0
  33. data/features/step_definitions/show_stats_steps.rb +43 -0
  34. data/features/step_definitions/stats_steps.rb +39 -0
  35. data/features/support/env.rb +75 -0
  36. data/features/support/hooks.rb +8 -0
  37. data/features/switch_manager.feature +35 -0
  38. data/features/trema-config.feature +68 -0
  39. data/features/trema.dump_flows.feature +25 -0
  40. data/features/trema.feature +25 -0
  41. data/features/trema.kill.feature +53 -0
  42. data/features/trema.killall.feature +30 -0
  43. data/features/trema.reset_stats.feature +14 -0
  44. data/features/trema.run.feature +46 -0
  45. data/features/trema.send_packets.feature +56 -0
  46. data/features/trema.show_stats.feature +67 -0
  47. data/features/tutorial.hello_trema.feature +27 -0
  48. data/features/tutorial.packet_in.feature +47 -0
  49. data/features/tutorial.switch_info.feature +55 -0
  50. data/ruby/.gitignore +4 -0
  51. data/ruby/blocker.rb +78 -0
  52. data/ruby/extconf.rb +71 -0
  53. data/ruby/sub-process.rb +291 -0
  54. data/ruby/trema/action-common.c +60 -0
  55. data/ruby/trema/action-common.h +42 -0
  56. data/ruby/trema/action-enqueue.c +161 -0
  57. data/ruby/trema/action-enqueue.h +40 -0
  58. data/ruby/trema/action-output.c +169 -0
  59. data/ruby/trema/action-output.h +42 -0
  60. data/ruby/trema/action-set-dl-dst.c +131 -0
  61. data/ruby/trema/action-set-dl-dst.h +44 -0
  62. data/ruby/trema/action-set-dl-src.c +131 -0
  63. data/ruby/trema/action-set-dl-src.h +44 -0
  64. data/ruby/trema/action-set-nw-dst.c +135 -0
  65. data/ruby/trema/action-set-nw-dst.h +42 -0
  66. data/ruby/trema/action-set-nw-src.c +140 -0
  67. data/ruby/trema/action-set-nw-src.h +42 -0
  68. data/ruby/trema/action-set-nw-tos.c +124 -0
  69. data/ruby/trema/action-set-nw-tos.h +42 -0
  70. data/ruby/trema/action-set-tp-dst.c +122 -0
  71. data/ruby/trema/action-set-tp-dst.h +42 -0
  72. data/ruby/trema/action-set-tp-src.c +124 -0
  73. data/ruby/trema/action-set-tp-src.h +42 -0
  74. data/ruby/trema/action-set-vlan-pcp.c +128 -0
  75. data/ruby/trema/action-set-vlan-pcp.h +42 -0
  76. data/ruby/trema/action-set-vlan-vid.c +125 -0
  77. data/ruby/trema/action-set-vlan-vid.h +42 -0
  78. data/ruby/trema/action-strip-vlan.c +81 -0
  79. data/ruby/trema/action-strip-vlan.h +42 -0
  80. data/ruby/trema/action-vendor.c +121 -0
  81. data/ruby/trema/action-vendor.h +42 -0
  82. data/ruby/trema/aggregate-stats-reply.rb +70 -0
  83. data/ruby/trema/app.rb +112 -0
  84. data/ruby/trema/barrier-reply.c +99 -0
  85. data/ruby/trema/barrier-reply.h +46 -0
  86. data/ruby/trema/barrier-request.c +108 -0
  87. data/ruby/trema/barrier-request.h +44 -0
  88. data/ruby/trema/cli.rb +269 -0
  89. data/ruby/trema/command.rb +40 -0
  90. data/ruby/trema/command/dump_flows.rb +62 -0
  91. data/ruby/trema/command/kill.rb +71 -0
  92. data/ruby/trema/command/killall.rb +56 -0
  93. data/ruby/trema/command/reset_stats.rb +61 -0
  94. data/ruby/trema/command/ruby.rb +55 -0
  95. data/ruby/trema/command/run.rb +120 -0
  96. data/ruby/trema/command/send_packets.rb +130 -0
  97. data/ruby/trema/command/shell.rb +61 -0
  98. data/ruby/trema/command/show_stats.rb +84 -0
  99. data/ruby/trema/command/usage.rb +61 -0
  100. data/ruby/trema/command/version.rb +39 -0
  101. data/ruby/trema/controller.c +595 -0
  102. data/ruby/trema/controller.h +44 -0
  103. data/ruby/trema/controller.rb +81 -0
  104. data/ruby/trema/daemon.rb +167 -0
  105. data/ruby/trema/dsl.rb +34 -0
  106. data/ruby/trema/dsl/configuration.rb +153 -0
  107. data/ruby/trema/dsl/context.rb +71 -0
  108. data/ruby/trema/dsl/link.rb +41 -0
  109. data/ruby/trema/dsl/parser.rb +70 -0
  110. data/ruby/trema/dsl/run.rb +49 -0
  111. data/ruby/trema/dsl/runner.rb +165 -0
  112. data/ruby/trema/dsl/stanza.rb +53 -0
  113. data/ruby/trema/dsl/switch.rb +78 -0
  114. data/ruby/trema/dsl/syntax-error.rb +33 -0
  115. data/ruby/trema/dsl/syntax.rb +109 -0
  116. data/ruby/trema/dsl/vhost.rb +108 -0
  117. data/ruby/trema/dsl/vswitch.rb +47 -0
  118. data/ruby/trema/echo-reply.c +107 -0
  119. data/ruby/trema/echo-reply.h +42 -0
  120. data/ruby/trema/echo-request.c +140 -0
  121. data/ruby/trema/echo-request.h +42 -0
  122. data/ruby/trema/error.c +253 -0
  123. data/ruby/trema/error.h +44 -0
  124. data/ruby/trema/exact-match.rb +36 -0
  125. data/ruby/trema/executables.rb +95 -0
  126. data/ruby/trema/features-reply.c +238 -0
  127. data/ruby/trema/features-reply.h +60 -0
  128. data/ruby/trema/features-request.c +109 -0
  129. data/ruby/trema/features-request.h +44 -0
  130. data/ruby/trema/flow-removed.c +275 -0
  131. data/ruby/trema/flow-removed.h +46 -0
  132. data/ruby/trema/flow-stats-reply.rb +109 -0
  133. data/ruby/trema/flow.rb +56 -0
  134. data/ruby/trema/get-config-reply.c +159 -0
  135. data/ruby/trema/get-config-reply.h +52 -0
  136. data/ruby/trema/get-config-request.c +107 -0
  137. data/ruby/trema/get-config-request.h +44 -0
  138. data/ruby/trema/hello.c +110 -0
  139. data/ruby/trema/hello.h +44 -0
  140. data/ruby/trema/host.rb +257 -0
  141. data/ruby/trema/ip.rb +101 -0
  142. data/ruby/trema/link.rb +176 -0
  143. data/ruby/trema/list-switches-reply.c +46 -0
  144. data/ruby/trema/list-switches-reply.h +40 -0
  145. data/ruby/trema/logger.c +162 -0
  146. data/ruby/trema/logger.h +44 -0
  147. data/ruby/trema/mac.rb +151 -0
  148. data/ruby/trema/match.c +594 -0
  149. data/ruby/trema/match.h +36 -0
  150. data/ruby/trema/monkey-patch/integer.rb +35 -0
  151. data/ruby/trema/monkey-patch/integer/base-conversions.rb +36 -0
  152. data/ruby/trema/monkey-patch/integer/ranges.rb +51 -0
  153. data/ruby/trema/monkey-patch/module.rb +33 -0
  154. data/ruby/trema/monkey-patch/module/deprecation.rb +41 -0
  155. data/ruby/trema/monkey-patch/string.rb +33 -0
  156. data/ruby/trema/monkey-patch/string/inflectors.rb +54 -0
  157. data/ruby/trema/network-component.rb +153 -0
  158. data/ruby/trema/ofctl.rb +62 -0
  159. data/ruby/trema/open-vswitch.rb +154 -0
  160. data/ruby/trema/openflow-error.c +191 -0
  161. data/ruby/trema/openflow-error.h +53 -0
  162. data/ruby/trema/openflow-switch.rb +88 -0
  163. data/ruby/trema/ordered-hash.rb +74 -0
  164. data/ruby/trema/packet-queue.rb +178 -0
  165. data/ruby/trema/packet_in.c +736 -0
  166. data/ruby/trema/packet_in.h +46 -0
  167. data/ruby/trema/packetin-filter.rb +126 -0
  168. data/ruby/trema/path.rb +135 -0
  169. data/ruby/trema/phost.rb +69 -0
  170. data/ruby/trema/port-mod.c +226 -0
  171. data/ruby/trema/port-mod.h +36 -0
  172. data/ruby/trema/port-stats-reply.rb +111 -0
  173. data/ruby/trema/port-status.c +156 -0
  174. data/ruby/trema/port-status.h +45 -0
  175. data/ruby/trema/port.c +295 -0
  176. data/ruby/trema/port.h +47 -0
  177. data/ruby/trema/process.rb +76 -0
  178. data/ruby/trema/queue-get-config-reply.c +200 -0
  179. data/ruby/trema/queue-get-config-reply.h +47 -0
  180. data/ruby/trema/queue-get-config-request.c +141 -0
  181. data/ruby/trema/queue-get-config-request.h +44 -0
  182. data/ruby/trema/queue-stats-reply.rb +78 -0
  183. data/ruby/trema/set-config.c +171 -0
  184. data/ruby/trema/set-config.h +44 -0
  185. data/ruby/trema/shell.rb +39 -0
  186. data/ruby/trema/shell/down.rb +39 -0
  187. data/ruby/trema/shell/killall.rb +40 -0
  188. data/ruby/trema/shell/link.rb +61 -0
  189. data/ruby/trema/shell/reset_stats.rb +50 -0
  190. data/ruby/trema/shell/run.rb +67 -0
  191. data/ruby/trema/shell/send_packets.rb +42 -0
  192. data/ruby/trema/shell/show_stats.rb +49 -0
  193. data/ruby/trema/shell/up.rb +43 -0
  194. data/ruby/trema/shell/vhost.rb +44 -0
  195. data/ruby/trema/shell/vswitch.rb +49 -0
  196. data/ruby/trema/stats-helper.rb +65 -0
  197. data/ruby/trema/stats-reply.c +483 -0
  198. data/ruby/trema/stats-reply.h +53 -0
  199. data/ruby/trema/stats-request.c +634 -0
  200. data/ruby/trema/stats-request.h +42 -0
  201. data/ruby/trema/switch-daemon.rb +74 -0
  202. data/ruby/trema/switch-disconnected.c +40 -0
  203. data/ruby/trema/switch-disconnected.h +38 -0
  204. data/ruby/trema/switch-manager.rb +121 -0
  205. data/ruby/trema/switch.rb +37 -0
  206. data/ruby/trema/table-stats-reply.rb +87 -0
  207. data/ruby/trema/timers.rb +97 -0
  208. data/ruby/trema/trema.c +122 -0
  209. data/ruby/trema/tremashark.rb +39 -0
  210. data/ruby/trema/util.rb +84 -0
  211. data/ruby/trema/vendor-request.c +193 -0
  212. data/ruby/trema/vendor-request.h +44 -0
  213. data/ruby/trema/vendor-stats-reply.rb +62 -0
  214. data/ruby/trema/vendor.c +152 -0
  215. data/ruby/trema/vendor.h +52 -0
  216. data/ruby/trema/version.rb +30 -0
  217. data/spec/spec_helper.rb +153 -0
  218. data/spec/support/openflow-message.rb +94 -0
  219. data/spec/trema/action-enqueue_spec.rb +100 -0
  220. data/spec/trema/action-output_spec.rb +116 -0
  221. data/spec/trema/action-set-dl-dst_spec.rb +95 -0
  222. data/spec/trema/action-set-dl-src_spec.rb +92 -0
  223. data/spec/trema/action-set-nw-dst_spec.rb +96 -0
  224. data/spec/trema/action-set-nw-src_spec.rb +97 -0
  225. data/spec/trema/action-set-nw-tos_spec.rb +88 -0
  226. data/spec/trema/action-set-tp-dst_spec.rb +88 -0
  227. data/spec/trema/action-set-tp-src_spec.rb +88 -0
  228. data/spec/trema/action-set-vlan-pcp_spec.rb +91 -0
  229. data/spec/trema/action-set-vlan-vid_spec.rb +91 -0
  230. data/spec/trema/action-strip-vlan_spec.rb +57 -0
  231. data/spec/trema/action-vendor_spec.rb +90 -0
  232. data/spec/trema/app_spec.rb +90 -0
  233. data/spec/trema/barrier-reply_spec.rb +45 -0
  234. data/spec/trema/barrier-request_spec.rb +83 -0
  235. data/spec/trema/cli_spec.rb +160 -0
  236. data/spec/trema/controller_spec.rb +100 -0
  237. data/spec/trema/dsl/configuration_spec.rb +122 -0
  238. data/spec/trema/dsl/link_spec.rb +54 -0
  239. data/spec/trema/dsl/run_spec.rb +78 -0
  240. data/spec/trema/dsl/runner_spec.rb +239 -0
  241. data/spec/trema/dsl/switch_spec.rb +77 -0
  242. data/spec/trema/dsl/syntax_spec.rb +121 -0
  243. data/spec/trema/dsl/vhost_spec.rb +148 -0
  244. data/spec/trema/dsl/vswitch_spec.rb +90 -0
  245. data/spec/trema/echo-reply_spec.rb +49 -0
  246. data/spec/trema/echo-request_spec.rb +75 -0
  247. data/spec/trema/error_spec.rb +142 -0
  248. data/spec/trema/executables_spec.rb +75 -0
  249. data/spec/trema/features-reply_spec.rb +57 -0
  250. data/spec/trema/features-request_spec.rb +66 -0
  251. data/spec/trema/flow-removed_spec.rb +146 -0
  252. data/spec/trema/get-config-reply_spec.rb +43 -0
  253. data/spec/trema/get-config-request_spec.rb +82 -0
  254. data/spec/trema/hello_spec.rb +49 -0
  255. data/spec/trema/host_spec.rb +193 -0
  256. data/spec/trema/link_spec.rb +64 -0
  257. data/spec/trema/list-switches-reply_spec.rb +48 -0
  258. data/spec/trema/logger_spec.rb +48 -0
  259. data/spec/trema/mac_spec.rb +115 -0
  260. data/spec/trema/match_spec.rb +113 -0
  261. data/spec/trema/open-vswitch_spec.rb +123 -0
  262. data/spec/trema/openflow-error_spec.rb +141 -0
  263. data/spec/trema/openflow-switch_spec.rb +56 -0
  264. data/spec/trema/packet-in_spec.rb +168 -0
  265. data/spec/trema/packet-out_spec.rb +128 -0
  266. data/spec/trema/packetin-filter_spec.rb +41 -0
  267. data/spec/trema/port-mod_spec.rb +101 -0
  268. data/spec/trema/port-status_spec.rb +108 -0
  269. data/spec/trema/port_spec.rb +61 -0
  270. data/spec/trema/process_spec.rb +71 -0
  271. data/spec/trema/queue-get-config-reply_spec.rb +66 -0
  272. data/spec/trema/queue-get-config-request_spec.rb +69 -0
  273. data/spec/trema/set-config_spec.rb +80 -0
  274. data/spec/trema/shell/vhost_spec.rb +57 -0
  275. data/spec/trema/shell/vswitch_spec.rb +89 -0
  276. data/spec/trema/stats-reply_spec.rb +306 -0
  277. data/spec/trema/stats-request_spec.rb +151 -0
  278. data/spec/trema/switch-disconnected_spec.rb +58 -0
  279. data/spec/trema/switch-manager_spec.rb +43 -0
  280. data/spec/trema/tremashark_spec.rb +41 -0
  281. data/spec/trema/util_spec.rb +93 -0
  282. data/spec/trema/vendor-request_spec.rb +79 -0
  283. data/src/examples/cbench_switch/README +21 -0
  284. data/src/examples/cbench_switch/cbench-switch.rb +39 -0
  285. data/src/examples/cbench_switch/cbench_switch.c +68 -0
  286. data/src/examples/dumper/dumper.c +370 -0
  287. data/src/examples/dumper/dumper.conf +7 -0
  288. data/src/examples/dumper/dumper.rb +196 -0
  289. data/src/examples/hello_trema/README +13 -0
  290. data/src/examples/hello_trema/hello_trema.c +51 -0
  291. data/src/examples/hello_trema/hello_trema.conf +3 -0
  292. data/src/examples/hello_trema/hello_trema.rb +35 -0
  293. data/src/examples/learning_switch/README +15 -0
  294. data/src/examples/learning_switch/fdb.rb +112 -0
  295. data/src/examples/learning_switch/learning-switch.rb +88 -0
  296. data/src/examples/learning_switch/learning_switch.c +236 -0
  297. data/src/examples/learning_switch/learning_switch.conf +18 -0
  298. data/src/examples/list_switches/README +19 -0
  299. data/src/examples/list_switches/list-switches.rb +45 -0
  300. data/src/examples/list_switches/list_switches.c +81 -0
  301. data/src/examples/list_switches/list_switches.conf +15 -0
  302. data/src/examples/match_compare/match-compare.conf +30 -0
  303. data/src/examples/match_compare/match-compare.rb +99 -0
  304. data/src/examples/multi_learning_switch/README +14 -0
  305. data/src/examples/multi_learning_switch/multi-learning-switch.rb +96 -0
  306. data/src/examples/multi_learning_switch/multi_learning_switch.c +296 -0
  307. data/src/examples/multi_learning_switch/multi_learning_switch.conf +17 -0
  308. data/src/examples/openflow_message/README +11 -0
  309. data/src/examples/openflow_message/echo-reply.rb +59 -0
  310. data/src/examples/openflow_message/echo-request.rb +58 -0
  311. data/src/examples/openflow_message/echo_reply.c +70 -0
  312. data/src/examples/openflow_message/echo_request.c +70 -0
  313. data/src/examples/openflow_message/example.rb +63 -0
  314. data/src/examples/openflow_message/features-request.rb +97 -0
  315. data/src/examples/openflow_message/features_request.c +168 -0
  316. data/src/examples/openflow_message/hello.c +70 -0
  317. data/src/examples/openflow_message/hello.rb +58 -0
  318. data/src/examples/openflow_message/set-config.rb +59 -0
  319. data/src/examples/openflow_message/set_config.c +70 -0
  320. data/src/examples/packet_in/README +15 -0
  321. data/src/examples/packet_in/packet_in.c +55 -0
  322. data/src/examples/packet_in/packet_in.conf +15 -0
  323. data/src/examples/packet_in/packet_in.rb +34 -0
  324. data/src/examples/packetin_filter_config/README +12 -0
  325. data/src/examples/packetin_filter_config/add_filter.c +73 -0
  326. data/src/examples/packetin_filter_config/delete_filter.c +65 -0
  327. data/src/examples/packetin_filter_config/delete_filter_strict.c +75 -0
  328. data/src/examples/packetin_filter_config/dump_filter.c +65 -0
  329. data/src/examples/packetin_filter_config/dump_filter_strict.c +75 -0
  330. data/src/examples/packetin_filter_config/packetin_filter_config.c +134 -0
  331. data/src/examples/packetin_filter_config/packetin_filter_config.conf +7 -0
  332. data/src/examples/packetin_filter_config/utils.c +102 -0
  333. data/src/examples/packetin_filter_config/utils.h +42 -0
  334. data/src/examples/repeater_hub/README +8 -0
  335. data/src/examples/repeater_hub/repeater-hub.rb +43 -0
  336. data/src/examples/repeater_hub/repeater-hub_spec.rb +156 -0
  337. data/src/examples/repeater_hub/repeater_hub.c +83 -0
  338. data/src/examples/repeater_hub/repeater_hub.conf +28 -0
  339. data/src/examples/switch_info/README +13 -0
  340. data/src/examples/switch_info/switch_info.c +80 -0
  341. data/src/examples/switch_info/switch_info.conf +3 -0
  342. data/src/examples/switch_info/switch_info.rb +46 -0
  343. data/src/examples/switch_monitor/switch-monitor.conf +3 -0
  344. data/src/examples/switch_monitor/switch-monitor.rb +58 -0
  345. data/src/examples/switch_monitor/switch_monitor.c +154 -0
  346. data/src/examples/traffic_monitor/counter.c +74 -0
  347. data/src/examples/traffic_monitor/counter.h +48 -0
  348. data/src/examples/traffic_monitor/counter.rb +46 -0
  349. data/src/examples/traffic_monitor/fdb.c +76 -0
  350. data/src/examples/traffic_monitor/fdb.h +50 -0
  351. data/src/examples/traffic_monitor/fdb.rb +44 -0
  352. data/src/examples/traffic_monitor/traffic-monitor.rb +100 -0
  353. data/src/examples/traffic_monitor/traffic_monitor.c +163 -0
  354. data/src/examples/traffic_monitor/traffic_monitor.conf +16 -0
  355. data/src/lib/arp.h +61 -0
  356. data/src/lib/bool.h +49 -0
  357. data/src/lib/buffer.c +305 -0
  358. data/src/lib/buffer.h +56 -0
  359. data/src/lib/byteorder.c +547 -0
  360. data/src/lib/byteorder.h +110 -0
  361. data/src/lib/checks.h +42 -0
  362. data/src/lib/daemon.c +302 -0
  363. data/src/lib/daemon.h +42 -0
  364. data/src/lib/doubly_linked_list.c +281 -0
  365. data/src/lib/doubly_linked_list.h +88 -0
  366. data/src/lib/ether.c +48 -0
  367. data/src/lib/ether.h +94 -0
  368. data/src/lib/etherip.h +46 -0
  369. data/src/lib/event_handler.c +389 -0
  370. data/src/lib/event_handler.h +64 -0
  371. data/src/lib/hash_table.c +417 -0
  372. data/src/lib/hash_table.h +138 -0
  373. data/src/lib/icmp.h +74 -0
  374. data/src/lib/igmp.h +50 -0
  375. data/src/lib/ipv4.h +50 -0
  376. data/src/lib/linked_list.c +199 -0
  377. data/src/lib/linked_list.h +84 -0
  378. data/src/lib/log.c +402 -0
  379. data/src/lib/log.h +78 -0
  380. data/src/lib/match.h +84 -0
  381. data/src/lib/match_table.c +608 -0
  382. data/src/lib/match_table.h +51 -0
  383. data/src/lib/message_queue.c +143 -0
  384. data/src/lib/message_queue.h +61 -0
  385. data/src/lib/messenger.c +1714 -0
  386. data/src/lib/messenger.h +145 -0
  387. data/src/lib/openflow_application_interface.c +1673 -0
  388. data/src/lib/openflow_application_interface.h +329 -0
  389. data/src/lib/openflow_message.c +4051 -0
  390. data/src/lib/openflow_message.h +288 -0
  391. data/src/lib/openflow_service_interface.h +59 -0
  392. data/src/lib/packet_info.c +230 -0
  393. data/src/lib/packet_info.h +209 -0
  394. data/src/lib/packet_parser.c +502 -0
  395. data/src/lib/packetin_filter_interface.c +294 -0
  396. data/src/lib/packetin_filter_interface.h +127 -0
  397. data/src/lib/persistent_storage.c +480 -0
  398. data/src/lib/persistent_storage.h +46 -0
  399. data/src/lib/stat.c +213 -0
  400. data/src/lib/stat.h +44 -0
  401. data/src/lib/tcp.h +67 -0
  402. data/src/lib/timer.c +350 -0
  403. data/src/lib/timer.h +53 -0
  404. data/src/lib/trema.c +710 -0
  405. data/src/lib/trema.h +79 -0
  406. data/src/lib/trema_private.c +177 -0
  407. data/src/lib/trema_private.h +60 -0
  408. data/src/lib/trema_wrapper.c +56 -0
  409. data/src/lib/trema_wrapper.h +64 -0
  410. data/src/lib/udp.h +43 -0
  411. data/src/lib/utility.c +515 -0
  412. data/src/lib/utility.h +67 -0
  413. data/src/lib/wrapper.c +100 -0
  414. data/src/lib/wrapper.h +76 -0
  415. data/src/packetin_filter/README +17 -0
  416. data/src/packetin_filter/packetin_filter.c +575 -0
  417. data/src/switch_manager/README +20 -0
  418. data/src/switch_manager/cookie_table.c +292 -0
  419. data/src/switch_manager/cookie_table.h +72 -0
  420. data/src/switch_manager/dpid_table.c +110 -0
  421. data/src/switch_manager/dpid_table.h +46 -0
  422. data/src/switch_manager/management_interface.h +44 -0
  423. data/src/switch_manager/ofpmsg_recv.c +482 -0
  424. data/src/switch_manager/ofpmsg_recv.h +42 -0
  425. data/src/switch_manager/ofpmsg_send.c +235 -0
  426. data/src/switch_manager/ofpmsg_send.h +50 -0
  427. data/src/switch_manager/secure_channel_listener.c +281 -0
  428. data/src/switch_manager/secure_channel_listener.h +42 -0
  429. data/src/switch_manager/secure_channel_receiver.c +126 -0
  430. data/src/switch_manager/secure_channel_receiver.h +43 -0
  431. data/src/switch_manager/secure_channel_sender.c +126 -0
  432. data/src/switch_manager/secure_channel_sender.h +43 -0
  433. data/src/switch_manager/service_interface.c +181 -0
  434. data/src/switch_manager/service_interface.h +46 -0
  435. data/src/switch_manager/switch.c +538 -0
  436. data/src/switch_manager/switch.h +51 -0
  437. data/src/switch_manager/switch_manager.c +448 -0
  438. data/src/switch_manager/switch_manager.h +63 -0
  439. data/src/switch_manager/switchinfo.h +72 -0
  440. data/src/switch_manager/xid_table.c +184 -0
  441. data/src/switch_manager/xid_table.h +56 -0
  442. data/src/tremashark/README +78 -0
  443. data/src/tremashark/packet_capture.c +357 -0
  444. data/src/tremashark/pcap_private.h +47 -0
  445. data/src/tremashark/pcap_queue.c +197 -0
  446. data/src/tremashark/pcap_queue.h +58 -0
  447. data/src/tremashark/plugin/.gitignore +6 -0
  448. data/src/tremashark/plugin/packet-trema/.gitignore +5 -0
  449. data/src/tremashark/plugin/packet-trema/Makefile +77 -0
  450. data/src/tremashark/plugin/packet-trema/Makefile.am +110 -0
  451. data/src/tremashark/plugin/packet-trema/Makefile.common +31 -0
  452. data/src/tremashark/plugin/packet-trema/moduleinfo.h +41 -0
  453. data/src/tremashark/plugin/packet-trema/packet-trema.c +1659 -0
  454. data/src/tremashark/plugin/packet-trema/plugin.c +31 -0
  455. data/src/tremashark/plugin/user_dlts +2 -0
  456. data/src/tremashark/queue.c +168 -0
  457. data/src/tremashark/queue.h +60 -0
  458. data/src/tremashark/stdin_relay.c +257 -0
  459. data/src/tremashark/syslog_relay.c +247 -0
  460. data/src/tremashark/tremashark.c +556 -0
  461. data/trema +93 -0
  462. data/trema-config +61 -0
  463. data/unittests/buffer_stubs.c +74 -0
  464. data/unittests/cmockery_trema.c +123 -0
  465. data/unittests/cmockery_trema.h +96 -0
  466. data/unittests/lib/buffer_test.c +370 -0
  467. data/unittests/lib/byteorder_test.c +1717 -0
  468. data/unittests/lib/daemon_test.c +664 -0
  469. data/unittests/lib/doubly_linked_list_test.c +346 -0
  470. data/unittests/lib/ether_test.c +127 -0
  471. data/unittests/lib/hash_table_test.c +278 -0
  472. data/unittests/lib/linked_list_test.c +343 -0
  473. data/unittests/lib/log_test.c +459 -0
  474. data/unittests/lib/match_table_test.c +1509 -0
  475. data/unittests/lib/message_queue_test.c +379 -0
  476. data/unittests/lib/messenger_test.c +438 -0
  477. data/unittests/lib/openflow_application_interface_test.c +3488 -0
  478. data/unittests/lib/openflow_message_test.c +7337 -0
  479. data/unittests/lib/packet_info_test.c +544 -0
  480. data/unittests/lib/packet_parser_test.c +703 -0
  481. data/unittests/lib/packetin_filter_interface_test.c +723 -0
  482. data/unittests/lib/persistent_storage_test.c +802 -0
  483. data/unittests/lib/stat_test.c +291 -0
  484. data/unittests/lib/test_packets/arp_rep.cap +0 -0
  485. data/unittests/lib/test_packets/arp_req.cap +0 -0
  486. data/unittests/lib/test_packets/icmp_echo_rep.cap +0 -0
  487. data/unittests/lib/test_packets/icmp_echo_req.cap +0 -0
  488. data/unittests/lib/test_packets/igmp_query_v2.cap +0 -0
  489. data/unittests/lib/test_packets/ipx.cap +0 -0
  490. data/unittests/lib/test_packets/lldp.cap +0 -0
  491. data/unittests/lib/test_packets/lldp_over_ip.cap +0 -0
  492. data/unittests/lib/test_packets/tcp.cap +0 -0
  493. data/unittests/lib/test_packets/tcp_syn.cap +0 -0
  494. data/unittests/lib/test_packets/udp.cap +0 -0
  495. data/unittests/lib/test_packets/udp_frag_head.cap +0 -0
  496. data/unittests/lib/test_packets/udp_frag_next.cap +0 -0
  497. data/unittests/lib/test_packets/vtag_icmp_echo_rep.cap +0 -0
  498. data/unittests/lib/test_packets/vtag_icmp_echo_req.cap +0 -0
  499. data/unittests/lib/timer_test.c +248 -0
  500. data/unittests/lib/trema_private_test.c +323 -0
  501. data/unittests/lib/trema_test.c +985 -0
  502. data/unittests/lib/utility_test.c +628 -0
  503. data/unittests/lib/wrapper_test.c +201 -0
  504. data/unittests/packetin_filter/packetin_filter_test.c +477 -0
  505. data/unittests/switch_manager/switch_manager_test.c +1178 -0
  506. data/unittests/wrapper_stubs.c +39 -0
  507. data/vendor/.gitignore +6 -0
  508. data/vendor/README +30 -0
  509. data/vendor/cmockery-20110428.tar.gz +0 -0
  510. data/vendor/oflops-0.03.tar.gz +0 -0
  511. data/vendor/oflops_no_snmp+1.0.0.patch +340 -0
  512. data/vendor/openflow-1.0.0.tar.gz +0 -0
  513. data/vendor/openflow.git.tar.gz +0 -0
  514. data/vendor/openvswitch-1.2.2.tar.gz +0 -0
  515. data/vendor/ruby-ifconfig-1.2/COPYING +340 -0
  516. data/vendor/ruby-ifconfig-1.2/Changelog +16 -0
  517. data/vendor/ruby-ifconfig-1.2/INSTALL +239 -0
  518. data/vendor/ruby-ifconfig-1.2/README +38 -0
  519. data/vendor/ruby-ifconfig-1.2/Rakefile +14 -0
  520. data/vendor/ruby-ifconfig-1.2/TODO +8 -0
  521. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/darwin.txt +17 -0
  522. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/dragonflybsd.txt +10 -0
  523. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/dragonflybsd_netstat.txt +14 -0
  524. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/freebsd.txt +17 -0
  525. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/freebsd_netstat.txt +24 -0
  526. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/linux.txt +60 -0
  527. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/linux_ethernet.txt +20 -0
  528. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/netbsd.txt +10 -0
  529. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/openbsd.txt +36 -0
  530. data/vendor/ruby-ifconfig-1.2/ifconfig_examples/sunos.txt +10 -0
  531. data/vendor/ruby-ifconfig-1.2/lib/ifconfig.rb +71 -0
  532. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/ifconfig.rb +72 -0
  533. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/interface_types.rb +69 -0
  534. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/network_types.rb +3 -0
  535. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/common/ifconfig.rb +84 -0
  536. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/common/interface_types.rb +130 -0
  537. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/common/network_types.rb +49 -0
  538. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/ifconfig.rb +43 -0
  539. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/interface_types.rb +112 -0
  540. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/network_types.rb +55 -0
  541. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/ifconfig.rb +38 -0
  542. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/interface_types.rb +77 -0
  543. data/vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/network_types.rb +4 -0
  544. data/vendor/ruby-ifconfig-1.2/setup.rb +1306 -0
  545. data/vendor/ruby-ifconfig-1.2/test/test_bsd.rb +35 -0
  546. data/vendor/ruby-ifconfig-1.2/test/test_darwin.rb +33 -0
  547. data/vendor/ruby-ifconfig-1.2/test/test_dragonflybsd.rb +35 -0
  548. data/vendor/ruby-ifconfig-1.2/test/test_helper.rb +4 -0
  549. data/vendor/ruby-ifconfig-1.2/test/test_linux.rb +31 -0
  550. data/vendor/ruby-ifconfig-1.2/test/test_netbsd.rb +33 -0
  551. data/vendor/ruby-ifconfig-1.2/test/test_openbsd.rb +33 -0
  552. data/vendor/ruby-ifconfig-1.2/test/test_sunos.rb +35 -0
  553. data/vendor/ruby-ifconfig-1.2/test/unit/tc_darwin.rb +40 -0
  554. data/vendor/ruby-ifconfig-1.2/test/unit/tc_dragonflybsd.rb +39 -0
  555. data/vendor/ruby-ifconfig-1.2/test/unit/tc_freebsd.rb +40 -0
  556. data/vendor/ruby-ifconfig-1.2/test/unit/tc_linux.rb +49 -0
  557. data/vendor/ruby-ifconfig-1.2/test/unit/tc_netbsd.rb +39 -0
  558. data/vendor/ruby-ifconfig-1.2/test/unit/tc_openbsd.rb +39 -0
  559. data/vendor/ruby-ifconfig-1.2/test/unit/tc_sunos.rb +44 -0
  560. metadata +856 -0
@@ -0,0 +1,16 @@
1
+ Version 1.2
2
+ - All IP addresses (v4 and v6) are ipaddr objects now.
3
+ - Rework unit tests to run from rake
4
+
5
+ Version 1.1
6
+ - New features courtesy of Jeremy Tregunna
7
+ * Fixed "command not found" error when executing "netstat" on some of the BSD's
8
+ * Added support for Darwin and DragonFly BSD
9
+ * Added unit tests for Darwin and DragonFly as well as ifconfig examples
10
+ * Added three methods (1 public, 2 private) to common/ifconfig.rb:
11
+ - valid_addr? - Checks the supplied type and executes one of two private
12
+ methods to verify that the specified address is valid. Returns false if not.
13
+
14
+ - valid_v4? and valid_v6? private methods will return true if the supplied
15
+ address is a valid ipv4 or ipv6 address (respectfully).
16
+
@@ -0,0 +1,239 @@
1
+ $Id: INSTALL,v 1.1.1.1 2005/07/02 19:10:57 hobe Exp $
2
+
3
+ Requirements
4
+ ------------
5
+
6
+ Ruby-Ifconfig depends on Ruby 1.8.0 or later.
7
+
8
+ Installation
9
+ ------------
10
+
11
+ Minero Aoki's setup.rb script is included. Extensive documentation for this
12
+ script can be found at the end of this document.
13
+
14
+ Basically, however, the following should be enough to install the package:
15
+
16
+ $ ruby setup.rb config
17
+ $ ruby setup.rb setup
18
+ # ruby setup.rb install
19
+
20
+ ("#" line may require root privilege)
21
+
22
+
23
+ Documentation
24
+ -------------
25
+
26
+ To create documentation for Ruby-Ifconfig, use rdoc as follows:
27
+
28
+ $ rdoc -x CVS lib
29
+
30
+ rdoc has been bundled with Ruby since 1.8.1, but you may care to use
31
+ a newer version from Ruby's CVS. Information on that can be found here:
32
+
33
+ http://www.ruby-lang.org/en/20020106.html
34
+
35
+
36
+
37
+ -----------------------------------------------------------------------------
38
+
39
+ Full instructions for setup.rb:
40
+
41
+ Details
42
+ -------
43
+
44
+ Usage of install.rb/setup.rb is:
45
+
46
+ ruby install.rb <global options>
47
+ ruby install.rb [<global options>] <task> [<task options>]
48
+
49
+
50
+ -q,--quiet
51
+ suppress message outputs
52
+ --verbose
53
+ output messages verbosely (default)
54
+ -h,--help
55
+ prints help and quit
56
+ -v,--version
57
+ prints version and quit
58
+ --copyright
59
+ prints copyright and quit
60
+
61
+ These are acceptable tasks:
62
+ config
63
+ saves configurations
64
+ show
65
+ prints current configurations
66
+ setup
67
+ compiles extentions
68
+ install
69
+ installs files
70
+ clean
71
+ cleans created files
72
+
73
+ Task Options for Config
74
+ -----------------------
75
+
76
+ --prefix=PATH
77
+ a prefix of the installing directory path
78
+ --std-ruby=PATH
79
+ the directory for standard ruby libraries
80
+ --site-ruby-common=PATH
81
+ the directory for version-independent non-standard
82
+ ruby libraries
83
+ --site-ruby=PATH
84
+ the directory for non-standard ruby libraries
85
+ --bin-dir=PATH
86
+ the directory for commands
87
+ --rb-dir=PATH
88
+ the directory for ruby scripts
89
+ --so-dir=PATH
90
+ the directory for ruby extentions
91
+ --data-dir=PATH
92
+ the directory for shared data
93
+ --ruby-path=PATH
94
+ path to set to #! line
95
+ --ruby-prog=PATH
96
+ the ruby program using for installation
97
+ --make-prog=NAME
98
+ the make program to compile ruby extentions
99
+ --without-ext
100
+ forces to install.rb never to compile/install
101
+ ruby extentions.
102
+ --rbconfig=PATH
103
+ your rbconfig.rb to load
104
+
105
+ You can view default values of these options by typing
106
+
107
+ $ ruby install.rb --help
108
+
109
+
110
+ In addition, setup.rb accepts these options:
111
+ --with=NAME,NAME,NAME...
112
+ package names which you want to install
113
+ --without=NAME,NAME,NAME...
114
+ package names which you do not want to install
115
+
116
+ [NOTE] You can pass options for extconf.rb like this:
117
+
118
+ ruby install.rb config -- --with-tklib=/usr/lib/libtk-ja.so.8.0
119
+
120
+
121
+ Task Options for Install
122
+ ------------------------
123
+
124
+ --no-harm
125
+ prints what to do and done nothing really.
126
+ --prefix=PATH
127
+ a prefix of the installing directory path.
128
+ This option may help binary package maintainers.
129
+ A default value is an empty string.
130
+
131
+ Installing Programs with setup.rb
132
+ =================================
133
+
134
+ Quick Start
135
+ -----------
136
+
137
+ Type these lines on command line:
138
+ ("#" line may require root privilege)
139
+
140
+ $ ruby setup.rb config
141
+ $ ruby setup.rb setup
142
+ # ruby setup.rb install
143
+
144
+
145
+ Details
146
+ -------
147
+
148
+ Usage of setup.rb is:
149
+
150
+ ruby setup.rb <global options>
151
+ ruby setup.rb [<global options>] <task> [<task options>]
152
+
153
+
154
+ Global Options
155
+ --------------
156
+
157
+ -q,--quiet
158
+ suppress message outputs
159
+ --verbose
160
+ output messages verbosely (default)
161
+ -h,--help
162
+ prints help and quit
163
+ -v,--version
164
+ prints version and quit
165
+ --copyright
166
+ prints copyright and quit
167
+
168
+ These are acceptable tasks:
169
+ config
170
+ Checks and saves configurations.
171
+ show
172
+ Prints current configurations.
173
+ setup
174
+ Compiles ruby extentions.
175
+ install
176
+ Installs files.
177
+ clean
178
+ Cleans created files.
179
+ distclean
180
+ Cleans created files.
181
+
182
+ Task Options for CONFIG
183
+ -----------------------
184
+
185
+ --prefix=PATH
186
+ a prefix of the installing directory path
187
+ --std-ruby=PATH
188
+ the directory for standard ruby libraries
189
+ --site-ruby-common=PATH
190
+ the directory for version-independent non-standard
191
+ ruby libraries
192
+ --site-ruby=PATH
193
+ the directory for non-standard ruby libraries
194
+ --bin-dir=PATH
195
+ the directory for commands
196
+ --rb-dir=PATH
197
+ the directory for ruby scripts
198
+ --so-dir=PATH
199
+ the directory for ruby extentions
200
+ --data-dir=PATH
201
+ the directory for shared data
202
+ --ruby-path=PATH
203
+ path to set to #! line
204
+ --ruby-prog=PATH
205
+ the ruby program using for installation
206
+ --make-prog=NAME
207
+ the make program to compile ruby extentions
208
+ --without-ext
209
+ forces to setup.rb never to compile/install
210
+ ruby extentions.
211
+ --rbconfig=PATH
212
+ your rbconfig.rb to load
213
+
214
+ You can view default values of these options by typing
215
+
216
+ $ ruby setup.rb --help
217
+
218
+
219
+ If there's the directory named "packages",
220
+ You can also use these options:
221
+ --with=NAME,NAME,NAME...
222
+ Package names which you want to install.
223
+ --without=NAME,NAME,NAME...
224
+ Package names which you do not want to install.
225
+
226
+ [NOTE] You can pass options for extconf.rb like this:
227
+
228
+ ruby setup.rb config -- --with-tklib=/usr/lib/libtk-ja.so.8.0
229
+
230
+
231
+ Task Options for INSTALL
232
+ ------------------------
233
+
234
+ --no-harm
235
+ prints what to do and done nothing really.
236
+ --prefix=PATH
237
+ The prefix of the installing directory path.
238
+ This option may help binary package maintainers.
239
+ A default value is an empty string.
@@ -0,0 +1,38 @@
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
@@ -0,0 +1,14 @@
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
@@ -0,0 +1,8 @@
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
@@ -0,0 +1,17 @@
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>
@@ -0,0 +1,10 @@
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
@@ -0,0 +1,14 @@
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
@@ -0,0 +1,17 @@
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
@@ -0,0 +1,24 @@
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
+
@@ -0,0 +1,60 @@
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