Re: strange RST packets sent by Linux

Andi Kleen (
12 Dec 1997 05:17:57 +0100

Hans-Joachim Zimmer <> 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)