Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
various doc cleanups
[simgrid.git] / doc / doxygen / pls.doc
index ab415b2..b4ca1a0 100644 (file)
@@ -1,24 +1,22 @@
 /*! \page pls Packet level simulation
 
-It is possible to use a packet-level network simulator
-instead of the default flow-based simulation. You may want to use such
-an approach if you have doubts about the validity of the default model
-or if you want to perform some validation experiments. 
+\tableofcontents
 
-At the moment, we only support the NS3 simulator. Previous versions of
-SimGrid did support the GTNetS simulator and that support could
-possibly be revived by someone who would need it.
+It is possible to use a packet-level network simulator instead of the default flow-based models. You may want to use 
+this feature if you have doubts about the validity of the default model or want to perform some validation experiments.
 
-\section pls_simgrid_configuration_ns3 NS3 as a SimGrid model
+At the moment, we support the well-known <a href="http://www.nsnam.org/"><b>ns-3</b></a> packet-level simulator. Earlier 
+releases of SimGrid did support the <b>GTNetS</b> simulator. Its support could possibly be revived by someone who would
+need it.
 
-You may want to replace the SimGrid network models by the ones of the
-well known packet-level network simulator <a href="http://www.nsnam.org/">NS-3</a> instead.
-This section explains how to do so.
+\section pls_simgrid_configuration_ns3 ns-3 as a SimGrid model
 
-\subsection pls_simgrid_configuration_ns3_install Installing NS3
+This section explains how  to replace the SimGrid network models by those of the well-known 
+<a href="http://www.nsnam.org/">ns-3</a> packet-level network simulator.
 
-The easiest is to install it with the package manager.  Under
-Debian/Ubuntu, simply type as root:
+\subsection pls_simgrid_configuration_ns3_install Installing ns-3
+
+The easiest is to install it with the package manager. Under Debian/Ubuntu, simply type as root:
 
 \verbatim
 apt-get install libns3-dev ns3
@@ -28,78 +26,70 @@ You can also install it from scratch with the following commands:
 
 \verbatim
 # Download the source
-wget http://www.nsnam.org/release/ns-allinone-3.22.tar.bz2
-tar -xf ns-allinone-3.22.tar.bz2
-cd ns-allinone-3.22/ns-3.22/
+wget http://www.nsnam.org/release/ns-allinone-3.25.tar.bz2
+tar -xf ns-allinone-3.25.tar.bz2
+cd ns-allinone-3.25/ns-3.25/
 # Configure, build and install
-./waf configure --prefix="ns-3_install_directory"
+./waf configure --prefix="/opt/ns3" # or give another path if you prefer
 ./waf
 ./waf install
 \endverbatim
 
-For more information, please refer to the NS-3 documentation.
+For more information, please refer to the ns-3 documentation.
 
-\subsection pls_simgrid_configuration_ns3_config Enabling SimGrid's support for NS3
+\subsection pls_simgrid_configuration_ns3_config Enabling SimGrid's support for ns-3
 
-Normally, you just have to enable NS3 in ccmake or cmake as follows.
-If you installed NS3 in a regular path, just drop the ns3_path
-configuration item.
+Normally, you just have to enable ns-3 in ccmake or cmake as follows. If you installed ns-3 in a regular path, just
+drop the ns3_path configuration item.
 
 \verbatim
-cmake . -Denable_ns3=ON -Dns3_path=<ns3_path>
+cmake . -Denable_ns3=ON -DNS3_HINT=/opt/ns3 # or change the path if needed
 \endverbatim
 
-By the end of the configuration, cmake reports whether NS-3 was found.
-You can also double-check by executing the tests after the compilation.
+By the end of the configuration, cmake reports whether ns-3 was found. You can also double-check by executing the tests
+after the compilation.
 
 \verbatim
 $ ctest -R ns3
-(several tests should be run)
+(test(s) should be run)
 \endverbatim
 
-If you have a NS3 version that is not known (yet) to SimGrid, the
-detection may fail. In that case, edit  the file
-tools/cmake/Modules/FindNS3.cmake in your SimGrid tree. The
-required changes are very easy, and documented at the beginning of
-this file.
+If you have a ns-3 version that is not known to SimGrid (yet), the detection may fail. In that case, edit the
+tools/cmake/Modules/FindNS3.cmake file in your SimGrid tree. The
+required changes are very easy, and documented in the file header.
 
-If the compilation fails when linking the library because of some .a
-file that cannot be used dynamically, that's probably because you only
-installed the libns3-dev library on your Debian, where you also need
-libns3-3. That's probably a bug of the libns3-dev package that should
-depend on the dynamic libraries corresponding to its .so files.
+If the compilation fails when linking the library because of some .a file that cannot be used dynamically, this is 
+probably because you only installed the libns3-dev library on your Debian, where you also need libns3-3. This is 
+probably a bug of the libns3-dev package that should depend on the dynamic libraries corresponding to its .so files.
 
-\subsection pls_simgrid_configuration_ns3_use Using NS3 from SimGrid
+\subsection pls_simgrid_configuration_ns3_use Using ns-3 from SimGrid
 
-A working example of NS3/SimGrid interactions can be found in
-examples/msg/ns3. Basically, you just have to run your SimGrid
-simulation with the configuration option "network/model" set to the
-value "NS3". The rest remains unchanged.
+A working example of ns-3/SimGrid interactions can be found in examples/msg/network-ns3/. Basically, you just have to 
+run your SimGrid simulation with the configuration option "network/model" set to "NS3". The rest remains unchanged.
 
-The following should work from the examples/msg/ns3 folder (ns3 here
-is the name of our example binary).
+The following should work from the examples/msg/network-ns3 folder (network-ns3 is the name of our example binary).
 
 \verbatim
-./ns3 ./3hosts_2links_p.xml 3hosts_2links_d.xml --cfg=network/model:NS3 --log=root.threshold:info
+./network-ns3 ./3hosts_2links_p.xml 3hosts_2links_d.xml --cfg=network/model:NS3 --log=root.threshold:info
 \endverbatim
 
-A ns-3 platform is automatically created from the SimGrid platform
-file that you will provide. There is some caveats to know:
+A ns-3 platform is automatically created from the provided SimGrid platform file. However, there are some known caveats:
 
 <ul>
-  <li>The default values (e.g., TCP parameters) are the ns3
-    values. Don't blame us for them.</li>  
+  <li>The default values (e.g., TCP parameters) are the ns3  values. Don't blame us for them.</li>  
 
-  <li>NS3 networks are routed using the shortest path algorithm, using
-    ns3::Ipv4GlobalRoutingHelper::PopulateRoutingTables.</li>
+  <li>ns-3 networks are routed using the shortest path algorithm, using
+   ns3::Ipv4GlobalRoutingHelper::PopulateRoutingTables.</li>
 
-  <li>End hosts cannot have more than one interface card (so, only one
-   &lt;link&gt; in your SimGrid platform should link an end host to
-   the platform ; if not, your end host will be considered as a
-   router.  </li>
+  <li>End hosts cannot have more than one interface card (so, only one &lt;link&gt; in your SimGrid platform should 
+   link an end host to the platform ; if not, your end host will be considered as a router.  </li>
 </ul>
 
-
 More about ns-3 simulator <a href="http://www.nsnam.org/">(Official website)</a>
 
+\subsection ns3_examples Examples
+
+For an example using NS3 as a SimGrid module, please refer to the 
+@ref msg_ex_ns3 "relevant section" of the documentation.
+
 */