Allright, seems like that did the trick, or at least somehow: It still does NOT work unless I do an "ipfw flush" before launching dhcp6c although I have any-to-any-permitting rules on top of my firewall settings, on both interfaces and for both IP-versions.
My /tmp/dhcp6c.conf.sample is now:
interface ng0 {
send ia-pd 0;
};
id-assoc pd 0 {
prefix-interface sis0 {
sla-id 1;
sla-len 16;
};
};
$ /tmp/dhcp6c -c /tmp/dhcp6c.conf.sample -d -D -f ng0
Apr/20/2011 17:09:07: get_duid: extracted an existing DUID from /var/db/dhcp6c_duid: 00:01:00:01:15:41:a6:0b:00:0d:b9:03:34:b4
Apr/20/2011 17:09:07: dhcp6_ctl_authinit: failed to open /usr/local/etc/dhcp6cctlkey: No such file or directory
Apr/20/2011 17:09:07: client6_init: failed initialize control message authentication
Apr/20/2011 17:09:07: client6_init: skip opening control port
Apr/20/2011 17:09:07: cfdebug_print: <3>[interface] (9)
Apr/20/2011 17:09:07: cfdebug_print: <5>[ng0] (3)
Apr/20/2011 17:09:07: cfdebug_print: <3>begin of closure [{] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>[send] (4)
Apr/20/2011 17:09:07: cfdebug_print: <3>[ia-pd] (5)
Apr/20/2011 17:09:07: cfdebug_print: <3>
Apr/20/2011 17:09:07: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>end of closure [}] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>[id-assoc] (
Apr/20/2011 17:09:07: cfdebug_print: <13>[pd] (2)
Apr/20/2011 17:09:07: cfdebug_print: <13>
Apr/20/2011 17:09:07: cfdebug_print: <13>begin of closure [{] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>[prefix-interface] (16)
Apr/20/2011 17:09:07: cfdebug_print: <5>[sis0] (4)
Apr/20/2011 17:09:07: cfdebug_print: <3>begin of closure [{] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>[sla-id] (6)
Apr/20/2011 17:09:07: cfdebug_print: <3>[1] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>[sla-len] (7)
Apr/20/2011 17:09:07: cfdebug_print: <3>[16] (2)
Apr/20/2011 17:09:07: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>end of closure [}] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>end of closure [}] (1)
Apr/20/2011 17:09:07: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:09:07: configure_pool: called
Apr/20/2011 17:09:07: clear_poolconf: called
Apr/20/2011 17:09:07: dhcp6_reset_timer: reset a timer on ng0, state=INIT, timeo=0, retrans=383
Apr/20/2011 17:09:07: client6_send: a new XID (25efb6) is generated
Apr/20/2011 17:09:07: copy_option: set client ID (len 14)
Apr/20/2011 17:09:07: copy_option: set elapsed time (len 2)
Apr/20/2011 17:09:07: copyout_option: set IA_PD
Apr/20/2011 17:09:07: client6_send: send solicit to ff02::1:2%ng0
Apr/20/2011 17:09:07: dhcp6_reset_timer: reset a timer on ng0, state=SOLICIT, timeo=0, retrans=1088
Apr/20/2011 17:09:07: client6_recv: receive advertise from fe80::2b0:4aff:fe70:981b%ng0 on ng0
Apr/20/2011 17:09:07: dhcp6_get_options: get DHCP option server ID, len 10
Apr/20/2011 17:09:07: DUID: 00:03:00:01:00:b0:4a:70:98:1b
Apr/20/2011 17:09:07: dhcp6_get_options: get DHCP option client ID, len 14
Apr/20/2011 17:09:07: DUID: 00:01:00:01:15:41:a6:0b:00:0d:b9:03:34:b4
Apr/20/2011 17:09:07: dhcp6_get_options: get DHCP option DNS, len 16
Apr/20/2011 17:09:07: dhcp6_get_options: get DHCP option domain search list, len 7
Apr/20/2011 17:09:07: dhcp6_get_options: get DHCP option IA_PD, len 41
Apr/20/2011 17:09:07: IA_PD: ID=0, T1=302400, T2=483840
Apr/20/2011 17:09:07: copyin_option: get DHCP option IA_PD prefix, len 25
Apr/20/2011 17:09:07: copyin_option: IA_PD prefix: 2001:1610:3:3e::/63 pltime=604800 vltime=2592000
Apr/20/2011 17:09:07: client6_recvadvert: server ID: 00:03:00:01:00:b0:4a:70:98:1b, pref=-1
Apr/20/2011 17:09:07: client6_recvadvert: reset timer for ng0 to 0.962593
Apr/20/2011 17:09:08: select_server: picked a server (ID: 00:03:00:01:00:b0:4a:70:98:1b)
Apr/20/2011 17:09:08: client6_send: a new XID (f565e6) is generated
Apr/20/2011 17:09:08: copy_option: set client ID (len 14)
Apr/20/2011 17:09:08: copy_option: set server ID (len 10)
Apr/20/2011 17:09:08: copy_option: set elapsed time (len 2)
Apr/20/2011 17:09:08: copyout_option: set IA_PD prefix
Apr/20/2011 17:09:08: copyout_option: set IA_PD
Apr/20/2011 17:09:08: client6_send: send request to ff02::1:2%ng0
Apr/20/2011 17:09:08: dhcp6_reset_timer: reset a timer on ng0, state=REQUEST, timeo=0, retrans=977
Apr/20/2011 17:09:08: client6_recv: receive reply from fe80::2b0:4aff:fe70:981b%ng0 on ng0
Apr/20/2011 17:09:08: dhcp6_get_options: get DHCP option server ID, len 10
Apr/20/2011 17:09:08: DUID: 00:03:00:01:00:b0:4a:70:98:1b
Apr/20/2011 17:09:08: dhcp6_get_options: get DHCP option client ID, len 14
Apr/20/2011 17:09:08: DUID: 00:01:00:01:15:41:a6:0b:00:0d:b9:03:34:b4
Apr/20/2011 17:09:08: dhcp6_get_options: get DHCP option DNS, len 16
Apr/20/2011 17:09:08: dhcp6_get_options: get DHCP option domain search list, len 7
Apr/20/2011 17:09:08: dhcp6_get_options: get DHCP option IA_PD, len 41
Apr/20/2011 17:09:08: IA_PD: ID=0, T1=302400, T2=483840
Apr/20/2011 17:09:08: copyin_option: get DHCP option IA_PD prefix, len 25
Apr/20/2011 17:09:08: copyin_option: IA_PD prefix: 2001:1610:3:3e::/63 pltime=604800 vltime=2592000
Apr/20/2011 17:09:08: info_printf: nameserver[0] 2001:1610:0:3::25
Apr/20/2011 17:09:08: info_printf: Domain search list[0] vo.lu.
Apr/20/2011 17:09:08: get_ia: make an IA: PD-0
Apr/20/2011 17:09:08: update_prefix: create a prefix 2001:1610:3:3e::/63 pltime=604800, vltime=2592000
Apr/20/2011 17:09:08: add_ifprefix: invalid prefix length 63 + 16 + 64
Apr/20/2011 17:09:08: dhcp6_remove_event: removing an event on ng0, state=REQUEST
Apr/20/2011 17:09:08: dhcp6_remove_event: removing server (ID: 00:03:00:01:00:b0:4a:70:98:1b)
Apr/20/2011 17:09:08: client6_recvreply: got an expected reply, sleeping.
So I guess that should be telling me that the prefix-length for VO.lu is not the usual 16 but 1 (many thanks VO for the perfectly useless instructions!) and indeed, after setting sla-len to 1:
$ /tmp/dhcp6c -c /tmp/dhcp6c.conf.sample -d -D -f ng0
Apr/20/2011 17:21:58: get_duid: extracted an existing DUID from /var/db/dhcp6c_duid: 00:01:00:01:15:41:a6:0b:00:0d:b9:03:34:b4
Apr/20/2011 17:21:58: dhcp6_ctl_authinit: failed to open /usr/local/etc/dhcp6cctlkey: No such file or directory
Apr/20/2011 17:21:58: client6_init: failed initialize control message authentication
Apr/20/2011 17:21:58: client6_init: skip opening control port
Apr/20/2011 17:21:58: cfdebug_print: <3>[interface] (9)
Apr/20/2011 17:21:58: cfdebug_print: <5>[ng0] (3)
Apr/20/2011 17:21:58: cfdebug_print: <3>begin of closure [{] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>[send] (4)
Apr/20/2011 17:21:58: cfdebug_print: <3>[ia-pd] (5)
Apr/20/2011 17:21:58: cfdebug_print: <3>
Apr/20/2011 17:21:58: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>end of closure [}] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>[id-assoc] (
Apr/20/2011 17:21:58: cfdebug_print: <13>[pd] (2)
Apr/20/2011 17:21:58: cfdebug_print: <13>
Apr/20/2011 17:21:58: cfdebug_print: <13>begin of closure [{] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>[prefix-interface] (16)
Apr/20/2011 17:21:58: cfdebug_print: <5>[sis0] (4)
Apr/20/2011 17:21:58: cfdebug_print: <3>begin of closure [{] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>[sla-id] (6)
Apr/20/2011 17:21:58: cfdebug_print: <3>[1] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>[sla-len] (7)
Apr/20/2011 17:21:58: cfdebug_print: <3>[1] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>end of closure [}] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>end of closure [}] (1)
Apr/20/2011 17:21:58: cfdebug_print: <3>end of sentence [;] (1)
Apr/20/2011 17:21:58: configure_pool: called
Apr/20/2011 17:21:58: clear_poolconf: called
Apr/20/2011 17:21:58: dhcp6_reset_timer: reset a timer on ng0, state=INIT, timeo=0, retrans=383
Apr/20/2011 17:21:58: client6_send: a new XID (6e9194) is generated
Apr/20/2011 17:21:58: copy_option: set client ID (len 14)
Apr/20/2011 17:21:58: copy_option: set elapsed time (len 2)
Apr/20/2011 17:21:58: copyout_option: set IA_PD
Apr/20/2011 17:21:58: client6_send: send solicit to ff02::1:2%ng0
Apr/20/2011 17:21:58: dhcp6_reset_timer: reset a timer on ng0, state=SOLICIT, timeo=0, retrans=1088
Apr/20/2011 17:21:58: client6_recv: receive advertise from fe80::2b0:4aff:fe70:981b%ng0 on ng0
Apr/20/2011 17:21:58: dhcp6_get_options: get DHCP option server ID, len 10
Apr/20/2011 17:21:58: DUID: 00:03:00:01:00:b0:4a:70:98:1b
Apr/20/2011 17:21:58: dhcp6_get_options: get DHCP option client ID, len 14
Apr/20/2011 17:21:58: DUID: 00:01:00:01:15:41:a6:0b:00:0d:b9:03:34:b4
Apr/20/2011 17:21:58: dhcp6_get_options: get DHCP option DNS, len 16
Apr/20/2011 17:21:58: dhcp6_get_options: get DHCP option domain search list, len 7
Apr/20/2011 17:21:58: dhcp6_get_options: get DHCP option IA_PD, len 41
Apr/20/2011 17:21:58: IA_PD: ID=0, T1=302400, T2=483840
Apr/20/2011 17:21:58: copyin_option: get DHCP option IA_PD prefix, len 25
Apr/20/2011 17:21:58: copyin_option: IA_PD prefix: 2001:1610:3:3e::/63 pltime=604800 vltime=2592000
Apr/20/2011 17:21:58: client6_recvadvert: server ID: 00:03:00:01:00:b0:4a:70:98:1b, pref=-1
Apr/20/2011 17:21:58: client6_recvadvert: reset timer for ng0 to 0.982496
Apr/20/2011 17:21:59: select_server: picked a server (ID: 00:03:00:01:00:b0:4a:70:98:1b)
Apr/20/2011 17:21:59: client6_send: a new XID (8f51b6) is generated
Apr/20/2011 17:21:59: copy_option: set client ID (len 14)
Apr/20/2011 17:21:59: copy_option: set server ID (len 10)
Apr/20/2011 17:21:59: copy_option: set elapsed time (len 2)
Apr/20/2011 17:21:59: copyout_option: set IA_PD prefix
Apr/20/2011 17:21:59: copyout_option: set IA_PD
Apr/20/2011 17:21:59: client6_send: send request to ff02::1:2%ng0
Apr/20/2011 17:21:59: dhcp6_reset_timer: reset a timer on ng0, state=REQUEST, timeo=0, retrans=977
Apr/20/2011 17:21:59: client6_recv: receive reply from fe80::2b0:4aff:fe70:981b%ng0 on ng0
Apr/20/2011 17:21:59: dhcp6_get_options: get DHCP option server ID, len 10
Apr/20/2011 17:21:59: DUID: 00:03:00:01:00:b0:4a:70:98:1b
Apr/20/2011 17:21:59: dhcp6_get_options: get DHCP option client ID, len 14
Apr/20/2011 17:21:59: DUID: 00:01:00:01:15:41:a6:0b:00:0d:b9:03:34:b4
Apr/20/2011 17:21:59: dhcp6_get_options: get DHCP option DNS, len 16
Apr/20/2011 17:21:59: dhcp6_get_options: get DHCP option domain search list, len 7
Apr/20/2011 17:21:59: dhcp6_get_options: get DHCP option IA_PD, len 41
Apr/20/2011 17:21:59: IA_PD: ID=0, T1=302400, T2=483840
Apr/20/2011 17:21:59: copyin_option: get DHCP option IA_PD prefix, len 25
Apr/20/2011 17:21:59: copyin_option: IA_PD prefix: 2001:1610:3:3e::/63 pltime=604800 vltime=2592000
Apr/20/2011 17:21:59: info_printf: nameserver[0] 2001:1610:0:3::25
Apr/20/2011 17:21:59: info_printf: Domain search list[0] vo.lu.
Apr/20/2011 17:21:59: get_ia: make an IA: PD-0
Apr/20/2011 17:21:59: update_prefix: create a prefix 2001:1610:3:3e::/63 pltime=604800, vltime=2592000
Apr/20/2011 17:21:59: ifaddrconf: add an address 2001:1610:3:3f:20d:b9ff:fe03:34b4/64 on sis0
Apr/20/2011 17:21:59: dhcp6_remove_event: removing an event on ng0, state=REQUEST
Apr/20/2011 17:21:59: dhcp6_remove_event: removing server (ID: 00:03:00:01:00:b0:4a:70:98:1b)
Apr/20/2011 17:21:59: client6_recvreply: got an expected reply, sleeping.
... delegatgion is indeed happening on my XP box
Description . . . . . . . . . . . : Atheros AR8131 PCI-E Gigabit Ethernet Controller
Physical Address. . . . . . . . . : 90-FB-A6-2E-49-49
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 10.0.0.30
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : 2001:1610:3:3f:c15e:68b2:131f:7e40
IP Address. . . . . . . . . . . . : 2001:1610:3:3f:92fb:a6ff:fe2e:4949
IP Address. . . . . . . . . . . . : fe80::92fb:a6ff:fe2e:4949%7
Default Gateway . . . . . . . . . : 10.0.0.1
fe80::20d:b9ff:fe03:34b4%7
DNS Servers . . . . . . . . . . . : 10.0.0.1
80.90.45.15
fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
... although I don't know why it is being assigned two public IPv6's and why it didn't get neither the right default gateway nor the DNS settings from the RA (is it rtadvd or dhcp6c who's doing this assignment?):
C:\Documents and Settings\root>tracert ipv6.google.com
Tracing route to ipv6.l.google.com [2a00:1450:8002::69]
over a maximum of 30 hops:
1 * * * Request timed out.
2 * * ^C
My m0n0's LAN is being assigned a public v6 also so I guess I could just manually add this as my default route, but that's not really the solution. Will give it some more tries later, have appointments waiting...