
<PARAMS>
    <!--
    # CASE - Descritpion
    # 1,2,10,1000,1100,2000,1200,2000,100
    # 1 - Variable initialization and optional pull and build ONOS package
    # 2 - package onos, clean by uninstalling onos, install ONOS, start cli
    # 10 - Start mininet and verify topology
    # 11 - Start Null Provider linear topology
    # 110 - check log for errors
    # 1000 - build flow batches
    # 2100 - REST POST flow batches in multiple threads and check till all ADDED
    # 3100 - REST DELETE flow batches in multiple threads and check till all REMOVED
    -->

    <!-- <testcases>1,10,100,1000,100,2000,100,110</testcases> -->
    <testcases>1,2,10,100,1000,2100,100,3100,100,110,210</testcases>
    <GRAPH>
        <nodeCluster>BM</nodeCluster>
        <builds>20</builds>
    </GRAPH>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>
    <GLOBAL>
        <maxNodes>1</maxNodes> # currently only runs in single node onos
        <numSw>63</numSw> # Number of devices used in topology
        <numThreads>4</numThreads> #Number of Threads to use for POST and DELETE
        <cluster>baremetal1</cluster>
        <SLEEP>
            <startup>15</startup>
            <startMN>15</startMN>
            <addFlow>10</addFlow>
            <delFlow>10</delFlow>
            <chkFlow>0.5</chkFlow>
            <cfg>5</cfg>
        </SLEEP>
    </GLOBAL>

    <CASE1>
        <cellName>temp</cellName>
        <cellApps>drivers</cellApps>
    </CASE1>

    <CASE2>
        <skipPackaging>false</skipPackaging>
    </CASE2>

    <CASE10>
        <app>org.onosproject.openflow-base</app>
        <cfg>org.onosproject.provider.of.flow.impl.OpenFlowRuleProvider</cfg>
        <adaptiveFlowenabled>false</adaptiveFlowenabled>
        <mnArgs> --topo linear,{} --switch ovsk,protocols=OpenFlow13 --controller remote,port=6653</mnArgs>
    </CASE10>

    <CASE11>
        <cfg>org.onosproject.provider.nil.NullProviders</cfg>
        <nullTopo>linear</nullTopo>
        <nullStart>true</nullStart>
    </CASE11>

    <CASE1000>
        <batchSize>200</batchSize>
        <batches>500</batches>
    </CASE1000>

    <CASE2100>
        <numThreads>4</numThreads>
        <RESTchkFlow>main.FALSE</RESTchkFlow>
        <chkFlowTO>200</chkFlowTO>
    </CASE2100>

    <CASE3100>
        <RESTchkFlow>main.FALSE</RESTchkFlow>
        <chkFlowTO>200</chkFlowTO>
    </CASE3100>

</PARAMS>
