[PATCH] Using TCP_NODELAY unconditionally

Rick Jones raj at cup.hp.com
Wed Jan 23 05:49:29 EST 2002


[i'm going to start assuming that individual email addresses are on
the mailing list(s) already and will start trimming them so people
don't get double copies...]
> Yes, agreed. Unfortunately these SSH pipes sometimes come associated
> with an interactive character based session, where Nagle is
> appropriate.
Yep, for example, nagle was put in place for things like telnet
sessions :) Where that breaks-down is when you have apps on either
side that say send multi-byte escape sequences as individual
single-byte sends to the transport. So, someone hits the down arrow
and it takes "forever" to scroll through a screen. Then of course,
those same users use an app that does a thousand separate putc()'s and
they wonder why their network came to a screeching halt... oy.
So, the users beat-up on the telnet providers who then are
strong-armed into seting TCP_NODELAY. 
I suspect that any attempt by ssh to "fix" that behaviour by the end
systems will only run into trouble, so I suspect that it needs to err
(bletch) on the side of setting TCP_NODELAY (I cannot beleive I'm
saying it, but I am). HOWEVER, ssh code must not gratuitously further
break-up the data stream, and if there are cases where the ssh code
can put two otherwise unrelated but small ssh messages and give them
to the transport at one time, that would be goodness.
rick jones



More information about the openssh-unix-dev mailing list