<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 all hosts and Create a dictionary of hosts information
    # 15 - Discover hosts with scapy arping ( only discovers scapy hosts )
    # 16 - Balance ownership of switches
    # 17 - Activate Flow Objectives
    # 18 - Stop Mininet
    # 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

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

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

    <DEPENDENCY>
        <path>/tests/FUNC/FUNCintentRest/dependencies/</path>
        <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>
        <checkintent>5</checkintent>
        <removeintent>10</removeintent>
        <fwd>10</fwd>
        <addIntent>10</addIntent>
        <topoAttempts>3</topoAttempts>
    </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>
        <icmpProto>1</icmpProto>
        <srcPort>5001</srcPort>
        <dstPort>5001</dstPort>
    </SDNIP>

</PARAMS>
