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
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
Feature: Ruby methods for deleting switch event forwarding entry
|
|
2
|
-
|
|
3
|
-
There are three Ruby methods provided for deleting switch event forwarding entries.
|
|
4
|
-
|
|
5
|
-
* delete_forward_entry_from_all_switches
|
|
6
|
-
* delete_forward_entry_from_switch
|
|
7
|
-
* delete_forward_entry_from_switch_manager
|
|
8
|
-
|
|
9
|
-
These methods can be used by including the Trema::SwitchEvent module
|
|
10
|
-
in user controller code.
|
|
11
|
-
|
|
12
|
-
* **delete_forward_entry_from_all_switches event_type, trema_name**
|
|
13
|
-
|
|
14
|
-
This method will delete `trema_name` from all existing switches and switch manager's
|
|
15
|
-
event forwarding entry list of the specified `event_type`.
|
|
16
|
-
|
|
17
|
-
* **delete_forward_entry_from_switch dpid, event_type, trema_name**
|
|
18
|
-
|
|
19
|
-
This method will delete an entry from switch specified by `dpid`.
|
|
20
|
-
It will delete `trema_name` from the switch's
|
|
21
|
-
event forwarding entry list of the specified `event_type`.
|
|
22
|
-
|
|
23
|
-
* **delete_forward_entry_from_switch_manager event_type, trema_name**
|
|
24
|
-
|
|
25
|
-
This method will delete `trema_name` from the switch manager's
|
|
26
|
-
event forwarding entry list of the specified `event_type`.
|
|
27
|
-
|
|
28
|
-
----
|
|
29
|
-
All the above methods take a result handler as Ruby block, but
|
|
30
|
-
they can be omitted if checking is not necessary.
|
|
31
|
-
|
|
32
|
-
@slow_process @ruby
|
|
33
|
-
Scenario Outline: delete_forward_entry_from_all_switches event_type, trema_name
|
|
34
|
-
Given a file named "network.conf" with:
|
|
35
|
-
"""
|
|
36
|
-
vswitch { datapath_id 0x1 }
|
|
37
|
-
"""
|
|
38
|
-
And a file named "DeleteEntryFromAllTest.rb" with:
|
|
39
|
-
"""ruby
|
|
40
|
-
class DeleteEntryFromAllTest < Controller
|
|
41
|
-
include SwitchEvent
|
|
42
|
-
|
|
43
|
-
def start
|
|
44
|
-
@event_type = ARGV[0].delete(":").to_sym
|
|
45
|
-
@event_type_string = ":#{@event_type.to_s}"
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def switch_ready datapath_id
|
|
49
|
-
delete_forward_entry_from_all_switches @event_type, "DeleteEntryFromAllTest" do | success |
|
|
50
|
-
raise "Failed to delete forwarding entry from all switches" if not success
|
|
51
|
-
info "Successfully deleted a forwarding entry of #{@event_type_string}."
|
|
52
|
-
dump_forward_entries_from_switch datapath_id, @event_type do | success, services |
|
|
53
|
-
raise "Failed to dump forwarding entry from a switch" if not success
|
|
54
|
-
info "Dumping switch #{datapath_id.to_hex}'s forwarding entries of <event_type> : #{services.inspect}"
|
|
55
|
-
end
|
|
56
|
-
dump_forward_entries_from_switch_manager @event_type do | success, services |
|
|
57
|
-
raise "Failed to dump forwarding entry from the switch manager" if not success
|
|
58
|
-
info "Dumping switch manager's forwarding entries of #{@event_type_string} : #{services.inspect}"
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
"""
|
|
64
|
-
When I successfully run `trema run "./DeleteEntryFromAllTest.rb <event_type>" -c network.conf -d`
|
|
65
|
-
And wait until "DeleteEntryFromAllTest" is up
|
|
66
|
-
And *** sleep 2 ***
|
|
67
|
-
Then the file "../../tmp/log/DeleteEntryFromAllTest.log" should contain:
|
|
68
|
-
"""
|
|
69
|
-
Successfully deleted a forwarding entry of <event_type>.
|
|
70
|
-
"""
|
|
71
|
-
And the file "../../tmp/log/DeleteEntryFromAllTest.log" should contain:
|
|
72
|
-
"""
|
|
73
|
-
Dumping switch 0x1's forwarding entries of <event_type> : [<switch_event_list>]
|
|
74
|
-
"""
|
|
75
|
-
And the file "../../tmp/log/DeleteEntryFromAllTest.log" should contain:
|
|
76
|
-
"""
|
|
77
|
-
Dumping switch manager's forwarding entries of <event_type> : [<switch_manager_event_list>]
|
|
78
|
-
"""
|
|
79
|
-
|
|
80
|
-
Examples:
|
|
81
|
-
| event_type | switch_manager_event_list | switch_event_list |
|
|
82
|
-
| :vendor | | |
|
|
83
|
-
| :packet_in | | |
|
|
84
|
-
| :port_status | | |
|
|
85
|
-
| :state_notify | | |
|
|
86
|
-
|
|
87
|
-
@slow_process @ruby
|
|
88
|
-
Scenario Outline: delete_forward_entry_from_switch dpid, event_type, trema_name
|
|
89
|
-
Given a file named "network.conf" with:
|
|
90
|
-
"""
|
|
91
|
-
vswitch { datapath_id 0x1 }
|
|
92
|
-
"""
|
|
93
|
-
And a file named "DeleteFromSwitchDaemonTest.rb" with:
|
|
94
|
-
"""ruby
|
|
95
|
-
class DeleteFromSwitchDaemonTest < Controller
|
|
96
|
-
include SwitchEvent
|
|
97
|
-
|
|
98
|
-
def start
|
|
99
|
-
@event_type = ARGV[0].delete(":").to_sym
|
|
100
|
-
@event_type_string = ":#{@event_type.to_s}"
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
def switch_ready datapath_id
|
|
104
|
-
delete_forward_entry_from_switch datapath_id, @event_type, "DeleteFromSwitchDaemonTest" do | success, services |
|
|
105
|
-
raise "Failed to delete forwarding entry from switch" if not success
|
|
106
|
-
info "Successfully deleted a forwarding entry of #{@event_type_string} from switch #{datapath_id.to_hex} : #{services.inspect}"
|
|
107
|
-
end
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
"""
|
|
111
|
-
When I successfully run `trema run "./DeleteFromSwitchDaemonTest.rb <event_type>" -c network.conf -d`
|
|
112
|
-
And wait until "DeleteFromSwitchDaemonTest" is up
|
|
113
|
-
And *** sleep 1 ***
|
|
114
|
-
Then the file "../../tmp/log/DeleteFromSwitchDaemonTest.log" should contain:
|
|
115
|
-
"""
|
|
116
|
-
Successfully deleted a forwarding entry of <event_type> from switch 0x1 : [<switch_event_list>]
|
|
117
|
-
"""
|
|
118
|
-
|
|
119
|
-
Examples:
|
|
120
|
-
| event_type | switch_event_list |
|
|
121
|
-
| :vendor | |
|
|
122
|
-
| :packet_in | |
|
|
123
|
-
| :port_status | |
|
|
124
|
-
| :state_notify | |
|
|
125
|
-
|
|
126
|
-
@slow_process @ruby
|
|
127
|
-
Scenario Outline: delete_forward_entry_from_switch_manager event_type, trema_name
|
|
128
|
-
Given a file named "DeleteFromSwitchManagerTest.rb" with:
|
|
129
|
-
"""ruby
|
|
130
|
-
class DeleteFromSwitchManagerTest < Controller
|
|
131
|
-
include SwitchEvent
|
|
132
|
-
|
|
133
|
-
def start
|
|
134
|
-
@event_type = ARGV[0].delete(":").to_sym
|
|
135
|
-
@event_type_string = ":#{@event_type.to_s}"
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
oneshot_timer_event :test_start, 0
|
|
139
|
-
def test_start
|
|
140
|
-
delete_forward_entry_from_switch_manager @event_type, "DeleteFromSwitchManagerTest" do | success, services |
|
|
141
|
-
raise "Failed to delete forwarding entry from switch manager" if not success
|
|
142
|
-
info "Successfully deleted a forwarding entry of #{@event_type_string} from switch manager : #{services.inspect}"
|
|
143
|
-
end
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
"""
|
|
147
|
-
When I successfully run `trema run "./DeleteFromSwitchManagerTest.rb <event_type>" -d`
|
|
148
|
-
And wait until "DeleteFromSwitchManagerTest" is up
|
|
149
|
-
And *** sleep 1 ***
|
|
150
|
-
Then the file "../../tmp/log/DeleteFromSwitchManagerTest.log" should contain:
|
|
151
|
-
"""
|
|
152
|
-
Successfully deleted a forwarding entry of <event_type> from switch manager : [<switch_manager_event_list>]
|
|
153
|
-
"""
|
|
154
|
-
|
|
155
|
-
Examples:
|
|
156
|
-
| event_type | switch_manager_event_list |
|
|
157
|
-
| :vendor | |
|
|
158
|
-
| :packet_in | |
|
|
159
|
-
| :port_status | |
|
|
160
|
-
| :state_notify | |
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
Feature: Ruby methods for dumping switch event forwarding entry
|
|
2
|
-
|
|
3
|
-
There are two Ruby methods provided for dumping switch event forwarding entry.
|
|
4
|
-
|
|
5
|
-
* dump_forward_entries_from_switch
|
|
6
|
-
* dump_forward_entries_from_switch_manager
|
|
7
|
-
|
|
8
|
-
These methods can be used by including the Trema::SwitchEvent module
|
|
9
|
-
in user controller code.
|
|
10
|
-
|
|
11
|
-
* **dump_forward_entries_from_switch dpid, event_type**
|
|
12
|
-
|
|
13
|
-
This method will dump the forwarding entries of the switch specified by `dpid`.
|
|
14
|
-
It will dump the content of the the switch's
|
|
15
|
-
event forwarding entry list of the specified `event_type`.
|
|
16
|
-
|
|
17
|
-
* **dump_forward_entries_from_switch_manager event_type**
|
|
18
|
-
|
|
19
|
-
This method will dump the content of the the switch manager's
|
|
20
|
-
event forwarding entry list of the specified `event_type`.
|
|
21
|
-
|
|
22
|
-
----
|
|
23
|
-
All the above methods take a result handler as Ruby block.
|
|
24
|
-
|
|
25
|
-
@slow_process @ruby
|
|
26
|
-
Scenario Outline: dump_forward_entries_from_switch dpid, event_type
|
|
27
|
-
Given a file named "network.conf" with:
|
|
28
|
-
"""
|
|
29
|
-
vswitch { datapath_id 0x1 }
|
|
30
|
-
event :vendor => "vendor", :packet_in => "packet_in", :port_status => "port_status"
|
|
31
|
-
"""
|
|
32
|
-
And a file named "DumpSwitchDaemonTest.rb" with:
|
|
33
|
-
"""ruby
|
|
34
|
-
class DumpSwitchDaemonTest < Controller
|
|
35
|
-
include SwitchEvent
|
|
36
|
-
|
|
37
|
-
def start
|
|
38
|
-
@event_type = ARGV[0].delete(":").to_sym
|
|
39
|
-
@event_type_string = ":#{@event_type.to_s}"
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def switch_ready datapath_id
|
|
43
|
-
dump_forward_entries_from_switch datapath_id, @event_type do | success, services |
|
|
44
|
-
raise "Failed to dump forwarding entry from a switch" if not success
|
|
45
|
-
info "Dumping switch #{datapath_id.to_hex}'s forwarding entries of #{@event_type_string} : #{services.inspect}"
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
"""
|
|
50
|
-
When I successfully run `trema run "./DumpSwitchDaemonTest.rb <event_type>" -c network.conf -d`
|
|
51
|
-
And wait until "DumpSwitchDaemonTest" is up
|
|
52
|
-
And *** sleep 1 ***
|
|
53
|
-
Then the file "../../tmp/log/DumpSwitchDaemonTest.log" should contain:
|
|
54
|
-
"""
|
|
55
|
-
Dumping switch 0x1's forwarding entries of <event_type> : [<switch_event_list>]
|
|
56
|
-
"""
|
|
57
|
-
|
|
58
|
-
Examples:
|
|
59
|
-
| event_type | switch_event_list |
|
|
60
|
-
| :vendor | "vendor" |
|
|
61
|
-
| :packet_in | "packet_in" |
|
|
62
|
-
| :port_status | "port_status" |
|
|
63
|
-
| :state_notify | "DumpSwitchDaemonTest" |
|
|
64
|
-
|
|
65
|
-
@slow_process @ruby
|
|
66
|
-
Scenario Outline: dump_forward_entries_from_switch_manager event_type
|
|
67
|
-
Given a file named "network.conf" with:
|
|
68
|
-
"""
|
|
69
|
-
event :vendor => "vendor", :packet_in => "packet_in", :port_status => "port_status", :state_notify => "state_notify"
|
|
70
|
-
"""
|
|
71
|
-
And a file named "DumpSwitchManagerTest.rb" with:
|
|
72
|
-
"""ruby
|
|
73
|
-
class DumpSwitchManagerTest < Controller
|
|
74
|
-
include SwitchEvent
|
|
75
|
-
|
|
76
|
-
def start
|
|
77
|
-
@event_type = ARGV[0].delete(":").to_sym
|
|
78
|
-
@event_type_string = ":#{@event_type.to_s}"
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
oneshot_timer_event :test_start, 0
|
|
82
|
-
def test_start
|
|
83
|
-
dump_forward_entries_from_switch_manager @event_type do | success, services |
|
|
84
|
-
raise "Failed to dump forwarding entry from the switch manager" if not success
|
|
85
|
-
info "Dumping switch manager's forwarding entries of #{@event_type_string} : #{services.inspect}"
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
"""
|
|
90
|
-
When I successfully run `trema run "./DumpSwitchManagerTest.rb <event_type>" -c network.conf -d`
|
|
91
|
-
And wait until "DumpSwitchManagerTest" is up
|
|
92
|
-
And *** sleep 1 ***
|
|
93
|
-
Then the file "../../tmp/log/DumpSwitchManagerTest.log" should contain:
|
|
94
|
-
"""
|
|
95
|
-
Dumping switch manager's forwarding entries of <event_type> : [<switch_manager_event_list>]
|
|
96
|
-
"""
|
|
97
|
-
|
|
98
|
-
Examples:
|
|
99
|
-
| event_type | switch_manager_event_list |
|
|
100
|
-
| :vendor | "vendor" |
|
|
101
|
-
| :packet_in | "packet_in" |
|
|
102
|
-
| :port_status | "port_status" |
|
|
103
|
-
| :state_notify | "state_notify" |
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
Feature: Ruby methods for setting switch event forwarding entry
|
|
2
|
-
|
|
3
|
-
There are two Ruby methods provided for setting switch event forwarding entry.
|
|
4
|
-
|
|
5
|
-
* set_forward_entries_to_switch
|
|
6
|
-
* set_forward_entries_to_switch_manager
|
|
7
|
-
|
|
8
|
-
These methods can be used by including the Trema::SwitchEvent module
|
|
9
|
-
in user controller code.
|
|
10
|
-
|
|
11
|
-
* **set_forward_entries_to_switch dpid, event_type, trema_names**
|
|
12
|
-
|
|
13
|
-
This method will set the forwarding entries of the switch specified by `dpid`.
|
|
14
|
-
It will replace the switch's
|
|
15
|
-
event forwarding entry list of the specified `event_type`
|
|
16
|
-
to Array of trema-names specified by `trema_names`.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* **set_forward_entries_to_switch_manager event_type, trema_names**
|
|
20
|
-
|
|
21
|
-
This method will replace the switch manager's
|
|
22
|
-
event forwarding entry list of the specified `event_type`
|
|
23
|
-
to Array of trema-names specified by `trema_names`.
|
|
24
|
-
|
|
25
|
-
----
|
|
26
|
-
All the above methods take a result handler as Ruby block, but
|
|
27
|
-
they can be omitted if checking is not necessary.
|
|
28
|
-
|
|
29
|
-
@slow_process @ruby
|
|
30
|
-
Scenario Outline: set_forward_entries_to_switch dpid, event_type, trema_names
|
|
31
|
-
Given a file named "network.conf" with:
|
|
32
|
-
"""
|
|
33
|
-
vswitch { datapath_id 0x1 }
|
|
34
|
-
"""
|
|
35
|
-
And a file named "SetEntriesToSwitchDaemonTest.rb" with:
|
|
36
|
-
"""ruby
|
|
37
|
-
class SetEntriesToSwitchDaemonTest < Controller
|
|
38
|
-
include SwitchEvent
|
|
39
|
-
|
|
40
|
-
def start
|
|
41
|
-
@event_type = ARGV[0].delete(":").to_sym
|
|
42
|
-
@event_type_string = ":#{@event_type.to_s}"
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def switch_ready datapath_id
|
|
46
|
-
set_forward_entries_to_switch datapath_id, @event_type, ["SetEntriesToSwitchDaemonTest","Another"] do | success, services |
|
|
47
|
-
raise "Failed to set forwarding entry to switch" if not success
|
|
48
|
-
info "Successfully set a forwarding entries of #{@event_type_string} to switch #{datapath_id.to_hex} : #{services.inspect}"
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
"""
|
|
53
|
-
When I successfully run `trema run "./SetEntriesToSwitchDaemonTest.rb <event_type>" -c network.conf -d`
|
|
54
|
-
And wait until "SetEntriesToSwitchDaemonTest" is up
|
|
55
|
-
And *** sleep 1 ***
|
|
56
|
-
Then the file "../../tmp/log/SetEntriesToSwitchDaemonTest.log" should contain:
|
|
57
|
-
"""
|
|
58
|
-
Successfully set a forwarding entries of <event_type> to switch 0x1 : [<switch_event_list>]
|
|
59
|
-
"""
|
|
60
|
-
|
|
61
|
-
Examples:
|
|
62
|
-
| event_type | switch_event_list |
|
|
63
|
-
| :vendor | "SetEntriesToSwitchDaemonTest", "Another" |
|
|
64
|
-
| :packet_in | "SetEntriesToSwitchDaemonTest", "Another" |
|
|
65
|
-
| :port_status | "SetEntriesToSwitchDaemonTest", "Another" |
|
|
66
|
-
| :state_notify | "SetEntriesToSwitchDaemonTest", "Another" |
|
|
67
|
-
|
|
68
|
-
@slow_process @ruby
|
|
69
|
-
Scenario Outline: set_forward_entries_to_switch_manager event_type, trema_names
|
|
70
|
-
Given a file named "SetEntriesToSwitchManagerTest.rb" with:
|
|
71
|
-
"""ruby
|
|
72
|
-
class SetEntriesToSwitchManagerTest < Controller
|
|
73
|
-
include SwitchEvent
|
|
74
|
-
|
|
75
|
-
def start
|
|
76
|
-
@event_type = ARGV[0].delete(":").to_sym
|
|
77
|
-
@event_type_string = ":#{@event_type.to_s}"
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
oneshot_timer_event :test_start, 0
|
|
81
|
-
def test_start
|
|
82
|
-
set_forward_entries_to_switch_manager @event_type, ["SetEntriesToSwitchManagerTest","Another"] do | success, services |
|
|
83
|
-
raise "Failed to set forwarding entry to switch manager" if not success
|
|
84
|
-
info "Successfully set a forwarding entries of #{@event_type_string} to switch manager : #{services.inspect}"
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
"""
|
|
89
|
-
When I successfully run `trema run "./SetEntriesToSwitchManagerTest.rb <event_type>" -d`
|
|
90
|
-
And wait until "SetEntriesToSwitchManagerTest" is up
|
|
91
|
-
And *** sleep 1 ***
|
|
92
|
-
Then the file "../../tmp/log/SetEntriesToSwitchManagerTest.log" should contain:
|
|
93
|
-
"""
|
|
94
|
-
Successfully set a forwarding entries of <event_type> to switch manager : [<switch_manager_event_list>]
|
|
95
|
-
"""
|
|
96
|
-
|
|
97
|
-
Examples:
|
|
98
|
-
| event_type | switch_manager_event_list |
|
|
99
|
-
| :vendor | "SetEntriesToSwitchManagerTest", "Another" |
|
|
100
|
-
| :packet_in | "SetEntriesToSwitchManagerTest", "Another" |
|
|
101
|
-
| :port_status | "SetEntriesToSwitchManagerTest", "Another" |
|
|
102
|
-
| :state_notify | "SetEntriesToSwitchManagerTest", "Another" |
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
@ruby
|
|
2
|
-
Feature: dump_flows command
|
|
3
|
-
|
|
4
|
-
In order to inspect all flow entries in a Trema virtual switch
|
|
5
|
-
As a developer using Trema
|
|
6
|
-
I want to execute "trema dump_flows" command
|
|
7
|
-
|
|
8
|
-
Background:
|
|
9
|
-
Given a file named "repeater_hub.conf" with:
|
|
10
|
-
"""
|
|
11
|
-
vswitch("repeater_hub") { datapath_id 0xabc }
|
|
12
|
-
|
|
13
|
-
vhost("host1")
|
|
14
|
-
vhost("host2")
|
|
15
|
-
vhost("host3")
|
|
16
|
-
|
|
17
|
-
link "repeater_hub", "host1"
|
|
18
|
-
link "repeater_hub", "host2"
|
|
19
|
-
link "repeater_hub", "host3"
|
|
20
|
-
"""
|
|
21
|
-
And I successfully run `trema run ../../objects/examples/repeater_hub/repeater_hub -c repeater_hub.conf -d`
|
|
22
|
-
|
|
23
|
-
@slow_process
|
|
24
|
-
Scenario: dump a flow entry
|
|
25
|
-
Given I run `trema send_packets --source host1 --dest host2`
|
|
26
|
-
And *** sleep 1 ***
|
|
27
|
-
When I run `trema dump_flows repeater_hub`
|
|
28
|
-
Then the output should contain "actions=FLOOD"
|
|
29
|
-
|
|
30
|
-
@slow_process
|
|
31
|
-
Scenario: no flow entry
|
|
32
|
-
When I run `trema dump_flows repeater_hub`
|
|
33
|
-
Then the output should not contain "actions="
|
|
34
|
-
|
|
35
|
-
Scenario: no argument
|
|
36
|
-
When I run `trema dump_flows`
|
|
37
|
-
Then the output should contain "switches is required"
|
|
38
|
-
|
|
39
|
-
Scenario: wrong switch name
|
|
40
|
-
When I run `trema dump_flows nosuchswitch`
|
|
41
|
-
Then the output should contain "No switch named `nosuchswitch` found!"
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
@ruby
|
|
2
|
-
Feature: help command
|
|
3
|
-
|
|
4
|
-
In order to understand how to use Trema
|
|
5
|
-
As a developer using Trema
|
|
6
|
-
I want to read the help message of trema command
|
|
7
|
-
|
|
8
|
-
Scenario: List sub-commands
|
|
9
|
-
When I run `trema help`
|
|
10
|
-
Then the output should contain "dump_flows"
|
|
11
|
-
And the output should contain "help"
|
|
12
|
-
And the output should contain "kill"
|
|
13
|
-
And the output should contain "killall"
|
|
14
|
-
And the output should contain "netns"
|
|
15
|
-
And the output should contain "reset_stats"
|
|
16
|
-
And the output should contain "ruby"
|
|
17
|
-
And the output should contain "run"
|
|
18
|
-
And the output should contain "send_packets"
|
|
19
|
-
And the output should contain "show_stats"
|
|
20
|
-
And the output should contain "up"
|
|
21
|
-
And the output should contain "version"
|
|
22
|
-
|
|
23
|
-
Scenario: List global options
|
|
24
|
-
When I run `trema help`
|
|
25
|
-
Then the output should contain "--help"
|
|
26
|
-
And the output should contain "-v, --verbose"
|
|
27
|
-
And the output should contain "--version"
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
@ruby
|
|
2
|
-
Feature: --help option
|
|
3
|
-
|
|
4
|
-
Use the --help option or just type trema to display the usage of trema command.
|
|
5
|
-
|
|
6
|
-
Scenario: trema --help
|
|
7
|
-
When I run `trema --help`
|
|
8
|
-
Then the output should match /^NAME/
|
|
9
|
-
And the output should match /^SYNOPSIS/
|
|
10
|
-
And the output should match /^VERSION/
|
|
11
|
-
And the output should match /^GLOBAL OPTIONS/
|
|
12
|
-
And the output should match /^COMMANDS/
|
|
13
|
-
|
|
14
|
-
Scenario: trema
|
|
15
|
-
When I run `trema`
|
|
16
|
-
Then the output should match /^NAME/
|
|
17
|
-
And the output should match /^SYNOPSIS/
|
|
18
|
-
And the output should match /^VERSION/
|
|
19
|
-
And the output should match /^GLOBAL OPTIONS/
|
|
20
|
-
And the output should match /^COMMANDS/
|