stop assuming prefix lengths, remove inet6_makenetandmask()
authorkn <kn@openbsd.org>
Tue, 17 Jul 2018 20:57:27 +0000 (20:57 +0000)
committerkn <kn@openbsd.org>
Tue, 17 Jul 2018 20:57:27 +0000 (20:57 +0000)
commita4729b6417c546d45bb1e98656bcd933607cdd65
treec7fe2e2e60591e2ba9e00275e852d38bc21b6e2f
parent2802c1786dcf2dffd4d14c32296bd81bfcdaf95e
stop assuming prefix lengths, remove inet6_makenetandmask()

This removes any logic that implies IPv6 destination host addresses to be
/64 subnets so they are taken as is.
RFC 3587 deprecated this in 2003 and our manual page actually states:

  The route is assumed to be to a network if any of the following apply to
  destination:

  *   [...]
  *   it is an IPv6 address with a “/XX” suffix (where XX is the number of
      bits in the network portion of the address and is less than 128)
  *   [...]

  If destination is a valid IP address or host name, it is presumed to be a
  route to a host.

Stripping relevant code from `inet6_makenetandmask()' left the function as
dummy wrapper around `prefixlen()', so zap it completely.

Discussed with and positive feedback from many, OK benno henning
sbin/route/route.c