<PARAMS>
    # CASE - Description
    # 1 - Variable initialization and optional pull and build ONOS package
    # 2 - Install ONOS
    # 11 - Start Mininet with Openflow 1.3 (Use OpenvSwitch version more than 2.3.1)
    # 12 - Assign switch to controller
    # 13 - Discover hosts with Mininet Pingall(proto="IPV6")
    # 14 - Stop Mininet
    # 16 - Balance ownership of switches
    # 1000 - Test host intents
    # 2000 - Test Point Intent
    # 3000 - Test Single To Multi Point Intent
    # 4000 - Test multi to single point intents
    # 5000 - Test host mobility
    # 6000 - Test Multi Point intent End Point Failure

    <testcases>1,2,11,12,13,16,1000,2000,3000,4000,5000,6000,14</testcases>

    <GRAPH>
        <nodeCluster>VM</nodeCluster>
        <builds>20</builds>
    </GRAPH>

    <SCALE>
        <size>1</size>
    </SCALE>

    <DEPENDENCY>
        <path>/tests/FUNC/FUNCipv6Intent/dependencies/</path>
        <wrapper1>startUp</wrapper1>
        <wrapper2>FUNCIpv6IntentFunction</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>

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

</PARAMS>
