doc: Update ns-3 version in tutorial and installation

This commit is contained in:
Tom Henderson
2024-10-09 15:35:51 -07:00
parent a6366a865c
commit e9631008ec
3 changed files with 55 additions and 53 deletions

View File

@@ -42,13 +42,13 @@ source archive download (via a web browser, ``wget``, or ``curl``).
| | or ``tar`` and ``bunzip2`` | No minimum version |
| | (for Web download) | |
+--------------------+--------------------------------------+------------------------------+
| **Compiler** | ``g++`` | >= 9 |
| **Compiler** | ``g++`` | >= 10 |
+ + + +
| | or ``clang++`` | >= 10 |
| | or ``clang++`` | >= 11 |
+--------------------+--------------------------------------+------------------------------+
| **Configuration** | ``python3`` | >= 3.5 |
| **Configuration** | ``python3`` | >= 3.8 |
+--------------------+--------------------------------------+------------------------------+
| **Build system** | ``cmake``, | >= 3.10 |
| **Build system** | ``cmake``, | >= 3.13 |
+ + + +
| | and at least one of: | No minimum version |
| | ``make``, ``ninja``, or ``Xcode`` | |
@@ -80,13 +80,13 @@ Download
There are two main options:
1. Download a release tarball. This will unpack to a directory such as ``ns-allinone-3.42``
1. Download a release tarball. This will unpack to a directory such as ``ns-allinone-3.43``
containing |ns3| and some other programs. Below is a command-line download using ``wget``,
but a browser download will also work::
$ wget https://www.nsnam.org/releases/ns-allinone-3.42.tar.bz2
$ tar xfj ns-allinone-3.42.tar.bz2
$ cd ns-allinone-3.42/ns-3.42
$ wget https://www.nsnam.org/releases/ns-allinone-3.43.tar.bz2
$ tar xfj ns-allinone-3.43.tar.bz2
$ cd ns-allinone-3.43/ns-3.43
2. Clone |ns3| from the Git repository. The ``ns-3-allinone`` can be cloned, as well as
``ns-3-dev`` by itself. Below, we illustrate the latter::
@@ -99,7 +99,7 @@ you clone |ns3|, your directory will be named ``ns-3-dev``. By default, Git wil
the |ns3| ``master`` branch, which is a development branch. All |ns3| releases are tagged
in Git, so if you would then like to check out a past release, you can do so as follows::
$ git checkout -b ns-3.42-release ns-3.42
$ git checkout -b ns-3.43-release ns-3.43
In this quick-start, we are omitting download and build instructions for optional |ns3| modules,
the ``NetAnim`` animator, Python bindings, and ``NetSimulyzer``. The
@@ -125,6 +125,30 @@ and support for |ns3| logging) is what is usually done at first::
Depending on how fast your CPU is, the configuration command can take anywhere from a few
seconds to a minute.
You should see some output such as below, if successful::
Modules configured to be built:
antenna aodv applications
bridge buildings config-store
core csma csma-layout
dsdv dsr energy
fd-net-device flow-monitor internet
internet-apps lr-wpan lte
mesh mobility netanim
network nix-vector-routing olsr
point-to-point point-to-point-layout propagation
sixlowpan spectrum stats
tap-bridge test topology-read
traffic-control uan virtual-net-device
wifi wimax
Modules that cannot be built:
brite click mpi
openflow visualizer
Do not be concerned about the list of modules that cannot be built; these modules are all optional
and require some extra dependencies, but are not needed for initial exploration of |ns3|.
Then, use the ``ns3`` program to build the |ns3| module libraries and executables::
$ ./ns3 build
@@ -135,31 +159,9 @@ slower). Additional configuration (not covered here) can be used to limit the s
build, and the ``ccache``, if installed, can speed things up. In general, plan on the build
taking a few minutes on faster workstations.
You should see some output such as below, if successful::
'build' finished successfully (44.159s)
Modules built:
antenna aodv applications
bridge buildings config-store
core csma csma-layout
dsdv dsr energy
fd-net-device flow-monitor internet
internet-apps lr-wpan lte
mesh mobility mpi
netanim (no Python) network nix-vector-routing
olsr point-to-point point-to-point-layout
propagation sixlowpan spectrum
stats tap-bridge test (no Python)
topology-read traffic-control uan
virtual-net-device visualizer wifi
wimax
Modules not built (see ns-3 tutorial for explanation):
brite click openflow
Once complete, you can run the unit tests to check your build::
At the end of the build, if successful, the output will report on the underlying ``cmake``
build command that was invoked by the ``ns3`` program. Once the build is complete, you can
run the unit tests to check your build::
$ ./test.py

View File

@@ -61,7 +61,7 @@ the project provides an installation guide
for various systems, available at
https://www.nsnam.org/docs/installation/html/index.html.
As of the most recent |ns3| release (ns-3.42), the following tools
As of the most recent |ns3| release (ns-3.43), the following tools
are needed to get started with |ns3|:
============ ===========================================================
@@ -116,21 +116,21 @@ get a copy of a release by typing the following into your Linux shell
$ cd
$ mkdir workspace
$ cd workspace
$ wget https://www.nsnam.org/release/ns-allinone-3.42.tar.bz2
$ tar xjf ns-allinone-3.42.tar.bz2
$ wget https://www.nsnam.org/release/ns-allinone-3.43.tar.bz2
$ tar xjf ns-allinone-3.43.tar.bz2
Notice the use above of the ``wget`` utility, which is a command-line
tool to fetch objects from the web; if you do not have this installed,
you can use a browser for this step.
Following these steps, if you change into the directory
``ns-allinone-3.42``, you should see a number of files and directories
``ns-allinone-3.43``, you should see a number of files and directories
.. sourcecode:: text
$ cd ns-allinone-3.42
$ cd ns-allinone-3.43
$ ls
bake build.py constants.py netanim-3.109 ns-3.42 README.md util.py
bake build.py constants.py netanim-3.109 ns-3.43 README.md util.py
You are now ready to build the base |ns3| distribution and may skip ahead
to the section on building |ns3|.
@@ -180,7 +180,7 @@ release number:
.. sourcecode:: console
$ python3 download.py -n ns-3.42
$ python3 download.py -n ns-3.43
After this step, the additional repositories of |ns3|, bake, pybindgen,
and netanim will be downloaded to the ``ns-3-allinone`` directory.
@@ -249,9 +249,9 @@ distribution of your choice.
There are a few configuration targets available:
1. ``ns-3.42``: the code corresponding to the release
1. ``ns-3.43``: the code corresponding to the release
2. ``ns-3-dev``: a similar module but using the development code tree
3. ``ns-allinone-3.42``: the module that includes other optional features
3. ``ns-allinone-3.43``: the module that includes other optional features
such as bake build system, netanim animator, and pybindgen
4. ``ns-3-allinone``: similar to the released version of the allinone
module, but for development code.
@@ -268,7 +268,7 @@ code either by inspection of the repository list or by going to the
`"ns-3 Releases"
<https://www.nsnam.org/releases>`_
web page and clicking on the latest release link. We'll proceed in
this tutorial example with ``ns-3.42``.
this tutorial example with ``ns-3.43``.
We are now going to use the bake tool to pull down the various pieces of
|ns3| you will be using. First, we'll say a word about running bake.
@@ -297,7 +297,7 @@ Step into the workspace directory and type the following into your shell:
.. sourcecode:: console
$ ./bake.py configure -e ns-allinone-3.42
$ ./bake.py configure -e ns-allinone-3.43
Next, we'll ask bake to check whether we have enough tools to download
various components. Type:
@@ -347,7 +347,7 @@ should yield something like:
>> Downloading click-ns-3.37 - OK
>> Downloading BRITE - OK
>> Downloading openflow-dev - OK
>> Downloading ns-3.42 (target directory:ns-3.42) - OK
>> Downloading ns-3.43 (target directory:ns-3.43) - OK
The above suggests that three sources have been downloaded. Check the
``source`` directory now and type ``ls``; one should see:
@@ -356,7 +356,7 @@ The above suggests that three sources have been downloaded. Check the
$ cd source
$ ls
BRITE click-ns-3.37 netanim-3.109 ns-3.42 openflow-dev
BRITE click-ns-3.37 netanim-3.109 ns-3.43 openflow-dev
You are now ready to build the |ns3| distribution.
@@ -386,7 +386,7 @@ native |ns3| build system, CMake, to be introduced later in this tutorial.
If you downloaded
using a tarball you should have a directory called something like
``ns-allinone-3.42`` under your ``~/workspace`` directory.
``ns-allinone-3.43`` under your ``~/workspace`` directory.
Type the following:
.. sourcecode:: console
@@ -419,7 +419,7 @@ and you should see something like:
.. sourcecode:: text
>> Building netanim-3.109 - OK
>> Building ns-3.42 - OK
>> Building ns-3.43 - OK
There may be failures to build all components, but the build will proceed
anyway if the component is optional.

View File

@@ -64,13 +64,13 @@ Downloading the Latest Release
::
$ tar xjf ns-allinone-3.42.tar.bz2
$ tar xjf ns-allinone-3.43.tar.bz2
3) Change into the |ns3| directory directly; e.g.
::
$ cd ns-allinone-3.42/ns-3.42
$ cd ns-allinone-3.43/ns-3.43
The ns-allinone directory has some additional components but we are skipping
over them here; one can work directly from the |ns3| source code directory.
@@ -92,12 +92,12 @@ only to `cd` into ns-3-dev; the `master` branch is checked out by default.
$ cd ns-3-dev
If instead you want to try the most recent release (version 3.42 as of this
If instead you want to try the most recent release (version 3.43 as of this
writing), you can checkout a branch corresponding to that git tag:
::
$ git checkout -b ns-3.42-branch ns-3.42
$ git checkout -b ns-3.43-branch ns-3.43
Building and testing ns-3
*************************