From Nsnam
Jump to: navigation, search

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

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

Back to GSoC 2023 projects

Project Overview

  • Project Name: IUNS-3 5G NR: Improving the Usability of ns-3's 5G NR Module
  • Student: Giovanni Grieco
  • Mentors: Tom Henderson, Katerina Koutlia, and Biljana Bojovic
  • Google page:
  • Project Goals: IUNS-3 5G NR is a GSoC '23 medium-size project proposal that offers a general purpose introductory scenario to dive into the 5G New Radio world, unlocking the ability for users, from university students to research scientists and engineers, to know the 5G architecture in detail and enable them to use the simulator for research and development.
  • Repositories:
  • About Me: I am a second-year PhD Student in Electrical and Information Engineering at Polytechnic University of Bari, Italy, focused on Telecommunications Engineering and, more specifically, the Internet of Drones. ns-3 orbited so much around my university career, as I have been developing IoD-Sim, a ns-3 module for the Internet of Drones, since my bachelor's final thesis in 2019. ns-3 still remains my primary tool to test out experimental protocols, applications, and communication technologies that would otherwise require very expensive infrastructure to reproduce in the laboratory. This Google Summer of Code project represents a unique opportunity to better know the community, learn from their experiences, and contribute my ideas to upstream!
  • Final report


  1. Read 3GPP TR 38.300 as an overview. In general, we will look to align with 3GPP terminology and specifications.
  2. Start to document somewhere (Google doc, or Sphinx) the lifecycle of these UDP packets-- what are the interesting things that happen to each packet to get it through the RAN?
  3. Start to migrate LOG statements so that interesting logs are in NS_LOG_INFO and NS_LOG_WARN. See WifiHelper::EnableLogComponents()-- we should come up with a similar one for NrHelper::EnableLogComponents (level=INFO by default). Alternative is to place dedicated methods in the nr examples, tailored to logs of interest.
  4. Enable traces: //nrHelper->EnableTraces(); perhaps controlled by a command line argument. How can these help the new user?
  5. Line 453 of states: // From here, it is standard NS3. In the future, we will create helpers for this part as well. Start to create such helpers, focusing first on application and TFT configuration.
  6. Start to experiment with the ConfigStore loading and saving of attributes and default values.
  7. Measuring latency within the NR RAN-- new trace sources at ingress and egress of NetDevice? Packet tags?

Weekly Report

Week 1 [May 29 - Jun 03]

  • Tracking ns-3 3.38 release and NR 5g-lena-v2.4.y branch
  • Milestone 5 is tracked over MR !52
  • Some compile-time deprecation/warnings were addressed in MRs !48 and !49
  • Minor fixes made in MRs !50, !51, !53

Week 2 [Jun 05 - 10]

Week 3 [Jun 12 - 17]

Week 4 [Jun 19 - 24]

  • An experimental fix of pipeline with has been made with commit 78bdebbe
  • Some advices were made to improve MR !54 even more, by aligning the pipeline configuration with ns-3.
  • Fixing compile issues with MR !60

Week 5 [Jun 26 - Jul 01]

  • Alignment of the pipeline with ns-3 has been made in MR !54
  • Presentation of the current state of the project, issues, and difficulties at WNS3 2023
  • Fixing 'cttc-nr-demo' usability issues with MRs !61

Week 6 [Jul 03 - Jul 08]

  • All previous merge requests were checked for issues and fixed.
  • Started a thorough and high-level description of the 'cttc-nr-demo' scenario at this repository.

Week 7 [Jul 10 - Jul 15]

  • Discussed about how to convey information in the tutorial, preferably in the form of sequence diagrams. Such draft is still private.
  • Added documentation on 'GridScenarioHelper' with MR !62

Week 8 [Jul 17 - Jul 22]

  • Started discussing on possible usability improvements in Packet Tracing - MR !65
  • Fixes on past MRs and pipeline configuration

Week 9 [Jul 24 - Jul 29]

  • Continuing developments on Packet Tracing usability over MR !65
  • Solving an issue related to MRs !55, !57, and !58

Week 10 [Jul 31 - Aug 05]

  • Squash together MRs !55, !57, and !58 in MR !67 after some feedback to better organize inserted URLs.
  • Ongoing logging level refactoring and new trace sources on ns-3 LTE module and NR one.

Week 11 [Aug 07 - Aug 12]

  • Published MR !68 related to the demotion of some Informational logs messages to Function trace messages.
  • New sequence diagrams are included in the tutorial to better explain the packet lifecycle, especially when it is forwarded through the RAN - ggrieco/nr:tutorial

Week 12 [Aug 14 - Aug 19]

Week 13 [Aug 21 - Aug 26]

  • Work ongoing to finish the tutorial
  • Created MR !71 to review the efforts made for the tutorial.

Week 14 [Aug 28 - Sep 02]

  • Work ongoing to finish the tutorial
  • Tutorial assessment and review by mentors
  • Raised issue #165

Week 15 [Sep 04 - Sep 09]

  • Improvement, revision and evaluation of the tutorial
  • Final assessment and submission to GSoC organization