Re: [Pce] Genart last call review of draft-ietf-pce-pceps-14

worley@ariadne.com (Dale R. Worley) Wed, 02 August 2017 02:40 UTC

Return-Path: <worley@alum.mit.edu>
X-Original-To: pce@ietfa.amsl.com
Delivered-To: pce@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CF540131461 for <pce@ietfa.amsl.com>; Tue, 1 Aug 2017 19:40:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.933
X-Spam-Level:
X-Spam-Status: No, score=-1.933 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] autolearn=no 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 ddAilsTWzTo8 for <pce@ietfa.amsl.com>; Tue, 1 Aug 2017 19:40:08 -0700 (PDT)
Received: from resqmta-ch2-08v.sys.comcast.net (resqmta-ch2-08v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:40]) (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 6ADC7120724 for <pce@ietf.org>; Tue, 1 Aug 2017 19:40:08 -0700 (PDT)
Received: from resomta-ch2-14v.sys.comcast.net ([69.252.207.110]) by resqmta-ch2-08v.sys.comcast.net with ESMTP id cjZZdbiteL9bGcjZvdlFK9; Wed, 02 Aug 2017 02:40:07 +0000
Received: from hobgoblin.ariadne.com ([IPv6:2601:192:4603:9471:222:fbff:fe91:d396]) by resomta-ch2-14v.sys.comcast.net with SMTP id cjZtdRbxoyqbQcjZudgSvh; Wed, 02 Aug 2017 02:40:07 +0000
Received: from hobgoblin.ariadne.com (hobgoblin.ariadne.com [127.0.0.1]) by hobgoblin.ariadne.com (8.14.7/8.14.7) with ESMTP id v722e40P008949; Tue, 1 Aug 2017 22:40:04 -0400
Received: (from worley@localhost) by hobgoblin.ariadne.com (8.14.7/8.14.7/Submit) id v722e4Xj008944; Tue, 1 Aug 2017 22:40:04 -0400
X-Authentication-Warning: hobgoblin.ariadne.com: worley set sender to worley@alum.mit.edu using -f
From: worley@ariadne.com
To: Dhruv Dhody <dhruv.dhody@huawei.com>
Cc: gen-art@ietf.org, draft-ietf-pce-pceps.all@ietf.org, pce@ietf.org, ietf@ietf.org, dhruv.ietf@gmail.com
In-Reply-To: <23CE718903A838468A8B325B80962F9B8CB962D9@blreml501-mbb> (dhruv.dhody@huawei.com)
Sender: worley@ariadne.com
Date: Tue, 01 Aug 2017 22:40:04 -0400
Message-ID: <87d18ed75n.fsf@hobgoblin.ariadne.com>
X-CMAE-Envelope: MS4wfIAcwgM2bU3tXwQQG0wM0ojrG+bGlxzSLlCcTA1RqCzbxW+C/RBkBzeyqQp2/b5vinyqHxLFXLgzbaeYnDL1JANB8AgRy+VkVyQoev3Fw2SDXmCuYplt AcTx1Qh9UmecW0KJmKzayTDnByNQ+ED/OzPN1fOfycniWs1Su4DewnRRQfXZOAPXM0WmNYi/Vc+6PJGv3563YWhHl8ST73uu+Ljkab23e1Ga80d3nniel+Rg Y2pjasIx/entJROnoxUQpXBfAxkMSCQigvwS04cqcmaIT3nraFTw+b/xsnDEuujDj2SOLxeAfTBuw+MwCYoRTg==
Archived-At: <https://mailarchive.ietf.org/arch/msg/pce/8kfdVPwKl54-FtJHr_1BPldKrhg>
Subject: Re: [Pce] Genart last call review of draft-ietf-pce-pceps-14
X-BeenThere: pce@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Path Computation Element <pce.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pce>, <mailto:pce-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pce/>
List-Post: <mailto:pce@ietf.org>
List-Help: <mailto:pce-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pce>, <mailto:pce-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Aug 2017 02:40:10 -0000

Dhruv Dhody <dhruv.dhody@huawei.com> writes:
>> It's more complicated than that:  If a PCE does not like the first message
>> it receives, if it implements PCEPS, it replies TBA2/2.  But if it does
>> not implement PCEPS, it replies 1/1.  Similarly, a PCC may reject an
>> initial message with either of these error codes, depending on the
>> situation.  If the other endpoint does not implement PCEPS, it might be
>> surprised by receiving TBA2/2, which it has no way of understanding in
>> detail (although it will probably simply disconnect, which is what it
>> would do in reaction to a 1/1).
>> 
> [[Dhruv Dhody]] You are right about this case, which I have clarified now -  
>
>    If the PCEP speaker that only supports PCEPS connection (as a local
>    policy), receives an Open message, it MUST treat it as an unexpected
>    message and reply with a PCErr message with Error-Type set to 1 (PCEP
>    session establishment failure) and Error-value set to 1 (reception of
>    an invalid Open message or a non Open message).
>
> In your description you mentioned the error TBA2/2, but the
> description of TBA2/2 is  - 
>
>    A PCEP
>    speaker receiving any other message apart from StartTLS, Open, or
>    PCErr as the first message, MUST treat it as an unexpected message
>    and reply with a PCErr message with Error-Type set to [TBA2 by IANA]
>    (PCEP StartTLS failure) and Error-value set to 2 (reception of any
>    other message apart from StartTLS, Open, or PCErr message), and MUST
>    close the TCP connection.
>
> So receiving of open message would not trigger this error. The new
> text above would take care of that. 

I don't know if the case I'm thinking of is important enough to change
anything for, but I think it should at least be thought about.

I'm considering the situation where the TCP connection is started, and
one endpoint receives a message that it does not understand.  Not the
case where a non-implementing endpoint receives a StartTLS, but where
the message is entirely incorrect, and is neither Open nor StartTLS, or
at least, is sufficiently malformed that the receiver cannot parse it as
one of those message types.

Of course, this situation should never happen, but I expect that it is
occasionally seen, and it would be useful if it was handled in a way
that would make it easier for the humans involved to diagnose the
problem.

If the receiver of the message does not implementing PCEPS, it will send
error 1/1.  The receiver of the error (the sender of the message) will
receive 1/1, and will "understand" it and log it as something requiring
human intervention -- whether or not it implements PCEPS.

OTOH, if the receiver of the message implements PCEPS, it will send
error TBA2/2.  If the receiver of the error (the sender of the message)
implements PCEPS, it will understand it and log it as something
requiring human intervention.  However, if the receiver does not
implement PCEPS, it won't understand the error message, and will have to
log it as "I received an unknown error message".  Of course, human
inquiry will reveal that the error message was a PCEPS error message,
and its meaning is "unknown initial message", getting us back to the
previous situation.  But it seems to me that this is adding a step of
human processing where it could be avoided, and that better performance
(of the humans and the system as a whole) would be achieved in practice
if a PCEPS implementation, when it received an initial message that was
not Open or StartTLS, sent a 1/1 error in the same way as a non-PCEPS
implementation.

Dale