<PARAMS>

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

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



    <ENV>
        <cellName>flowTP</cellName>
        <cellApps>drivers,null,demo</cellApps>
    </ENV>

    <TEST>
        <enableFlowRuleStoreBackup>true</enableFlowRuleStoreBackup>
        <warmUp>5</warmUp>                              #number of runs to warm up the system
        <sampleSize>20</sampleSize>                     #number of runs to take data from
        <neighbors>0,0,a,0,a,0,a</neighbors>                      #list of number of neighbors, a = all
        <flows>122500</flows>
        <flowObj>False</flowObj>                         #flow objectives will be tested
        <flowObjectives>10000</flowObjectives>
        <flowObjType>filter</flowObjType>               #flow objective type i.e. either forward
        <switches>35</switches>
        <cooldown>10</cooldown>
        <testCMD0>flow-tester.py -f</testCMD0>          #base command
        <testCMD1> -n </testCMD1>                       #neighbors
        <testCMD2>flow-obj-tester.py -f</testCMD2>
        <testCMD3> -t </testCMD3>                       #flow objective type
        <flowResultFile>/tmp/flowTP1gDB</flowResultFile>
        <flowObjResultFile>/tmp/flowTP1gDBFlowObj</flowObjResultFile>

    </TEST>
    <CFG>
        <flowRule>org.onosproject.store.flow.impl.DistributedFlowRuleStore</flowRule>
        <nullProvider>org.onosproject.provider.nil.NullProviders</nullProvider>
    </CFG>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>

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