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

Gyan Mishra <hayabusagsm@gmail.com> Sun, 21 April 2019 00:23 UTC

Return-Path: <hayabusagsm@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 E427812016E for <ipv6@ietfa.amsl.com>; Sat, 20 Apr 2019 17:23:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 nKxsBA-Cw32y for <ipv6@ietfa.amsl.com>; Sat, 20 Apr 2019 17:23:18 -0700 (PDT)
Received: from mail-qk1-x742.google.com (mail-qk1-x742.google.com [IPv6:2607:f8b0:4864:20::742]) (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 4AD3212014B for <ipv6@ietf.org>; Sat, 20 Apr 2019 17:23:18 -0700 (PDT)
Received: by mail-qk1-x742.google.com with SMTP id j10so4711589qkk.6 for <ipv6@ietf.org>; Sat, 20 Apr 2019 17:23:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=E1TW+yCyMuN8eAhR3H0Cfz5ocAM+sp8y0zGRSMvgam8=; b=WtMaf8IpIH8kCKSwPY1Fcj3xRfnuiNHdaQQ+WdlQO1TKjG3cuD8t8TGRwTlTg8rLGB qlCFtic+4fKc8XNq/iPMiGFILgoot1ToIB1sFKrKghUuFZRD9zyOEF/1zrO0sblxJRoc VgtFrzGJxBjM2ETmlwOl3lxNIXEAzF54wDWi5E54IozttD8CCz5gLVCW4simmBZL1KMQ 6/ityUHJiFsHEa9l8KcABQ+ZK0RxbUiSnxg0D6+A8p/DUhih5oin63gNyDhArwGEHlOO iFDad89QC7gjcz3O7ZLpcvaZmoX5K5uNFt9rBcciBRAmo//pzCUmSdkQpaZejag4eMna QAVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=E1TW+yCyMuN8eAhR3H0Cfz5ocAM+sp8y0zGRSMvgam8=; b=YiG4YYPU8E0QiUkmZ0D+yuazn4zD6SC812iZlzmCjNDhvSHSRjZVSdH4wbhcZFA9eB WzocxBW9KbXYumAG60xAI7bEwWEQRkgUcgu9TZlSoMufuKjCz+SnJHWj4hYvY+1YGcBe 80p1F6GGPAi7zsmB++gXvcmvst37axvWIYpLZt9Pd6Am/wzL3o5Y3b8UmlGp+pQxIalU eJnLpKc3ilPEyLNIAooBAJxxAKJ3CmXhXpTI3RJH0O0OiH5c3NFg6YuB/hXRYJorl557 SHCoQN+cyThnIqeZdpr0Y9dMnHyXMmUpZd0OnDg9JPf6TrHV87o6rIcvw+4y3DRp4J/t pySg==
X-Gm-Message-State: APjAAAUUJqZmHNjvEvWpbmchPxd/jm/VbSpJJgMDTFiB748t5JzfO9B/ mgjE0KSY0hn5K8yAjKLnInoJY3yf
X-Google-Smtp-Source: APXvYqxdFPZMekxhJj1ndDdwllyQ0jUKCV3E9LhW9GCcxQa5V5ruiyXtAhuhB95HWzFBRLEB5LNoZg==
X-Received: by 2002:a37:c207:: with SMTP id i7mr4196248qkm.74.1555806196845; Sat, 20 Apr 2019 17:23:16 -0700 (PDT)
Received: from ?IPv6:2600:1003:b010:7e2a:215a:3d2f:dcc3:ecea? ([2600:1003:b010:7e2a:215a:3d2f:dcc3:ecea]) by smtp.gmail.com with ESMTPSA id r15sm1085499qte.95.2019.04.20.17.23.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 20 Apr 2019 17:23:16 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail-7152FF3E-BD50-4119-8EC3-60E3AD929579"
Mime-Version: 1.0 (1.0)
Subject: Re: encoding link ID in link-local addrs (Re: about violation of standards)
From: Gyan Mishra <hayabusagsm@gmail.com>
X-Mailer: iPhone Mail (16D57)
In-Reply-To: <3F852B26-FD19-445D-A8E9-94BCBB9BE7C1@gmail.com>
Date: Sat, 20 Apr 2019 20:23:13 -0400
Cc: "Pascal Thubert (pthubert)" <pthubert@cisco.com>, IPv6 <ipv6@ietf.org>
Content-Transfer-Encoding: 7bit
Message-Id: <455C3D20-E71B-4DF4-837E-081964E3328A@gmail.com>
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>
To: 神明達哉 <jinmei@wide.ad.jp>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/MizKEhTHhAykmbZvdnv44EKhFPo>
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: Sun, 21 Apr 2019 00:23:22 -0000

One other comment I would like to make as far as standard and that we should not allow the OS Unix or Windows or any network operating system drive or change the standards.

Here is the case and point.

Cisco routers for example most all platforms these days use a Linux BSD kernel so is similar to a standalone Linux flavor server.

What I have noticed and confirmed and this is from extensive IPv6 testing is that the OS for IPv4 has the capability to do subnet and mask check for valid IPv4 address coded however IPv6 due to the complexity of IPv6 with 128 bits a subnet check is done and will spit out error for router anycast if used but major loophole exists and that is that you can configure any global unicast address in the network 64 bit portion that is not valid and same goes for Link local addresses.

I believe that is due the coding checks limitations within the OS to check against what is valid and what is not is so complex to code that OS allows anything to be configured even though from an IETF RFC perspective it’s not following the standard IPv6 format.

For example for my CCIE studies I would always code my v6 marching v4 so v4 is let’s say 10.0.0.1/30 I would make my v6 address 10::1/126.

That being said the fe80:1::1 can be coded on both Linux host and a CISCO router with Linux kernel under the hood but that does not make it correct or valid that we should now change the RFC 4291 to allow that to happen.

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.

Please respond back to this email thread if you feel differently and also respond if you agree.

Thank you

Gyan

Sent from my iPhone

> On Apr 20, 2019, at 7:34 PM, Gyan Mishra <hayabusagsm@gmail.com> wrote:
> 
> Suresh & Alexandre 
> 
> There are many implementations worldwide that I have been involved in deployment of IPv6 using a standard architecture that I deploy to all my customers and that involves setting the station id on the link local address so that the next hop is more intuitive and easily recognizable that it’s your local next hop since by default all routers and hosts set the station id to EUI64 format FFFE big stuff into the MAC address between the 3rd and 4th octet which is “non intuitive”
> 
> So the IPv6 addressing RFC 4291 states the 1st 10 bits used for fe80 and the next 54 bits must be set to 0 which covers the 64 bit prefix length so the entire station id 64 bits is open to be modified and changed as the end user desires on any platform and that is following the current RFC standard.  
> 
> So in Alexandre scenario with BSD setting the LL to FE80::1 would be fine but if you did fe80:1::1 that would be setting 1s in the all 0s 54 bit field of the station id which is not allowed.
> 
> So as far a variable link local address I am in favor of variable and you have the entire 64 bit station id to modify which is fine but I am completely not in favor of violating the current standard of writing into the 54 bit all 0s portion of the network prefix.
> 
> 2.5.6.  Link-Local IPv6 Unicast Addresses
>    Link-Local addresses are for use on a single link.  Link-Local
>    addresses have the following format:
>    |   10     |
>    |  bits    |         54 bits         |          64 bits           |
>    +----------+-------------------------+----------------------------+
>    |1111111010|           0             |       interface ID         |
>    +----------+-------------------------+----------------------------+
>    Link-Local addresses are designed to be used for addressing on a
>    single link for purposes such as automatic address configuration,
>    neighbor discovery, or when no routers are present.
>    Routers must not forward any packets with Link-Local source or
>    destination addresses to other links.
> 
> 
> Sent from my iPhone
> 
>> On Apr 19, 2019, at 12:25 PM, 神明達哉 <jinmei@wide.ad.jp> wrote:
>> 
>> At Fri, 19 Apr 2019 07:00:01 +0000,
>> "Pascal Thubert (pthubert)" <pthubert@cisco.com> wrote:
>> 
>> > While I completely object with Alexandre’s argument I tend to agree with the end goal.
>> > 
>> > Some functions in the router are complex to implement because same value for a link local address appears on multiple interfaces.
>> 
>> Yeah, I see that motivation.  The generic/usual answer of mine to that
>> kind of problem is to use the sockaddr_in6::sin6_scope_id (or anything
>> similar to it for a non-POSIX platform) and the extended textual
>> format for scoped addresses as described in RFC4007.  But I can
>> imagine there are cases where they are not enough and/or applicable.
>> 
>> So...
>> 
>> > It would be useful to be able to encode an abstract interface ID somewhere in the /64. Legacy 00 would mean unspecified...
>> 
>> (As a co-author of RFC4007 I can't help correcting it to "link ID"
>> instead of "interface ID" but:-)... yes, I can imagine we might reach
>> some consensus of using some portion of the 128-bit space to encode
>> that information.  But, that will require a lot of considerations,
>> including
>> 
>> - whether the goal is really impossible to achieve with currently
>>   available tools
>> - especially if the first answer is something like "it can, but it's
>>   not convenient", then whether the goal really justifies to consume
>>   a particular space of the finite resource of address space
>> - whether it has to be inside the upper 64 bits (or in more general,
>>   inside the "subnet prefix" part).  If it has to be so, whether it
>>   has to be within the first 32 bits (if not, at least it doesn't
>>   conflict with the BSD implementation).
>> - if, like draft-petrescu-6man-ll-prefix-len suggests, the encoded ID
>>   is the same for all nodes in the link, how we assign those IDs and
>>   how we ensure their uniqueness, how each node knows the ID on
>>   generating addresses, etc.
>> 
>> When I said "I'm open to discussion", I meant I'm willing to discuss
>> these matters.  Of course, since there are so many open questions, I'd
>> expect it to take quite a long time, and I can't say at this point
>> whether I support the eventual proposal that the WG might come up
>> with, or whether we can really expect any WG-wide consensus..  I'm now
>> clarifying the intent, as it didn't seem to be clear enough.
>> 
>> --
>> JINMEI, Tatuya
>> --------------------------------------------------------------------
>> IETF IPv6 working group mailing list
>> ipv6@ietf.org
>> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
>> --------------------------------------------------------------------