Subject: [spring] PHP - Deep Listening (was: RE: Separating issues)

From: Ron Bonica <[email-masked]>
Date: Sat, 7 Dec 2019 12:09:58 +0000

Suresh,

Fair enough. Let's review PHP, with open minds, and see if the motivation merits the proposed behavior....

Assume that an SRv6 node receives the following packet:

  *   IPv6 header. Destination Address == LOCATOR:0x0002 (0x0002 indicates that this is and end with PSP)
  *   IPv6 header. Next Header == Routing Header
  *   Routing header. Routing Type  == SRH
  *   Routing header. Segments Left == 1

According to the NP draft, the nodes should:

  *   Copy SID[0] to IPv6 header. Destination Address
  *   Update IPv6 header. Next Header
  *   Update IPv6 header, Payload Length
  *   Remove the Routing Header

Now that we understand how PHP works, we can compare PHP to a more orthodox alternative. That is, to decrement Segments Left (to 0) and forward the packet without PHP. Downstream nodes SHOULD ignore the SRH, because Segments Left is equal to 0.

The following are possible benefits of PHP:

  *   To save bandwidth on the final segment
  *   To optimize for ASIC some particular ASIC on the destination node, possibly mitigating the effect of a very large SRH
  *   Others?

Do either of these motivations merit the variation from the more orthodox IPv6 processing?

                                                                Ron

Juniper Business Use Only
From: Suresh Krishnan <[email-masked]>
Sent: Saturday, December 7, 2019 2:14 AM
To: 6man <[email-masked]>; SPRING WG <[email-masked]>
Cc: Brian E Carpenter <[email-masked]>; Andrew Alston <[email-masked]>; Ole Troan <[email-masked]>; Ron Bonica <[email-masked]>; [email-masked]; rtg-ads <[email-masked]>; Bob Hinden <[email-masked]>; Fernando Gont <[email-masked]>
Subject: Separating issues (was Re: [spring] We don't seem to be following our processes (Re: Network Programming - Penultimate Segment Popping))

(Apologies up front. I am about to get on a 10 hr flight and will be unable to respond for at least that period)

Hi all,
  Picking the last message in the thread to reply to. It looks to me that there are at least two different (but related) issues being discussed here

a) Spring SRv6 NP behavior (related to the WGLC of that draft)
b) The Header insertion drafts and how to deal with them

I really think that

a) should preferably stay in the spring ML and a pointer to the discussion sent to the 6man mailing list would be in order
b) should preferably stay in the 6man ML

I think the communities for the two drafts are different and I think the discussions can be more focused if the issues are addressed by the relevant wgs. As to what happens if the spring draft hits the IESG and contains text in violation of RFC8200, I had already sent my thoughts about this back in September

https://mailarchive.ietf.org/arch/msg/spring/uA-WxxgBJeMu65SkrKCTL5BJMcU<https://urldefense.com/v3/__https:/mailarchive.ietf.org/arch/msg/spring/uA-WxxgBJeMu65SkrKCTL5BJMcU__;!8WoA6RjC81c!VVaoO_crkvFgYmFJ0jxbrktSCLgt3HBTWrc-PPq5J1uMrJpL9oObm6RakvUsS3u0$>

with the relevant text

"If a draft violates RFC8200 and it hits the IESG for evaluation, I will certainly hold a DISCUSS position until the violations are fixed."

*In my view*, the authors of the SRv6 NP draft have made an effort to address these violations by removing the header insertion from the draft. We can continue discussing whether penultimate hop popping constitutes a violation on the spring mailing list (I intend to respond to Fernando'a mail there).

Thanks
Suresh

On Dec 7, 2019, at 11:07 AM, Fernando Gont <[email-masked]<mailto:[email-masked]>> wrote:

On 6/12/19 23:47, Brian E Carpenter wrote:
Again, comment at the end...
On 07-Dec-19 14:37, Fernando Gont wrote:
On 6/12/19 22:15, Brian E Carpenter wrote:
[...]

and if such a thing is required, an update to RFC8200 should be done.

Why does that follow? Alternatively, draft-ietf-spring-srv6-network-programming could acknowledge that it deviates from RFC8200.

You can deviate from s "should", not from a "must". This is an outright
violation of a spec, rather than a mere "deviation".

Whether that's acceptable would be a question for the IETF Last Call rather than any single WG.

I would expect that a WG cannot ship a document that is violating an
existing spec, where the wg shipping the document is not in a position
of making decisions regarding the spec being violated.

That would be like a waste of energy and time for all.

At the moment, the draft only mentions RFC8200 in a context that discusses neither insertion nor removal of extension headers, which is beside the point. Like draft-voyer, if it describes a violation of RFC8200, shouldn't that be explicit in the text?

There's a lot of jargon in draft-ietf-spring-srv6-network-programming. I can't tell from the jargon whether "insert" means "insert on the fly" and whether "Pop the SRH" means "delete on the fly". Should those terms be clarified before the draft advances?

Well, if it's not clear to you, it would seem to me that the simple
answer would be "yes".

But if "insert" refers to the encapsulating node at the SR domain ingress, it's no problem, and if "pop" simply means doing normal routing header processing, it's no problem. It simply isn't clear in the text, at least not clear to me.

The fact that a folk that has been deeply involved with IPv6 cannot
unequivocally tell what they talking about should be an indication with
respect to how ready the document is to be shipped.

(pop when you are the destination but SL!=0 is essentially 'in the
network removal')

THanks,
--
Fernando Gont
SI6 Networks
e-mail: [email-masked]<mailto:[email-masked]>
PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492

---

From: "[email-masked]" <[email-masked]>
Date: Mon, 9 Dec 2019 15:52:23 +0800

Hi Suresh, Ron and all,

Ron is trying to correct the behaviors for PSP although it should be accepted or not is still under discussion. According to the text in draft-ietf-spring-srv6-network-programming-05, the behaviors for  PSP are as follows, Next Header update and Payload Length update are not mentioned.

S12. Decrement Hop Limit by 1
S13. Decrement Segments Left by 1
S14. Update IPv6 DA with Segment List[Segments Left]
S14.1. If (updated SL == 0) {
S14.2.     Pop the SRH
S14.3. }
S15. Resubmit the packet to the egress IPv6 FIB lookup and transmission to the new destination

I pointed out this in https://mailarchive.ietf.org/arch/msg/spring/o7uJ5BiHY9WKhwL69PwbSVrzw-Q and our dear editor Pablo admitted NH should be updated. However, I don't know why the text in version 5 is not updated accordingly till it goes to WGLC. Comments should be accommodated in the document not merely noted in the list. 

Best Regards,
Zhenqiang Li

[email-masked]
 
From: Ron Bonica
Date: 2019-12-07 20:09
To: Suresh Krishnan; SPRING WG
CC: Andrew Alston; Bob Hinden; Ole Troan; Sander Steffann; Fernando Gont; Brian E Carpenter
Subject: [spring] PHP - Deep Listening (was: RE: Separating issues)
Suresh,
 
Fair enough. Let’s review PHP, with open minds, and see if the motivation merits the proposed behavior….

IPv6 header. Destination Address == LOCATOR:0x0002 (0x0002 indicates that this is and end with PSP)
IPv6 header. Next Header == Routing Header
Routing header. Routing Type  == SRH
Routing header. Segments Left == 1

Copy SID[0] to IPv6 header. Destination Address
Update IPv6 header. Next Header
Update IPv6 header, Payload Length
Remove the Routing Header

 
To save bandwidth on the final segment
To optimize for ASIC some particular ASIC on the destination node, possibly mitigating the effect of a very large SRH
Others?

                                                                Ron

 
 
Hi all,

I really think that 

 
https://mailarchive.ietf.org/arch/msg/spring/uA-WxxgBJeMu65SkrKCTL5BJMcU
 
with the relevant text 
 
"If a draft violates RFC8200 and it hits the IESG for evaluation, I will certainly hold a DISCUSS position until the violations are fixed.”
 
*In my view*, the authors of the SRv6 NP draft have made an effort to address these violations by removing the header insertion from the draft. We can continue discussing whether penultimate hop popping constitutes a violation on the spring mailing list (I intend to respond to Fernando’a mail there).
 
Thanks
Suresh
 
On Dec 7, 2019, at 11:07 AM, Fernando Gont <[email-masked]> wrote:

THanks,
-- 
Fernando Gont
SI6 Networks
e-mail: [email-masked]
PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492

---

From: "Pablo Camarillo (pcamaril)" <[email-masked]>
Date: Mon, 9 Dec 2019 15:18:34 +0000

Zhenqiang Li,

You asked a technical question (https://mailarchive.ietf.org/arch/msg/spring/o7uJ5BiHY9WKhwL69PwbSVrzw-Q) on whether the Next Header value should be updated as part of the PSP processing.
I replied to it in here: https://mailarchive.ietf.org/arch/msg/spring/_Z5W2XMeuwhV9p6gSYPWxMobXHg

Don’t worry, I will include it as part of the next editorial update.

Regards,
Pablo.

From: spring <[email-masked]> on behalf of "[email-masked]" <[email-masked]>
Date: Monday, 9 December 2019 at 08:53
To: Ron Bonica <rbonica=[email-masked]>, Suresh Krishnan <[email-masked]>, "[email-masked]" <[email-masked]>
Cc: Andrew Alston <[email-masked]>, Bob Hinden <[email-masked]>, Ole Troan <[email-masked]>, Sander Steffann <[email-masked]>, Fernando Gont <[email-masked]>, Brian E Carpenter <[email-masked]>
Subject: Re: [spring] PHP - Deep Listening (was: RE: Separating issues)

---

From: Brian E Carpenter <[email-masked]>
Date: Tue, 10 Dec 2019 08:57:02 +1300

> S14.1. If (updated SL == 0) {

neither "updated SL" nor "Pop the SRH" is well defined in the text, so we simply cannot tell whether RFC8200 is violated.

Regards
   Brian

On 09-Dec-19 20:52, [email-masked] wrote:
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> [email-masked]
> 
>      
>     *From:* Ron Bonica <mailto:rbonica=[email-masked]>
>     *Date:* 2019-12-07 20:09
>     *To:* Suresh Krishnan <mailto:[email-masked]>; SPRING WG <mailto:[email-masked]>
>     *CC:* Andrew Alston <mailto:[email-masked]>; Bob Hinden <mailto:[email-masked]>; Ole Troan <mailto:[email-masked]>; Sander Steffann <mailto:[email-masked]>; Fernando Gont <mailto:[email-masked]>; Brian E Carpenter <mailto:[email-masked]>
>     *Subject:* [spring] PHP - Deep Listening (was: RE: Separating issues)
> 
>     Suresh,
> 
>      
> 
>     *From:* Suresh Krishnan <[email-masked]>
>     *Sent:* Saturday, December 7, 2019 2:14 AM
>     *To:* 6man <[email-masked]>; SPRING WG <[email-masked]>
>     *Cc:* Brian E Carpenter <[email-masked]>; Andrew Alston <[email-masked]>; Ole Troan <[email-masked]>; Ron Bonica <[email-masked]>; [email-masked]; rtg-ads <[email-masked]>; Bob Hinden <[email-masked]>; Fernando Gont <[email-masked]>
>     *Subject:* Separating issues (was Re: [spring] We don't seem to be following our processes (Re: Network Programming - Penultimate Segment Popping))
> 
>      
> 
>     https://mailarchive.ietf.org/arch/msg/spring/uA-WxxgBJeMu65SkrKCTL5BJMcU <https://urldefense.com/v3/__https:/mailarchive.ietf.org/arch/msg/spring/uA-WxxgBJeMu65SkrKCTL5BJMcU__;!8WoA6RjC81c!VVaoO_crkvFgYmFJ0jxbrktSCLgt3HBTWrc-PPq5J1uMrJpL9oObm6RakvUsS3u0$>
> 
>      
> 
>     with the relevant text 
> 
>      
> 
>         On Dec 7, 2019, at 11:07 AM, Fernando Gont <[email-masked] <mailto:[email-masked]>> wrote:
> 
>          
> 
>         e-mail: [email-masked] <mailto:[email-masked]>

---

From: Fernando Gont <[email-masked]>
Date: Mon, 9 Dec 2019 15:36:45 -0500

> neither "updated SL" nor "Pop the SRH" is well defined in the text, so we simply cannot tell whether RFC8200 is violated.

Fully agree.

Rumor has it that "updated SL" is the SL that the packet would use if it
were to be forwarded. And "Pop the SRH" is "remove the SRH". So
essentially the Penultimate Hop/Segment is getting rid of the SRH that
actually the next segment should be processing (hence the name of the
mechanism).

That said, of course the fact of having to resort to "assumptions" or
"rumors" is kind of antagonistic to the meaning of "specification". So I
agree with you.

Thanks,

---

From: "[email-masked]" <[email-masked]>
Date: Tue, 10 Dec 2019 14:15:34 +0800

Why not modified the text first and then went to WGLC? I don't think this is the proper way to respect the comments and suggestions from the community. Time of all of us is valuable. Why do we have to repeat the quesiton again and again resulting no change in the draft? BTW I don't think this is an editorial comment either.

Zhenqiang Li

[email-masked]
 
From: Pablo Camarillo (pcamaril)
Date: 2019-12-09 23:18
To: [email-masked]; [email-masked]
Subject: Re: [spring] PHP - Deep Listening (was: RE: Separating issues)
Zhenqiang Li,

 
Regards,
Pablo.