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

"Carlos Pignataro (cpignata)" <cpignata@cisco.com> Mon, 02 May 2016 22:34 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 061FA12B01C; Mon, 2 May 2016 15:34:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.517
X-Spam-Level:
X-Spam-Status: No, score=-15.517 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, 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 d_i5VmqZsLpm; Mon, 2 May 2016 15:34:40 -0700 (PDT)
Received: from alln-iport-1.cisco.com (alln-iport-1.cisco.com [173.37.142.88]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7640212D191; Mon, 2 May 2016 15:34:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9117; q=dns/txt; s=iport; t=1462228480; x=1463438080; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=3v4Okgl7+aIMIJQuw7GDaLb6cRi0G7rXlWprfbl570w=; b=OC8ma4nQi8MlBN1f4jnLmUEWJIYnmXN1HxL7rny7z6sm0VYp+DRWmrHg op3kxtEX+UwPGdR65wc9RMx6YrHL9/X7emg8b3dfZlCcH77CHOXMSIqwQ iuPVPwyesT0zDPedUv9czHTUQQuvbOsSRrAX2o/DVxFzS3KNlVy8zG4io s=;
X-Files: signature.asc : 841
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DUAgDH1CdX/4cNJK1egzhTfQauFIlSgg8OgXYihW4CgTc4FAEBAQEBAQFlJ4RBAQEBAwEjVgULAgEIDgoqAgIhESUCBA4FDg2HegMKCA6qG4xADYROAQEBAQEBAQEBAQEBAQEBAQEBAQEBDQQEhiGBdgiCToJBgU4RAU6CTiuCKwWHd4sshEAxAYMngWdthiWBdwqBXYRNiF2HUYdfAR4BQ4I2gTVsAYdICRcEG38BAQE
X-IronPort-AV: E=Sophos;i="5.24,569,1454976000"; d="asc'?scan'208";a="268899569"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by alln-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 02 May 2016 22:34:39 +0000
Received: from XCH-RTP-004.cisco.com (xch-rtp-004.cisco.com [64.101.220.144]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id u42MYcd8029621 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 2 May 2016 22:34:39 GMT
Received: from xch-rtp-020.cisco.com (64.101.220.160) by XCH-RTP-004.cisco.com (64.101.220.144) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Mon, 2 May 2016 18:34:38 -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; Mon, 2 May 2016 18:34:37 -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+mfzmA
Date: Mon, 02 May 2016 22:34:37 +0000
Message-ID: <E599B095-A047-4657-B068-C5647E736F34@cisco.com>
References: <20160502212434.15622.98408.idtracker@ietfa.amsl.com>
In-Reply-To: <20160502212434.15622.98408.idtracker@ietfa.amsl.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.82.169.162]
Content-Type: multipart/signed; boundary="Apple-Mail=_A4CB4FE7-AB56-4530-9AC5-A118624DC036"; protocol="application/pgp-signature"; micalg="pgp-sha256"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-bfd/mI3TWOCi-QMkd3W-m8KPmffhK3I>
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: Mon, 02 May 2016 22:34:43 -0000

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?

> 
> 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.

> 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.

> 
> ----------------------------------------------------------------------
> 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.

Please let us know your thoughts on the responses above, and we can send out diffs.

Thanks!

— Carlos.