Difference between revisions of "Contributed Code"

From Nsnam
Jump to: navigation, search
(Contributed code not maintained by the project)
(Add FTMRate)
 
(17 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{TOC}}
 
{{TOC}}
There are several ways to contribute code to ns-3:
+
There are several ways to contribute code to ns-3.  The options are outlined in our [https://www.nsnam.org/docs/contributing/html/index.html contributing guide].
# [http://www.nsnam.org/developers/contributing-code/ Contribute to the main tree]
+
 
# Send contributed code to one of the maintainers, for archiving on the project website (and listing here)
+
# Contribute to the main tree through our code contribution process (outlined in the above linked documentation)
# Maintain or archive your code at your own site and add a link here
+
# Maintaining your own ns-3 extension as a contributed module in our [https://apps.nsnam.org ns-3 App Store]
 +
# Archive some software either at your own website or a public Git repository, and link to it from this page
  
 
== Contributed code under review for the main tree ==
 
== Contributed code under review for the main tree ==
  
The preferred place for contributed code to end up is in our main tree.  See the [[Current_Development#Code_reviews | Current Development page]] and [https://groups.google.com/forum/?fromgroups#!forum/ns-3-reviews code review discussions] for a listing of all code that is under review for the main tree..
+
Contributed code for the main tree will be accepted if it is considered to be of general interest.  Many new contributions for less common (or more niche) use cases are recommended for the ns-3 [https://apps.nsnam.org/ App Store].  View current [https://gitlab.com/nsnam/ns-3-dev/-/merge_requests Merge Requests] for the mainline ns-3-dev.  See the [[Current_Development#Code_reviews | Current Development page]] and [https://groups.google.com/forum/?fromgroups#!forum/ns-3-reviews code review discussions] for a listing of older code that may still be of interest.
  
 
== Contributed code not maintained by the project ==
 
== Contributed code not maintained by the project ==
Line 16: Line 17:
  
 
|+ Contributions
 
|+ Contributions
! Contribution !! Contributor !! Status !! Link
+
! Contribution !! Contributor !! Status !! Link
 
|-
 
|-
! OpenNet:  A Simulator for Software-Defined Wireless Local Area Network
+
! FTM-based rate selection
|  Min-Cheng Chan || ns-3.18 version || [https://github.com/dlinknctu/OpenNet GitHub site]  
+
|  [mailto:wojciech.ciezobka@agh.edu.pl W. Ciezobka], [mailto:maksymilian.wojnar@agh.edu.pl M. Wojnar], K. Kosek-Szott, S. Szott, K. Rusek || Distance-based rate selection manager using machine learning, example of combining ns-3, ns3-ai, and the Google JAX framework || [https://github.com/ml4wifi-devs/ftmrate GitHub repo]  
 +
 
 +
|-
 +
! Monte Carlo Simulation library
 +
|  [mailto:kamil-chelminiak@wp.pl Kamil Chełminiak] || Add-on to facilitate Monte Carlo simulations in ns-3.38 || [https://github.com/chelminiak/MonteCarloSimulator/ GitHub repo] 
 +
|-
 +
! LoRa mesh module for ns-3.29
 +
|  [mailto:sanjaycharran@gmail.com Sanjay Charran] || Proof-of-concept mesh protocol for ns-3.29 || [https://github.com/sanjay-charran/lora-mesh/ GitHub repo] 
 +
|-
 +
! DetNetWiFi: Determistic Wireless/Wired ns-3 framework
 +
|  [mailto:sofia@fortiss.org Rute C. Sofia] and fortiss IIoT team || Developed and validated for ns-3.34; see status [https://git.fortiss.org/iiot_external/detnetwifi-ns3/-/blob/main/README.md here] || [https://git.fortiss.org/iiot_external/detnetwifi-ns3/ GitLab repo] 
 +
|-
 +
! »Time-Aware Shaper (TAS)« from »Time-Sensitive Networking (TSN)« implemented in ns-3
 +
|  [mailto:dennis.krummacker@gmail.com Dennis Krummacker], [mailto:lwendlin@rhrk.uni-kl.de Luca Wendling ] || ns-3.31 Version || [https://github.com/DenKrysos/Time-Aware-Shaper-TAS-in-ns-3 GitHub Repository] 
 +
|-
 +
! A framework for Radio Resource Management in WiFi Networks
 +
|  Dr. Venkatesh Ramaiyan, Krishna Bharadwaj, S.Kalpalatha || ns-3.27 version || [https://github.com/ns3iit/rrimodule GitHub site]
 +
|-
 +
! OpenNet:  An emulator for Software-Defined Wireless Local Area Network and Software-Defined LTE Backhaul Network
 +
|  Min-Cheng Chan, Ting-Hsuan Hsieh || ns-3.22 version || [https://github.com/dlinknctu/OpenNet GitHub site]  
 
|-
 
|-
 
! Tmix and DelayBox
 
! Tmix and DelayBox
Line 75: Line 95:
 
! OpenFlow DCE SDN framework
 
! OpenFlow DCE SDN framework
 
|  [mailto:j.ivey@gatech.edu Jared Ivey] || DCE modifications || [https://github.com/jaredivey/dce-python-sdn GitHub repo]
 
|  [mailto:j.ivey@gatech.edu Jared Ivey] || DCE modifications || [https://github.com/jaredivey/dce-python-sdn GitHub repo]
 +
|-
 +
! Topology Generator
 +
|  [mailto:jeffrey.young@inl.gov Jeffrey Young] || GitHub repository (tested with ns-3.25) || [https://github.com/idaholab/Topology_Generator GitHub repo]
 +
|-
 +
! Code Generator (command-line/XML topology generator)
 +
|  [mailto:jeffrey.young@inl.gov Jeffrey Young] || GitHub repository (tested with ns-3.25) || [https://github.com/idaholab/Code_Generator GitHub repo]
 +
|-
 +
! Wormhole Attack Simulation using ns3
 +
|  Rahul Hada || GitHub repository (tested with ns-3.20) || [https://github.com/rahulhada/ns3-wormhole-attack GitHub repo]
 +
|-
 +
! Overlay ICN (O-ICN) simulator
 +
|  [mailto:suvrat.a@tcs.com Suvrat Agrawal], and [mailto:s.samar@tcs.com Samar Shailendra] || Github repository; tested with ns3.24 || [https://github.com/TCS-Research/OICNSIM/ GitHub repo]
 +
|-
 +
! TCP Wave from TLCSat Group
 +
|  [mailto:ahmed.said@uniroma2.it Ahmed Abdelsalam], and [mailto:roseti@ing.uniroma2.it Cesare Roseti] || Group Webpage /Github repository; tested with ns3.23 || [https://github.com/Ahmed1978/TCPWave GitHub repo]; [http://tlcsat.uniroma2.it/tcpwave TLCSat page]
 
|}
 
|}
  

Latest revision as of 09:20, 27 September 2023

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

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

There are several ways to contribute code to ns-3. The options are outlined in our contributing guide.

  1. Contribute to the main tree through our code contribution process (outlined in the above linked documentation)
  2. Maintaining your own ns-3 extension as a contributed module in our ns-3 App Store
  3. Archive some software either at your own website or a public Git repository, and link to it from this page

Contributed code under review for the main tree

Contributed code for the main tree will be accepted if it is considered to be of general interest. Many new contributions for less common (or more niche) use cases are recommended for the ns-3 App Store. View current Merge Requests for the mainline ns-3-dev. See the Current Development page and code review discussions for a listing of older code that may still be of interest.

Contributed code not maintained by the project

Not all code will end up being merged-- some is being maintained by third party sites or maintainers. This section can be used to list this other code. Note also that if you want the ns-3 project to maintain a tarball of your scripts or models for long-term archiving, we can list it here.

Contributions
Contribution Contributor Status Link
FTM-based rate selection W. Ciezobka, M. Wojnar, K. Kosek-Szott, S. Szott, K. Rusek Distance-based rate selection manager using machine learning, example of combining ns-3, ns3-ai, and the Google JAX framework GitHub repo
Monte Carlo Simulation library Kamil Chełminiak Add-on to facilitate Monte Carlo simulations in ns-3.38 GitHub repo
LoRa mesh module for ns-3.29 Sanjay Charran Proof-of-concept mesh protocol for ns-3.29 GitHub repo
DetNetWiFi: Determistic Wireless/Wired ns-3 framework Rute C. Sofia and fortiss IIoT team Developed and validated for ns-3.34; see status here GitLab repo
 »Time-Aware Shaper (TAS)« from »Time-Sensitive Networking (TSN)« implemented in ns-3 Dennis Krummacker, Luca Wendling ns-3.31 Version GitHub Repository
A framework for Radio Resource Management in WiFi Networks Dr. Venkatesh Ramaiyan, Krishna Bharadwaj, S.Kalpalatha ns-3.27 version GitHub site
OpenNet: An emulator for Software-Defined Wireless Local Area Network and Software-Defined LTE Backhaul Network Min-Cheng Chan, Ting-Hsuan Hsieh ns-3.22 version GitHub site
Tmix and DelayBox Old Dominion ns-3.13/3.14.1/3.21 versions project website
Synchronized Network Emulation RWTH Aachen ns-3.7 version project website
NEMO/MIP simulator Hajime Tazaki announced here code repository
Content Addressable Networks DHT Vijay K. Gurbani et al. announced here code repository
Pastry DHT Port Charilaos Papadopoulos early beta Personal Website
Access point address manager Francesco Malandrino details Download ap-address-manager.cc/h
Linux namespaces and ns-3 Tom Goff demo code wiki page
ndnSIM: Named Data Networking (NDN) module for ns-3 Alexander Afanasyev et al. released ndnSIM homepage
WiFi Dynamic Frequency Allocation feature Raad Qandah patch against ns-3.11 Download tarball
Fisheye State Routing with Node Degree Based Route Computation Ralph Baird zip archive (tested with ns-3.20) Download zip archive
CRE-NS3: Cognitive radio extension for ns-3 Abdulla Al-Ali and Kaushik Chowdhury GitHub code (tested with ns-3.17) Web site
Examples of using the Steinwurf C++ Kodo library (network coding) with ns-3 Nestor Hernandez github (tracking ns-3-dev) Project web site
Multipath TCP from Morteza Kheirkhah Morteza Kheirkhah GitHub code (tested with ns-3.19) GitHub repo
Blackhole attack simulation in ns-3 using AODV Shalini Satre and Mohit P. Tahiliani Patches for ns-3.20 to ns-3.25 Patch and sample program
RadioWatcher (Provides real-time layer2

information from a Wifi device)

Fraunhofer FKIE (contact: Christoph Fuchs) tgz archive (tested with ns-3.23) Download archive
Distance vector routing Hiroaki Nishi Patches for ns-3.21 GitHub repository
OpenFlow 1.3 module Luciano Jerez Chaves Patches for ns-3.24 website
OpenFlow DCE SDN framework Jared Ivey DCE modifications GitHub repo
Topology Generator Jeffrey Young GitHub repository (tested with ns-3.25) GitHub repo
Code Generator (command-line/XML topology generator) Jeffrey Young GitHub repository (tested with ns-3.25) GitHub repo
Wormhole Attack Simulation using ns3 Rahul Hada GitHub repository (tested with ns-3.20) GitHub repo
Overlay ICN (O-ICN) simulator Suvrat Agrawal, and Samar Shailendra Github repository; tested with ns3.24 GitHub repo
TCP Wave from TLCSat Group Ahmed Abdelsalam, and Cesare Roseti Group Webpage /Github repository; tested with ns3.23 GitHub repo; TLCSat page

Archived repositories

These ns-3 repositories may be of interest to future users; many of them are prototypes that were never merged to the main tree and have been abandoned.