This is an old revision of the document!


Week 1 (May 23 to May 29)

Day 1 (May 23)

Jumped into the code and had a look at the existing IPv6 implementation. I managed to figure out how to enable it again (with the right #defines in config.h) and was able to dump information about each IPv6 packet passing through the system. So far so good! The next steps will be getting IPv6 packets to the next layer up (ICMPv6, UDP and TCP) so I can start working on stateless autoconfiguration.

Zero-compression went in without a hitch, as per the project plan, but I'm going to have to come back to it. The code is fairly ugly…

I'm going to have to talk to Marty and Guo-Fu about the best way to integrate IPv6 for use in scripts and on the command line. I've been thinking (to myself) of having two new commands: “ipv6” to IPv6-enable an interface and set a link-local address, and “dhcpv6” to obtain an IPv6 address via DHCPv6. Not sure whether “dhcpv6” is a good name though as it'll break tab-completion for the “dhcp” command.

At this stage the work done so far is just in a patch file and a git commit.

All up, a good first day of GSoC 2011!

Day 2 (May 24)

Managed to get some more progress on the IPv6 implementation today. I figured out how to create a command and added the “ipv6” command to begin testing stateless autoconfiguration (as per the project plan). So far so good - the only thing I really need to do now is actually assign IPv6 addresses to netdevices so they can begin talking on the network for NDP and other ICMPv6 stuff (in week 2). That'll come soon.

I also created a Google Picasa album for my work on this project, so I can look back on screenshots and photographs and see my progress :). I uploaded a photo of one of my test machines creating a useful autoconfiguration IPv6 address, and it also shows some IPv6 traffic passing through.


QR Code
QR Code soc:2011:pcmattman:journal:week1 (generated for current page)