OFCProbe

Requirements for this Tutorial

  • Java
  • OpenFlow Controller
  • Preferably a Linux System (Shell Scripts + Screen Usage in Scripts provided)
  • Passwordless SSH-Connection between OF Controller Host and OFCProbe Host for User openflow

Preperations

Preperations On OFCProbe Host

  1. Copy OFCProbe.java and your configurations files to a directory
  2. Copy On OFCProbe Host\ssh_redirector.sh to home dir of user openflow
  3. Open ssh_redirector.sh and change the path in Line#3 to directory of 1. (and change config-file name in Line4)

Preperations On OF Controller Host

  1. Install Controller(s) according to their installation instructions
  2. Copy Contents of On Controller Host to directory of your choosing on OF Controller Host
  3. You will Find Folders for each Controller, For each Controller you want to operate, do the following:
    1. Go to Directory according to your Controller (e.g. Floodlight->>On Controller Host\flood)
    2. Open start.sh
    3. Change Directory in Line#2
  4. Open launch_config.sh
  5. Change IP(s) at the beginning

Simulation Sequence

Best Effort Testing

1 Host

On OFCProbe Host
  1. Use provided config.be.ini (dont forget renaming config file to config.ini)
>On OF Controller Host
  1. Ensure that NO controller is running
  2. Go To Directory of launch_config.sh
  3. Start Testing:
    ./launch_config.sh 5 flood_be
  • This will start Best Effort Testing with 5 Runs on 1 OFCProbe Host emulating [1,5:5:100] Switches with 8 Threads
  • After the Simlation has finished, you will find a directory on < OFCProbeDirectory>\flood_be\
  • All statistics Files are found there

Multiple Hosts

On OFCProbe Host
  1. Use provided config.be.ini (dont forget renaming config file to config.ini)
  2. Do not Forget to Change config.startDpid --> Over all OFCProbeHosts, the DPIDs must not overlap
  3. Example Scenario with 4 Hosts:
    • 100 Switches in Total --> 25 Switches in Total per Host
    • Host1: config.startDpid = 1
    • Host2: config.startDpid = 100
    • Host3: config.startDpid = 200
    • Host4: config.startDpid = 300
On OF Controller Host
  1. Ensure that NO controller is running
  2. Go To Directory of launch_config.sh
  3. Check IPs and that none of the IPs is commented
  4. Start Testing:
    ./launch_config.sh 5 flood_mh_be
  • This will start Best Effort Testing with 5 Runs on Multiple OFCProbe Host emulating [1,5:5:100] Switches with 8 Threads
  • After the Simlation has finished, you will find a directory on < OFCProbeDirectory>\flood_mh_be\
  • All statistics Files are found there

One Host - Topology Testing

On OFCProbe Host
  1. Use provided config.top.ini (dont forget renaming config file to config.ini)
  2. Ensure that topology.ini file is in OFCProbe Directory (This File Emulates a FatTree Topology with 20 Switches)
On OF Controller Host
  1. Ensure that NO controller is running
  2. Go To Directory of launch_config.sh and change the Following:
    1. maxswitchnum=100 --> maxswitchnum=20 (for the example topology.ini)
  3. Start Testing:
    ./launch_config_top.sh 5 flood_top
  • This will start Topology with 5 Runs on 1 OFCProbe Host emulating 20 Switches with 8 Threads (in case you are using provided topology.ini)
  • After the Simlation has finished, you will find a directory on < OFCProbeDirectory>\flood_top\
  • All statistics Files are found there

Random IAT Values after Distribution

Example for NormalDistribution, mean = 10, stdev=5:

  • trafficGenConfig.iatType = 1
  • trafficGenConfig.iatDistribution = Normal
  • trafficGenConfig.iatDistributionParamter1 = 10
  • trafficGenConfig.iatDistributionParamter2 = 5

Individual Settings for Switches

  • Set config.checkForIndividualSwitchSettings = true in config.ini on OFCProbeHost
  • Check ofSwitch.ini and change it