"hydrangea" WIDE IPv6 stack FAQ
WIDE Project, IPv6 working group
$Id: hydrangea-faq.html,v 1.8 1999/03/09 01:36:43 itojun Exp $
Basic questions
Q: What is "hydrangea"?
A: hydrangea is the name of IPv6 protocol stack implementation
made by WIDE project.
It supports whole bunch of IPv6 standard specifications,
IPsec (IP security) protocol, and so forth.
Visit http://www.v6.wide.ad.jp/
for more information.
Q: What are the advantage of "hydrangea"?
A: The key advantage to other IPv6 stacks are as follows:
- Concrete neighbor discovery code:
We believe neighbor discovery implementation is the key for
successful IPv6 operation.
We have been testing our neighbor discovery code for a long time,
and it is proven to be very concrete.
- Export control-free IPsec implementation:
Japan has no export control law over crypto technology, so
we can export our IPsec stack.
There's no restriction for our side.
(NOTE: you must check your local law enforcement for crypto import
before you use hydrangea IPv6 stack)
- Laptop support:
Since the implementers heavily use laptops/notebooks, hydrangea has
very advanced laptop support code.
For example, IPv6 link-local address will be dynamically
added to the PCMCIA ethernet interface on card insertion.
hydrangea works nicely with BSDI wildboar PCMCIA support,
and FreeBSD PAO PCMCIA support.
- ATM support.
- Advanced API support.
- And more!
Q: How can I get "hydrangea" kit?
A: You will find weekly snapshot at
ftp://ftp.itojun.org/pub/ipv6/.
Since hydrangea is ongoing project, please visit
http://www.v6.wide.ad.jp/
frequently for up-to-date information.
Q: Who is using "hydrangea"?
A: More than 50 percent of Japan 6bone (IPv6 testbed network) routers
implement hydrangea IPv6 stack.
There are numerous hydrangea end-hosts too.
Q: What kind of platforms are supported?
A: As of writing, FreeBSD 2.2.5-RELEASE
for PC-AT compatibles is the main platform.
BSDI BSD/OS 3.1 and
NetBSD 1.3-RELEASE are also
partially supported.
For BSD/OS 3.1, hydrangea is known to work on PC-AT compatibles.
We have no experience with hydrangea on BSD/OS for Sun, so please report
if you have any experience with.
For NetBSD, hydrangea is known to work on Sun sparc and PC-AT compatibles.
(to use hydrangea, you'll need to modify software interrupt code
for each of the platforms)
Q: What do you mean by "BSDI/NetBSD partial support"?
A: We were working on BSDI BSD/OS
in the past, however, due to various reasons, we have changed our
primary platform to FreeBSD.
Many people are using BSDI version and they need bugfixes and enhancements
made to our hydrangea IPv6 stack.
Therefore, we still supply kernel patch for BSDI.
Kernel patch is mostly in-sync with FreeBSD version.
To support NetBSD we need more time.
Kernel code is in progress, but since it is not our primary target,
our time is devoted mainly to FreeBSD version.
We expect a drastic change in situation in 1998.
Q: Why don't you support FreeBSD-current?
A: FreeBSD-current is being actively modified, maybe several times an hour.
FreeBSD-current is a quickly moving target.
Therefore, it is too hard for us to keep our repository in sync with
FreeBSD-current source code.
Is hydrangea interoperable with other implementations?
A: Yes, of course.
As far as we remember, hydrangea is interoperable with the following
implementations:
More implementatons are known to be interoperable with hydrangea.
Q: How can I get more information about "hydrangea",
and IPv6 in general?
A: Please visit http://www.v6.wide.ad.jp/.
hydrangea-specific questions
Q: How do I set up IPv6-over-IPv4 tunnel between 10.1.1.1 and 10.2.3.4?
A: Simple.
First, increase the number of gif interface if necessery.
It can be done by modifying pseudo-device gif 4 line in kernel config.
Next, establish IPv4 conectivity.
Then, on 10.1.1.1, perform "gifconfig gif0 10.1.1.1 10.2.3.4",
and on 10.2.3.4, perform "gifconfig gif0 10.2.3.4 10.1.1.1".
Q: I got a router machine that implement hydrangea IPv6 stack,
and it looks that address prefix is not advertised to the net.
A: You must run rtadvd (router advertisement daemon)
on the router machine for that.
Q: How do I configure rtadvd?
A: Do following procedure.
- Make sure that you have already installed rtadvd into
/usr/local/v6/bin/rtadvd.
Or, make install it from somewhere/kit/src/rtadvd.
- Make rtadvd.conf from sample file.
cp /usr/local/v6/etc/rtadvd.conf.sample /usr/local/v6/etc/rtadvd.conf
- Make entries for interfaces to which you want router advertisements are
sent.
For example, if you wish router advertisements to be sent over
ep0, and its prefix value is fec0:0:0:1::,
add following entry to rtadvd.conf.
ep0:\
:addr="fec0:0:0:1::":prefixlen#64:tc=ether:
The end of 'tc=ether' means that 'ether' entry is also refered. The
contents is as below.
ether:\
:mtu#1500:tc=default:
It just says mtu is 1500 bytes. If you want add an interface entry,
which has larger mtu such as fddi, then add fddi entry to rtadvd.conf,
and let the interface entry refer fddi entry.
fddi:\
:mtu#4500:tc=default:
fea0:\
:addr="fec0:0:0:1::":prefixlen#64:tc=fddi:
- Make rc.d directory under /usr/local/v6/etc/.
mkdir /usr/local/v6/etc/rc.d
- Make rtadvd.sh file under rc.d directory.
touch /usr/local/v6/etc/rc.d/rtadvd.sh
- Make the contents of rtadvd.sh as rtadvd is automatically start at boot
time.
Don't forget that all interfaces to which router advertisements are
sent must be specified as arguments to rtadvd.
For example,
#!/bin/sh
rtadvd=/usr/local/v6/bin/rtadvd
if [ -f $rtadvd ]; then
echo -n ' rtadvd'
$rtadvd ep0 fea0
fi
- Make rtadvd.sh executable.
For example,
chmod 755 /usr/local/v6/etc/rc.d/rtadvd.sh
- Then rtadvd will run at next boot time, and router advertisements will
be sent over interfaces specified as rtadvd arguments.
If you want rtadvd run right now, then just excute it at your
command line. For example,
/usr/local/v6/bin/rtadvd ep0 fea0
- That's all. Enjoy!
Q: I performed a multicast ping to all-nodes on an ethernet
(ping6 ff02::1), but got an error (or no answers to ping)
A: Because of IPv6 specification, application must specify the target
interface on sending packets to link-local unicast/multicast addresses.
Hydrangea snapshots before Feb 1998 used funky way of doing this:
we included interface ID into the 4th octet of IPv6 address.
Therefore, if you are willing to throw multicast ping packet to the
interface with interface ID "5", you should perform ping6 ff02:5::1.
Refer to document in the hydrangea kit for details.
Hydrangea snapshots after Mar 1998 implements "IPv6 Advanced API" standard
as specified in RFC2992.
ping6 has -I option for specifying the target interface,
so you should say ping6 -I ed0 ff02::1 to throw multicast ping
packets to interface ed0.
Internally the kernel is still using "interface ID in address", so
you can use ping6 ff02:5::1 too.
It is an "easter egg" feature:-)
Also, you may want to add -n option to ping6,
if you have not registered the IPv6 PTR record (inverse DNS query)
for your host.
Q: How do I install two kernel patches, for FreeBSD PAO PCMCIA support
and for for hydrangea?
A: Just apply both of them.
Q: How do I set up IPsec tunnel?
A: IPsec tunnel is not supported as of writing.
Q: What kind of dynamic routing protocols are supported?
A: hydrangea comes with route6d daemon, which supports RIPng.
For BGP4+, you can use gated or Zebra(bgpd).
(NOTE: Zebra is now under developing at this moment, so it can only
listen to BGP4+ routing information)
There's no OSPF-v6 capable program is known.
If you got any, please contribute that to us.
Q: I made IPv6 applications for Hydrangea. What should I do?
Q: I made patch for compiling an application on Hydrangea.
What should I do?
A: Great!!
Please let me know the detail.
If your application/patches can be redistributed in BSD-style copyright,
we wish to merge your application/patches into our kit.
Q: Where to send trouble/bug reports?
A: Since hydrangea is an ongoing project, there may be bugs or
configuration twists.
When sending trouble/bug reports to us, please clarify the following items:
- Summary of your trouble
- Your platform(CPU, amount of memory, and so forth)
- How to repeat your trouble (this is IMPORTANT!)
- Your email address
Questions, comments and suggestions should be emailed to
v6@wide.ad.jp.