Re: [Lsr] AD Review of draft-ietf-lsr-isis-rfc5306bis-02

Alvaro Retana <aretana.ietf@gmail.com> Tue, 13 August 2019 14:56 UTC

Return-Path: <aretana.ietf@gmail.com>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1D61612023E; Tue, 13 Aug 2019 07:56:09 -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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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 Pbj-jWXgEwdQ; Tue, 13 Aug 2019 07:56:06 -0700 (PDT)
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) (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 BF8C712024E; Tue, 13 Aug 2019 07:56:05 -0700 (PDT)
Received: by mail-ed1-x532.google.com with SMTP id x19so101262410eda.12; Tue, 13 Aug 2019 07:56:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=C1cCx07IAdrdeuVZStekujyZohThlOfU70s9sl9B7g0=; b=XKQdyEM6V+1Hcj4151OiVUKqN5B2v1k4oDTRFAM9DvPOrBLAaDYE+mtd466FhpLJ22 WsZXc5asPfMERfqaq/l/jVM22lgV3ZmFd8XLnvCtO4jo5q7uJ2FXoobdkolnC3mnc4Pl QHF5WoRNXs6F65mxV9JVtCMiwAQVgCWvcwJDwjVoeTnM517Rw2fkKphKnqnSk6ljCIZT ThIAdL4dHPRsay55T153Tj3FbM+bps0DxBbLy8sK13OC4t+2yxhyB/LVarX+Nr7uIPws 4tlbHYuHIXaQmg+D63ASDcVQgKFThEHK1Fg24ZZJ+6DgChJVrr5OQalm6ZXoAaSE0IYl UeWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=C1cCx07IAdrdeuVZStekujyZohThlOfU70s9sl9B7g0=; b=CgROURzMrW3S2E5tcbLzG1jJl5ALPkKRBqOZVksz3s627ulaaUp6Ieh9t8dzRXBXZp t9WFPlezlHf3COcw35AWlLbjYC7JIlODp1N6M+JUthA/SyetWrv0vdzEd+dqlCOk4G1f Wc5dJiJ6xq9A32i7apAwU8tX11m3M7Kx7Nb0oTbhCbtsrusue8HJDm9+Owq2bu8wLKZa iBWo4RxkRZKGRHH9oViVSf5Wh8Az0+w7xiflB/cgpEj5OyZEJ1SppuXDizb5tY/qPabi Kx20BhTK99HuL/agXYysD6DxftyKKi4SWb3KvpJqV4d8jCmBABnTvNXgG9tivfWD+9WH GKQQ==
X-Gm-Message-State: APjAAAXBBDTnKlqgy/iqEoXFs98SqlS/q+RHiCBednCmVZZ2o6pisPwK PHBaQ9A3IX9gjr5Y5dTX/leE7uIHvGZ09InCtGwj2sy8
X-Google-Smtp-Source: APXvYqzf45zVAmTxtmEo6SFe6RoiufhmgLvV9XqZoKoxepUtXqfbsdJf8IHBN7BCZ2/siW+7VseEBi+To6VS18fNuUY=
X-Received: by 2002:a17:906:7f8a:: with SMTP id f10mr29798ejr.301.1565708164247; Tue, 13 Aug 2019 07:56:04 -0700 (PDT)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Tue, 13 Aug 2019 10:56:02 -0400
From: Alvaro Retana <aretana.ietf@gmail.com>
In-Reply-To: <BYAPR11MB3638DAA7DF68C7133DAE529FC1D10@BYAPR11MB3638.namprd11.prod.outlook.com>
References: <CAMMESswNLuG1FxSPhtL7eR7MveAHMWvmC0zLaL2iHsVVyVe6Bw@mail.gmail.com> <BYAPR11MB3638E77F6217B4FDE4BEC0E7C1D90@BYAPR11MB3638.namprd11.prod.outlook.com> <BYAPR11MB3638DAA7DF68C7133DAE529FC1D10@BYAPR11MB3638.namprd11.prod.outlook.com>
MIME-Version: 1.0
Date: Tue, 13 Aug 2019 10:56:02 -0400
Message-ID: <CAMMESszKYRu3-Pcx+HZQ3CanHCWENyCtR6o=+i=JgXHFFdryNA@mail.gmail.com>
To: "Les Ginsberg (ginsberg)" <ginsberg@cisco.com>, "draft-ietf-lsr-isis-rfc5306bis@ietf.org" <draft-ietf-lsr-isis-rfc5306bis@ietf.org>
Cc: Uma Chunduri <umac.ietf@gmail.com>, "lsr@ietf.org" <lsr@ietf.org>, "lsr-chairs@ietf.org" <lsr-chairs@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f3ba17059000d6c6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/NP7iKNlhdwCtxDoBsMYtM0mOrGI>
Subject: Re: [Lsr] AD Review of draft-ietf-lsr-isis-rfc5306bis-02
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Aug 2019 14:56:09 -0000

On August 10, 2019 at 6:44:49 PM, Les Ginsberg (ginsberg) (
ginsberg@cisco.com) wrote:

Les:

Hi!

I have a couple of comments below related to backwards compatibility: I
think there is a way to not change the behavior of current implementations
*and* not throw out old implementations.  See below.

Thanks!

Alvaro.

...

245            Note: Implementations based on earlier drafts of RFC 5306

246            may not include this field in the TLV when the RA bit is set.

247            In this case, a router that is expecting an RA on a LAN
circuit

248            SHOULD assume that the acknowledgement is directed at the
local

249            system.



[major] I think it is time we stop catering to old/non-compliant
implementations.  The last time that a draft didn't include the System ID
was draft-ietf-isis-restart-03 in March 2003: more than 15 years ago!!



[Les:] While I am in sympathy with your position, the existing RFC has
allowed implementations based on early versions of the draft to exist and
defined how to interoperate with them. It is therefore conceivable that an
implementor simply never chose to update their implementation since they
never had an interoperability problem reported. I do not see the value in
removing this interoperability. The lack of this support would only be
meaningful in the event multiple systems on the same LAN were restarting at
the same time – which of course is possible but not probable. I will
continue to listen if you REALLY feel strongly about this, but in the
spirit of “being generous in what you receive” I left this unchanged.

We should have caught and eliminated the problem when rfc3874 was
published. <sigh>  BTW, the text above should mention rfc3874 and not
rfc5306.

<rant> IMO, catering to non-standard implementations in a formal
specification devalues the standards process: if the purpose is to create
interoperable implementations, but we’re still going to bend over backwards
to allow non-compliant implementations (with the product of the WG, the
consensus, etc.), then why are we going through the pain of agreeing on and
standardizing anything?  We might as well just let anyone implement
anything…or never change the original draft if specifications already
exist…  </rant>

In this case, making the System ID optional, and explaining how/when it
should be used (as you did above), would fix the issue and bring
non-compliant implementations into the fold.  IOW, I think we would all be
happy if the wording changed from “allow non-compliant implementations” to
“this field is optional”…for example:

OLD>

   Required when the RA or PA bit is set. Otherwise

   this field SHOULD be omitted when sent and

   MUST be ignored when received.


NEW>

   This field is required when the PA bit is set, and MAY be present when
the

   RA bit is set.  Specifically, it is used when multiple systems on the
same

   LAN are restarting {more details}. If the RA or PA bit is not set, this

   field SHOULD be omitted when sent and MUST be ignored when received.


...

...

428       While the adjacency is in planned restart state the following
actions

429       MAY be taken:



[major] The steps below are optional (MAY)....that is ok.  (a) talks about
a compromised ability to flood updates on a LAN is adjacencies are not
reset, which sound very serious to me.  What are the considerations for an
implementation/deployment to decide using these optional actions?  Should
they be used on LANs, but not necessarily in other link types (just as an
example)?



[Les:] You have agreed that the use of MAY is appropriate here. Which means
all of the text describing what might cause the neighbor of the restarting
router to choose to bring the adjacency down is not normative.

MAY is a Normative keyword, so the text *is* Normative…the actions are
Optional.

We did describe a significant issue that would occur on a LAN if action
were not taken, but as we are allowing that none of the actions are
normative I do not see that the use of MUST would be appropriate in the
description.

Sorry, that was not the question.  I’m not asking (here) why the actions
are not mandatory.

Let me try again…. If the actions are optional (MAY), when might an
implementation decide that one of them is an important action to take?  For
example,  (c) makes it optional to suppress LSP/*SNPs…can you provide
guidance to when/why an implementation might decide to implement this
suggestion and when it might not?

In the end, I just think that if you’re offering options, then it would
make the specification better if you provided guidance on when it might be
more important to use those options and when it might not.  If you can’t
provide additional guidance, then we can move on.



I therefore left this text unchanged.



[minor] The actions below are independent of each other, right?  It may be
worth mentioning that.

[Les:] I have rephrased this as “some or all of the following actions MAY
be taken”.





431       a.  If additional topology changes occur, the adjacency which is
in

432           planned restart state MAY be brought down even though the hold

433           time has not yet expired.  Given that the neighbor which has

434           signaled a planned restart is not expected to update its

435           forwarding plane in response to signaling of the topology
changes

436           (since it is restarting) traffic which transits that node is
at

437           risk of being improperly forwarded.  On a LAN circuit, if the

438           router in planned restart state is the DIS at any supported

439           level, the adjacency(ies) SHOULD be brought down whenever any
LSP

440           update is either generated or received so as to trigger a new
DIS

441           election.  Failure to do so will compromise the reliability of

442           the Update Process on that circuit.  What other criteria are
used

443           to determine what topology changes will trigger bringing the

444           adjacency down is a local implementation decision.



[nit] s/received so as to/received, so as to



[major] "adjacency(ies) SHOULD be brought down...Failure to do so will
compromise the reliability of the Update Process on that circuit."  When is
it ok to not bring these adjacencies down?  If the operator already decided
to deploy these optional steps, why wouldn't the adjacencies be always
brought down?  IOW, why is MUST not used?

[Les:] Answered above

If this option is chosen, why wouldn’t the adjacency be brought down?

>From above, I understand the action in (a) is optional…no problem.  But if
an implementation chooses to implement it, why wouldn’t the adjacency be
brought down?