Added instructions to load Trellis apps from external repo

Also added device configuration for Stratum devices

Change-Id: Idcccb531ff3d45d7285085c6212fd5234479dc9c
diff --git a/installation.rst b/installation.rst
index f96483d..9160fb4 100644
--- a/installation.rst
+++ b/installation.rst
@@ -1,4 +1,4 @@
-.. |onos_version| replace:: 1.12.2
+.. |onos_version| replace:: 2.2.3
 
 Installation Guide
 ******************
@@ -25,7 +25,7 @@
 
 
 Download ONOS |onos_version|
----------------------------------
+----------------------------
 
 Trellis currently is released as part of ONOS and therefore it follows ONOS
 version number.  This document is written based on ONOS |onos_version|.
@@ -59,7 +59,7 @@
     export OC1=10.128.0.216
     export OC2=10.128.0.217
     export OC3=10.128.0.218
-    export ONOS_APPS=drivers,gui,openflow,segmentrouting,fpm,dhcprelay,routeradvertisement,hostprobingprovider,t3
+    export ONOS_APPS=drivers,gui,hostprovider,lldpprovider,fpm,dhcprelay,routeradvertisement,hostprobingprovider,netcfghostprovider
     export ONOS_USER=admin
     export ONOS_GROUP=admin
     export ONOS_USE_SSH=true
@@ -76,10 +76,9 @@
 
     - ``gui`` enables graphic user interface. Highly recommended.
 
-    - ``openflow`` is a meta app that loads ``openflow-base``, ``lldpprovider``
-      and ``hostprovider``. Always required.
+    - ``hostprovider`` discovers hosts via ARP and NDP
 
-    - ``segmentrouting`` controls forwarding in the fabric. Always required.
+    - ``lldpprovider`` discovers links via LLDP
 
     - ``fpm`` (Forwarding Plane Manager) exchanges forwarding information with
       Quagga. Required if connecting to external router.
@@ -93,8 +92,8 @@
     - ``hostprobingprovider`` probes and verifies locations of dual-homed
       hosts. Required if using dual-homing feature with paired switches
 
-    - ``t3`` (Trellis Troubleshooting Tool) is very useful for debugging.
-      Highly recommended.
+    - ``netcfghostprovider`` reads hosts information from network config and add them to the host service.
+      Required if we want to statically configure some hosts.
 
 - ``ONOS_USER`` is used to login to the target machines, and the password is
   not required as you have setup the target machines for password-less access
@@ -226,6 +225,67 @@
         $ onos-log $OC1
 
 
+Install Trellis apps
+====================
+
+Starting from ONOS 2.5, Trellis apps have been extracted from ONOS repo.
+Therefore, those apps needs to be installed and activated additionally.
+
+trellis-control
+---------------
+
+``segmentrouting`` forwards the traffic in the fabric. **Mandatory**.
+
+For details, check the README at `trellis-control repo
+<https://github.com/opennetworkinglab/trellis-control>`_.
+
+
+trellis-t3
+----------
+
+``t3`` (Trellis Troubleshooting Tool) is very useful for debugging. **Optional** but highly recommended.
+
+For details, check the README at `trellis-t3 repo
+<https://github.com/opennetworkinglab/trellis-t3>`_.
+
+
+Install switch-sepcific apps
+============================
+
+There are a few switch-specific apps that need to be installed and activated additionally
+based on the type of switch you are using.
+It is possible to support a hybrid deployment in which you have different switch types.
+In that case, simply enable the apps required by each type of switches.
+
+OF-DPA and OVS
+--------------
+
+.. code-block:: console
+
+    app activate org.onosproject.openflow
+
+
+BMV2 with Stratum
+-----------------
+
+.. code-block:: console
+
+    app activate org.onosproject.drivers.bmv2
+    app activate org.onosproject.pipelines.fabric
+
+Tofino with Stratum
+-------------------
+
+.. code-block:: console
+
+    app activate org.onosproject.drivers.barefoot
+
+In addition, we need to build, install and activate ``fabric-tofino`` app, which is hosted in a separate repo.
+
+For details, check the README at `fabric-tofino repo
+<https://github.com/opencord/fabric-tofino>`_.
+
+
 Install Switch OS - ONL
 =======================