GSoC 24 - DHCPv6

This Merge Request is for the GSoC '24 project to implement DHCPv6.

Source Files: Path src/internet-apps/model/, with the prefix dhcp6-.
Helper: src/internet-apps/helper/dhcp6-helper.cc.

Tasks in progress:

  • Create a separate DUID class to better handle client and server identifiers (DUID-LL). Ensure other DUID types can be supported.
  • Include the client DUID in the Expired Address information.
  • Add asserts in the client and server for better validation and error handling.
  • Allow DHCPv6 client to handle all interfaces on a node.
  • Remove introduction of internetapps namespace
  • Add NS_LOG_DEBUG statements
  • Squash commits

Future Work:

  • Add support for using a config file to set up DHCPv6, similar to Linux implementations.
  • Allow users to manually set the DUIDs.
  • Handle cases where the client should restart the stateful DHCPv6 process by sending Solicits:
    • When an interface goes down and comes up again.
    • When a node leaves the network and rejoins at a later time.
  • Add support for host reservations in DHCPv6.
  • Add support for message retransmissions
  • Remove addresses when an interface goes down (and reset the routing, if needed)
Edited by Kavya Bhat

Merge request reports

Loading