<PARAMS>

    # 1 - optional pull and build ONOS package
    # 2 - set cell and install ONOS
    # 10 - start mininet
    # 11 - pingall and verify topo
    # 100 - balance master and bring onos node down
    # 200 - bring onos node up and balance masters
    # 1000 - report logs
    # 1,[2,10,300,11,100,300,11,200,300,11,1000]*3
    <testcases>1,[3,2,10,300,11,1000]*10,3</testcases>

    <DEPENDENCY>
        <path>/tests/SCPF/SCPFscaleTopo/dependencies/</path>
        <wrapper1>startUp</wrapper1>
        <wrapper2>scaleTopoFunction</wrapper2>
        <wrapper3>topo</wrapper3>
        <multiovs>multiovs.py</multiovs>
    </DEPENDENCY>

    <TsharkPath>/tmp/scaleTopo_tshark_role_request</TsharkPath>

    <DATABASE>
        <dbPath>/tmp/scaleTopoResultDb</dbPath>
    </DATABASE>

    <ENV>
        <cellApps>drivers</cellApps>
    </ENV>

    <SearchTerm>
        <start>New switch connection</start>
        <end>Topology DefaultTopology</end>
        <Disconnect>Switch disconnected callback</Disconnect>
        <roleRequest>of_role_request</roleRequest>
    </SearchTerm>

    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>

    <CTRL>
        <port>6653</port>
        <numCtrls>3</numCtrls>
    </CTRL>

    <SLEEP>
        <startup>15</startup>
        <balance>10</balance>
        <nodeSleep>10</nodeSleep>
        <pingall>15</pingall>
        <MNsleep>60</MNsleep>
        <host>20</host>
    </SLEEP>

    <TIMEOUT>
        # pingall timeout unit: ms
        <pingall>0.03</pingall>
        # others unit: s
        <basicMininet>1000</basicMininet>
        <startNet>50</startNet>
        <stopNet>60</stopNet>
        <update>40</update>
        <links>60</links>
    </TIMEOUT>

    <ATTEMPTS>
        <topoCmp>1</topoCmp>
        <pingall>3</pingall>
    </ATTEMPTS>

    <TOPOLOGY>
        <topology>torus</topology>
        <scale>10,20,30,40,50,55,60</scale>
        <host>True</host>
    </TOPOLOGY>

</PARAMS>
