<TOPOLOGY>
    <COMPONENT>
        <ONOScell>
            <host>localhost</host>  # ONOS "bench" machine
            <user>sdn</user>
            <password>rocks</password>
            <type>OnosClusterDriver</type>
            <connect_order>1</connect_order>
            <home></home>   # defines where onos home is on the build machine. Defaults to "~/onos/" if empty.
            <COMPONENTS>
                <useDocker>True</useDocker>  # Whether to use docker for ONOS nodes
                <docker_prompt>~/onos#</docker_prompt>
                <cluster_name></cluster_name>  # Used as a prefix for cluster components. Defaults to 'ONOS'
                <diff_clihost>True</diff_clihost> # if it has different host other than localhost for CLI. True or empty. OC# will be used if True.
                <karaf_username></karaf_username>
                <karaf_password></karaf_password>
                <web_user>sdn</web_user>
                <web_pass>rocks</web_pass>
                <rest_port></rest_port>
                <prompt></prompt>  # TODO: we technically need a few of these, one per component
                <onos_home></onos_home>  # defines where onos home is on the target cell machine. Defaults to entry in "home" if empty.
                <nodes> 7 </nodes>  # number of nodes in the cluster
            </COMPONENTS>
        </ONOScell>

        <SwitchLeaf1>
            <host>10.128.13.232</host>
            <user>root</user>
            <password>onl</password>
            <type>StratumOSSwitchDriver</type>
            <connect_order>2</connect_order>
            <COMPONENTS>
                <shortName>leaf1</shortName>
                <port1>1</port1>
                <link1>Host1</link1>
                <port2>2</port2>
                <link2>Host2</link2>
                <onosConfigPath>~/TestON/tests/USECASE/SegmentRouting/SRBridging/dependencies/json/</onosConfigPath>
                <onosConfigFile>tofino-onos-netcfg.json</onosConfigFile>
            </COMPONENTS>
        </SwitchLeaf1>

        <Host1>
            <host>10.128.13.253</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>HostDriver</type>
            <connect_order>6</connect_order>
            <COMPONENTS>
                <mac>3c:fd:fe:a8:ea:31</mac>
                <inband>false</inband>
                <ip>10.0.2.1</ip>
                <shortName>h1</shortName>
                <port1>0</port1>
                <link1>SwitchLeaf1</link1>
                <interfaceName>ens6f1</interfaceName>
                <routes>
                    <route1>
                        <network>10.0.2.0</network>
                        <netmask>24</netmask>
                        <gw></gw>
                        <interface></interface>
                    </route1>
                </routes>
            </COMPONENTS>
        </Host1>

        <Host2>
            <host>10.128.13.253</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>HostDriver</type>
            <connect_order>7</connect_order>
            <COMPONENTS>
                <mac>3c:fd:fe:a8:ea:30</mac>
                <inband>false</inband>
                <ip>10.0.2.2</ip>
                <shortName>h2</shortName>
                <port1>0</port1>
                <link1>SwitchLeaf1</link1>
                <interfaceName>ens6f0</interfaceName>
                <routes>
                    <route1>
                        <network>10.0.2.0</network>
                        <netmask>24</netmask>
                        <gw></gw>
                        <interface></interface>
                    </route1>
                </routes>
            </COMPONENTS>
        </Host2>

        <NetworkBench>
            <host>10.128.13.253</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>NetworkDriver</type>
            <connect_order>10</connect_order>
            <COMPONENTS>
            </COMPONENTS>
        </NetworkBench>

    </COMPONENT>
</TOPOLOGY>
