FreeBSD 7 TCP syncache fix: request for testers
Eygene Ryabinkin
rea-fbsd at codelabs.ru
Thu Jul 12 04:01:23 UTC 2007
Good day.
Wed, Jul 11, 2007 at 10:04:23AM +0400, Eygene Ryabinkin wrote:
> OK, maybe I have something that can be related to this bug. It
> provokes another message, 'Spurious RST', but can be correlated
> with your guess. What is happening is that when one side closes
> the connection and releases the socket (running -CURRENT) while the
> other one is still pushing data through the connection, we are
> getting 'Spurious RST' messages. This happens, because we are
> checking the 'so->so_state' for the presence of the 'SS_NOFDREF'
> flag (tcp_input.c, version 1.361, line 1581) and dropping such
> connections with RST. But the connection was already closed (living
> in the FIN-WAIT-2 state, to be precise) from that side, so it
> provokes the debug message.
To clarify one point: the first RST is due to the SS_NOFDREF flag.
The rest of RSTs are spitted out because the corresponding connection
was closed by tcp_close() just before the first RST.
--
Eygene
More information about the freebsd-net
mailing list