<TOPOLOGY>
    <COMPONENT>

        <ONOScell>
            <host>localhost</host>  # ONOS "bench" machine
            <user>sdn</user>
            <password>rocks</password>
            <type>OnosClusterDriver</type>
            <connect_order>1</connect_order>
            <COMPONENTS>
                <cluster_name></cluster_name>  # Used as a prefix for cluster components. Defaults to 'ONOS'
                <diff_clihost></diff_clihost> # if it has different host other than localhost for CLI. True or empty. OC# will be used for True.
                <karaf_username></karaf_username>
                <karaf_password></karaf_password>
                <web_user></web_user>
                <web_pass></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
                <nodes> 1 </nodes>  # number of nodes in the cluster
            </COMPONENTS>
        </ONOScell>

        <MininetSwitch1>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetSwitchDriver</type>
            <connect_order>2</connect_order>
            <COMPONENTS>
                <shortName>s1</shortName>
                <port1>1</port1>
                <link1>MininetHost1</link1>
                <port2>2</port2>
                <link2>MininetHost2</link2>
                <port3>3</port3>
                <link3>MininetHost3</link3>
                <port4>4</port4>
                <link4>MininetHost4</link4>
            </COMPONENTS>
        </MininetSwitch1>

        <MininetHost1>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetHostDriver</type>
            <connect_order>3</connect_order>
            <COMPONENTS>
                <ip>10.0.0.1</ip>
                <shortName>h1</shortName>
                <port1>0</port1>
                <link1>MininetSwitch1</link1>
            </COMPONENTS>
        </MininetHost1>

        <MininetHost2>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetHostDriver</type>
            <connect_order>4</connect_order>
            <COMPONENTS>
                <ip>10.0.0.2</ip>
                <shortName>h2</shortName>
                <port1>0</port1>
                <link1>MininetSwitch1</link1>
            </COMPONENTS>
        </MininetHost2>

        <MininetHost3>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetHostDriver</type>
            <connect_order>5</connect_order>
            <COMPONENTS>
                <ip>10.0.0.3</ip>
                <shortName>h3</shortName>
                <port1>0</port1>
                <link1>MininetSwitch1</link1>
            </COMPONENTS>
        </MininetHost3>

        <MininetHost4>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetHostDriver</type>
            <connect_order>6</connect_order>
            <COMPONENTS>
                <ip>10.0.0.4</ip>
                <shortName>h4</shortName>
                <port1>0</port1>
                <link1>MininetSwitch1</link1>
            </COMPONENTS>
        </MininetHost4>

        <NetworkBench>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>NetworkDriver</type>
            <connect_order>7</connect_order>
            <COMPONENTS>
            </COMPONENTS>
        </NetworkBench>

        <h1>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetHostScapyCliDriver</type>
            <connect_order>8</connect_order>
            <COMPONENTS>
                <ifaceName>h1-eth0</ifaceName>
            </COMPONENTS>
        </h1>

        <h2>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetHostScapyCliDriver</type>
            <connect_order>9</connect_order>
            <COMPONENTS>
                <ifaceName>h2-eth0</ifaceName>
            </COMPONENTS>
        </h2>

        <h3>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetHostScapyCliDriver</type>
            <connect_order>10</connect_order>
            <COMPONENTS>
                <ifaceName>h3-eth0</ifaceName>
            </COMPONENTS>
        </h3>

        <h4>
            <host>OCN</host>
            <user>sdn</user>
            <password>rocks</password>
            <type>MininetHostScapyCliDriver</type>
            <connect_order>11</connect_order>
            <COMPONENTS>
                <ifaceName>h4-eth0</ifaceName>
            </COMPONENTS>
        </h4>

    </COMPONENT>
</TOPOLOGY>
