예제 #1
0
 def test_dataplane_injection(self):
   simulation = None
   try:
     self.write_dataplane_trace_superlog()
     simulation_cfg = self.setup_dataplane_simulation()
     replayer = Replayer(simulation_cfg, self.tmp_dataplane_superlog)
     simulation = replayer.simulate()
   finally:
     os.unlink(self.tmp_dataplane_superlog)
     if simulation is not None:
       simulation.clean_up()
예제 #2
0
 def test_basic(self):
   simulation = None
   try:
     self.write_simple_superlog()
     simulation_cfg = self.setup_simple_simulation()
     replayer = Replayer(simulation_cfg, self.tmp_basic_superlog)
     simulation = replayer.simulate()
   finally:
     os.unlink(self.tmp_basic_superlog)
     if simulation is not None:
       simulation.clean_up()
예제 #3
0
 def test_controller_crash(self):
   simulation = None
   try:
     self.write_controller_crash_superlog()
     simulation_cfg = self.setup_controller_simulation()
     replayer = Replayer(simulation_cfg, self.tmp_controller_superlog)
     simulation = replayer.simulate()
   finally:
     os.unlink(self.tmp_controller_superlog)
     if simulation is not None:
       simulation.clean_up()
예제 #4
0
 def test_migration(self):
   simulation = None
   try:
     self.write_migration_superlog()
     simulation_cfg = self.setup_migration_simulation()
     replayer = Replayer(simulation_cfg, self.tmp_migration_superlog)
     simulation = replayer.simulate()
     latest_switch = simulation.topology.get_switch(7)
     latest_port = latest_switch.ports[101]
     (host, interface) = simulation.topology.get_connected_port(latest_switch,
                                                                latest_port)
     self.assertTrue(type(host) == Host)
   finally:
     os.unlink(self.tmp_migration_superlog)
     if simulation is not None:
       simulation.clean_up()
예제 #5
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import MeshTopology
from sts.control_flow import Replayer
from sts.simulation_state import SimulationConfig

controllers = [
    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
dataplane_trace = "dataplane_traces/ping_pong_same_subnet.trace"
topology_params = "num_switches=2"
simulation_config = SimulationConfig(controller_configs=controllers,
                                     topology_class=topology_class,
                                     topology_params=topology_params,
                                     dataplane_trace=dataplane_trace,
                                     switch_init_sleep_seconds=2.0)

control_flow = Replayer(simulation_config,
                        "input_traces/pox_list_violation.trace")
예제 #6
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='./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_verbose/mcs.trace.notimeouts",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False)
# Invariant check: 'None'
예제 #7
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_27_l.4/events.trace",
    wait_on_deterministic_values=False)
# Invariant check: 'None'
예제 #8
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.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=False,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(simulation_config,
                        "experiments/fuzz_pox_proactive/events.trace",
                        input_logger=InputLogger(),
                        wait_on_deterministic_values=False,
                        allow_unexpected_messages=False,
                        delay_flow_mods=False,
                        default_dp_permit=True,
                        pass_through_whitelisted_messages=True,
                        invariant_check_name='check_for_invalid_ports',
                        bug_signature="")
예제 #9
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='./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 = Replayer(simulation_config, "experiments/fuzz_pyretic_mesh_proactive_firewall_no_close_check_loop_mcs/interreplay_50_l_3/events.trace",
                        input_logger=InputLogger(),
                        wait_on_deterministic_values=False,
                        allow_unexpected_messages=False,
                        delay_flow_mods=False,
                        pass_through_whitelisted_messages=True,
                        invariant_check_name='InvariantChecker.python_check_loops',
                        bug_signature='{'hs_history': [(x^L) - ([]), (dl_vlan:65535,dl_vlan_pcp:0,dl_type:2054,nw_src:123.123.1.3/32,nw_dst:123.123.3.3/32) - ([]), (dl_vlan:65535,dl_vlan_pcp:0,dl_type:2054,nw_src:123.123.1.3/32,nw_dst:123.123.3.3/32) - ([]), (dl_vlan:65535,dl_vlan_pcp:0,dl_type:2054,nw_src:123.123.1.3/32,nw_dst:123.123.3.3/32) - ([])], 'hdr': (dl_vlan:65535,dl_vlan_pcp:0,dl_type:2054,nw_src:123.123.1.3/32,nw_dst:123.123.3.3/32) - ([]), 'visits': [100004, 200002, 300001, 100001], 'port': 200002}')
예제 #10
0
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=
        './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 = Replayer(
    simulation_config,
    "experiments/fuzz_pyretic_mesh_proactive_firewall_no_close_check_loop_mcs/interreplay_140_l_6/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=False,
    delay_flow_mods=False,
    pass_through_whitelisted_messages=True)
# Invariant check: 'None'
예제 #11
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_reproducibility/interreplay_40_l.4/events.trace",
                        wait_on_deterministic_values=False)
# Invariant check: 'None'
예제 #12
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_0_reproducibility/events.trace",
    wait_on_deterministic_values=False)
# Invariant check: 'None'
예제 #13
0
    ),
    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)

control_flow = Replayer(
    simulation_config,
    "experiments/db_lock_2014_01_31_10_46_33_mcs_2014_01_31_13_39_32/interreplay_2_l_1/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="c2")
예제 #14
0
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,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(
    simulation_config,
    "experiments/pox_broken_floyd_mcs/interreplay_19_l_2/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_loops',
    bug_signature=
    "(300003, ['-> Port: 300003', '-> Port: 100001', '-> Port: 200002', '-> Port: 300001', '-> Port: 100001'], (dl_src:12:34:56:78:01:03,dl_dst:12:34:56:78:03:03,dl_vlan:65535,dl_vlan_pcp:0,dl_type:2048,nw_tos:0,nw_proto:1,nw_src:10.1.3.2/32,nw_dst:10.3.3.2/32,tp_src:0,tp_dst:0) - ([]))"
)
예제 #15
0
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/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="")
예제 #16
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 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 = Replayer(
    simulation_config,
    "experiments/snapshot_proactive_pox_mcs/interreplay_6_final_mcs_trace/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=False,
    delay_flow_mods=False,
    pass_through_whitelisted_messages=True,
    invariant_check_name='check_for_invalid_ports',
    bug_signature="(1, 0)")
예제 #17
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="num_pods=10",
                 patch_panel_class=BufferedPatchPanel,
                 dataplane_trace="experiments/pox_fattree_migration_2013_03_19_15_07_27/dataplane.trace",
                 multiplex_sockets=True)

control_flow = Replayer(simulation_config, "experiments/pox_fattree_migration_2013_03_19_15_07_27/events.trace",
                        wait_on_deterministic_values=False)
# Invariant check: 'check_stale_entries'
예제 #18
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 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=6635, cwd='pox')],
                 topology_class=FatTree,
                 topology_params="num_pods=8",
                 patch_panel_class=BufferedPatchPanel,
                 dataplane_trace="experiments/large_pox_fattree_no_logging_2013_03_26_19_45_38/dataplane.trace",
                 multiplex_sockets=True)

control_flow = Replayer(simulation_config, "experiments/large_pox_fattree_no_logging_2013_03_26_19_45_38_mcs/intermcs_2_/events.trace",
                        wait_on_deterministic_values=False)
# Invariant check: 'None'
예제 #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
from sts.input_traces.input_logger import InputLogger

simulation_config = SimulationConfig(controller_configs=[ControllerConfig(start_cmd='./pox.py --verbose openflow.discovery topology host_tracker sts.util.socket_mux.pox_monkeypatcher openflow.of_01 --address=__address__ --port=__port__ --max_connections=15', 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 = Replayer(simulation_config, "experiments/trigger_memory_leak3_mcs/intermcs_16_/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='InvariantChecker.check_liveness',
                        bug_signature="c1")
예제 #20
0
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.discovery forwarding.topo_proactive sts.util.socket_mux.pox_monkeypatcher openflow.of_01 --address=__address__ --port=8901',
        label='c1',
        address='127.0.0.1',
        cwd='dart_pox')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=10",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(
    simulation_config,
    "experiments/trigger_multithreading_bug_mcs/interreplay_11_final_mcs_trace/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")
예제 #21
0
    ),
    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)

control_flow = Replayer(
    simulation_config,
    "experiments/distributed_onos_2014_01_31_01_23_34_mcs_2014_01_31_14_22_55/interreplay_3_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")
예제 #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 --random-seed=1 openflow.discovery forwarding.l2_multi openflow.of_01 --address=__address__ --port=__port__',
            address='127.0.0.1',
            port=6634,
            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 = Replayer(
    simulation_config,
    "exp/pox_l2multi-exp4_2013_01_27_09_59_26/events.trace",
    wait_on_deterministic_values=False)
예제 #23
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='./nox_core -v -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_debug_verbose/interreplay_34_l_5/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False)
# Invariant check: 'None'
예제 #24
0
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',
        label='c1',
        address='127.0.0.1',
        cwd='pox_carp')
],
                                     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/pox_switch_hash_bug_fuzz_fuzzer_mcs/interreplay_2_l_1/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=False,
    delay_flow_mods=True,
    default_dp_permit=False,
    pass_through_whitelisted_messages=False,
    invariant_check_name='InvariantChecker.check_liveness',
    bug_signature="c1")
예제 #25
0
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_24_/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")
예제 #26
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/events.trace",
                        wait_on_deterministic_values=False)
# Invariant check: 'check_for_loops_or_connectivity'
예제 #27
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_mcs/events.trace",
    wait_on_deterministic_values=False)
# Invariant check: 'None'
예제 #28
0
from 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 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 = Replayer(simulation_config, "input_traces/pox_attr_error.trace")
# MCS trace path: input_traces/2012_12_11_18_37_14_mcs_final.trace
예제 #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.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,
                 ignore_interposition=True,
                 kill_controllers_on_exit=True)

control_flow = Replayer(simulation_config, "experiments/trigger_priority_mismatch_small_mcs_blackbox/interreplay_10_l_1/events.trace",
                        input_logger=InputLogger(),
                        wait_on_deterministic_values=False,
                        allow_unexpected_messages=False,
                        delay_flow_mods=False,
                        pass_through_whitelisted_messages=True,
                        invariant_check_name='check_for_flow_entry',
                        bug_signature="123Found")
예제 #30
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 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=10156,
        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/new_pox_in_flight_mcs/events.trace",
                        wait_on_deterministic_values=False)
# Invariant check: 'None'
예제 #31
0
        '''sts.util.socket_mux.pox_monkeypatcher --snapshot_address=/tmp/snapshot_socket '''
        '''openflow.of_01 --address=__address__ --port=__port__''',
        label='c1',
        address='127.0.0.1',
        cwd='pox',
        snapshot_address="/tmp/snapshot_socket")
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=2",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True,
                                     kill_controllers_on_exit=True)

peeker = SnapshotPeeker(simulation_config,
                        default_dp_permit=True,
                        pass_through_whitelisted_messages=True)

control_flow = Replayer(
    simulation_config,
    "experiments/trigger_priority_mismatch_small/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
    allow_unexpected_messages=True,
    expected_message_round_window=9999,
    delay_flow_mods=False,
    default_dp_permit=True,
    pass_through_whitelisted_messages=True,
    invariant_check_name='check_for_flow_entry',
    bug_signature="",
    transform_dag=peeker.peek)
예제 #32
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='./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,
                 kill_controllers_on_exit=True)

control_flow = Replayer(simulation_config, "experiments/new_pyretic_loop/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',
                        bug_signature="")
예제 #33
0
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,
                                     kill_controllers_on_exit=True)

control_flow = Replayer(
    simulation_config,
    "experiments/new_pyretic_loop_mcs/interreplay_9_l_4/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',
    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}"
)
예제 #34
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="exp/head_nox_4_mesh_loop/dataplane.trace",
    multiplex_sockets=False)

control_flow = Replayer(simulation_config,
                        "exp/head_nox_4_mesh_loop_mcs/events.trace",
                        wait_on_deterministic_values=False)