<PARAMS>
    <testcases>1,2,3</testcases>

    <ENV>
        <cellName>topo_perf_test</cellName>
    </ENV>

    <GIT>
        #autoPull 'on' or 'off'
        <autoPull>off</autoPull>
        <checkout>master</checkout>
    </GIT>

    <CTRL>
        <user>admin</user>
        <ip1>10.128.174.1</ip1>
        <port1>6633</port1>
        <ip2>10.128.174.2</ip2>
        <port2>6633</port2>
        <ip3>10.128.174.3</ip3>
        <port3>6633</port3>
    </CTRL>

    <MN>
        <ip1>10.128.10.90</ip1>
        <ip2>10.128.10.91</ip2>
    </MN>

    <BENCH>
        <ip>10.128.174.10</ip>
    </BENCH>

    <TEST>
        #'on' or 'off' debug mode.
        #If on, logging will be more verbose and
        #tshark pcap will be enabled
        #pcap file located at /tmp/'capture_name'
        <debugMode>off</debugMode>
        <onosLogFile>/opt/onos/log/karaf*</onosLogFile>

        <topo_config_file>
        single_topo_event_accumulator.cfg
        </topo_config_file>
        <topo_config_name>
        org.onlab.onos.net.topology.impl.DefaultTopologyProvider.cfg
        </topo_config_name>

        #Number of times to iterate each case
        <numIter>20</numIter>
        <numSwitch>2</numSwitch>
        #Number of iterations to ignore initially
        <iterIgnore>2</iterIgnore>

        <singleSwThreshold>0,1000</singleSwThreshold>
        <portUpThreshold>0,1000</portUpThreshold>
        <portDownThreshold>0,1000</portDownThreshold>
        <linkUpThreshold>0,10000</linkUpThreshold>
        <linkDownThreshold>0,10000</linkDownThreshold>
        <swDisc100Threshold>0,10000</swDisc100Threshold>
    
        <tabletFile>tablets_3node.json</tabletFile>
   </TEST>

    <JSON>
        <deviceTimestamp>topologyDeviceEventTimestamp</deviceTimestamp>
        <hostTimestamp>topologyHostEventTimestamp</hostTimestamp>
        <linkTimestamp>topologyLinkEventTimestamp</linkTimestamp>
        <graphTimestamp>topologyGraphEventTimestamp</graphTimestamp>
    </JSON>
</PARAMS>
