Current Development: Difference between revisions

From Nsnam
Jump to navigation Jump to search
(GSOC code reviews)
Line 21: Line 21:
We have several Google Summer of Code projects under current review:
We have several Google Summer of Code projects under current review:
* LTE:  http://codereview.appspot.com/1869054/show  
* LTE:  http://codereview.appspot.com/1869054/show  
* Underwater Networking:  http://codereview.appspot.com/1875047/show
* Underwater Networking:  http://codereview.appspot.com/1743057
* Click routing:  http://codereview.appspot.com/1690056
* Click routing:  http://codereview.appspot.com/1690056
* OpenFlow integration:  http://codereview.appspot.com/1872049/show
* OpenFlow integration:  http://codereview.appspot.com/1872049/show

Revision as of 04:47, 8 August 2010

Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects

HOWTOs - Installation - Troubleshooting - User FAQ - Samples - Models - Education - Contributed Code - Papers

On this page, we will try to maintain pointers to current ns-3 development work, and post some suggested project ideas. If you are interested in collaborating on one of these projects, please do not hesitate to contact the individuals identified.

Much of the current activity is centered around the current release, which is now ns-3.9 due in August. The release page should list code that is under active review for merging.

ns-3.9 release page

If you are new to ns-3 and want to contribute, please read these guidelines: Contributing to ns-3 and review the information on this page below.

Note: Several ns-3 developers hang out on IRC at #ns-3 at irc.freenode.net. A typically active time is around 1500 to 1900 UTC, Mondays through Fridays.

We conduct many of our reviews at http://codereview.appspot.com.

Reviews requested for ns-3 merge

The following are the list of active reviews for merge to ns-3-dev. The next window for merging will be August/Sept 2010.

GSOC

We have several Google Summer of Code projects under current review:

TCP refactoring

Vehicular Ad Hoc Networks (VANET)

MPLS

Chord/DHash DHT

TCP Vegas

802.11g PHY support

API and functionality for marking TOS bytes in packets

Build system and project infrastructure

Modular build and package management

This issue is being tracked (requirements and wish list) on this page

State of Doxygen

Plan to file a P1 blocker on thie release to bring Doxygen into compliance (no errors, no warnings for missing documentation).

Deprecate waf regression

Plan to file a P1 blocker on a future release to migrate waf regression tests to the test.py framework.

Buildbots

Status: Josh Pelkey is going to debug current buildbots

  • investigate what happened to the email hook
  • investigate hooking code coverage (lcov) into the report
  • investigate how the whole buildbot farm may be made available to a maintainer to test out a non-ns-3-dev repo.

Separately, we are buying an Intel Mac for the testbed.

Code contribution guidance

Tom took action item to simplify and clarify the project code contribution guidelines (for people wishing to contribute new code to ns-3).

Samples directory

Consider cleanup and move of samples/ directory to examples/?

Documentation

Considering to refactor documentation to split the existing manual into a model library and a software core reference manual, to add a lighter-weight tutorial, and to add a "cookbook" of howtos for common ns-3 tasks.

Website

Status: We are looking for a nicely themed static front page for the project, similar to other open source projects (e.g. http://www.pfsense.org). It should be easily maintainable (editable) via mercurial or a simple open-source content management system. Some people have suggested migration of content to Trac wiki, but no action taken on this.

Other ongoing development projects

Google Summer of Code 2010

Please see GSOC2010AcceptedProjects page.

NSF Frameworks for ns-3

Please see NSF_Frameworks page.

ns-3 core

Multi-threaded simulation implementation for multicore

Synchronized emulation

Linux namespaces and ns-3

Device and channel models

Miscellaneous wifi enhancements

Patch to pause and resume an interface

802.11 model extensions

There are several efforts ongoing to extend the ns-3 Wifi model.

Harmonization with ns-2 802.11 Ext models

  • summary: ns-2.33 added a new 802.11 model with much more detailed channel modeling. An effort has been started to port over reusable components from that implementation to ns-3's wifi model, while reusing already implemented basic components. The goal is a harmonization of the 802.11 models of ns-2 and ns-3. Leading aim is to support research on vehicular networks. Planned near-term features:
    • Equalizing PHY models including capture effects, user-definable coding rates (e.g. 5.9 GHz from 802.11p)
    • EDCA QoS extensions of 802.11e
  • Already finished features:
    • Nakagami/Rayleigh propagation loss model
  • ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2008-November/004936.html
  • code location: http://idlebox.net/2008/ns-3-wifi/code/ns-3-wifiex/
  • status: under current active development. Time frame till this is completed: 4-5 month.

802.11n

  • summary: University of Florence (LART lab) has begun work on an 802.11n model for ns3. The main goal is to simulate the frame aggregation feature. In the future, they aim to implement the High Throughput terminal behaviour with MIMO technology. They plan to add, to ns-3's 802.11 model, the following 802.11n features:
    • Frame Aggregation
    • Block ACK
    • HCF (EDCA and support for HCCA)
    • TXOP
    • HT terminal (also with protection modes)
    • MIMO

Also interested to verify the 11n terminal throughput when are associated terminal of a/b/g standards.

  • Already finished features (in ns-3.5):
    • HCF, TXOP, Frame Aggregation
  • Merged for ns-3.8:
    • Block ACK
  • code location: http://code.nsnam.org/mirko/ns-3-80211n
  • status: Frame aggregation and block ack merged already; others TBD

Wireless Interference (Jamming) Model

Link layer

802.21 media independent handover

Network layer

IPv6 for ns-3

Application layer

Chord/DHash DHT

Synchronous posix/sockets API

real-world application integration

ns-3-simu sockopt patches

Visualization for ns-3

Jeremy Norman and the iNSpect team have posted some plans for a visualization library for ns-3:

Gustavo Carneiro is working on a NS-3 Python visualization tool called NS-3 PyViz.

George Riley has made a prototype animator for PointToPoint links.

Joe Kopena is working on what he calls a "decorator" http://code.nsnam.org/tjkopena/

Hagen Paul Pfeifer is working on a MANET visualizer http://nv.dev.jauu.net/

Graphical simulation builder

Pierre Weiss and Sebastien Vincent have written an ns-3 scenario generator in Qt.

Miscellaneous

L2 Ethernet switch module

Parallel simulations (2008)


Simulation Configuration and State Detection

In order to configure simulations across multiple, probably virtualized, machines a large amount of configuration must be performed in order to construct the component systems. The oppportunity for human error to creep in during this process renders it essentially manually unworkable for all but the simplest topologies. Craig Dowell is thinking about how to address this problem.

Simulation Configuration

Delay Box for ns-3

Matt Crinklaw is working on a port of ns-2 DelayBox to ns-3.

Suggested projects

2010 Google Summer of Code Project Ideas

We have posted some project ideas for Google Summer of Code. However, these ideas are not limited to the Google program.

Project ideas here

Path MTU discovery and fragmentation for IPv4 stacks

There is no path MTU discovery implemented for IPv4. This, combined with lack of fragmentation, makes guessing the end-to-end MTU imperative for ns-3 simulations. We would welcome a contribution that introduced path MTU discovery and IPv4 fragmentation to ns-3. Note that there is fragmentation support in the yans simulator that may be of use; contact Mathieu Lacage for more information.

Removing traffic generation from applications class