Charles Chan | 6613eac | 2019-09-17 15:42:48 -0700 | [diff] [blame] | 1 | Specifications |
| 2 | ************** |
| 3 | |
| 4 | |
| 5 | SDN Features |
| 6 | ============ |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 7 | |
Charles Chan | 6613eac | 2019-09-17 15:42:48 -0700 | [diff] [blame] | 8 | - ONOS cluster of all-active N instances affording N-way redundancy and scale, where N = 3 or N = 5. |
| 9 | - Unified operations interface (GUI/REST/CLI) |
| 10 | - Centralized configuration – all configuration is done on controller instead of each individual switch |
| 11 | - Centralized role-based access control (RBAC) |
| 12 | - Automatic host (end-point) discovery – attached hosts, access-devices, appliances (PNFs), routers, etc. |
| 13 | - based on ARP, DHCP, NDP, etc. |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 14 | - Automatic switch, link and topology discovery and maintenance (keepalive, failure recovery) |
Charles Chan | 6613eac | 2019-09-17 15:42:48 -0700 | [diff] [blame] | 15 | |
| 16 | L2 Features |
| 17 | =========== |
| 18 | Various L2 connectivity and tunneling support |
| 19 | - VLAN-based bridging |
| 20 | |
| 21 | - Access, Trunk and Native VLAN support |
| 22 | - VLAN cross connect |
| 23 | |
| 24 | - Forward traffic based on outer VLAN id |
| 25 | - Forward traffic based on outer and inner VLAN id (QinQ) |
| 26 | - Pseudowire |
| 27 | |
| 28 | - L2 tunneling across the L3 fabric |
| 29 | - Support tunneling based on double tagged and single tagged traffic |
| 30 | |
| 31 | - Support VLAN translation of outer tag |
| 32 | |
| 33 | L3 Features |
| 34 | =========== |
| 35 | IP connectivity |
| 36 | - IPv4 and IPv6 unicast routing (internal use of MPLS Segment Routing) |
| 37 | - Subnetting configuration on all non-spine facing leaf ports; no configuration required on any spine port |
| 38 | - IPv6 router advertisement |
| 39 | - ARP, NDP, IGMP handling |
| 40 | - Number of flows in spines greatly simplified by MPLS Segment Routing |
| 41 | - Further reduction of per-leaf flows with route optimization logic |
| 42 | |
| 43 | DHCP Relay |
| 44 | ========== |
| 45 | DHCP L3 relay |
| 46 | - DHCPv4 and DHCPv6 |
| 47 | - DHCP server either directly attached to fabric leaves, or indirectly connected via upstream router |
| 48 | - DHCP client directly either attached to fabric leaves, or indirectly connected via LDRA |
| 49 | - Multiple DHCP servers for HA |
| 50 | |
| 51 | vRouter |
| 52 | ======= |
| 53 | vRouter presents the entire Trellis fabric as a single router (or dual-routers for HA), with disaggregated control/data plane |
| 54 | - Uses open-source protocol implementations like Quagga (or FRR) |
| 55 | - BGPv4 and BGPv6 |
| 56 | - Static routes |
| 57 | - Route blackholing |
| 58 | - ACLs based on port, L2, L3 and L4 headers |
| 59 | |
| 60 | Multicast |
| 61 | ========= |
| 62 | Centralized multicast tree computation, programming and management |
| 63 | - Support both IPv4 and IPv6 multicast |
| 64 | - Dual-homed multicast sinks for HA |
| 65 | - Multiple multicast sources for HA |
| 66 | |
| 67 | Troubleshooting & Diagnostics |
| 68 | ============================= |
| 69 | - Troubleshooting tool – T3: Trellis Troubleshooting Tool |
| 70 | - Diagnostics one-click collection tool `onos-diags` |
| 71 | |
| 72 | Topology |
| 73 | ======== |
| 74 | - Single leaf (ToR) or dual-ToR (dual-homing) |
| 75 | - Supports typical leaf-spine topology, 2 to 4 spines, up to 10 leaves |
| 76 | - Multi-stage leaf-spine fabric (leaf-spine-spine-leaf) |
| 77 | - Can start at the smallest scale (single leaf) and grow horizontally |
| 78 | |
| 79 | Resiliency |
| 80 | ========== |
| 81 | Provides HA in following scenarios |
| 82 | - Controller instance failure (requires 3 or 5 node ONOS cluster) |
| 83 | - Link failures |
| 84 | - Spine failure |
| 85 | Further HA support in following failure scenarios with dual-homing enabled |
| 86 | - Leaf failure |
| 87 | - Upstream router failure |
| 88 | - Host NIC failure |
| 89 | |
| 90 | Scalability |
| 91 | =========== |
pier | c8e7227 | 2020-03-25 18:25:32 +0100 | [diff] [blame] | 92 | Trellis has been tested at the following scale. |
| 93 | |
| 94 | In Production |
| 95 | - Up to 80k routes (with route optimization) |
| 96 | - 170k Flows |
| 97 | - 600 direct-attached hosts |
| 98 | - 8 leaf switches |
| 99 | - 2 spine switches |
| 100 | |
| 101 | In Pre-Production |
| 102 | - Up to 120k routes (with route optimization) |
| 103 | - 250k flows |
| 104 | - 600 direct-attached hosts |
| 105 | - 8 leaf switches |
| 106 | - 2 spine switches |
Charles Chan | 6613eac | 2019-09-17 15:42:48 -0700 | [diff] [blame] | 107 | |
| 108 | Security |
| 109 | ======== |
| 110 | - TLS-secured connection between controllers and switches (premium feature) |
| 111 | - AAA 802.1x authentication |
| 112 | - MACSec (L2 encapsulation) |
| 113 | |
| 114 | P4-ready |
| 115 | ======== |
| 116 | - Support for Stratum, P4Runtime and gNMI and P4 programs |
| 117 | - Innovative services enabled by programmable pipeline |
| 118 | |
| 119 | - BNG – PPPoE, anti-spoofing, accounting and more |
| 120 | - GTP encap/decap |
| 121 | |
| 122 | Overlay Support |
| 123 | =============== |
| 124 | Can be used/integrated with 3rd party overlay networks (e.g. OpenStack Neutron, Kubernetes CNI) |
| 125 | |
| 126 | Orchestrator Support |
| 127 | ==================== |
| 128 | Can be integrated with external orchestrator, logging, telemetry and alarm service via REST apis and Kafka events |
| 129 | |
| 130 | Controller Server Specs |
| 131 | ======================= |
| 132 | Recommended (per ONOS instance) |
| 133 | - CPU: 32 Cores |
| 134 | - RAM: 128GB RAM. 65GB dedicated to ONOS JVM heap (based on 50K routes) |
| 135 | |
| 136 | Whitebox Switch Hardware |
| 137 | ======================== |
| 138 | - Multi-vendor: Edgecore, QCT, Delta, Inventec |
| 139 | - Multi-chipset |
| 140 | |
| 141 | - Broadcom Tomahawk, Trident2, Qumran |
| 142 | - Barefoot Tofino |
| 143 | - 1/10G, 25G, 40G to 100G |
Charles Chan | b6ab680 | 2019-09-20 15:44:35 -0700 | [diff] [blame] | 144 | - Refer to :doc:`Supported Hardware <supported-hardware>` for the most up-to-date hardware list |
Charles Chan | 6613eac | 2019-09-17 15:42:48 -0700 | [diff] [blame] | 145 | |
| 146 | Whitebox Switch Software |
| 147 | ======================== |
| 148 | - Open source ONL, ONIE and Indigo OF client |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 149 | |
Charles Chan | 6613eac | 2019-09-17 15:42:48 -0700 | [diff] [blame] | 150 | - (in production) OF-DPA software commercial version – contact Broadcom |
Zack Williams | d63d35b | 2020-06-23 14:12:46 -0700 | [diff] [blame] | 151 | |
| 152 | - (in labs/trials) OF-DPA software community version available from ONF (for |
| 153 | switch models based on Trident and Tomahawk, not Qumran) |
| 154 | |
| 155 | - (in labs/trails) Stratum available from ONF |