
.. image:: images/trellis.png
   :width: 500px
   :align: center

Overview
========

Trellis is an **open-source multi-purpose L2/L3 leaf-spine switching fabric**.
The development of Trellis over the last four years has been influenced by three core trends in the networking industry:

- First, **Trellis is built using bare-metal switches with merchant-silicon ASICs**.
  Instead of using OEM networking hardware, Trellis uses hardware directly from ODMs.
  The trend of using bare-metal (white-box) switches is unmistakable in the networking industry today, spurred by the massive bandwidth-density and growing sophistication of merchant silicon ASICs.
  Production quality Trellis today is based on EdgeCore switches with Broadcom Trident2, Tomahawk and Qumran switch ASICs.
  The Trellis team continues to work towards including more ODMs and merchant silicon vendors.

- Second, **Trellis is based on SDN principles**, to provide simpler, more flexible and easily customizable networks.
  By externalizing the network’s control, management functions and policy decisions in the ONOS SDN controller,
  Trellis provides network operators with a number of SDN benefits compared to traditional box-embedded network control.
  These include centralized configuration, automation, operation and troubleshooting.

- Third, **Trellis is open-source**.
  The networking industry has seen an explosion of open source projects, and network operators have been eager to embrace open-source solutions.
  Trellis allows operators unparalleled ability to customize Trellis for their application, integrate with the rest of their systems,
  add features and APIs themselves and not be beholden to a traditional vendor’s timelines and prices.
  An absence of commercial licenses lowers the bar for anyone to try out Trellis.

Together, all three attributes of Trellis considerably lower the Total Cost of Ownership (TCO) for operators who plan to run it in production.

.. note::
    You can learn more about Trellis features and design concepts by visiting the `Project Website <https://opennetworking.org/trellis>`_ and
    reading the `Platform Brief <https://www.opennetworking.org/wp-content/uploads/2019/09/TrellisPlatformBrief.pdf>`_.


Highlights
==========
- Classic-SDN Control with ONOS to directly program ASIC forwarding tables in bare metal switches with merchant silicon
- L2 forwarding (Bridging) within server-racks and L3 forwarding (Routing) across racks
- MPLS Segment routing for better scale and reduced programming
- Control plane functionality with Trellis vRouter for external connectivity
- N-way redundancy and tier-1 telecom operator scale
- Support for different use cases ranging from Central Office to backhaul in operator networks
- Single-pane-of-glass monitoring and troubleshooting with ONOS
- CapEx and OpEx savings with white-box hardware and open source software
- Future Proof: P4 and Stratum integration to unlock advanced capabilities


Use Cases
=========

Distributed Fabric for Access/Edge Networking
---------------------------------------------

    .. image:: images/index-usecase-edge.png
       :width: 800px

Disaggregated BNG in SEBA using P4
----------------------------------

    .. image:: images/index-usecase-seba.png
       :width: 800px

Enterprise Datacenter Fabrics
-----------------------------
    .. image:: images/index-usecase-dc.png
       :width: 700px

Chassis Routers
---------------
    .. image:: images/index-usecase-chassis.png
       :width: 600px

Get Started
===========
- Read the `Quick Start <quickstart.html>`_ guide and get some hands on experiences.
- Stay in touch by joining

  - `Trellis Developer Mailing List <https://groups.google.com/a/opennetworking.org/forum/#!forum/trellis-dev>`_
  - \#trellis channel in `ONOS Slack <https://onosproject.slack.com>`_ (`register <https://slackin.onosproject.org/>`_)

.. toctree::
   :maxdepth: 1
   :hidden:
   :caption: Table of Contents

   architecture
   specification
   supported-hardware
   supported-topology
   quickstart
   installation
   configuration
   troubleshooting
   development
   testing
   documentation
