This is an old revision of the document!
====== Week 5 (June 20 to June 27) ====== ==== Day 1 (June 20) ==== I managed to get my commits rebased and merged ready for upstream merge today... finally! It still took quite a while but I managed to sort out the conflicts as they came and it's all come together quite nicely. I also realised I've forgotten to sign off all my commits as they are committed, so I went through and signed them all off as well. Still not sure if the new set of commits needs work before upstream merge, but it is at least far cleaner than the development branch. I'm certainly glad I'm not using SVN right now :) ==== Day 2 (June 21) ==== This evening I mainly read up on DHCPv6. Whilst I have read the specification, there is a wealth of information on the Internet that covers real-world usage cases - something that the RFC alone cannot tell me about. [[http://meetings.ripe.net/ripe-53/presentations/dhcpv6.pdf|DHCPv6 by Shane Kerr (ISC)]] - 2006. An overview of the protocol in light of stateless autoconfiguration. [[http://en.wikipedia.org/wiki/DHCPv6|Wikipedia's overview]] is sparse but links to the relevant RFCs. [[http://www.tcpipguide.com/free/t_DHCPForIPVersion6DHCPv6.htm|TCP/IP Guide pages]] on DHCPv6. I've always found the TCP/IP guide to be very useful, and it's IPv6 overview is handy. [[http://www.isc.org/software/dhcp|ISC's dhcpd]] - source code and documentation for the ISC dhcpd, which supports IPv6. ==== Day 3 (June 22) ==== I found two nasty regressions today so I spent most of my time debugging those. The first was an issue with the value of a constant in the code which caused the wrong code path to be used for ICMPv6 RX. After the recent revert of the tcpip module changes, this caused a NULL pointer to be called as a function, which obviously did not end too well. Fixing the constant value has resolved this now. Another regression came in ipv6_tx_csum - for some reason it has begun to fail, when it used to work fine. I'm not sure exactly what conditions caused this one, but the fix was quite simple in the end: set the checksum psuedo-header's "length" field to the payload length in the IPv6 header. I won't be able to do much work tomorrow as I have a work commitment that will probably take me out until about 9 PM my time. It'll be an 8 AM to 9 PM day, so very little time for coding.