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

    <SCALE>1,3,5,7</SCALE>
    <max>7</max>

    <ENV>
        <cellName>topo_perf_test</cellName>
        <cellApps>drivers,metrics,openflow</cellApps>
    </ENV>

    <GIT>
        <autopull>off</autopull>
        <checkout>master</checkout>
    </GIT>

    <CTRL>
        <user>sdn</user>
        <ip1>OC1</ip1>
        <ip2>OC2</ip2>
        <ip3>OC3</ip3>
        <ip4>OC4</ip4>
        <ip5>OC5</ip5>
        <ip6>OC6</ip6>
        <ip7>OC7</ip7>
    </CTRL>

    <MN>
        <ip1>localhost</ip1>
        <ip2>localhost</ip2>
    </MN>

    <BENCH>
        <ip>localhost</ip>
    </BENCH>

    <TSHARK>
        <ofpPortStatus>OF 1.3 146</ofpPortStatus>
        <ofpRoleReply>OF 1.3 90 of_role_reply</ofpRoleReply>
        <featureReply>OF 1.3 98 of_features_reply</featureReply>
        <roleRequest>OF 1.3 90 of_role_request</roleRequest>
        <tcpSynAck>TCP 74 openflow</tcpSynAck>
        <finAckSequence>FIN</finAckSequence>
    </TSHARK>

    <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>
        <mci>off</mci>

        <topoConfigFile>
        single_topo_event_accumulator.cfg
        </topoConfigFile>
        <topoConfigName>
        org.onlab.onos.net.topology.impl.DefaultTopologyProvider.cfg
        </topoConfigName>

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

        <singleSwThreshold>0,1000</singleSwThreshold>

        <tabletFile>tablets_3node.json</tabletFile>
   </TEST>

    <DB>
        <switchEventResultPath>/tmp/switchEventResultDb</switchEventResultPath>
    </DB>

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