From: Frederic Suter Date: Fri, 15 Apr 2016 21:28:05 +0000 (+0200) Subject: revise ns3 documentation X-Git-Tag: v3_13~98 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/d048b9f52ae7335fa12f1f11641fa98bb50e7d58 revise ns3 documentation --- diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 5800be45ea..50138884a3 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -713,7 +713,7 @@ INPUT += @CMAKE_HOME_DIRECTORY@/examples/msg/app-pingpong/app-pi @CMAKE_HOME_DIRECTORY@/examples/msg/trace-user-variables/trace-user-variables.c \ @CMAKE_HOME_DIRECTORY@/examples/msg/trace-link-user-variables/trace-link-user-variables.c \ @CMAKE_HOME_DIRECTORY@/examples/msg/trace-link-srcdst-user-variables/trace-link-srcdst-user-variables.c \ - @CMAKE_HOME_DIRECTORY@/examples/msg/ns3 \ + @CMAKE_HOME_DIRECTORY@/examples/msg/network-ns3/network-ns3.c \ @CMAKE_HOME_DIRECTORY@/examples/msg/io \ @CMAKE_HOME_DIRECTORY@/examples/msg/gpu \ @CMAKE_HOME_DIRECTORY@/examples/msg/actions \ diff --git a/doc/doxygen/pls.doc b/doc/doxygen/pls.doc index 76b528ad8a..11d26c9d3e 100644 --- a/doc/doxygen/pls.doc +++ b/doc/doxygen/pls.doc @@ -2,27 +2,21 @@ \tableofcontents -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. At the moment, -we support the NS3 simulator; see Section \ref pls_examples "Examples" for -some additional information. +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. -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. +At the moment, we support the well-known ns-3 packet-level simulator. Earlier +releases of SimGrid did support the GTNetS simulator. Its support could possibly be revived by someone who would +need it. -\section pls_simgrid_configuration_ns3 NS3 as a SimGrid model +\section pls_simgrid_configuration_ns3 ns-3 as a SimGrid model -You may want to replace the SimGrid network models by the ones of the -well known packet-level network simulator NS-3 instead. -This section explains how to do so. +This section explains how to replace the SimGrid network models by those of the well-known +ns-3 packet-level network simulator. -\subsection pls_simgrid_configuration_ns3_install Installing NS3 +\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: +The easiest is to install it with the package manager. Under Debian/Ubuntu, simply type as root: \verbatim apt-get install libns3-dev ns3 @@ -41,74 +35,61 @@ cd ns-allinone-3.22/ns-3.22/ ./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= \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 at the +beginning of this file. -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 (nestwork-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: - More about ns-3 simulator (Official website) \subsection pls_examples Examples -There are some examples in the \c examples/ folder, that show how to use -the bindings; see also the \ref MSG_ex_PLS "documentation for these examples". +There is an example in the \c examples/ folder, that shows how to use the bindings. See also the \ref MSG_ex_PLS +"documentation for this example". */ diff --git a/examples/msg/network-ns3/network-ns3.c b/examples/msg/network-ns3/network-ns3.c index 9c2ecf795f..74ae8bbede 100644 --- a/examples/msg/network-ns3/network-ns3.c +++ b/examples/msg/network-ns3/network-ns3.c @@ -14,12 +14,12 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, "Messages specific for this msg example") * * @subsection MSG_ex_PLS Packet level simulators * - * These examples demonstrate how to use the bindings to classicalPacket-Level Simulators (PLS), as explained in + * This example demonstrates how to use the bindings to a classical Packet-Level Simulators (PLS), as explained in * \ref pls. The most interesting is probably not the C files since they are unchanged from the other simulations, - * but the associated files, such as the platform files to see how to declare a platform to be used with the PLS - * bindings of SimGrid and the tesh files to see how to actually start a simulation in these settings. + * but the associated files, such as the platform file to see how to declare a platform to be used with the PLS + * bindings of SimGrid and the tesh file to see how to actually start a simulation in these settings. * - * - ns3: Simple ping-pong using ns3 instead of the SimGrid network models. + * - ns-3: network-ns3/network-ns3.c. Simple ping-pong using ns-3 instead of the SimGrid network models. */ int timer_start; //set as 1 in the master process