<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 - 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
    # 6000 - Test Multi Point intent End Point Failure

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

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

    <DEPENDENCY>
        <path>/tests/FUNCintent/Dependency/</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>
        <removeintent>10</removeintent>
        <checkintent>5</checkintent>
        <fwd>10</fwd>
        <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>
