README
author Tom Henderson <tomh@tomh.org>
Fri, 18 May 2007 14:08:51 -0700
changeset 663 48c05ee9fb6a
parent 657 be551a3b07c6
child 697 8019689fb08c
permissions -rw-r--r--
Verified build on x86_64
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
     1
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
     2
    The Network Simulator, Version 3
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
     3
    --------------------------------
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
     4
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
     5
Table of Contents:
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
     6
------------------
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
     7
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
     8
1) An Open Source project
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
     9
2) An overview of the ns-3 project
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    10
3) Building ns-3
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    11
4) Running ns-3
641
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
    12
5) Getting access to the ns-3 documentation
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
    13
6) Working with the development version of ns-3
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    14
421
56928998e05c Final pre-release files
Tom Henderson <tomh@tomh.org>
parents: 314
diff changeset
    15
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    16
1) An Open Source project
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    17
-------------------------
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    18
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
    19
ns-3 is an Open Source project.   We intend to make this
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    20
project a successful collaborative project: we hope that 
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    21
the missing pieces of the models we have not yet implemented
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    22
will be contributed by the community in an open collaboration
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    23
process.
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    24
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    25
Contributing to the ns-3 project is still a very informal
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    26
process because that process depends heavily on the personality
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    27
of the people involved, the amount of time they can invest
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
    28
and the type of model they want to work on.  
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    29
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    30
Despite this lack of a formal process, there are a number of 
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    31
steps which naturally stem from the open-source roots of the
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
    32
project.  These steps are described in doc/contributing.txt
263
618a886c7130 Test of commit access with Mercurial cheat sheet
Tom Henderson <tomh@tomh.org>
parents: 217
diff changeset
    33
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    34
2) An overview of the ns-3 project
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    35
----------------------------------
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    36
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    37
This package contains the latest version of ns-3 which is aims 
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    38
at being a replacement for ns-2. Currently, ns-3 provides a 
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    39
number of very simple network simulation models:
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    40
  - an ipv4 and udp stack
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    41
  - arp support at the bottom of the stack
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    42
  - point-to-point physical-layer links
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    43
  - OnOff traffic generator
3
bb3d6a584b09 This is an important bugfix for Bilbo The Hobbit
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1
diff changeset
    44
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
    45
Our focus to date has been on getting an overall software
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
    46
framework in place.  The framework is there to make adding 
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
    47
new models as simple as possible:
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    48
  - an extensive tracing system can be used to connect
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    49
    any number of arbitrary trace sources to any number
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    50
    of trace sinks. This tracing system is decoupled
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    51
    from the act of serializing the trace events to a 
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    52
    file: users can and should provide their own
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    53
    trace handling routines.
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    54
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    55
  - simple file trace serialization support is included
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    56
    to both text and pcap files.
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    57
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    58
  - adding new MAC-level models simply requires subclassing
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    59
    the pair of classes NetDevice and Channel.
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    60
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    61
  - adding new traffic generation algorithms is also very 
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    62
    simple through the Application and the Socket classes.
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    63
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    64
3) Building ns-3
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    65
----------------
7
e53ac3c458e9 test of commit
tomh@powerbook.local
parents: 3
diff changeset
    66
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    67
The code for the framework and the default models provided
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    68
by ns-3 is built as a set of libraries. User simulations
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
    69
are expected to be written as simple programs that make
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    70
use of these ns-3 libraries.
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    71
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    72
To build the set of default libraries and the example
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    73
programs included in this package, you need to use the
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    74
tool 'scons'. Detailed information on how to install
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    75
and use scons is included in the file doc/build.txt
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    76
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    77
However, the real quick and dirty way to get started is to
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    78
type the command "scons" the the directory which contains
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    79
this README file. The files built will be copied in the
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    80
build-dir/dbg-shared/bin and build-dir/dbg-shared/lib
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    81
directories. build-dir/dbg-shared/bin will contain
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    82
one binary for each of the sample code in the 'samples'
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    83
directory and one binary for each of the detailed examples
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    84
found in the 'examples' directory.
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    85
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    86
The current codebase is expected to build and run on the
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    87
following set of platforms:
643
0d98b6622dfd add gcc 4.2 to list of supported compilers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 641
diff changeset
    88
  - linux x86 gcc 4.2, 4.1, and, 3.4.
663
48c05ee9fb6a Verified build on x86_64
Tom Henderson <tomh@tomh.org>
parents: 657
diff changeset
    89
  - linux x86_64 gcc 4.0
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    90
  - MacOS X ppc and x86
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    91
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    92
The current codebase is expected to fail to build on
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    93
the following platforms:
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    94
  - gcc 3.3 and earlier
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    95
  - optimized builds on linux x86 gcc 4.0 
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    96
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
    97
Other platforms may or may not work: we welcome 
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    98
patches to improve the portability of the code to these
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
    99
other platforms.
217
1df7792bdc0c Raj test commit
raj@igloo.ece.gatech.edu
parents: 7
diff changeset
   100
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   101
4) Running ns-3
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   102
---------------
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   103
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
   104
On recent Linux systems, once you have built ns-3, it 
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   105
should be easy to run the sample programs with the
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   106
following command:
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   107
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   108
./build-dir/dbg-shared/bin/simple-p2p
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   109
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   110
or:
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   111
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   112
cd build-dir/dbg-shared/bin
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   113
./simple-p2p
263
618a886c7130 Test of commit access with Mercurial cheat sheet
Tom Henderson <tomh@tomh.org>
parents: 217
diff changeset
   114
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   115
That program should generate a simple-p2p.tr text 
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   116
trace file and a set of simple-p2p-xx-xx.pcap binary
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
   117
pcap trace files, which can be read by tcpdump.
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   118
641
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   119
5) Getting access to the ns-3 documentation
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   120
-------------------------------------------
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   121
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   122
Once you have verified that your build of ns-3 works by running
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   123
the simple-p2p example as outlined in 4) above, it is
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   124
quite likely that you will want to get started on reading
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   125
some ns-3 documentation. 
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   126
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   127
All of that documentation should always be available from
655
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   128
the ns-3 website: http:://www.nsnam.org/ but we
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   129
include some of it in this release for ease of use.
641
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   130
655
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   131
This documentation includes:
641
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   132
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   133
  - an architecture document which describes a very 
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   134
    high-level view of ns-3: it tries to explain the
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   135
    use-cases the ns-3 developers really focused on when
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   136
    doing the initial design and then goes on to explain
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   137
    the structure of the resulting framework.
655
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   138
    See the file doc/architecture.pdf
641
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   139
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   140
  - a wiki for user-contributed tips: http://www.nsnam.org/wiki/
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   141
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   142
  - an API documentation generated using doxygen: this is
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   143
    a reference manual, most likely not very well suited 
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   144
    as introductory text:
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   145
    http://www.nsnam.org/doxygen/index.html
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   146
655
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   147
If you want to re-generate this documentation, you can 
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   148
easily do so:
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   149
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   150
  - doc/architecture.pdf is generated from the architecture.tex
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   151
    file in http://code.nsnam.org/docs
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   152
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   153
  - the doxygen documentation is generated from the doc/doxygen.conf
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   154
    configuration file. The command "scons doc" will generate it
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   155
    as doc/html/index.html if you have installed the doxygen tools 
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   156
    (see http://www.doxygen.org)
f2ee52034178 update the documentation section
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 643
diff changeset
   157
641
c55da3a2f496 add reference to architecture document
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 635
diff changeset
   158
6) Working with the development version of ns-3
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   159
-----------------------------------------------
263
618a886c7130 Test of commit access with Mercurial cheat sheet
Tom Henderson <tomh@tomh.org>
parents: 217
diff changeset
   160
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   161
If you want to download and use the development version 
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   162
of ns-3, you need to use the tool 'mercurial'. A quick and
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   163
dirty cheat sheet is included in doc/mercurial.txt but
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   164
reading through the mercurial tutorials included on the
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   165
mercurial website is usually a good idea if you are not
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   166
familiar with it.
314
2a105293177d touch a file
tomh@ubuntu
parents: 263
diff changeset
   167
635
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   168
If you have successfully installed mercurial, you can get
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   169
a copy of the development version with the following
71b92dfe5f55 write README, contributing.txt, reorganize the other documentation files
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 421
diff changeset
   170
command:
657
be551a3b07c6 minor changes due to documentation review
Tom Henderson <tomh@tomh.org>
parents: 655
diff changeset
   171
"hg clone http://code.nsnam.org/ns-3-dev"