Added specification
Also did a minor adjustment on intro and architecture
Change-Id: I047ec1c1ee4ef5b421e98ecd242c96d55692fdb9
diff --git a/specification.rst b/specification.rst
new file mode 100644
index 0000000..8e86b5a
--- /dev/null
+++ b/specification.rst
@@ -0,0 +1,137 @@
+Specifications
+**************
+
+
+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 & Diagnostics
+=============================
+ - Troubleshooting tool – T3: Trellis Troubleshooting Tool
+ - 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
+
+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 Server Specs
+=======================
+Recommended (per ONOS instance)
+ - CPU: 32 Cores
+ - RAM: 128GB RAM. 65GB dedicated to ONOS JVM heap (based on 50K routes)
+
+Whitebox Switch Hardware
+========================
+ - Multi-vendor: Edgecore, QCT, Delta, Inventec
+ - 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 Software
+========================
+ - Open source ONL, ONIE and Indigo OF client
+ - (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
\ No newline at end of file