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 internetappsnamespace -
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