Re: [v6ops] draft-linkova-v6ops-nd-cache-init to working group draft

David Lamparter <equinox@diac24.net> Tue, 23 July 2019 19:19 UTC

Return-Path: <equinox@diac24.net>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D79CF12088D; Tue, 23 Jul 2019 12:19:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham 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 jEDv5Nl9KvfC; Tue, 23 Jul 2019 12:19:31 -0700 (PDT)
Received: from eidolon.nox.tf (eidolon.nox.tf [IPv6:2a07:2ec0:2185::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4AE471208BD; Tue, 23 Jul 2019 12:19:29 -0700 (PDT)
Received: from equinox by eidolon.nox.tf with local (Exim 4.92) (envelope-from <equinox@diac24.net>) id 1hq0Jp-0045AJ-QI; Tue, 23 Jul 2019 21:19:26 +0200
Date: Tue, 23 Jul 2019 21:19:25 +0200
From: David Lamparter <equinox@diac24.net>
To: Fernando Gont <fernando@gont.com.ar>
Cc: Brian E Carpenter <brian.e.carpenter@gmail.com>, Fred Baker <fredbaker.ietf@gmail.com>, IPv6 Operations <v6ops@ietf.org>, 6man Chairs <6man-chairs@ietf.org>
Message-ID: <20190723191925.GF258193@eidolon.nox.tf>
References: <351E8A83-734C-448D-B0C6-212C09D564F4@gmail.com> <ea7438f2-b917-60eb-88bc-a375246a0cf9@gmail.com> <8f1c6206-6057-5ab0-c16c-ad8ff67c9457@gont.com.ar>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <8f1c6206-6057-5ab0-c16c-ad8ff67c9457@gont.com.ar>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/VKA82n1ztp0ZSetmNB6dF1BC05A>
Subject: Re: [v6ops] draft-linkova-v6ops-nd-cache-init to working group draft
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 Jul 2019 19:19:42 -0000

On Tue, Jul 23, 2019 at 06:59:23PM +0100, Fernando Gont wrote:
> On 23/7/19 12:39, Brian E Carpenter wrote:
> > 1) Yes, we should *obviously* do this.
> > 2) If the charter prevents that, fix the charter.
> 
> I'm all for fixing problems and getting stuff done. And, if there's no
> other way than fixing the charter, so be it.
> 
> However, it would seem to me that, the "bug" here is that we're
> defaulting to "6man wouldn't get this done, so let's do it elsewhere".

The discussion I see here is that we've located an operational issue
with the IPv6 neighbor cache on routers, we have several candidates for
fixing it, and each of these may or may not need a protocol change to go
through 6man.

Discussing whether any particular working group "gets things done" seems
tangential to the question at hand.

> IMO, should be willing to maintain its protocols, improve them, and fix
> problems where necessary.
> 
> If a BCP is to go against the protocol spec recommendation for the
> general case, that's an indication that the protocol should be updated.

Although I don't write the neighbour management code, I do write code
that operates routers and I have absolutely no concerns in understanding
that a particular "SHOULD" statement has turned out to be a bad choice
for the specific situation of first-hop routers.

Whether this is a specification change, to me, is decided by the intent.
The intent under consideration here is:

   When a valid Neighbor Advertisement is received (either solicited or
   unsolicited), the Neighbor Cache is searched for the target's entry.
   If no entry exists, the advertisement SHOULD be silently discarded.
   There is no need to create an entry if none exists, since the
   recipient has apparently not initiated any communication with the
   target.

The intent I see is that in most cases there's no point in having
devices consume memory, and the "SHOULD" is correct behaviour for hosts.
Routers *DO* "need to create an entry if none exists".  I don't see a
conflict with 4861's intent, which I take as "don't open yourself to DoS
attacks".  The router /will have the neighbor cache entry anyway/, just
with a delay, later, and the resulting annoyance.

4861 just failed to invoke the magic 8-ball correctly to make the
authors omniscient and recognize the specific circumstances under which
this SHOULD is maybe not the best idea.  This is implementation guidance
based on operational experience.  Just write it down and get it out
there.


-David