Subject: Re: [spring] WG Last Call draft-ietf-spring-nsh-sr

From: <[email-masked]>
Date: Tue, 8 Jun 2021 16:18:46 +0000

Hi Jim,

Thanks for your reply.
Please see inline [Bruno]

From: spring [mailto:[email-masked]] On Behalf Of James Guichard
Sent: Tuesday, May 18, 2021 5:13 PM
To: DECRAENE Bruno TGI/OLN <[email-masked]>; [email-masked]
Cc: [email-masked]
Subject: Re: [spring] WG Last Call draft-ietf-spring-nsh-sr

Hi Bruno,

Following up on this. Please see inline.

From: [email-masked]<mailto:[email-masked]> <[email-masked]<mailto:[email-masked]>>
Sent: Tuesday, February 9, 2021 1:41 PM
To: [email-masked]<mailto:[email-masked]>
Cc: [email-masked]<mailto:[email-masked]>
Subject: RE: WG Last Call draft-ietf-spring-nsh-sr

Hi authors, WG,

Speaking as the shepherd.

Thanks for the -04 which answer my previous set of comments.

I've reviewed the document again, focusing on the new text. Please find below some additional comments.

===
SR-MPLS  §6.1

" At the end of the SR-MPLS path it is necessary to provide an
   indication to the tail-end that NSH follows the SR-MPLS label stack
   as described by [RFC8596]."

My understanding is that RFC8596 performs the above goal by adding an SFF label at the bottom of the stack. In which case it would not be mandatory to disable Penultimate Hop Popping on the prefix SID as draft-ietf-spring-nsh-sr-04 is mandating.

I"m seeing two options that you could either choose from or describe both:
- a prefix SID dedicated to NSH. In which case PHP needs to be disabled and there is no need for the SFF label specified in RFC8596 (alternatively, this prefix SID is _the_ SFF label defined in RFC8596, although 8596 refers to a local label(segment) while usually a prefix SID is a global segment)
- use a multi-purpose prefix SID. In which case, indeed " At the end of the SR-MPLS path it is necessary to provide an  indication to the tail-end that NSH follows the SR-MPLS label stack  as described by [RFC8596].

Jim> I believe this is clarified in -v05. The new text says:

   As described in [RFC8402], the IGP signaling extension for IGP-Prefix
   segment includes a flag to indicate whether directly connected
   neighbors of the node on which the prefix is attached should perform
   the NEXT operation or the CONTINUE operation when processing the SID.
   When NSH is carried beneath SR-MPLS it is necessary to terminate the
   NSH-based SFC at the tail-end node of the SR-MPLS label stack.  This
   is the equivalent of MPLS Ultimate Hop Popping (UHP) and therefore
   the prefix-SID associated with the tail-end of the SFC MUST be
   advertised with the CONTINUE operation so that the penultimate hop
   node does not pop the top label of the SR-MPLS label stack and
   thereby expose NSH to the wrong SFF.  This is realized by setting No-
   PHP flag in Prefix-SID Sub-TLV [RFC8667], [RFC8665].  It is
   RECOMMENDED that a specific prefix-SID be allocated at each node for
   use by the SFC application for this purpose.

   Alternatively, if NEXT operation is performed, then at the end of the
   SR-MPLS path it is necessary to provide an indication to the tail-end
   that NSH follows the SR-MPLS label stack as described by [RFC8596].

So there are two options as you indicate above. 1) use the prefix segment as the indicator as described by the 1st paragraph in the new text, or 2) use an SFF label as described by the second paragraph.

[Bruno] There are two options but the text currently says that the first option MUST be used ("the prefix-SID associated with the tail-end of the SFC MUST be advertised with the CONTINUE operation") which seems to nullifies the second paragraph ("Alternatively, ").
So may be some rephrasing may be needed to indeed allow both options.

Also
"   At the end of the SR-MPLS path it is necessary to provide an
   indication to the tail-end that NSH follows the SR-MPLS label stack
   as described by [RFC8596]."

In the scheme "SR-based SFC", "the end of the SR-MPLS" is only the last SF (not all other SF on the SF chain).
So how does others SFC have an indication that the NSH follows the SR-MPLS label stack?
Alternatively something along :s/ end of the SR-MPLS path/for all the SF along the SR-MPLS path

Jim> as far as I can tell "other SFC" do not need an indication as the prefix SID has End.NSH action so they will remove and cache the SR stack and forward the NSH packet to the SF associated with the prefix SID.

[Bruno] OK for SRv6.

For SR-MPLS, how does this work? Draft says "In the case of SR-MPLS this will be a prefix SID [RFC8402<https://datatracker.ietf.org/doc/html/rfc8402>]"

 - Can it use the "regular" prefix SID? (draft only says that It is RECOMMENDED that a specific prefix-SID be allocated at each node for use by the SFC application for this purpose.)

 - If not, does it needs a specific & dedicated IP address? (RFC8402 seem to mandate that a Prefix Segment be an IGP prefix segment and that a single prefix-SID be advertised per tuple <prefix, topology, algorithm>

 - How does the ingress know that this Prefix SID is to be used for SR-based SFC? And only to be used for SR-based SFC?

===
This document defines two schemes: NSH-based SFC and SR-based SFC.

§5 is called "Packet Processing Details" but seems to only cover SRv6 and  the "SR-based SFC" scheme.

Jim> I will change the title to reflect these details are only applicable to SR-based SFC (see below).
[Bruno] OK

If so,
- it would be good if the title/section hierarchy could reflect this.

Jim> done (see below).
[Bruno] I'm assuming that this is 'done' in your local repo as I'm not seeing the change https://datatracker.ietf.org/doc/html/draft-ietf-spring-nsh-sr#section-5

- what about the behavior for SR-MPLS with the "SR-based SFC" scheme (a priori with SR-MPLS you equally need a cache in order to re-push the SR-MPLS header)

Jim> for SR-MPLS the label semantics indicates the same processing logic. I added some text and broke up the SR-based SFC packet processing section to make this clearer.
[Bruno] Ack but again, I'm not seeing the text so I don't know how much this cover my point. Could you publish your local version?

====
§4
For "SR-based SFC", my understanding is that the Service Chain (ordered list of SF) is specified in the list of segments.
Please forgive my lack of NSH knowledge, but it seems to me that the NSH SPI look up may return multiple next-hop within a service path for a given SF (e.g. for load balancing). (cf table 4 of RFC 8600).

Jim> yes that is true.

Here, if the NSH SPI change the SFC next-hop, the SR header on the packet will be completely wrong (well most probably the list of segment will override the choice from the NSH SPI look up). Is this a correct understanding?

Jim> no. The SR header is removed before the packet is forwarded to the SF so the SF next-hop is not relevant at the SFF when packets return as a lookup on the SPI will be performed (note: SPI does not change regardless of SF next-hop).
[Bruno] My original question was related to reclassification and branching but Greg raised the same question and you replied to him. So this close my question.

If so is this a bug or a feature? Either way, may be some text would need to be added. e.g. to warn that such SFC feature is not available anymore.

=====
Nits:
- I'm not a fan of the use of the term "details" which to me are "specifications". (e.g. "5. Packet Processing Details", "6. Encapsulation Details", "encapsulation details")

Jim> I can change "Encapsulation Details" to simply "Encapsulation", and "Packet Processing Details" to "Packet Processing for SR-based SFC". Would that satisfy your comment?
[Bruno] Yes, thank you.
--Bruno

- ID Nits still reports one error (**) on the new text (in the abstract).
https://tools.ietf.org/idnits?url=https://tools.ietf.org/id/draft-ietf-spring-nsh-sr-04.txt

Thanks,
Regards,
--Bruno

From: spring [mailto:[email-masked]] On Behalf Of [email-masked]<mailto:[email-masked]>
Sent: Tuesday, February 9, 2021 7:31 PM
To: [email-masked]<mailto:[email-masked]>
Cc: [email-masked]<mailto:[email-masked]>
Subject: [spring] WG Last Call draft-ietf-spring-nsh-sr

Dear WG,

This message starts a 2 weeks WG last call for draft-ietf-spring-nsh-sr [1].

After review of the document please indicate whether you believe this document should be progressed to the IESG.

In addition to yes/no, please consider providing a technical review of this document; in particular if you care for this document.
Indeed, since WG adoption, this document had benefited from little reviews from the WG, so we need more review from the SPRING WG.

If you are aware of an implementation of this document, please report the implementation either on the list or to the chairs so that the shepherd can report implementations in the writeup.

Note that I'll forward that call to the SFC WG.

Thanks!

[1] https://tools.ietf.org/html/draft-ietf-spring-nsh-sr<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Fdraft-ietf-spring-nsh-sr&data=04%7C01%7Cjames.n.guichard%40futurewei.com%7C8c3e33b9b6bf412042ac08d8cd2a370e%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C0%7C637484928488404203%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=%2FlIPoy63MyqXq2zbGEdJFAsPVXRTIVU1aCXTesNho3I%3D&reserved=0>

--Bruno

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc

pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler

a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,

Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;

they should not be distributed, used or copied without authorisation.

If you have received this email in error, please notify the sender and delete this message and its attachments.

As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.

Thank you.

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc

pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler

a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,

Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;

they should not be distributed, used or copied without authorisation.

If you have received this email in error, please notify the sender and delete this message and its attachments.

As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.

Thank you.

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

---

From: James Guichard <[email-masked]>
Date: Tue, 8 Jun 2021 18:10:50 +0000

Hi Bruno,

Sorry my mistake. I just uploaded my latest version. I will review your other comments and respond soon.

Thanks!

Jim

From: [email-masked] <[email-masked]>
Sent: Tuesday, June 8, 2021 12:19 PM
To: James Guichard <[email-masked]>; [email-masked]
Cc: [email-masked]
Subject: RE: WG Last Call draft-ietf-spring-nsh-sr

Hi Jim,

Thanks for your reply.

To: DECRAENE Bruno TGI/OLN <[email-masked]<mailto:[email-masked]>>; [email-masked]<mailto:[email-masked]>

Hi Bruno,

Hi authors, WG,

===
SR-MPLS  §6.1

Also

[Bruno] OK for SRv6.

For SR-MPLS, how does this work? Draft says "In the case of SR-MPLS this will be a prefix SID [RFC8402<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc8402&data=04%7C01%7Cjguichar%40futurewei.com%7Cdcd09bcf14b84c5ab81608d92a991953%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637587659333473559%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7p4OEBu%2Fztrqd3ZxPPAg0D4bSwgGSptR%2Ba%2FerR7zLkg%3D&reserved=0>]"

===

If so,

Jim> done (see below).
[Bruno] I'm assuming that this is 'done' in your local repo as I'm not seeing the change https://datatracker.ietf.org/doc/html/draft-ietf-spring-nsh-sr#section-5<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-ietf-spring-nsh-sr%23section-5&data=04%7C01%7Cjguichar%40futurewei.com%7Cdcd09bcf14b84c5ab81608d92a991953%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637587659333483555%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=HMyievh8simrbem4zJvqrvnfrx3P7Je7DXzvjopEeEM%3D&reserved=0>

====
§4

Jim> yes that is true.

=====
Nits:

- ID Nits still reports one error (**) on the new text (in the abstract).
https://tools.ietf.org/idnits?url=https://tools.ietf.org/id/draft-ietf-spring-nsh-sr-04.txt<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fidnits%3Furl%3Dhttps%3A%2F%2Ftools.ietf.org%2Fid%2Fdraft-ietf-spring-nsh-sr-04.txt&data=04%7C01%7Cjguichar%40futurewei.com%7Cdcd09bcf14b84c5ab81608d92a991953%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637587659333483555%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=XErzo0kEIPGNaBJBEsVW8XNet1fhMAnKioXNLVOnQl0%3D&reserved=0>

Thanks,
Regards,
--Bruno

Dear WG,

Thanks!

[1] https://tools.ietf.org/html/draft-ietf-spring-nsh-sr<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Fdraft-ietf-spring-nsh-sr&data=04%7C01%7Cjguichar%40futurewei.com%7Cdcd09bcf14b84c5ab81608d92a991953%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637587659333493542%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=qhnFo30cyOipFQF6loQZK1kpI3aj9%2B%2FVyCaIKnFaeXM%3D&reserved=0>

--Bruno

Thank you.

Thank you.

Thank you.

---

From: James Guichard <[email-masked]>
Date: Fri, 18 Jun 2021 14:59:58 +0000

Hi Bruno,

Latest version covers most of your comments I think. Please see inline.

Hi Jim,

Thanks for your reply.

Hi Bruno,

Hi authors, WG,

===
SR-MPLS  §6.1

Jim> Covered in latest version.

Also

[Bruno] OK for SRv6.

Jim> In MPLS (including SR-MPLS) nodes uses labels as they please.  So yes, an SFF that may also be an MPLS switch needs to advertise separate labels to indicate that they are used for SFF processing (looking at the NSH).  As far as I know, MPLS / SR-MPLS has never standardized how this is indicated / coordinated.  By assumption, the PCE / Ingress classifier knows what labels to use.

Jim

---

From: <[email-masked]>
Date: Tue, 22 Jun 2021 12:33:23 +0000

Hi Jim,

Thanks for the latest version and your replies.
Please see inline [Bruno2]

As an aside, I'm waiting for the reviews from the RTG and INT directorate. https://datatracker.ietf.org/doc/draft-ietf-spring-nsh-sr/history/
In the meantime, I'm initiated the shepherd write up.

From: James Guichard [mailto:[email-masked]]
Sent: Friday, June 18, 2021 5:00 PM
To: DECRAENE Bruno INNOV/NET <[email-masked]>; [email-masked]
Cc: [email-masked]
Subject: RE: WG Last Call draft-ietf-spring-nsh-sr

Hi Bruno,

To: James Guichard <[email-masked]<mailto:[email-masked]>>; [email-masked]<mailto:[email-masked]>

Hi Jim,

Thanks for your reply.

Hi Bruno,

Hi authors, WG,

===
SR-MPLS  §6.1

Jim> Covered in latest version.
[Bruno2] In -06, I'm not seeing any change related to this section 6.1

Also

[Bruno] OK for SRv6.

[Bruno2] OK.
--Bruno

Jim

---

From: James Guichard <[email-masked]>
Date: Tue, 22 Jun 2021 13:01:00 +0000

Hi Bruno,

v-07 just posted please check section 6.1 to make sure that it satisfies your comments.

Thanks!

Jim

Sent: Tuesday, June 22, 2021 8:33 AM

Hi Jim,

As an aside, I'm waiting for the reviews from the RTG and INT directorate. https://datatracker.ietf.org/doc/draft-ietf-spring-nsh-sr/history/<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-spring-nsh-sr%2Fhistory%2F&data=04%7C01%7Cjguichar%40futurewei.com%7C83f5845c9b634e4ee24c08d93579ee85%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637599620111594356%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=boupVRw9WQaOYLDIWnW5gN8ZOht89rAwSEtfyO6g0oI%3D&reserved=0>
In the meantime, I'm initiated the shepherd write up.

To: DECRAENE Bruno INNOV/NET <[email-masked]<mailto:[email-masked]>>; [email-masked]<mailto:[email-masked]>

Hi Bruno,

Hi Jim,

Thanks for your reply.

Hi Bruno,

Hi authors, WG,

===
SR-MPLS  §6.1

Also

[Bruno] OK for SRv6.

For SR-MPLS, how does this work? Draft says "In the case of SR-MPLS this will be a prefix SID [RFC8402<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc8402&data=04%7C01%7Cjguichar%40futurewei.com%7C83f5845c9b634e4ee24c08d93579ee85%7C0fee8ff2a3b240189c753a1d5591fedc%7C1%7C1%7C637599620111594356%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=wiA17CTD5o5b3TdxuKJqC6JwJJdRrOZSZ2V4kmTmcKU%3D&reserved=0>]"

Jim

Thank you.