From Fedora Project Wiki
m (Add Click Modular Router bug link.)
(Retarget to Fedora 20 as agreed by FESCo on 2013-03-20 meeting due to missing Feature Freeze deadline)
 
(22 intermediate revisions by 3 users not shown)
Line 2: Line 2:


== Summary ==
== Summary ==
'''Specfile is posted for review:''' https://bugzilla.redhat.com/show_bug.cgi?id=807821


Design packaging scheme for ns-3 network simulator and provide it in Fedora.
Design packaging scheme for ns-3 network simulator and provide it in Fedora.
Pretty usable spec file (both C++ and Python simulations work) for ns-3 version 3.16 is available at that bug report along with required patches.
Still missing:
* visualizer (TODO, should be easy),
* click (TODO, should be a bit of work but not too hard),
* openflow (might consider it when/if Blake Hurd's changes go upstream, see below for details).
To use ns-3 when installed via RPMs, you must use pkgconfig, e.g.
$ g++ first.cc `pkg-config --libs --cflags libns3.16-core-debug libns3.16-network-debug libns3.16-internet-debug libns3.16-point-to-point-debug libns3.16-applications-debug`


== Owner ==
== Owner ==
Line 12: Line 24:
== Current status ==
== Current status ==


* Targeted release: [[Releases/16 | Fedora 16]]  
* Targeted release: [[Releases/20 | Fedora 20]]  
* Last updated: 2011-05-31
* Last updated: 2013-03-20
* Percentage of completion: 0%
* Percentage of completion: 60%


== Detailed Description ==
== Detailed Description ==
Line 21: Line 33:


ns-3 is intended as an eventual replacement for the popular ns-2 simulator." ([http://www.nsnam.org/ ns-3 home page])
ns-3 is intended as an eventual replacement for the popular ns-2 simulator." ([http://www.nsnam.org/ ns-3 home page])
For now, we package ns-3.16 with some extra patches which will eventually be upstreamed (hopefully, at least).


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 36: Line 50:
Tests and scripts used for testing simulator itself are provided in ns-3 and can also be packaged.
Tests and scripts used for testing simulator itself are provided in ns-3 and can also be packaged.


No special hardware or software is required, unless we are testing interaction of ns-3 simulator with real world networks and LXC virtual machines. FIXME: write this in detail.
No special hardware or software is required; testing is handled by ns-3's test.py script that builds tests and executes them.


== User Experience ==
== User Experience ==
Line 44: Line 58:
== Dependencies ==
== Dependencies ==


Definitly:
Definitly needed:
* everything mentioned in [http://www.nsnam.org/wiki/index.php/Installation#Fedora.2FRedHat Fedora installation at nsnam wiki]
* everything mentioned in [http://www.nsnam.org/wiki/index.php/Installation#Fedora.2FRedHat Fedora installation at nsnam wiki]
* [http://code.google.com/p/waf/ waf], already in Fedora (ns-3 uses waf 1.5.x; not sure if it's a problem, since it's bundled with ns-3)
* [http://lxc.sourceforge.net/ LXC], already in Fedora


Possibly:
Not needed but will package since it's easy to do:
* [http://networkx.lanl.gov/pygraphviz/ PyGraphviz], should be similar to NetworkX in terms of packaging (TODO), https://bugzilla.redhat.com/show_bug.cgi?id=740687
* [http://research.wand.net.nz/software/nsc.php NSC], bundled in ns-3-allinone
* [http://www.read.cs.ucla.edu/click/ Click Modular Router] ([https://bugzilla.redhat.com/show_bug.cgi?id=709082 bug 709082])
* [http://www.read.cs.ucla.edu/click/ Click Modular Router] ([https://bugzilla.redhat.com/show_bug.cgi?id=709082 bug 709082])
Possibly useful in the future/would be cool to have:
* [http://lxc.sourceforge.net/ LXC], already in Fedora
* [http://www.openflow.org/ OpenFlow], [http://code.nsnam.org/bhurd/openflow Blake Hurd's modified OpenFlow that works with ns-3]
* [http://www.openflow.org/ OpenFlow], [http://code.nsnam.org/bhurd/openflow Blake Hurd's modified OpenFlow that works with ns-3]
* [http://www.nsnam.org/wiki/index.php/NetAnim NetAnim 3.0]
* [http://yans.pl.sophia.inria.fr/trac/nepi NEPI/NETNS/NEF]


== Contingency Plan ==
== Contingency Plan ==
Line 59: Line 78:
== Documentation ==
== Documentation ==


Not yet. FIXME
* [http://www.nsnam.org/documentation/ ns-3 Documenation]
* [http://www.nsnam.org/wiki/index.php/Main_Page ns-3 Wiki]
* [http://www.nsnam.org/wiki/index.php/Installation ns-3 Wiki: Installation]


== Release Notes ==
== Release Notes ==
Line 71: Line 92:


[[Category:FeaturePageIncomplete]]
[[Category:FeaturePageIncomplete]]
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
[[Category:SciTech SIG|Ns3]]

Latest revision as of 19:14, 20 March 2013

ns-3 Network Simulator

Summary

Specfile is posted for review: https://bugzilla.redhat.com/show_bug.cgi?id=807821

Design packaging scheme for ns-3 network simulator and provide it in Fedora.

Pretty usable spec file (both C++ and Python simulations work) for ns-3 version 3.16 is available at that bug report along with required patches.

Still missing:

  • visualizer (TODO, should be easy),
  • click (TODO, should be a bit of work but not too hard),
  • openflow (might consider it when/if Blake Hurd's changes go upstream, see below for details).

To use ns-3 when installed via RPMs, you must use pkgconfig, e.g.

$ g++ first.cc pkg-config --libs --cflags libns3.16-core-debug libns3.16-network-debug libns3.16-internet-debug libns3.16-point-to-point-debug libns3.16-applications-debug

Owner

Current status

  • Targeted release: Fedora 20
  • Last updated: 2013-03-20
  • Percentage of completion: 60%

Detailed Description

"ns-3 is a discrete-event network simulator for Internet systems, targeted primarily for research and educational use. ns-3 is free software, licensed under the GNU GPLv2 license, and is publicly available for research, development, and use.

ns-3 is intended as an eventual replacement for the popular ns-2 simulator." (ns-3 home page)

For now, we package ns-3.16 with some extra patches which will eventually be upstreamed (hopefully, at least).

Benefit to Fedora

Fedora will be more attractive to researchers, teachers and students in field of computer networks since it will be much easier to install and use ns-3.

ns-2 is widely used in academia, and it's expected that ns-3 will follow that suit. There are already a couple of courses using ns-3. (Tom Henderson keynote at WNS3 2011 mentions three, but there are at least three more: CS641 at Indian Institute of Technology Bombay, S-38.2188 at Aalto University, CS640 at Brigham Young University)

Scope

This is an isolated change, that requires adding packages to Fedora. ns-3 has quite some dependancies, and most of them are already in Fedora (see below).

How To Test

Tests and scripts used for testing simulator itself are provided in ns-3 and can also be packaged.

No special hardware or software is required; testing is handled by ns-3's test.py script that builds tests and executes them.

User Experience

Researchers, teachers and students will be able to install ns-3 much easier.

Dependencies

Definitly needed:

Not needed but will package since it's easy to do:

Possibly useful in the future/would be cool to have:

Contingency Plan

Release without ns-3 included.

Documentation

Release Notes

ns-3 is a discrete-event network simulator for Internet systems, targeted primarily for research and educational use. ns-3 is now included in Fedora. This makes it easier for researchers, teachers and students in field of computer networks to install it and use it.

Comments and Discussion