
<PARAMS>
    # CASE - Descritpion
    # 1 - Variable initialization and optional pull and build ONOS package
    # 2 - install ONOS
    # 8 - Compare topology
    # 9 - Report logs
    # 10 - Start mininet and assign switches to controller
    # 1000 - Add flows
    # 2000 - Delete flows
    # 3000 - Modify flow rule selectors
    # 4000 - Modify flow rule treatments
    # 5000 - flow rule controller
    # 100 - Compare switch flow table with ONOS
    <testcases>1,2,10</testcases>

    <SCALE>
        <max>3</max>
    </SCALE>

    <DEPENDENCY>
        <path>/tests/FUNCflow/Dependency/</path>
        <wrapper1>startUp</wrapper1>
        <topology>flow-2sw.py</topology>
    </DEPENDENCY>

    <TOPO>
        <numSwitches>2</numSwitches>
        <numHosts>4</numHosts>
        <numLinks>10</numLinks>
    </TOPO>

    <ENV>
        <cellName>productionCell</cellName>
        <cellApps>drivers,openflow,proxyarp,mobility</cellApps>
    </ENV>

    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>

    <CTRL>
        <port>6653</port>
    </CTRL>

    <SLEEP>
        <startup>15</startup>
    </SLEEP>

</PARAMS>
