From: Martin Zielinski <mz@seh.de>
To: linux-kernel@vger.kernel.org
Subject: Re: TCP Connection times out
Date: Fri, 7 Feb 2003 15:31:53 +0100 [thread overview]
Message-ID: <200302071531.53214.mz@seh.de> (raw)
In-Reply-To: <Pine.LNX.3.95.1030207083742.28526B-100000@chaos.analogic.com>
Thanks for the prompt reply.
The situation is a bit different. Sorry for not providing all infos:
Actually the printer network interface ACKs all incoming packets
with window size zero
Everything is fine until the standard TCP/IP implementation shifts
a "22" (tp->rto) 31 (tp->backoff) times to the left and sends 16 ACKS in
0.5ms, because it does no timeouts between them.
A "60 minute paper empty"-situation should not cause problems.
I could provide a tcpdump trace of this, if wanted.
Thanks,
martin
On Friday 07 February 2003 14:49, Richard B. Johnson wrote:
> On Fri, 7 Feb 2003, Martin Zielinski wrote:
> > Hello,
> > I'm not on the list, so I'm not really informed what's going on. But...
> >
> > our problem is a network printer the has paper empty.
> > The socket connection to the printer broke down after ~45 minutes with
> > errno 110 (Connection timed out).
> >
> > Linux base version is 2.4.18 on a strongarm machine.
> >
> > Tracking this down brought us to the tcp_send_probe0 function in
> > net/ipv4/tcp_output.c.
> > The tp->backoff value becomes allways increased.
> > on this machine from 31 on (tp->rto << tp->backoff) is 0.
> >
> > The xmit timer is set to this timeout value - resulting in an ACK burst.
> > If the TCP sender gets the (default) 16 ACKS out, before the receiver can
> > answer them, the connection dies.
> > This happened every night, when the printer received a huge job from a
> > foreign office.
> >
> > If this isn't a bug, it should be made configurable. Or do we miss
> > something?
> >
> > Thanks.
>
> Get new firmware for your printer. It's broken. The connection
> timed out because the connection timed out, i.e., when the printer
> is out of paper, it refuses to ACK incoming packets. You do not
> modify a standard TCP/IP implementation to fix a broken printer.
>
> The printer is expecting to hold-off incoming network data, by
> refusing to ACK it, until someone adds more paper. This is
> unconsionable behavior that violates any standards of Engineering
> practice. There is no time-out you could increase because the
> printer may be out-of-paper forever, i.e., somebody needs to go
> buy some. Network-connected devices just can't do things this
> way. The name of the vendor should be published and the vendor
> "educated" in such a way that no such printers remain connected
> to a network until they are fixed.
>
> And, if Linux didn't follow the standard, and let dead "connected"
> devices remain in a connected state, servers that use connections
> would would become impossible.
>
> Cheers,
> Dick Johnson
> Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
> Why is the government concerned about the lunatic fringe? Think about it.
--
Martin Zielinski mz@seh.de
next prev parent reply other threads:[~2003-02-07 14:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-07 13:30 TCP Connection times out Martin Zielinski
2003-02-07 13:49 ` Richard B. Johnson
2003-02-07 14:31 ` Martin Zielinski [this message]
2003-02-07 16:32 ` Alex Bligh - linux-kernel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200302071531.53214.mz@seh.de \
--to=mz@seh.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.