Re: Alia Atlas' Discuss on draft-ietf-bfd-seamless-base-09: (with DISCUSS and COMMENT)

Alia Atlas <akatlas@gmail.com> Tue, 03 May 2016 14:53 UTC

Return-Path: <akatlas@gmail.com>
X-Original-To: rtg-bfd@ietfa.amsl.com
Delivered-To: rtg-bfd@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 88FCB1200A0; Tue, 3 May 2016 07:53:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.699
X-Spam-Level:
X-Spam-Status: No, score=-102.699 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_LOW=-0.7, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] 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 Qx0VpoGtJP8w; Tue, 3 May 2016 07:53:50 -0700 (PDT)
Received: from mail-oi0-x22b.google.com (mail-oi0-x22b.google.com [IPv6:2607:f8b0:4003:c06::22b]) (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 66CC012B03C; Tue, 3 May 2016 07:53:50 -0700 (PDT)
Received: by mail-oi0-x22b.google.com with SMTP id k142so28657540oib.1; Tue, 03 May 2016 07:53:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=V2eWklYx0qzy795igV0ZPvaX0gyN1KAdv/pXjGSNfF0=; b=Tl6Kq6Z/UO+TQtHiFZQK39jzYOL6I8++GvxhOLGbf+bjiO//Ct1PLe7pWUBpuymx8u g0DZBL6WjisE9Y53TjL3GUc4k1SA3l1dH4hZE0UPdY5xRLo7YGeFO3nowgauLDJIKO4B A4ENMOIkk3a8nJ+GAI2yXHKALtYw4wJaM1JSB1YRmwNqLcrtTNUcOEOIeLytVhPuRMW9 NaI/QQFr8orBt6YYFzJAZo8fqDC3aH4lfLwg+h18tpFzVZ7j5PyJWZllu4fs1ScQBFOK asNxgPPn/NizoSOsno7rfFsqlkcsmUWwiIbVzLo3uL/5VG6tjuOnC9uIka+pSwHbwtAo 0x6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=V2eWklYx0qzy795igV0ZPvaX0gyN1KAdv/pXjGSNfF0=; b=VYAzyELzDEt227xLyBpXFUZfrh0qUY7MQ8pecqucQpOXGA4WYuCmQQSrdhFrw99fcm 0hii1NAU5wEuC1kQFTR6LTKSk70g7kZWkjzh/OAH/lZ+AGi/24v7f/JxqgzhItV+r2pJ a1kVRZ9AvWDj11bLmUD5AMRNUF+MdbTRRwSCKdkcLNHK4+iNO4PjdgmrB3V5LuQIbTAs BKy1rBqsEzzufT29CiBQIgKpO9EYlZnhis84sarviw04tyPolVm6rNQy3QzKfC/fy5sr rsEm9Kfpw6KBrapFucwdq3UKxTOV3TsivXOKjgzmHoOFT9BqvvjCuH3e+0bAIa8ppJQr HeMQ==
X-Gm-Message-State: AOPr4FXf2ofiz1bwhk2HuhSnzKUQvT588gQIDyhdqaFUo7BjkWnlCbPLlo8qM6D6kH4T9IpvPqzs0/gbA1pXzg==
MIME-Version: 1.0
X-Received: by 10.157.45.81 with SMTP id v75mr1540945ota.85.1462287229796; Tue, 03 May 2016 07:53:49 -0700 (PDT)
Received: by 10.60.115.168 with HTTP; Tue, 3 May 2016 07:53:49 -0700 (PDT)
In-Reply-To: <E599B095-A047-4657-B068-C5647E736F34@cisco.com>
References: <20160502212434.15622.98408.idtracker@ietfa.amsl.com> <E599B095-A047-4657-B068-C5647E736F34@cisco.com>
Date: Tue, 03 May 2016 10:53:49 -0400
Message-ID: <CAG4d1re6HowYY1hZ+0at4yiGaZ9kb=EvoNdKe6BBoqV++Rp=sg@mail.gmail.com>
Subject: Re: Alia Atlas' Discuss on draft-ietf-bfd-seamless-base-09: (with DISCUSS and COMMENT)
From: Alia Atlas <akatlas@gmail.com>
To: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
Content-Type: multipart/alternative; boundary="001a113e9f66e448490531f146ca"
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-bfd/7HVOAk8k1FqaV4BlVeImLRd0upY>
Cc: The IESG <iesg@ietf.org>, "rtg-bfd@ietf.org" <rtg-bfd@ietf.org>, "draft-ietf-bfd-seamless-base@ietf.org" <draft-ietf-bfd-seamless-base@ietf.org>, "bfd-chairs@ietf.org" <bfd-chairs@ietf.org>
X-BeenThere: rtg-bfd@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "RTG Area: Bidirectional Forwarding Detection DT" <rtg-bfd.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtg-bfd/>
List-Post: <mailto:rtg-bfd@ietf.org>
List-Help: <mailto:rtg-bfd-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-bfd>, <mailto:rtg-bfd-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 May 2016 14:53:58 -0000

Hi Carlos,

On Mon, May 2, 2016 at 6:34 PM, Carlos Pignataro (cpignata) <
cpignata@cisco.com> wrote:

> Hi, Alia,
>
> Thanks for your review and for bringing up these issues — please see
> inline.
>
> > On May 2, 2016, at 5:24 PM, Alia Atlas <akatlas@gmail.com> wrote:
> >
> > Alia Atlas has entered the following ballot position for
> > draft-ietf-bfd-seamless-base-09: Discuss
> >
> > When responding, please keep the subject line intact and reply to all
> > email addresses included in the To and CC lines. (Feel free to cut this
> > introductory paragraph, however.)
> >
> >
> > Please refer to
> https://www.ietf.org/iesg/statement/discuss-criteria.html
> > for more information about IESG DISCUSS and COMMENT positions.
> >
> >
> > The document, along with other ballot positions, can be found here:
> > https://datatracker.ietf.org/doc/draft-ietf-bfd-seamless-base/
> >
> >
> >
> > ----------------------------------------------------------------------
> > DISCUSS:
> > ----------------------------------------------------------------------
> >
> > a) In Sec 7.2.3:  "If the SBFDReflector is generating a response S-BFD
> > control packet for a local entity that is in
> >      service, then "state" in response BFD control packets MUST be set
> > to UP."
> >    So far, it looked like the SBFDReflector only sends BFD control
> > packets in response to receiving such packets
> >    from SBFDInitiators.   This paragraph (not just copied) does not
> > clearly describe the desired behavior.  If the
> >   monitored local entity is "temporarily out of service", does the
> > SBFDReflector respond back to the SBFDInitiator
> >   with 2 BFD control packets - one indicating UP (as a MUST) and then
> > the next indicating ADMINDOWN?  Is the
> >   SBFDReflector expected to store a list of active SBFDInitiators and
> > proactively send BFD control packets indicating
> >   ADMINDOWN?   Please clarify in non-trivial detail.
>
> The way in which that particular bullet in that subsection is written can
> be a bit confusing.
>
> First, you are right that the SBFDReflector only sends packets in response
> to S-BFD control packets from the SBFDInitiators. This is clearly spelled
> out in Section 5, and in other places that explain how the reflector is
> stateless.
>
> The SBFDReflector only response and does not stores a list of
> SBFDInitiators to proactively send S-BFD packets (see Section 5). Further,
> it does not respond with two packets. (UP and ADMINDOWN).
>
> I think this can be rewritten to better explain what happens, as follows:
>
> OLD:
>    o  If the SBFDReflector wishes to communicate to some or all
>       SBFDInitiators that monitored local entity is "temporarily out of
>       service", then S-BFD control packets with "state" set to ADMINDOWN
>       are sent to those SBFDInitiators.  The SBFDInitiators, upon
>       reception of such packets, MUST NOT conclude loss of reachability
>       to corresponding remote entity, and MUST back off packet
>       transmission interval for the remote entity to an interval no
>       faster than 1 second.  If the SBFDReflector is generating a
>       response S-BFD control packet for a local entity that is in
>       service, then "state" in response BFD control packets MUST be set
>       to UP.
>
> NEW:
>    o  If the SBFDReflector, upon receiving an S-BFD control packet from
>       an SBFDInitiators, wishes to communicate to those
>       SBFDInitiators that a monitored local entity is "temporarily out of
>       service", then an S-BFD control packet with "state" set to ADMINDOWN
>       is sent in response to those SBFDInitiators.  The SBFDInitiators,
> upon
>       reception of such packets, MUST NOT conclude loss of reachability
>       to corresponding remote entity, and MUST back off packet
>       transmission interval for the remote entity to an interval no
>       faster than 1 second.  If, on the other hand, the SBFDReflector is
> generating a
>       response S-BFD control packet for a local entity that is in
>       service, then "state" in response BFD control packets MUST be set
>       to UP.
>
> Is that more clear?
>

Slightly - but what about:

"When the SBFDReflector receives an S-BFD control packet from an
SBFDInitiator,
then the SBFDReflector needs to determine what state to send in the
response S-BFD
control packet.  If the monitored local entity is in service, then the
"state" MUST be
set to UP.  However, if the monitored local entity is "temporarily out of
service" for
rapidly processing S-BFD packets, for instance due to an overload, then the
"state"
SHOULD be set to ADMINDOWN.  The SBFDReflector SHOULD send a response
S-BFD control packet.

When an SBFDInitiator receives a response S-BFD control packet, if the
state specified
is ADMINDOWN, the SBFDInitiator MUST NOT conclude loss of  reachability
to corresponding remote entity, and MUST back off packet transmission
interval for the
remote entity to an interval no faster than 1 second. "

Either wording or a mixture is just fine.
>
>
> >
> > b) Appendix A:  The looping problem is nicely defined but the text still
> > discusses three potential solutions; clearly the
> > use of the D bit has been chosen.   It would be much nicer to have the
> > justification in line, but for this discuss - the
> > unselected alternatives don't belong.
> >
>
> Sorry I’m not sure I understand fully your point. Are you suggesting we
> mention in the actual reason for the D-bit procedures outside the Appendix
> (although the procedures for the D bit are explained in Section 6.2, 7.2.2,
> 7.2.3, 7.3.2, and 7.2.2), while still leave the Appendix as-is?
>
> If so we can do that, but want to confirm.
>

I'm suggesting that you mention the reason for the D-bit procedures outside
the Appendix and remove the Appendix.  Alternately, keep the Appendix but
remove discussion of the other ways the problem could have been solved and
add a reference from the D-bit procedures to the Appendix.

Once this is an RFC, it doesn't matter what the other possible and
unselected design choices were.

> c) Sec 7.2.1: "   S-BFD packet MUST be demultiplexed with lower layer
> > information
> >   (e.g., dedicated destination UDP port, associated channel type)."
> >  Where precisely is this defined or described?  Is there an allocation
> > for a dedicated UDP
> > port for S-BFD?  I don't see any normative reference to such.  In
> > particular, since the format
> > for an S-BFD control packet is exactly the same as for BFD and since only
> > this demultiplexing
> > with lower layer information is used to tell the difference between S-BFD
> > and BFD packets,
> > this document requires more specifics.
> >
>
> This is similar to RFC 5880 and RFC 5881. The actual S-BFD applications
> specify this. For example, bfd-seamless-ip defines the UDP port. We
> purposely do not want to have the specification (either explicitly or
> normatively pointed to) from this document, as this is just the base
> specification.
>

Why?  Unlike RFC 5880, this document mentions UDP ports as an example of a
demultiplexer.
While I do understand that BFD can run with different transports, it is
useful to clearly articulate
one use transport that has enough information to be actually implemented.
In this case, that's
just a normative reference to another document progressing at the same time.

I can't get too worked up about normative vs. informative references in
general - the guideline I
use is whether an implementor would need to read the reference to properly
implement the
functionality.

If you feel extremely strongly that the reference must be informative, I'm
not going to dig in my
heels - but PLEASE put a reference by the mention of the UDP port.



> >
> > ----------------------------------------------------------------------
> > COMMENT:
> > ----------------------------------------------------------------------
> >
> > 1) In the last paragraph of Sec 4.2: "  Even when following the separate
> > discriminator pool approach,
> >   collision is still possible between one S-BFD application to another
> >   S-BFD application, that may be using different values and algorithms
> >   to derive S-BFD discriminator values.  If the two applications are
> >   using S-BFD for a same purpose (e.g., network reachability), then the
> >   colliding S-BFD discriminator value can be shared.  If the two
> >   applications are using S-BFD for a different purpose, then the
> >   collision must be addressed.  How such collisions are addressed is
> >   outside the scope of this document."
> >
> >  Sec 4.1 talks about the need for the S-BFD Discriminator to be unique
> > within an Administrative Domain.
> >  I don't see any details of that addressed here.   What is addressed
> > here seems to be the case for multiple
> >  S-BFD discriminators applying to the same node - which is specifically
> > discouraged at the end of Sec 3.
> >  Rather than simply describing the issue as "outside the scope of this
> > document", please either describe it
> >  as "future work and multiple S-BFD discriminators is discouraged" or
> > add a reference.
> >
>
> Good point, will do.
>
> > 2) In Sec 6.1: "bfd.SessionType:" is defined but the only possible values
> > are for SBFD.   Is it possible for a BFD
> > session to still use the same bfd structure?  I don't see a value for
> > SessionType there; I'd expect to see at least
> > a value for the original BFD session and possible an undefined or
> > unspecified value for future proofing.
> >
> >
>
> Traditional BFD does not use this state variable. That’s why we don’t need
> to define a value for BFD. However, future specs can when it is relevant
> (e.g, using BFD for various types as opposed to S-BFD), as for example
> bfd-multipoint.
>

Right - I understand that.  I'm thinking a bit from the implementation
perspective.  If I have the same data-structures and similar logic for BFD
and S-BFD, then there'll be a bfd.SessionType even for BFD sessions that
don't need it.  Clarifying a value of "Unused" or "Classical BFD" gives
clarity that one
of the S-BFD options doesn't need to be chosen.

This is just a comment.  It's up to your best judgement.

Thanks,
Alia


Please let us know your thoughts on the responses above, and we can send
> out diffs.
>
> Thanks!
>
> — Carlos.
>
>
>