IPv6 Improvement

This project is part of the Google Summer of Code 2012

It is maintained by JonathanCalmels (@exxo) under BjoernZeeb's (@bz) direction

Short Description

Nowadays with the lack of IPv4 addresses and the increase of addressing demands, the IPv6 needs to be implemented conscientiously to ensure a perfect failover.

This project aims to correct most of pending tasks listed in the FreeBSD TODO list mainly in userland. Furthermore It intends to provide to developers the ability to compile these codes for specific environments (say IPv6 only: http://www.freebsd.org/ipv6/ipv6only.html) thus helping the creation of a fully IPv4-less FreeBSD distribution in the near future.

General development approach

Considering the variety of the programs concerned and their maintainability, we must deal with several points in particular :

Thus, each program must be audited on an individual basis and properly tested to ensure its perfect functioning

Development priority

Given the amount of software needing to be patched, the priority would be focusing on basic utilities (who, rusers, quota, ping, getent ...), most used softwares (CVS client, OpenSSL, Sendmail ...) and possibly start looking at the DHCPv6 implementation, listed as well in the TODO list.

Milestones

The project begin on May 21, 2012 and the deadline will be on August 20, 2012

Below, several milestones have already been setup

On July 9-13, 2012 :

  1. Migrate all the addressing to AF_independant format (sockaddr_storage ...)
  2. Change all the AF_specific calls to be also IPv6 compliant (getaddrinfo / getnameinfo ...)

On August 13, 2012 :

  1. Finish previous steps in case of mishaps
  2. Enhance the unit-tests
  3. Correct uprising bugs
  4. Adjustment of other options (IPv6 host only / IPv4-IPv6 mapping ...)

On August 20, 2012 :

  1. Cleaning of code + documentation.

Test Plan and Release Notes

An IPv6 FreeBSD testbed will be deployed to test all modifications and every patch will be available at this address.

The following situations will be tested :

Some regression test would also be written as needed so that we can be sure everything went fine during the IPv6 migration.

For any request please refer to exxo@FreeBSD.org

Software Notes

Listed below the informations on the softwares analyzed (see also https://socsvn.freebsd.org/socsvn/soc2012/exxo/softnotes.txt)

Path

Status

Comment

openssl-1.0.1c

FIXED

patch provided. Bio connect is not concerned by this patch

contrib/cvs

FIXED

patch updated

usr.bin/who

OK

software dependant, utmpx fixed it

usr.bin/systat

FIXED

patch provided. systat now supports IPv6 when using ignore/display/show netstat commands

usr.bin/quota

FIXED

patch provided. quota should now work correctly on NFSv6 shares

usr.bin/newkey

OK

the address lookup is not used anymore

contrib/bsnmp

PENDING

usr.bin/ypwhich

FIXED

patch provided. ypwhich now works with the new YPBIND protocol (v3)

usr.sbin/ypbind

FIXED

patch provided. New protocol (v3), backward compatible with version 2

usr.bin/getent

OK

handle IPv6 apart from the "network" mode (RFC 1101 for inet6 ??)

Final GSoC result (update)

The Google summer of code has now ended, all the code submitted to Google could be retrieved here.

However note that this project plan is still relevant and needs further work (any volunteer ?).

IPv6/IPv6Improvement (last edited 2012-09-04 14:18:29 by JonathanCalmels)