docs: Documentation update

Change-Id: I6f916eb822a59e980e8fb1134886c3431755119c
diff --git a/docs/source/intro.rst b/docs/source/intro.rst
index eb001fa..c152ad4 100644
--- a/docs/source/intro.rst
+++ b/docs/source/intro.rst
@@ -7,47 +7,69 @@
 
 .. sidebar:: ndnSIM components
 
-    .. image:: _static/ndnsim-components.*
+    .. image:: _static/ndnSIM-structure.*
         :width: 100%
 
-The ndnSIM is NS-3 module that implements Named Data Networking (NDN) communication model, the clean slate Internet design. ndnSIM is specially optimized for simulation purposes and has a cleaner and more extensible internal structure comparing to the existing NDN implementation (NDNx).
+ndnSIM 2.0 is a new release of `NS-3 based Named Data Networking (NDN) simulator
+<http://ndnsim.net/1.0/>`_ that went through extensive refactoring and rewriting.  The key
+new features of the new version:
 
-Following the NDN architecture, ndnSIM is implemented as a new network-layer protocol model, which can run on top of any available link-layer protocol model (point-to-point, CSMA, wireless, etc.).
+- ndnSIM no longer re-implements basic NDN primitives and directly uses implementation
+  from `ndn-cxx library (NDN C++ library with eXperimental eXtensions)
+  <http://named-data.net/doc/ndn-cxx/>`_.
+- All NDN forwarding and management is implemented directly using source code of `Named
+  Data Networking Forwarding Daemon (NFD) <http://named-data.net/doc/NFD/>`_
+- Packet format changed to `NDN-TLV <http://named-data.net/doc/ndn-tlv/>`_
 
 .. note::
-    It will also be possible to run ndnSIM on top of network-layer (IPv4, IPv6) and transport-layer (TCP, UDP) protocols.
-    However, it is not yet implemented and patches are welcome.
+   Please note that ndnSIM 2.0 has major refactoring and simulation scenario written for
+   previous releases most likely would need to be changed to run on ndnSIM 2.0 platform.
 
-.. This flexibility allows ndnSIM to simulate scenarios of various homogeneous and heterogeneous networks (e.g., NDN-only, NDN-over-IP, etc.).
+Such integration with ndn-cxx and NFD ensures that the simulations are maximally realistic
+and can be reproduced in real environments with virtually no changes to the source code.
+In addition to that, any experiments with NDN forwarding (e.g., custom forwarding
+strategies) inside ndnSIM can be directly used within the real NFD implementation.
 
-The simulator is implemented in a modular fashion, using separate C++ classes to model behavior of each network-layer entity in NDN: :ndnsim:`pending Interest table (PIT) <Pit>`, :ndnsim:`forwarding information base (FIB) <Fib>`, :ndnsim:`content store <ContentStore>`, :ndnsim:`network <NetDeviceFace>` and :ndnsim:`application <AppFace>` interfaces, :ndnsim:`Interest forwarding strategies <ForwardingStrategy>`, etc.
-This modular structure allows any component to be easily modified or replaced with no or minimal impact on other components.
-In addition, the simulator provides an extensive collection of interfaces and helpers to perform detailed tracing behavior of every component, as well as NDN traffic flow.
+Specifically, the simulator directly uses NFD implementations of :nfd:`pending Interest
+table (PIT) <nfd::Pit>`, :nfd:`forwarding information base (FIB) <nfd::Fib>`, and
+:nfd:`content store <nfd::Cs>` data structures.  In addition to that, ndnSIM allows
+experimentation with :ndnSIM:`ndnSIM-specific content store <ndn::ContentStore>` along
+with its cache replacement policies ported from the previous version of ndnSIM.
 
-The current wire format for the Interest and Data packets used by ndnSIM is defined in :ref:`ndnSIM packet format`.
-ndnSIM also has an option to be compatible to wire format used by `NDNx implementation <http://named-data.net/>`_ (NDNx binary XML encoding).  However currently, this option is deprecated, but can be reintroduced in the future as an optional wire format.
+ndnSIM is implemented as a new network-layer protocol model and can run on top of any
+available link-layer protocol model (point-to-point, CSMA, wireless, etc.).
+In addition, the simulator provides an extensive collection of interfaces and helpers to
+perform detailed tracing behavior of every component, as well as NDN traffic flow.
+
 
 More documentation
 ------------------
 
-Overall structure of ndnSIM is described in our `technical report <http://lasr.cs.ucla.edu/afanasyev/data/files/Afanasyev/ndnSIM-TR.pdf>`_.
+Overall structure of ndnSIM is described in our `technical report
+<http://lasr.cs.ucla.edu/afanasyev/data/files/Afanasyev/ndnSIM-TR.pdf>`_.
 
 `ndnSIM API documentation <doxygen/index.html>`_
 
-Also, you can `join our mailing list <http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim>`_ to see and participate in discussions about ndnSIM implementation and simulations in general.   
-Do not forget to check mailling list `archives <http://www.lists.cs.ucla.edu/pipermail/ndnsim/>`_.  
+Also, you can `join our mailing list
+<http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim>`_ to see and participate in
+discussions about ndnSIM implementation and simulations in general.  Do not forget to
+check mailling list `archives <http://www.lists.cs.ucla.edu/pipermail/ndnsim/>`_.
 
 
 Support
 -------
 
-The code of ndnSIM is in active development.  Bug reports (issues) as well as new feature implementation are always welcome. 
+The code of ndnSIM is in active development.  Bug reports (issues) as well as new feature
+implementation are always welcome.
 
-To file a bug report, please use `GitHub Issues <https://github.com/NDN-Routing/ndnSIM/issues>`_.
+To file a bug report, please use `NDN Redmine
+<http://redmine.named-data.net/projects/ndnsim>`_.
 
 To create new feature, please fork the code and submit Pull Request on GitHub.
 
-And of course, `our mailing list <http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim>`_ is the best way to communicate with and get support from ndnSIM team and other users of ndnSIM.
+And of course, `our mailing list <http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim>`_
+is the best way to communicate with and get support from ndnSIM team and other users of
+ndnSIM.
 
 A very short guide to the code
 ------------------------------
@@ -58,36 +80,50 @@
 | Folder          | Description                                                         |
 +=================+=====================================================================+
 | ``model/``      | implementation of NDN base: :ndnsim:`L3Protocol`, faces             |
-|                 | (:ndnsim:`Face`, :ndnsim:`NetDeviceFace`, forwarding                |
+|                 | (:ndnsim:`Face`, :ndnsim:`NetDeviceFace`,                           |
 |                 | :ndnsim:`AppFace`),                                                 |
-|                 | strategies (:ndnsim:`ForwardingStrategy`,                           |
-|                 | :ndnsim:`Flooding`, :ndnsim:`SmartFlooding`, :ndnsim:`BestRoute`),  |
 |                 | etc.                                                                |
 +-----------------+---------------------------------------------------------------------+
+| ``NFD/``        | contains the `NFD`_ source code with few modifications to make it   |
+|                 | compatible with the simulator                                       |
++-----------------+---------------------------------------------------------------------+
 | ``apps/``       | applications (in NS-3 sense) that can be installed on the nodes.    |
 |                 | Right now we have one producer (:ndnsim:`Producer`) and a           |
-|                 | collection  of consumer (:ndnsim:`ConsumerCbr`,                     |
-|                 | :ndnsim:`ConsumerWindow`,                                           |
-|                 | :ndnsim:`ConsumerBatches`).  See doxygen documentation or           |
+|                 | collection  of consumer applications (:ndnsim:`ConsumerCbr`,        |
+|                 | :ndnsim:`ConsumerWindow`, :ndnsim:`ConsumerBatches`,                |
+|                 | :ndnsim:`ConsumerZipfMandelbrot`).  See doxygen documentation or    |
 |                 | source  code for details                                            |
 +-----------------+---------------------------------------------------------------------+
+| ``utils/``      | helper classes, including implementation of generalized data        |
+|                 | structures, topology readers and tracers                            |
++-----------------+---------------------------------------------------------------------+
 | ``helper/``     | a number of :doc:`useful helpers <helpers>`                         |
 +-----------------+---------------------------------------------------------------------+
 | ``examples/``   | contain :doc:`several example scenarios <examples>`                 |
 +-----------------+---------------------------------------------------------------------+
-| ``utils/``      | helper classes, including implementation of generalized data        |
-|                 | structures                                                          |
-+-----------------+---------------------------------------------------------------------+
-| ``plugins/``    | a number of plugins that may be helpful to run simulation scenarios |
-+-----------------+---------------------------------------------------------------------+
+
+.. _NFD: http://named-data.net/doc/NFD/
 
 Logging
 -------
 
-Almost every component in ndnSIM exports logging interface, so in debug compilation it is possible to track many internal details. 
-For example, logging of :ndnsim:`Face` and :ndnsim:`Consumer` shows everything what happens in :ndnsim:`Face` and :ndnsim:`Consumer` classes::
+Almost every component in ndnSIM exports logging interface, so in debug compilation it is
+possible to track many internal details.  For example, logging of :ndnsim:`Face` and
+:ndnsim:`Consumer` shows everything what happens in :ndnsim:`Face` and :ndnsim:`Consumer`
+classes::
 
     NS_LOG=ndn.Face:ndn.Consumer ./waf --run=ndn-simple
 
-Refer to the source code and NS-3 documentation to see what logging interfaces are available and about details how enable one or more logging interfaces.
+Refer to the source code and NS-3 documentation to see what logging interfaces are
+available and about details how enable one or more logging interfaces.
 
+.. note::
+
+   Please remember that logging is enabled **only** in debug mode.  When simulator is
+   compiled in optimized mode (``./waf configure -d optimized``), logging will be
+   completely disabled as it significantly slows down execution.
+
+.. note::
+
+   A list of log components available in the current version of NS-3 and ndnSIM is listed
+   `in this page <doxygen/LogComponentList.html>`_.