<PARAMS>
    # CASE - Description
    # 1 - Variable initialization and optional pull and build ONOS package
    # 2 - Install ONOS
    # 8 - Compare Topology
    # 9 - Report logs
    # 10 - Start Mininet with Openflow 1.0
    # 11 - Start Mininet with Openflow 1.3
    # 12 - Assign switch to controller
    # 13 - Create Scapy Components
    # 14 - Discover hosts with Mininet Pingall
    # 15 - Discover hosts with Scapy arping ( only discovers scapy hosts )
    # 16 - Balance ownership of switches
    # 17 - Activate Flow Objectives
    # 18 - Stop Mininet
    # 19 - Copy karaf logs from ONOS nodes to TestON log directory
    # 1000 - Test host intents
    # 2000 - Test point intents
    # 3000 - Test single to multi point intents
    # 4000 - Test multi to single point intents
    # 5000 - Test host mobility
    # 6000 - Test Multi Point intent End Point Failure

    <testcases>1,[2,10,12,13,15,16,1000,2000,3000,4000,5000,6000,18,19]*2,[2,10,12,13,15,16,17,1000,2000,3000,4000,5000,6000,18,19]*2,[2,11,12,13,15,16,1000,2000,3000,4000,5000,6000,18,19]*2,[2,11,12,13,15,16,17,1000,2000,3000,4000,5000,6000,18,19]*2</testcases>

    <SCALE>
        <size>1,3,1,3,1,3,1,3</size>
    </SCALE>

    <DEPENDENCY>
        <path>/tests/FUNC/FUNCintent/dependencies/</path>
        <filePath>/dependencies/allocations.txt</filePath>
        <wrapper1>startUp</wrapper1>
        <wrapper2>FuncIntentFunction</wrapper2>
        <wrapper3>topo</wrapper3>
        <topology>newFuncTopo.py</topology>
    </DEPENDENCY>

    <ENV>
        <cellApps>drivers,openflow,proxyarp,mobility</cellApps>
    </ENV>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>

    <SLEEP>
        <startup>15</startup>
        <reroute>5</reroute>
        <removeintent>10</removeintent>
        <checkintent>10</checkintent>
        <fwd>10</fwd>
        <topoAttempts>3</topoAttempts>
        <flowDuration>10</flowDuration>
        <checkConnection>50</checkConnection>
        <checkFlowCount>200</checkFlowCount>
        <checkIntentHost>100</checkIntentHost>
        <checkIntentPoint>200</checkIntentPoint>
    </SLEEP>

    <MININET>
        <switch>7</switch>
        <links>20</links>
    </MININET>

    <SCAPY>
        <HOSTNAMES>h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16,h17,h18,h19,h20,h21,h22,h23,h24</HOSTNAMES>
    </SCAPY>

    # Intent tests params
    <SDNIP>
        <tcpProto>6</tcpProto>
        <ipPrototype>6</ipPrototype>
        <srcPort>5001</srcPort>
        <dstPort>5001</dstPort>
    </SDNIP>

</PARAMS>
