strange RST packets sent by Linux

Hans-Joachim Zimmer (hazi@stud.uni-sb.de)
Thu, 11 Dec 1997 18:58:11 +0100 (CET)


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?

Greetings, Hansi

P.S.: For the TCP gurus I have an ethernet dump of a buggy transmission
(8MB), an strace of the upper level system calls (which seems to show
no error in the application program, 2.5MB), and some tcpdumps. In those
dumps you can see the RST-packet, but not the reason why it has been
sent (at least I can not see the reason).

///////////////////////////////////////////////////////////////////////

's isch kuul, Maenn!!!

Hansi-Joachim Zimmer
E-Mail : hazi@stud.uni-sb.de
WWW : http://stud.uni-sb.de/~hazi

///////////////////////////////////////////////////////////////////////