GSOC2020NetDevice

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 2020 projects

Project Overview

  • Project Name: NetDevice up/down consistency and event chain
  • Student: Ananthakrishnan S
  • Mentors: Tommaso Pecorella, Zoraze Ali, Joe Dizhi Zhou
  • Abstract: There are a variety of NetDevices available in ns-3 which aides in different simulation scenarios such as WifiNetDevice, PointToPointNetDevice, CsmaNetDevice etc. As of now, there are inconsistencies between the state of NetDevices and IP interfaces attached to them. When a NetDevice gets disconnected, the associated IP Interface must be informed about this change. As of now, IP Interface is not informed. The way different NetDevices handle link change is also inconsistent. This project aims at inspecting the behavior of mainly PointToPointNetDevice, CsmaNetDevice as well as WifiNetDevice and setting a consistent behavior. LteNetDevice being more complex to work on will be studied and if possible be implemented as well. Additionally, the event chain that gets triggered when an IP Interface changes its state will be examined as well.
  • Repository: Link
  • About Me: I am a final year M.Tech student at the National Institute of Technology, Surathkal, Karnataka. I am currently working on implementing a publisher-subscriber model in ndnSIM, which is built on top of ns-3. In my first year, I have worked on extending AQM Evaluation Suite in ns-3 based on RFC 7928. I was a GCI mentor for ns-3 in 2019.

Weekly Reports

Community Bonding Period: 4th May to 1st June

  • Created a Project Wiki page.
  • Opened up a shared google document to add and review information, comparisons, and code designs relevant to the project. The document will be kept updated as the project moves forward.Link to doc.
  • Studied the events that happen when Network Devices changes state in Linux kernel (5.7-rc6).

Week 1: 1st June - 7th June

  • A general guideline on the behavior of NetDevices has been made based on Documentation and research did during the Community bonding period. The guideline can be found here here.
  • Made a proposal on how to implement the said guideline in ns-3. The proposal is included in the guideline.

Week 2: 8th June - 14th June

  • Added class NetDeviceState that is to be aggregated with NetDevice class. It will be aggregated by NetDevices that support NetDevice behavior described in the class. Commit: link
  • Started a section that describes NetDevice behavior in the Network module. Commit: link

Week 3: 15th June - 21st June

  • Revised the initial implementation of NetDevice behavior after discussions with mentors. The new implementation will enable specializations for specific NetDevices.

Week 4: 22nd June - 28th June

  • Created CsmaNetDeviceState class to integrate the architecture into CsmaNetDevice.
  • Modified CsmaHelper class to help user turn off/on the device or Detach the device from a channel.

Week 5: 29th June - 5th July

  • Added test suite for checking the functionality of CsmaNetDeviceState.
  • Added LOG macros and documentation in the code.
  • Integrated feedbacks from mentor.

Week 6: 6th July - 12th July

  • to be added

Week 7: 13th July - 19th July

  • to be added

Week 8: 20th July - 26th July

  • to be added

Week 9: 27th July - 2nd August

  • to be added

Week 10: 3rd August - 9th August

  • to be added

Week 11: 10th August - 16th August

  • to be added

Week 12: 17th August - 23rd August

  • to be added