Re: [Pce] Shepherd review of draft-ietf-pce-segment-routing-12

2018-10-12 Thread Jonathan Hardwick
Hi Dhruv

Thanks – I’ve applied these markups.  See comments below (trimming all closed 
issues).
I’ll post a new revision forthwith.

Cheers
Jon


[[Dhruv Dhody]] Thanks, regarding MSD something like –

The MSD (in OPEN message) discloses capabilities of the PCC (how many SIDs it
supports), which could provide an indication of the abilities of the PCC.  This
 information could be used to gain intelligence about devices in the network.

[Jon2] Thanks for the text – I have added something similar.


NEWER
   o  An ordered set of IP addresses representing network nodes/links.
   o  An ordered set of SID index values, with or without the corresponding IP
  addresses.
   o  An ordered set of MPLS labels, with or without corresponding IP
  address.
   The PCC converts these into an MPLS label stack and next hop, as described 
in section 6.2.2.
END NEWER
[[Dhruv Dhody]] In the WIP you sent you have - “An ordered set of MPLS labels 
and IP addresses”. Let’s update it to what you have above!

[Jon2] Oops! Fixed it.


Suggestions:
**

(1) In section 3, it says -
   An PCE can update an LSP that is initially established via RSVP-TE
   signaling to use an SR-TE path, by sending a PCUpd to the PCC that
   delegated the LSP to it ([RFC8231]).  Similarly, an LSP initially
   created with an SR-TE path can be updated to use RSVP-TE signaling,
   if necessary.  This capability is useful when a network is migrated
   from RSVP-TE to SR-TE technology.

We should also add text for LSPs that are not delegated and in control with 
PCC, where PCC will trigger the migration and this should be reported to the 
PCE via the PCRpt message.

[Jon] Not sure I understand… Are you saying that the PCC delegates the LSP and, 
at the same time, requests the PCC to migrate the LSP?  What should the PCC set 
on the PCRpt to request a migration?  I’m not sure if it makes sense, I would 
expect migrations to be driven from the controller downwards, not individually 
requested by the head-ends.
[[Dhruv Dhody]] Consider a LSP that was not delegated and control is at the 
PCC.  Via configuration the PCC is asked to migrate this to SR, the PCC could 
via PCReq/PCRep gets a new path based on SR and installs it in the forwarding 
and migrate to it. We would want a make-before-break like operations where via 
PCRpt message(s) the new LSP (with PST=SR) is reported and the old LSP is 
reported to be deleted.
Thus IMHO the migration could be triggered at the PCC via configuration too. In 
section 8.2 we state that this is out of scope, but in section 3 it was 
mentioned only in scope of PCUpd message, thus making me wonder if we should 
also include the PCC triggered migration of LSP.

[Jon2] OK – got it.  I have added “A PCC can update an undelegated LSP that is 
initially established via RSVP-TE signaling to use an SR-TE path as follows.  
First, it requests an SR-TE Path from a PCE by sending a PCReq message.  If it 
receives a suitable path, it establishes the path in the data plane, and then 
tears down the original RSVP-TE path.  If the PCE is stateful, then the PCC 
sends PCRpt messages indicating that the new path is set up and the old path is 
torn down, per [RFC8231].”



Another query NAI only SR-RRO is of no use. I think we should not allow that!!

[Jon] I think it could make sense e.g. as a list of router IDs that the LSP 
visits. Personally, I think NAI-only overcomplicates the protocol in both ERO 
and RRO, but given that we allow it in ERO, I don’t see a reason to ban it from 
RRO.
[[Dhruv Dhody]] My point of view was that when NAI-only ERO is sent by the PCE, 
the PCC needs to convert that into a viable SID-list based on its database. It 
would make sense for the PCC to report this to the PCE in form of SR-RRO. Thus 
it must contain the SID-index or label. Just returning the NAI-only to the PCE 
may not be that useful. The PCC always needs SID to install in the data plane 
and it is useful to report that to the PCE, thus I still feel we should not 
allow NAI-only in SR-RRO!
But I can live with it if you do not wish to make this change.

[Jon2] I worry the change is destabilizing because it begs further (sensible) 
questions like “do any fielded implementations do it?”, “is there any purpose 
to having NAI in the RRO at all?” or “should we define a new format for SR-RRO 
without the F and S bits?”  Nobody has objected to the RRO format up to this 
point.  So I’m going to leave it in there for now unless I get more pushback 
from the RTGDIR / ADs!



(7) Section 5.5, is METRIC object without bound allowed? I.e. a path 
computation request to optimize MSD valid?

[Jon] Agree this would make sense if the PCC does not impose an MSD.  Changed 
the text to:

NEW
   A PCC MAY request that PCE optimizes an individual path computation
   request to minimize the SID depth of the computed path by using the
   METRIC object defined in [RFC5440].  This document defines a new type
   for the METRIC object to be used for this purpos

Re: [Pce] Shepherd review of draft-ietf-pce-segment-routing-12

2018-08-15 Thread Jonathan Hardwick
Thanks for the review, Dhruv!  I'll think about your comments and get back to 
you SOON (possibly not until after my vacation next week).

Cheers
Jon

From: Dhruv Dhody [mailto:dhruv.dh...@huawei.com]
Sent: Thursday, August 9, 2018 12:36 PM
To: pce@ietf.org
Cc: pce-cha...@ietf.org; draft-ietf-pce-segment-routing@ietf.org; Dhruv 
Dhody 
Subject: Shepherd review of draft-ietf-pce-segment-routing-12

Hi,

I am assigned the shepherded for this document. I have previously given my 
input and liked the direction of the update with the -12 version, but also 
found some new issues.

Disclaimer - I discussed some of the points with the authors F2F during the 
IETF meeting as well.

Major:
***

(1) Though I appreciated the details in the new section 6.2.2. I feel the right 
place for this should be in 'draft-ietf-spring-segment-routing-mpls' because 
the source of the SID stack could be PCEP, BGP or Yang. The text related to the 
interpretation of the SID stack rightly belong in that draft and in this I-D 
should just refer it (and specify the PCEP specific error handling and 
procedures only).  I hope the chairs and AD of the WG could conclude on that. 
We could initiate a separate thread to discuss this point with spring chairs/AD.

(2) The change of the field ST (SID type) to NT (NAI type) was done in the last 
update. This change was done in the -12 version with the expectation that this 
is just a name change and would have no other impact. But since NAI is optional 
and might not be included, and in that case one would not be able to interpret 
what the SID represents when NAI is not provided. Though, it might be possible 
to find that information via searching the local database, there is no apparent 
benefit in making this change and limiting the knowledge of the SID type only 
when NAI is included.

Changes would be needed in various places including Section 6.2.1.

(3) There is no mention of the SR policy in the draft. This is a source of 
confusion, so a reference and relationship between them should be added in the 
Introduction.

(4) I think we should enhance the security consideration section 9 a little bit 
more. Since a label stack can be pushed directly for the PCE, this would have a 
bigger security impact then a path that gets further signaled by RSVP-TE and 
verified in control plane. We should talk about MSD information as well.

Minor:
***

(1) I am not comfortable with the use of term LSDB, you would note no other SR 
documents uses it either.  SR architecture also allow future innovation in 
control plane especially in the centralized mode. May be we should use the term 
SR-DB introduced by the policy draft? Or a generic term such as local database?

(2) In section 3, it describes the 3 representations for SR-ERO, I have 
following suggestion -
OLD:
   o  An ordered set of IP addresses representing network nodes/links:
  In this case, the PCC needs to convert the IP addresses into the
  corresponding MPLS labels by consulting its Link State Database
  (LSDB).

   o  An ordered set of SIDs, with or without the corresponding IP
  addresses.

   o  An ordered set of MPLS labels and IP addresses: In this case, the
  PCC needs to convert the IP addresses into the corresponding SIDs
  by consulting its LSDB.
NEW:
   o  An ordered set of IP addresses representing network nodes/links.
  In this case, the PCC needs to convert the IP addresses into the
  corresponding MPLS labels by consulting its Link State Database
  (LSDB).

   o  An ordered set of SID index values, with or without the corresponding IP
  addresses. The PCC needs to convert the index into the corresponding
  MPLS label stack as per [I-D.ietf-spring-segment-routing-mpls].

   o  An ordered set of MPLS labels, with or without corresponding IP
  address. The top label in the label stack received from the PCE is
  from the point of view of the ingress PCC and it must follow the
  procedures as described in [I-D.ietf-spring-segment-routing-mpls]
  while pushing the label stack.

The idea behind this is to specify that PCE should prepare the label stack with 
the top label from the point of view of Ingress and label stack might change. 
The change could be an outgoing label change as per the SRGB of neighbor 
towards which the packet is sent; or it could be an adjacency label pop 
identifying the out-interface.
- In section 6.2.1, we should remove this condition requiring NAI MUST be 
present for the first SR-ERO sub-object and corresponding error-code.
- In Section 6.2.2.1, we should update the procedure and the next-hop is not 
identified from the NAI

Regarding the text in section 6.2.2, once the agreement is met to move the text 
to the SR-MPLS document, the text needs to be modified accordingly from the 
point of view of a generic MPLS Control Plane Client (MCC). And we should 
simply refer to it saying PCC is one such client.
Note that 'only NAI' in SR-ERO would 

[Pce] Shepherd review of draft-ietf-pce-segment-routing-12

2018-08-09 Thread Dhruv Dhody
Hi,

I am assigned the shepherded for this document. I have previously given my 
input and liked the direction of the update with the -12 version, but also 
found some new issues.

Disclaimer - I discussed some of the points with the authors F2F during the 
IETF meeting as well.

Major:
***

(1) Though I appreciated the details in the new section 6.2.2. I feel the right 
place for this should be in 'draft-ietf-spring-segment-routing-mpls' because 
the source of the SID stack could be PCEP, BGP or Yang. The text related to the 
interpretation of the SID stack rightly belong in that draft and in this I-D 
should just refer it (and specify the PCEP specific error handling and 
procedures only).  I hope the chairs and AD of the WG could conclude on that. 
We could initiate a separate thread to discuss this point with spring chairs/AD.

(2) The change of the field ST (SID type) to NT (NAI type) was done in the last 
update. This change was done in the -12 version with the expectation that this 
is just a name change and would have no other impact. But since NAI is optional 
and might not be included, and in that case one would not be able to interpret 
what the SID represents when NAI is not provided. Though, it might be possible 
to find that information via searching the local database, there is no apparent 
benefit in making this change and limiting the knowledge of the SID type only 
when NAI is included.

Changes would be needed in various places including Section 6.2.1.

(3) There is no mention of the SR policy in the draft. This is a source of 
confusion, so a reference and relationship between them should be added in the 
Introduction.

(4) I think we should enhance the security consideration section 9 a little bit 
more. Since a label stack can be pushed directly for the PCE, this would have a 
bigger security impact then a path that gets further signaled by RSVP-TE and 
verified in control plane. We should talk about MSD information as well.

Minor:
***

(1) I am not comfortable with the use of term LSDB, you would note no other SR 
documents uses it either.  SR architecture also allow future innovation in 
control plane especially in the centralized mode. May be we should use the term 
SR-DB introduced by the policy draft? Or a generic term such as local database?

(2) In section 3, it describes the 3 representations for SR-ERO, I have 
following suggestion -
OLD:
   o  An ordered set of IP addresses representing network nodes/links:
  In this case, the PCC needs to convert the IP addresses into the
  corresponding MPLS labels by consulting its Link State Database
  (LSDB).

   o  An ordered set of SIDs, with or without the corresponding IP
  addresses.

   o  An ordered set of MPLS labels and IP addresses: In this case, the
  PCC needs to convert the IP addresses into the corresponding SIDs
  by consulting its LSDB.
NEW:
   o  An ordered set of IP addresses representing network nodes/links.
  In this case, the PCC needs to convert the IP addresses into the
  corresponding MPLS labels by consulting its Link State Database
  (LSDB).

   o  An ordered set of SID index values, with or without the corresponding IP
  addresses. The PCC needs to convert the index into the corresponding
  MPLS label stack as per [I-D.ietf-spring-segment-routing-mpls].

   o  An ordered set of MPLS labels, with or without corresponding IP
  address. The top label in the label stack received from the PCE is
  from the point of view of the ingress PCC and it must follow the
  procedures as described in [I-D.ietf-spring-segment-routing-mpls]
  while pushing the label stack.

The idea behind this is to specify that PCE should prepare the label stack with 
the top label from the point of view of Ingress and label stack might change. 
The change could be an outgoing label change as per the SRGB of neighbor 
towards which the packet is sent; or it could be an adjacency label pop 
identifying the out-interface.
- In section 6.2.1, we should remove this condition requiring NAI MUST be 
present for the first SR-ERO sub-object and corresponding error-code.
- In Section 6.2.2.1, we should update the procedure and the next-hop is not 
identified from the NAI

Regarding the text in section 6.2.2, once the agreement is met to move the text 
to the SR-MPLS document, the text needs to be modified accordingly from the 
point of view of a generic MPLS Control Plane Client (MCC). And we should 
simply refer to it saying PCC is one such client.
Note that 'only NAI' in SR-ERO would be a unique feature for PCEP and thus 
section 6.2.2.3 would still be needed.


(2) In section 5.3.1, it says -
An SR-ERO subobject consists of a 32-bit header followed by the SID
   and/or the NAI associated with the SID.

  0   1   2   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-