Today was a public holiday in Queensland. I used the day to recover from the sickness over the weekend.
I talked to Guo-Fu about DHCPv6 - I'll be implementing it this week.
I'm beginning to realise I might want to make soliciting a prefix an operation that returns a status code. This way the caller can determine whether or not a DHCPv6 request needs to be made to find information such as DNS nameservers or whether to attempt a complete address solicit via DHCPv6. That way there's only one command to run (“ipv6”, possibly to be renamed soon) instead of two or three for unusual network configurations.
Set up some distcc hosts today to get a bit of a boost in recompile time. Every second counts :). The key is that I booted a Debian installer netboot via IPv6 in gPXE on my local network, and it seems to have gone off without a hitch. It's nice to see it all working so well “out of the box”, so to speak.
I spent the rest of the evening reading the DHCPv6 RFC (RFC 3315) and started filling out dhcp6.h with the relevant types and defines I'll need later on to implement it. As I work I'm also thinking about how best to implement it for gPXE. It's hard to say what features will be of most interest at this stage, I will need to implement them to be sure.
More reading of the DHCPv6 spec today. Getting a better idea of what the protocol is capable of - my main exposure to it has been in the software so far. It does seem quite well-thought-out, and as my work involves administering a network it's nice to see how some of the features will reduce the workload in the future.
Tonight and yesterday's work - mainly getting dhcp6.h filled out as I read through the RFC. Hopefully I can start getting some code down soon - I'll definitely need to read the DHCPv4 code to get an idea of how to make things work. Certainly looking forward to throwing some DHCPv6 packets onto my network though!
Maintenance at work this evening and some other issues with hardware at work turned this evening into a write-off for gPXE work.
Looked at merging and rearranging some commits today ready for submission upstream for testing. After a few hours of dealing with conflicts and continuously breaking builds I've decided to wait a bit and work on the merging some time later. I really need to figure out how best to work from now on so merging and rearranging for upstream won't be so painful in the future. I'm almost certain I won't be able to avoid rearranging and merging altogether, as there's always some small bugfix later on which should be able to be merged with the original feature's commit, so I need to get this workflow working in a way that doesn't mean each upstream merge involves hours of work.