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=20, send_all_to_all= True, # needs to be True otherwise circuitpusher will throw errors. check_interval=10, delay=0.1, halt_on_violation=True, send_init_packets=False, steps=steps, # if no circuits are installed, increase this number. # invariant_check_name="check_everything", invariant_check_name="InvariantChecker.check_liveness", apps=apps) raise RuntimeError( "Please add this parameter to Fuzzer: fuzzer_params='paper/trace_floodlight_circuitpusher-StarTopology4-steps200/fuzzer_params.py'" )
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, send_all_to_all=False, check_interval=10, delay=0.1, halt_on_violation=True, send_init_packets=False, steps=steps, # invariant_check_name="check_everything", invariant_check_name="InvariantChecker.check_liveness", apps=apps) raise RuntimeError( "Please add this parameter to Fuzzer: fuzzer_params='traces/trace_pox_eel_l2_multi_fixed-MeshTopology2-steps200/fuzzer_params.py'" )
from config.experiment_config_lib import ControllerConfig from sts.topology import MeshTopology from sts.control_flow.fuzzer import Fuzzer from sts.input_traces.input_logger import InputLogger from sts.simulation_state import SimulationConfig # Use POX as our controller start_cmd = ('''./pox.py samples.buggy ''' '''openflow.of_01 --address=__address__ --port=__port__''') 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) control_flow = Fuzzer(simulation_config, input_logger=InputLogger(), invariant_check_name="InvariantChecker.check_liveness", check_interval=5, halt_on_violation=True)
'branch' : backtick("git rev-parse --abbrev-ref HEAD", cwd="old_pox") } # Use POX as our controller command_line = ('''./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__''') controllers = [ControllerConfig(command_line, cwd="old_pox", sync="tcp:localhost:18899")] topology_class = MeshTopology topology_params = "num_switches=2" dataplane_trace = "experiments/debug_branch_loop/dataplane.trace" simulation_config = SimulationConfig(controller_configs=controllers, topology_class=topology_class, topology_params=topology_params, dataplane_trace=dataplane_trace, violation_persistence_threshold=20, multiplex_sockets=True) control_flow = Fuzzer(simulation_config, check_interval=3, halt_on_violation=True, input_logger=InputLogger(), invariant_check_name="check_for_blackholes_or_connectivity", #steps=141, #random_seed=466448715 ) raise RuntimeError("Please add this parameter to Fuzzer: fuzzer_params='experiments/retrigger_debug_branch_loop/fuzzer_params.py'")
except ImportError as e: try: # module path might not have been specified. Try again with path prepended config = __import__("config.%s" % args.config, globals(), locals(), ["*"]) except ImportError: raise e # Set up the experiment results directories experiment_setup.setup_experiment(args, config) # Simulator controls the simulation if hasattr(config, 'control_flow'): simulator = config.control_flow else: # We default to a Fuzzer simulator = Fuzzer(SimulationConfig()) # Set an interrupt handler def handle_int(signal, frame): import os from sts.util.rpc_forker import LocalForker sys.stderr.write("Caught signal %d, stopping sdndebug (pid %d)\n" % (signal, os.getpid())) if (simulator.simulation_cfg.current_simulation is not None): simulator.simulation_cfg.current_simulation.clean_up() # kill fork()ed procs LocalForker.kill_all() sys.exit(13) signal.signal(signal.SIGINT, handle_int) signal.signal(signal.SIGTERM, handle_int)
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, bug_file="/mnt/ahassany/vagrant_onosdev/ONOS/BUG_TRIGGERED") ''' control_flow = Interactive(simulation_config, input_logger=InputLogger(), pass_through_of_messages=True, default_dp_permit=True) ''' control_flow = Fuzzer(simulation_config, check_interval=5, halt_on_violation=True, input_logger=InputLogger(), #steps=100, delay=3.0, initialization_rounds=2, invariant_check_name="check_for_file") #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/onos_id_bug_fixed_ids_file/fuzzer_params.py'")
'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 NOX as our controller start_cmd = "./nox_core -v -i ptcp:6633 sample_routing" controllers = [ ControllerConfig(start_cmd, cwd="nox_classic/build/src", address="127.0.0.1", port=6633) ] topology_class = MeshTopology topology_params = "num_switches=4" dataplane_trace = "dataplane_traces/ping_pong_same_subnet_4_switches.trace" simulation_config = SimulationConfig(controller_configs=controllers, topology_class=topology_class, topology_params=topology_params, dataplane_trace=dataplane_trace) # Use a Fuzzer (already the default) control_flow = Fuzzer( simulation_config, input_logger=InputLogger(), check_interval=80, invariant_check_name="InvariantChecker.python_check_connectivity")
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 = Interactive(simulation_config, input_logger=InputLogger(), pass_through_of_messages=True, default_dp_permit=True) ''' control_flow = Fuzzer( simulation_config, check_interval=50, halt_on_violation=True, input_logger=InputLogger(), #steps=100, delay=3.0, initialization_rounds=20, 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/onos_id_bug_wride_cid_no_traffic/fuzzer_params.py'" )
# 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'" )
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")
try: # module path might not have been specified. Try again with path prepended config = __import__("config.%s" % args.config, globals(), locals(), ["*"]) except ImportError: raise e # Set up the experiment results directories experiment_setup.setup_experiment(args, config) # Simulator controls the simulation if hasattr(config, 'control_flow'): simulator = config.control_flow else: # We default to a Fuzzer simulator = Fuzzer(SimulationConfig()) # Set an interrupt handler def handle_int(signal, frame): import os from sts.util.rpc_forker import LocalForker sys.stderr.write("Caught signal %d, stopping sdndebug (pid %d)\n" % (signal, os.getpid())) if (simulator.simulation_cfg.current_simulation is not None): simulator.simulation_cfg.current_simulation.clean_up() # kill fork()ed procs LocalForker.kill_all() sys.exit(13)