Started trying to get a DHCPv6 server running on my network. I'm finding out really quickly that DHCPv6 is fantastic for providing DNS nameservers, delegating prefixes to routers, or for simple address assignment (ie, /128 on the WIDE DHCPv6 server)… but not very useful in the same way as DHCP on IPv4. It seems they expect router advertisements to provide most information, and use DHCPv6 for things RAs do not cover.
Not to worry though, I will look closely at what I can implement in gPXE for maximum DHCPv6 support so it becomes entirely possible to just “drop in” to any existing IPv6 network.
Used today to talk to Marty and Guo-Fu about our plans for moving some of my patches into the upstream repository.
Guo-Fu also got a chance to review my current code, and made several suggestions for change. We also discussed the architectural changes to the tcpip layer that I made to facilitate ICMPv6's unique requirements.
I fixed EUI-64 generation today to use a function instead of duplicating the code.
While I was at it, I also moved prefix matching into it's own function and modified the handling of NDP router advertisements to handle unaligned prefixes correctly.
Had a discussion in IRC today about the issues with modifying the tcpip module. We came to the conclusion that for now we will revert the tcpip changes and just modify the IPv6 code to call ICMPv6's RX function.
It has gone to soc-mentors for review and discussion.
Today is also World IPv6 Day - hopefully we'll have some code up for testing over the next few days! :)
Didn't get any work done tonight due to real world commitments.
Came down sick overnight so I've spent a lot of time today and this evening sleeping. Haven't done any work on gPXE today.