Esempio n. 1
0
from experiment_config_lib import ControllerConfig
from sts.topology import MeshTopology
from sts.control_flow import MCSFinder, Peeker
from sts.invariant_checker import InvariantChecker
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
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,
                                     switch_init_sleep_seconds=2.0,
                                     dataplane_trace=dataplane_trace)

peeker = Peeker(simulation_config)
control_flow = MCSFinder(
    simulation_config,
    "input_traces/pox_list_violation.trace",
    #create_event_scheduler = lambda simulation: DumbEventScheduler(simulation),
    #delay_input_events=True,
Esempio n. 2
0
from experiment_config_lib import ControllerConfig
from sts.control_flow 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
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)

# Use a Fuzzer (already the default)
control_flow = Fuzzer(simulation_config,
                      check_interval=1,
                      halt_on_violation=True,
                      input_logger=InputLogger(),
                      invariant_check=InvariantChecker.check_liveness)
Esempio n. 3
0
from experiment_config_lib import ControllerConfig
from sts.topology import MeshTopology, BufferedPatchPanel
from sts.control_flow import Interactive
from sts.input_traces.input_logger import InputLogger
from sts.simulation_state import SimulationConfig

# Use POX as our controller
command_line = "./pox.py --no-cli --verbose openflow.of_01 --address=__address__ --port=__port__ sts.syncproto.pox_syncer samples.topo forwarding.l2_learning"
controllers = [
    ControllerConfig(command_line,
                     cwd="pox",
                     address="127.0.0.1",
                     port=8888,
                     sync="tcp:localhost:18888")
]
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)

control_flow = Interactive(simulation_config, input_logger=InputLogger())
Esempio n. 4
0
from experiment_config_lib import ControllerConfig
from sts.topology import MeshTopology
from sts.control_flow import Interactive
from sts.invariant_checker import InvariantChecker
from sts.simulation_state import SimulationConfig

# Use POX as our controller
command_line_server = "./fl-server.sh"
command_line_client = "./fl-client.sh"
controllers = [
    ControllerConfig(command_line_server, cwd="../floodlight-w3", address="127.0.0.1", port=6633),
    ControllerConfig(command_line_client, cwd="../floodlight-w3", address="127.0.0.1", port=6634)
]

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)

from sts.util.convenience import timestamp_string

# Use a Fuzzer (already the default)
control_flow = Interactive(simulation_config, input_logger=InputLogger(output_path="input_traces/fl_"+timestamp_string()+".trace")) #Fuzzer(input_logger=InputLogger(),
                           #check_interval=80,
                           #invariant_check=InvariantChecker.check_connectivity)

Esempio n. 5
0
from experiment_config_lib import ControllerConfig
from sts.control_flow import Fuzzer
from sts.input_traces.input_logger import InputLogger
from sts.invariant_checker import InvariantChecker
from sts.simulation_state import SimulationConfig

# Use NOX as our controller
command_line = "./nox_core -i ptcp:6633 routing"
controllers = [ControllerConfig(command_line, cwd="nox_classic/build/src", address="127.0.0.1", port=6633)]

dataplane_trace = "dataplane_traces/ping_pong_fat_tree.trace"

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

# Use a Fuzzer (already the default)
control_flow = Fuzzer(simulation_config, input_logger=InputLogger(),
                      check_interval=80,
                      invariant_check=InvariantChecker.check_connectivity)

Esempio n. 6
0
from 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 --no-cli --verbose openflow.of_01 --address=__address__ --port=__port__ sts.syncproto.pox_syncer samples.topo forwarding.l2_learning',
        address='127.0.0.1',
        port=8888,
        cwd='pox',
        sync='tcp:localhost:18888')
]
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)

control_flow = Replayer(simulation_config,
                        "input_traces/violation_integration_test.trace")