Added specification

Also did a minor adjustment on intro and architecture

Change-Id: I047ec1c1ee4ef5b421e98ecd242c96d55692fdb9
diff --git a/architecture.rst b/architecture.rst
index c4d6a1f..7a1f8a6 100644
--- a/architecture.rst
+++ b/architecture.rst
@@ -1,6 +1,28 @@
 Architecture and Design
 ***********************
 
+Overview
+--------
+
+.. image:: images/arch-overview.png
+    :width: 1000px
+
+Trellis operates as a **hybrid L2/L3 fabric**.
+
+As a **pure (or classic) SDN** solution, Trellis **does not use any of the traditional control protocols** typically found in networking, a non-exhaustive list of which includes:
+STP, MSTP, RSTP, LACP, MLAG, PIM, IGMP, OSPF, IS-IS, Trill, RSVP, LDP and BGP.
+
+Instead, Trellis **uses an SDN Controller (ONOS) decoupled from the data-plane hardware to directly program ASIC forwarding tables using OpenFlow and with OF-DPA**,
+an open-API from Broadcom running on the switches.
+
+In this design, a set of applications running on ONOS implement all the fabric functionality and features,
+such as **Ethernet switching**, **IP routing**, **multicast**, **DHCP Relay**, **pseudowires** and more.
+
+.. note::
+    You can learn more about Trellis features and design concepts by visiting the `Project Website <https://opennetworking.org/trellis>`_ and
+    reading the `Platform Brief <https://www.opennetworking.org/wp-content/uploads/2019/09/TrellisPlatformBrief.pdf>`_.
+
+
 Introduction to OF-DPA Pipeline
 -------------------------------
 
diff --git a/conf.py b/conf.py
index f38d8c4..5437ef2 100644
--- a/conf.py
+++ b/conf.py
@@ -104,6 +104,7 @@
 # Ignore link check for the following websites
 linkcheck_ignore = [
     'https://www.opennetworking.org/*',
+    'https://opennetworking.org/*',
 ]
 
 # -- Options for HTML output -------------------------------------------------
diff --git a/images/arch-overview.png b/images/arch-overview.png
new file mode 100644
index 0000000..bafbc12
--- /dev/null
+++ b/images/arch-overview.png
Binary files differ
diff --git a/index.rst b/index.rst
index c154729..becaf30 100644
--- a/index.rst
+++ b/index.rst
@@ -28,6 +28,10 @@
 
 Together, all three attributes of Trellis considerably lower the Total Cost of Ownership (TCO) for operators who plan to run it in production.
 
+.. note::
+    You can learn more about Trellis features and design concepts by visiting the `Project Website <https://opennetworking.org/trellis>`_ and
+    reading the `Platform Brief <https://www.opennetworking.org/wp-content/uploads/2019/09/TrellisPlatformBrief.pdf>`_.
+
 
 Highlights
 ==========
@@ -67,18 +71,13 @@
     .. image:: images/index-usecase-chassis.png
        :width: 600px
 
-
-Learn More
-==========
-- `Trellis Website <https://www.opennetworking.org/trellis>`_
-- `Trellis Platform Brief <https://www.opennetworking.org/wp-content/uploads/2019/09/TrellisPlatformBrief.pdf>`_
-
 .. toctree::
    :maxdepth: 1
    :hidden:
    :caption: Table of Contents
 
    architecture
+   specification
    supported-hardware
    installation
    configuration
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
diff --git a/tables/spec.csv b/tables/spec.csv
new file mode 100644
index 0000000..c525fcf
--- /dev/null
+++ b/tables/spec.csv
@@ -0,0 +1,19 @@
+Feature,Description
+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"
\ No newline at end of file