Subject: [DNSOP] Stuart and I had a discussion about the flow control issue in your DISCUSS (Mirja)

From: Ted Lemon <[email-masked]>
Date: Thu, 2 Aug 2018 14:03:34 -0400

The issue is that turning on TCP_NODELAY doesn't actually do the right
thing, nor does removing the delayed ACK timer.   Both of these are
heuristic solutions that apply across the entire session, and have negative
consequences (which is why they are on by default).

What we need is actually a very small thing, in a sense: the ability to say
"I got the message, and will not be responding to it," so that the existing
heuristic is satisfied in exactly the same way that sending a response
satisfies it.

It's true that on a gigabit ethernet, just turning off the heuristics and
sending whatever we have whenever we have it isn't likely to cause
problems, but this stuff also has to work in home networks and over
wide-area links and even low-bandwidth mobile links, where we can't assume
that we have as much headroom as we do on a gigabit ethernet link.

We think that it is probably worth the IETF thinking about this problem,
yet at the same time that's out of scope for the current work.   But not
talking about the problem at all in the current work means that when the
solution to this problem starts appearing in APIs, which seems likely,
there will be no advice in the document about what the implementation
should do.

What we propose to do therefore is to put in a paragraph that briefly
mentions the issue and says "when unacknowledged messages are received, if
an API is present to inform the TCP layer that no response will be sent,
the responder SHOULD do so."   And then the text from the section as it was
when you put the DISCUSS on it would go in an Appendix, so that it's clear
what's going on.   We can then reference this section in the text telling
the implementation what to do.

Will this satisfy your DISCUSS (assuming that we don't make mistakes in how
we document this)?

---

From: "Mirja Kuehlewind (IETF)" <[email-masked]>
Date: Fri, 3 Aug 2018 00:14:46 +0200

Hi Ted,

thanks for the quick reply and discussion.

> Am 02.08.2018 um 20:03 schrieb Ted Lemon <[email-masked]>:
> 
> The issue is that turning on TCP_NODELAY doesn't actually do the right thing, nor does removing the delayed ACK timer.   Both of these are heuristic solutions that apply across the entire session, and have negative consequences (which is why they are on by default).
> 
> What we need is actually a very small thing, in a sense: the ability to say "I got the message, and will not be responding to it," so that the existing heuristic is satisfied in exactly the same way that sending a response satisfies it.
> 
> It's true that on a gigabit ethernet, just turning off the heuristics and sending whatever we have whenever we have it isn't likely to cause problems, but this stuff also has to work in home networks and over wide-area links and even low-bandwidth mobile links, where we can't assume that we have as much headroom as we do on a gigabit ethernet link.
> 
> We think that it is probably worth the IETF thinking about this problem, yet at the same time that's out of scope for the current work.   But not talking about the problem at all in the current work means that when the solution to this problem starts appearing in APIs, which seems likely, there will be no advice in the document about what the implementation should do.
> 
> What we propose to do therefore is to put in a paragraph that briefly mentions the issue and says "when unacknowledged messages are received, if an API is present to inform the TCP layer that no response will be sent, the responder SHOULD do so."   And then the text from the section as it was when you put the DISCUSS on it would go in an Appendix, so that it's clear what's going on.   We can then reference this section in the text telling the implementation what to do.
> 
> Will this satisfy your DISCUSS (assuming that we don't make mistakes in how we document this)?

Yes, please proceed and make the changes. I guess we can work on the wording if you have text and if needed but moving it to the appendix makes it less critical and is probably the right thing to do.

Thanks!
Mirja

---

From: Ted Lemon <[email-masked]>
Date: Thu, 2 Aug 2018 18:18:57 -0400

Great, thanks!

On Thu, Aug 2, 2018 at 6:14 PM, Mirja Kuehlewind (IETF) <[email-masked]
> wrote:

> > What we need is actually a very small thing, in a sense: the ability to
> say "I got the message, and will not be responding to it," so that the
> existing heuristic is satisfied in exactly the same way that sending a
> response satisfies it.
> >
> > It's true that on a gigabit ethernet, just turning off the heuristics
> and sending whatever we have whenever we have it isn't likely to cause
> Yes, please proceed and make the changes. I guess we can work on the
> wording if you have text and if needed but moving it to the appendix makes
> it less critical and is probably the right thing to do.
>
> Thanks!
> Mirja
>
>
>
>