Re: [tcpm] Milestones changed for tcpm WG

"Scharf, Michael" <> Wed, 05 May 2021 08:57 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 931783A18CF; Wed, 5 May 2021 01:57:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Gno0A5T6bY_z; Wed, 5 May 2021 01:57:29 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 41C603A18CB; Wed, 5 May 2021 01:57:28 -0700 (PDT)
Received: from localhost (localhost.localdomain []) by (Postfix) with ESMTP id EDE1225A19; Wed, 5 May 2021 10:57:26 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=mail; t=1620205047; bh=fYG/WcA/5q4fotW5rTpMUbWjeLqAFxa8ZZWe+6TSbI4=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=kV/HGUthJEqeHIK109KxUC2YvFvzMHt4bQVsscVdTqffXis3S0BZMovnDTYXya9L1 CySdQuDtbeQLAsxY4oqM3RwrFzfaRu8ea1mxT+rZPZ55mpg6OibbHSbrqj89wpfnUy jLG7/7DK1Vt095EsdIjzae8XQezYY9x7toUZ/iiI=
X-Virus-Scanned: by amavisd-new-2.7.1 (20120429) (Debian) at
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id r4wPQGXaoA9b; Wed, 5 May 2021 10:57:25 +0200 (CEST)
Received: from ( []) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS; Wed, 5 May 2021 10:57:25 +0200 (CEST)
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 5 May 2021 10:57:23 +0200
Received: from ([fe80::aca4:171a:3ee1:57e0]) by ([fe80::aca4:171a:3ee1:57e0%3]) with mapi id 15.01.2176.012; Wed, 5 May 2021 10:57:23 +0200
From: "Scharf, Michael" <>
To: Joseph Touch <>
CC: Yoshifumi Nishida <>, tcpm IETF list <>, tcpm-chairs <>
Thread-Topic: [tcpm] Milestones changed for tcpm WG
Date: Wed, 5 May 2021 08:57:23 +0000
Message-ID: <>
References: <> <> <> <>
In-Reply-To: <>
Accept-Language: de-DE, en-US
Content-Language: de-DE
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_b6ef493662594409877ca870686d9942hsesslingende_"
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [tcpm] Milestones changed for tcpm WG
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 05 May 2021 08:57:36 -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.


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

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.


On May 4, 2021, at 12:20 PM, Scharf, Michael <<>> wrote:

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


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


On May 3, 2021, at 9:10 PM, Yoshifumi Nishida <<>> wrote:

Hi Joe,

On Mon, May 3, 2021 at 11:06 AM Joseph Touch <<>> wrote:
Hi, Yoshi,

On May 2, 2021, at 11:31 PM, Yoshifumi Nishida <<>> wrote:

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 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.

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.

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.



tcpm mailing list<>