Subject: [spring] General Proxy behavior in SR Service Programming

From: "Joel M. Halpern" <[email-masked]>
Date: Sat, 25 Jul 2020 14:23:09 -0400

<chair hat off for now;  This issue may, depending upon resolution, 
become a chair issue, in which case, I will look at it through a 
different lens.  Heck, I may even disagree with myself.>

Let me start by saying that I understand and support what the draft is 
trying to do.  While I like SFC, I am under no illusions that it is or 
should be the only answer to service chaining / service programming.

Further, I understand what the proxies are for.  They seem necessary. 
To deploy this stuff, we have to be able to work with older equipment. 
Proxies seem the best way to do so.

The document is even clear that  proxy is a new kind of thing.  Good.

In order to do its job, and as I read this document, the SR proxies (of 
various kinds) violate the rules for MPLS processing, SRH processing, 
and IPv6 processing at various points.  They have to.

It seems to me that we need to accept this requirement, and state it 
clearly.  Most likely, this would suggest that we will want some form of 
signoff from the MPLS and 6man working groups that these violations, for 
these specific reasons, are acceptable to the community.  Personally, I 
would rather have the discussion soon, rather than pretending it is a 
non-issue and having the discussion during IETF last call.

Maybe I am misreading, and things are less conflicted.  That would be great.

Yours,
Joel

<chair hat returning to wherever it belongs.>

---

From: "Francois Clad (fclad)" <[email-masked]>
Date: Sun, 26 Jul 2020 19:33:18 +0000

Hi Joel,

Thank you for your email.

A proxy and its associated SF can be seen from the network as a single entity: a packet enters this entity from the network, gets processed by the SF, and exits towards the network. The packet modifications that occur between the entry and exit of this entity are compliant with existing standards.

Whatever happens between the proxy and SF is internal processing and invisible to the network. However, a network operator or controller needs some information about the proxy’s internal behavior to determine an appropriate SID-list through the SF and possibly configure the proxy.

Cheers,
Francois

On 25/07/2020 20:23, "spring on behalf of Joel M. Halpern" <[email-masked] on behalf of [email-masked]> wrote:

    Yours,
    Joel

    _______________________________________________
    spring mailing list
    [email-masked]
    https://www.ietf.org/mailman/listinfo/spring

---

From: Joel Halpern Direct <[email-masked]>
Date: Sun, 26 Jul 2020 15:41:36 -0400

In the shared memory case, indeed, it is very reasonable to look at the 
proxy as an arm of the function.
In SFC, we do look at it (the proxy as an arm of the SF) that way more 
generally.  We can do that because the SFC architecture calls that out.

Given that the other cases do involve network transfer of packets, and 
thus are visible, and given that neither the SR architecture, the MPLS 
architecture, nor the SR architecture call out such things, it seems 
that we need to be explicit.  To be clear, I think it is a very 
reasonable approach.   Much mroe reasonable, for example, than NAT in 
its various incarnations.  All I am asking is that we state explicitly 
that we understand that as an architectural component this violates 
existing rules, and does so over a limited scope so as to preserve the 
desired / needed behavior over the larger scope.  The one thing we may 
need to be clear about is the degree of proximity required between the 
SF and its serving proxy.  If we treat this as legitimate arbitrary 
networking, it gets out of hand.

Yours,
Joel