On Thu, May 24, 2018 at 07:04:04AM -0400, David Higgs wrote: > But shouldn’t the answer be the same, since I have a valid default route? >
It should but that's not how route(8) works for now :) Barely tested diff, assumes that no netmask means /128 (similar to IPv4 handling where no netmask means /32) Index: route.c =================================================================== RCS file: /cvs/src/sbin/route/route.c,v retrieving revision 1.214 diff -u -p -r1.214 route.c --- route.c 1 May 2018 18:14:10 -0000 1.214 +++ route.c 24 May 2018 15:54:37 -0000 @@ -800,13 +800,8 @@ inet6_makenetandmask(struct sockaddr_in6 if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) && sin6->sin6_scope_id == 0) { plen = "0"; - } else if ((sin6->sin6_addr.s6_addr[0] & 0xe0) == 0x20) { - /* aggregatable global unicast - RFC2374 */ - memset(&in6, 0, sizeof(in6)); - if (!memcmp(&sin6->sin6_addr.s6_addr[8], - &in6.s6_addr[8], 8)) - plen = "64"; - } + } else + plen = "128"; } if (!plen || strcmp(plen, "128") == 0)