示例#1
0
from config.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)
示例#2
0
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=
        './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=StarTopology,
                                     topology_params="num_hosts=2",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=True)

control_flow = InteractiveReplayer(
    simulation_config,
    "traces/trace_pox_l2_multi-StarTopology2-steps200/events.trace")
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.check_liveness'
# Bug signature: ""
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 --snapshot_address=/tmp/snapshot_socket 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_snapshot_mcs/interreplay_4_r_1/events.trace"
)
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'check_for_flow_entry'
# Bug signature: "123Found"
示例#4
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/interreplay_11_l.5/events.trace",
    wait_on_deterministic_values=False)
# Invariant check: 'None'
示例#5
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.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 = InteractiveReplayer(
    simulation_config,
    "experiments/trigger_multithreading_bug_mcs/interreplay_8_l_7/events.trace"
)
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.check_liveness'
# Bug signature: "c1"
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='java -ea -Dlogback.configurationFile=./src/main/resources/logback-trace.xml -jar ./target/floodlight.jar -cf ./src/main/resources/trace_learningswitch.properties', label='c1', address='127.0.0.1', cwd='../floodlight')],
                 topology_class=StarTopology,
                 topology_params="num_hosts=4",
                 patch_panel_class=BufferedPatchPanel,
                 multiplex_sockets=False,
                 ignore_interposition=False,
                 kill_controllers_on_exit=True)

control_flow = InteractiveReplayer(simulation_config, "traces/trace_floodlight_learningswitch-StarTopology4-steps200/events.trace")
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.check_liveness'
# Bug signature: ""
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 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 = OpenFlowReplayer(simulation_config, "experiments/syn_mem_corruption_3switch_fuzzer_mcs/interreplay_8_r_4/events.trace")
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.check_liveness'
# Bug signature: "c1"
示例#8
0
from config.experiment_config_lib import ControllerConfig
from sts.control_flow import Fuzzer
from sts.input_traces.input_logger import InputLogger
from sts.topology import MeshTopology
from sts.simulation_state import SimulationConfig
from sts.invariant_checker import InvariantChecker

# Use POX as our controller
command_line = (
    '''./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__''')
controllers = [
    ControllerConfig(command_line,
                     port=6632,
                     cwd="pox",
                     sync="tcp:localhost:18901")
]
topology_params = "num_pods=10"

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

timestamp_results = True

# Use a Fuzzer (already the default)
control_flow = Fuzzer(
    simulation_config,
    #fuzzer_params="exp/config/fuzzer_params_migration_and_switches.py",
    check_interval=20,
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_broken_floyd  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=3",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=True,
                                     ignore_interposition=True,
                                     kill_controllers_on_exit=True)

control_flow = OpenFlowReplayer(
    simulation_config,
    "experiments/pox_broken_floyd_updated_mcs/interreplay_10_final_mcs_no_timed_out_events/events.trace"
)
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.python_check_loops'
# Bug signature: "{'hs_history': [(x^L) - ([]), (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:123.123.1.3/32,nw_dst:123.123.3.3/32,tp_src:0,tp_dst:0) - ([]), (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:123.123.1.3/32,nw_dst:123.123.3.3/32,tp_src:0,tp_dst:0) - ([]), (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:123.123.1.3/32,nw_dst:123.123.3.3/32,tp_src:0,tp_dst:0) - ([])], 'hdr': (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:123.123.1.3/32,nw_dst:123.123.3.3/32,tp_src:0,tp_dst:0) - ([]), 'visits': [100003, 200002, 300001, 100001], 'port': 200002}"
示例#10
0
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.l2_fwd --consistent=True --use_barrier=True  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=False,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=True)

control_flow = OpenFlowReplayer(
    simulation_config,
    "traces/trace_pox_hb_reactive-consistencyMeshTopology-True-True-steps50/events.trace"
)
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'InvariantChecker.check_liveness'
# Bug signature: ""
示例#11
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=
        'java -ea -Dlogback.configurationFile=./src/main/resources/logback-trace.xml -jar ./target/floodlight.jar -cf ./src/main/resources/trace_firewall.properties',
        label='c1',
        address='127.0.0.1',
        cwd='../floodlight')
],
                                     topology_class=MeshTopology,
                                     topology_params="num_switches=4",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=True)

control_flow = EfficientMCSFinder(
    simulation_config,
    "paper/trace_floodlight_firewall-MeshTopology4-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="")
示例#12
0
controllers = [ControllerConfig(start_cmd, address="192.168.56.11", port=6633,
                                kill_cmd=kill_cmd % "onosdev1",
                                restart_cmd=restart_cmd % "onosdev1",
                                controller_type="onos",
                                cwd="/home/rcs/vagrant_onosdev"),
               ControllerConfig(dummy_cmd, address="192.168.56.12", port=6633,
                                kill_cmd=kill_cmd % "onosdev2",
                                restart_cmd=restart_cmd % "onosdev2",
                                controller_type="onos",
                                cwd="/home/rcs/vagrant_onosdev")]
"""
controllers = [
    ControllerConfig(start_cmd,
                     address="192.168.56.11",
                     port=6633,
                     kill_cmd=kill_cmd % ("onosdev1", onos_dir),
                     restart_cmd=restart_cmd % ("onosdev1", onos_dir),
                     controller_type="onos",
                     cwd=vagrant_dir),
    ControllerConfig(dummy_cmd,
                     address="192.168.56.12",
                     port=6633,
                     kill_cmd=kill_cmd % ("onosdev2", onos_dir),
                     restart_cmd=restart_cmd % ("onosdev2", onos_dir),
                     controller_type="onos",
                     cwd=vagrant_dir),
]
'''
               ControllerConfig(dummy_cmd, address="192.168.56.13", port=6633,
                                kill_cmd=kill_cmd % ("onosdev3", onos_dir),
                                restart_cmd=restart_cmd % ("onosdev3", onos_dir),
示例#13
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=BinaryLeafTreeTopology,
                 topology_params="num_levels=1",
                 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-BinaryLeafTreeTopology1-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="")
示例#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

simulation_config = SimulationConfig(controller_configs=[ControllerConfig(cmdline='./pox.py --verbose sts.syncproto.pox_syncer --blocking=False 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=6633, cwd='pox')],
                 topology_class=MeshTopology,
                 topology_params="num_switches=4",
                 patch_panel_class=BufferedPatchPanel,
                 dataplane_trace="exp/loop_4_switches/dataplane.trace",
                 multiplex_sockets=True)

control_flow = Replayer(simulation_config, "exp/loop_4_switches/events.trace",
                        wait_on_deterministic_values=False)
示例#15
0
""" pox l2_multi_loop. new mcs algo, no powersets, 4 verification runs """
from config.experiment_config_lib import ControllerConfig
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

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=4,
                                  ignore_powersets=False)
示例#16
0
from sts.controller_manager import UserSpaceControllerPatchPanel
from sts.control_flow.fuzzer import Fuzzer
from sts.control_flow.interactive import Interactive
from sts.input_traces.input_logger import InputLogger
from sts.simulation_state import SimulationConfig
from sts.happensbefore.hb_logger import HappensBeforeLogger
from config.application_events import AppFloodlightLoadBalancer

start_cmd = (
    '''java -ea -Dlogback.configurationFile=./src/main/resources/logback-test-trace.xml -jar '''
    '''./target/floodlight.jar '''
    '''-cf ./src/main/resources/trace_loadbalancer.properties''')

controllers = [
    ControllerConfig(start_cmd,
                     cwd='../floodlight',
                     address="127.0.0.1",
                     port=6633)
]

# Uncomment this if you are running Floodlight separately, e.g. for debugging in Eclipse. There must be a controller listening on port 6633.
# start_cmd = '''echo "no-op"'''
# controllers = [ControllerConfig(start_cmd, cwd='../floodlight', address="127.0.0.1", port=6633, controller_type='dummy')]

num = 2
topology_class = StarTopology
topology_params = "num_hosts=%d" % num
# topology_class = MeshTopology
# topology_params = "num_switches=%d" % num
# topology_class = GridTopology
# topology_params = "num_rows=3, num_columns=3"
# topology_class = BinaryLeafTreeTopology
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 --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 = InteractiveReplayer(simulation_config, "experiments/load_balancer_fuzzer_mcs/interreplay_52_l_4/events.trace")
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'check_for_ofp_error'
# Bug signature: "ERROR_SENT"
示例#18
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=
        '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=1",
                                     patch_panel_class=BufferedPatchPanel,
                                     multiplex_sockets=False,
                                     ignore_interposition=False,
                                     kill_controllers_on_exit=True)

control_flow = EfficientMCSFinder(
    simulation_config,
    "traces/trace_onos-noinstr-ifwd-BinaryLeafTreeTopology1-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="")
示例#19
0
from sts.input_traces.input_logger import InputLogger
from sts.invariant_checker import InvariantChecker
from sts.simulation_state import SimulationConfig

# Use POX as our controller
command_line = (
    '''./pox.py --verbose '''
    #'''sts.syncproto.pox_syncer --blocking=False '''
    #'''openflow.mock_discovery forwarding.l2_multi '''
    '''openflow.discovery forwarding.l2_multi '''
    #'''sts.util.socket_mux.pox_monkeypatcher '''
    '''openflow.of_01 --address=__address__ --port=__port__''')
controllers = [
    ControllerConfig(
        command_line,
        cwd="betta",
        #sync="tcp:localhost:18899"
    )
]
topology_class = MeshTopology
topology_params = "num_switches=2"
#dataplane_trace = "dataplane_traces/ping_pong_same_subnet.trace"

simulation_config = SimulationConfig(
    controller_configs=controllers,
    topology_class=topology_class,
    topology_params=topology_params,
    #dataplane_trace=dataplane_trace,
    #multiplex_sockets=True
)
示例#20
0
from sts.input_traces.input_logger import InputLogger
from sts.simulation_state import SimulationConfig
from sts.happensbefore.hb_logger import HappensBeforeLogger

consistent = True
barriers = True

# Use POX as our controller
start_cmd = (
    '''./pox.py --verbose '''
    ''' forwarding.consistency --consistent=%s --deny=False '''
    ''' --update_wait=10 --update_once=True --consistent_sleep=5 --barriers=%s '''
    ''' openflow.of_01 --address=__address__ --port=__port__ ''' %
    (consistent, barriers))

controllers = [ControllerConfig(start_cmd, cwd="pox/")]

steps = 100
topology_class = ConsistencyTopology
topology_params = ""

# Where should the output files be written to
results_dir = "traces/trace_pox_%s-%s-%s-steps%d" % (
    topology_class.__name__, consistent, barriers, steps)

apps = None

# include all defaults
simulation_config = SimulationConfig(
    controller_configs=controllers,
    topology_class=topology_class,
示例#21
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_0_reproducibility/events.trace",
                        wait_on_deterministic_values=False)
# Invariant check: 'None'
示例#22
0
from sts.controller_manager import UserSpaceControllerPatchPanel
from sts.control_flow.fuzzer import Fuzzer
from sts.input_traces.input_logger import InputLogger
from sts.simulation_state import SimulationConfig
from sts.happensbefore.hb_logger import HappensBeforeLogger

# Use POX as our controller
start_cmd = ('''./pox.py --verbose '''
             '''openflow.discovery forwarding.l2_multi_new '''
             '''openflow.of_01 --address=__address__ --port=__port__ ''')

start_cmd = '''echo "no-op"'''
controllers = [
    ControllerConfig(start_cmd,
                     cwd="pox/",
                     address="192.168.56.1",
                     port=6633,
                     controller_type='dummy')
]

num = 2
topology_class = StarTopology
topology_params = "num_hosts=%d" % num
#topology_class = MeshTopology
#topology_params = "num_switches=%d" % num
# topology_class = GridTopology
# topology_params = "num_rows=3, num_columns=3"
#topology_class = BinaryLeafTreeTopology
#topology_params = "num_levels=%d" % num

steps = 200
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_6_r_0/events.trace"
)
# wait_on_deterministic_values=False
# delay_flow_mods=False
# Invariant check: 'None'
示例#24
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
from sts.control_flow.peeker import SnapshotPeeker

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

peeker = SnapshotPeeker(simulation_config, default_dp_permit=True)
# TODO(cs): pass through sends? Add default_dp_permit to Replayer?
control_flow = Replayer(
    simulation_config,
    "experiments/snapshot_demo_light_failures/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False,
示例#25
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/interreplay_46_r_7/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")
示例#26
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=
        ' 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'
    )
],
示例#27
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/interreplay_4_l_1/events.trace")
# 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}"
示例#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/intermcs_6_/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")
示例#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='./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_15_r_5/events.trace",
    input_logger=InputLogger(),
    wait_on_deterministic_values=False)
# Invariant check: 'None'
示例#30
0
from config.experiment_config_lib import ControllerConfig
from sts.topology import StarTopology, BufferedPatchPanel, MeshTopology, GridTopology, BinaryLeafTreeTopology
from sts.controller_manager import UserSpaceControllerPatchPanel
from sts.control_flow.fuzzer import Fuzzer
from sts.control_flow.interactive import Interactive
from sts.input_traces.input_logger import InputLogger
from sts.simulation_state import SimulationConfig
from sts.happensbefore.hb_logger import HappensBeforeLogger
from config.application_events import AppCircuitPusher



start_cmd = '''tail -f "/home/jeremie/Applications/apache-karaf-3.0.3/data/log/karaf.log"'''

# controllers = [ControllerConfig(start_cmd, controller_type='dummy', cwd='./', address="192.168.56.101", port=6633)]
controllers = [ControllerConfig(start_cmd, controller_type='logfile', cwd='./')]

num = 2
topology_class = StarTopology
topology_params = "num_hosts=%d" % num
# topology_class = MeshTopology
# topology_params = "num_switches=%d" % num
# topology_class = GridTopology
# topology_params = "num_rows=3, num_columns=3"
# topology_class = BinaryLeafTreeTopology
# topology_params = "num_levels=%d" % num

steps = 200
results_dir = "traces/trace_onos-ifwd-%s%d-steps%s" % (topology_class.__name__, num, steps)

apps = None