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,114 +0,0 @@
|
|
|
1
|
-
Feature: C function example command "add_forward_entry"
|
|
2
|
-
|
|
3
|
-
Switch Event forwarding configuration command (`add_forward_entry`)
|
|
4
|
-
is a command to add an event forwarding entry to
|
|
5
|
-
Switch Manager and Switch Daemons.
|
|
6
|
-
|
|
7
|
-
Following switch event types can be configured by this command:
|
|
8
|
-
|
|
9
|
-
* vendor
|
|
10
|
-
* packet_in
|
|
11
|
-
* port_stat
|
|
12
|
-
* state_notify
|
|
13
|
-
|
|
14
|
-
This command is a simple usage example for C version of switch event forwarding API.
|
|
15
|
-
C version API is defined as a group of functions declared in event_forward_interface.h.
|
|
16
|
-
These functions are used in topology manager to
|
|
17
|
-
add itself to packet_in forwarding entry of all existing switch daemons and
|
|
18
|
-
switch manager to receive LLDP packets.
|
|
19
|
-
By adding and removing entry for 'topology' from some switches, it is possible to make
|
|
20
|
-
topology manager to map only a subset of the switches managed by trema.
|
|
21
|
-
|
|
22
|
-
Please see README.md for general notes on switch event forwarding API.
|
|
23
|
-
|
|
24
|
-
Background:
|
|
25
|
-
Given I cd to "../../src/examples/switch_event_config/"
|
|
26
|
-
And I compile "add_forward_entry.c" into "add_forward_entry"
|
|
27
|
-
And I compile "dump_forward_entries.c" into "dump_forward_entries"
|
|
28
|
-
|
|
29
|
-
Scenario: add_forward_entry Usage
|
|
30
|
-
When I successfully run `trema run './add_forward_entry -h'`
|
|
31
|
-
Then the output should contain:
|
|
32
|
-
"""
|
|
33
|
-
Add OpenFlow Switch Manager/Daemon event forward entry.
|
|
34
|
-
Both Switch Mgr/Daemon: add_forward_entry -t EVENT_TYPE service_name
|
|
35
|
-
Only Switch Manager : add_forward_entry -m -t EVENT_TYPE service_name
|
|
36
|
-
Only Switch Daemon : add_forward_entry -s SWITCH_DPID -t EVENT_TYPE service_name
|
|
37
|
-
|
|
38
|
-
EVENT_TYPE:
|
|
39
|
-
-t, --type={vendor,packet_in,port_status,state_notify} Specify event type.
|
|
40
|
-
"""
|
|
41
|
-
|
|
42
|
-
@slow_process
|
|
43
|
-
Scenario Outline: Add 'mirror' to All Switch Manager/Daemon's event forwarding entries of packet_in
|
|
44
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
45
|
-
And wait until "RepeaterHub" is up
|
|
46
|
-
When I successfully run `trema run './add_forward_entry -t packet_in mirror'`
|
|
47
|
-
Then the output should contain "Operation Succeeded."
|
|
48
|
-
And I successfully run `trema run './dump_forward_entries <option> -t packet_in'`
|
|
49
|
-
And the output should contain "Current service name list:"
|
|
50
|
-
And the output should match /.* RepeaterHub.*/
|
|
51
|
-
And the output should match /.* mirror.*/
|
|
52
|
-
|
|
53
|
-
Examples:
|
|
54
|
-
| target | option |
|
|
55
|
-
| SW MGR | -m |
|
|
56
|
-
| SW 0x1 | -s 0x1 |
|
|
57
|
-
| SW 0x2 | -s 0x2 |
|
|
58
|
-
|
|
59
|
-
@slow_process
|
|
60
|
-
Scenario Outline: Switch added after event forwarding entry manipulation should also reflect new configuration of Switch Manager.
|
|
61
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
62
|
-
And wait until "RepeaterHub" is up
|
|
63
|
-
And I successfully run `trema run './add_forward_entry -t packet_in mirror'`
|
|
64
|
-
And the output should contain "Operation Succeeded."
|
|
65
|
-
And a file named "switch_event_config_add.conf" with:
|
|
66
|
-
"""
|
|
67
|
-
vswitch { datapath_id 0x3 }
|
|
68
|
-
"""
|
|
69
|
-
And I successfully run `trema run -c switch_event_config_add.conf -d`
|
|
70
|
-
When I successfully run `trema run './dump_forward_entries <option> -t packet_in'`
|
|
71
|
-
Then the output should contain "Current service name list:"
|
|
72
|
-
And the output should match /.* RepeaterHub.*/
|
|
73
|
-
And the output should match /.* mirror.*/
|
|
74
|
-
|
|
75
|
-
Examples:
|
|
76
|
-
| target | option |
|
|
77
|
-
| SW 0x3 | -s 0x3 |
|
|
78
|
-
| SW MGR | -m |
|
|
79
|
-
| SW 0x1 | -s 0x1 |
|
|
80
|
-
| SW 0x2 | -s 0x2 |
|
|
81
|
-
|
|
82
|
-
@slow_process
|
|
83
|
-
Scenario Outline: Add 'mirror' only to Switch Manager's event forwarding entry of packet_in
|
|
84
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
85
|
-
And wait until "RepeaterHub" is up
|
|
86
|
-
When I successfully run `trema run './add_forward_entry -m -t packet_in mirror'`
|
|
87
|
-
Then the output should contain "Updated service name list:"
|
|
88
|
-
And the output should contain " RepeaterHub"
|
|
89
|
-
And the output should contain " mirror"
|
|
90
|
-
And I successfully run `trema run './dump_forward_entries -s <switch> -t packet_in'`
|
|
91
|
-
And the output should match /Current service name list:.* RepeaterHub/
|
|
92
|
-
And the output should not match /Current service name list:.* mirror/
|
|
93
|
-
|
|
94
|
-
Examples:
|
|
95
|
-
| switch |
|
|
96
|
-
| 0x1 |
|
|
97
|
-
| 0x2 |
|
|
98
|
-
|
|
99
|
-
@slow_process
|
|
100
|
-
Scenario Outline: Add 'mirror' only to Switch Daemon 0x1's event forwarding entries of packet_in
|
|
101
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
102
|
-
And wait until "RepeaterHub" is up
|
|
103
|
-
When I successfully run `trema run './add_forward_entry -s 0x1 -t packet_in mirror'`
|
|
104
|
-
Then the output should contain "Updated service name list:"
|
|
105
|
-
And the output should contain " RepeaterHub"
|
|
106
|
-
And the output should contain " mirror"
|
|
107
|
-
And I successfully run `trema run './dump_forward_entries <option> -t packet_in'`
|
|
108
|
-
And the output should match /Current service name list:.* RepeaterHub/
|
|
109
|
-
And the output should not match /Current service name list:.* mirror/
|
|
110
|
-
|
|
111
|
-
Examples:
|
|
112
|
-
| target | option |
|
|
113
|
-
| SW MGR | -m |
|
|
114
|
-
| SW 0x2 | -s 0x2 |
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
Feature: C function example command "delete_forward_entry"
|
|
2
|
-
|
|
3
|
-
Switch Event forwarding configuration command (`delete_forward_entry`)
|
|
4
|
-
is a command to delete an event forwarding entry from
|
|
5
|
-
Switch Manager and Switch Daemons.
|
|
6
|
-
|
|
7
|
-
Following switch event types can be configured by this command:
|
|
8
|
-
|
|
9
|
-
* vendor
|
|
10
|
-
* packet_in
|
|
11
|
-
* port_stat
|
|
12
|
-
* state_notify
|
|
13
|
-
|
|
14
|
-
This command is a simple usage example for C version of switch event forwarding API.
|
|
15
|
-
C version API is defined as a group of functions declared in event_forward_interface.h.
|
|
16
|
-
These functions are used in topology manager to
|
|
17
|
-
add itself to packet_in forwarding entry of all existing switch daemons and
|
|
18
|
-
switch manager to receive LLDP packets.
|
|
19
|
-
By adding and removing entry for 'topology' from some switches, it is possible to make
|
|
20
|
-
topology manager to map only a subset of the switches managed by trema.
|
|
21
|
-
|
|
22
|
-
Please see README.md for general notes on switch event forwarding API.
|
|
23
|
-
|
|
24
|
-
Background:
|
|
25
|
-
Given I cd to "../../src/examples/switch_event_config/"
|
|
26
|
-
And I compile "delete_forward_entry.c" into "delete_forward_entry"
|
|
27
|
-
And I compile "dump_forward_entries.c" into "dump_forward_entries"
|
|
28
|
-
|
|
29
|
-
Scenario: delete_forward_entry Usage
|
|
30
|
-
When I successfully run `trema run './delete_forward_entry -h'`
|
|
31
|
-
Then the output should contain:
|
|
32
|
-
"""
|
|
33
|
-
Delete OpenFlow Switch Manager/Daemon event forward entry.
|
|
34
|
-
Both Switch Mgr/Daemon: delete_forward_entry -t EVENT_TYPE service_name
|
|
35
|
-
Only Switch Manager : delete_forward_entry -m -t EVENT_TYPE service_name
|
|
36
|
-
Only Switch Daemon : delete_forward_entry -s SWITCH_DPID -t EVENT_TYPE service_name
|
|
37
|
-
|
|
38
|
-
EVENT_TYPE:
|
|
39
|
-
-t, --type={vendor,packet_in,port_status,state_notify} Specify event type.
|
|
40
|
-
"""
|
|
41
|
-
|
|
42
|
-
@slow_process
|
|
43
|
-
Scenario Outline: Delete 'RepeaterHub' from All Switch Manager/Daemon's event forwarding entries of packet_in
|
|
44
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
45
|
-
And wait until "RepeaterHub" is up
|
|
46
|
-
When I successfully run `trema run './delete_forward_entry -t packet_in RepeaterHub '`
|
|
47
|
-
Then the output should contain "Operation Succeeded."
|
|
48
|
-
And I successfully run `trema run './dump_forward_entries <option> -t packet_in'`
|
|
49
|
-
And the output should not match /Current service name list:.* RepeaterHub/
|
|
50
|
-
|
|
51
|
-
Examples:
|
|
52
|
-
| target | option |
|
|
53
|
-
| SW MGR | -m |
|
|
54
|
-
| SW 0x1 | -s 0x1 |
|
|
55
|
-
| SW 0x2 | -s 0x2 |
|
|
56
|
-
|
|
57
|
-
@slow_process
|
|
58
|
-
Scenario Outline: Delete 'RepeaterHub' only from Switch Manager's event forwarding entries of packet_in
|
|
59
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
60
|
-
And wait until "RepeaterHub" is up
|
|
61
|
-
When I successfully run `trema run './delete_forward_entry -m -t packet_in RepeaterHub'`
|
|
62
|
-
Then the output should contain "Updated service name list is empty."
|
|
63
|
-
And the output should not contain " RepeaterHub"
|
|
64
|
-
And I successfully run `trema run './dump_forward_entries -s <switch> -t packet_in'`
|
|
65
|
-
And the output should match /Current service name list:.* RepeaterHub/
|
|
66
|
-
|
|
67
|
-
Examples:
|
|
68
|
-
| switch |
|
|
69
|
-
| 0x1 |
|
|
70
|
-
| 0x2 |
|
|
71
|
-
|
|
72
|
-
@slow_process
|
|
73
|
-
Scenario Outline: Delete 'RepeaterHub' only from Switch Daemon 0x1's event forwarding entries of packet_in
|
|
74
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
75
|
-
And wait until "RepeaterHub" is up
|
|
76
|
-
When I successfully run `trema run './delete_forward_entry -s 0x1 -t packet_in RepeaterHub'`
|
|
77
|
-
Then the output should contain "Updated service name list is empty."
|
|
78
|
-
And the output should not contain " RepeaterHub"
|
|
79
|
-
And I successfully run `trema run './dump_forward_entries <option> -t packet_in'`
|
|
80
|
-
And the output should match /Current service name list:.* RepeaterHub/
|
|
81
|
-
|
|
82
|
-
Examples:
|
|
83
|
-
| target | option |
|
|
84
|
-
| SW MGR | -m |
|
|
85
|
-
| SW 0x2 | -s 0x2 |
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
Feature: C function example command "dump_forward_entries"
|
|
2
|
-
|
|
3
|
-
Switch Event forwarding configuration command (`dump_forward_entries`)
|
|
4
|
-
is a command to dump event forwarding entries of
|
|
5
|
-
Switch Manager and Switch Daemons.
|
|
6
|
-
|
|
7
|
-
Following switch event types can be configured by this command:
|
|
8
|
-
|
|
9
|
-
* vendor
|
|
10
|
-
* packet_in
|
|
11
|
-
* port_stat
|
|
12
|
-
* state_notify
|
|
13
|
-
|
|
14
|
-
This command is a simple usage example for C version of switch event forwarding API.
|
|
15
|
-
C version API is defined as a group of functions declared in event_forward_interface.h.
|
|
16
|
-
These functions are used in topology manager to
|
|
17
|
-
add itself to packet_in forwarding entry of all existing switch daemons and
|
|
18
|
-
switch manager to receive LLDP packets.
|
|
19
|
-
By adding and removing entry for 'topology' from some switches, it is possible to make
|
|
20
|
-
topology manager to map only a subset of the switches managed by trema.
|
|
21
|
-
|
|
22
|
-
Please see README.md for general notes on switch event forwarding API.
|
|
23
|
-
|
|
24
|
-
Background:
|
|
25
|
-
Given I cd to "../../src/examples/switch_event_config/"
|
|
26
|
-
And I compile "dump_forward_entries.c" into "dump_forward_entries"
|
|
27
|
-
|
|
28
|
-
Scenario: dump_forward_entries Usage
|
|
29
|
-
When I successfully run `trema run './dump_forward_entries -h'`
|
|
30
|
-
Then the output should contain:
|
|
31
|
-
"""
|
|
32
|
-
Dump OpenFlow Switch Manager/Daemon event forward entries.
|
|
33
|
-
Switch Manager: dump_forward_entries -m -t EVENT_TYPE
|
|
34
|
-
Switch Daemon : dump_forward_entries -s SWITCH_DPID -t EVENT_TYPE
|
|
35
|
-
|
|
36
|
-
EVENT_TYPE:
|
|
37
|
-
-t, --type={vendor,packet_in,port_status,state_notify} Specify event type.
|
|
38
|
-
"""
|
|
39
|
-
|
|
40
|
-
@slow_process
|
|
41
|
-
Scenario Outline: Dump Switch Manager's event forwarding entries for each event type
|
|
42
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
43
|
-
And wait until "RepeaterHub" is up
|
|
44
|
-
When I successfully run `trema run './dump_forward_entries -m -t <type>'`
|
|
45
|
-
Then the output should contain "Current service name list:"
|
|
46
|
-
And the output should contain " RepeaterHub"
|
|
47
|
-
|
|
48
|
-
Examples:
|
|
49
|
-
| type |
|
|
50
|
-
| vendor |
|
|
51
|
-
| packet_in |
|
|
52
|
-
| port_status |
|
|
53
|
-
| state_notify |
|
|
54
|
-
|
|
55
|
-
@slow_process
|
|
56
|
-
Scenario Outline: Dump Switch Daemon's event forwarding entries for each event type on each switch
|
|
57
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
58
|
-
And wait until "RepeaterHub" is up
|
|
59
|
-
When I successfully run `trema run './dump_forward_entries -s <switch> -t <type>'`
|
|
60
|
-
Then the output should contain "Current service name list:"
|
|
61
|
-
And the output should contain " RepeaterHub"
|
|
62
|
-
|
|
63
|
-
Examples:
|
|
64
|
-
| switch | type |
|
|
65
|
-
| 0x1 | vendor |
|
|
66
|
-
| 0x1 | packet_in |
|
|
67
|
-
| 0x1 | port_status |
|
|
68
|
-
| 0x1 | state_notify |
|
|
69
|
-
| 0x2 | vendor |
|
|
70
|
-
| 0x2 | packet_in |
|
|
71
|
-
| 0x2 | port_status |
|
|
72
|
-
| 0x2 | state_notify |
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
Feature: C function example command "set_forward_entries"
|
|
2
|
-
|
|
3
|
-
Switch Event forwarding configuration command (`set_forward_entries`)
|
|
4
|
-
is a command to replace event forwarding entries of
|
|
5
|
-
Switch Manager and Switch Daemons.
|
|
6
|
-
|
|
7
|
-
Following switch event types can be configured by this command:
|
|
8
|
-
|
|
9
|
-
* vendor
|
|
10
|
-
* packet_in
|
|
11
|
-
* port_stat
|
|
12
|
-
* state_notify
|
|
13
|
-
|
|
14
|
-
This command is a simple usage example for C version of switch event forwarding API.
|
|
15
|
-
C version API is defined as a group of functions declared in event_forward_interface.h.
|
|
16
|
-
These functions are used in topology manager to
|
|
17
|
-
add itself to packet_in forwarding entry of all existing switch daemons and
|
|
18
|
-
switch manager to receive LLDP packets.
|
|
19
|
-
By adding and removing entry for 'topology' from some switches, it is possible to make
|
|
20
|
-
topology manager to map only a subset of the switches managed by trema.
|
|
21
|
-
|
|
22
|
-
Please see README.md for general notes on switch event forwarding API.
|
|
23
|
-
|
|
24
|
-
Background:
|
|
25
|
-
Given I cd to "../../src/examples/switch_event_config/"
|
|
26
|
-
And I compile "set_forward_entries.c" into "set_forward_entries"
|
|
27
|
-
And I compile "dump_forward_entries.c" into "dump_forward_entries"
|
|
28
|
-
|
|
29
|
-
Scenario: set_forward_entries Usage
|
|
30
|
-
When I successfully run `trema run './set_forward_entries -h'`
|
|
31
|
-
Then the output should contain:
|
|
32
|
-
"""
|
|
33
|
-
Set OpenFlow Switch Manager/Daemon event forward entries.
|
|
34
|
-
Switch Manager: set_forward_entries -m -t EVENT_TYPE service_name1,service_name2,...
|
|
35
|
-
Switch Daemon : set_forward_entries -s SWITCH_DPID -t EVENT_TYPE service_name1,service_name2,...
|
|
36
|
-
|
|
37
|
-
EVENT_TYPE:
|
|
38
|
-
-t, --type={vendor,packet_in,port_status,state_notify} Specify event type.
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
@slow_process
|
|
42
|
-
Scenario Outline: Replace Switch Manager's event forwarding entries of packet_in to 'mirror' and 'filter'
|
|
43
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
44
|
-
And wait until "RepeaterHub" is up
|
|
45
|
-
When I successfully run `trema run './set_forward_entries -m -t packet_in mirror,filter'`
|
|
46
|
-
Then the output should contain "Updated service name list:"
|
|
47
|
-
And the output should contain " mirror"
|
|
48
|
-
And the output should contain " filter"
|
|
49
|
-
And the output should not contain " RepeaterHub"
|
|
50
|
-
And I successfully run `trema run './dump_forward_entries -s <switch> -t packet_in'`
|
|
51
|
-
And the output should match /Current service name list:.* RepeaterHub/
|
|
52
|
-
And the output should not match /Current service name list:.* mirror/
|
|
53
|
-
And the output should not match /Current service name list:.* filter/
|
|
54
|
-
|
|
55
|
-
Examples:
|
|
56
|
-
| switch |
|
|
57
|
-
| 0x1 |
|
|
58
|
-
| 0x2 |
|
|
59
|
-
|
|
60
|
-
@slow_process
|
|
61
|
-
Scenario Outline: Replace Switch Daemon 0x1's event forwarding entries of packet_in to 'mirror' and 'filter'
|
|
62
|
-
Given I successfully run `trema run ../repeater_hub/repeater-hub.rb -c network.conf -d`
|
|
63
|
-
And wait until "RepeaterHub" is up
|
|
64
|
-
When I successfully run `trema run './set_forward_entries -s 0x1 -t packet_in mirror,filter'`
|
|
65
|
-
Then the output should contain "Updated service name list:"
|
|
66
|
-
And the output should contain " mirror"
|
|
67
|
-
And the output should contain " filter"
|
|
68
|
-
And the output should not contain " RepeaterHub"
|
|
69
|
-
And I successfully run `trema run './dump_forward_entries <option> -t packet_in'`
|
|
70
|
-
And the output should match /Current service name list:.* RepeaterHub/
|
|
71
|
-
And the output should not match /Current service name list:.* mirror.*/
|
|
72
|
-
And the output should not match /Current service name list:.* filter.*/
|
|
73
|
-
|
|
74
|
-
Examples:
|
|
75
|
-
| target | option |
|
|
76
|
-
| SW MGR | -m |
|
|
77
|
-
| SW 0x2 | -s 0x2 |
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Switch Event forwarding API
|
|
2
|
-
|
|
3
|
-
This API controls the forwarding of certain type of Openflow messages received from a switch to a specified controller.
|
|
4
|
-
The processes responsible for this are Switch Manager and Switch Daemons.
|
|
5
|
-
|
|
6
|
-
This API can be used for:
|
|
7
|
-
|
|
8
|
-
* Diagnosing a controller environment:
|
|
9
|
-
* Check which controller is handling the messages from a certain switch.
|
|
10
|
-
* Forward a copy of a message to another user-defined controller
|
|
11
|
-
for debug level logging, etc.
|
|
12
|
-
* Dynamically change configuration to:
|
|
13
|
-
* Add/Remove a controller on a running network setup.
|
|
14
|
-
* Replace a running controller with another controller.
|
|
15
|
-
|
|
16
|
-
Switch events, are OpenFlow messages sent from switches on various types of events,
|
|
17
|
-
and forwarded to controllers based on the event forwarding entries of each Switch Daemon.
|
|
18
|
-
Initial forwarding entries of a Switch Daemon derived from the
|
|
19
|
-
forwarding entries of the Switch Manager, when a switch first connects to trema.
|
|
20
|
-
|
|
21
|
-
In other words, configuring a Switch Daemon changes the behavior of
|
|
22
|
-
existing connected switches, and configuring a Switch Manager changes the behavior
|
|
23
|
-
of switches that may connect later on.
|
|
24
|
-
|
|
25
|
-
Following switch event types can be forwarded by this API:
|
|
26
|
-
|
|
27
|
-
* :vendor
|
|
28
|
-
* :packet_in
|
|
29
|
-
* :port_stat
|
|
30
|
-
* :state_notify
|
|
31
|
-
|
|
32
|
-
Note that this API only change where each event is forwarded,
|
|
33
|
-
and it will **not** emulate any switch events, which normally occur when a
|
|
34
|
-
switch is connected to or disconnected from a controller.
|
|
35
|
-
|
|
36
|
-
* switch_ready event will **not** be generated by adding an entry to an existing switch.
|
|
37
|
-
* disconnected event will **not** be generated by removing an entry from an existing switch.
|
|
38
|
-
|
|
39
|
-
Please see the YARD generated document for method details.
|
|
40
|
-
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
Feature: Ruby methods for adding switch event forwarding entry
|
|
2
|
-
|
|
3
|
-
There are three Ruby methods provided for adding switch event forwarding entries:
|
|
4
|
-
|
|
5
|
-
* add_forward_entry_to_all_switches
|
|
6
|
-
* add_forward_entry_to_switch
|
|
7
|
-
* add_forward_entry_to_switch_manager
|
|
8
|
-
|
|
9
|
-
These methods can be used by including the Trema::SwitchEvent module
|
|
10
|
-
in user controller code.
|
|
11
|
-
|
|
12
|
-
* **add_forward_entry_to_all_switches event_type, trema_name**
|
|
13
|
-
|
|
14
|
-
This method will add `trema_name` to all existing switches and switch manager's
|
|
15
|
-
event forwarding entry list of the specified `event_type`.
|
|
16
|
-
|
|
17
|
-
* **add_forward_entry_to_switch dpid, event_type, trema_name**
|
|
18
|
-
|
|
19
|
-
This method will add an entry to a switch specified by `dpid`.
|
|
20
|
-
It will add `trema_name` to the switch's
|
|
21
|
-
event forwarding entry list of the specified `event_type`.
|
|
22
|
-
|
|
23
|
-
* **add_forward_entry_to_switch_manager event_type, trema_name**
|
|
24
|
-
|
|
25
|
-
This method will add `trema_name` to 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
|
-
can be omitted if checking is not necessary.
|
|
31
|
-
|
|
32
|
-
@slow_process @ruby
|
|
33
|
-
Scenario Outline: add_forward_entry_to_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 "AddEntryToAllTest.rb" with:
|
|
39
|
-
"""ruby
|
|
40
|
-
class AddEntryToAllTest < 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
|
-
add_forward_entry_to_all_switches @event_type, "new_controller" do | success |
|
|
50
|
-
raise "Failed to add forwarding entry to all switches" if not success
|
|
51
|
-
info "Successfully added 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_string} : #{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 "./AddEntryToAllTest.rb <event_type>" -c network.conf -d`
|
|
65
|
-
And wait until "AddEntryToAllTest" is up
|
|
66
|
-
And *** sleep 2 ***
|
|
67
|
-
Then the file "../../tmp/log/AddEntryToAllTest.log" should contain:
|
|
68
|
-
"""
|
|
69
|
-
Successfully added a forwarding entry of <event_type>.
|
|
70
|
-
"""
|
|
71
|
-
And the file "../../tmp/log/AddEntryToAllTest.log" should contain:
|
|
72
|
-
"""
|
|
73
|
-
Dumping switch manager's forwarding entries of <event_type> : [<switch_manager_event_list>]
|
|
74
|
-
"""
|
|
75
|
-
And the file "../../tmp/log/AddEntryToAllTest.log" should contain:
|
|
76
|
-
"""
|
|
77
|
-
Dumping switch 0x1's forwarding entries of <event_type> : [<switch_event_list>]
|
|
78
|
-
"""
|
|
79
|
-
|
|
80
|
-
Examples:
|
|
81
|
-
| event_type | switch_manager_event_list | switch_event_list |
|
|
82
|
-
| :vendor | "AddEntryToAllTest", "new_controller" | "AddEntryToAllTest", "new_controller" |
|
|
83
|
-
| :packet_in | "AddEntryToAllTest", "new_controller" | "AddEntryToAllTest", "new_controller" |
|
|
84
|
-
| :port_status | "AddEntryToAllTest", "new_controller" | "AddEntryToAllTest", "new_controller" |
|
|
85
|
-
| :state_notify | "AddEntryToAllTest", "new_controller" | "AddEntryToAllTest", "new_controller" |
|
|
86
|
-
|
|
87
|
-
@slow_process @ruby
|
|
88
|
-
Scenario Outline: add_forward_entry_to_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 "AddEntryToSwitchDaemonTest.rb" with:
|
|
94
|
-
"""ruby
|
|
95
|
-
class AddEntryToSwitchDaemonTest < 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
|
-
add_forward_entry_to_switch datapath_id, @event_type, "new_controller" do | success, services |
|
|
105
|
-
raise "Failed to add forwarding entry to switch" if not success
|
|
106
|
-
info "Successfully added a forwarding entry of #{@event_type_string} to switch #{datapath_id.to_hex} : #{services.inspect}"
|
|
107
|
-
end
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
"""
|
|
111
|
-
When I successfully run `trema run "./AddEntryToSwitchDaemonTest.rb <event_type>" -c network.conf -d`
|
|
112
|
-
And wait until "AddEntryToSwitchDaemonTest" is up
|
|
113
|
-
And *** sleep 1 ***
|
|
114
|
-
Then the file "../../tmp/log/AddEntryToSwitchDaemonTest.log" should contain:
|
|
115
|
-
"""
|
|
116
|
-
Successfully added a forwarding entry of <event_type> to switch 0x1 : [<switch_event_list>]
|
|
117
|
-
"""
|
|
118
|
-
|
|
119
|
-
Examples:
|
|
120
|
-
| event_type | switch_event_list |
|
|
121
|
-
| :vendor | "AddEntryToSwitchDaemonTest", "new_controller" |
|
|
122
|
-
| :packet_in | "AddEntryToSwitchDaemonTest", "new_controller" |
|
|
123
|
-
| :port_status | "AddEntryToSwitchDaemonTest", "new_controller" |
|
|
124
|
-
| :state_notify | "AddEntryToSwitchDaemonTest", "new_controller" |
|
|
125
|
-
|
|
126
|
-
@slow_process @ruby
|
|
127
|
-
Scenario Outline: add_forward_entry_to_switch_manager event_type, trema_name
|
|
128
|
-
Given a file named "AddEntryToSwitchManagerTest.rb" with:
|
|
129
|
-
"""ruby
|
|
130
|
-
class AddEntryToSwitchManagerTest < 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
|
-
add_forward_entry_to_switch_manager @event_type, "new_controller" do | success, services |
|
|
141
|
-
raise "Failed to add forwarding entry to switch manager" if not success
|
|
142
|
-
info "Successfully added a forwarding entry of #{@event_type_string} to switch manager : #{services.inspect}"
|
|
143
|
-
end
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
"""
|
|
147
|
-
When I successfully run `trema run "./AddEntryToSwitchManagerTest.rb <event_type>" -d`
|
|
148
|
-
And wait until "AddEntryToSwitchManagerTest" is up
|
|
149
|
-
And *** sleep 1 ***
|
|
150
|
-
Then the file "../../tmp/log/AddEntryToSwitchManagerTest.log" should contain:
|
|
151
|
-
"""
|
|
152
|
-
Successfully added a forwarding entry of <event_type> to switch manager : [<switch_manager_event_list>]
|
|
153
|
-
"""
|
|
154
|
-
|
|
155
|
-
Examples:
|
|
156
|
-
| event_type | switch_manager_event_list |
|
|
157
|
-
| :vendor | "AddEntryToSwitchManagerTest", "new_controller" |
|
|
158
|
-
| :packet_in | "AddEntryToSwitchManagerTest", "new_controller" |
|
|
159
|
-
| :port_status | "AddEntryToSwitchManagerTest", "new_controller" |
|
|
160
|
-
| :state_notify | "AddEntryToSwitchManagerTest", "new_controller" |
|