# The ~30 modules of ns-3 can be built independently as projects within the master solution, saving time

+

# Instead of building all the examples within the solution, I have provided a facility to run only one example at a time.

+

This is due to the fact that I wanted to reduce the changes required and considering the fact any user deals with

+

1 or 2 examples at most at any given time. (A Visual Studio solution provides only executable at any point)

+

# The project files will need to be downloaded via "mercurial"

+

# Optional features such as click,mpi,openflow can be built, however I have made these project files dormant. It is upto

+

the end-user to enable them and point to the required include libraries to run its examples. I might provide instructions

+

later on how to handle the optional features.

+

# Any windows-based solution is always going to be a subset of the main ns-3 project and will have a reduced feature-set.

+

# This version is built on ns-3-dev rather than ns-3.10.

+

# The GUI MFC code is removed, as I prefer to maintain it separately.

+

The following are some of the missing features

The following are some of the missing features

(some are excluded currently due to lack of time in porting them,some because they depend on third-party s/w

(some are excluded currently due to lack of time in porting them,some because they depend on third-party s/w

Revision as of 22:12, 23 May 2011

A project to extend NS3 functionality on Windows operating-systems

Please take one minute to fill our poll (2 questions) on ns-3 on Windows usage
poll

Note: Currently the development support for this project is limited; there hasn't been any commitment from the ns-3 project as a whole to maintain this version of ns-3. So expect bugs and delayed response to queries.
Please use this google-group for queries and feedback.

Software download

Version (ns-3-Win2.0) Alpha version built on ns-3-dev(dated 05/23/2011)

Download via []

Changelog & Caveats:

The ~30 modules of ns-3 can be built independently as projects within the master solution, saving time

Instead of building all the examples within the solution, I have provided a facility to run only one example at a time.

This is due to the fact that I wanted to reduce the changes required and considering the fact any user deals with
1 or 2 examples at most at any given time. (A Visual Studio solution provides only executable at any point)

The project files will need to be downloaded via "mercurial"

Optional features such as click,mpi,openflow can be built, however I have made these project files dormant. It is upto

the end-user to enable them and point to the required include libraries to run its examples. I might provide instructions
later on how to handle the optional features.

Any windows-based solution is always going to be a subset of the main ns-3 project and will have a reduced feature-set.

This version is built on ns-3-dev rather than ns-3.10.

The GUI MFC code is removed, as I prefer to maintain it separately.

The following are some of the missing features
(some are excluded currently due to lack of time in porting them,some because they depend on third-party s/w
and some can never be supported for windows)

waf,Python-binding,Visualizer (portable). Note:Visual studio solution does not require waf at this point.

watchdog.cc,wall-clock-synchronizer.cc,unix-system-wall-clock-ms.cc,unix-system-thread.cc,unix-system-condition.cc,unix-fd-reader.cc,int64x64-cairo.cc,int64x64-128.cc (can be sort of ported)

config-store (portable)

All NSC code (non-portable)

SQL dependent code (portable)

rocketfuel-topology-reader.cc (portable)

Real-time simulator (????)

lte-multiple-flows.cc (portable)

main-test-sync.cc (portable)

nms-p2p-* files (portable)

Version (ns-3.10-Win-1.3) Alpha version built on ns-3-dev(dated 02/07/2011)

The MPI-related examples have an associated Makefile, to help build them.

Distributed simulation is run with the aid of "Open MPI". As Open MPI's "mpirun" utility requires a console application, distributed-simulation needs to be a console app (i.e Windows GUI components won't be available).

nms* examples are not included as they use "variable-length arrays" with are C99 features not supported on Visual C++.These examples might be made available in a future version.