We need to update the ia6_updatetime when changing the vltime/pltime vio ioctl(2). Otherwise ifconfig shows the wrong times since vltime/pltime are calculated from this value on export. The handling of router advertisements does the right thing.
OK? p.s. I don't think this worked ever, but if you want to suggest to remove the ioctls, uhm, no. I need them for slaacd... diff --git in6.c in6.c index 5aaef3b515b..e052adad4c8 100644 --- in6.c +++ in6.c @@ -665,6 +665,7 @@ in6_update_ifa(struct ifnet *ifp, struct in6_aliasreq *ifra, * to see if the address is deprecated or invalidated, but initialize * these members for applications. */ + ia6->ia6_updatetime = time_uptime; ia6->ia6_lifetime = ifra->ifra_lifetime; if (ia6->ia6_lifetime.ia6t_vltime != ND6_INFINITE_LIFETIME) { ia6->ia6_lifetime.ia6t_expire = -- I'm not entirely sure you are real.