Trellis Platform Brief: First, Trellis Is Built Using Bare-Metal Switches With Merchant-Silicon Asics
Trellis Platform Brief: First, Trellis Is Built Using Bare-Metal Switches With Merchant-Silicon Asics
BEN EFI TS
Trellis Apps
ONOS Cluster
(SDN Controller)
SDN-based Bare-metal
Open-source Leaf-Spine Fabric
Spine
Upstream
Nodes Leaf (ToR) Routers
Compute
Nodes
Architecture
Classic-SDN. Trellis operates as a hybrid L2/L3 fabric. As a pure essentially every ToR is 2-hops away from every other ToR in a
(or classic) SDN solution, Trellis does not use any of the traditional 2-stage Clos, and there are multiple such equal-cost paths. Trellis
control protocols typically found in networking, a non-exhaustive supports routing both IPv4 and IPv6 traffic using ECMP groups.
list of which includes: STP, MSTP, RSTP, LACP, MLAG, PIM, IGMP,
OSPF, IS-IS, Trill, RSVP, LDP and BGP. Instead, Trellis uses an The need for supporting bridging and access/trunk VLANs comes
SDN Controller (ONOS) decoupled from the data-plane hardware out of the use of Trellis in NFV infrastructures, where VMs (VNFs)
to directly program ASIC forwarding tables using OpenFlow designed for legacy networks often expect to communicate
and with OF-DPA, an open-API from Broadcom running on with each other at L2, and also send and receive multiple VLAN
the switches. In this design, a set of applications running on tagged packets. When necessary, such VMs can be allocated on
ONOS implement all the fabric functionality and features, servers in the same bridging domain. In other cases, Trellis can
such as Ethernet switching, IP routing, multicast, DHCP Relay, also be configured to operate completely in L3 mode.
pseudowires and more.
MPLS Segment Routing. Trellis architecture internally uses
Bridging and Routing. The main fabric-control application Segment Routing (SR) concepts like globally significant MPLS
running on ONOS programs L2 forwarding (bridging) within a labels that are assigned to each leaf and spine switch. This
server-rack, and L3 forwarding (routing) across racks. The use minimizes label state in the network compared to traditional
of L3 down-to-the Top-of-Rack switches (ToRs) is a well-known MPLS networks where locally-significant labels have to be
concept in leaf-spine fabrics, mainly due to better scalability of swapped at each node. In Trellis, the leaf switches push an MPLS
L3 over L2. In such cases, the ToRs (leaves) route traffic by label designating the destination ToR (leaf) onto the IPv4 or IPv6
hashing IP flows to different spines using ECMP forwarding— traffic, before hashing the flows to the spines. In turn the spines
forward the traffic solely on the basis of the MPLS labels.
This design concept, popular in IP/MPLS WAN networks, has and scale. An ONOS cluster with 3 or 5 instances are all active
significant advantages. Since the spines only maintain label state, nodes doing work simultaneously, and failure handling is fully
it leads to significantly less programming burden and better automated and completely handled by the ONOS platform.
scale. For example, in one use case, the leaf switches may each
hold 100k+ IPv4/v6 routes, while the spine switches need to Topologies. Trellis supports a number of different topological
be programmed with only 10s of labels! As a result, completely variants. In its simplest instantiation, one could use a single
different ASICs can be used for the leaf and spine switches— leaf or a leaf-pair to connect servers, external routers and other
the leaves can have bigger routing tables and deeper buffers equipment like access nodes or physical appliances (PNFs). Such
while sacrificing switching capacity (example Broadcom a deployment can also be scaled horizontally into a
Qumrans), while the spines can have smaller tables with high leaf-and-spine fabric (2-level folded Clos), by adding 2 or 4
switching capacity (example Broadcom Tomahawks). spines and up to 10 leaves in single or paired configurations.
ONL & ONIE. Trellis switch software stack includes Open Furthermore, Trellis includes the capability for the same fabric
Network Linux (ONL) and Open Network Install Environment to be geographically distributed where subscriber traffic can be
(ONIE) from OCP. The switches are shipped with ONIE, a boot aggregated from multiple secondary locations, and delivered
loader that enables the installation of the target OS as part of the for processing by virtual-applications (VNFs) at the primary
provisioning process. ONL, a Linux distribution for bare metal location—a backhaul service. And it supports multiple different
switches, is used as the base operating system. It ships with a types of ASICs for different applications—both typical datacenter
number of additional drivers for bare metal switch hardware designed ASICs like Trident/Tomahawk and Tofino, but also
elements (eg. LEDs, SFPs), that are typically unavailable in normal ASICs with bigger tables, deeper buffers and many QoS
Linux distributions for bare-metal servers (eg. Ubuntu). capabilities like Qumran.
ONOS Cluster
Spine Spine
Field
Office
Internet
Leaf Leaf
Spine Spine
Central
Office
Use Cases
Distributed Fabric for Access/Edge Networking. As detailed server-leafs are dual-homed to compute nodes (servers) that host
in this whitepaper, Trellis is designed for NFV and Access/Edge all the VNFs intended for subscriber traffic tunnel-termination,
cloud applications. As such, Trellis is central to the CORD network processing and forwarding. One of the leaf-pairs is also
infrastructure. CORD is an architecture for Telco Central-Offices connected to two upstream routers that provide access to
or Cableco Head-Ends that aims to revolutionize the way they the SP’s metro/core network.
are built and operated. CORD brings together principles of SDN,
NFV and Cloud to build cost-effective, common, manageable Trellis apps are responsible for all network connectivity functions.
and agile infrastructure to enable rapid service creation at the They include authentication of the access nodes via 802.1x and
network edge. By extending the agility of the cloud to access MacSec, DHCP based IP address assignment to subscriber set-
networks for residential, enterprise and mobile subscribers, top boxes, routing unicast IPv4 and IPv6 traffic, IPTV support via
CORD aims to enable Edge Computing for next-gen services. v4 and v6 multicast, advertising subscriber routes to the upstream
routers, blackholing routes, DHCPv6 prefix delegation, VLAN
In one instantiation of this idea, Trellis is deployed in production cross-connects for enterprise subscribers and more.
at a Tier-1 US Service Provider’s network, in multiple geographies
with thousands of live subscribers. In this case, Trellis is deployed As of this writing, Trellis scales in production to roughly 10k
as a PPOD (physical pod) with up to 10 switches—2 spines, subscribers in a single PPOD, with around 50k IPv4 and IPv6
4 access-leafs and 2 pairs of server-leafs, that can serve up to routes resulting in roughly 110k flows in the whole system.
20k subscribers. The 4 access-leafs are single-homed to up to In lab settings, nearly double the scale deployed in production
192 remote access nodes, both optical and RF devices, which has been achieved. We continue to work with the service provider
further connect to residential and enterprise customers. The and our ecosystem partners to increase maximum capacity to
support even larger production PPOD configurations.
SEBA POD
Trellis Enhanced
Network Edge Mediator (NEM)
with Embedded
& Disaggregated
BNG Using P4, Trellis
Supporting Docker
ONF’s SDN VOLTHA Apps Trellis Apps BNG-control
K8s
Enabled Helm
Broadband SDN Controller – ONOS
Access (SEBA)
Platform
VOLTHA P4Runtime,
gNMI, gNOI
Stratum
ONU
Upstream
Servers Routers
Disaggregated BNG in SEBA Using P4. SDN Enabled In SEBA, dataplane traffic from such white-box OLTs are
Broadband Access (SEBA) is another instantiation of CORD. aggregated upstream by a Trellis leaf switch (or leaf-pair)
Indeed, the SEBA exemplar implementation today is built on and VLAN-cross-connected (L2-only) to upstream external
the CORD software platform, and the project itself is a variant Broadband Network Gateways (BNGs). As such, Trellis is used
of an earlier version known as R-CORD (or Residential-CORD). in its simplest form in SEBA.
SEBA today leverages disaggregation of broadband equipment
using SDN techniques, rather than relying on containers or However, SEBA intends to go further by continuing the
VNFs for processing subscriber data plane traffic. As a result disaggregation story by doing the same to the BNG.
SEBA ‘fastpaths’ all subscriber traffic from the access node to A vendor proprietary BNG today supports multiple functions
the external (upstream) backbone straight through hardware, like subscriber traffic termination (QinQ, PPPoE), H-QoS, routing,
thus achieving much greater scale multicast, lawful-intercept, accounting and more. Inspired by
prior work from Deutsche Telekom, these functions can also be
In SEBA today, headend equipment in Fiber-to-the-Home (FTTH) disaggregated in SEBA in an SDN way by implementing the
networks called OLTs are disaggregated using software from dataplane features in a P4-enabled switch, and control plane
ONF’s VOLTHA project. Vendor proprietary chassis-based OLT features as applications running on ONOS. In particular,
systems are replaced by simpler white-box OLTs, managed by Trellis already supports routing, multicast and QinQ termination
VOLTHA and a set of applications running on ONOS. In principle, functionality. Trellis is then enhanced by additional apps that
it is similar to how Trellis manages a fabric of whitebox switches program a P4-defined pipeline to perform PPPoE tunnel
with OF-DPA and a set of applications running on ONOS. termination and control traffic handling, anti-spoofing,
per subscriber accounting, policing, subscriber traffic
mirroring and more.
SEBA in its current form, with an external BNG, is being trailed Chassis Routers. As we described in the Architecture section,
by several operators, and expected to go into production in Trellis with its vRouter feature behaves just like a traditional
2020. SEBA with a disaggregated BNG embedded in Trellis chassis based router. Instead of spreading the leaf and spine
using P4 switches is currently under development by ONF and switches over multiple server-racks in a datacenter, housing the
the SEBA community. We expect this use-case to gain significant switches and controller-servers in the same rack essentially mimics
momentum next year. a chassis-router. The leaf switches are the line-cards, the spine
switches are the backplane, and the SDN controller servers are
Enterprise Datacenter Fabrics. While Trellis was targeted at redundant route processor (RP) cards (although RPs are typically
Service Provider access & edge applications, there is nothing active-backup while ONOS instances in each server are all active).
fundamental in its architecture that precludes it from being used
as an Enterprise datacenter fabric. Indeed, Trellis can be used as Technically, this approach is similar to what Google did in its B4
a pure L3 fabric, or a hybrid L2/L3 Clos fabric without any of the work. And if the goal is similar to B4 in its deployment in a private
additional features and characteristics meant for carrier access internal network—B4 is a private network connecting Google’s
network backends. datacenters—then Trellis with its current feature set is likely
sufficient to replace chassis-based routers. However if the goal
Enterprise datacenters, similar to carrier datacenters, typically is to replace a chassis-router in a public network, Trellis vRouter
have some form of virtualization/orchestration system, either would need to support more features and protocols like EVPNs
open-source (K8s,OpenStack) or commercial (VMWare, RedHat). or L3VPNs. Depending on the architecture of the public
These VM or container orchestration systems typically have network, there may also be a need to carry the full Internet
needs from the network expressed as a set of API calls (example routing table in addition to VPN routes. Trellis does not currently
OpenStack Neutron or K8s CNI) that are then implemented by support hardware that is capable of carrying the global Internet
plugins from several vendors for their proprietary or open-source routing table, although techniques exist that propose carrying
overlay networking solutions. only a subset of the full table in hardware FIBs, similar
to ‘working sets’ in Operating Systems. We encourage the
When working with overlay networks, Trellis can be treated as an open-source community to leverage Trellis as a foundation
underlay fabric. Both underlay and overlay networks/fabrics are for such explorations.
independently useful, and can be used independently. However,
in certain cases, it is beneficial for underlay and overlay to be
aware of each other and work together to deliver the goals of
the orchestration-system’s network API. Trellis’ northbound APIs
can be enhanced and integrated with various overlay networking
plugins to enable such cooperation. In another instantiation, the
overlay network can also be eliminated and Trellis can be the
sole provider of the orchestration system’s networking needs.
To enable the latter, Trellis would need to implement the plugin
into the orchestration system’s APIs and develop capabilities for
network virtualization. We encourage the open-source community
to leverage Trellis as a foundation for such explorations.
Specifications
FE AT URES DE SC R I P TI ON
SDN Features • ONOS cluster of all-active N instances affording N-way redundancy and scale, where N = 3 or N = 5
• Unified operations interface (GUI/REST/CLI)
• Centralized configuration – all configuration is done on controller instead of each individual switch
• Centralized role-based access control (RBAC)
• Automatic host (end-point) discovery – attached hosts, access-devices, appliances (PNFs), routers, etc.
based on ARP, DHCP, NDP, etc.
• Automatic switch, link and topology discovery and maintenance (keep-alives, failure recovery)
L2 Features Various L2 connectivity and tunneling support
• VLAN-based bridging
Access, Trunk and Native VLAN support
• VLAN cross connect
Forward traffic based on outer VLAN id
Forward traffic based on outer and inner VLAN id (QinQ)
• Pseudowire
L2 tunneling across the L3 fabric
Support tunneling based on double tagged and single tagged traffic
Support VLAN translation of outer tag
L3 Features IP connectivity
• IPv4 and IPv6 unicast routing (internal use of MPLS Segment Routing)
• Subnetting configuration on all non-spine facing leaf ports; no configuration required on any spine port
• IPv6 router advertisement
• ARP, NDP, IGMP handling
• Number of flows in spines greatly simplified by MPLS Segment Routing
• Further reduction of per-leaf flows with route optimization logic
DHCP Relay DHCP L3 relay
• DHCPv4 and DHCPv6
• DHCP server either directly attached to fabric leaves, or indirectly connected via upstream router
• DHCP client directly either attached to fabric leaves, or indirectly connected via LDRA
• Multiple DHCP servers for HA
vRouter vRouter presents the entire Trellis fabric as a single router (or dual-routers for HA), with disaggregated
control/data plane
• Uses open-source protocol implementations like Quagga (or FRR)
• BGPv4 and BGPv6
• Static routes
• Route blackholing
• ACLs based on port, L2, L3 and L4 headers
Multicast Centralized multicast tree computation, programming and management
• Support both IPv4 and IPv6 multicast
• Dual-homed multicast sinks for HA
• Multiple multicast sources for HA
Troubleshooting & • Troubleshooting tool – T3: Trellis Troubleshooting Tool
Diagnostics • Diagnostics one-click collection tool `onos-diags`
Topology • Single leaf (ToR) or dual-ToR (dual-homing)
• Supports typical leaf-spine topology, 2 to 4 spines, up to 10 leaves
• Multi-stage leaf-spine fabric (leaf-spine-spine-leaf)
• Can start at the smallest scale (single leaf) and grow horizontally
Specifications (continued)
FE AT URES DE SC R I P TI ON
Resiliency Provides HA in following scenarios
• Controller instance failure (requires 3 or 5 node ONOS cluster)
• Link failures
• Spine failure
Further HA support in following failure scenarios with dual-homing enabled
• Leaf failure
• Upstream router failure
• Host NIC failure
Scalability • (in production) Up to 50k routes, 110k flows, 8 Leaf, 2 Spines, with route optimization enabled
• (in pre-production) Up to 120k routes, 250k flows, 8 Leaf, 2 Spines, with route optimization enabled
Security • TLS-secured connection between controllers and switches (premium feature)
• AAA 802.1x authentication
• MACSec (L2 encapsulation)
P4-ready • Support for Stratum, P4Runtime and gNMI and P4 programs
• Innovative services enabled by programmable pipeline
BNG – PPPoE, anti-spoofing, accounting and more
GTP encap/decap
Overlay Support Can be used/integrated with 3rd party overlay networks (e.g. OpenStack Neutron, Kubernetes CNI)
Orchestrator Support Can be integrated with external orchestrator, logging, telemetry and alarm service via REST apis and
Kafka events
Controller Recommended (per ONOS instance)
Server Specs • CPU: 32 Cores
• RAM: 128GB RAM. 65GB dedicated to ONOS JVM heap (based on 50K routes)
Whitebox Switch • Multi-vendor: Edgecore, QCT, Delta, Inventec
Hardware • Multi-chipset
Broadcom Tomahawk, Trident2, Qumran
Barefoot Tofino
• 1/10G, 25G, 40G to 100G
• Refer to docs.trellisfabric.org/supported-hardware.html for the most up-to-date hardware list
Whitebox Switch • Open source ONL, ONIE and Indigo OF client
Software • (in production) OF-DPA software commercial version – contact Broadcom
• (in labs/trials) OF-DPA software community version available from ONF (for switch models based
on Trident and Tomahawk, not Qumran)
• (in labs/trails) Stratum available from ONF
Documentation docs.trellisfabric.org
ONF is an operator-led consortium transforming networks into For more technical information and tutorials: opennetworking.org/trellis
agile platforms for service delivery. To learn of the Trellis commercial ecosystem: [email protected]