
<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>

    <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>
        <gitPull>False</gitPull>
        <gitBranch>master</gitBranch>
    </CASE1>

    <CASE2>
        <incPackaging>true</incPackaging>
    </CASE2>

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

    <CASE11>
        <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>
