<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,a</neighbors>                      #list of number of neighbors, a = all
        <flows>122500</flows>
        <switches>35</switches>
        <cooldown>10</cooldown>
        <testCMD0>flow-tester.py -f</testCMD0>          #base command
        <testCMD1> -n </testCMD1>                       #neighbors

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