Messages in this thread |  | | Date | Fri, 12 Dec 1997 10:17:26 +0100 (CET) | From | Hans-Joachim Zimmer <> | Subject | Re: strange RST packets sent by Linux |
| |
Hi again,
OK, now I understand the purpose of the code sequence that I have commented out. But I do not understand , how a bug in tcp_send_fin could cause Linux to send a RST in the given situation. There is no reason to call tcp_send_fin because there is still a lot of data to be transferred (some 100kB) and according to the strace the application thinks those data are sent. It keeps on doing write calls that return without error conditions. So why should linux try to close the connection?
Greetings, Hansi
///////////////////////////////////////////////////////////////////////
's isch kuul, Maenn!!!
Hansi-Joachim Zimmer E-Mail : hazi@stud.uni-sb.de WWW : http://stud.uni-sb.de/~hazi
///////////////////////////////////////////////////////////////////////
On 12 Dec 1997, Andi Kleen wrote:
> Hans-Joachim Zimmer <hazi@stud.uni-sb.de> writes: > > > Hello, > > > > about a week ago I posted a question about a TCP Problem that arises > > when I try to print some documents using a Linux (2.0.28 or 2.0.30) > > spool server and a HP Laserjet 5SiMX equiped with a JetDirect ether- > > net adapter (Newsgroups: comp.os.linux.networking, comp.os.linux. > > development.system, de.comp.os.linux.networking). Linux sends RST- > > packets that cancel the connection. I could not find any reason for > > this behaviour. > > Now I have been able to locate the line in the kernel source that > > generates the reset. It is line nr.2082 in the file net/ipv4/tcp_input.c. > > It is possible to eliminate this function call by defining the pre- > > processor macro TCP_DONT_RST_SHUTDOWN (c.f. line nr.2045). With this > > small change in the kernel source printing seems to work fine now. > > Unfortunately I dont know all the implications that arise if I eliminate > > this piece of code (lines 2045-2096 in tcp_input.c). > > > > Does anybody know the meaning of these lines and is there a bug in > > this code? > > This code is OK, there is just a bug in the Linux tcp_send_fin() > function (it doesn't work correctly when the remote window is zero). > A solution is worked on (2.1 suffers from the same problem) > > -A. >
|  |