I could use some help understanding IPv6 autoconfiguration on OpenBSD5.0

If an OpenBSD system is configured to be an IPv6 host and to use 'rtsol',
and the network IPv6 router running rtadvd sends a prefix (like 2001:.../64)
as part of the route advertisements,
then isn't the host supposed to use the prefix to generate
an IPv6 address with that 2001: prefix and fill the last 64 bits with
bits from the ethernet ID / EUI?


I'm trying to work my way through / debug this, and I'm stumped.
I'll document what I have checked - please let me know any other
configurations or responses I should check.


/etc/hostname.re0   (setup during installation, with rtsol selected)
 inet 10.0.1.2 255.255.255.0
 up
 rtsol


/etc/sysctl.conf
 net.inet6.icmp6.rediraccept=1
 net.inet6.ip6.forwarding=0
 net.inet6.ip6.accept_rtadv=1
(although installation set rediraccept to 1, I needed to manually
 set ip6.forwarding=0 and ip6.accept_rtadv=1 - perhaps this should
 be fixed in the install script)


$ ifconfig re0  (sanitized of real EUI)
 re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr c1:a1:c1:a1:f1:e1
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT
full-duplex,master,rxpause,txpause)
        status: active
        inet 10.0.1.2 netmask 0xffffff00 broadcast 10.0.1.255
        inet6 fe80::c1a1:c1ff:fea1:f1e1%re0 prefixlen 64 scopeid 0x1
(note - only the link-local IPv6 address)


tcpdump of the router advertisement (sanitized),
 the router is an Apple Airport ExtremeN
  which advertises the link-local address of the router,
  and also advertises the prefix for this LAN:
$tcpdump -v -i re0
 12:00:00.000000 fe80::c1a1:b1ff:fea1:b1e1 > ff02::1: icmp6: router
advertisement(chlim=64, O router_ltime=1800, reachable_time=0,
retrans_time=0)(src lladdr: c1:a1:b1:a1:b1:e1)(prefix info: LA
valid_ltime=14400, preferred_ltime=3600, prefix=2001:470:dead:beef::/64)[ndp
opt] (len 80, hlim 255)


routing table (output of netstat -rn -f inet6, sanitized)
Internet6:
Destination                        Gateway                        Flags   Refs
Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0
0     -     8 lo0
::/96                              ::1                            UGRS       0
0     -     8 lo0
default                            fe80::c1a1:b1ff:fea1:b1e1%re0  UG         0
214     -     4 re0
::1                                ::1                            UH        14
0 33196     4 lo0
::127.0.0.0/104                    ::1                            UGRS       0
0     -     8 lo0
::224.0.0.0/100                    ::1                            UGRS       0
0     -     8 lo0
::255.0.0.0/104                    ::1                            UGRS       0
0     -     8 lo0
::ffff:0.0.0.0/96                  ::1                            UGRS       0
0     -     8 lo0
2001:470:dead:beef::/64            link#1                         UC         0
0     -     4 re0
2002::/24                          ::1                            UGRS       0
0     -     8 lo0
2002:7f00::/24                     ::1                            UGRS       0
0     -     8 lo0
2002:e000::/20                     ::1                            UGRS       0
0     -     8 lo0
2002:ff00::/24                     ::1                            UGRS       0
0     -     8 lo0
fe80::/10                          ::1                            UGRS       0
0     -     8 lo0
fe80::%re0/64                      link#1                         UC         1
0     -     4 re0
fe80::c1a1:b1ff:fea1:b1e1%re0      c1:a1:b1:a1:b1:e1              UHLc       1
7     -     4 re0
fe80::c1a1:c1ff:fea1:f1e1%re0      c1:a1:c1:a1:f1:e1              HL         1
0     -     4 lo0
fe80::%lo0/64                      fe80::1%lo0                    U          0
0     -     4 lo0
fe80::1%lo0                        link#4                         UHL        0
0     -     4 lo0
fec0::/10                          ::1                            UGRS       0
0     -     8 lo0
ff01::/16                          ::1                            UGRS       0
0     -     8 lo0
ff01::%re0/32                      link#1                         UC         0
0     -     4 re0
ff01::%lo0/32                      fe80::1%lo0                    UC         0
0     -     4 lo0
ff02::/16                          ::1                            UGRS       0
0     -     8 lo0
ff02::%re0/32                      link#1                         UC         0
0     -     4 re0
ff02::%lo0/32                      fe80::1%lo0                    UC         0
0     -     4 lo0

Isn't there supposed to be an IPv6 address like:
 2001:470:dead:beef:c1a1:c1ff:fea1:f1e1

I can ping6 my default router:
 ping6 -I re0 fe80::c1a1:b1ff:fea1:b1e1
but I cannot ping6 any global addresses
 ping6 -I re0 2001:4860:800f::68 (ipv6.google.com)
  results in all packets lost


I'm left wondering - is it
(A) some configuration on the OpenBSD 5.0 machine that I'm missing?
(B) OpenBSD 5.0 not handling the route advertisement prefix?
(C) the Apple Airport-ExtremeN router sending a bad route advertisement and
prefix?

I'm trying to be realistic and not think I've discovered a bug.

Thank you for any help.

Reply via email to