Re: encoding link ID in link-local addrs (Re: about violation of standards)

神明達哉 <jinmei@wide.ad.jp> Wed, 24 April 2019 21:00 UTC

Return-Path: <jinmei.tatuya@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C3C0B120340 for <ipv6@ietfa.amsl.com>; Wed, 24 Apr 2019 14:00:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.668
X-Spam-Level:
X-Spam-Status: No, score=-0.668 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, FROM_EXCESS_BASE64=0.979, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1h10RyKvBH4a for <ipv6@ietfa.amsl.com>; Wed, 24 Apr 2019 14:00:48 -0700 (PDT)
Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CDDE0120417 for <ipv6@ietf.org>; Wed, 24 Apr 2019 14:00:47 -0700 (PDT)
Received: by mail-wm1-f41.google.com with SMTP id v14so7039983wmf.2 for <ipv6@ietf.org>; Wed, 24 Apr 2019 14:00:47 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=x6gmYBU2qomnx6AIhPK/OxcOoIV8R/KjjBCCgFA/CY8=; b=KO4cb49X/OKzDQ+WebRXyOn3iyR7CGdPh/J6Qk+Si+rsSA3gBQU3X/Tnj+bPj8S4XL NPbmmOlDTMfrk+wQfIup4S4Bn/fzWXg+WcsnhB7BIIjBqnrzW2jhXX7Q0BRJH891v8Ve 2MEtPLhr4eYV30C9P+s0VJhqKmsek5QyTZviDB5tYUKhLlXEHLBKbVJL9Hp5rBxqzCOw MOPoGYU01b50yETdIMXUMh4ZWo9+n9ipUjCRMWA+6EHYYF1M37qQrGknqr/Xz+x3w1zD yg3QUze8q9y0wVelvNV9m5hca6yQ3NnXNPYaf6tT9Yu1WpEP/VeogEFhy4TiAuffIz52 gnTA==
X-Gm-Message-State: APjAAAWE2tdRZtZym2dMEMOXIFHw7v5YcmyYam336i4Lr5TboYKgLVYM eVLSKMEEqVUbQaw8T+miYZUZSwkmb54+Z0fTgWY=
X-Google-Smtp-Source: APXvYqy7b9BaNSoacXVGkUzrA4DsoeNyUPCvLr0slIIXCbjZiMzcYDXyCjCyFbdBTfZj8RDZ3WhrNiNXmzNHqEqycG8=
X-Received: by 2002:a7b:cb58:: with SMTP id v24mr688806wmj.121.1556139646101; Wed, 24 Apr 2019 14:00:46 -0700 (PDT)
MIME-Version: 1.0
References: <bb7f7606-2adf-e669-8bcd-e41f17800782@gmail.com> <CAJE_bqd9frqX5-yeVPj8MYXpZ4737HqK1gmfD9cQV3A-Ea5HrQ@mail.gmail.com> <6bd5db47-408a-727e-5c13-f34a3465f986@si6networks.com> <CAJE_bqfTLqRbLp4fLu2ASZuZ+4G5c2G+RXkO92kXfLgPTqBnng@mail.gmail.com> <EEF00EA7-2AAF-403F-99AD-1D53ED18E8B3@cisco.com> <CAJE_bqe8OXPWRDvXEY66gZHiBgv37OV67YB27WoEtq_VmBqieQ@mail.gmail.com> <3F852B26-FD19-445D-A8E9-94BCBB9BE7C1@gmail.com> <455C3D20-E71B-4DF4-837E-081964E3328A@gmail.com> <19275484-3fa5-7c4e-3624-b861ddea6e2f@gmail.com> <2B1FBA08-3DDB-4287-B2B4-11324334B7FC@employees.org>
In-Reply-To: <2B1FBA08-3DDB-4287-B2B4-11324334B7FC@employees.org>
From: 神明達哉 <jinmei@wide.ad.jp>
Date: Wed, 24 Apr 2019 14:00:34 -0700
Message-ID: <CAJE_bqdg3wjbJOmB2iPij00yNXbES7Hj7WYtKH0vyY+9Lce3ow@mail.gmail.com>
Subject: Re: encoding link ID in link-local addrs (Re: about violation of standards)
To: Ole Troan <otroan@employees.org>
Cc: Alexandre Petrescu <alexandre.petrescu@gmail.com>, "Pascal Thubert (pthubert)" <pthubert@cisco.com>, IPv6 <ipv6@ietf.org>, 神明達哉 <jinmei@wide.ad.jp>
Content-Type: multipart/alternative; boundary="000000000000d3af6305874cfe75"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/RxpQHlZZQGg-9FTSnL3W614KqU4>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Apr 2019 21:00:50 -0000

At Wed, 24 Apr 2019 17:04:59 +0200,
Ole Troan <otroan@employees.org> wrote:

> > I will add in the draft that Cisco also supports fe80:1::1.  I think I
forgot that, but now that you say it I trust it too.
> >
> >> I don’t see any justification to allowing the 54 bits in the network
64 bit portion of the link local address to be changed from all 0s.
> >
> > I dont understand you.
> >
> > You say fe80:1::1 works on Cisco, but then you say you seee no
justification to allow the 54bits to change from 0.  The first 1 in
fe80:1::1 means a change from 0.
> >
> > So, do you mean Cisco is wrong?
> >
> > Or do you mean such things are wrong and the RFC is right?
>
> That an implementation allows you to do something does not mean that it
is supported (in the product sense) nor that the RFC is wrong.

Right, but I actually don't understand why we still have to have this
kind of conversation.  Almost all real-world implementations have some
glitch; sometimes the bug is fixed quickly, sometimes it's considered
too minor to be prioritized and can stay longer.  It happens all the
time.  I simply don't understand why such a corner case behavior is
discussed in the context of whether an RFC is "right".

If my previous example of broken router behavior wasn't enough,
there's another one for the loved OS: Linux allows you to send a
packet with the source address being ::1 outside of the sending node
by running this script:

import socket
s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
s.bind(('::1', 0))
s.sendto(b'', ('2001:db8::1', 4200))

I hope no one seriously asks whether this text of RFC4291, Section
2.5.3 is "right" because of that bug:

   The loopback address must not be used as the source address in IPv6
   packets that are sent outside of a single node.

Then, can we now really stop talking about whether the RFC is right or
wrong about the intermediate 54 bits by referring to an implementation
that allows a user to violate it?

A bug is a bug.  If someone wants to legitimize that buggy behavior,
make a proposal with a valid justification to update the relevant
standard (sometimes it can actually succeed).  An attempt to make it
valid because of the existence of the buggy behavior itself is just
time wasting.

--
JINMEI, Tatuya