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.
- checksums.yaml +4 -4
- data/.gitignore +33 -54
- data/.hound.yml +3 -0
- data/.rspec +3 -0
- data/.rubocop.yml +17 -1
- data/.travis.yml +14 -18
- data/CHANGELOG.md +10 -0
- data/Gemfile +1 -26
- data/README.md +25 -241
- data/Rakefile +4 -1056
- data/bin/.gitignore +3 -0
- data/bin/trema +163 -237
- data/features/cleanup_on_failure.feature +118 -0
- data/features/logging.feature +73 -0
- data/features/open_flow13.feature +21 -0
- data/features/step_definitions/.gitignore +35 -0
- data/features/step_definitions/.rubocop.yml +5 -0
- data/features/step_definitions/.travis.yml +19 -0
- data/features/step_definitions/Gemfile +9 -0
- data/features/step_definitions/Guardfile +4 -0
- data/features/step_definitions/LICENSE +675 -0
- data/features/step_definitions/README.md +7 -0
- data/features/step_definitions/Rakefile +10 -0
- data/features/step_definitions/show_stats_steps.rb +56 -0
- data/features/step_definitions/virtual_link_steps.rb +8 -0
- data/features/support/env.rb +0 -73
- data/features/support/hooks.rb +6 -50
- data/features/trema_delete_link.feature +30 -0
- data/features/trema_killall.feature +56 -0
- data/features/trema_run.feature +47 -0
- data/features/trema_start.feature +73 -0
- data/features/trema_stop.feature +50 -0
- data/lib/trema.rb +4 -0
- data/lib/trema/command.rb +184 -0
- data/lib/trema/controller.rb +289 -0
- data/lib/trema/dirs.rb +14 -0
- data/lib/trema/drb.rb +32 -0
- data/lib/trema/logger.rb +63 -0
- data/lib/trema/monkey_patch/integer.rb +8 -0
- data/lib/trema/monkey_patch/integer/base_conversions.rb +12 -0
- data/lib/trema/monkey_patch/integer/durations.rb +12 -0
- data/lib/trema/switch.rb +83 -0
- data/lib/trema/version.rb +5 -0
- data/spec/spec_helper.rb +9 -178
- data/spec/trema/controller_spec.rb +4 -53
- data/tasks/.gitignore +34 -0
- data/tasks/LICENSE +675 -0
- data/tasks/README.md +6 -0
- data/tasks/cucumber.rake +14 -0
- data/tasks/flay.rake +15 -0
- data/tasks/flog.rake +25 -0
- data/tasks/gem.rake +15 -0
- data/tasks/reek.rake +11 -0
- data/tasks/relish.rake +8 -0
- data/tasks/rspec.rake +8 -0
- data/tasks/rubocop.rake +2 -16
- data/tasks/yard.rake +11 -0
- data/trema.gemspec +24 -23
- metadata +180 -720
- data/.yardopts +0 -4
- data/Doxyfile +0 -1679
- data/Guardfile +0 -14
- data/bin/quality +0 -31
- data/bin/trema-config +0 -59
- data/build.rb +0 -32
- data/cruise.rb +0 -409
- data/features/.nav +0 -50
- data/features/README.md +0 -7
- data/features/core/get_pid_by_trema_name.feature +0 -137
- data/features/core/packetin_filter.feature +0 -55
- data/features/core/switch_manager.feature +0 -41
- data/features/core/trema-config.feature +0 -55
- data/features/dsl/switch_port_specifier.feature +0 -15
- data/features/examples/dumper.feature +0 -35
- data/features/examples/hello_trema.feature +0 -23
- data/features/examples/learning_switch.feature +0 -37
- data/features/examples/list_switches.feature +0 -24
- data/features/examples/message.set_config.feature +0 -27
- data/features/examples/message.vendor-action.feature +0 -25
- data/features/examples/message.vendor-stats-request.feature +0 -20
- data/features/examples/multi_learning_switch.feature +0 -107
- data/features/examples/openflow_message.echo.feature +0 -59
- data/features/examples/openflow_message.features_request.feature +0 -35
- data/features/examples/openflow_message.hello.feature +0 -59
- data/features/examples/packet_in.feature +0 -33
- data/features/examples/packetin_filter_config.feature +0 -95
- data/features/examples/patch_panel.feature +0 -29
- data/features/examples/repeater_hub.feature +0 -52
- data/features/examples/switch_info.feature +0 -51
- data/features/examples/switch_monitor.feature +0 -35
- data/features/examples/transparent_firewall.feature +0 -73
- data/features/handlers/switch_ready.feature +0 -40
- data/features/step_definitions/misc_steps.rb +0 -85
- data/features/step_definitions/send_packets_steps.rb +0 -33
- data/features/step_definitions/stats_steps.rb +0 -39
- data/features/switch_event/C-add_forward_entry.feature +0 -114
- data/features/switch_event/C-delete_forward_entry.feature +0 -85
- data/features/switch_event/C-dump_forward_entries.feature +0 -72
- data/features/switch_event/C-set_forward_entries.feature +0 -77
- data/features/switch_event/README.md +0 -40
- data/features/switch_event/add_forward_entry.feature +0 -160
- data/features/switch_event/delete_forward_entry.feature +0 -160
- data/features/switch_event/dump_forward_entries.feature +0 -103
- data/features/switch_event/set_forward_entries.feature +0 -102
- data/features/trema_commands/README.md +0 -8
- data/features/trema_commands/dump_flows.feature +0 -41
- data/features/trema_commands/help.feature +0 -27
- data/features/trema_commands/help_option.feature +0 -20
- data/features/trema_commands/kill.feature +0 -56
- data/features/trema_commands/killall.feature +0 -32
- data/features/trema_commands/port_down.feature +0 -71
- data/features/trema_commands/port_up.feature +0 -75
- data/features/trema_commands/reset_stats.feature +0 -56
- data/features/trema_commands/run.feature +0 -56
- data/features/trema_commands/send_packets.feature +0 -46
- data/features/trema_commands/show_stats.feature +0 -66
- data/features/trema_commands/up.feature +0 -34
- data/features/trema_commands/version.feature +0 -10
- data/features/trema_commands/version_option.feature +0 -8
- data/rubocop-todo.yml +0 -159
- data/ruby/.gitignore +0 -4
- data/ruby/blocker.rb +0 -74
- data/ruby/extconf.rb +0 -80
- data/ruby/sub-process.rb +0 -289
- data/ruby/trema/action-common.c +0 -46
- data/ruby/trema/action-common.h +0 -38
- data/ruby/trema/action.rb +0 -33
- data/ruby/trema/aggregate-stats-reply.rb +0 -68
- data/ruby/trema/app.rb +0 -114
- data/ruby/trema/barrier-reply.c +0 -98
- data/ruby/trema/barrier-reply.h +0 -44
- data/ruby/trema/barrier-request.c +0 -135
- data/ruby/trema/barrier-request.h +0 -42
- data/ruby/trema/cli.rb +0 -267
- data/ruby/trema/command.rb +0 -41
- data/ruby/trema/command/dump_flows.rb +0 -43
- data/ruby/trema/command/kill.rb +0 -75
- data/ruby/trema/command/killall.rb +0 -38
- data/ruby/trema/command/netns.rb +0 -38
- data/ruby/trema/command/port_down.rb +0 -43
- data/ruby/trema/command/port_up.rb +0 -43
- data/ruby/trema/command/reset_stats.rb +0 -41
- data/ruby/trema/command/ruby.rb +0 -38
- data/ruby/trema/command/run.rb +0 -110
- data/ruby/trema/command/send_packets.rb +0 -46
- data/ruby/trema/command/shell.rb +0 -57
- data/ruby/trema/command/show_stats.rb +0 -65
- data/ruby/trema/command/up.rb +0 -44
- data/ruby/trema/command/version.rb +0 -35
- data/ruby/trema/compat.h +0 -36
- data/ruby/trema/controller.c +0 -691
- data/ruby/trema/controller.h +0 -42
- data/ruby/trema/controller.rb +0 -255
- data/ruby/trema/custom-switch.rb +0 -56
- data/ruby/trema/daemon.rb +0 -184
- data/ruby/trema/default-logger.c +0 -161
- data/ruby/trema/default-logger.h +0 -42
- data/ruby/trema/default-logger.rb +0 -29
- data/ruby/trema/default_openflow_channel_port.rb +0 -26
- data/ruby/trema/desc-stats-reply.rb +0 -75
- data/ruby/trema/dsl.rb +0 -32
- data/ruby/trema/dsl/configuration.rb +0 -145
- data/ruby/trema/dsl/context.rb +0 -69
- data/ruby/trema/dsl/custom-switch.rb +0 -44
- data/ruby/trema/dsl/link.rb +0 -39
- data/ruby/trema/dsl/netns.rb +0 -78
- data/ruby/trema/dsl/parser.rb +0 -70
- data/ruby/trema/dsl/rswitch.rb +0 -47
- data/ruby/trema/dsl/run.rb +0 -47
- data/ruby/trema/dsl/runner.rb +0 -178
- data/ruby/trema/dsl/stanza.rb +0 -51
- data/ruby/trema/dsl/switch.rb +0 -76
- data/ruby/trema/dsl/syntax-error.rb +0 -31
- data/ruby/trema/dsl/syntax.rb +0 -128
- data/ruby/trema/dsl/vhost.rb +0 -106
- data/ruby/trema/dsl/vswitch.rb +0 -45
- data/ruby/trema/echo-reply.c +0 -122
- data/ruby/trema/echo-reply.h +0 -40
- data/ruby/trema/echo-request.c +0 -117
- data/ruby/trema/echo-request.h +0 -40
- data/ruby/trema/echo.c +0 -99
- data/ruby/trema/echo.h +0 -39
- data/ruby/trema/enqueue.rb +0 -87
- data/ruby/trema/error.c +0 -262
- data/ruby/trema/error.h +0 -42
- data/ruby/trema/exact-match.rb +0 -34
- data/ruby/trema/executables.rb +0 -99
- data/ruby/trema/features-reply.c +0 -330
- data/ruby/trema/features-reply.h +0 -54
- data/ruby/trema/features-request.c +0 -134
- data/ruby/trema/features-request.h +0 -42
- data/ruby/trema/flow-mod.c +0 -150
- data/ruby/trema/flow-mod.h +0 -42
- data/ruby/trema/flow-removed.c +0 -280
- data/ruby/trema/flow-removed.h +0 -44
- data/ruby/trema/flow-stats-reply.rb +0 -107
- data/ruby/trema/flow.rb +0 -65
- data/ruby/trema/get-config-reply.c +0 -158
- data/ruby/trema/get-config-reply.h +0 -50
- data/ruby/trema/get-config-request.c +0 -136
- data/ruby/trema/get-config-request.h +0 -42
- data/ruby/trema/hardware-switch.rb +0 -86
- data/ruby/trema/hello.c +0 -133
- data/ruby/trema/hello.h +0 -42
- data/ruby/trema/host.rb +0 -263
- data/ruby/trema/link.rb +0 -177
- data/ruby/trema/list-switches-reply.c +0 -44
- data/ruby/trema/list-switches-reply.h +0 -38
- data/ruby/trema/mac.rb +0 -29
- data/ruby/trema/match.c +0 -621
- data/ruby/trema/match.h +0 -34
- data/ruby/trema/monkey-patch/integer.rb +0 -35
- data/ruby/trema/monkey-patch/integer/base-conversions.rb +0 -34
- data/ruby/trema/monkey-patch/integer/ranges.rb +0 -49
- data/ruby/trema/monkey-patch/integer/validators.rb +0 -36
- data/ruby/trema/monkey-patch/module.rb +0 -33
- data/ruby/trema/monkey-patch/module/class-method.rb +0 -38
- data/ruby/trema/monkey-patch/module/deprecation.rb +0 -39
- data/ruby/trema/monkey-patch/string.rb +0 -31
- data/ruby/trema/monkey-patch/string/inflectors.rb +0 -52
- data/ruby/trema/netns.rb +0 -127
- data/ruby/trema/network-component.rb +0 -151
- data/ruby/trema/ofctl.rb +0 -70
- data/ruby/trema/open-vswitch.rb +0 -160
- data/ruby/trema/openflow-error.c +0 -193
- data/ruby/trema/openflow-error.h +0 -51
- data/ruby/trema/openflow-switch.rb +0 -35
- data/ruby/trema/ordered-hash.rb +0 -75
- data/ruby/trema/packet-in.c +0 -1365
- data/ruby/trema/packet-in.h +0 -44
- data/ruby/trema/packet-queue.rb +0 -181
- data/ruby/trema/packetin-filter.rb +0 -124
- data/ruby/trema/path.rb +0 -85
- data/ruby/trema/phost.rb +0 -76
- data/ruby/trema/port-mod.c +0 -232
- data/ruby/trema/port-mod.h +0 -34
- data/ruby/trema/port-stats-reply.rb +0 -109
- data/ruby/trema/port-status-add.rb +0 -60
- data/ruby/trema/port-status-delete.rb +0 -60
- data/ruby/trema/port-status-modify.rb +0 -60
- data/ruby/trema/port-status.c +0 -192
- data/ruby/trema/port-status.h +0 -41
- data/ruby/trema/port.c +0 -398
- data/ruby/trema/port.h +0 -45
- data/ruby/trema/process.rb +0 -103
- data/ruby/trema/queue-get-config-reply.c +0 -205
- data/ruby/trema/queue-get-config-reply.h +0 -45
- data/ruby/trema/queue-get-config-request.c +0 -141
- data/ruby/trema/queue-get-config-request.h +0 -42
- data/ruby/trema/queue-stats-reply.rb +0 -76
- data/ruby/trema/ruby-switch.rb +0 -62
- data/ruby/trema/send-out-port.rb +0 -113
- data/ruby/trema/set-config.c +0 -174
- data/ruby/trema/set-config.h +0 -42
- data/ruby/trema/set-eth-addr.rb +0 -54
- data/ruby/trema/set-eth-dst-addr.rb +0 -52
- data/ruby/trema/set-eth-src-addr.rb +0 -53
- data/ruby/trema/set-ip-addr.rb +0 -54
- data/ruby/trema/set-ip-dst-addr.rb +0 -53
- data/ruby/trema/set-ip-src-addr.rb +0 -52
- data/ruby/trema/set-ip-tos.rb +0 -64
- data/ruby/trema/set-transport-dst-port.rb +0 -53
- data/ruby/trema/set-transport-port.rb +0 -53
- data/ruby/trema/set-transport-src-port.rb +0 -54
- data/ruby/trema/set-vlan-priority.rb +0 -66
- data/ruby/trema/set-vlan-vid.rb +0 -65
- data/ruby/trema/shell.rb +0 -37
- data/ruby/trema/shell/down.rb +0 -37
- data/ruby/trema/shell/killall.rb +0 -38
- data/ruby/trema/shell/link.rb +0 -59
- data/ruby/trema/shell/reset_stats.rb +0 -49
- data/ruby/trema/shell/run.rb +0 -67
- data/ruby/trema/shell/send_packets.rb +0 -40
- data/ruby/trema/shell/show_stats.rb +0 -47
- data/ruby/trema/shell/up.rb +0 -41
- data/ruby/trema/shell/vhost.rb +0 -42
- data/ruby/trema/shell/vswitch.rb +0 -47
- data/ruby/trema/stats-helper.rb +0 -63
- data/ruby/trema/stats-reply.c +0 -540
- data/ruby/trema/stats-reply.h +0 -51
- data/ruby/trema/stats-request.c +0 -715
- data/ruby/trema/stats-request.h +0 -40
- data/ruby/trema/strip-vlan-header.rb +0 -41
- data/ruby/trema/switch-daemon.rb +0 -90
- data/ruby/trema/switch-disconnected.c +0 -38
- data/ruby/trema/switch-disconnected.h +0 -36
- data/ruby/trema/switch-event.c +0 -648
- data/ruby/trema/switch-event.h +0 -27
- data/ruby/trema/switch-manager.rb +0 -119
- data/ruby/trema/switch.c +0 -197
- data/ruby/trema/switch.h +0 -40
- data/ruby/trema/switch.rb +0 -56
- data/ruby/trema/table-stats-reply.rb +0 -85
- data/ruby/trema/timers.rb +0 -95
- data/ruby/trema/trema-ruby-utils.c +0 -66
- data/ruby/trema/trema-ruby-utils.h +0 -42
- data/ruby/trema/trema.c +0 -126
- data/ruby/trema/tremashark.rb +0 -46
- data/ruby/trema/util.rb +0 -116
- data/ruby/trema/vendor-action.rb +0 -82
- data/ruby/trema/vendor-stats-reply.rb +0 -64
- data/ruby/trema/vendor.c +0 -230
- data/ruby/trema/vendor.h +0 -48
- data/ruby/trema/version.rb +0 -28
- data/spec/support/action.rb +0 -49
- data/spec/support/mandatory-option.rb +0 -53
- data/spec/support/matchers/constant.rb +0 -25
- data/spec/support/openflow-message.rb +0 -173
- data/spec/support/port-status.rb +0 -35
- data/spec/trema/app_spec.rb +0 -88
- data/spec/trema/barrier-reply_spec.rb +0 -43
- data/spec/trema/barrier-request_spec.rb +0 -92
- data/spec/trema/cli_spec.rb +0 -156
- data/spec/trema/default-logger_spec.rb +0 -46
- data/spec/trema/dsl/configuration_spec.rb +0 -120
- data/spec/trema/dsl/link_spec.rb +0 -50
- data/spec/trema/dsl/run_spec.rb +0 -72
- data/spec/trema/dsl/runner_spec.rb +0 -247
- data/spec/trema/dsl/switch_spec.rb +0 -69
- data/spec/trema/dsl/syntax_spec.rb +0 -110
- data/spec/trema/dsl/vhost_spec.rb +0 -144
- data/spec/trema/dsl/vswitch_spec.rb +0 -80
- data/spec/trema/echo-reply_spec.rb +0 -84
- data/spec/trema/echo-request_spec.rb +0 -128
- data/spec/trema/enqueue_spec.rb +0 -76
- data/spec/trema/error_spec.rb +0 -81
- data/spec/trema/executables_spec.rb +0 -54
- data/spec/trema/features-reply_spec.rb +0 -91
- data/spec/trema/features-request_spec.rb +0 -93
- data/spec/trema/flow-mod_spec.rb +0 -99
- data/spec/trema/flow-removed_spec.rb +0 -144
- data/spec/trema/get-config-reply_spec.rb +0 -43
- data/spec/trema/get-config-request_spec.rb +0 -92
- data/spec/trema/hardware-switch_spec.rb +0 -54
- data/spec/trema/hello_spec.rb +0 -63
- data/spec/trema/host_spec.rb +0 -191
- data/spec/trema/link_spec.rb +0 -62
- data/spec/trema/list-switches-reply_spec.rb +0 -46
- data/spec/trema/match_spec.rb +0 -111
- data/spec/trema/open-vswitch_spec.rb +0 -121
- data/spec/trema/openflow-error_spec.rb +0 -141
- data/spec/trema/packet-in_spec.rb +0 -717
- data/spec/trema/packet-out_spec.rb +0 -125
- data/spec/trema/packetin-filter_spec.rb +0 -39
- data/spec/trema/port-mod_spec.rb +0 -98
- data/spec/trema/port-status-add_spec.rb +0 -32
- data/spec/trema/port-status-delete_spec.rb +0 -32
- data/spec/trema/port-status-modify_spec.rb +0 -71
- data/spec/trema/port-status_spec.rb +0 -38
- data/spec/trema/port_spec.rb +0 -59
- data/spec/trema/process_spec.rb +0 -69
- data/spec/trema/queue-get-config-reply_spec.rb +0 -65
- data/spec/trema/queue-get-config-request_spec.rb +0 -67
- data/spec/trema/send-out-port_spec.rb +0 -106
- data/spec/trema/set-config_spec.rb +0 -78
- data/spec/trema/set-eth-addr_spec.rb +0 -62
- data/spec/trema/set-ip-addr_spec.rb +0 -81
- data/spec/trema/set-ip-tos_spec.rb +0 -70
- data/spec/trema/set-transport-dst-port_spec.rb +0 -65
- data/spec/trema/set-transport-src-port_spec.rb +0 -65
- data/spec/trema/set-vlan-priority_spec.rb +0 -65
- data/spec/trema/set-vlan-vid_spec.rb +0 -65
- data/spec/trema/shell/vhost_spec.rb +0 -58
- data/spec/trema/shell/vswitch_spec.rb +0 -87
- data/spec/trema/stats-reply_spec.rb +0 -363
- data/spec/trema/stats-request_spec.rb +0 -166
- data/spec/trema/strip-vlan-header_spec.rb +0 -44
- data/spec/trema/switch-daemon_spec.rb +0 -81
- data/spec/trema/switch-disconnected_spec.rb +0 -56
- data/spec/trema/switch-manager_spec.rb +0 -41
- data/spec/trema/tremashark_spec.rb +0 -39
- data/spec/trema/util_spec.rb +0 -88
- data/spec/trema/vendor-action_spec.rb +0 -75
- data/spec/trema/vendor_spec.rb +0 -76
- data/spec/trema_spec.rb +0 -94
- data/src/examples/cbench_switch/README +0 -21
- data/src/examples/cbench_switch/cbench-switch.rb +0 -38
- data/src/examples/cbench_switch/cbench_switch.c +0 -66
- data/src/examples/dumper/dumper.c +0 -362
- data/src/examples/dumper/dumper.conf +0 -7
- data/src/examples/dumper/dumper.rb +0 -195
- data/src/examples/hello_trema/.gitignore +0 -2
- data/src/examples/hello_trema/README.md +0 -2
- data/src/examples/hello_trema/hello-trema.rb +0 -30
- data/src/examples/hello_trema/hello_trema.c +0 -48
- data/src/examples/hello_trema/sample.conf +0 -1
- data/src/examples/learning_switch/README +0 -15
- data/src/examples/learning_switch/fdb.rb +0 -110
- data/src/examples/learning_switch/learning-switch.rb +0 -90
- data/src/examples/learning_switch/learning_switch.c +0 -217
- data/src/examples/learning_switch/learning_switch.conf +0 -18
- data/src/examples/list_switches/README +0 -19
- data/src/examples/list_switches/list-switches.rb +0 -43
- data/src/examples/list_switches/list_switches.c +0 -79
- data/src/examples/list_switches/list_switches.conf +0 -15
- data/src/examples/match_compare/match-compare.conf +0 -30
- data/src/examples/match_compare/match-compare.rb +0 -97
- data/src/examples/multi_learning_switch/README +0 -14
- data/src/examples/multi_learning_switch/multi-learning-switch.rb +0 -94
- data/src/examples/multi_learning_switch/multi_learning_switch.c +0 -294
- data/src/examples/multi_learning_switch/multi_learning_switch.conf +0 -17
- data/src/examples/openflow_message/README +0 -11
- data/src/examples/openflow_message/echo.c +0 -80
- data/src/examples/openflow_message/echo.rb +0 -56
- data/src/examples/openflow_message/example.rb +0 -60
- data/src/examples/openflow_message/features-request.rb +0 -96
- data/src/examples/openflow_message/features_request.c +0 -167
- data/src/examples/openflow_message/hello.c +0 -68
- data/src/examples/openflow_message/hello.rb +0 -43
- data/src/examples/openflow_message/set-config.rb +0 -57
- data/src/examples/openflow_message/set_config.c +0 -68
- data/src/examples/openflow_message/vendor-action.rb +0 -43
- data/src/examples/openflow_message/vendor-stats-request.rb +0 -66
- data/src/examples/openflow_message/vendor_action.c +0 -103
- data/src/examples/openflow_switch/echo_switch.c +0 -89
- data/src/examples/openflow_switch/hello_switch.c +0 -85
- data/src/examples/packet_in/README +0 -15
- data/src/examples/packet_in/packet-in.rb +0 -37
- data/src/examples/packet_in/packet_in.c +0 -53
- data/src/examples/packet_in/packet_in.conf +0 -15
- data/src/examples/packetin_filter_config/README +0 -12
- data/src/examples/packetin_filter_config/add_filter.c +0 -71
- data/src/examples/packetin_filter_config/delete_filter.c +0 -63
- data/src/examples/packetin_filter_config/delete_filter_strict.c +0 -73
- data/src/examples/packetin_filter_config/dump_filter.c +0 -63
- data/src/examples/packetin_filter_config/dump_filter_strict.c +0 -73
- data/src/examples/packetin_filter_config/packetin_filter_config.c +0 -132
- data/src/examples/packetin_filter_config/packetin_filter_config.conf +0 -7
- data/src/examples/packetin_filter_config/utils.c +0 -100
- data/src/examples/packetin_filter_config/utils.h +0 -40
- data/src/examples/patch_panel/network.conf +0 -14
- data/src/examples/patch_panel/patch-panel.conf +0 -1
- data/src/examples/patch_panel/patch-panel.rb +0 -59
- data/src/examples/repeater_hub/README +0 -8
- data/src/examples/repeater_hub/repeater-hub.rb +0 -41
- data/src/examples/repeater_hub/repeater-hub_spec.rb +0 -154
- data/src/examples/repeater_hub/repeater_hub.c +0 -81
- data/src/examples/repeater_hub/repeater_hub.conf +0 -28
- data/src/examples/simple_router/README +0 -18
- data/src/examples/simple_router/arp-table.rb +0 -81
- data/src/examples/simple_router/interface.rb +0 -90
- data/src/examples/simple_router/routing-table.rb +0 -60
- data/src/examples/simple_router/simple-router.rb +0 -191
- data/src/examples/simple_router/simple_router.conf +0 -24
- data/src/examples/simple_router/simple_router_netns.conf +0 -15
- data/src/examples/simple_router/simple_router_network.conf +0 -6
- data/src/examples/switch_event_config/.gitignore +0 -6
- data/src/examples/switch_event_config/add_forward_entry.c +0 -227
- data/src/examples/switch_event_config/delete_forward_entry.c +0 -226
- data/src/examples/switch_event_config/dump_forward_entries.c +0 -190
- data/src/examples/switch_event_config/network.conf +0 -2
- data/src/examples/switch_event_config/set_forward_entries.c +0 -210
- data/src/examples/switch_info/README +0 -13
- data/src/examples/switch_info/switch-info.rb +0 -44
- data/src/examples/switch_info/switch_info.c +0 -78
- data/src/examples/switch_info/switch_info.conf +0 -3
- data/src/examples/switch_monitor/switch-monitor.conf +0 -3
- data/src/examples/switch_monitor/switch-monitor.rb +0 -56
- data/src/examples/switch_monitor/switch_monitor.c +0 -152
- data/src/examples/traffic_monitor/counter.c +0 -72
- data/src/examples/traffic_monitor/counter.h +0 -46
- data/src/examples/traffic_monitor/counter.rb +0 -44
- data/src/examples/traffic_monitor/fdb.c +0 -74
- data/src/examples/traffic_monitor/fdb.h +0 -48
- data/src/examples/traffic_monitor/fdb.rb +0 -42
- data/src/examples/traffic_monitor/traffic-monitor.rb +0 -98
- data/src/examples/traffic_monitor/traffic_monitor.c +0 -161
- data/src/examples/traffic_monitor/traffic_monitor.conf +0 -16
- data/src/examples/transparent_firewall/README.md +0 -61
- data/src/examples/transparent_firewall/aggregated-delegated-afrinic.txt +0 -713
- data/src/examples/transparent_firewall/aggregated-delegated-apnic.txt +0 -3440
- data/src/examples/transparent_firewall/aggregated-delegated-arin.txt +0 -11342
- data/src/examples/transparent_firewall/aggregated-delegated-lacnic.txt +0 -1937
- data/src/examples/transparent_firewall/aggregated-delegated-ripencc.txt +0 -7329
- data/src/examples/transparent_firewall/block-rfc1918.rb +0 -86
- data/src/examples/transparent_firewall/pass-delegated.rb +0 -178
- data/src/examples/transparent_firewall/regen_aggregated.sh +0 -53
- data/src/examples/transparent_firewall/stats-to-cidrs.rb +0 -59
- data/src/lib/arp.h +0 -64
- data/src/lib/bool.h +0 -47
- data/src/lib/buffer.c +0 -304
- data/src/lib/buffer.h +0 -54
- data/src/lib/byteorder.c +0 -571
- data/src/lib/byteorder.h +0 -108
- data/src/lib/checks.h +0 -40
- data/src/lib/chibach.c +0 -392
- data/src/lib/chibach.h +0 -69
- data/src/lib/chibach_private.c +0 -168
- data/src/lib/chibach_private.h +0 -50
- data/src/lib/daemon.c +0 -429
- data/src/lib/daemon.h +0 -40
- data/src/lib/doubly_linked_list.c +0 -284
- data/src/lib/doubly_linked_list.h +0 -86
- data/src/lib/ether.c +0 -47
- data/src/lib/ether.h +0 -92
- data/src/lib/etherip.h +0 -44
- data/src/lib/event_forward_interface.c +0 -788
- data/src/lib/event_forward_interface.h +0 -138
- data/src/lib/event_handler.c +0 -419
- data/src/lib/event_handler.h +0 -57
- data/src/lib/external_callback.c +0 -126
- data/src/lib/external_callback.h +0 -46
- data/src/lib/hash_table.c +0 -415
- data/src/lib/hash_table.h +0 -136
- data/src/lib/icmp.h +0 -72
- data/src/lib/igmp.h +0 -48
- data/src/lib/ipv4.h +0 -64
- data/src/lib/ipv6.h +0 -46
- data/src/lib/linked_list.c +0 -244
- data/src/lib/linked_list.h +0 -84
- data/src/lib/log.c +0 -636
- data/src/lib/log.h +0 -77
- data/src/lib/management_interface.c +0 -359
- data/src/lib/management_interface.h +0 -40
- data/src/lib/management_service_interface.c +0 -102
- data/src/lib/management_service_interface.h +0 -134
- data/src/lib/match.h +0 -82
- data/src/lib/match_table.c +0 -606
- data/src/lib/match_table.h +0 -49
- data/src/lib/message_queue.c +0 -143
- data/src/lib/message_queue.h +0 -59
- data/src/lib/messenger.c +0 -1821
- data/src/lib/messenger.h +0 -145
- data/src/lib/openflow_application_interface.c +0 -1800
- data/src/lib/openflow_application_interface.h +0 -359
- data/src/lib/openflow_message.c +0 -4240
- data/src/lib/openflow_message.h +0 -291
- data/src/lib/openflow_service_interface.h +0 -58
- data/src/lib/openflow_switch_interface.c +0 -1378
- data/src/lib/openflow_switch_interface.h +0 -262
- data/src/lib/packet_info.c +0 -336
- data/src/lib/packet_info.h +0 -233
- data/src/lib/packet_parser.c +0 -522
- data/src/lib/packetin_filter_interface.c +0 -292
- data/src/lib/packetin_filter_interface.h +0 -125
- data/src/lib/persistent_storage.c +0 -478
- data/src/lib/persistent_storage.h +0 -44
- data/src/lib/secure_channel.c +0 -496
- data/src/lib/secure_channel.h +0 -43
- data/src/lib/stat.c +0 -248
- data/src/lib/stat.h +0 -51
- data/src/lib/tcp.h +0 -62
- data/src/lib/timer.c +0 -349
- data/src/lib/timer.h +0 -51
- data/src/lib/trema.c +0 -776
- data/src/lib/trema.h +0 -80
- data/src/lib/trema.hpp +0 -49
- data/src/lib/trema_private.c +0 -175
- data/src/lib/trema_private.h +0 -64
- data/src/lib/trema_wrapper.c +0 -59
- data/src/lib/trema_wrapper.h +0 -66
- data/src/lib/udp.h +0 -41
- data/src/lib/utility.c +0 -625
- data/src/lib/utility.h +0 -84
- data/src/lib/wrapper.c +0 -121
- data/src/lib/wrapper.h +0 -76
- data/src/management/application.c +0 -222
- data/src/management/echo.c +0 -183
- data/src/management/set_logging_level.c +0 -151
- data/src/management/show_stats.c +0 -148
- data/src/management/trema_manager +0 -184
- data/src/packetin_filter/README +0 -17
- data/src/packetin_filter/packetin_filter.c +0 -575
- data/src/switch_manager/README +0 -20
- data/src/switch_manager/cookie_table.c +0 -290
- data/src/switch_manager/cookie_table.h +0 -70
- data/src/switch_manager/dpid_table.c +0 -108
- data/src/switch_manager/dpid_table.h +0 -43
- data/src/switch_manager/event_forward_entry_manipulation.c +0 -120
- data/src/switch_manager/event_forward_entry_manipulation.h +0 -31
- data/src/switch_manager/ofpmsg_recv.c +0 -497
- data/src/switch_manager/ofpmsg_recv.h +0 -39
- data/src/switch_manager/ofpmsg_send.c +0 -274
- data/src/switch_manager/ofpmsg_send.h +0 -51
- data/src/switch_manager/secure_channel_listener.c +0 -296
- data/src/switch_manager/secure_channel_listener.h +0 -40
- data/src/switch_manager/secure_channel_receiver.c +0 -129
- data/src/switch_manager/secure_channel_receiver.h +0 -40
- data/src/switch_manager/secure_channel_sender.c +0 -131
- data/src/switch_manager/secure_channel_sender.h +0 -41
- data/src/switch_manager/service_interface.c +0 -180
- data/src/switch_manager/service_interface.h +0 -44
- data/src/switch_manager/switch.c +0 -988
- data/src/switch_manager/switch.h +0 -50
- data/src/switch_manager/switch_manager.c +0 -643
- data/src/switch_manager/switch_manager.h +0 -65
- data/src/switch_manager/switch_option.c +0 -30
- data/src/switch_manager/switch_option.h +0 -41
- data/src/switch_manager/switchinfo.h +0 -81
- data/src/switch_manager/xid_table.c +0 -182
- data/src/switch_manager/xid_table.h +0 -53
- data/src/tremashark/README +0 -79
- data/src/tremashark/packet_capture.c +0 -358
- data/src/tremashark/pcap_private.h +0 -45
- data/src/tremashark/pcap_queue.c +0 -195
- data/src/tremashark/pcap_queue.h +0 -56
- data/src/tremashark/plugin/.gitignore +0 -6
- data/src/tremashark/plugin/packet-trema/.gitignore +0 -5
- data/src/tremashark/plugin/packet-trema/Makefile +0 -77
- data/src/tremashark/plugin/packet-trema/Makefile.am +0 -110
- data/src/tremashark/plugin/packet-trema/Makefile.common +0 -29
- data/src/tremashark/plugin/packet-trema/moduleinfo.h +0 -39
- data/src/tremashark/plugin/packet-trema/packet-trema.c +0 -1671
- data/src/tremashark/plugin/packet-trema/plugin.c +0 -31
- data/src/tremashark/plugin/user_dlts +0 -2
- data/src/tremashark/queue.c +0 -167
- data/src/tremashark/queue.h +0 -58
- data/src/tremashark/stdin_relay.c +0 -257
- data/src/tremashark/syslog_relay.c +0 -247
- data/src/tremashark/tremashark.c +0 -554
- data/trema +0 -11
- data/trema-config +0 -11
- data/unittests/buffer_stubs.c +0 -72
- data/unittests/cmockery_trema.c +0 -121
- data/unittests/cmockery_trema.h +0 -95
- data/unittests/lib/buffer_test.c +0 -368
- data/unittests/lib/byteorder_test.c +0 -1798
- data/unittests/lib/daemon_test.c +0 -804
- data/unittests/lib/doubly_linked_list_test.c +0 -348
- data/unittests/lib/ether_test.c +0 -125
- data/unittests/lib/event_forward_interface_test.c +0 -1676
- data/unittests/lib/external_callback_test.c +0 -282
- data/unittests/lib/hash_table_test.c +0 -278
- data/unittests/lib/linked_list_test.c +0 -434
- data/unittests/lib/log_test.c +0 -672
- data/unittests/lib/management_interface_test.c +0 -238
- data/unittests/lib/management_service_interface_test.c +0 -317
- data/unittests/lib/match_table_test.c +0 -1507
- data/unittests/lib/message_queue_test.c +0 -381
- data/unittests/lib/messenger_test.c +0 -623
- data/unittests/lib/openflow_application_interface_test.c +0 -3713
- data/unittests/lib/openflow_message_test.c +0 -8047
- data/unittests/lib/packet_info_test.c +0 -558
- data/unittests/lib/packet_parser_test.c +0 -784
- data/unittests/lib/packetin_filter_interface_test.c +0 -721
- data/unittests/lib/persistent_storage_test.c +0 -800
- data/unittests/lib/stat_test.c +0 -433
- data/unittests/lib/test_packets/arp_rep.cap +0 -0
- data/unittests/lib/test_packets/arp_req.cap +0 -0
- data/unittests/lib/test_packets/icmp6_echo_rep.cap +0 -0
- data/unittests/lib/test_packets/icmp6_echo_req.cap +0 -0
- data/unittests/lib/test_packets/icmp_echo_rep.cap +0 -0
- data/unittests/lib/test_packets/icmp_echo_req.cap +0 -0
- data/unittests/lib/test_packets/igmp_query_v2.cap +0 -0
- data/unittests/lib/test_packets/ipx.cap +0 -0
- data/unittests/lib/test_packets/lldp.cap +0 -0
- data/unittests/lib/test_packets/lldp_over_ip.cap +0 -0
- data/unittests/lib/test_packets/rarp_req.cap +0 -0
- data/unittests/lib/test_packets/tcp.cap +0 -0
- data/unittests/lib/test_packets/tcp_syn.cap +0 -0
- data/unittests/lib/test_packets/udp.cap +0 -0
- data/unittests/lib/test_packets/udp_frag_head.cap +0 -0
- data/unittests/lib/test_packets/udp_frag_next.cap +0 -0
- data/unittests/lib/test_packets/vtag_icmp_echo_rep.cap +0 -0
- data/unittests/lib/test_packets/vtag_icmp_echo_req.cap +0 -0
- data/unittests/lib/timer_test.c +0 -246
- data/unittests/lib/trema_private_test.c +0 -321
- data/unittests/lib/trema_test.c +0 -1030
- data/unittests/lib/utility_test.c +0 -711
- data/unittests/lib/wrapper_test.c +0 -228
- data/unittests/packetin_filter/packetin_filter_test.c +0 -476
- data/unittests/switch_manager/switch_manager_test.c +0 -1183
- data/unittests/wrapper_stubs.c +0 -37
- data/vendor/.gitignore +0 -6
- data/vendor/README.md +0 -29
- data/vendor/cmockery-20110428.tar.gz +0 -0
- data/vendor/oflops-0.03.trema1.tar.gz +0 -0
- data/vendor/oflops_no_snmp+1.0.0.diff +0 -340
- data/vendor/openflow-1.0.0.tar.gz +0 -0
- data/vendor/openflow.git.tar.gz +0 -0
- data/vendor/openvswitch-1.2.2.trema1.tar.gz +0 -0
- data/vendor/openvswitch-1.2.2_librt-check.diff +0 -21
- data/vendor/packet-openflow.diff +0 -13
- data/vendor/ruby-ifconfig-1.2/COPYING +0 -340
- data/vendor/ruby-ifconfig-1.2/Changelog +0 -16
- data/vendor/ruby-ifconfig-1.2/INSTALL +0 -239
- data/vendor/ruby-ifconfig-1.2/README +0 -38
- data/vendor/ruby-ifconfig-1.2/Rakefile +0 -14
- data/vendor/ruby-ifconfig-1.2/TODO +0 -8
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/darwin.txt +0 -17
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/dragonflybsd.txt +0 -10
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/dragonflybsd_netstat.txt +0 -14
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/freebsd.txt +0 -17
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/freebsd_netstat.txt +0 -24
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/linux.txt +0 -60
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/linux_ethernet.txt +0 -20
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/netbsd.txt +0 -10
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/openbsd.txt +0 -36
- data/vendor/ruby-ifconfig-1.2/ifconfig_examples/sunos.txt +0 -10
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig.rb +0 -71
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/ifconfig.rb +0 -72
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/interface_types.rb +0 -69
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/bsd/network_types.rb +0 -3
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/common/ifconfig.rb +0 -84
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/common/interface_types.rb +0 -130
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/common/network_types.rb +0 -49
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/ifconfig.rb +0 -43
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/interface_types.rb +0 -112
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/linux/network_types.rb +0 -55
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/ifconfig.rb +0 -38
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/interface_types.rb +0 -77
- data/vendor/ruby-ifconfig-1.2/lib/ifconfig/sunos/network_types.rb +0 -4
- data/vendor/ruby-ifconfig-1.2/setup.rb +0 -1306
- data/vendor/ruby-ifconfig-1.2/test/test_bsd.rb +0 -35
- data/vendor/ruby-ifconfig-1.2/test/test_darwin.rb +0 -33
- data/vendor/ruby-ifconfig-1.2/test/test_dragonflybsd.rb +0 -35
- data/vendor/ruby-ifconfig-1.2/test/test_helper.rb +0 -4
- data/vendor/ruby-ifconfig-1.2/test/test_linux.rb +0 -31
- data/vendor/ruby-ifconfig-1.2/test/test_netbsd.rb +0 -33
- data/vendor/ruby-ifconfig-1.2/test/test_openbsd.rb +0 -33
- data/vendor/ruby-ifconfig-1.2/test/test_sunos.rb +0 -35
- data/vendor/ruby-ifconfig-1.2/test/unit/tc_darwin.rb +0 -40
- data/vendor/ruby-ifconfig-1.2/test/unit/tc_dragonflybsd.rb +0 -39
- data/vendor/ruby-ifconfig-1.2/test/unit/tc_freebsd.rb +0 -40
- data/vendor/ruby-ifconfig-1.2/test/unit/tc_linux.rb +0 -49
- data/vendor/ruby-ifconfig-1.2/test/unit/tc_netbsd.rb +0 -39
- data/vendor/ruby-ifconfig-1.2/test/unit/tc_openbsd.rb +0 -39
- data/vendor/ruby-ifconfig-1.2/test/unit/tc_sunos.rb +0 -44
data/src/lib/byteorder.h
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Utility functions for converting byteorder.
|
|
3
|
-
*
|
|
4
|
-
* Copyright (C) 2008-2013 NEC Corporation
|
|
5
|
-
*
|
|
6
|
-
* This program is free software; you can redistribute it and/or modify
|
|
7
|
-
* it under the terms of the GNU General Public License, version 2, as
|
|
8
|
-
* published by the Free Software Foundation.
|
|
9
|
-
*
|
|
10
|
-
* This program is distributed in the hope that it will be useful,
|
|
11
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
-
* GNU General Public License for more details.
|
|
14
|
-
*
|
|
15
|
-
* You should have received a copy of the GNU General Public License along
|
|
16
|
-
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
17
|
-
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
#ifndef BYTEORDER_H
|
|
22
|
-
#define BYTEORDER_H
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
#include <byteswap.h>
|
|
26
|
-
#include <endian.h>
|
|
27
|
-
#include <openflow.h>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
#if __BYTE_ORDER == __BIG_ENDIAN
|
|
31
|
-
#define ntohll( _x ) ( _x )
|
|
32
|
-
#define htonll( _x ) ( _x )
|
|
33
|
-
#elif __BYTE_ORDER == __LITTLE_ENDIAN
|
|
34
|
-
#define ntohll( _x ) bswap_64( _x )
|
|
35
|
-
#define htonll( _x ) bswap_64( _x )
|
|
36
|
-
#endif
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
void ntoh_match( struct ofp_match *dst, const struct ofp_match *src );
|
|
40
|
-
#define hton_match ntoh_match
|
|
41
|
-
|
|
42
|
-
void ntoh_phy_port( struct ofp_phy_port *dst, const struct ofp_phy_port *src );
|
|
43
|
-
#define hton_phy_port ntoh_phy_port
|
|
44
|
-
|
|
45
|
-
void ntoh_action_output( struct ofp_action_output *dst, const struct ofp_action_output *src );
|
|
46
|
-
#define hton_action_output ntoh_action_output
|
|
47
|
-
|
|
48
|
-
void ntoh_action_vlan_vid( struct ofp_action_vlan_vid *dst, const struct ofp_action_vlan_vid *src );
|
|
49
|
-
#define hton_action_vlan_vid ntoh_action_vlan_vid
|
|
50
|
-
|
|
51
|
-
void ntoh_action_vlan_pcp( struct ofp_action_vlan_pcp *dst, const struct ofp_action_vlan_pcp *src );
|
|
52
|
-
#define hton_action_vlan_pcp ntoh_action_vlan_pcp
|
|
53
|
-
|
|
54
|
-
void ntoh_action_strip_vlan( struct ofp_action_header *dst, const struct ofp_action_header *src );
|
|
55
|
-
#define hton_action_strip_vlan ntoh_action_strip_vlan
|
|
56
|
-
|
|
57
|
-
void ntoh_action_dl_addr( struct ofp_action_dl_addr *dst, const struct ofp_action_dl_addr *src );
|
|
58
|
-
#define hton_action_dl_addr ntoh_action_dl_addr
|
|
59
|
-
|
|
60
|
-
void ntoh_action_nw_addr( struct ofp_action_nw_addr *dst, const struct ofp_action_nw_addr *src );
|
|
61
|
-
#define hton_action_nw_addr ntoh_action_nw_addr
|
|
62
|
-
|
|
63
|
-
void ntoh_action_nw_tos( struct ofp_action_nw_tos *dst, const struct ofp_action_nw_tos *src );
|
|
64
|
-
#define hton_action_nw_tos ntoh_action_nw_tos
|
|
65
|
-
|
|
66
|
-
void ntoh_action_tp_port( struct ofp_action_tp_port *dst, const struct ofp_action_tp_port *src );
|
|
67
|
-
#define hton_action_tp_port ntoh_action_tp_port
|
|
68
|
-
|
|
69
|
-
void ntoh_action_enqueue( struct ofp_action_enqueue *dst, const struct ofp_action_enqueue *src );
|
|
70
|
-
#define hton_action_enqueue ntoh_action_enqueue
|
|
71
|
-
|
|
72
|
-
void ntoh_action_vendor( struct ofp_action_vendor_header *dst, const struct ofp_action_vendor_header *src );
|
|
73
|
-
void hton_action_vendor( struct ofp_action_vendor_header *dst, const struct ofp_action_vendor_header *src );
|
|
74
|
-
|
|
75
|
-
void ntoh_action( struct ofp_action_header *dst, const struct ofp_action_header *src );
|
|
76
|
-
void hton_action( struct ofp_action_header *dst, const struct ofp_action_header *src );
|
|
77
|
-
|
|
78
|
-
void ntoh_flow_stats( struct ofp_flow_stats *dst, const struct ofp_flow_stats *src );
|
|
79
|
-
void hton_flow_stats( struct ofp_flow_stats *dst, const struct ofp_flow_stats *src );
|
|
80
|
-
|
|
81
|
-
void ntoh_aggregate_stats( struct ofp_aggregate_stats_reply *dst, const struct ofp_aggregate_stats_reply *src );
|
|
82
|
-
#define hton_aggregate_stats ntoh_aggregate_stats
|
|
83
|
-
|
|
84
|
-
void ntoh_table_stats( struct ofp_table_stats *dst, const struct ofp_table_stats *src );
|
|
85
|
-
#define hton_table_stats ntoh_table_stats
|
|
86
|
-
|
|
87
|
-
void ntoh_port_stats( struct ofp_port_stats *dst, const struct ofp_port_stats *src );
|
|
88
|
-
#define hton_port_stats ntoh_port_stats
|
|
89
|
-
|
|
90
|
-
void ntoh_queue_stats( struct ofp_queue_stats *dst, const struct ofp_queue_stats *src );
|
|
91
|
-
#define hton_queue_stats ntoh_queue_stats
|
|
92
|
-
|
|
93
|
-
void ntoh_queue_property( struct ofp_queue_prop_header *dst, const struct ofp_queue_prop_header *src );
|
|
94
|
-
void hton_queue_property( struct ofp_queue_prop_header *dst, const struct ofp_queue_prop_header *src );
|
|
95
|
-
|
|
96
|
-
void ntoh_packet_queue( struct ofp_packet_queue *dst, const struct ofp_packet_queue *src );
|
|
97
|
-
void hton_packet_queue( struct ofp_packet_queue *dst, const struct ofp_packet_queue *src );
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
#endif // BYTEORDER_H
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
/*
|
|
104
|
-
* Local variables:
|
|
105
|
-
* c-basic-offset: 2
|
|
106
|
-
* indent-tabs-mode: nil
|
|
107
|
-
* End:
|
|
108
|
-
*/
|
data/src/lib/checks.h
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2008-2013 NEC Corporation
|
|
3
|
-
*
|
|
4
|
-
* This program is free software; you can redistribute it and/or modify
|
|
5
|
-
* it under the terms of the GNU General Public License, version 2, as
|
|
6
|
-
* published by the Free Software Foundation.
|
|
7
|
-
*
|
|
8
|
-
* This program is distributed in the hope that it will be useful,
|
|
9
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
-
* GNU General Public License for more details.
|
|
12
|
-
*
|
|
13
|
-
* You should have received a copy of the GNU General Public License along
|
|
14
|
-
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
-
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
#ifndef CHECKS_H
|
|
20
|
-
#define CHECKS_H
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
#define DEPRECATED_FUNCTION __attribute__ ( ( deprecated ) )
|
|
24
|
-
#define UNUSED( x ) ( void ) ( x )
|
|
25
|
-
#define UNREACHABLE_CODE() die( "unreachable code" )
|
|
26
|
-
#define die_if_NULL( data ) \
|
|
27
|
-
if ( data == NULL ) { \
|
|
28
|
-
die( "Argument of %s must not be NULL.", __func__ ); \
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
#endif // CHECKS_H
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
/*
|
|
36
|
-
* Local variables:
|
|
37
|
-
* c-basic-offset: 2
|
|
38
|
-
* indent-tabs-mode: nil
|
|
39
|
-
* End:
|
|
40
|
-
*/
|
data/src/lib/chibach.c
DELETED
|
@@ -1,392 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (C) 2008-2013 NEC Corporation
|
|
3
|
-
*
|
|
4
|
-
* This program is free software; you can redistribute it and/or modify
|
|
5
|
-
* it under the terms of the GNU General Public License, version 2, as
|
|
6
|
-
* published by the Free Software Foundation.
|
|
7
|
-
*
|
|
8
|
-
* This program is distributed in the hope that it will be useful,
|
|
9
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
10
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
11
|
-
* GNU General Public License for more details.
|
|
12
|
-
*
|
|
13
|
-
* You should have received a copy of the GNU General Public License along
|
|
14
|
-
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
15
|
-
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
#include <arpa/inet.h>
|
|
20
|
-
#include <assert.h>
|
|
21
|
-
#include <errno.h>
|
|
22
|
-
#include <getopt.h>
|
|
23
|
-
#include <libgen.h>
|
|
24
|
-
#include <limits.h>
|
|
25
|
-
#include <netinet/in.h>
|
|
26
|
-
#include <signal.h>
|
|
27
|
-
#include <stdio.h>
|
|
28
|
-
#include <stdlib.h>
|
|
29
|
-
#include <string.h>
|
|
30
|
-
#include <sys/socket.h>
|
|
31
|
-
#include <sys/stat.h>
|
|
32
|
-
#include <sys/types.h>
|
|
33
|
-
#include <unistd.h>
|
|
34
|
-
#include "chibach.h"
|
|
35
|
-
#include "chibach_private.h"
|
|
36
|
-
#include "external_callback.h"
|
|
37
|
-
#include "daemon.h"
|
|
38
|
-
#include "doubly_linked_list.h"
|
|
39
|
-
#include "log.h"
|
|
40
|
-
#include "messenger.h"
|
|
41
|
-
#include "openflow_switch_interface.h"
|
|
42
|
-
#include "stat.h"
|
|
43
|
-
#include "timer.h"
|
|
44
|
-
#include "utility.h"
|
|
45
|
-
#include "wrapper.h"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
static bool initialized = false;
|
|
49
|
-
static bool chibach_started = false;
|
|
50
|
-
static bool run_as_daemon = false;
|
|
51
|
-
static char *chibach_log = NULL;
|
|
52
|
-
static char *chibach_pid = NULL;
|
|
53
|
-
static char *chibach_name = NULL;
|
|
54
|
-
static uint64_t datapath_id = 0;
|
|
55
|
-
|
|
56
|
-
static struct {
|
|
57
|
-
uint32_t ip;
|
|
58
|
-
uint16_t port;
|
|
59
|
-
} controller;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
static struct option long_options[] = {
|
|
63
|
-
{ "datapath_id", required_argument, NULL, 'i' },
|
|
64
|
-
{ "controller", required_argument, NULL, 'c' },
|
|
65
|
-
{ "port", required_argument, NULL, 'p' },
|
|
66
|
-
{ "daemonize", no_argument, NULL, 'd' },
|
|
67
|
-
{ "logging_level", required_argument, NULL, 'l' },
|
|
68
|
-
{ "help", no_argument, NULL, 'h' },
|
|
69
|
-
{ NULL, 0, NULL, 0 },
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
static char short_options[] = "i:c:p:dl:h";
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
void
|
|
76
|
-
usage() {
|
|
77
|
-
printf(
|
|
78
|
-
"Usage: %s [OPTION]...\n"
|
|
79
|
-
"\n"
|
|
80
|
-
" -i, --datapath_id=DATAPATH_ID set datapath id\n"
|
|
81
|
-
" -c, --controller=IP_ADDR set controller host\n"
|
|
82
|
-
" -p, --port=TCP_PORT set controller TCP port\n"
|
|
83
|
-
" -d, --daemonize run in the background\n"
|
|
84
|
-
" -l, --logging_level=LEVEL set logging level\n"
|
|
85
|
-
" -g, --syslog output log messages to syslog\n"
|
|
86
|
-
" -f, --logging_facility=FACILITY set syslog facility\n"
|
|
87
|
-
" -h, --help display this help and exit\n",
|
|
88
|
-
get_chibach_name()
|
|
89
|
-
);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
static const char *
|
|
94
|
-
get_chibach_log() {
|
|
95
|
-
if ( chibach_log == NULL ) {
|
|
96
|
-
char path[ PATH_MAX ];
|
|
97
|
-
sprintf( path, "%s/log", get_chibach_tmp() );
|
|
98
|
-
chibach_log = xstrdup( path );
|
|
99
|
-
}
|
|
100
|
-
return chibach_log;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
static const char *
|
|
105
|
-
get_chibach_pid() {
|
|
106
|
-
if ( chibach_pid == NULL ) {
|
|
107
|
-
char path[ PATH_MAX ];
|
|
108
|
-
sprintf( path, "%s/pid", get_chibach_tmp() );
|
|
109
|
-
chibach_pid = xstrdup( path );
|
|
110
|
-
}
|
|
111
|
-
return chibach_pid;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const char *
|
|
116
|
-
get_chibach_name() {
|
|
117
|
-
if ( chibach_name == NULL ) {
|
|
118
|
-
return "";
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
return chibach_name;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
static void
|
|
126
|
-
maybe_finalize_openflow_switch_interface() {
|
|
127
|
-
if ( openflow_switch_interface_is_initialized() ) {
|
|
128
|
-
finalize_openflow_switch_interface();
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
static void
|
|
134
|
-
die_unless_initialized() {
|
|
135
|
-
if ( !initialized ) {
|
|
136
|
-
die( "Chibach is not initialized. Call init_chibach() first." );
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
static void
|
|
142
|
-
finalize_chibach() {
|
|
143
|
-
die_unless_initialized();
|
|
144
|
-
|
|
145
|
-
debug( "Terminating chibach..." );
|
|
146
|
-
|
|
147
|
-
maybe_finalize_openflow_switch_interface();
|
|
148
|
-
|
|
149
|
-
finalize_messenger();
|
|
150
|
-
finalize_stat();
|
|
151
|
-
finalize_timer();
|
|
152
|
-
chibach_started = false;
|
|
153
|
-
unlink_pid( get_chibach_pid(), get_chibach_name() );
|
|
154
|
-
|
|
155
|
-
unset_chibach_home();
|
|
156
|
-
unset_chibach_tmp();
|
|
157
|
-
|
|
158
|
-
xfree( chibach_name );
|
|
159
|
-
chibach_name = NULL;
|
|
160
|
-
|
|
161
|
-
xfree( chibach_log );
|
|
162
|
-
chibach_log = NULL;
|
|
163
|
-
|
|
164
|
-
initialized = false;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
static void
|
|
169
|
-
check_chibach_tmp() {
|
|
170
|
-
struct stat st;
|
|
171
|
-
int ret = stat( get_chibach_tmp(), &st );
|
|
172
|
-
if ( ( ret != 0 ) && ( errno == ENOENT ) ) {
|
|
173
|
-
die( "Chibach temporary directory does not exist: %s", get_chibach_tmp() );
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
static void
|
|
179
|
-
reset_getopt() {
|
|
180
|
-
optind = 0;
|
|
181
|
-
opterr = 1;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
static void
|
|
186
|
-
parse_argv( int *argc, char ***argv ) {
|
|
187
|
-
assert( argc != NULL );
|
|
188
|
-
assert( argv != NULL );
|
|
189
|
-
|
|
190
|
-
int argc_tmp = *argc;
|
|
191
|
-
char *new_argv[ *argc ];
|
|
192
|
-
|
|
193
|
-
run_as_daemon = false;
|
|
194
|
-
controller.ip = 0x7f000001;
|
|
195
|
-
controller.port = 6653;
|
|
196
|
-
|
|
197
|
-
for ( int i = 0; i < *argc; ++i ) {
|
|
198
|
-
new_argv[ i ] = ( *argv )[ i ];
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
for ( ;; ) {
|
|
202
|
-
opterr = 0;
|
|
203
|
-
int c = getopt_long( *argc, *argv, short_options, long_options, NULL );
|
|
204
|
-
|
|
205
|
-
if ( c == -1 ) {
|
|
206
|
-
break;
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
switch ( c ) {
|
|
210
|
-
case 'i':
|
|
211
|
-
if ( optarg != NULL ) {
|
|
212
|
-
string_to_datapath_id( optarg, &datapath_id );
|
|
213
|
-
}
|
|
214
|
-
break;
|
|
215
|
-
case 'c':
|
|
216
|
-
if ( optarg != NULL ) {
|
|
217
|
-
struct in_addr addr;
|
|
218
|
-
inet_aton( optarg, &addr );
|
|
219
|
-
controller.ip = ntohl( addr.s_addr );
|
|
220
|
-
}
|
|
221
|
-
break;
|
|
222
|
-
case 'p':
|
|
223
|
-
if ( optarg != NULL && atoi( optarg ) <= UINT16_MAX ) {
|
|
224
|
-
controller.port = ( uint16_t ) atoi( optarg );
|
|
225
|
-
}
|
|
226
|
-
break;
|
|
227
|
-
case 'd':
|
|
228
|
-
run_as_daemon = true;
|
|
229
|
-
break;
|
|
230
|
-
case 'l':
|
|
231
|
-
set_logging_level( optarg );
|
|
232
|
-
break;
|
|
233
|
-
case 'h':
|
|
234
|
-
usage();
|
|
235
|
-
exit( EXIT_SUCCESS );
|
|
236
|
-
break;
|
|
237
|
-
default:
|
|
238
|
-
continue;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
if ( optarg == NULL || strchr( new_argv[ optind - 1 ], '=' ) != NULL ) {
|
|
242
|
-
argc_tmp -= 1;
|
|
243
|
-
new_argv[ optind - 1 ] = NULL;
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
argc_tmp -= 2;
|
|
247
|
-
new_argv[ optind - 1 ] = NULL;
|
|
248
|
-
new_argv[ optind - 2 ] = NULL;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
for ( int i = 0, j = 0; i < *argc; ++i ) {
|
|
253
|
-
if ( new_argv[ i ] != NULL ) {
|
|
254
|
-
( *argv )[ j ] = new_argv[ i ];
|
|
255
|
-
j++;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
if ( argc_tmp < *argc ) {
|
|
259
|
-
( *argv )[ argc_tmp ] = NULL;
|
|
260
|
-
}
|
|
261
|
-
*argc = argc_tmp;
|
|
262
|
-
|
|
263
|
-
reset_getopt();
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
static void
|
|
268
|
-
ignore_sigpipe() {
|
|
269
|
-
struct sigaction sigpipe_ignore;
|
|
270
|
-
|
|
271
|
-
memset( &sigpipe_ignore, 0, sizeof( struct sigaction ) );
|
|
272
|
-
sigpipe_ignore.sa_handler = SIG_IGN;
|
|
273
|
-
sigaction( SIGPIPE, &sigpipe_ignore, NULL );
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
static void
|
|
278
|
-
set_exit_handler() {
|
|
279
|
-
struct sigaction signal_exit;
|
|
280
|
-
|
|
281
|
-
memset( &signal_exit, 0, sizeof( struct sigaction ) );
|
|
282
|
-
signal_exit.sa_handler = ( void * ) stop_chibach;
|
|
283
|
-
sigaction( SIGINT, &signal_exit, NULL );
|
|
284
|
-
sigaction( SIGTERM, &signal_exit, NULL );
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
static void
|
|
289
|
-
set_dump_stats_as_external_callback() {
|
|
290
|
-
push_external_callback( dump_stats );
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
static void
|
|
295
|
-
set_usr1_handler() {
|
|
296
|
-
struct sigaction signal_usr1;
|
|
297
|
-
|
|
298
|
-
memset( &signal_usr1, 0, sizeof( struct sigaction ) );
|
|
299
|
-
signal_usr1.sa_handler = ( void * ) set_dump_stats_as_external_callback;
|
|
300
|
-
sigaction( SIGUSR1, &signal_usr1, NULL );
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
static void
|
|
305
|
-
maybe_daemonize() {
|
|
306
|
-
if ( run_as_daemon ) {
|
|
307
|
-
daemonize( get_chibach_home() );
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
void
|
|
313
|
-
init_chibach( int *argc, char ***argv ) {
|
|
314
|
-
assert( argc != NULL );
|
|
315
|
-
assert( argv != NULL );
|
|
316
|
-
|
|
317
|
-
chibach_log = NULL;
|
|
318
|
-
initialized = false;
|
|
319
|
-
chibach_started = false;
|
|
320
|
-
run_as_daemon = false;
|
|
321
|
-
|
|
322
|
-
chibach_name = xstrdup( basename( *argv[ 0 ] ) );
|
|
323
|
-
|
|
324
|
-
parse_argv( argc, argv );
|
|
325
|
-
set_chibach_home();
|
|
326
|
-
set_chibach_tmp();
|
|
327
|
-
check_chibach_tmp();
|
|
328
|
-
if ( run_as_daemon ) {
|
|
329
|
-
init_log( get_chibach_name(), get_chibach_log(), LOGGING_TYPE_FILE );
|
|
330
|
-
}
|
|
331
|
-
else {
|
|
332
|
-
init_log( get_chibach_name(), get_chibach_log(), LOGGING_TYPE_FILE | LOGGING_TYPE_STDOUT );
|
|
333
|
-
}
|
|
334
|
-
ignore_sigpipe();
|
|
335
|
-
set_exit_handler();
|
|
336
|
-
set_usr1_handler();
|
|
337
|
-
init_stat();
|
|
338
|
-
init_timer();
|
|
339
|
-
init_messenger( get_chibach_tmp() );
|
|
340
|
-
if ( datapath_id != 0 ) {
|
|
341
|
-
init_openflow_switch_interface( datapath_id, controller.ip, controller.port );
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
initialized = true;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
static void
|
|
349
|
-
start_chibach_up() {
|
|
350
|
-
debug( "Starting chibach ... (CHIBACH_HOME = %s)", get_chibach_home() );
|
|
351
|
-
|
|
352
|
-
maybe_daemonize();
|
|
353
|
-
write_pid( get_chibach_pid(), get_chibach_name() );
|
|
354
|
-
chibach_started = true;
|
|
355
|
-
|
|
356
|
-
start_messenger();
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
static void
|
|
361
|
-
start_chibach_down() {
|
|
362
|
-
finalize_chibach();
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
void
|
|
367
|
-
start_chibach() {
|
|
368
|
-
start_chibach_up();
|
|
369
|
-
start_event_handler();
|
|
370
|
-
start_chibach_down();
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
void
|
|
375
|
-
stop_chibach() {
|
|
376
|
-
stop_event_handler();
|
|
377
|
-
stop_messenger();
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
uint64_t
|
|
382
|
-
get_datapath_id() {
|
|
383
|
-
return datapath_id;
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
/*
|
|
388
|
-
* Local variables:
|
|
389
|
-
* c-basic-offset: 2
|
|
390
|
-
* indent-tabs-mode: nil
|
|
391
|
-
* End:
|
|
392
|
-
*/
|