Re: [Pce] Benjamin Kaduk's No Objection on draft-ietf-pce-segment-routing-14: (with COMMENT)

Jeff Tantsura <jefftant.ietf@gmail.com> Sun, 06 January 2019 18:48 UTC

Return-Path: <jefftant.ietf@gmail.com>
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 7956812008A; Sun, 6 Jan 2019 10:48:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 mKVBgj287ief; Sun, 6 Jan 2019 10:48:47 -0800 (PST)
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (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 8BE741288BD; Sun, 6 Jan 2019 10:48:43 -0800 (PST)
Received: by mail-ed1-x52a.google.com with SMTP id a20so29213950edc.8; Sun, 06 Jan 2019 10:48:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Z3Qu74yY+K0vFrS7n7SNhw+V7TVFEBNiu5j2Z//20Kk=; b=KSicQlNATNb2rG1dE2no00KGG+uWJPdTV0BWQJA+rGwJyfzglPsaUJsma3W888To5E IXAuuy99MmCjV4LMOI+I3oypLs7gjQTC4xz7LeX1QjhuQ00ogmn45qG9k04yYu1g3y4L ddeNjZ/4PYw/j6c0lbErfwPD3HqOVloNotIejngUfyeSt9YkXCDKa0VbFjI0MrCCmIzh 9BipM5GwAjYk/fqtO9EbMRspfrT3h6cKpCiYlKsW6csd6J3nwnEUxlH7gTHxX7BMfSby N4n/xvn8RzFsieLU2ez50EF0KJEJ1I3auPJdeS+qtF5gr29hxEehclIcay3aMy09v/cU 7faA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Z3Qu74yY+K0vFrS7n7SNhw+V7TVFEBNiu5j2Z//20Kk=; b=QLVFIoc2sX3JQmHj3L0C9P0N68qy4Hdf4YSeeENl4ScquZEd+rsgxx+OL6wAfUeCDl iF55dlmGA/7oJG5I1L0DBaGiQ+NPpk2a3w9JyZjus8eBK4ImIPDog4d1mfdgGVXK5bqV 8TUpkzA8XxnxyQgUFfscQeJiVNxxyrKazyW1w6NcKtQUZQqTrr3M6MljMzAvQIrZaDoG 3mI9D/CHzCUs8SxzKNGXe/Qr61DwmtLwmF4DkTiVU+e6cK3d7HT/RR7SPR3AOfmC0dn5 FqTTu7GYd9ZP1IW6xT9/T0Mss7go+p1BOgVF6hYikqA/zgZ40p8RTxTE2D7nGxAjYNZJ VkHA==
X-Gm-Message-State: AA+aEWbepbURFel0Sq+On5GS2d3bLqBxG0xhGM9rTe6MLxjLOf7uV9QZ 9FkT1aa36Mk/u3RwxmLusPTIBl0ieZHWu4Gdg0Q=
X-Google-Smtp-Source: AFSGD/Vx5Bp4HP55ipranhaXbtr9+bSB/wrinRAdi+ERSXH6eT67ERZds94RLVAL0crQXtakECA8HMT2rCWeTQ9BEr0=
X-Received: by 2002:a50:bb2c:: with SMTP id y41mr53291432ede.147.1546800521816; Sun, 06 Jan 2019 10:48:41 -0800 (PST)
MIME-Version: 1.0
References: <154362042021.27428.14843328031369141534.idtracker@ietfa.amsl.com> <BL0PR02MB4868D21341B671EEB1E34E7084B80@BL0PR02MB4868.namprd02.prod.outlook.com> <20190106003943.GF28515@kduck.kaduk.org>
In-Reply-To: <20190106003943.GF28515@kduck.kaduk.org>
From: Jeff Tantsura <jefftant.ietf@gmail.com>
Date: Sun, 06 Jan 2019 10:48:30 -0800
Message-ID: <CAFAzdPWtm80Yc_1uh2bLizM9KHtCrYTR8So_5sup23BLkBrUjQ@mail.gmail.com>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: Jonathan Hardwick <Jonathan.Hardwick@metaswitch.com>, The IESG <iesg@ietf.org>, "draft-ietf-pce-segment-routing@ietf.org" <draft-ietf-pce-segment-routing@ietf.org>, Dhruv Dhody <dhruv.ietf@gmail.com>, "pce-chairs@ietf.org" <pce-chairs@ietf.org>, "pce@ietf.org" <pce@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a4446d057ece8f35"
Archived-At: <https://mailarchive.ietf.org/arch/msg/pce/U53zjLbio46nlyad0NszRNWKk8Y>
Subject: Re: [Pce] Benjamin Kaduk's No Objection on draft-ietf-pce-segment-routing-14: (with 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, 06 Jan 2019 18:48:50 -0000

Hi John/Ben,

Happy New Year!

Both OSPF and IS-IS MSD documents have been published.
Wrt PCE - they merely state that if there’s no PCEP session between nodes
advertising and receiving this information, the receiving node has no other
means to learn the MSD of the advertising node, since it is local to the
node (while IGPs flood it to everyone).
Having this in the IGP drafts and PCE draft stating that if both protocols
advertise MSD, then IGP one should be preferred seemed clear enough (this
had been discussed).
>From granularity prospective - IGPs (BGP-LS) provide more details indeed as
per interface MSD could be advertised (PCEP could do node MSD only).

Hope this clarifies,
Jeff


On Sat, Jan 5, 2019 at 16:39 Benjamin Kaduk <kaduk@mit.edu> wrote:

> On Fri, Dec 21, 2018 at 04:59:28PM +0000, Jonathan Hardwick wrote:
> > Hi Benjamin
> >
> > Sorry for the delayed response.  Please find replies to your comments
> below.
>
> And my apologies as well for waiting until after the holidays to
> counter-respond.
>
> > Best regards
> > Jon
> >
> >
> > Abstract
> >
> >                    This document specifies extensions to the Path
> >    Computation Element Communication Protocol (PCEP) that allow a
> >    stateful PCE to compute and initiate Traffic Engineering (TE) paths,
> >    as well as a PCC to request a path subject to certain constraints and
> >    optimization criteria in SR networks.
> >
> > Why are we talking about TE paths now instead of SR?
> >
> > [Jon] TE is the primary application for SR paths instantiated by a PCE.
> >
> > Section 1
> >
> >    Several types of segment are defined.  A node segment represents an
> >    ECMP-aware shortest-path to a specific node, and is always identified
> >    uniquely within the SR/IGP domain.  [...]
> >
> > A path to a node is only going to be unique if the starting node is also
> included, is it not?
> >
> > [Jon] I suggest we reword this to make it clearer:
> >
> > OLD
> >    A node segment represents an
> >    ECMP-aware shortest-path to a specific node, and is always identified
> >    uniquely within the SR/IGP domain.
> > NEW
> >    A node segment uniquely identifies a specific node in the SR domain.
> >    Each router in the SR domain associates a node segment with an
> >    ECMP-aware shortest path to the node that it identifies.
> > END
>
> That works for me, thanks.
>
> > Section 3
> >
> > The sentences:
> >
> >    In an SR network, the ingress node of an SR path prepends an SR
> >    header to all outgoing packets.  The SR header consists of a list of
> >    SIDs (or MPLS labels in the context of this document).
> >
> > Appear virtually unchanged in both the start of the first paragraph and
> the middle of the second paragraph; is this duplication really needed?
> >
> > [Jon] No - we'll remove the redundant text.
> >
> >    A PCC MAY include an RRO containing the recorded LSP in PCReq and
> >    PCRpt messages as specified in [RFC5440] and [RFC8231], respectively.
> >    This document defines a new RRO subobject for SR networks.  The
> >    methods used by a PCC to record the SR-TE LSP are outside the scope
> >    of this document.
> >
> > It's not entirely clear that we need to define a standard container to
> carry site-local data when a site-local container could also be used.
> >
> > [Jon] Sorry, I don't understand your comment.  The RRO is an existing
> PCEP object whose subobjects are used to describe the actual path taken by
> an LSP.  We are adding subobjects to represent SIDs.
>
> I'm going from memory, and it's been some time since I read the document
> (so this could well be wrong), but I think I was thinking something like
> "we're defining a new type of subobject to represent SIDs, but the contents
> of that subobject are interpreted in a site-local manner.  How is this
> different from just having site-local subobjects, with both the subobject
> type and its contents being site-local matters?"  But this was just a
> non-blocking comment to start with, so if it doesn't make sense (or any
> other reason, really), feel free to drop the discussion -- I won't mind.
>
> > Section 5.2
> >
> > Please expand SRP (and RP, for that matter) on first usage.
> > (Interestingly,
> https://www.rfc-editor.org/materials/abbrev.expansion.txt
> > does not seem to have the correct expansion for this usage.)
> >
> > [Jon] Will do.
> >
> > Section 5.3.1
> >
> >       *  C: If the M bit and the C bit are both set to 1, then the TC,
> >          S, and TTL fields in the MPLS label stack entry are specified
> >          by the PCE.  However, a PCC MAY choose to override these values
> >          according its local policy and MPLS forwarding rules.  If the M
> >          bit is set to 1 but the C bit is set to zero, then the TC, S,
> >          and TTL fields MUST be ignored by the PCC.  The PCC MUST set
> >          these fields according to its local policy and MPLS forwarding
> >          rules.  [...]
> >
> > Must be ignored in incoming messages received from where?
> >
> > [Jon] There are two types of entity in PCEP - PCC (client) and PCE
> (server).  In any exchange of messages, one speaker takes the role of PCC
> and the other PCE.  Thus, "MUST be ignored by the PCC" implies that the
> messages are coming from the PCE.
>
> Okay.
>
> > Isn't the 'F' bit fully redundant with NT?
> >
> > [Jon] The F bit determines whether NAI is appended, or not.  NT gives
> the type of the NAI that is appended.  The NT field has no meaning if F=0.
>
> My (implicit) proposal was to assign a value for the NT field that means
> "no NAI is present", and to treat that value of NT as meaning that F=0,
> with any other value of NT meaning F=1, in which case the F bit does not
> add any new information.
>
> > Section 5.3.2
> >
> > Do we need to say anything about which node is the reference point for
> evaluating "local" and "remote" w.r.t. IP addresses?  (Maybe we don't,
> since these are always unidirectional adjacencies, right?)
> >
> > [Jon] Effectively, yes.  An adjacency SID is always given within the
> context of a particular node - it is meaningful only on that node.  So
> "local" and "remote" are defined by that context.
>
> Thanks for confirming!
>
> > Section 6.1
> >
> >    If a PCC sets the N flag to 1, then the PCE MAY send an SR-ERO
> >    subobject containing NAI and no SID (see Section 6.2).  Otherwise,
> >    the PCE MUST NOT send an SR-ERO subobject containing NAI and no SID.
> >
> > Sets the N flag in what message?
> >
> > [Jon] This section is discussing capability exchange on the Open message.
>
> Okay, I must have been reading too fast.
>
> >                                                  If a PCE receives an
> >    SR-PCE-CAPABILITY sub-TLV with the L flag set to 1 then it MUST
> >    ignore the MSD field and MUST assume that the sender can impose a SID
> >    stack of any depth.  [...]
> >
> > nit: this second MUST seems like overkill; "and assumes" would probably
> work fine.  (Similarly for the following case.)
> >
> > [Jon] OK
> >
> > It's interesting that the routing protocols' MSD value supersedes the
> PCE-obtained one, given that all three (IS-IS, OSPF, and BGP-LS) documents
> have text to the effect of "PCEP provides a way to get this, but if PCEP is
> not used you can use our thing", which a naive reader would take to mean
> that PCEP is intended to be the primary distribution mechanism.
> >
> > [Jon] Probably needs to be fixed in the other documents.  PCEP is a
> fairly blunt tool for specifying the MSD, which it can only do per node.
> The IGPs can do better by specifying the MSD per network interface.
>
> Ah.  Unfortunately, at least the IS-IS document is already published as an
> RFC (8491) and thus immutable.  (I didn't check the others.)  I don't know
> whether it would be appropriate to add this explanation into this document
> since the other documents cannot (all) be changed.
>
> > Section 7
> >
> > Is there some history regarding making it MUST-level mandatory to treat
> top-level SR-CAPABILITY-TLV in OPEN for backwards-compatibility (as opposed
> to SHOULD-level but leaving open the option of a strict implementation)?
> > (The guidance for what to do when both forms appear seems good to have
> at MUST-level, to me.)
> >
> > [Jon] The impact of not doing this is that you might not interoperate
> with a currently fielded implementation, which seemed serious enough to me
> for a MUST to apply.  But I am open to discussion if you feel otherwise.
>
> I don't have a particular argument for changing it, other than the abstract
> possibility of an implementation that does not want to maintain the extra
> compatibility code and will accept the resulting breakage.  Since I don't
> know how likely that would be, this remains an abstract thought and
> probably doesn't merit further discussion.
>
> > Section 9
> >
> > RFC 8281's security considerations incorporate those of RFC 8231 by
> reference; we could save the reader a step and also mention it at the
> toplevel here.
> >
> > [Jon] OK
> >
> > I don't think it's a good idea to just refer to "the security mechanisms
> of [RFC 5440] and [RFC8281]", since there are qualitative differences
> between the TCP authentication schemes and the full-on encryption provided
> by TLS and IPsec.  (Also, what exactly are the security mechanisms of
> RFC8281 supposed to be -- a quick look only sees the new guidance to apply
> resource
> > limits?)  The second paragraph only requires integrity protection to
> avoid the vulnerability mentioned there, but the third paragraph requires
> confidentiality protection to preent the attack.
> >
> > [Jon] RFC 8281 pulls in RFC 8231 in its security section, as you note
> above.  RFC 8231 says
> >
> >    As a general precaution, it is RECOMMENDED that these PCEP extensions
> >    only be activated on authenticated and encrypted sessions across PCEs
> >    and PCCs belonging to the same administrative authority, using
> >    Transport Layer Security (TLS) [PCEPS], as per the recommendations
> >    and best current practices in [RFC7525].
>
> That still doesn't seem to give the reader much guidance about which cases
> require encryption and which cases can safely proceed with just integrity
> protection (even though I'm happy to see the general recommendation to use
> TLS!).
>
> -Benjamin
>
> > Section 10.6
> >
> > RFC 8408 does not "request" the creation of the registry; IANA has
> already created the registry.  I would just say "[RFC8408] created a
> sub-registry [...]" but the smaller change to "requested" would be okay,
> too.
> >
> > [Jon] OK.
>