Il 2020-07-25 19:49, Joel M. Halpern ha scritto:
<chair hat off; speaking only as an individual member of the WG>
In looking at the description of the dyanmic proxy behavior, I was
reminded of a problem that the SFC working group wrestled with and never
resolved to our satisfaction. (In the SFC case, since we were not
specifying the behavior of the proxy, we could leave it to implementors.
This document seems to be more specific.)
As I understand the draft, the dyanicm proxy for a non-SR aware service
function can be handling packets subject ot multiple service policies.
That is desirable. These separate policies will have separate cache
entries. Also good.
But as far as I can tell, the re-attachment of the cached header to the
returned packet (from the non-SR aware SF) is done based on first come,
first cache.
Hi Joel,
I'm speaking as an author of draft-ietf-spring-sr-service-programming-02
(but I do not know if my opinion is agreed by all the authors)
my understanding of the dynamic proxy scenario is that a given "non-SR
aware service function" (aka "legacy VNF") can be associated with a
single Service Chain at a given time
so you can dynamically change the Service Chain by sending a Packet-2
with a different SR policy with respect to Packet-1, but this is meant
to change the Service Chain for the following packets of the flow,
rather than to operate on a packet-by-packet basis
you are right that operating on a packet-by-packet basis leads to
inconsistent behavior!
In draft-ietf-spring-sr-service-programming-02, the following limitation
is associated to the static SR proxy, but it also applies to the dynamic
proxy:
However, a static SR proxy
segment can be used in only one service policy at a time. As opposed
to most other segment types, a static SR proxy segment is bound to a
unique list of segments, which represents a directed SR service
policy. This is due to the cached SR information being defined in
the segment configuration. This limitation only prevents multiple
segment lists from using the same static SR proxy segment at the same
time, but a single segment list can be shared by any number of
traffic flows.
This is he description of the dynamic proxy:
The dynamic proxy is an improvement over the static proxy that
dynamically learns the SR information before removing it from the
incoming traffic.
Maybe it would be better to explicitly clarify that the same limitation
of the static SR proxy is applicable: "only one service policy at a
time"... the difference is that you can change this association
dynamically, e.g. in the order of few seconds but NOT on a
packet-by-packet basis
hope that it clarifies...
ciao
Stefano
What happens if, due to differences in internal processing, packets from
different service policies get swapped in time. So packets go in
Packet-1, Packet-2, but come out Packet-2, Packet-1. The text seems to
result in the proxy reattaching the SR information to the wrong packets?
Am I misreading the text?
Depending upon ones, reading, this may apply to a case where a single
device is service as multiple static proxies for a single non-SR aware
SF. It was not clear if that was intended to be allowed, but if so the
same issue would seem to apply.
Yours,
Joel
<chair hat returning to wherever it belongs.>
_______________________________________________
spring mailing list
spring@ietf.org
https://www.ietf.org/mailman/listinfo/spring
--
*******************************************************************
Stefano Salsano
Professore Associato
Dipartimento Ingegneria Elettronica
Universita' di Roma Tor Vergata
Viale Politecnico, 1 - 00133 Roma - ITALY
http://netgroup.uniroma2.it/Stefano_Salsano/
E-mail : stefano.sals...@uniroma2.it
Cell. : +39 320 4307310
Office : (Tel.) +39 06 72597770 (Fax.) +39 06 72597435
*******************************************************************
_______________________________________________
spring mailing list
spring@ietf.org
https://www.ietf.org/mailman/listinfo/spring