On Wed, Jul 01, 2015 at 04:47:25PM +0200, Patrik Lundin wrote:
> 
> We will retry using a snapshot and see where we end up.
> 

We have now attempted the same setup described earlier, using a current
snapshot.

The first problem of not getting a default route via autoconf when
forwarding was enabled has been solved. The route appears as expeced
The other problems still remain though.

Initial ifconfig/routing table before enabling v6 stuff:

# 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   158401     -     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      268     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0   604809     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      815     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      152     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       1      586     -     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  
::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  
===

The sysctl settings:
===
net.inet6.ip6.forwarding=1
net.inet6.icmp6.nd6_debug=1
===

Enabling autoconf creates an fe80 address and makes the route appear
(yay!):
===
# 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   159369     -     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      285     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0   604959     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0      824     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      158     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0      270     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0      811     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0        2     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     1244     -     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  
===

We still see the "invalid prefixlen 48" message in dmesg which is
probably okey for now:
===
nd6_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
===

Moving on, it is time to request a prefix delegation using dhcp6c. The
configuration file:
===
# cat /etc/dhcp6c.conf
interface em0 {
   send ia-pd 0;
};
 
id-assoc pd {
   prefix-interface em1 {
       sla-id 1;
       sla-len 8;
   };
};
===

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

The interface config now looks like this:
===
# 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
===

However, we are missing the directly connected /64 in the routing table:
===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        4   164141     -     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      461     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0   605194     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0     1140     -     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     3604     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0     1092     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       12     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       0     2837     -     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  
===

At this point we start rtadvd on em1:
===
# rtadvd em1
===

This makes the windows machine on the inside pick up a network address
inside the /64, but trying to ping it from the router just makes the
packets go out on em0 as earlier, since no route has been created:
===
# ping6 XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
PING6(72=40+8+24 bytes) XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 --> 
XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
^C
--- XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e ping6 statistics ---
16 packets transmitted, 0 packets received, 100.0% packet loss
===

We attempt to add the route manually:
===
# route add XXXX:XXX:XXXX:a01::/64 -iface XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9
add net XXXX:XXX:XXXX:a01::/64: gateway XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9
===

This makes the routing table look like this:
===
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            XX.XXX.8.1         UGS        4   167290     -     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      570     -     8 em1  
192.168.212.2      00:25:90:ae:ca:4a  UHLc       0   605503     -     8 em1  
192.168.212.3      b8:27:eb:22:72:8b  UHLc       0     1647     -     8 em1  
192.168.212.4      b8:27:eb:32:0b:66  UHLc       0      283     -     8 em1  
192.168.212.109    50:55:27:f4:ff:82  UHLc       0     4500     -     8 em1  
192.168.212.136    ec:a8:6b:f9:6e:35  UHLc       0     1889     -     8 em1  
192.168.212.249    58:6d:8f:a0:51:c8  UHLc       0       12     -     8 em1  
192.168.212.252    d0:bf:9c:45:0c:a0  UHLc       1     3291     -     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  
     16     -    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             XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 US     
    0        0     -     8 em1  
XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 d0:50:99:51:78:e9              UHLl       
0       16     -     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  
      9     -     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  
      5     -     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  
===

But ping6 is unhappy with this:
===
# ping6 XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
PING6(72=40+8+24 bytes) XXXX:XXX:XXXX:a01:d250:99ff:fe51:78e9 --> 
XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
ping6: sendmsg: Invalid argument
ping6: wrote XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e 32 chars, ret=-1
ping6: sendmsg: Invalid argument
ping6: wrote XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e 32 chars, ret=-1
ping6: sendmsg: Invalid argument
ping6: wrote XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e 32 chars, ret=-1
ping6: sendmsg: Invalid argument
ping6: wrote XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e 32 chars, ret=-1
^C
--- XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e ping6 statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss
===

Below are all the messages which appear in dmesg from the initial
autoconf of em0 to the failed ping packets above. I am pretty sure the
"something odd happens" messages occurs simultaneously to the ping6
errors.
===
# 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
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: 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
em1: DAD complete for fe80:2::d250:99ff:fe51:78e9 - 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_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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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_ra_input: invalid prefixlen 48 for rfc2374 prefix XXXX:XXX:XXXX::, ignored
nd6_storelladdr: something odd happens
nd6_storelladdr: something odd happens
nd6_storelladdr: something odd happens
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
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:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
nd6_ns_input: NS packet from non-neighbor
nd6_ns_input: src=XXXX:XXX:XXXX:a01:30c1:d3d7:a677:d09e
nd6_ns_input: dst=ff02:2::1:ff51:78e9
nd6_ns_input: tgt=fe80::d250:99ff:fe51:78e9
nd6_storelladdr: something odd happens
===

-- 
Patrik Lundin

Reply via email to