Example #1
0
  def basic_test(self):
    simulation = None
    try:
      start_cmd = ('''./pox.py --verbose '''
                   '''openflow.discovery forwarding.l2_multi '''
                   '''sts.util.socket_mux.pox_monkeypatcher --snapshot_address=../snapshot_socket '''
                   '''openflow.of_01 --address=__address__ --port=__port__''')

      IPAddressSpace._claimed_addresses.clear()
      ControllerConfig._controller_labels.clear()
      controllers = [ControllerConfig(start_cmd, cwd="pox", snapshot_address="./snapshot_socket")]
      topology_class = MeshTopology
      topology_params = "num_switches=2"

      simulation_config = SimulationConfig(controller_configs=controllers,
                                           topology_class=topology_class,
                                           topology_params=topology_params,
                                           multiplex_sockets=True)
      simulation = simulation_config.bootstrap(RecordingSyncCallback(None))
      simulation.connect_to_controllers()

      c1 = simulation.controller_manager.controllers[0]
      c1_pid = c1.pid

      snapshotter = Snapshotter(simulation, c1)
      snapshotter.snapshot_controller()
      # TODO(cs): time.sleep() is a broken way to synchronize
      time.sleep(1)
      kill_procs([c1.process])
      snapshotter.snapshot_proceed()

      self.assertEqual(1, len(simulation.controller_manager.controllers))
      c2 = simulation.controller_manager.controllers[0]
      c2_pid = c2.pid
      self.assertTrue(c1_pid != c2_pid)
      # Controller object itself should not have changed
      self.assertTrue(c1 == c2)

      # snapshotting should work multiple times
      snapshotter = Snapshotter(simulation, c2)
      snapshotter.snapshot_controller()
      # TODO(cs): time.sleep() is a broken way to synchronize
      time.sleep(1)
      kill_procs([c2.process])
      snapshotter.snapshot_proceed()

      self.assertEqual(1, len(simulation.controller_manager.controllers))
      c3 = simulation.controller_manager.controllers[0]
      self.assertTrue(c2_pid != c3.pid)
    finally:
      try:
        if simulation is not None:
          simulation.clean_up()
      except Exception as e:
        print "SnapshotTest.test_basic: exception encountered in finally clause: %s" % e
  def basic_test(self):
    start_cmd = ('''./pox.py --verbose '''
                 '''openflow.discovery forwarding.l2_multi '''
                 '''sts.util.socket_mux.pox_monkeypatcher '''
                 '''openflow.of_01 --address=__address__ --port=__port__''')

    IPAddressSpace._claimed_addresses.clear()
    ControllerConfig._controller_labels.clear()
    controllers = [ControllerConfig(start_cmd, cwd="pox")]
    topology_class = MeshTopology
    topology_params = "num_switches=2"

    simulation_config = SimulationConfig(controller_configs=controllers,
                                         topology_class=topology_class,
                                         topology_params=topology_params,
                                         multiplex_sockets=True)
    simulation = simulation_config.bootstrap(RecordingSyncCallback(None))
    simulation.set_pass_through()
    simulation.connect_to_controllers()
    time.sleep(1)
    observed_events = simulation.unset_pass_through()
    print "Observed events: %s" % str(observed_events)
    self.assertTrue(observed_events != [])
Example #3
0
# Where should the output files be written to
results_dir = "traces/trace_pox_l2_multi-%s%d-steps%s" % (
    topology_class.__name__, num, steps)
#results_dir = "traces/long_angler"

apps = None

# include all defaults
simulation_config = SimulationConfig(
    controller_configs=controllers,
    topology_class=topology_class,
    topology_params=topology_params,
    patch_panel_class=BufferedPatchPanel,
    controller_patch_panel_class=UserSpaceControllerPatchPanel,
    dataplane_trace=None,
    snapshot_service=None,
    multiplex_sockets=False,
    violation_persistence_threshold=None,
    kill_controllers_on_exit=True,
    interpose_on_controllers=False,
    ignore_interposition=False,
    hb_logger_class=HappensBeforeLogger,
    hb_logger_params=results_dir,
    apps=apps)

# Manual, interactive mode
# control_flow = Interactive(simulation_config, input_logger=InputLogger())

control_flow = Fuzzer(
    simulation_config,
    input_logger=InputLogger(),
    initialization_rounds=100,
Example #4
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import InteractiveReplayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pox.py --verbose openflow.discovery forwarding.l2_multi forwarding.capabilities_manager sts.util.socket_mux.pox_monkeypatcher openflow.of_01 --address=__address__ --port=__port__',
        label='c1',
        address='127.0.0.1',
        cwd='pox')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=2",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True,
                                     kill_controllers_on_exit=True)

control_flow = InteractiveReplayer(
    simulation_config,
    "experiments/trigger_priority_mismatch_small_mcs/interreplay_5_l_3/events.trace"
)
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'check_for_flow_entry'
# Bug signature: "123Found"
Example #5
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import Replayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pox.py --verbose --unthreaded-sh misc.ip_loadbalancer --ip=123.123.1.3 --servers=123.123.2.3,123.123.1.3 sts.util.socket_mux.pox_monkeypatcher   openflow.discovery openflow.of_01 --address=__address__ --port=__port__',
        label='c1',
        address='127.0.0.1',
        cwd='dart_pox')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=3",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(
    simulation_config,
    "experiments/load_balancer_fuzzer_mcs/intermcs_27_/mcs.trace.notimeouts",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=False,
    delay_flow_mods=False,
    default_dp_permit=False,
    pass_through_whitelisted_messages=False,
    invariant_check_name='check_for_ofp_error',
    bug_signature="ERROR_SENT")
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow.openflow_replayer import OpenFlowReplayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pox.py --verbose openflow.discovery forwarding.l2_multi openflow.of_01 --address=__address__ --port=__port__ ',
        label='c1',
        address='127.0.0.1',
        cwd='pox/')
],
                                     topology_class=BinaryLeafTreeTopology,
                                     topology_params="num_levels=1",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=True)

control_flow = OpenFlowReplayer(
    simulation_config,
    "traces/trace_pox_l2_multi-BinaryLeafTreeTopology1-steps200/events.trace")
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.check_liveness'
# Bug signature: ""
Example #7
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow.mcs_finder import EfficientMCSFinder
from sts.invariant_checker import InvariantChecker
from sts.simulation_state import SimulationConfig

simulation_config = SimulationConfig(controller_configs=[ControllerConfig(start_cmd=' ./pox.py --verbose openflow.of_01 --address=__address__ --port=__port__  openflow.discovery forwarding.l2_multi_orig', label='c1', address='127.0.0.1', cwd='/home/ahassany/repos/pox/')],
                 topology_class=StarTopology,
                 topology_params="num_hosts=2",
                 patch_panel_class=BufferedPatchPanel,
                 multiplex_sockets=False,
                 ignore_interposition=False,
                 kill_controllers_on_exit=True)

control_flow = EfficientMCSFinder(simulation_config, "traces/trace_pox_eel_l2_multi-StarTopology2-steps200/events.trace",
                                  wait_on_deterministic_values=False,
                                  default_dp_permit=False,
                                  pass_through_whitelisted_messages=False,
                                  delay_flow_mods=False,
                                  invariant_check_name='InvariantChecker.check_liveness',
                                  bug_signature="")
from sts.topology import *
from sts.control_flow.interactive_replayer import InteractiveReplayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(start_cmd='./start-onos.sh start',
                     label='c1',
                     address='192.168.56.11',
                     cwd='/home/mininet/ONOS',
                     controller_type='onos',
                     kill_cmd='./start-onos.sh stop',
                     restart_cmd='./start-onos.sh stop'),
    ControllerConfig(start_cmd='./start-onos.sh start',
                     label='c2',
                     address='192.168.56.12',
                     cwd='/home/mininet/ONOS',
                     controller_type='onos',
                     kill_cmd='./start-onos.sh stop',
                     restart_cmd='./start-onos.sh stop')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=2",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=False)

control_flow = InteractiveReplayer(
    simulation_config,
    "experiments/onos_controller_id_replay_2014_05_30_10_46_45/events.trace")
# wait_on_deterministic_values=False
Example #9
0
from config.experiment_config_lib import ControllerConfig
from sts.control_flow.fuzzer import Fuzzer
from sts.input_traces.input_logger import InputLogger
from sts.simulation_state import SimulationConfig
from sts.invariant_checker import InvariantChecker

# Use POX as our controller
start_cmd = (
    '''./pox.py --verbose '''  # --no-cli sts.syncproto.pox_syncer --blocking=False '''
    '''openflow.discovery forwarding.l2_multi_null_pointer '''
    '''sts.util.socket_mux.pox_monkeypatcher '''
    '''openflow.of_01 --address=../sts_socket_pipe''')
controllers = [
    ControllerConfig(start_cmd, address="sts_socket_pipe", cwd="pox")
]

simulation_config = SimulationConfig(controller_configs=controllers,
                                     multiplex_sockets=True)

# Use a Fuzzer (already the default)
control_flow = Fuzzer(simulation_config,
                      check_interval=1,
                      halt_on_violation=True,
                      input_logger=InputLogger(),
                      invariant_check_name="InvariantChecker.check_liveness")

raise RuntimeError(
    "Please add this parameter to Fuzzer: fuzzer_params='experiments/pox_null_pointer/fuzzer_params.py'"
)
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow.openflow_replayer import OpenFlowReplayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[ControllerConfig(start_cmd='./pox.py --verbose  forwarding.consistency --consistent=True --deny=False  --update_wait=10 --update_once=True --consistent_sleep=5  openflow.of_01 --address=__address__ --port=__port__ ', label='c1', address='127.0.0.1', cwd='pox/')],
                 topology_class=ConsistencyTopology,
                 topology_params="",
                 patch_panel_class=BufferedPatchPanel,
                 multiplex_sockets=False,
                 ignore_interposition=False,
                 kill_controllers_on_exit=True)

control_flow = OpenFlowReplayer(simulation_config, "traces/trace_pox_hb_ConsistencyTopology-True-steps200/events.trace")
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.check_liveness'
# Bug signature: ""
Example #11
0
from experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import MCSFinder
from sts.invariant_checker import InvariantChecker
from sts.simulation_state import SimulationConfig

simulation_config = SimulationConfig(
    controller_configs=[
        ControllerConfig(
            cmdline=
            './pox.py --verbose --no-cli openflow.of_01 --address=__address__ --port=__port__ sts.syncproto.pox_syncer samples.topo forwarding.l2_multi messenger.messenger samples.nommessenger',
            address='127.0.0.1',
            port=8888,
            cwd='pox',
            sync='tcp:localhost:18899')
    ],
    topology_class=MeshTopology,
    topology_params="num_switches=2",
    patch_panel_class=BufferedPatchPanel,
    dataplane_trace="dataplane_traces/ping_pong_same_subnet.trace",
    switch_init_sleep_seconds=2.0)

control_flow = MCSFinder(simulation_config,
                         "input_traces/pox_attr_error.trace",
                         invariant_check=InvariantChecker.check_liveness,
                         mcs_trace_path="input_traces/pox_attr_error.trace")
Example #12
0
  cmd_exec.execute_command("cassandra cleandb;")
  cmd_exec.execute_command("echo 'sleeping for 10sec'; sleep 10")
  #cmd_exec.execute_command("onos start")
  #cmd_exec.execute_command("echo 'sleeping for 40sec'; sleep 40")


controllers = [get_config("192.168.56.11"), get_config("192.168.56.12")]
topology_class = MeshTopology
topology_params = "num_switches=2"


setup()

simulation_config = SimulationConfig(controller_configs=controllers,
                                     topology_class=topology_class,
                                     topology_params=topology_params,
                                     #violation_persistence_threshold=1,
                                     kill_controllers_on_exit=False)

control_flow = Fuzzer(simulation_config, check_interval=50,
                      halt_on_violation=True,
                      input_logger=InputLogger(),
                      #steps=100,
                      delay=3.0,
                      invariant_check_name="InvariantChecker.check_liveness")
                      #invariant_check_name="check_for_flow_entry")
                      #invariant_check_name="InvariantChecker.check_connectivity")
                      #invariant_check_name="check_everything")

raise RuntimeError("Please add this parameter to Fuzzer: fuzzer_params='experiments/remote_onos/fuzzer_params.py'")
Example #13
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import Replayer
from sts.simulation_state import SimulationConfig

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pox.py --verbose sts.syncproto.pox_syncer --blocking=False openflow.discovery forwarding.l2_multi sts.util.socket_mux.pox_monkeypatcher openflow.of_01 --address=__address__ --port=__port__',
        address='127.0.0.1',
        port=6633,
        cwd='pox',
        sync='tcp:localhost:18899')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=2",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True)

control_flow = Replayer(
    simulation_config,
    "experiments/updated_debug_branch_loop_v3_mcs/interreplay_17_r.2/events.trace",
    wait_on_deterministic_values=False)
# Invariant check: 'None'
Example #14
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import Replayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pox.py --verbose sts.syncproto.pox_syncer --interpose_on_logging=False --blocking=False openflow.discovery forwarding.l2_multi_synthetic_link_failure_crash sts.util.socket_mux.pox_monkeypatcher openflow.of_01 --address=__address__ --port=__port__',
        label='c1',
        address='127.0.0.1',
        cwd='pox',
        sync='tcp:localhost:18899')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=3",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(
    simulation_config,
    "experiments/snapshot_demo_light_failures/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=False,
    delay_flow_mods=False,
    pass_through_whitelisted_messages=True,
    default_dp_permit=True,
    pass_through_sends=True,
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow.interactive_replayer import InteractiveReplayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        'tail -f "/home/jeremie/Applications/apache-karaf-3.0.3/data/log/karaf.log"',
        label='c1',
        address='127.0.0.1',
        cwd='./',
        controller_type='logfile')
],
                                     topology_class=BinaryLeafTreeTopology,
                                     topology_params="num_levels=2",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=True)

control_flow = InteractiveReplayer(
    simulation_config,
    "traces/trace_onos-ifwd-BinaryLeafTreeTopology2-steps200/events.trace")
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.check_liveness'
# Bug signature: ""
Example #16
0
    return {
        'commit': backtick("git rev-parse HEAD", cwd=path),
        'branch': backtick("git rev-parse --abbrev-ref HEAD", cwd=path),
        'remote': backtick("git remote show origin", cwd=path),
    }


# Use POX as our controller
start_cmd = (
    '''./pox.py --verbose --unthreaded-sh '''
    '''sts.util.socket_mux.pox_monkeypatcher  '''
    # --snapshot_address=/Users/cs/Research/UCB/code/sts/snapshot_socket'''
    #'''sts.syncproto.pox_syncer --blocking=False '''
    '''openflow.discovery forwarding.topo_proactive '''
    '''openflow.of_01 --address=__address__ --port=__port__''')

controllers = [ControllerConfig(start_cmd, cwd="dart_pox")]
topology_class = FatTree
topology_params = "num_pods=3,use_portland_addressing=False"

simulation_config = SimulationConfig(controller_configs=controllers,
                                     topology_class=topology_class,
                                     multiplex_sockets=True,
                                     topology_params=topology_params)

control_flow = Fuzzer(simulation_config,
                      check_interval=1,
                      halt_on_violation=True,
                      input_logger=InputLogger(),
                      invariant_check_name="check_everything")
Example #17
0
from sts.topology import *
from sts.control_flow import *
from sts.invariant_checker import InvariantChecker
from sts.simulation_state import SimulationConfig

from config.fuzz_pox_mesh import my_funky_invariant_check

timestamp_results = True

simulation_config = SimulationConfig(
    controller_configs=[
        ControllerConfig(
            cmdline=
            './pox.py --verbose --random-seed=1 openflow.discovery forwarding.l2_multi openflow.of_01 --address=__address__ --port=__port__',
            address='127.0.0.1',
            port=6633,
            cwd='betta')
    ],
    topology_class=MeshTopology,
    topology_params="num_switches=2",
    patch_panel_class=BufferedPatchPanel,
    dataplane_trace="dataplane_traces/ping_pong_same_subnet.trace",
    multiplex_sockets=False)

control_flow = EfficientMCSFinder(simulation_config,
                                  "input_traces/2013_01_21_17_41_55.trace",
                                  invariant_check=my_funky_invariant_check,
                                  wait_on_deterministic_values=False,
                                  no_violation_verification_runs=1,
                                  ignore_powersets=False)
Example #18
0
from experiment_config_lib import ControllerConfig
from sts.control_flow import Fuzzer
from sts.simulation_state import SimulationConfig

# Use POX as our controller
#command_line = "./pox.py --verbose --no-cli openflow.of_01 --address=__address__ --port=__port__ sts.syncproto.pox_syncer samples.topo forwarding.l2_learning messenger.messenger samples.nommessenger"
command_line = "./pox.py --verbose --no-cli openflow.of_01 --address=__address__ --port=__port__ sts.syncproto.pox_syncer samples.topo forwarding.l2_multi messenger.messenger samples.nommessenger"
controllers = [
    ControllerConfig(command_line, cwd="pox", sync="tcp:localhost:18899")
]

dataplane_trace = "dataplane_traces/ping_pong_fat_tree.trace"

simulation_config = SimulationConfig(controller_configs=controllers,
                                     dataplane_trace=dataplane_trace)

control_flow = Fuzzer(simulation_config, check_interval=1)
Example #19
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import Replayer
from sts.simulation_state import SimulationConfig

simulation_config = SimulationConfig(controller_configs=[ControllerConfig(cmdline='./nox_core -v -i ptcp:6635 routing', address='127.0.0.1', port=6635, cwd='nox_classic/build/src')],
                 topology_class=MeshTopology,
                 topology_params="num_switches=4",
                 patch_panel_class=BufferedPatchPanel,
                 dataplane_trace="experiments/nox_mesh_4_loop/dataplane.trace",
                 multiplex_sockets=False)

control_flow = Replayer(simulation_config, "experiments/nox_mesh_4_loop_mcs/intermcs_2_/events.trace",
                        wait_on_deterministic_values=False)
# Invariant check: 'None'
Example #20
0
# Use NOX as our controller
command_line = "./nox_core -v -i ptcp:6635 routing"
controllers = [
    ControllerConfig(command_line,
                     cwd="nox_classic/build/src",
                     address="127.0.0.1",
                     port=6635)
]

topology_class = MeshTopology
topology_params = "num_switches=4"
# dataplane_trace = "dataplane_traces/ping_pong_same_subnet_4_switches.trace"
# dataplane_trace = "dataplane_traces/ping_pong_fat_tree.trace"

simulation_config = SimulationConfig(controller_configs=controllers,
                                     topology_class=topology_class,
                                     topology_params=topology_params)
#                          dataplane_trace=dataplane_trace)

#simulation_config = SimulationConfig(controller_configs=controllers,
#                                     dataplane_trace=dataplane_trace)


def fast_die_invariant_check(simulation):
    from sts.invariant_checker import InvariantChecker
    result = InvariantChecker.check_loops(simulation)
    if result:
        return result
    result = InvariantChecker.python_check_connectivity(simulation)
    if not result:
        print "Connectivity established - bailing out"
Example #21
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow.replayer import Replayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        'java -ea -Dlogback.configurationFile=./src/main/resources/logback-trace.xml -jar ./target/floodlight.jar -cf ./src/main/resources/trace_circuitpusher.properties',
        label='c1',
        address='127.0.0.1',
        cwd='../floodlight')
],
                                     topology_class=BinaryLeafTreeTopology,
                                     topology_params="num_levels=2",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(
    simulation_config,
    "paper/trace_floodlight_circuitpusher-BinaryLeafTreeTopology2-steps200/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=False,
    delay_flow_mods=False,
    default_dp_permit=False,
    pass_through_whitelisted_messages=False,
    invariant_check_name='InvariantChecker.check_liveness',
Example #22
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import Replayer
from sts.simulation_state import SimulationConfig

simulation_config = SimulationConfig(controller_configs=[ControllerConfig(cmdline='./pox.py --verbose --no-cli sts.syncproto.pox_syncer openflow.discovery openflow.spanning_tree forwarding.l2_multi sts.util.socket_mux.pox_monkeypatcher openflow.of_01 --address=__address__ --port=__port__', address='127.0.0.1', port=6632, cwd='pox', sync='tcp:localhost:18901')],
                 topology_class=FatTree,
                 topology_params="",
                 patch_panel_class=BufferedPatchPanel,
                 dataplane_trace="experiments/pox_fattree_migration_2013_03_14_21_09_03/dataplane.trace",
                 multiplex_sockets=True)

control_flow = Replayer(simulation_config, "experiments/pox_fattree_migration_2013_03_14_21_09_03/events.trace",
                        wait_on_deterministic_values=False)
# Invariant check: 'check_stale_entries'
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import OpenFlowReplayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pox.py --verbose --unthreaded-sh sts.util.socket_mux.pox_monkeypatcher openflow.discovery forwarding.topo_proactive openflow.of_01 --address=__address__ --port=__port__',
        label='c1',
        address='127.0.0.1',
        cwd='dart_pox')
],
                                     topology_class=FatTree,
                                     topology_params="num_pods=3",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True,
                                     kill_controllers_on_exit=True)

control_flow = OpenFlowReplayer(
    simulation_config,
    "experiments/snapshot_proactive_pox_mcs/intermcs_1_/mcs.trace.notimeouts")
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'check_for_invalid_ports'
# Bug signature: "(1, 0)"
Example #24
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow.replayer import Replayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pox.py --verbose openflow.discovery forwarding.l2_multi_broken_floyd sts.util.socket_mux.pox_monkeypatcher openflow.of_01 --address=__address__ --port=7777',
        label='c1',
        address='127.0.0.1',
        cwd='pox')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=3",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(
    simulation_config,
    "experiments/pox_broken_floyd_updated/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=False,
    delay_flow_mods=False,
    default_dp_permit=False,
    pass_through_whitelisted_messages=False,
    invariant_check_name='InvariantChecker.python_check_loops',
Example #25
0
simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        ' onos stop; zk stop ; cassandra stop; echo "sleeping for 5sec"; sleep 5; /mnt/ahassany/vagrant_onosdev/scripts/conf_setup.sh 2 ; zk start ; cassandra start; echo "sleeping for 10sec"; sleep 10 ; onos start ; echo "sleeping for 40 secs"; sleep 40 ; onos stop; sleep 10; cassandra cleandb; onos start; sleep 40',
        label='c1',
        address='192.168.56.11',
        cwd='/mnt/ahassany/vagrant_onosdev',
        controller_type='onos',
        kill_cmd=
        ' ssh onosdev1 "cd ONOS; ./start-onos.sh stop"; echo "killed"; sleep 5',
        restart_cmd=
        'ssh onosdev1 "cd ONOS; ./start-onos.sh start"; echo "restarted"; sleep 20'
    ),
    ControllerConfig(
        start_cmd='echo "DUMMY COMMAND"; sleep 1',
        label='c2',
        address='192.168.56.12',
        cwd='/mnt/ahassany/vagrant_onosdev',
        controller_type='onos',
        kill_cmd=
        ' ssh onosdev2 "cd ONOS; ./start-onos.sh stop"; echo "killed"; sleep 5',
        restart_cmd=
        'ssh onosdev2 "cd ONOS; ./start-onos.sh start"; echo "restarted"; sleep 20'
    )
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=2",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     kill_controllers_on_exit=False)
Example #26
0
# Use POX as our controller
start_cmd = (
    '''./pox.py --verbose '''
    #'''sts.syncproto.pox_syncer --blocking=False '''
    '''openflow.discovery forwarding.l2_multi_broken_floyd '''
    '''sts.util.socket_mux.pox_monkeypatcher '''
    '''openflow.of_01 --address=__address__ --port=7777''')

controllers = [ControllerConfig(start_cmd, cwd="pox", port=7777)]
topology_class = MeshTopology
topology_params = "num_switches=3"

simulation_config = SimulationConfig(controller_configs=controllers,
                                     topology_class=topology_class,
                                     topology_params=topology_params,
                                     multiplex_sockets=True,
                                     ignore_interposition=True)

control_flow = Fuzzer(
    simulation_config,
    check_interval=1,
    halt_on_violation=True,
    input_logger=InputLogger(),
    initialization_rounds=70,
    fuzzer_params='experiments/pox_broken_floyd/fuzzer_params.py',
    invariant_check_name="InvariantChecker.python_check_loops")

raise RuntimeError(
    "Please add this parameter to Fuzzer: fuzzer_params='experiments/pox_broken_floyd_updated/fuzzer_params.py'"
)
Example #27
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import OpenFlowReplayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pyretic.py -m p0 pyretic.examples.firewall_for_sts_no_close',
        label='c1',
        address='127.0.0.1',
        cwd='../pyretic',
        kill_cmd=
        'ps aux | grep -e pox -e pyretic | grep -v simulator | cut -c 9-15 | xargs kill -9'
    )
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=3",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     kill_controllers_on_exit=True)

control_flow = OpenFlowReplayer(
    simulation_config,
    "experiments/fuzz_pyretic_mesh_proactive_firewall_no_close_check_loop_mcs/interreplay_159_l_6/events.trace"
)
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'None'
Example #28
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow.replayer import Replayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pox.py --verbose openflow.discovery forwarding.l2_multi_null_pointer sts.util.socket_mux.pox_monkeypatcher openflow.of_01 --address=../sts_socket_pipe',
        label='c1',
        address='sts_socket_pipe',
        cwd='pox')
],
                                     topology_class=FatTree,
                                     topology_params="",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(
    simulation_config,
    "experiments/pox_null_pointer_mcs/interreplay_6_l_5/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=False,
    delay_flow_mods=False,
    default_dp_permit=False,
    pass_through_whitelisted_messages=False,
    invariant_check_name='InvariantChecker.check_liveness',
    bug_signature="c1")
Example #29
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import Replayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd=
        './pox.py --verbose openflow.of_01 --address=__address__ --port=__port__ openflow.discovery forwarding.l2_multi_syn_mem_corruption',
        label='c1',
        address='127.0.0.1',
        cwd='pox')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=4",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(
    simulation_config,
    "experiments/syn_mem_corruption_3switch_fuzzer_mcs/interreplay_0_reproducibility/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=False,
    delay_flow_mods=False,
    default_dp_permit=False,
    pass_through_whitelisted_messages=False,
    invariant_check_name='InvariantChecker.check_liveness',
    bug_signature="c1")
Example #30
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import InteractiveReplayer
from sts.simulation_state import SimulationConfig
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(
        start_cmd='./pyretic.py -m p0 -v high pyretic.modules.hub',
        label='c1',
        address='127.0.0.1',
        cwd='../pyretic',
        kill_cmd=
        'ps aux | grep -e pox -e pyretic | grep -v simulator | cut -c 9-15 | xargs kill -9'
    )
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=3",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     ignore_interposition=True,
                                     kill_controllers_on_exit=True)

control_flow = InteractiveReplayer(
    simulation_config, "experiments/t/intermcs_3_/mcs.trace.notimeouts")
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.python_check_loops'
# Bug signature: "{'hs_history': [(x^L) - ([]), (dl_vlan:65535,dl_vlan_pcp:0) - ([]), (dl_vlan:65535,dl_vlan_pcp:0) - ([])], 'hdr': (dl_vlan:65535,dl_vlan_pcp:0) - ([]), 'visits': [100001, 200002, 300001], 'port': 100001}"
Example #31
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow import Replayer
from sts.simulation_state import SimulationConfig

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(start_cmd='./nox_core -v -i ptcp:6635 routing',
                     address='127.0.0.1',
                     port=6635,
                     cwd='nox_classic/build/src')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=4",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False)

control_flow = Replayer(
    simulation_config,
    "experiments/nox_mesh_4_loop_repro_w_3_retries/interreplay_14_l.2/events.trace",
    wait_on_deterministic_values=False)
# Invariant check: 'None'
Example #32
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import *
from sts.control_flow.mcs_finder import EfficientMCSFinder
from sts.invariant_checker import InvariantChecker
from sts.simulation_state import SimulationConfig

simulation_config = SimulationConfig(controller_configs=[
    ControllerConfig(start_cmd='echo "no-op"',
                     label='c1',
                     address='192.168.56.1',
                     cwd='pox/',
                     controller_type='dummy')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=2",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=True)

control_flow = EfficientMCSFinder(
    simulation_config,
    "traces/trace_pox_l2_multi_new-MeshTopology2-steps200/events.trace",
    wait_on_deterministic_values=False,
    default_dp_permit=False,
    pass_through_whitelisted_messages=False,
    delay_flow_mods=False,
    invariant_check_name='InvariantChecker.check_liveness',
    bug_signature="")