Re: [Pce] Benjamin Kaduk's Discuss on draft-ietf-pce-stateful-hpce-13: (with DISCUSS and COMMENT)

Benjamin Kaduk <kaduk@mit.edu> Sun, 13 October 2019 21:46 UTC

Return-Path: <kaduk@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 8A9A91200E6; Sun, 13 Oct 2019 14:46:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham 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 vcZoUuSRSykP; Sun, 13 Oct 2019 14:46:16 -0700 (PDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (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 4FD1E120090; Sun, 13 Oct 2019 14:46:16 -0700 (PDT)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id x9DLkAw2022681 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 13 Oct 2019 17:46:12 -0400
Date: Sun, 13 Oct 2019 14:46:09 -0700
From: Benjamin Kaduk <kaduk@mit.edu>
To: Dhruv Dhody <dhruv.ietf@gmail.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-pce-stateful-hpce@ietf.org, Adrian Farrel <adrian@olddog.co.uk>, pce-chairs <pce-chairs@ietf.org>, pce@ietf.org
Message-ID: <20191013214609.GA61805@kduck.mit.edu>
References: <156884459034.4565.10696493114905134845.idtracker@ietfa.amsl.com> <CAB75xn5wp6EvhCVExn9sz4ipbxT+1GpPbW_fX8GOea6zh=tBpw@mail.gmail.com> <20190925232548.GQ6424@kduck.mit.edu> <CAB75xn7XA4+b3+65SK8PhKUfQNX_Z3FRUOs+8u3Ekmv1XvXdYA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAB75xn7XA4+b3+65SK8PhKUfQNX_Z3FRUOs+8u3Ekmv1XvXdYA@mail.gmail.com>
User-Agent: Mutt/1.12.1 (2019-06-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/pce/KENrLAcm3KP4j4vlKjoPSoRCar0>
Subject: Re: [Pce] Benjamin Kaduk's Discuss on draft-ietf-pce-stateful-hpce-13: (with DISCUSS and COMMENT)
X-BeenThere: pce@ietf.org
X-Mailman-Version: 2.1.29
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: Sun, 13 Oct 2019 21:46:31 -0000

On Thu, Sep 26, 2019 at 12:11:56PM +0530, Dhruv Dhody wrote:
> Hi Ben,
> 
> Snipping to the final discuss that is still open -
> 
> 
> > > > ----------------------------------------------------------------------
> > > > DISCUSS:
> > > > ----------------------------------------------------------------------
> > > >
> > > > I think this should be pretty easy to resolve, though I'm not sure what
> > > > the right way to do so it.
> > > >
> > > > Section 3 says:
> > > >
> > > >    [I-D.ietf-pce-hierarchy-extensions] defines the H-PCE Capability TLV
> > > >    that is used in the Open message to advertise the H-PCE capability.
> > > >    [RFC8231] defines the Stateful PCE Capability TLV used in the Open
> > > >    message to indicate stateful support.  The presence of both TLVs in
> > > >    an Open message indicates the support for stateful H-PCE operations
> > > >    as described in this document.
> > > >
> > > > There is no normative reference relationship (in either direction)
> > > > between draft-ietf-pce-hierarchy-extension and this document; I think
> > > > that the use of the capability TLV to imply both sets of functionality
> > > > implies some sort of normative relationship; we wouldn't want version
> > > > skew between documents to induce breaking changes.  In particular, an
> > > > implementation that already supports RFC 8231 and is implementing the
> > > > hierarchy extensions would need to know to look at this document *and
> > > > implement it*, or would unknowingly be noncompliant with this document
> > > > and fail to interoperate with a peer that is compliant with this
> > > > document.
> > > >
> > >
> > > How about we add normative text for this -
> > >
> > >    [I-D.ietf-pce-hierarchy-extensions] defines the H-PCE Capability TLV
> > >    that is used in the Open message to advertise the H-PCE capability.
> > >    [RFC8231] defines the Stateful PCE Capability TLV used in the Open
> > >    message to indicate stateful support. To indicates the support for
> > >    stateful H-PCE operations described in this document, a PCEP speaker
> > >    MUST include both TLVs in an Open message. It is RECOMMENDED that any
> > >    implementation that supports stateful operations [RFC8231] and H-PCE
> > >    [I-D.ietf-pce-hierarchy-extensions] would also implements the
> > >    stateful H-PCE operations as described in this document.
> > >
> > > This would be true in most deployments/implementations of C-PCE and
> > > P-PCE that are also stateful!
> >
> > This does remove the problematic normative requirement on implementations
> > of other documents, but I'm not sure if it does what's needed for the
> > interactions across documents.  Specifically, what will happen if two peers
> > both support/advertise stateful PCE and H-PCE but only one implements
> > stateful HPCE? Will there be a clean error handling at runtime and
> > degredation to one or the other, or will there be messy errors?  If the
> > latter, then I don't think we can just have a RECOMMENDED relationship.
> >
> 
> The assumption was that any implementation that claims to support
> stateful and H-PCE on a particular session would also support Stateful
> H-PCE and this document just describes the interaction between these
> two features as an informational document.
> 
> But, lets take a case where PCC and P-PCE support stateful H-PCE but
> the C-PCE does not. PCC would send stateful message to C-PCE and C-PCE
> would not further propagate them.
> 
> I further did a mental exercise for PCC -> C-PCE -> P-PCE and assumed
> all support stateful and H-PCE extension but what happens when any
> PCEP speaker does not support stateful H-PCE but the peer assumes that
> it does. On further PCEP message exchange, the messages may not get
> further propagated and thus at worse would not lead to the stateful
> H-PCE based 'parent' control of the LSP. This is something any peer
> should be prepared for anyways.
> 
> The "clean" solution would be to add a new flag; but then we also need
> to move this a standards track and loose the claim that this is just a
> combination of existing protocol extensions.

Thanks for going through the mental exercise; I will trust your judgment
that a new flag is not really needed in practice.

Sorry for the slow response...

-Ben