<PARAMS>
    <testcases>1</testcases>

    <GRAPH>
        <nodeCluster>Fabric</nodeCluster>
        <builds>20</builds>
        <jobName>SRBridging-tofino</jobName>
    </GRAPH>

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

    <DEPENDENCY>
        <useCommonConf>False</useCommonConf>
        <useCommonTopo>True</useCommonTopo>
        <useBmv2>True</useBmv2>
        <bmv2SwitchType>stratum</bmv2SwitchType>
        <switchPrefix>tofino</switchPrefix>
        <stratumRoot>~/stratum</stratumRoot>
        <topology>trellis_fabric.py</topology>
        <lib>routinglib.py,trellislib.py,stratum.py</lib>
    </DEPENDENCY>

    <jsonFileSuffix>.hw</jsonFileSuffix>

    <MN_DOCKER>
        <args>--privileged --net host --rm -v topo:/topo -v ~/mininet/custom:/home/root/mininet/custom -v /var/run/openvswitch/:/var/run/openvswitch/ -v /tmp/mn-stratum:/tmp -v /tmp/mn_conf/:/home/root/config --hostname mn-stratum -v /etc/network/interfaces:/etc/network/interfaces -it -d</args>
        <name>trellis_mininet</name>
        <home>/home/root/</home>
    </MN_DOCKER>
    <CLUSTER>
        # Params for onos docker
        <dockerSkipBuild>True</dockerSkipBuild>
        <dockerBuildCmd>make ONOS_VERSION=onos-2.2 DOCKER_TAG=TestON-onos-2.2 onos-build trellis-control-build trellis-t3-build tost-build</dockerBuildCmd> # If using another cmd like make
        <dockerBuildTimeout>1200</dockerBuildTimeout>
        <dockerFilePath>~/tost-onos</dockerFilePath>
        <dockerImageTag>registry.aetherproject.org/tost/tost:master</dockerImageTag>
        <dockerOptions>-d --rm --network host -v ~/.ssh/authorized_keys:/root/.ssh/authorized_keys -v /tmp/cluster.json:/root/onos/config/cluster.json </dockerOptions> # We start the container detached, so the docker component can connect to cli instead of logs
        <atomixImageTag>atomix/atomix:3.1.5</atomixImageTag>
        <atomixOptions>-d --rm --network host -v ~/.ssh/authorized_keys:/root/.ssh/authorized_keys -v /tmp/atomix.json:/opt/atomix/conf/atomix.json </atomixOptions>
    </CLUSTER>


    <ENV>
        <cellName>productionCell</cellName>
        <cellApps>drivers,fpm,lldpprovider,hostprovider,netcfghostprovider,drivers.bmv2,org.opencord.fabric-tofino,pipelines.fabric,org.stratumproject.fabric-tna,drivers.barefoot,segmentrouting,t3</cellApps>
    </ENV>

    <EXTERNAL_APPS>
    </EXTERNAL_APPS>

    <ONOS_Configuration>
        <org.onosproject.grpc.ctl.GrpcChannelControllerImpl>
            <enableMessageLog>true</enableMessageLog>
        </org.onosproject.grpc.ctl.GrpcChannelControllerImpl>
    </ONOS_Configuration>

    <ONOS_Logging>
        <org.onosproject.events>TRACE</org.onosproject.events>
        <org.onosproject.segmentrouting>DEBUG</org.onosproject.segmentrouting>
        <org.onosproject.driver>DEBUG</org.onosproject.driver>
        <org.onosproject.net.flowobjective.impl>DEBUG</org.onosproject.net.flowobjective.impl>
        <org.onosproject.routeservice.impl>DEBUG</org.onosproject.routeservice.impl>
        <org.onosproject.routeservice.store>DEBUG</org.onosproject.routeservice.store>
        <org.onosproject.routing.fpm>DEBUG</org.onosproject.routing.fpm>
        <org.onosproject.fpm>DEBUG</org.onosproject.fpm>
        <org.onosproject.mcast>DEBUG</org.onosproject.mcast>
        <org.onosproject.p4runtime>DEBUG</org.onosproject.p4runtime>
        <org.onosproject.protocols.p4runtime>DEBUG</org.onosproject.protocols.p4runtime>
        <org.onosproject.drivers.p4runtime>DEBUG</org.onosproject.drivers.p4runtime>
        <org.onosproject.protocols.grpc>DEBUG</org.onosproject.protocols.grpc>
        <org.onosproject.protocols.gnmi>DEBUG</org.onosproject.protocols.gnmi>
        <org.onosproject.protocols.gnoi>DEBUG</org.onosproject.protocols.gnoi>
        <org.onosproject.drivers.gnoi>DEBUG</org.onosproject.drivers.gnoi>
        <org.onosproject.drivers.gmni>DEBUG</org.onosproject.drivers.gmni>
        <org.onosproject.drivers.barefoot>DEBUG</org.onosproject.drivers.barefoot>
        <org.opencord.fabric.tofino>DEBUG</org.opencord.fabric.tofino>
        <org.onosproject.bmv2>DEBUG</org.onosproject.bmv2>
    </ONOS_Logging>

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

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

    <timers>
        <LinkDiscovery>12</LinkDiscovery>
        <SwitchDiscovery>12</SwitchDiscovery>
    </timers>

    <SLEEP>
        <startup>10</startup>
    </SLEEP>

    <TOPO>
        <switchNum>1</switchNum>
        <linkNum>0</linkNum>
    </TOPO>

    <ALARM>
        <minPassPercent>100</minPassPercent>
    </ALARM>
</PARAMS>
