Zack Williams | 553a363 | 2019-08-09 17:14:43 -0700 | [diff] [blame] | 1 | |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 2 | .. image:: images/trellis.png |
| 3 | :width: 500px |
| 4 | :align: center |
| 5 | |
Charles Chan | 369aa05 | 2019-09-11 16:59:04 -0700 | [diff] [blame] | 6 | Overview |
| 7 | ======== |
| 8 | |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 9 | Trellis is an **open-source multi-purpose L2/L3 leaf-spine switching fabric**. |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 10 | |
| 11 | The development of Trellis over the last four years has been influenced by |
| 12 | three core trends in the networking industry: |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 13 | |
| 14 | - First, **Trellis is built using bare-metal switches with merchant-silicon ASICs**. |
| 15 | Instead of using OEM networking hardware, Trellis uses hardware directly from ODMs. |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 16 | |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 17 | The trend of using bare-metal (white-box) switches is unmistakable in the |
| 18 | networking industry today, spurred by the massive bandwidth-density and |
| 19 | growing sophistication of merchant silicon ASICs. |
| 20 | |
| 21 | Production quality Trellis today is based on EdgeCore switches with Broadcom |
| 22 | Trident2, Tomahawk and Qumran switch ASICs. The Trellis team continues to |
| 23 | work towards including more ODMs and merchant silicon vendors. |
| 24 | |
| 25 | - Second, **Trellis is based on SDN principles**, to provide simpler, more |
| 26 | flexible and easily customizable networks. By externalizing the network’s |
| 27 | control, management functions and policy decisions in the ONOS SDN |
| 28 | controller, Trellis provides network operators with a number of SDN benefits |
| 29 | compared to traditional box-embedded network control. These include |
| 30 | centralized configuration, automation, operation and troubleshooting. |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 31 | |
| 32 | - Third, **Trellis is open-source**. |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 33 | The networking industry has seen an explosion of open source projects, and |
| 34 | network operators have been eager to embrace open-source solutions. Trellis |
| 35 | allows operators unparalleled ability to customize Trellis for their |
| 36 | application, integrate with the rest of their systems, add features and APIs |
| 37 | themselves and not be beholden to a traditional vendor’s timelines and |
| 38 | prices. An absence of commercial licenses lowers the bar for anyone to try |
| 39 | out Trellis. |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 40 | |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 41 | Together, all three attributes of Trellis considerably lower the Total Cost of |
| 42 | Ownership (TCO) for operators who plan to run it in production. |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 43 | |
Charles Chan | 6613eac | 2019-09-17 15:42:48 -0700 | [diff] [blame] | 44 | .. note:: |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 45 | You can learn more about Trellis features and design concepts by visiting |
| 46 | the `Project Website <https://opennetworking.org/trellis>`_ and reading the |
| 47 | `Platform Brief |
| 48 | <https://www.opennetworking.org/wp-content/uploads/2019/09/TrellisPlatformBrief.pdf>`_. |
Charles Chan | 6613eac | 2019-09-17 15:42:48 -0700 | [diff] [blame] | 49 | |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 50 | |
| 51 | Highlights |
| 52 | ========== |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 53 | |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 54 | - Classic-SDN Control with ONOS to directly program ASIC forwarding tables in |
| 55 | bare metal switches with merchant silicon |
| 56 | |
| 57 | - L2 forwarding (Bridging) within server-racks and L3 forwarding (Routing) |
| 58 | across racks |
| 59 | |
| 60 | - MPLS Segment routing for better scale and reduced programming |
| 61 | |
| 62 | - Control plane functionality with Trellis vRouter for external connectivity |
| 63 | |
| 64 | - N-way redundancy and tier-1 telecom operator scale |
| 65 | |
| 66 | - Support for different use cases ranging from Central Office to backhaul in |
| 67 | operator networks |
| 68 | |
| 69 | - Single-pane-of-glass monitoring and troubleshooting with ONOS |
| 70 | |
| 71 | - CapEx and OpEx savings with white-box hardware and open source software |
| 72 | |
| 73 | - Future Proof: P4 and Stratum integration to unlock advanced capabilities |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 74 | |
| 75 | Use Cases |
| 76 | ========= |
| 77 | |
| 78 | Distributed Fabric for Access/Edge Networking |
| 79 | --------------------------------------------- |
| 80 | |
Charles Chan | 369aa05 | 2019-09-11 16:59:04 -0700 | [diff] [blame] | 81 | .. image:: images/index-usecase-edge.png |
| 82 | :width: 800px |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 83 | |
| 84 | Disaggregated BNG in SEBA using P4 |
| 85 | ---------------------------------- |
| 86 | |
Charles Chan | 369aa05 | 2019-09-11 16:59:04 -0700 | [diff] [blame] | 87 | .. image:: images/index-usecase-seba.png |
| 88 | :width: 800px |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 89 | |
| 90 | Enterprise Datacenter Fabrics |
| 91 | ----------------------------- |
Charles Chan | 369aa05 | 2019-09-11 16:59:04 -0700 | [diff] [blame] | 92 | .. image:: images/index-usecase-dc.png |
| 93 | :width: 700px |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 94 | |
| 95 | Chassis Routers |
| 96 | --------------- |
Charles Chan | 369aa05 | 2019-09-11 16:59:04 -0700 | [diff] [blame] | 97 | .. image:: images/index-usecase-chassis.png |
| 98 | :width: 600px |
Charles Chan | 1d33765 | 2019-09-08 12:02:27 -0700 | [diff] [blame] | 99 | |
Charles Chan | b6ab680 | 2019-09-20 15:44:35 -0700 | [diff] [blame] | 100 | Get Started |
| 101 | =========== |
Charles Chan | b6ab680 | 2019-09-20 15:44:35 -0700 | [diff] [blame] | 102 | |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 103 | - Read the `Quick Start <quickstart.html>`_ guide and get some hands on |
| 104 | experiences. |
| 105 | |
| 106 | - Stay in touch by joining: |
| 107 | |
| 108 | - `Trellis Developer Mailing List |
| 109 | <https://groups.google.com/a/opennetworking.org/forum/#!forum/trellis-dev>`_ |
| 110 | |
| 111 | - \#trellis channel in `ONOS Slack <https://onosproject.slack.com>`_ |
| 112 | (`register <https://slackin.onosproject.org/>`_) |
Charles Chan | b6ab680 | 2019-09-20 15:44:35 -0700 | [diff] [blame] | 113 | |
Zack Williams | 553a363 | 2019-08-09 17:14:43 -0700 | [diff] [blame] | 114 | .. toctree:: |
| 115 | :maxdepth: 1 |
Charles Chan | dffd4ed | 2019-09-07 11:40:18 -0700 | [diff] [blame] | 116 | :hidden: |
Charles Chan | 2fd73da | 2019-08-30 16:36:33 -0700 | [diff] [blame] | 117 | :caption: Table of Contents |
Zack Williams | 553a363 | 2019-08-09 17:14:43 -0700 | [diff] [blame] | 118 | |
Zack Williams | 553a363 | 2019-08-09 17:14:43 -0700 | [diff] [blame] | 119 | architecture |
Charles Chan | 6613eac | 2019-09-17 15:42:48 -0700 | [diff] [blame] | 120 | specification |
Charles Chan | 4d5ee19 | 2019-09-09 23:08:36 -0700 | [diff] [blame] | 121 | supported-hardware |
Charles Chan | b6ab680 | 2019-09-20 15:44:35 -0700 | [diff] [blame] | 122 | supported-topology |
| 123 | quickstart |
Zack Williams | 553a363 | 2019-08-09 17:14:43 -0700 | [diff] [blame] | 124 | installation |
| 125 | configuration |
Zack Williams | 553a363 | 2019-08-09 17:14:43 -0700 | [diff] [blame] | 126 | troubleshooting |
Charles Chan | b6ab680 | 2019-09-20 15:44:35 -0700 | [diff] [blame] | 127 | development |
Zack Williams | 553a363 | 2019-08-09 17:14:43 -0700 | [diff] [blame] | 128 | testing |
Charles Chan | 3487b4a | 2019-09-23 11:16:10 -0700 | [diff] [blame] | 129 | documentation |