Il 2021-10-14 01:24, John Scudder ha scritto:
Hi Robert,

My question doesn’t have anything to do with “classic ASIC design”. Indeed if you look at the definitions I supplied they don’t say anything at all about how the router is implemented, the nature of the control plane including whether there is one, and indeed are very broad. I would say they are general enough to encompass everything you described.

As best I can tell, “adding new flavo[u]rs” or “adding new behaviors” is just a different way of saying “making a change to the local, per-router function that determines how a datagram arriving on a router input port is forwarded to a router output port”. That is to say, by definition it is a change to the forwarding plane.

I tried to motivate this with the for-instance in my fourth paragraph: can my plain-vanilla RFC 8754 network successfully forward a packet that uses cSIDs? Or does it need new software, at the nodes identified by the SIDs contained in the cSID, in order to supply support for the “new flavor” or “new behavior”? If it needs new software, then it seems self-evident to me that it’s a change to the forwarding plane — it “looks like a duck, swims like a duck, and quacks like a duck”.[*]

Hi John,

I agree that the statement "this solution does not require any SRH data plane change" needs to be clarified, also because there is no formal definition of a "data plane", hence it is even more vague the "SRH data plane".

My understanding of "SRH data plane" here is the combination of RFC 8754 AND RFC 8986 (SRv6 Network Programming).

The second sentence in the draft says:
"SRv6 Network Programming [RFC8986] defines a framework to build a network program with topological and service segments carried in a Segment Routing header (SRH) [RFC8754]."

So I think the context of the draft is SRv6 Network programming... in this context the basic idea is that you can add new features (i.e. new instructions) in specific nodes and add the "network program" in the packet header so that you know in advance which nodes will execute which instructions.

In this way you can include in your network a mix of "legacy" RFC 8754 nodes (that do not need to implement the new features) and nodes that support the new features (e.g. the CSID flavours).

I think this gives a reasonable interpretaion of "does not require any SRH data plane change"... though I agree it could be better explained

ciao
Stefano


Thanks,

—John

[*] https://en.wikipedia.org/wiki/Duck_test <https://en.wikipedia.org/wiki/Duck_test>

On Oct 13, 2021, at 6:57 PM, Robert Raszuk <rob...@raszuk.net <mailto:rob...@raszuk.net>> wrote:


Hi John,

I think the crux of the matter is indeed in definition of "SRH data plane". So let me present my own personal understanding of it.

Clearly SRH external format does not change so hardware's ability to read SRH remains intact. IPv6 packet's header also can be read and processed by network elements which have no idea about cSIDs so that as well is not questionable.

Now your definition of data plane is sound if you consider traditional data planes of network elements when control plane input set's forwarding behaviour.

Well in SRH as you know we have SIDs which inside may contain functions. So forwarding behavior is not pre programmed from control plane, but can and often is embedded in the actual packets. That is what real network programming is all about. And each function can have zoo of also nested arguments all resulting in different forwarding outcome.

With such definition of SRH data plane I do not see anything new in adding few new flavours to existing behaviours or even adding new behaviours.

Now the question is do we all see SRH data plane in the same way. Maybe it is way ahead of our times and classic ASIC design ? And I am in no way judging here if this is good or bad - I am just observing the facts and already published RFCs.

Many thx,
Robert

PS. And I do agree with your inline comment that cSIDs should be possible to be used without SRH if no special functions are needed at each segment endpoint.

On Thu, Oct 14, 2021 at 12:28 AM John Scudder <j...@juniper.net <mailto:j...@juniper.net>> wrote:

    Hi Folks,

    I’m struggling with the claim repeated throughout the beginning of
    draft-filsfilscheng-spring-srv6-srh-compression-02 (Abstract, §1,
    §3) that “this solution does not require any SRH data plane change”.

    I’m not aware of a standardized formal definition of “data plane”,
    it seems to follow Justice Stewart’s maxim of “I know it when I
    see it”. However, here’s an attempt, cribbed from some Washington
    University course slides: a “local, per-router function that
    determines how a datagram arriving on a router input port is
    forwarded to a router output port”. Seems reasonable.

    I also am not aware of a standardized formal definition of the
    term “SRH data plane”, in fact this draft, its predecessors, some
    associated blog posts, and Clarence’s dissertation, are the only
    places a search finds the phrase (but it’s not formally defined in
    any of them). So I’m just going to assume it means the data plane,
    as applied to packets that include an SRH. (I’m not sure why we
    should disregard packets that are encoded using NEXT-C-SID that
    omit the SRH, but let’s overlook that for now.)

    If this solution does not require any SRH data plane change,
    presumably it would be true that if I take a packet that includes
    an SRH and place within it a series of SIDs encoded with (for
    example) the REPLACE-C-SID flavor, then that packet would be able
    to successfully traverse a network of routers that support plain
    vanilla RFC 8754. That is, it would arrive at its first hop router
    which according to a local, per-router function, would determine
    how to take the datagram arriving on the router input port and
    forward it to (the correct) router output port. Then that process
    would be repeated across the rest of the network.

    But that is patently incorrect: when it’s delivered to the first
    hop, the plain vanilla RFC 8754 router will be unable to apply the
    REPLACE-C-SID behavior, and forwarding to the next hop will fail.
    It seems that a different local, per-router function is required
    (in fact, the local, per-router function defined in the draft) in
    order for the forwarding to succeed. By the definitions I’m using
    here, that is exactly a data plane change.

    What, precisely, is then being claimed?

    Thanks,

    —John



_______________________________________________
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

Reply via email to