<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>5</checkintent>
        <fwd>10</fwd>
        <topoAttempts>3</topoAttempts>
        <flowDuration>10</flowDuration>
        <checkConnection>30</checkConnection>
        <checkFlowCount>20</checkFlowCount>
        <checkIntentHost>5</checkIntentHost>
        <checkIntentPoint>5</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>
