On 23/07/17(Sun) 17:23, Florian Obser wrote: > On Sat, Jul 22, 2017 at 02:05:27PM -0000, Christian Weisgerber wrote: > > On 2017-07-22, Florian Obser <flor...@openbsd.org> wrote: > [...] > # ifconfig vio0 > vio0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 52:54:00:c7:09:1b > llprio 3 > groups: egress > media: Ethernet autoselect > status: active > inet 192.168.178.178 netmask 0xffffff00 broadcast 192.168.178.255 > inet6 fe80::5054:ff:fec7:91b%vio0 prefixlen 64 scopeid 0x1 > inet6 2001:db8::1 prefixlen 64 > inet6 2001:db8::2 prefixlen 64 > > As a work around you could put in inet6 -autoconfprivacy into the > hostname.if since the privacy address is in the same /64 > > Btw. with kernel based slaac this used to work since the > kernel didn't go through the ioctl path but just fiddled directly with > the interface and skipped rt_ifa_add() which is failing here.
Because the kernel based slaac was inserting a single prefix. This was a limitation of the code. The correct fix is to enable MPATH on ramdisk. This is mostly a matter of changing all the "#ifdef ART" into "#ifndef RADIX" and deal with the ramdisk grow.