Subject: Re: [tcpm] Milestones changed for tcpm WG

From: Joseph Touch <[email-masked]>
Date: Sun, 2 May 2021 09:30:37 -0700

Hi, all,

I believe there are no known pending issues with this draft; it might be ready for WGLC.

If so, though, there is a question about the corresponding SYN extension option. I would like to submit that as a WG experimental doc at the same time, or, if not, to submit it as an individual experimental doc. Either way, the docs should be linked in the publication process so they can cite each other (even informationally) by RFC number rather than draft name.

Can you let me know how best to proceed?

Thank you,
Joe

> On Feb 10, 2021, at 4:30 AM, IETF Secretariat <[email-masked]> wrote:
> 
> Changed milestone "Submit document on a TCP Extended Data Offset Option to
> the IESG as a Proposed Standard RFC", added draft-ietf-tcpm-tcp-edo to
> milestone.
> 
> URL: https://datatracker.ietf.org/wg/tcpm/about/
> 
> _______________________________________________
> tcpm mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/tcpm

---

From: Yoshifumi Nishida <[email-masked]>
Date: Sun, 2 May 2021 23:31:55 -0700

Hi Joe,

Thanks for bringing this up again.
In my understanding, there was no clear consensus on the interactions with
TSO yet. Or, have we settled?
I thought you'll update the draft for this.

Thanks,
--
Yoshi

On Sun, May 2, 2021 at 9:30 AM Joseph Touch <[email-masked]> wrote:

> If so, though, there is a question about the corresponding SYN extension
> option. I would like to submit that as a WG experimental doc at the same
> time, or, if not, to submit it as an individual experimental doc. Either
> way, the docs should be linked in the publication process so they can cite
> each other (even informationally) by RFC number rather than draft name.
>

---

From: Joseph Touch <[email-masked]>
Date: Mon, 3 May 2021 11:06:18 -0700

Hi, Yoshi,

> On May 2, 2021, at 11:31 PM, Yoshifumi Nishida <[email-masked]> wrote:
> 
> Hi Joe,
> 
> In my understanding, there was no clear consensus on the interactions with TSO yet. Or, have we settled?

I don’t understand what “consensus” would mean.

TSO isn’t a standard; it’s an implementation, i.e., which ought to follow the TCP standards.

Nothing we’re doing deviates from how standards-compliant implementations handle options. However, if an implementation incorrectly ignores unknown options, then it would could be problematic for this approach, as well as others.

> I thought you'll update the draft for this. 

I’m not sure what to say about this issue - do you want me to point out the issue with TSO sometimes causing problems because it’s out of spec?

If so, I can do that.

Joe

> 
> Thanks, 
> --
> Yoshi
> 
> On Sun, May 2, 2021 at 9:30 AM Joseph Touch <[email-masked] <mailto:[email-masked]>> wrote:
> Hi, all,
> 
> > On Feb 10, 2021, at 4:30 AM, IETF Secretariat <[email-masked] <mailto:[email-masked]>> wrote:
> > 
> > URL: https://datatracker.ietf.org/wg/tcpm/about/ <https://datatracker.ietf.org/wg/tcpm/about/>
> > 
> > [email-masked] <mailto:[email-masked]>
> > https://www.ietf.org/mailman/listinfo/tcpm <https://www.ietf.org/mailman/listinfo/tcpm>
>

---

From: Yoshifumi Nishida <[email-masked]>
Date: Mon, 3 May 2021 21:10:11 -0700

Hi Joe,

On Mon, May 3, 2021 at 11:06 AM Joseph Touch <[email-masked]> wrote:

> Nothing we’re doing deviates from how standards-compliant implementations
> handle options. However, if an implementation incorrectly ignores unknown
> options, then it would could be problematic for this approach, as well as
> others.
>
> I’m not sure what to say about this issue - do you want me to point out
> the issue with TSO sometimes causing problems because it’s out of spec?
>
> If so, I can do that.
>
>
I think that would be helpful for the doc. But, I also think this doc
should have a clear vision on the interaction with TSO beforehand.
I think we should have a consensus on this point such as:

* EDO should not be used with TSO
* It's fine to use EDO with TSO in any circumstances.
* it's fine to use EDO with TSO under a certain conditions
* The draft does not need to specify anything for TSO as it's out of scope
of the doc.

Thanks,
--
Yoshi

---

From: Joe Touch <[email-masked]>
Date: Mon, 3 May 2021 21:47:58 -0700

Yoshi,

> On May 3, 2021, at 9:10 PM, Yoshifumi Nishida <[email-masked]> wrote:
> 
> Hi Joe,
> 
> I think that would be helpful for the doc. But, I also think this doc should have a clear vision on the interaction with TSO beforehand. 
> * The draft does not need to specify anything for TSO as it's out of scope of the doc.

These are not decisions for the WG. TSO isn’t a single thing; it’s a nickname for an implementation optimization.  Like all such optimizations, it’s always fine when it complies with specs and not when it doesn’t.

I.e., everything stated above is equally possible if you replace “TSO” with “Linux”.

It is out of scope for the WG to state anything about either (TSO or Linux) other then “it’s ok if it complies with secs and not when it doesn’t”.

This is not the doc to point out that TSO (or any other implementation) sometimes breaks TCPs rules or that these, like all options, put TCP behavior at risk when that happens.

Joe

---

From: Joseph Touch <[email-masked]>
Date: Tue, 4 May 2021 09:59:06 -0700

PS ---

> On May 3, 2021, at 9:47 PM, Joe Touch <[email-masked]> wrote:
> 
> Yoshi,
>> ...

FWIW, Sec 5.3 already indicates this.

Joe

---

From: "Scharf, Michael" <[email-masked]>
Date: Tue, 4 May 2021 19:20:55 +0000

Hi Joe,

As far as I can see, the relevant section in draft-ietf-tcpm-tcp-edo-10 is:

   Implementers need to be careful about the potential for offload
   support interfering with this option. The EDO data needs to be
   passed to the protocol stack as part of the option space, not
   integrated with the user segment, to allow the offload to
   independently determine user data segment boundaries and combine
   them correctly with the extended option data. Some legacy hardware
   receive offload engines may present challenges in this regard, and
   may be incompatible with EDO where they incorrectly attempt to
   process segments with unknown options. Such offload engines are part
   of the protocol stack and updated accordingly. Issues with incorrect
   resegmentation by an offload engine can be detected in the same way
   as middlebox tampering.

In that paragraph, as non-native speaker, I don’t understand the sentence “Such offload engines are part of the protocol stack and updated accordingly.”

Maybe I miss something, but if there are potential issues with offloading, that could be described more explicitly and more clearly. In that case, more warning signs could be put in place at more prominent places in the document, too.

Personally, I would not be surprised if certain ways of offloading were more common than middlebox tampering. Well, I don’t know. Anyway, if that was true, a discussion regarding offloading might actually be more important than middlebox tempering.

Just as a random data point, if I were an implementer, I would probably expect a dedicated section regarding offloading, or something like that. And I would probably _not_ use the term “middlebox” when searching in the Web for material related to TSO…

My 2 cents

Michael

From: Joe Touch <[email-masked]>
Sent: Tuesday, May 4, 2021 6:48 AM
To: Yoshifumi Nishida <[email-masked]>
Cc: tcpm IETF list <[email-masked]>; tcpm-chairs <[email-masked]>
Subject: Re: [tcpm] Milestones changed for tcpm WG

Yoshi,

On May 3, 2021, at 9:10 PM, Yoshifumi Nishida <[email-masked]<mailto:[email-masked]>> wrote:

Hi Joe,

On Mon, May 3, 2021 at 11:06 AM Joseph Touch <[email-masked]<mailto:[email-masked]>> wrote:
Hi, Yoshi,

On May 2, 2021, at 11:31 PM, Yoshifumi Nishida <[email-masked]<mailto:[email-masked]>> wrote:

Hi Joe,

If so, I can do that.

Joe

Thanks,
--
Yoshi

_______________________________________________
tcpm mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/tcpm

---

From: Joseph Touch <[email-masked]>
Date: Tue, 4 May 2021 13:26:31 -0700

Hi, Michael,

Below, yes - the text could be more clear.

I think what might best be said, in short, would be:

- some TSOs (like some middle boxes, though a separate issue) may not deal with this option properly (like any unknown option)
- we have a method to detect that but, like all protocols, don’t anticipate using it all the time just to detect implementations that don’t follow the specs

So yes, the text could be revised (and will be). I think that’s a little different from a WG consensus call on whether to endorse misbehaving TSOs as something we should either endorse or design against in the default case.

Joe

> On May 4, 2021, at 12:20 PM, Scharf, Michael <[email-masked]> wrote:
> 
> Hi Joe,
>  
> From: Joe Touch <[email-masked] <mailto:[email-masked]>> 
> To: Yoshifumi Nishida <[email-masked] <mailto:[email-masked]>>
> Cc: tcpm IETF list <[email-masked] <mailto:[email-masked]>>; tcpm-chairs <[email-masked] <mailto:[email-masked]>>
> On May 3, 2021, at 9:10 PM, Yoshifumi Nishida <[email-masked] <mailto:[email-masked]>> wrote:
> 
> 
> Hi Joe,
>  
> On Mon, May 3, 2021 at 11:06 AM Joseph Touch <[email-masked] <mailto:[email-masked]>> wrote:
> Hi, Yoshi,
> 
> 
> On May 2, 2021, at 11:31 PM, Yoshifumi Nishida <[email-masked] <mailto:[email-masked]>> wrote:
>  
> Hi Joe,
>

---

From: "Scharf, Michael" <[email-masked]>
Date: Wed, 5 May 2021 08:57:23 +0000

Hi Joe,

Adding more explicit text would improve the document.

And I suggest avoiding a discussion whether certain offloading mechanisms indeed follow the TCP specification, or not. Offloading seems to be a widely used technology. It is simply not our (i.e., the IETF’s) job to make judgement calls about design decisions of implementers.

IMHO it is just sufficient to clearly describe in the EDO specification any known issues and potential mitigation strategies.

Michael

From: Joseph Touch <[email-masked]>
Sent: Tuesday, May 4, 2021 10:27 PM
To: Scharf, Michael <[email-masked]>
Cc: Yoshifumi Nishida <[email-masked]>; tcpm IETF list <[email-masked]>; tcpm-chairs <[email-masked]>
Subject: Re: [tcpm] Milestones changed for tcpm WG

Hi, Michael,

Joe

On May 4, 2021, at 12:20 PM, Scharf, Michael <[email-masked]<mailto:[email-masked]>> wrote:

Hi Joe,

My 2 cents

Michael

From: Joe Touch <[email-masked]<mailto:[email-masked]>>
Sent: Tuesday, May 4, 2021 6:48 AM
To: Yoshifumi Nishida <[email-masked]<mailto:[email-masked]>>
Cc: tcpm IETF list <[email-masked]<mailto:[email-masked]>>; tcpm-chairs <[email-masked]<mailto:[email-masked]>>
Subject: Re: [tcpm] Milestones changed for tcpm WG

Yoshi,

Hi Joe,

Hi Joe,

If so, I can do that.

Joe

Thanks,
--
Yoshi

---

From: Joseph Touch <[email-masked]>
Date: Fri, 7 May 2021 09:49:27 -0700

Hi, Michael,

> On May 5, 2021, at 1:57 AM, Scharf, Michael <[email-masked]> wrote:
> 
> Hi Joe,
>  

Although I completely agree, but not calling out such flaws as errors opens the door to them later leaking into BCPs, “X considered harmful/fragile”, or even standards revision.

The point is that TSO is supposed to follow TCP specs, not the other way around. TSO is not a TCP spec.

> IMHO it is just sufficient to clearly describe in the EDO specification any known issues and potential mitigation strategies.

We also need to remember that “mitigation” includes indicating where errors occur and fixing them.

I’ll put in some text and we can debate it ;-)

Joe

> On May 4, 2021, at 12:20 PM, Scharf, Michael <[email-masked] <mailto:[email-masked]>> wrote:
>  
> Hi Joe,
>