Difference between revisions of "Windows Port of ns-3 using Visual Studio"

From Nsnam
Jump to: navigation, search
(Current status)
(Current status)
Line 26: Line 26:
 
= Current status =
 
= Current status =
 
# The feasibility study was done .An unstable implementation built on ns-3.10 is available at [[#Software download]]
 
# The feasibility study was done .An unstable implementation built on ns-3.10 is available at [[#Software download]]
# After the modular re-organization a new unstable version is available built on the ns-3.11 lineup
+
# After [http://www.nsnam.org/wiki/index.php/App_Store_Technical_Requirements NS3 Modularization project]  a new unstable version is available built on the ns-3.11 lineup
  
 
= Software download =
 
= Software download =

Revision as of 21:13, 23 May 2011

A project to extend NS3 functionality on Windows operating-systems

If you want to try the unstable pilot implementation , go to #Software download.

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.

Project Goals

  1. To reduce or eliminate the need for CygWin to run NS3 on Windows operating-systems
  2. To expose native Windows API to NS3 developers
  3. To integrate NS3 into IDE's such as Visual Studio 2010
  4. To integrate NS3 into IDE's such as Visual Studio 2008 (Stretch Goal)

Development Plan

  1. Feasibility study and pilot implementation
  2. After the final commit from the NS3 Modularization project finalize folder structure and module list
  3. Review and commit changes for Windows onto ns-3.11
  4. Review copyrights,coding-style and documentation
  5. Build automated build framework

Current status

  1. The feasibility study was done .An unstable implementation built on ns-3.10 is available at #Software download
  2. After NS3 Modularization project a new unstable version is available built on the ns-3.11 lineup

Software download

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

Download from here

Changelog & Caveats:

  1. This version caters to "Distributed simulation/MPI".
  2. A separate Visual Studio 2010 Solution file "ns-3-dev-MPI.sln" is provided in addition to the default "ns-3-dev.sln",
  3. "ns-3-dev-MPI.sln" is required to build "ns-dev" static libraries with MPI/Distributed simulation related code available.
  4. The MPI-related examples have an associated Makefile, to help build them.
  5. 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).
  6. 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.

Please visit the #Installation & Usage page for more details


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

Download from here

Download NetAnim for Windows from here

Changelog & Caveats:

  1. Examples under Animation are enabled
  2. A Windows port of NetAnim
  3. Possible memory-leak if "Stop" button is pressed before Simulation ends (Need a way to gracefully shutdown simulator in future versions).


  • Version (ns-3.10-Win-1.1) Pilot/Limited feature/Alpha version built on ns-3-dev(dated 02/07/2011)

Download from here

Changelog & Caveats:

  1. More examples have been enabled,including wireless and wimax.However, the following examples are still excluded:
    • examples/matrix-topology
    • examples/mpi
    • examples/realtime
    • examples/tap
    • examples/topology-read
    • examples/emulation
  2. Missing code from Core simulator:
    • tools
    • test
    • mpi
    • cairo high-precision
    • any animation related code
    • tap-bridge
    • emulation
    • NSC
    • realtime
    • utils
    • python bindings
    • unix* and wall-clock-synchronization
    • matrix topology reader
    • buffer-test.cc
  3. This version contains a port of gsl_erfc from GSL 1.14, as Visual Studio does not provide erfc in the standard math libraries. The erfc(x) port has been tested for x ranging from 0 to 3.5
  4. Most of the contrib code is now included, except for code such as xml-config,config-store,sqlite*,gtk dependent code etc.
  5. High-precision cairo is not yet ported.
  6. OLSR model and helper are included, but olsr\test and olsr\examples are excluded as high-precision cairo is still not ported.
  7. This version fixes a major buffer-security bug in the first version (this is not related to the ns3 code).
  8. There should be zero linker errors & zero linker warnings in this version.

Installation & Usage

Follow instructions at Installation & Usage