Hi Brian,


It is likely that things are not clear if one were to just try to read the text 
around just the specific section of the draft which covers PSP. The document 
does needs prior understanding of the SR Architecture RFC8402 and SRH draft in 
addition to reading of the entire network programming document as a whole to 
get a full perspective. While we can ask the authors to add text to clarify, it 
is only fair that we (Spring WG members or those in other WGs) as reviewers of 
this draft have done our part in studying the whole thing - then there is no 
mystery and no secrets!



I will try to explain inline below with references to text in drafts (s) inline 
below.



-----Original Message-----
From: ipv6 <ipv6-boun...@ietf.org> On Behalf Of Brian E Carpenter
Sent: 28 February 2020 07:17
To: Stefano Salsano <stefano.sals...@uniroma2.it>; Eric Vyncke (evyncke) 
<evyncke=40cisco....@dmarc.ietf.org>; Warren Kumari <war...@kumari.net>; John 
Leddy <j...@leddy.net>
Cc: SPRING WG List <spring@ietf.org>; 6...@ietf.org; Bob Hinden 
<bob.hin...@gmail.com>; Zafar Ali (zali) <zali=40cisco....@dmarc.ietf.org>
Subject: "penultimate segment" [Re: [spring] Request to close the LC and move 
forward//RE: WGLC - draft-ietf-spring-srv6-network-programming]



Stefano,



The problem is that the draft simply doesn't explain (or refer to an 
explanation) of what this "penultimate segment" is. There are at least three 
hypotheses which I suspect different people are using, leading to this endless 
dialogue:



1) It's a forwarding node, a.k.a. a router, that blindly follows the PSP 
instructions by removing an IPv6 header before forwarding the packet, 
completely against the text of RFC 8200.

[KT] Let me explain with references to text in the draft(s):



It's a router (P router in our example) which has instantiated an SRv6 SID with 
End behaviour with PSP flavour (sec 4.1 to be read along with sec 4.16.1). The 
router may also instantiate other SRv6 SID with different behaviours and 
flavour. These SIDs are then signalled by the router via control plane 
protocols that include its behaviour (sec 8 and then sec 9.2).



Then we come to RFC8402 which describes the source routing model. Here the 
source learns of the SIDs in the network and then using the SID list 
“outsources” the handling to be done for the packet to SRv6 Endpoint Nodes (SRH 
draft sec 3.3). So the routers which are “waypoints” are actually and 
specifically instructed to do the operations that they do by the source node. 
This is fundamental concept of SR that might get missed out.



Then please check out 
https://tools.ietf.org/html/draft-filsfils-spring-srv6-net-pgm-illustration-01#section-2.8.1
 which describes how things are setup and work. This text used to be in the 
networking programming draft but was removed since "they were just examples" 
and not normative specification. So you see that nothing here is "blind" here 
and the source is controlling all the packet processing.



2) It's a node that receives and terminates the packet, and then makes a new 
one with its own address as source and a new (ultimate) destination address, 
which doesn't happen to contain an SRH header at all.

[KT] This is not the case.



3) It's an offload processor in the destination node, that removes some crud 
(the SRH header) before passing the packet up to the IPv6 stack in the host.

[KT] This is one of the use-cases for USP.



At the moment, a reader of the draft who is not familiar with the details of at 
least one SRH implmentation cannot decide which of these hypotheses is correct.



Despite numerous requests, and several new versions, the draft still leaves 
this mystery intact, and is therefore simply not ready for the IESG.

[KT] I can understand your pain, but some of these things are parts of a bigger 
solution and more context is required. The key thing is that there is no secret 
here and I hope I may have been able to help you.



Thanks,

Ketan



So I repeat my request for the draft to explain what it means by "pop" and by 
"penultimate segment". If it turns out that we are in case 2) or 3) above, 
problem solved.



Regards

   Brian Carpenter



On 28-Feb-20 00:42, Stefano Salsano wrote:

> Brian,

>

> Il 2020-02-27 03:29, Brian E Carpenter ha scritto:

>> Stefano,

>> On 27-Feb-20 14:42, Stefano Salsano wrote:

>>> Il 2020-02-27 02:14, Brian E Carpenter ha scritto:

>>>> Eric,

>>>>

>>>> On 27-Feb-20 12:18, Eric Vyncke (evyncke) wrote:

>>>>> Writing this without any hat,

>>>>>

>>>>> Please note that on the logical side, it still have to be "proven" that 
>>>>> this idea is strictly forbidden by RFC 8200.

>>>>

>>>> The draft uses an undefined term ("pop") but it does *explicitly* state in 
>>>> a section called "Penultimate Segment Pop of the SRH":

>>>>

>>>>>> S14.4.      Remove the SRH from the IPv6 extension header chain

>>>>

>>>> If the word "penultimate" means what it means in every dictionary, this is 
>>>> in-flight removal of a header, and that is explicitly against RFC 8200, 
>>>> section 4, first paragraph below the diagram.

>>>

>>> Brian,

>>>

>>> "penultimate segment" means what it means in every dictionary, but

>>> this is not in-fligth removal of a header.

>>>

>>> When the packet has reached the "penultimate segment", it has

>>> reached a node "identified in the Destination Address field of the

>>> IPv6 header" as stated in RFC 8200, section 4, first paragraph below

>>> the diagram

>>

>> So in what sense is it penultimate (i.e. next to last)? If it has

>> reached the destination address,

>

> if the segment list is [S1, S2, S3] (where S1 is the first segment and

> S3 the final destination)

>

> S2 is the penultimate segment and the packet is received by S2 with

> Destination Address = S2, I repeat that at the very end of section 3

> of RFC 8200 the "Destination address" is defined as "address of the

> intended recipient of the packet (possibly not the ultimate recipient,

> if a Routing header is present)"

>

>> what happens next?

>

> next the packet needs to be forwarded to S3

>

>> I understand this for the following case, Ultimate Segment Pop, where

>> the text refers to processing the packet inside the receiving node.

>> But the text is completely lacking an explanation of the

>> "penultimate" case, and I found nothing about it in other SRH documents 
>> either.

>>

>> If I was writing code for this, I would have no idea how to generate

>> a test case.

>>

>> It's also obscure in the text how the node receiving a packet knows

>> which of "PSP, USP and USD flavors" applies. They don't seem to be

>> marked in the packet in any way.

>

> it is not marked in the packet, likewise it is not marked in the

> packet which SRv6 behavior is associated with a SID

>

> Stefano

>

>>

>> It seems to me that there is something blindingly obvious to SRH

>> specialists that is not stated at all in the draft, so the rest of us

>> simply can't make sense of it. It may or may not be a gap in the

>> protocol, but there is definitely a gap in the description.

>>

>>      Brian

>>

>>>

>>> Please note that at the very end of section 3 the "Destination address"

>>> is defined as "address of the intended recipient of the packet

>>> (possibly not the ultimate recipient, if a Routing header is present)"

>>>

>>> Stefano

>>>

>>>>

>>>> It's possible that "penultimate" means something else, e.g. "ultimate". I 
>>>> don't know. I've been puzzling over this language for months and it 
>>>> doesn't change. Maybe someone can finally post an explanation, but until 
>>>> they do, I don't see how any WG Chair could assert rough consensus. An 
>>>> obviously organised +1+1+1+1 campaign is not consensus. I don't know about 
>>>> you, but when I see a message whose only content is "+1" I just delete it.

>>>>

>>>>      Brian

>>>>

>>>>> Moreover, this 'proof' can technically wait until the IETF last call or 
>>>>> even until the IESG ballot. I see little point in postponing the closing 
>>>>> of the WGLC and advancing the document (of course, the document shepherd 
>>>>> will need to carefully write the section about the rough WG consensus).

>>>>>

>>>>> Finally, as far as I know, at the IETF we have no religion... else

>>>>> we would still be running NCP or IPv4 :-)

>>>>>

>>>>> -éric

>>>>>

>>>>> -----Original Message-----

>>>>> From: ipv6 <ipv6-boun...@ietf.org<mailto:ipv6-boun...@ietf.org>> on 
>>>>> behalf of Warren Kumari

>>>>> <war...@kumari.net<mailto:war...@kumari.net>>

>>>>>

>>>>> ...%<...%<....

>>>>>

>>>>>       It doesn't really matter how many people say +1 for moving it 
>>>>> forwards

>>>>>       -- if there are valid technical objections these have to be dealt 
>>>>> with

>>>>>       - and I think that the relationship with RFC8200 falling into this

>>>>>       category...

>>>>>

>>>>>

>>>>>

>>>>> ------------------------------------------------------------------

>>>>> -- IETF IPv6 working group mailing list 
>>>>> i...@ietf.org<mailto:i...@ietf.org>

>>>>> Administrative Requests:

>>>>> https://www.ietf.org/mailman/listinfo/ipv6

>>>>> ------------------------------------------------------------------

>>>>> --

>>>>>

>>>>

>>>> -------------------------------------------------------------------

>>>> - IETF IPv6 working group mailing list i...@ietf.org<mailto:i...@ietf.org> 
>>>> Administrative

>>>> Requests: https://www.ietf.org/mailman/listinfo/ipv6

>>>> -------------------------------------------------------------------

>>>> -

>>>>

>>>

>>>

>>

>

>



--------------------------------------------------------------------

IETF IPv6 working group mailing list

i...@ietf.org<mailto:i...@ietf.org>

Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6

--------------------------------------------------------------------
_______________________________________________
spring mailing list
spring@ietf.org
https://www.ietf.org/mailman/listinfo/spring

Reply via email to