<PARAMS>

    <testcases>0,1,2,1,2,1,2,1,2</testcases>

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

    <ENV>
        <cellName>intentRerouteCell</cellName>
        <cellApps>drivers,null,metrics</cellApps>
    </ENV>

    <DEPENDENCY>
        <FILE1>intentRerouteLatFuncs</FILE1>
        <PATH>/tests/SCPF/SCPFintentRerouteLat/dependencies/</PATH>
    </DEPENDENCY>

    <SEARCHTERM>
        <TopologyTime>TopologyManager</TopologyTime>
        <InstallTime>INSTALLED</InstallTime>
    </SEARCHTERM>

    <TEST>
        <warmUp>5</warmUp>
        <sampleSize>20</sampleSize>
        <intents>1,100,1000</intents>                       #list format, will be split on ','
        <FObjintents>1,100</FObjintents>
        <ingress>null:0000000000000001/0</ingress>
        <egress>null:0000000000000007/0</egress>
        <debug>False</debug>
        <flowObj>False</flowObj>
        <deviceCount>8</deviceCount>
        <end1>
            <name>null:0000000000000004</name>
            <port>0000000000000004/1</port>
        </end1>
        <end2>
            <name>null:0000000000000003</name>
            <port>0000000000000003/2</port>>
        </end2>
    </TEST>

    <DATABASE>
        <dbName>/tmp/IntentRerouteLatDB</dbName>
        <dbFlowObj>/tmp/IntentRerouteLatDBWithFlowObj</dbFlowObj>
    </DATABASE>

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

    <ATTEMPTS>
        <verify>5</verify>
        <maxInvalidRun>10</maxInvalidRun>
    </ATTEMPTS>

    <SLEEP>
        <startup>5</startup>
        <setmaster>5</setmaster>
        <install>10</install>
        <verify>10</verify>
        # timeout for pexpect
        <timeout>300</timeout>
    </SLEEP>
    <CFG>
        <intentManager>org.onosproject.net.intent.impl.IntentManager</intentManager>
        <intentConfigRegi>org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator</intentConfigRegi>
        <nullProvider>org.onosproject.provider.nil.NullProviders</nullProvider>
        <linkCollectionIntent>org.onosproject.net.intent.impl.compiler.LinkCollectionIntentObjectiveCompiler</linkCollectionIntent>
    </CFG>
    <CTRL>
        <USER>sdn</USER>

        <ip1>OC1</ip1>
        <port1>6653</port1>

        <ip2>OC2</ip2>
        <port2>6653</port2>

        <ip3>OC3</ip3>
        <port3>6653</port3>

        <ip4>OC4</ip4>
        <port4>6653</port4>

        <ip5>OC5</ip5>
        <port5>6653</port5>

        <ip6>OC6</ip6>
        <port6>6653</port6>

        <ip7>OC7</ip7>
        <port7>6653</port7>

    </CTRL>

    <MN>
        <ip1>OCN</ip1>
    </MN>

    <BENCH>
        <user>sdn</user>
        <ip1>localhost</ip1>
    </BENCH>

    <JSON>
    </JSON>

</PARAMS>
