Initial commit of Sphinx docs
Change-Id: I9fca8fb98502dffc2555f9de7f507b6f006e0e77
Signed-off-by: John DeNisco <jdenisco@cisco.com>
diff --git a/docs/overview/features/controlplane.rst b/docs/overview/features/controlplane.rst
new file mode 100644
index 0000000..ddf0d34
--- /dev/null
+++ b/docs/overview/features/controlplane.rst
@@ -0,0 +1,10 @@
+.. _cp:
+
+=============
+Control Plane
+=============
+
+* DHCP client/proxy
+
+* DHCPv6 Proxy
+
diff --git a/docs/overview/features/devices.rst b/docs/overview/features/devices.rst
new file mode 100644
index 0000000..f3ecd32
--- /dev/null
+++ b/docs/overview/features/devices.rst
@@ -0,0 +1,33 @@
+.. _dev:
+
+=======
+Devices
+=======
+
+Hardware
+--------
+* `DPDK <https://www.dpdk.org/>`_
+
+ * `Network Interfaces <https://doc.dpdk.org/guides/nics/>`_
+ * `Cryptographic Devices <https://doc.dpdk.org/guides/cryptodevs/>`_
+
+* `Open Data Plane <https://github.com/FDio/odp4vpp>`_
+* `Intel Ethernet Adaptive Virtual Function <https://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/ethernet-adaptive-virtual-function-hardware-spec.pdf>`_
+
+Operating System
+----------------
+* `Netmap <http://info.iet.unipi.it/~luigi/netmap/>`_
+* `af_packet <http://man7.org/linux/man-pages/man7/packet.7.html>`_
+* Tap V2 (FastTap)
+
+Virtualization:
+---------------
+* SSVM
+* Vhost / VirtIO
+
+Containers
+----------
+
+* Vhost-user
+* MemIF
+
diff --git a/docs/overview/features/index.rst b/docs/overview/features/index.rst
new file mode 100644
index 0000000..43d0503
--- /dev/null
+++ b/docs/overview/features/index.rst
@@ -0,0 +1,32 @@
+.. _features:
+
+========
+Features
+========
+
+.. rst-class:: center-align-table
+
++-------------------------+-----------+-----------+
+| :ref:`sdn` | | |
++------------+------------+ :ref:`cp` | |
+| | :ref:`l4` | | |
+| +------------+-----------+ :ref:`pg` |
+| :ref:`tun` | :ref:`l3` | | |
+| +------------+ :ref:`tm` | |
+| | :ref:`l2` | | |
++------------+------------+-----------+-----------+
+| :ref:`dev` |
++-------------------------------------------------+
+
+.. toctree::
+ :hidden:
+
+ devices.rst
+ integrations.rst
+ trafficmanagement.rst
+ l2.rst
+ l3.rst
+ l4.rst
+ tunnels.rst
+ controlplane.rst
+ plugins.rst
diff --git a/docs/overview/features/integrations.rst b/docs/overview/features/integrations.rst
new file mode 100644
index 0000000..848e864
--- /dev/null
+++ b/docs/overview/features/integrations.rst
@@ -0,0 +1,5 @@
+.. _sdn:
+
+========================
+SDN & Cloud Integrations
+========================
diff --git a/docs/overview/features/l2.rst b/docs/overview/features/l2.rst
new file mode 100644
index 0000000..a567356
--- /dev/null
+++ b/docs/overview/features/l2.rst
@@ -0,0 +1,56 @@
+.. _l2:
+
+=======
+Layer 2
+=======
+
+MAC Layer
+---------
+* Ethernet
+
+Discovery
+---------
+* Cisco Discovery Protocol
+* Link Layer Discovery Protocol (LLDP)
+
+Link Layer Control Protocol
+---------------------------
+* Bit Index Explicit Replication – Link Layer Multi-cast forwarding.
+* Link Layer Control (LLC) - multiplex protocols over the MAC layer.
+* Spatial Reuse Protocol (SRP)
+* High-Level Data Link Control (HDLC)
+* Logical link control (LLC)
+* Link Agg Control Protocol (Active/Active, Active/Passive) – 18.04
+
+Virtual Private Networks
+------------------------
+* MPLS
+
+ * MPLS-o-Ethernet – Deep label stacks supported
+
+* Virtual Private LAN Service (VPLS)
+* VLAN
+* Q-in-Q
+* Tag-rewrite (VTR) - push/pop/Translate (1:1,1:2, 2:1,2:2)
+* Ethernet flow point Filtering
+* Layer 2 Cross Connect
+
+Bridging
+---------
+* Bridge Domains
+* MAC Learning (50k addresses)
+* Split-horizon group support
+* Flooding
+
+ARP
+---
+* Proxy
+* Termination
+* Bidirectional Forwarding Detection
+
+Integrated Routing and Bridging (IRB)
+-------------------------------------
+* Flexibility to both route and switch between groups of ports.
+* Bridged Virtual Interface (BVI) Support, allows traffic switched traffic to be routed.
+
+
diff --git a/docs/overview/features/l3.rst b/docs/overview/features/l3.rst
new file mode 100644
index 0000000..fd90b13
--- /dev/null
+++ b/docs/overview/features/l3.rst
@@ -0,0 +1,55 @@
+.. _l3:
+
+=======
+Layer 3
+=======
+
+IP Layer
+--------
+* ICMP
+* IPv4
+* IPv6
+* IPSEC
+* Link Local Addressing
+
+MultiCast
+---------
+* Multicast FiB
+* IGMP
+
+Virtual Routing and forwarding (VRF)
+------------------------------------
+* VRF scaling, thousands of tables.
+* Controlled cross-VRF lookups
+
+Multi-path
+----------
+* Equal Cost Multi Path (ECMP)
+* Unequal Cost Multi Path (UCMP)
+
+IPv4
+----
+* ARP
+* ARP Proxy
+* ARP Snooping
+
+IPv6
+----
+* Neighbour discovery (ND)
+* ND Proxy
+* Router Advertisement
+* Segment Routing
+* Distributed Virtual Routing Resolution
+
+Forwarding Information Base (FIB)
+---------------------------------
+
+* Hierarchical FIB
+* Memory efficient
+* Multi-million entry scalable
+* Lockless/concurrent updates
+* Recursive lookups
+* Next hop failure detection
+* Shared FIB adjacencies
+* Multicast support
+* MPLS support
diff --git a/docs/overview/features/l4.rst b/docs/overview/features/l4.rst
new file mode 100644
index 0000000..052c6b1
--- /dev/null
+++ b/docs/overview/features/l4.rst
@@ -0,0 +1,5 @@
+.. _l4:
+
+=======
+Layer 4
+=======
diff --git a/docs/overview/features/plugins.rst b/docs/overview/features/plugins.rst
new file mode 100644
index 0000000..9943113
--- /dev/null
+++ b/docs/overview/features/plugins.rst
@@ -0,0 +1,7 @@
+.. _pg:
+
+=======
+Plugins
+=======
+
+* iOAM
diff --git a/docs/overview/features/trafficmanagement.rst b/docs/overview/features/trafficmanagement.rst
new file mode 100644
index 0000000..9320165
--- /dev/null
+++ b/docs/overview/features/trafficmanagement.rst
@@ -0,0 +1,55 @@
+.. _tm:
+
+==================
+Traffic Management
+==================
+
+IP Layer Input Checks
+---------------------
+* Source Reverse Path Forwarding
+* Time To Live expiration
+* IP header checksum
+* Layer 2 Length < IP Length
+
+Classifiers
+-----------
+* Multiple million Classifiers - Arbitrary N-tuple
+
+Policers
+--------
+* Colour Aware & Token Bucket
+* Rounding Closest/Up/Down
+* Limits in PPS/KBPS
+* Types:
+
+ * Single Rate Two Colour
+ * Single Rate Three Colour
+ * Dual Rate Three Colour
+
+* Action Triggers
+
+ * Conform
+ * Exceed
+ * Violate
+
+* Actions Type
+
+ * Drop
+ * Transmit
+ * Mark-and-transmit
+
+Switched Port Analyzer (SPAN)
+* mirror traffic to another switch port
+
+ACLs
+----
+ * Stateful
+ * Stateless
+
+COP
+---
+
+MAC/IP Pairing
+--------------
+(security feature).
+
diff --git a/docs/overview/features/tunnels.rst b/docs/overview/features/tunnels.rst
new file mode 100644
index 0000000..352c439
--- /dev/null
+++ b/docs/overview/features/tunnels.rst
@@ -0,0 +1,32 @@
+.. _tun:
+
+=======
+Tunnels
+=======
+
+Layer 2
+-------
+* L2TP
+* PPP
+* VLAN
+
+Layer 3
+-------
+* Mapping of Address and Port with Encapsulation (MAP-E)
+* Lightweight IPv4 over IPv6
+
+ * An Extension to the Dual-Stack Lite Architecture
+
+* GENEVE
+* VXLAN
+
+Segment Routing
+---------------
+* IPv6
+* MPLS
+
+Generic Routing Encapsulation (GRE)
+* GRE over IPSEC
+* GRE over IP
+* MPLS
+* NSH