oreilly.comSafari Books Online.Conferences.


IPv6: An Interview with Itojun
Pages: 1, 2

Feyrer: Besides the IPv6 stack, there's also an AltQ implementation. What other projects does the KAME project have in the pipe?

Itojun: At KAME and WIDE, we do cool stuff other than IPv6. For example, we do IPsec and routing enhancements at KAME. Other people at WIDE (outside of KAME) are also doing cool things like diffserv, MPLS, and mobile-ip6. An additional role of KAME is to become the clearinghouse for these developments, and provide these technologies to all of the BSDs.

Since KAME needs to support seven different version/variants of BSDs, we have good expertise in sharing networking code among these BSDs. It is not that easy as these BSDs are highly diverged at this point. AltQ has been separately maintained before, but now it is integrated into KAME tree. It is because Kenjiro Cho, the author of AltQ, found it much easier to work on AltQ in KAME tree, to support multiple BSDs.

Feyrer: Does KAME have any plans to work on NFSv4?

Itojun: We do not do much with NFSv4. I believe Dug Song (of OpenBSD/dsniff) is working on it so I hope to see it available for all BSDs.

Feyrer: Let's talk a bit more about history. In the early days of IPv6, there were other IPv6 implementations that were directed towards BSD -- INRIA and NRL come to mind. Aparently they disappeared -- was the code merged into KAME, are any of the developers of these projects participating on the KAME project now?

Itojun: In year 1998 and 1999, we tried to integrate NRL, INRIA, and KAME code into one. It was called the "unified-ipv6" project. It was a very difficult effort as we designed everything slightly different from each other! But it was a good effort, we exchanged bugfixes and some portion of code among us.

At some point during the unified-ipv6 effort, the NRL and INRIA projects disbanded due to research funding issues. NRL and INRIA codebases are not actively maintained/distributed any more (Francis Dupont, who was in INRIA IPv6 project, still maintains son-of-INRIA implementation). It would be correct to say that KAME is now "unified-ipv6" by itself, as KAME tree has some NRL and INRIA code in it.

NRL/INRIA guys are not part of KAME team at this point. They are highly active in BSD and IPv6 mailing lists, we exchange ideas very often.

Feyrer: How did you get to join the KAME project? What did you do before that?

Itojun: I was a doctoral candidate at Keio University, as well as a researcher at Sony laboratory. I did object-oriented operating system research together with other researchers at Sony. The Sony dog robot ("AIBO") uses a descendant of the operating system.

I joined KAME and IIJ in April 1998 (IIJ is a participant of KAME). At IIJ I help them deploy an IPv6 network, and provide them with IPv6 and other advanced networking technologies based on KAME work.

Feyrer: There's the rumour that you never sleep and the only time that you don't read mail is when you're answering someone else's mail. Is that true?

Itojun: I got a couple of doppelgangers :-). Seriously, I do sleep every day! If you carefully check e-mail timestamps, I almost never send e-mail between 3 a.m. to 8 a.m., Japan time.

Feyrer: Do you work on projects other than KAME/IPv6? What's your favourite pastime? Hobby?

Itojun: My favorite area of hacking other than OS/network is multilingualization and mobile devices. As a native Japanese speaker it is critical for me to have a good multilingual software, so I work on it. I'm a developer of multilingual nvi, as well as citrus BSD locale framework. I used to collect digital cameras and shoot random pictures. These days I do not play with digital cameras, maybe I should do this again.

Pastime... I love computers too much, it is a problem. I feel so comfortable when I'm typing. Other than computers, I like foods, both hot foods (like Indian, Thai) and non-hot foods. I love movies very much, DVDs are piling up in my room. Recently I saw lots of Korean movies. I highly recommend "Christmas in August". I'm an indoor guy.

Feyrer: Besides your work on bringing IPv6 into various BSDs, you are working on the OpenBSD project and are also a core member of the NetBSD project. What's your jobs there, do you participate in these projects beyond merging the IPv6 code into the existing network stacks?

Itojun: I'm a developer for NetBSD, OpenBSD, and FreeBSD. I don't think there's too many people with commit accesses to three BSDs, I believe more people should do this :-). Part of my task in KAME is to backporting fixes made by KAME into NetBSD and OpenBSD. So I do a lot of IPv6 integration work in OpenBSD.

In the OpenBSD community, beyond IPv6 integration, I work on security issues in networking code, and sometimes other portions. There is lots of work to be done -- it is amazing we still find bugs in BSD IPv4 code, even though it was implemented so long ago. I get so much help from OpenBSD folks, in term of security perspective.

I always try to backport changes I made to BSD. So, security changes I make on OpenBSD will get ported back to KAME tree, and other BSDs (I'm very sure that it will get ported back to NetBSD). I find good things and bad things in having multiple BSD codebases. The good thing is that we have projects with different goals, stimulating and encouraging each other. One negative thing is that manpower is split, code becomes diverged and becomes harder to port. I think I'm trying to solve part of the negative side.

Feyrer: What about FreeBSD, BSDi, and Darwin, is there someone working on these projects like you work on NetBSD?

Itojun: FreeBSD and BSD/OS also integrate KAME. FreeBSD guys like Kris Kennaway and Hajime Umemoto help us synchronize FreeBSD IPv6 code and KAME tree. For BSD/OS, since we cannot look at the source code, a BSDi guy is doing the integration, and we comment on the integration looking at beta releases.

It seems that there are people working on KAME integration into Darwin/MacOS X. I really hope to see MacOS X shipped with IPv6 support, that will boost IPv6 user base.

Feyrer: Is there anything left you'd like to tell our readers?

Itojun: If you have latest releases of NetBSD, OpenBSD, or FreeBSD, you have IPv6 builtin, enabled by default. Try telnet localhost and you are using IPv6! The best way to learn about IPv6 is to actually use it, so please try it out, and do not hesitate to ask questions at

IMHO, Japan is the coolest place for BSD geeks, and geeks in general. There are magazines dedicated to BSD, shops specializing in BSD and Unix, and the coolest laptops and PDAs. Please visit Japan when you have a chance.

Hubert Feyrer works on operating systems, databases, and artificial intelligence at the Fachhochschule Regensburg.

Return to

Sponsored by: