Quick Start
***********

Trellis in a Box
----------------
`Trellis in a Box (TiaB) <https://github.com/opennetworkinglab/routing/tree/master/trellis>`_ is a software emulated environment that allows people to run Trellis without hardware switches.
TiaB comes with a few Mininet scripts that emulate various network topologies from a **simple 2x2 leaf-spine** to a **full multi-stage** fabric.
The configurations corresponding to each topology are also packaged together such that you can start the environment right away.

Currently TiaB only emulates the data plane, meaning that you will have to run ONOS separately.
We plan to integrate the control plane (ONOS) in the future.


Trellis with Stratum
--------------------
There is another tutorial of `How to Use Trellis with Stratum Switches <https://github.com/stratum/stratum/tree/master/tools/mininet/examples/trellis>`_.
This is also a software emulated environment similar to TiaB. But unlike TiaB, this tutorial uses ``stratum-bmv2`` to emulate the data plane switches instead of ``ovs``.

This tutorial focuses more on Trellis and Stratum integration and therefore only demonstrates a **simple 2x2 leaf-spine** topology.
