Joe,

On 21/06/17 23:46, Joe Touch wrote:

Hi, Bob,


On 6/19/2017 10:41 AM, Bob Briscoe wrote:
Joe,

On 19/06/17 13:45, Joe Touch wrote:

Hi, Bob,

On 6/19/2017 4:37 AM, Bob Briscoe wrote:
Joe,

[Cutting the distr to nvo3 and adding tsvwg.]

On 16/06/17 20:38, Joe Touch wrote:

Hi, Bob,

This approach seems to assume an integrated implementation of multiple protocol layers.

There are other cases where the "shim" is added indirectly, as a packet is "tunneled" independently over multiple protocols.


So what aspect of the following para (in S.3.1) does not include the case(s) you are thinking of:
    In some cases a tunnel adds an outer IP header and a tightly coupled
    shim header to an inner header that is not an IP header, but that in
    turn encapsulates an IP header (or might encapsulate an IP header).
    For instance an inner Ethernet (or other link layer) header might
    encapsulate an inner IP header as its payload.  We call this a
    tightly coupled shim over an encapsulating header.
Can you be more specific? Or perhaps give an example? Or suggest an edit to the above text?

The issue is that the paragraph defines "tightly coupled" in terms of "tightly coupled".

AFAICT, "tightly coupled" depends on whether the layers are added all in the same software context or some "peeking" occurs after the shim layer is added but before the final IP.
So I think you are not objecting to the para I quoted above, but to something in the previous para, quoted here:
    In many cases the shim header(s) and the outer IP header are always
    added (or removed) as part of the same process.  We call this a
    tightly coupled shim header.  Processing the shim and outer together
    is often necessary because the shim(s) are not sufficient for packet
    forwarding in their own right; not unless complemented by an outer
    header.
Is the phrase "as part of the same process" the one you are objecting to?
Yes.

The doc is written a bit backwards; it presumes an optimization rather than presuming the safe default.
[BB] Your concern holds if one believes that every RFC is implicitly preceded be the statement "The IETF recommends that you comply with this RFC". In contrast, I believe there is nothing implicit around an RFC. I see an RFC solely as a specification of what an implementer can voluntarily choose to comply with in order to interoperate with others all collectively and voluntarily choosing to add a particular feature to the Internet.

I think some of our previous disagreement have hinged on this difference of opinion on the status of RFCs. If you know of any IETF document that resolves this, pls point to it. Otherwise, discussion of every I-D is going to tend to divert into an argument over this point.


Also, the doc is written based on an implementation hint ('process') rather than a protocol requirement.
[BB] I explained (still in the thread below) that the normative protocol requirements text a little later in the draft is (deliberately) not dependent on this scene-setting paragraph. A common way to write an RFC is to say "We have this sort of stuff in the world. Now here's some normative text that is written more generically so that it applies to that sort of stuff we have just described, as well as more general cases."


IMO, the recommendations should be:

ECN bits MUST be set to a known safe default when an IP layer is added,
EXCEPT if a tunnel is specified as the integrated insertion of multiple layers, then jumping layers to coordinate ECN MAY be valid
[BB] See above. This would be a good way to write this RFC, if it was implicitly surrounded by "The IETF recommends you comply with this RFC". But If implementers reading this RFC are a self-selecting set who are trying to implement ECN tunnelling, then the way it is written is a good way.

Neither is incorrect. But given RFC6040 is already immutably published. and it is written in the latter style, the only style that can be used for an update is the same style.


If so, I have no objection to using an alternative to the word 'process' to avoid the implication that this means specifically one 'process' as defined for the OS in question. It wasn't intended to use the word 'process' so strictly. The more general meaning of 'procedure' or 'routine' was intended.

The main point was that the definition of a shim is something that cannot be used alone to forward a packet to another network address, unless it is complemented by an outer PSN header.

Even when a shim is enough to accomplish such fowarding, if the shim lacks ECN support then ECN information should not be crossing the shim layer (unless the shim isn't really defined as a separate layer, e.g., the example I gave above would state that the tunnel encapsulation isn't shim THEN IP, but shim AND IP as an integrated step).
[BB] I don't disagree. I believe we are still only disagreeing about the implicit status of RFCs ("Commandments" vs. "Points to Voluntarily congregate around").

The difficulty being addressed in this section is that blindly copying an inner ECN field to an outer is unsafe (whether or not you want to support ECN).
Then IMHO that should be your title and focus.
[BB] It is the title, but only of the section. The document as a whole is about what it says in the title of the document: "Propagating Explicit Congestion Notification Across IP Tunnel Headers Separated by a Shim"

The doc reads a bit backwards, more focusing on the optimization of how and when you can do a smart copy across a shim than the basic idea that "this isn't how ECN works".

It's not that you don't say this, it's that a reader would get the reverse impression (i.e., that they should find a way to integrate shim processing to enable this leap, rather than the fact that this is a true exception and not the focus).
That is indeed the impression I would expect a reader to get, given I see readers as a self-selected set who are already motivated to find a way to enable this leap.

BTW, I have not come across an implementation yet that intrinsically cannot do this smart copy to enable ECN (or Diffserv) to leap across a shim. However, I would be surprised if there was not one.


Bob

Joe




_______________________________________________
nvo3 mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/nvo3

--
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/

_______________________________________________
nvo3 mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/nvo3

Reply via email to