GSOC2024DHCPv6FinalReport: Difference between revisions

From Nsnam
Jump to navigation Jump to search
Line 13: Line 13:
== Merge Requests, Commits, and Project Details ==
== Merge Requests, Commits, and Project Details ==


We maintained a single branch for all the GSoC work, named [https://gitlab.com/ameyanrd/ns-3-dev/-/tree/gsoc-21 ''gsoc-21''].
We maintained a single branch for all the code written during GSoC, named [https://gitlab.com/kavbhat/ns-3-dev/-/tree/gsoc-24 gsoc-24].


Project Wiki Page: [https://www.nsnam.org/wiki/GSOC2021NixVector ''GSOC2021NixVector'']
Project Wiki Page: [https://www.nsnam.org/wiki/GSOC2024DHCPv6 GSOC2024DHCPv6]


Proposal: [https://drive.google.com/file/d/18IpyX-UdrX7v_Xh-jpEixdEExq_0gsZa/view?usp=sharing ''link'']
Proposal: [https://drive.google.com/file/d/1PjWxKP3Tydh9jTVjiTQ8Pphp16EaDT-9/view?usp=sharing Link]
 
To create a Merge Request, I picked the particular set of related commits from ''gsoc-21'', applied them on another master-derived branch, and then made an MR.


{| class="wikitable"
{| class="wikitable"
Line 34: Line 32:
| [4] || [https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2102 internet: Add TracedCallback for interface on receiving M flag in RA] || Approved || --
| [4] || [https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2102 internet: Add TracedCallback for interface on receiving M flag in RA] || Approved || --
|}
|}
== Community Bonding Period ==
=== Plan and Action Points ===
During this phase, we ironed out details on how to begin working on the project:
* Scheduled a weekly video call for doubts and discussions.
* Discussed the ideas in the proposal to decide which features of DHCPv6 were to be supported, and which were not. We decided to focus on stateful DHCPv6 for the project.
* Began working on a design document for the project.
* Decided to maintain a single branch, gsoc-24, on the fork for all the work done over the entire timeline.
=== Prior to Coding Phase ===
* Read through RFC 8415 to understand the required and relevant sections to be implemented.
* Coded a rough outline of the DHCPv6 Header and Options classes to better understand edge cases and make design decisions of how to handle all the DHCPv6 options.
== Phase 1 ==
== Phase 2 ==

Revision as of 01:20, 21 August 2024

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

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

Back to GSoC 2024 projects

Project Overview

  • Project Name: DHCPv6
  • Student: Kavya Bhat
  • Mentors: Tommaso Pecorella, Alberto Gallegos Ramonet, Manoj Kumar Rana

The project aimed to implement DHCP for IPv6 (DHCPv6), which is used in IPv6 networks for address configuration on devices, and allows for central management of the network. ns-3 has a model for DHCP but currently does not have an implementation for DHCPv6, and the goal is to add functionality for this protocol.

Merge Requests, Commits, and Project Details

We maintained a single branch for all the code written during GSoC, named gsoc-24.

Project Wiki Page: GSOC2024DHCPv6

Proposal: Link

Merge Requests
No. Name Status Commit
[1] internet: Add TracedCallback to trace address state on DAD completion Merged [1]
[2] internet: Add TracedCallback to trace valid address after DAD Merged [2], [3]
[3] Draft: GSoC 24 - DHCPv6 Draft --
[4] internet: Add TracedCallback for interface on receiving M flag in RA Approved --

Community Bonding Period

Plan and Action Points

During this phase, we ironed out details on how to begin working on the project:

  • Scheduled a weekly video call for doubts and discussions.
  • Discussed the ideas in the proposal to decide which features of DHCPv6 were to be supported, and which were not. We decided to focus on stateful DHCPv6 for the project.
  • Began working on a design document for the project.
  • Decided to maintain a single branch, gsoc-24, on the fork for all the work done over the entire timeline.

Prior to Coding Phase

  • Read through RFC 8415 to understand the required and relevant sections to be implemented.
  • Coded a rough outline of the DHCPv6 Header and Options classes to better understand edge cases and make design decisions of how to handle all the DHCPv6 options.

Phase 1

Phase 2