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