<PARAMS>
    <testcases>2</testcases>

    <GRAPH>
        <nodeCluster>staging</nodeCluster>
        <builds>20</builds>
        <jobName>SRstratumRestart</jobName>
        <branch>master</branch>
    </GRAPH>

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

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

    <jsonFileSuffix>.hw</jsonFileSuffix>

    <persistent_setup>True</persistent_setup>

    <use_stern>True</use_stern>

    <kubernetes>
        <appName>onos-classic</appName>
        <namespace>tost</namespace>
    </kubernetes>

    <PERF>
        <traffic_host>Host1 Host2 Host3</traffic_host>
        <pcap_host>ng40vm</pcap_host>
        <pcap_cmd_arguments>-t e -F pcap -s 100 </pcap_cmd_arguments>
        <iterations>1</iterations>
        <topo>
            <leaf1>
                <ports>132 148 140 156</ports>
                <note>eNB</note>
            </leaf1>
            <leaf2>
                <ports>260 268 276 284</ports>
                <note>upstream</note>
            </leaf2>
            <spine1>
                <ports>132 140 148 156</ports>
                <note>spine</note>
            </spine1>
            <spine2>
                <ports>132 140 148 156</ports>
                <note>spine</note>
            </spine2>
        </topo>
    </PERF>
    <ONOS_Logging>
        <org.onosproject.p4runtime.ctl.client>DEBUG</org.onosproject.p4runtime.ctl.client>
        <org.onosproject.p4runtime.ctl.client.writerequestimpl>TRACE</org.onosproject.p4runtime.ctl.client.writerequestimpl>
        <org.onosproject.segmentrouting>DEBUG</org.onosproject.segmentrouting>
        <org.onosproject.gnmi.ctl>TRACE</org.onosproject.gnmi.ctl>
    </ONOS_Logging>
    <ONOS_Logging_Reset>
        <org.onosproject.p4runtime.ctl.client>INFO</org.onosproject.p4runtime.ctl.client>
        <org.onosproject.p4runtime.ctl.client.writerequestimpl>INFO</org.onosproject.p4runtime.ctl.client.writerequestimpl>
        <org.onosproject.segmentrouting>DEBUG</org.onosproject.segmentrouting>
        <org.onosproject.gnmi.ctl>INFO</org.onosproject.gnmi.ctl>
    </ONOS_Logging_Reset>


    <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>

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

    <timers>
        <LinkDiscovery>12</LinkDiscovery>
        <SwitchDiscovery>12</SwitchDiscovery>
        <TrafficDiscovery>10</TrafficDiscovery>
    </timers>

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

    <TOPO>
        <switchNum>4</switchNum>
        <linkNum>16</linkNum>
    </TOPO>

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