On Thu, Jul 02, 2015 at 08:18:52AM +0200, Stefan Sperling wrote:
> 
> Your windows box is trying to reach address ff02:2::1:ff51:78e9, a mix of
> 'all routers' ff02::2 and em1's link local address.
> But there is no address in the ff02::/32 prefix on em1 for some reason.
> Note that em0 does have an address in this prefix: ff02::1:2%em0
>

This got me thinking. It was obvious that the ff02 entry was created by
running "autoconf" on em0. When we initially tried this on 5.6 dhcp6c
failed setting the address on em1 at all if we did not first prime the
interface with "ifconfig em1 inet6 eui64".

It turns out, if we set "autoconf" on both em0 and em1 we can get the
setup to work. This is a bit ugly though since we do not want to accept
router advertisements on the inside interface.

Below are transcripts from trying to get this to work first using
"eui64" (since I assumed this was the most minimalistic way to prime
em1). This still required the manual creation of the /64 route.
Second is the attempt using "autoconf" on the inside interface which
did not require the manual route creation, but the route still pops up
in a bit of a "strange" way. See below for details.

Before starting:
===
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr d0:50:99:51:78:e8
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet XX.XXX.8.17 netmask 0xffffff80 broadcast XX.XXX.8.127
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr d0:50:99:51:78:e9
        priority: 0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.212.254 netmask 0xffffff00 broadcast 192.168.212.255
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog

===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        4     2081     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         6        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0       82     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0      119     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      342     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      118     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      138     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0      945     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

Start autoconf on em0 as usual:
===
# ifconfig em0 inet6 autoconf
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e8
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet XX.XXX.8.17 netmask 0xffffff80 broadcast XX.XXX.8.127
        inet6 fe80::d250:99ff:fe51:78e8%em0 prefixlen 64 scopeid 0x1
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr d0:50:99:51:78:e9
        priority: 0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.212.254 netmask 0xffffff00 broadcast 192.168.212.255
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog

===

===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        4     3381     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         8        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0      186     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0      355     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      599     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      151     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0      225     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      249     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       14     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     1091     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
default                            fe80::20c:dbff:fef6:1c00%em0   UG         0  
      0     -    56 em0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%em0/64                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
fe80::20c:dbff:fef6:1c00%em0       00:0c:db:f6:1c:00              UHLc       1  
      0     -     4 em0  
fe80::d250:99ff:fe51:78e8%em0      d0:50:99:51:78:e8              UHLl       0  
      0     -     1 lo0  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

Now we enable eui64 on em1:
===
# ifconfig em1 inet6 eui64
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e8
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet XX.XXX.8.17 netmask 0xffffff80 broadcast XX.XXX.8.127
        inet6 fe80::d250:99ff:fe51:78e8%em0 prefixlen 64 scopeid 0x1
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr d0:50:99:51:78:e9
        priority: 0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.212.254 netmask 0xffffff00 broadcast 192.168.212.255
        inet6 fe80::d250:99ff:fe51:78e9%em1 prefixlen 64 scopeid 0x2
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog
===

We can see that a ff02::%em1/32 that is cloneable (C) has been created
now as opposed to when not doing any inet6 settings on em1 at all:
===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        4     4070     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         8        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0      191     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0      385     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      642     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      156     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0      623     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      332     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       14     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     1218     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
default                            fe80::20c:dbff:fef6:1c00%em0   UG         0  
      0     -    56 em0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%em0/64                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
fe80::20c:dbff:fef6:1c00%em0       00:0c:db:f6:1c:00              UHLc       1  
      2     -     4 em0  
fe80::d250:99ff:fe51:78e8%em0      d0:50:99:51:78:e8              UHLl       0  
      0     -     1 lo0  
fe80::%em1/64                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
fe80::d250:99ff:fe51:78e9%em1      d0:50:99:51:78:e9              UHLl       0  
      0     -     1 lo0  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff01::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff02::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

Running dhcp6c:
===
# dhcp6c -Df -c /etc/dhcp6c.conf em0
Jul/02/2015 20:22:09: get_duid: extracted an existing DUID from 
/var/db/dhcp6c_duid: 00:01:00:01:1d:1f:02:b3:d0:50:99:51:78:e8
Jul/02/2015 20:22:09: dhcp6_ctl_authinit: failed to open /etc/dhcp6cctlkey: No 
such file or directory
Jul/02/2015 20:22:09: client6_init: failed initialize control message 
authentication
Jul/02/2015 20:22:09: client6_init: skip opening control port
Jul/02/2015 20:22:09: cfdebug_print: <3>[interface] (9)
Jul/02/2015 20:22:09: cfdebug_print: <5>[em0] (3)
Jul/02/2015 20:22:09: cfdebug_print: <3>begin of closure [{] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>[send] (4)
Jul/02/2015 20:22:09: cfdebug_print: <3>[ia-pd] (5)
Jul/02/2015 20:22:09: cfdebug_print: <3>[0] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>end of closure [}] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>[id-assoc] (8)
Jul/02/2015 20:22:09: cfdebug_print: <13>[pd] (2)
Jul/02/2015 20:22:09: cfdebug_print: <13>begin of closure [{] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>[prefix-interface] (16)
Jul/02/2015 20:22:09: cfdebug_print: <5>[em1] (3)
Jul/02/2015 20:22:09: cfdebug_print: <3>begin of closure [{] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>[sla-id] (6)
Jul/02/2015 20:22:09: cfdebug_print: <3>[1] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>[sla-len] (7)
Jul/02/2015 20:22:09: cfdebug_print: <3>[8] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>end of closure [}] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>end of closure [}] (1)
Jul/02/2015 20:22:09: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:22:09: configure_pool: called
Jul/02/2015 20:22:09: clear_poolconf: called
Jul/02/2015 20:22:09: dhcp6_reset_timer: reset a timer on em0, state=INIT, 
timeo=0, retrans=986
Jul/02/2015 20:22:10: client6_send: a new XID (419dec) is generated
Jul/02/2015 20:22:10: copy_option: set client ID (len 14)
Jul/02/2015 20:22:10: copy_option: set elapsed time (len 2)
Jul/02/2015 20:22:10: copyout_option: set IA_PD
Jul/02/2015 20:22:10: client6_send: send solicit to ff02::1:2%em0
Jul/02/2015 20:22:10: dhcp6_reset_timer: reset a timer on em0, state=SOLICIT, 
timeo=0, retrans=1099
Jul/02/2015 20:22:10: client6_recv: receive advertise from 
fe80::20c:dbff:fef6:1c00%em0 on em0
Jul/02/2015 20:22:10: dhcp6_get_options: get DHCP option IA_PD, len 41
Jul/02/2015 20:22:10:   IA_PD: ID=0, T1=0, T2=0
Jul/02/2015 20:22:10: copyin_option: get DHCP option IA_PD prefix, len 25
Jul/02/2015 20:22:10: copyin_option:   IA_PD prefix: XXXX:XXX:XXXX:a00::/56 
pltime=9000 vltime=14400
Jul/02/2015 20:22:10: dhcp6_get_options: get DHCP option client ID, len 14
Jul/02/2015 20:22:10:   DUID: 00:01:00:01:1d:1f:02:b3:d0:50:99:51:78:e8
Jul/02/2015 20:22:10: dhcp6_get_options: get DHCP option server ID, len 14
Jul/02/2015 20:22:10:   DUID: 00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c
Jul/02/2015 20:22:10: client6_recvadvert: server ID: 
00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c, pref=-1
Jul/02/2015 20:22:10: client6_recvadvert: reset timer for em0 to 0.979920
Jul/02/2015 20:22:12: select_server: picked a server (ID: 
00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c)
Jul/02/2015 20:22:12: client6_send: a new XID (1edb07) is generated
Jul/02/2015 20:22:12: copy_option: set client ID (len 14)
Jul/02/2015 20:22:12: copy_option: set server ID (len 14)
Jul/02/2015 20:22:12: copy_option: set elapsed time (len 2)
Jul/02/2015 20:22:12: copyout_option: set IA_PD prefix
Jul/02/2015 20:22:12: copyout_option: set IA_PD
Jul/02/2015 20:22:12: client6_send: send request to ff02::1:2%em0
Jul/02/2015 20:22:12: dhcp6_reset_timer: reset a timer on em0, state=REQUEST, 
timeo=0, retrans=1000
Jul/02/2015 20:22:12: client6_recv: receive reply from 
fe80::20c:dbff:fef6:1c00%em0 on em0
Jul/02/2015 20:22:12: dhcp6_get_options: get DHCP option IA_PD, len 41
Jul/02/2015 20:22:12:   IA_PD: ID=0, T1=0, T2=0
Jul/02/2015 20:22:12: copyin_option: get DHCP option IA_PD prefix, len 25
Jul/02/2015 20:22:12: copyin_option:   IA_PD prefix: XXXX:XXX:XXXX:a00::/56 
pltime=9000 vltime=14400
Jul/02/2015 20:22:12: dhcp6_get_options: get DHCP option client ID, len 14
Jul/02/2015 20:22:12:   DUID: 00:01:00:01:1d:1f:02:b3:d0:50:99:51:78:e8
Jul/02/2015 20:22:12: dhcp6_get_options: get DHCP option server ID, len 14
Jul/02/2015 20:22:12:   DUID: 00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c
Jul/02/2015 20:22:12: get_ia: make an IA: PD-0
Jul/02/2015 20:22:12: update_prefix: create a prefix XXXX:XXX:XXXX:a00::/56 
pltime=7065221210920, vltime=14400
Jul/02/2015 20:22:12: ifaddrconf: add an address 
XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9/64 on em1
Jul/02/2015 20:22:12: update_ia: T1(4500) and/or T2(7200) is locally determined
Jul/02/2015 20:22:12: dhcp6_remove_event: removing an event on em0, 
state=REQUEST
Jul/02/2015 20:22:12: dhcp6_remove_event: removing server (ID: 
00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c)
Jul/02/2015 20:22:12: client6_recvreply: got an expected reply, sleeping.
^C
===

Running ifconfig again shows the assinged /64 on em1:
===
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e8
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet XX.XXX.8.17 netmask 0xffffff80 broadcast XX.XXX.8.127
        inet6 fe80::d250:99ff:fe51:78e8%em0 prefixlen 64 scopeid 0x1
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr d0:50:99:51:78:e9
        priority: 0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.212.254 netmask 0xffffff00 broadcast 192.168.212.255
        inet6 fe80::d250:99ff:fe51:78e9%em1 prefixlen 64 scopeid 0x2
        inet6 XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 prefixlen 64
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog

Sadly, we are still missing the directly connected /64 route:
===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        4     4960     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         8        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0      195     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0      473     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      679     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      159     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0      976     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      537     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       22     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     1369     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
default                            fe80::20c:dbff:fef6:1c00%em0   UG         0  
      0     -    56 em0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 d0:50:99:51:78:e9              UHLl       
0        0     -     1 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%em0/64                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
fe80::20c:dbff:fef6:1c00%em0       00:0c:db:f6:1c:00              UHLc       1  
      4     -     4 em0  
fe80::d250:99ff:fe51:78e8%em0      d0:50:99:51:78:e8              UHLl       0  
      0     -     1 lo0  
fe80::%em1/64                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
fe80::d250:99ff:fe51:78e9%em1      d0:50:99:51:78:e9              UHLl       0  
      0     -     1 lo0  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff01::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
ff02::1:2%em0                      link#1                         UHLc       0  
      2     -     4 em0  
ff02::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

Enabling rtadvd:
===
# rtadvd em1
===

At this point ping6 against the windows machine will go out on em0 as we
have seen before:
===
# ping6 XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf
PING6(72=40+8+24 bytes) XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 --> 
XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf
^C
--- XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf ping6 statistics ---
15 packets transmitted, 0 packets received, 100.0% packet loss
===

Attempting to add the route manually (but using the fe80 address because
I noticed this is how the automatically created routes look):
===
# route add XXXX:XXX:XXXX:a01::/64 -iface fe80::d250:99ff:fe51:78e9%em1
add net XXXX:XXX:XXXX:a01::/64: gateway fe80::d250:99ff:fe51:78e9%em1
===

It turns out ping6 is still unhappy:
===
# ping6 XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf
PING6(72=40+8+24 bytes) XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 --> 
XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf
ping6: sendmsg: Invalid argument
ping6: wrote XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf 32 chars, ret=-1
ping6: sendmsg: Invalid argument
ping6: wrote XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf 32 chars, ret=-1
ping6: sendmsg: Invalid argument
ping6: wrote XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf 32 chars, ret=-1
^C
--- XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf ping6 statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
===

However, at this point i noticed our manually created route did not have
the "C" flag set (and this have been true for all prior attempts):
===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        5     7263     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         8        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0      267     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0      548     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0     1049     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      214     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0     1890     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      805     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       22     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     1764     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
default                            fe80::20c:dbff:fef6:1c00%em0   UG         0  
     15     -    56 em0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
XXXX:XXX:XXXX:a01::/64             fe80::d250:99ff:fe51:78e9%em1  US         0  
      3     -     8 em1  
XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 d0:50:99:51:78:e9              UHLl       
0       15     -     1 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%em0/64                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
fe80::20c:dbff:fef6:1c00%em0       00:0c:db:f6:1c:00              UHLc       1  
     10     -     4 em0  
fe80::d250:99ff:fe51:78e8%em0      d0:50:99:51:78:e8              UHLl       0  
      0     -     1 lo0  
fe80::%em1/64                      fe80::d250:99ff:fe51:78e9%em1  UC         2  
      0     -     4 em1  
fe80::5255:27ff:fef4:ff82%em1      50:55:27:f4:ff:82              UHLc       0  
      2     -     4 em1  
fe80::d250:99ff:fe51:78e9%em1      d0:50:99:51:78:e9              UHLl       0  
      0     -     1 lo0  
fe80::e403:59dd:3795:be54%em1      ec:a8:6b:f9:6e:35              UHLc       0  
      6     -     4 em1  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff01::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
ff02::1:2%em0                      link#1                         UHLc       0  
      2     -     4 em0  
ff02::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

Since the ff02:1:2%em0 route had a "c" flag, it seemed like we might
require the "C" flag on the /64. Re-adding it with the -cloning flag:
===
# route delete XXXX:XXX:XXXX:a01::/64
delete net XXXX:XXX:XXXX:a01::/64
# route add XXXX:XXX:XXXX:a01::/64 -iface fe80::d250:99ff:fe51:78e9%em1 -cloning
add net XXXX:XXX:XXXX:a01::/64: gateway fe80::d250:99ff:fe51:78e9%em1
===

The routing table now looks like this:
===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        5     8054     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         8        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0      270     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0      620     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0     1296     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      235     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0     1890     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      844     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       22     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     1843     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
default                            fe80::20c:dbff:fef6:1c00%em0   UG         0  
     15     -    56 em0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
XXXX:XXX:XXXX:a01::/64             fe80::d250:99ff:fe51:78e9%em1  UCS        0  
      0     -     8 em1  
XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 d0:50:99:51:78:e9              UHLl       
0       15     -     1 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%em0/64                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
fe80::20c:dbff:fef6:1c00%em0       00:0c:db:f6:1c:00              UHLc       1  
     10     -     4 em0  
fe80::d250:99ff:fe51:78e8%em0      d0:50:99:51:78:e8              UHLl       0  
      0     -     1 lo0  
fe80::%em1/64                      fe80::d250:99ff:fe51:78e9%em1  UC         2  
      0     -     4 em1  
fe80::5255:27ff:fef4:ff82%em1      50:55:27:f4:ff:82              UHLc       0  
      2     -     4 em1  
fe80::d250:99ff:fe51:78e9%em1      d0:50:99:51:78:e9              UHLl       0  
      0     -     1 lo0  
fe80::e403:59dd:3795:be54%em1      ec:a8:6b:f9:6e:35              UHLc       0  
      6     -     4 em1  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff01::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
ff02::1:2%em0                      link#1                         UHLc       0  
      2     -     4 em0  
ff02::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

Now ping starts working:
===
ping6 XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf
PING6(72=40+8+24 bytes) XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 --> 
XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf
32 bytes from XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf, icmp_seq=0 hlim=64 
time=0.677 ms
32 bytes from XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf, icmp_seq=1 hlim=64 
time=1.011 ms
^C
--- XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.677/0.844/1.011/0.167 ms
===

The dmesg messages related to this attempt:
===
# dmesg
[...]
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
cannot forward src fe80:2::5255:27ff:fef4:ff82, dst 
fe80:2::d250:99ff:fe51:78e9, nxt 58, rcvif 2, outif 4
icmp6_reflect: source can't be determined: dst=fe80::5255:27ff:fef4:ff82, 
error=49
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: dst=fe80::5255:27ff:fef4:ff82, 
error=49
icmp6_reflect: source can't be determined: dst=fe80::5255:27ff:fef4:ff82, 
error=49
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
em0: got interface identifier from itself
em0: ifid: d2:50:99:ff:fe:51:78:e8
em0: starting DAD for fe80:1::d250:99ff:fe51:78e8
em0: DAD complete for fe80:1::d250:99ff:fe51:78e8 - no duplicates found
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
em1: got interface identifier from itself
em1: ifid: d2:50:99:ff:fe:51:78:e9
em1: starting DAD for fe80:2::d250:99ff:fe51:78e9
em1: DAD complete for fe80:2::d250:99ff:fe51:78e9 - no duplicates found
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
em1: starting DAD for XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
em1: DAD complete for XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 - no duplicates 
found
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_na_input: ND packet from non-neighbor
nd6_na_input: ND packet from non-neighbor
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:168:9d7e:b7f:2fcf
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_rtrequest: bad gateway value: em1
nd6_storelladdr: something odd happens
nd6_storelladdr: something odd happens
nd6_storelladdr: something odd happens
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
===

Next is the attempt using "autoconf" instead of "eui64" on em1 after a
reboot:
===
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr d0:50:99:51:78:e8
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet XX.XXX.8.17 netmask 0xffffff80 broadcast XX.XXX.8.127
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr d0:50:99:51:78:e9
        priority: 0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.212.254 netmask 0xffffff00 broadcast 192.168.212.255
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog
===

===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        4    59644     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         6        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0       98     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0   269282     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      465     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0       97     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      407     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     3407     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

Enable autoconf on the outside interface like usual:
===
# ifconfig em0 inet6 autoconf
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e8
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet XX.XXX.8.17 netmask 0xffffff80 broadcast XX.XXX.8.127
        inet6 fe80::d250:99ff:fe51:78e8%em0 prefixlen 64 scopeid 0x1
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr d0:50:99:51:78:e9
        priority: 0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.212.254 netmask 0xffffff00 broadcast 192.168.212.255
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog
===

===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        4   485401     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         8        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0      162     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0  2133640     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      844     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      143     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0     1802     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      840     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       24     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     3759     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
default                            fe80::20c:dbff:fef6:1c00%em0   UG         0  
      0     -    56 em0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%em0/64                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
fe80::20c:dbff:fef6:1c00%em0       00:0c:db:f6:1c:00              UHLc       1  
      2     -     4 em0  
fe80::d250:99ff:fe51:78e8%em0      d0:50:99:51:78:e8              UHLl       0  
      0     -     1 lo0  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

Now enable autoconf on the inside interface as well:
===
# ifconfig em1 inet6 autoconf
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e8
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet XX.XXX.8.17 netmask 0xffffff80 broadcast XX.XXX.8.127
        inet6 fe80::d250:99ff:fe51:78e8%em0 prefixlen 64 scopeid 0x1
em1: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e9
        priority: 0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.212.254 netmask 0xffffff00 broadcast 192.168.212.255
        inet6 fe80::d250:99ff:fe51:78e9%em1 prefixlen 64 scopeid 0x2
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog
===

At this point we again have some of the "ff02" addresses etc:
===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        4   486750     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         8        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0      238     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0  2133710     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      850     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      149     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0     3367     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      966     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       24     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     3886     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
default                            fe80::20c:dbff:fef6:1c00%em0   UG         0  
      0     -    56 em0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%em0/64                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
fe80::20c:dbff:fef6:1c00%em0       00:0c:db:f6:1c:00              UHLc       1  
      4     -     4 em0  
fe80::d250:99ff:fe51:78e8%em0      d0:50:99:51:78:e8              UHLl       0  
      0     -     1 lo0  
fe80::%em1/64                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
fe80::d250:99ff:fe51:78e9%em1      d0:50:99:51:78:e9              UHLl       0  
      0     -     1 lo0  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff01::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff02::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  

Run dhcp6c:
===
# dhcp6c -Df -c /etc/dhcp6c.conf em0
Jul/02/2015 20:10:17: get_duid: extracted an existing DUID from 
/var/db/dhcp6c_duid: 00:01:00:01:1d:1f:02:b3:d0:50:99:51:78:e8
Jul/02/2015 20:10:17: dhcp6_ctl_authinit: failed to open /etc/dhcp6cctlkey: No 
such file or directory
Jul/02/2015 20:10:17: client6_init: failed initialize control message 
authentication
Jul/02/2015 20:10:17: client6_init: skip opening control port
Jul/02/2015 20:10:17: cfdebug_print: <3>[interface] (9)
Jul/02/2015 20:10:17: cfdebug_print: <5>[em0] (3)
Jul/02/2015 20:10:17: cfdebug_print: <3>begin of closure [{] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>[send] (4)
Jul/02/2015 20:10:17: cfdebug_print: <3>[ia-pd] (5)
Jul/02/2015 20:10:17: cfdebug_print: <3>[0] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>end of closure [}] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>[id-assoc] (8)
Jul/02/2015 20:10:17: cfdebug_print: <13>[pd] (2)
Jul/02/2015 20:10:17: cfdebug_print: <13>begin of closure [{] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>[prefix-interface] (16)
Jul/02/2015 20:10:17: cfdebug_print: <5>[em1] (3)
Jul/02/2015 20:10:17: cfdebug_print: <3>begin of closure [{] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>[sla-id] (6)
Jul/02/2015 20:10:17: cfdebug_print: <3>[1] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>[sla-len] (7)
Jul/02/2015 20:10:17: cfdebug_print: <3>[8] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>end of closure [}] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>end of closure [}] (1)
Jul/02/2015 20:10:17: cfdebug_print: <3>end of sentence [;] (1)
Jul/02/2015 20:10:17: configure_pool: called
Jul/02/2015 20:10:17: clear_poolconf: called
Jul/02/2015 20:10:17: dhcp6_reset_timer: reset a timer on em0, state=INIT, 
timeo=0, retrans=51
Jul/02/2015 20:10:17: client6_send: a new XID (3e1176) is generated
Jul/02/2015 20:10:17: copy_option: set client ID (len 14)
Jul/02/2015 20:10:17: copy_option: set elapsed time (len 2)
Jul/02/2015 20:10:17: copyout_option: set IA_PD
Jul/02/2015 20:10:17: client6_send: send solicit to ff02::1:2%em0
Jul/02/2015 20:10:17: dhcp6_reset_timer: reset a timer on em0, state=SOLICIT, 
timeo=0, retrans=1068
Jul/02/2015 20:10:17: client6_recv: receive advertise from 
fe80::20c:dbff:fef6:1c00%em0 on em0
Jul/02/2015 20:10:17: dhcp6_get_options: get DHCP option IA_PD, len 41
Jul/02/2015 20:10:17:   IA_PD: ID=0, T1=0, T2=0
Jul/02/2015 20:10:17: copyin_option: get DHCP option IA_PD prefix, len 25
Jul/02/2015 20:10:17: copyin_option:   IA_PD prefix: XXXX:XXX:XXXX:a00::/56 
pltime=9000 vltime=14400
Jul/02/2015 20:10:17: dhcp6_get_options: get DHCP option client ID, len 14
Jul/02/2015 20:10:17:   DUID: 00:01:00:01:1d:1f:02:b3:d0:50:99:51:78:e8
Jul/02/2015 20:10:17: dhcp6_get_options: get DHCP option server ID, len 14
Jul/02/2015 20:10:17:   DUID: 00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c
Jul/02/2015 20:10:17: client6_recvadvert: server ID: 
00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c, pref=-1
Jul/02/2015 20:10:17: client6_recvadvert: reset timer for em0 to 0.997603
Jul/02/2015 20:10:18: select_server: picked a server (ID: 
00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c)
Jul/02/2015 20:10:18: client6_send: a new XID (a135cb) is generated
Jul/02/2015 20:10:18: copy_option: set client ID (len 14)
Jul/02/2015 20:10:18: copy_option: set server ID (len 14)
Jul/02/2015 20:10:18: copy_option: set elapsed time (len 2)
Jul/02/2015 20:10:18: copyout_option: set IA_PD prefix
Jul/02/2015 20:10:18: copyout_option: set IA_PD
Jul/02/2015 20:10:18: client6_send: send request to ff02::1:2%em0
Jul/02/2015 20:10:18: dhcp6_reset_timer: reset a timer on em0, state=REQUEST, 
timeo=0, retrans=1096
Jul/02/2015 20:10:18: client6_recv: receive reply from 
fe80::20c:dbff:fef6:1c00%em0 on em0
Jul/02/2015 20:10:18: dhcp6_get_options: get DHCP option IA_PD, len 41
Jul/02/2015 20:10:18:   IA_PD: ID=0, T1=0, T2=0
Jul/02/2015 20:10:18: copyin_option: get DHCP option IA_PD prefix, len 25
Jul/02/2015 20:10:18: copyin_option:   IA_PD prefix: XXXX:XXX:XXXX:a00::/56 
pltime=9000 vltime=14400
Jul/02/2015 20:10:18: dhcp6_get_options: get DHCP option client ID, len 14
Jul/02/2015 20:10:18:   DUID: 00:01:00:01:1d:1f:02:b3:d0:50:99:51:78:e8
Jul/02/2015 20:10:18: dhcp6_get_options: get DHCP option server ID, len 14
Jul/02/2015 20:10:18:   DUID: 00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c
Jul/02/2015 20:10:18: get_ia: make an IA: PD-0
Jul/02/2015 20:10:18: update_prefix: create a prefix XXXX:XXX:XXXX:a00::/56 
pltime=20714627277608, vltime=14400
Jul/02/2015 20:10:18: ifaddrconf: add an address 
XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9/64 on em1
Jul/02/2015 20:10:18: update_ia: T1(4500) and/or T2(7200) is locally determined
Jul/02/2015 20:10:18: dhcp6_remove_event: removing an event on em0, 
state=REQUEST
Jul/02/2015 20:10:18: dhcp6_remove_event: removing server (ID: 
00:01:00:01:1a:bc:08:bf:00:50:56:9b:dd:3c)
Jul/02/2015 20:10:18: client6_recvreply: got an expected reply, sleeping.
^C
===

Current ifconfig status with the delegated prefix set on em1:
===
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e8
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet XX.XXX.8.17 netmask 0xffffff80 broadcast XX.XXX.8.127
        inet6 fe80::d250:99ff:fe51:78e8%em0 prefixlen 64 scopeid 0x1
em1: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e9
        priority: 0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.212.254 netmask 0xffffff00 broadcast 192.168.212.255
        inet6 fe80::d250:99ff:fe51:78e9%em1 prefixlen 64 scopeid 0x2
        inet6 XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 prefixlen 64
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog
===

At this point no /64 route has been added:
===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        3   487504     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         8        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0      244     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0  2133824     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      922     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      199     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0     3714     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0     1017     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       24     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     4017     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
default                            fe80::20c:dbff:fef6:1c00%em0   UG         0  
      0     -    56 em0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 d0:50:99:51:78:e9              UHLl       
0        0     -     1 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%em0/64                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
fe80::20c:dbff:fef6:1c00%em0       00:0c:db:f6:1c:00              UHLc       1  
      5     -     4 em0  
fe80::d250:99ff:fe51:78e8%em0      d0:50:99:51:78:e8              UHLl       0  
      0     -     1 lo0  
fe80::%em1/64                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
fe80::d250:99ff:fe51:78e9%em1      d0:50:99:51:78:e9              UHLl       0  
      0     -     1 lo0  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff01::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
ff02::1:2%em0                      link#1                         UHLc       0  
      2     -     4 em0  
ff02::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

Enable rtadvd:
===
# rtadvd em1
===

Magically, even though we saw no route above, ping6 against the SLAACed
windows host is now working without creating any manual routes:
===
# ping6 XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009
PING6(72=40+8+24 bytes) XXXX:XXX:XXXX:a01:5874:5953:8c1f:f09c --> 
XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009
32 bytes from XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009, icmp_seq=0 hlim=64 
time=0.771 ms
32 bytes from XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009, icmp_seq=1 hlim=64 
time=0.441 ms
32 bytes from XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009, icmp_seq=2 hlim=64 
time=0.407 ms
32 bytes from XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009, icmp_seq=3 hlim=64 
time=0.388 ms
32 bytes from XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009, icmp_seq=4 hlim=64 
time=0.386 ms
^C
--- XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009 ping6 statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.386/0.479/0.771/0.147 ms
===

The status of the interfaces:
===
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        priority: 0
        groups: lo
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
em0: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e8
        priority: 0
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex)
        status: active
        inet XX.XXX.8.17 netmask 0xffffff80 broadcast XX.XXX.8.127
        inet6 fe80::d250:99ff:fe51:78e8%em0 prefixlen 64 scopeid 0x1
em1: flags=208843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1500
        lladdr d0:50:99:51:78:e9
        priority: 0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 192.168.212.254 netmask 0xffffff00 broadcast 192.168.212.255
        inet6 fe80::d250:99ff:fe51:78e9%em1 prefixlen 64 scopeid 0x2
        inet6 XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 prefixlen 64
        inet6 XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 prefixlen 64
        inet6 XXXX:XXX:XXXX:a01:5874:5953:8c1f:f09c prefixlen 64 autoconf 
autoconfprivacy pltime 86144 vltime 604709
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33144
        priority: 0
        groups: pflog
===

And finally the routing table where the /64 has magically been added at
this point (and it is clear it was not added manually because it does
not have the "S" flag) along with some other related route entries:
===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        5   489460     -     8 em0  
XX.XXX.8.0/25      XX.XXX.8.17        UC         1        0     -     8 em0  
XX.XXX.8.1         00:0c:db:f6:1c:00  UHLc       1        0     -     8 em0  
XX.XXX.8.17        d0:50:99:51:78:e8  UHLl       0        0     -     1 lo0  
XX.XXX.8.127       XX.XXX.8.17        UHb        0        0     -     1 em0  
127/8              127.0.0.1          UGRS       0        0 32768     8 lo0  
127.0.0.1          127.0.0.1          UHl        1        0 32768     1 lo0  
192.168.212/24     192.168.212.254    UC         9        0     -     8 em1  
192.168.212.1      0c:c4:7a:31:d7:38  UHLc       0      321     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0  2134018     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0     1289     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      266     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0     3722     -     8 em1  
192.168.212.118    b0:65:bd:47:8a:d3  UHLc       0       23     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0     1426     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       50     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     4469     -     8 em1  
192.168.212.254    d0:50:99:51:78:e9  HLl        0        0     -     1 lo0  
192.168.212.255    192.168.212.254    UHb        0        0     -     1 em1  
224/4              127.0.0.1          URS        0        0 32768     8 lo0  

Internet6:
Destination                        Gateway                        Flags   Refs  
    Use   Mtu  Prio Iface
::/104                             ::1                            UGRS       0  
      0 32768     8 lo0  
::/96                              ::1                            UGRS       0  
      0 32768     8 lo0  
default                            fe80::20c:dbff:fef6:1c00%em0   UG         0  
      0     -    56 em0  
::1                                ::1                            UHl       14  
      0 32768     1 lo0  
::127.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::224.0.0.0/100                    ::1                            UGRS       0  
      0 32768     8 lo0  
::255.0.0.0/104                    ::1                            UGRS       0  
      0 32768     8 lo0  
::ffff:0.0.0.0/96                  ::1                            UGRS       0  
      0 32768     8 lo0  
2002::/24                          ::1                            UGRS       0  
      0 32768     8 lo0  
2002:7f00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:e000::/20                     ::1                            UGRS       0  
      0 32768     8 lo0  
2002:ff00::/24                     ::1                            UGRS       0  
      0 32768     8 lo0  
XXXX:XXX:XXXX:a01::/64             fe80::d250:99ff:fe51:78e9%em1  UC         2  
      0     -     4 em1  
XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b 50:55:27:f4:ff:82              UHLc       
0        0     -     4 em1  
XXXX:XXX:XXXX:a01:5874:5953:8c1f:f09c d0:50:99:51:78:e9              UHLl       
0        0     -     1 lo0  
XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009 ec:a8:6b:f9:6e:35              UHLc       
0        6     -     4 em1  
XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 d0:50:99:51:78:e9              UHLl       
0        0     -     1 lo0  
fe80::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
fe80::%em0/64                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
fe80::20c:dbff:fef6:1c00%em0       00:0c:db:f6:1c:00              UHLc       1  
     11     -     4 em0  
fe80::d250:99ff:fe51:78e8%em0      d0:50:99:51:78:e8              UHLl       0  
      0     -     1 lo0  
fe80::%em1/64                      fe80::d250:99ff:fe51:78e9%em1  UC         1  
      0     -     4 em1  
fe80::d250:99ff:fe51:78e9%em1      d0:50:99:51:78:e9              UHLl       0  
      0     -     1 lo0  
fe80::e403:59dd:3795:be54%em1      ec:a8:6b:f9:6e:35              UHLc       0  
      6     -     4 em1  
fe80::%lo0/64                      fe80::1%lo0                    U          0  
      0 32768     4 lo0  
fe80::1%lo0                        fe80::1%lo0                    UHl        0  
      0 32768     1 lo0  
fec0::/10                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff01::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         0  
      0     -     4 em0  
ff01::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         0  
      0     -     4 em1  
ff01::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
ff02::/16                          ::1                            UGRS       0  
      0 32768     8 lo0  
ff02::%em0/32                      fe80::d250:99ff:fe51:78e8%em0  UC         1  
      0     -     4 em0  
ff02::1:2%em0                      link#1                         UHLc       0  
      2     -     4 em0  
ff02::%em1/32                      fe80::d250:99ff:fe51:78e9%em1  UC         2  
      0     -     4 em1  
ff02::1:ff10:897b%em1              link#2                         UHLc       0  
      0     -     4 em1  
ff02::1:ff3b:c009%em1              link#2                         UHLc       0  
      0     -     4 em1  
ff02::%lo0/32                      ::1                            UC         0  
      0 32768     4 lo0  
===

A to me extra intersting route is this one:
===
XXXX:XXX:XXXX:a01:b91c:34cd:143b:c009 ec:a8:6b:f9:6e:35              UHLc       
0        6     -     4 em1
===

This a bit above my IPv6 knowledge, but it looks like a route specific to the
windows host (:c009) has been dynamically created. I guess this is the reason
it is important to create the /64 route with the -cloning flag in the eui64
attempt above.

The dmesg messages for this round:
===
# dmesg
[...]
em0: got interface identifier from itself
em0: ifid: d2:50:99:ff:fe:51:78:e8
em0: starting DAD for fe80:1::d250:99ff:fe51:78e8
em0: DAD complete for fe80:1::d250:99ff:fe51:78e8 - no duplicates found
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
icmp6_reflect: source can't be determined: 
dst=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b, error=65
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
cannot forward src fe80:2::5255:27ff:fef4:ff82, dst 
fe80:2::d250:99ff:fe51:78e9, nxt 58, rcvif 2, outif 4
icmp6_reflect: source can't be determined: dst=fe80::5255:27ff:fef4:ff82, 
error=49
icmp6_reflect: source can't be determined: dst=fe80::5255:27ff:fef4:ff82, 
error=49
icmp6_reflect: source can't be determined: dst=fe80::5255:27ff:fef4:ff82, 
error=49
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
em1: got interface identifier from itself
em1: ifid: d2:50:99:ff:fe:51:78:e9
em1: starting DAD for fe80:2::d250:99ff:fe51:78e9
em1: DAD complete for fe80:2::d250:99ff:fe51:78e9 - no duplicates found
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
em1: starting DAD for XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9
em1: DAD complete for XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 - no duplicates 
found
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:38b2:8c0c:7310:897b
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
em1: starting DAD for XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9
em1: starting DAD for XXXX:XXX:XXXX:a01:5874:5953:8c1f:f09c
em1: DAD complete for XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 - no duplicates 
found
em1: DAD complete for XXXX:XXX:XXXX:a01:5874:5953:8c1f:f09c - no duplicates 
found
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
===

In summary, using the following commands (together with ip6 forwarding enabled)
allows us to have a working setup without any other manual intervention:
===
# ifconfig em0 inet6 autoconf
# ifconfig em1 inet6 autoconf
# dhcp6c -Df -c /etc/dhcp6c.conf em0 
# rtadvd em1 
===

But like stated initially, we do not really like the idea of enabling autoconf
on em1.

Hope this helps you find out what is going wrong.

-- 
Patrik Lundin

Reply via email to