On Sun, Jun 24, 2018 at 04:34:01PM +0200, Jeremie Courreges-Anglas wrote:
> So if I understand correctly, this diff does three things:
> 1. shorten the code (remove the explicit mask handling from this
>    function)
> 2. stop considering 2000::/3 as special per RFC3587
> 3. stop considering 2001:db8:: as a /64 prefix by default, but consider
>    it as a host (/128)
> 
> 1. might be desirable, even though I find it hard to follow the code
>    flow.  Perhaps the code should be more explicit and stop abusing
>    globals...
> 
> 2. fine, but...
> 
> 3. ... why should we stop assuming that the user really means to
>    configure a route for a /64 if the host id part is all-zeroes?  Is
>    this really part of what has been deprecated by RFC3587?
Without context there's no point in guessing, what makes you think /64
is the appropiate choice? There should be no assumptions being made at
all since there's nothing backing up /64 any more than whatever bigger
prefix you can think of.

> I can understand that having the same behavior (host address is no
> prefix length is specified) with v4 and v6 is desirable, but as benno
> pointed out, some people might be relying on the current default
> behavior.  That's not a strong objection, but I'd like to know what's
> the exact rationale behind this change.
It removes the guess-work. Installing a route for 2001:db8:: should
use /128 simply because that's what it is. Benno's -blackhole example
demonstrates how dangerous implicit meanings and/or assumptions can be.

Reply via email to