Difference between revisions of "GSOC2020NetDevice"

From Nsnam
Jump to: navigation, search
 
Line 47: Line 47:
  
 
=== Week 7: 13th July - 19th July ===
 
=== Week 7: 13th July - 19th July ===
* to be added
+
* Made classes in Wifi module for NetDeviceState integration. [https://gitlab.com/ananthu-dev/ns-3-dev/-/commit/4bbf209d9442b9614675a648ba4a02afa9966bfa commit]
 +
* Made classes in PointToPoint module for NetDeviceState integration. [https://gitlab.com/ananthu-dev/ns-3-dev/-/commit/48aa78b5515eefdf4d54f9443f9252f67e14d963 commit]
 +
* Created a merge request to merge GSoC phase 1 work. [https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/353 link].
  
 
=== Week 8: 20th July - 26th July ===
 
=== Week 8: 20th July - 26th July ===
* to be added
+
* Implemented NetDeviceState in Wifi module. Made changes in each mac classes to setup and setdown WifiNetDevice. [https://gitlab.com/ananthu-dev/ns-3-dev/-/commit/dcb96d497b100763900583298d6955dcda39e9ad commit]
 +
* Worked on more issues pointed out in Merge request discussion.
  
 
=== Week 9: 27th July - 2nd August ===
 
=== Week 9: 27th July - 2nd August ===

Latest revision as of 15:27, 29 July 2020

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

  • Studied the working of WiFi.
  • Started looking into ns-3 WiFi module.
  • Added more test cases to CsmaNetDeviceStateTest to test whether callbacks are fired properly.
  • Ran check-style.py on all files I modified.
  • Made changes as per suggested by mentors.
  • Integrated code provided by Tommaso Pecorella to fix Gitlab Issue #234 to my code. Issue, Commit.

Week 7: 13th July - 19th July

  • Made classes in Wifi module for NetDeviceState integration. commit
  • Made classes in PointToPoint module for NetDeviceState integration. commit
  • Created a merge request to merge GSoC phase 1 work. link.

Week 8: 20th July - 26th July

  • Implemented NetDeviceState in Wifi module. Made changes in each mac classes to setup and setdown WifiNetDevice. commit
  • Worked on more issues pointed out in Merge request discussion.

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