[Pce] BRPC last call comments

"Adrian Farrel" <adrian@olddog.co.uk> Fri, 21 March 2008 20:40 UTC

Return-Path: <pce-bounces@ietf.org>
X-Original-To: ietfarch-pce-archive@core3.amsl.com
Delivered-To: ietfarch-pce-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7F0EB28C59C; Fri, 21 Mar 2008 13:40:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.384
X-Spam-Level:
X-Spam-Status: No, score=-100.384 tagged_above=-999 required=5 tests=[AWL=0.053, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_ORG=0.611, RDNS_NONE=0.1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5ZETwkGq7zuj; Fri, 21 Mar 2008 13:40:55 -0700 (PDT)
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9FB173A6DCE; Fri, 21 Mar 2008 13:40:55 -0700 (PDT)
X-Original-To: pce@core3.amsl.com
Delivered-To: pce@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DF2EF28C285 for <pce@core3.amsl.com>; Fri, 21 Mar 2008 13:40:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wwNW1OnyIR0U for <pce@core3.amsl.com>; Fri, 21 Mar 2008 13:40:53 -0700 (PDT)
Received: from asmtp2.iomartmail.com (asmtp2.iomartmail.com [62.128.201.249]) by core3.amsl.com (Postfix) with ESMTP id 12ADB3A6A22 for <pce@ietf.org>; Fri, 21 Mar 2008 13:40:52 -0700 (PDT)
Received: from asmtp2.iomartmail.com (localhost.localdomain [127.0.0.1]) by asmtp2.iomartmail.com (8.12.11.20060308/8.12.8) with ESMTP id m2LKcXI0009159 for <pce@ietf.org>; Fri, 21 Mar 2008 20:38:33 GMT
Received: from your029b8cecfe (dsl-sp-81-140-15-32.in-addr.broadbandscope.com [81.140.15.32]) (authenticated bits=0) by asmtp2.iomartmail.com (8.12.11.20060308/8.12.11) with ESMTP id m2LKcUFg009149 for <pce@ietf.org>; Fri, 21 Mar 2008 20:38:31 GMT
Message-ID: <0bee01c88b93$84106720$0200a8c0@your029b8cecfe>
From: Adrian Farrel <adrian@olddog.co.uk>
To: pce@ietf.org
Date: Fri, 21 Mar 2008 20:38:25 -0000
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.3138
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198
Subject: [Pce] BRPC last call comments
X-BeenThere: pce@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: Adrian Farrel <adrian@olddog.co.uk>
List-Id: Path Computation Element <pce.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/pce>, <mailto:pce-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/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>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: pce-bounces@ietf.org
Errors-To: pce-bounces@ietf.org

Hi,

Here are some last call comments on draft-ietf-pce-brpc-07.txt

Running idnits (http://tools.ietf.org/tools/idnits/) yields...
  ** There is 1 instance of too long lines in the document, the longest one
     being 5 characters in excess of 72.

  == Unused Reference: 'I-D.ietf-ccamp-inter-domain-rsvp-te' is defined on
     line 675, but no explicit reference was found in the text

  == Outdated reference: A later version (-11) exists of
     draft-ietf-pce-pcep-09

  ** Downref: Normative reference to an Informational RFC: RFC 4655

  == Outdated reference: draft-ietf-ccamp-inter-domain-pd-path-comp has been
     published as RFC 5152

  == Outdated reference: draft-ietf-ccamp-inter-domain-rsvp-te has been
     published as RFC 5151

  == Outdated reference: A later version (-03) exists of
     draft-ietf-pce-manageability-requirements-02

  == Outdated reference: A later version (-02) exists of
     draft-ietf-pce-path-key-01

====
General
Replace optional plurals "(s)" with normal plural "s" for correct grammar
Please fix indentation for bullets in sections 3, 4, and 7
Please ensure that all section headings use capitals
====
Document title
Please use capitalisation as...
 A Backward Recursive PCE-based Computation (BRPC) Procedure to Compute
     Shortest Inter-Domain Traffic Engineering Label Switched Paths
====
Document title
Should the title say "Shortest Constrained" rather than "Shortest"? The 
Abstract and the body of the text refered to "constrained".
====
Abstract
s/domain is referred to as a/domain is a/
s/as IGP areas and Autonomous Systems/as an IGP area or an Autonomous 
System/
s/in order to compute/to compute/
s/paths along a/paths across a/
s/determined sequence/predetermined sequence/
s/technique while preserving/technique. This technique preserves/
====
Section 1.
The RFC Editor requires that the first section is the Introduction.
Therefore...
- Swap section 1 and section 2
- Expand all acronyms on their first use in the Introduction
  This includes "(G)MPLS"
====
Terminology section
If you choose to include terms like ABR, can you also please include the 
acronym expansion.
====
Introduction
s/establishing inter-domain/establishing an inter-domain/
====
Introduction
You say...
   the entry
   boundary node of each domain (each node in charge of computing a
   section of an inter-domain TE LSP path is always along the path of
   such TE LSP).
This implies that the BN is not able to be a PCC and use a remote PCE. I 
don't think this limit applies.
Perhaps you mean to say "each node responsible for triggering the 
computation of a section...."
====
Introduction
s/Such path computation technique/This computation technique/
====
Introduction
I think you should add to the final paragraph the usual note about common 
understanding or metrics and objective functions (or the ability to provide 
suitable mappings) between the domains.
(This is exapnded on in section 3 bullet 3, but it is fundamental to the 
brpc paradigm.
====
Section 3, bullet 1
Why do you assume that OSPF-TE or ISIS-TE are being run.
I think your assumption is that each PCE has access to an up-to-date TED, 
and you might note that the normal way to achieve this would be by running 
OSPF-TE or ISIS-TE.
====
Section 3, final bullet
s/means that are/means that is/
====
Section 4
s/solve multi-constraints/solve multi-constraint/
====
Section 4.1
In section 3, final bullet, we see...
   - The domain path (set of domains traversed to reach the destination
   domain) is either administratively pre-determined or discovered by
   some means that are outside of the scope of this document.
But here in section 4.1...
   The sequence of domains to be
   traversed can either be determined a priori or during the path
   computation procedure.
I wonder if section 4.1 is trying to provide hints of how to do domain 
selection. Perhaps you could replace 4.1 with a simple statement that BRPC 
mechanisms might also be used to determine the sequence of domains, but that 
such procedures are out of scope of this document.
====
Section 4.2
Is "Definition of VSPT(i)" intended to be a subsection?
I find that the section leaps to rapidly into the definition of the VSPT. 
Shouldn't there be some discussion first (somewhere) about the sequence of 
exchange of information between PCC and PCEs? This isn't much information, 
but seeing the VSPT(i) described as "tree returned by PCE(i) to PCE(i-1)" 
makes me wonder how the PCEs are joined together.
====
Figure 1
s/BN-en((j), i)/BN-en(j,i)/
====
Section 4.2, paragraph after Figure 1
s/the number of entry BN/the number of entry BNs/
Delete "(identified by its TE Router-ID)"? This has nothing to do with the 
definition of the abstract VSPT.
====
Section 4.2
   Note that PCE(i) only considers the entry BNs that provide
   connectivity from domain(i-1).
According to the definition of "Entry BN of domain(n)" in the terminology 
section, this text is redundant.
Perhaps you mean to say...
   Note that PCE(i) only considers the entry BNs of domain(i). That is,
   only the BNs that provide connectivity from domain (i-1).
This, however, jars with the note in Figure 1 that "j <= [X-en(i)]" since 
the implication of that note and the subsequent text in 4.2 is that the set 
of entry nodes to domain(i) (X-en(i)) is actually considered to be the set 
of all BNs to domain(i).
You need to select a some terminology and then fix the text to be 
consistent.
Note, it is fine when you say:
   Furthermore, some BNs may be excluded according to policy
   constraints (either due to local policy or policies signaled in the
   path computation request).
This does allow j <= [X-en(i)]
====
Section 4.2
   The path computation request is then relayed until reaching a PCE(n)
   such that the TE LSP destination resides in the domain(n).  At each
   step of the process, the next PCE can either be statically configured
   or dynamically discovered via IGP/BGP extensions.
You need to be clear. Is it required that the PCEP request is forwarded in 
strict sequence PCE(i-1)-->PCE(i) for all i = 2 to n, or is it OK for the 
request to simply be forwarded direct to PCE(n)?
This leads to...
   If
   multiple PCEs are discovered, the PCE may select a subset of these
   PCEs based on some local policies or heuristics.
...should be clarified as...
   If PCE(i-1)
   discovers multiple PCEs for the adjacent domain(i), PCE(i) may
   select a subset of these PCEs based on some local policies or
   heuristics.
And hidden in here is the fact that PCE(i-1) may consult multiple PCE(i)s. 
This is fine, but is not exposed anywhere else in the document. In 
particular, the process does not say "PCE(i-1) MUST/SHOULD/MAY wait until it 
has heard responses from each PCE(i) that it has consulted."
====
Section 4.2
   Step i:

   - For i=n-1 to 2: PCE(i) concatenates the topology of domain(i)
   (using its TED) with the received VSPT(i+1).

I don't like "concatenates the topology". Don't you mean...
   Step i:

   - For i=n-1 to 2: PCE(i) computes the shortest constrained paths from
     each BN-en(i) to each BN-ex(i) that is identified in VSPT(i+1). It
     then concatenates the shortest of those paths to the paths in
     VSPT(i+1) to construct VSPT(i).

Then you can delete the following...
   Then PCE(i) computes VSPT(i) (MP2P (Multi-Point to Point) tree made
   of the shortest constrained paths between each BN-en(j,i) and the TE
   LSP destination).

====
Section 4.2
Replace...
   End
...with...
   Step n
====
Section 5
Is it assumed that PCE(i) knows which domain the requesting PCE(i-1) 
represents?
The reverse is obviously true because PCE(i-1) must select PCE(i) on this 
basis, but it seems to me that the PCReq could useful identify the 
neighboring (upstream) domain. This would be particularly useful in the case 
of a requesting PCE that represents multiple domains since it will allow 
PCE(i) to know which are the BN-en(i) nodes.
Conversely, if PCE(i) has computation capabilities for multiple domains, it 
will need to be told which for domain(i) it should act.
So we either need protocol extensions (requesting domain, computation 
domain) or we need to be told how to use existing protocol fields for this 
purpose.

Furthermore :-( how although the sequence of domains is known (a priori) by 
the PCC, we need some way to convey the sequence in the PCReq so that PCE(i) 
knows that the next domain in the sequence is domain(i+1).
If this can be achieved by existing protocol mechanism, you need to describe 
the procedures. If it can't be done, we need protocol extensions.
====
Section 6
s/from an ABR/from a BN/
s/PCERep/PCRep/
====
Section 9
Since the protocol extensions presented in this document are exactly that 
(protocol extensions) you must beware of backward compatibility issues. So 
when you have...
   If the BRPC procedure cannot be completed because a PCE along the
   domain path does not support the procedure, a PCErr message MUST be
   returned to the upstream PCE with a Error-Type "BRPC procedure
   completion failure".  The PCErr message MUST be relayed to the
   requesting PCC.
...you need to be aware that for PCE(i), not supporting BRPC (i.e. not 
recognising the VSPT bit) is going to be treated according to the main PCEP 
spec, and not according to any rules in this document.
But pcep-11 says...
   Unassigned bits are considered as reserved and MUST be set to zero on
   transmission.
...from which we assume that bits not understood are ignored and MAYBE 
forwarded in the next PCReq to PCE(i+1) or MAYBE dropped.

Ouch!
Not to late to fix the PCEP spec to say that an RP object carrying an 
unrecognised bit MUST be rejected with an Error Type of "Unknown Request 
Parameter" (or would you use "Capability Not Supported"?) and an Error Code 
to indicate the bit number. (You can't give names to the error codes because 
you don't know what the bits mean!)

That would leave you with the need to modify your document here as...
   If the BRPC procedure cannot be completed because a PCE along the
   domain path recognises but does not support the procedure, it MUST
   return a PCErr message to the upstream PCE with an Error-Type "BRPC
   procedure completion failure".

Note that if you do not fix the PCEP spec, you will have to handle the case 
where the PCE receives a PCRep from its downstream neighbor containing a 
VSPT that will be incomprehensible.

See also Section 14.1
====
Section 10.1
s/Such request MUST/Such requests MUST/
s/a set of diversely routed TE LSP/a set of diversely routed TE LSPs/
====
Section 13
s/meaningful, a metric normalization/meaningful, metric normalization/
s/thanks to the METRIC/using the METRIC/
====
Section 14.2
Not mandatory, but it would be useful to highlight what this MIB module 
actually needs to track.
Is it just the configuration widget in 14.1, or is there more stuff?
====
Section 14.4
Ha!
And how will you look at these TEDs?
Have a look at 8.4 of pcep-11
====
Appendix A
I think you can remove this now
====


Cheers,
Adrian 


_______________________________________________
Pce mailing list
Pce@ietf.org
https://www.ietf.org/mailman/listinfo/pce