blob: 1548d9cffaa8825232ebf991a1fae9cd8da702bd [file] [log] [blame]
Charles Chan6613eac2019-09-17 15:42:48 -07001Specifications
2**************
3
4
5SDN Features
6============
Zack Williamsd63d35b2020-06-23 14:12:46 -07007
Charles Chan6613eac2019-09-17 15:42:48 -07008 - 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.
Charles Chanc65ac052020-08-05 11:58:07 -070013 based on ARP, DHCP, NDP, etc.
Zack Williamsd63d35b2020-06-23 14:12:46 -070014 - Automatic switch, link and topology discovery and maintenance (keepalive, failure recovery)
Charles Chan6613eac2019-09-17 15:42:48 -070015
16L2 Features
17===========
18Various 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
33L3 Features
34===========
35IP 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
43DHCP Relay
44==========
45DHCP 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
51vRouter
52=======
53vRouter 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
60Multicast
61=========
62Centralized 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
67Troubleshooting & Diagnostics
68=============================
69 - Troubleshooting tool T3: Trellis Troubleshooting Tool
70 - Diagnostics one-click collection tool `onos-diags`
71
72Topology
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
79Resiliency
80==========
81Provides HA in following scenarios
82 - Controller instance failure (requires 3 or 5 node ONOS cluster)
83 - Link failures
84 - Spine failure
85Further HA support in following failure scenarios with dual-homing enabled
86 - Leaf failure
87 - Upstream router failure
88 - Host NIC failure
89
90Scalability
91===========
pierc8e72272020-03-25 18:25:32 +010092Trellis has been tested at the following scale.
93
94In 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
101In 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 Chan6613eac2019-09-17 15:42:48 -0700107
108Security
109========
110 - TLS-secured connection between controllers and switches (premium feature)
111 - AAA 802.1x authentication
112 - MACSec (L2 encapsulation)
113
114P4-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
122Overlay Support
123===============
124 Can be used/integrated with 3rd party overlay networks (e.g. OpenStack Neutron, Kubernetes CNI)
125
126Orchestrator Support
127====================
128 Can be integrated with external orchestrator, logging, telemetry and alarm service via REST apis and Kafka events
129
130Controller Server Specs
131=======================
132Recommended (per ONOS instance)
133 - CPU: 32 Cores
134 - RAM: 128GB RAM. 65GB dedicated to ONOS JVM heap (based on 50K routes)
135
136Whitebox 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 Chanb6ab6802019-09-20 15:44:35 -0700144 - Refer to :doc:`Supported Hardware <supported-hardware>` for the most up-to-date hardware list
Charles Chan6613eac2019-09-17 15:42:48 -0700145
146Whitebox Switch Software
147========================
148 - Open source ONL, ONIE and Indigo OF client
Zack Williamsd63d35b2020-06-23 14:12:46 -0700149
Charles Chan6613eac2019-09-17 15:42:48 -0700150 - (in production) OF-DPA software commercial version contact Broadcom
Zack Williamsd63d35b2020-06-23 14:12:46 -0700151
152 - (in labs/trials) OF-DPA software community version available from ONF (for
153 switch models based on Trident and Tomahawk, not Qumran)
154
Charles Chanc65ac052020-08-05 11:58:07 -0700155 - (in labs/trials) Stratum available from ONF