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

"Carlos Pignataro (cpignata)" <cpignata@cisco.com> Tue, 03 May 2016 16:24 UTC

Return-Path: <cpignata@cisco.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 4552612D110; Tue, 3 May 2016 09:24:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.516
X-Spam-Level:
X-Spam-Status: No, score=-15.516 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.996, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 BNiPUPF-QKlp; Tue, 3 May 2016 09:24:49 -0700 (PDT)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9D06012DA76; Tue, 3 May 2016 09:23:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=35673; q=dns/txt; s=iport; t=1462292629; x=1463502229; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=A5e8/7Zexo3mHqA68xAVL4qE7p/+SCXCw2EJv8LdVoY=; b=DKXBP0T1XJNT/HS3mLAw3WOUHmrzDfyg/oDEcEzdMK0ZJyNhzWaxC8uh iM2Ap22LvbIeO6KcwJGu0AGrEZ2Esf4Cy3N2gbLezARyOTDafWbX+ueX3 bFhgDS7+nyihCKVlElFSOW3ad2o7QxYYwpvn+KHuvDxAf1FiPb4DBpCRy E=;
X-Files: signature.asc : 841
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DDAgD1zyhX/4cNJK1fgzhTfQauK4lTgg8OgXUihW4CgT04FAEBAQEBAQFlJ4RBAQEBAwEaCVYFCwIBCA4KIAcDAgIhERQRAgQOBQ4Nh3oDCggOq1CMSA2EOwEBAQEBAQEBAQEBAQEBAQEBAQEBAQ0EBIYggXaBVIEDgkOBThEBgxwrgi4Fh3iLLINkXTEBgyeBZ22GJYF3gWiETYMphTSHUYdgAR4BQ4I2gTVsAYZ9CRcEG38BAQE
X-IronPort-AV: E=Sophos;i="5.24,573,1454976000"; d="asc'?scan'208,217";a="104121553"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 03 May 2016 16:23:47 +0000
Received: from XCH-RTP-003.cisco.com (xch-rtp-003.cisco.com [64.101.220.143]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id u43GNl7U012225 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 3 May 2016 16:23:47 GMT
Received: from xch-rtp-020.cisco.com (64.101.220.160) by XCH-RTP-003.cisco.com (64.101.220.143) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Tue, 3 May 2016 12:23:46 -0400
Received: from xch-rtp-020.cisco.com ([64.101.220.160]) by XCH-RTP-020.cisco.com ([64.101.220.160]) with mapi id 15.00.1104.009; Tue, 3 May 2016 12:23:46 -0400
From: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
To: Alia Atlas <akatlas@gmail.com>
Subject: Re: Alia Atlas' Discuss on draft-ietf-bfd-seamless-base-09: (with DISCUSS and COMMENT)
Thread-Topic: Alia Atlas' Discuss on draft-ietf-bfd-seamless-base-09: (with DISCUSS and COMMENT)
Thread-Index: AQHRpLkIQl1ke+WjZEO22I9fWz1zPp+mfzmAgAERloCAABYsAIAAAlKAgAAAooA=
Date: Tue, 03 May 2016 16:23:46 +0000
Message-ID: <CA6AEAC9-8EF0-4D32-AD2C-C9DD9418C19F@cisco.com>
References: <20160502212434.15622.98408.idtracker@ietfa.amsl.com> <E599B095-A047-4657-B068-C5647E736F34@cisco.com> <CAG4d1re6HowYY1hZ+0at4yiGaZ9kb=EvoNdKe6BBoqV++Rp=sg@mail.gmail.com> <059ECD31-C883-4721-8FA1-3FCEE9FCE1AC@cisco.com> <CAG4d1rdEWxzZUH1QWSwPz60e-C6baX+dtYo5O-jqmO8TE2mNhA@mail.gmail.com>
In-Reply-To: <CAG4d1rdEWxzZUH1QWSwPz60e-C6baX+dtYo5O-jqmO8TE2mNhA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.150.48.199]
Content-Type: multipart/signed; boundary="Apple-Mail=_8A9D0AB1-7E12-4E55-B06D-44FFCD7CF9D4"; protocol="application/pgp-signature"; micalg="pgp-sha256"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-bfd/Rm6ky5tbo-2XtSTX0UfC5Rv_OMc>
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 16:24:52 -0000

Hi Alia,

Thank you. Yes, I will submit before the telechat, but will still wait a couple days for additional comments.

Best,

— Carlos.

> On May 3, 2016, at 12:21 PM, Alia Atlas <akatlas@gmail.com> wrote:
> 
> Hi Carlos,
> 
> This all looks good to me.  Thanks for the quick resolution!
> I'll clear my discuss assuming that you will submit the updated version very very soon.
> 
> Regards,
> Alia
> 
> On Tue, May 3, 2016 at 12:13 PM, Carlos Pignataro (cpignata) <cpignata@cisco.com <mailto:cpignata@cisco.com>> wrote:
> Hi, Alia,
> 
> Thanks for the response!
> 
> We are on the exact same page regarding items #1 and #2.
> 
> For item #3, we really want to modularize the specs and not tie the -base to the transports. Note that we mention “UDP” but also “associated channel type”.
> 
> For #3, here’s the change I implemented:
> 
>     S-BFD packet MUST be demultiplexed with lower layer information
> -   (e.g., dedicated destination UDP port, associated channel type).
> -   Following procedure SHOULD be executed on both initiator and
> -   reflector.
> +   (e.g., dedicated destination UDP port [I-D.ietf-bfd-seamless-ip],
> +   associated channel type [I-D.ietf-pals-seamless-vccv]).  Following
> +   procedure SHOULD be executed on both initiator and reflector.
> 
> And please find attached full diffs addressing all the Discuss points.
> 
> Thanks!
> 
> — Carlos.
> 
> 
> 
>> On May 3, 2016, at 10:53 AM, Alia Atlas <akatlas@gmail.com <mailto:akatlas@gmail.com>> wrote:
>> 
>> Hi Carlos,
>> 
>> On Mon, May 2, 2016 at 6:34 PM, Carlos Pignataro (cpignata) <cpignata@cisco.com <mailto: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 <mailto: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 <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/ <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.
>> 
>> 
>> 
> 
> 
>