ns-3 Network Simulator
Design packaging scheme for ns-3 network simulator and provide it in Fedora.
Pretty usable spec file (C++ and Python simulations work) for ns version 3.12.1 is available: ns.spec, missing: nsc, click, openflow
- Name: Vedran Miletić
- Email: rivanvx at gmail dot com
- Targeted release: Fedora 17
- Last updated: 2011-07-04
- Percentage of completion: 70%
"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.11, but it's very likely that ns-3.13 will be available in time for Fedora 17, so we will upgrade to that. The reason why we choose to target Fedora 17 instead of Fedora 16 is to take time to work with upstream on fixing issues in the installation process, so it's highly likely that we will be able to package ns-3 without any extra patches.
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)
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.
Researchers, teachers and students will be able to install ns-3 much easier.
- everything mentioned in Fedora installation at nsnam wiki
- waf, already in Fedora (ns-3 uses customized waf 1.5.16; probably not a problem, since it's bundled with ns-3 and needed only for building)
- NSC, bundled in ns-3-allinone
- PyBindGen , bundled in ns-3-allinone
- Click Modular Router (bug 709082)
- OpenFlow, Blake Hurd's modified OpenFlow that works with ns-3
- LXC, already in Fedora
- PyGraphviz, should be similar to NetworkX in terms of packaging (TODO)
Would be cool to have:
Release without ns-3 included.
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.