TCP hangs with 2.0.35

Nick Holloway (Nick.Holloway@alfie.demon.co.uk)
16 Feb 1999 21:37:15 -0000


I noticed that some mail connections were just timing out to some machines
(particularly the MX servers for hotmail.com and btinternet.com).
I did some packet dumping and think I understand what is happening,
but would like some confirmation.

The Linux machine is connected to the Internet via a leased line with an
MTU of 536. Under normal circumstances, when it tries to send a frame
bigger than that, the router generates a ICMP/FRAG_NEEDED, and the MTU
is adjusted.

On the connections that hang, the ICMP is received, but I guess (from
reading the code) the socket is locked and so the packet is sent again,
but without the DF bit set.

I would expect the other end to pick up this packet, and continue, but
I see the Linux box just resending the packet, and the other end acks
the packet before. No progress is made, and the connection stalls.

What I don't understand is the mechanism by which the packet which needs
fragmenting either gets ignored by the remote end, or gets discarded on
the way.

For now, I've specified the MSS on the default route to match the LL
router, so that this does not occur.

-- 
 `O O'  | Home: Nick.Holloway@alfie.demon.co.uk  http://www.alfie.demon.co.uk/
// ^ \\ | Work: Nick.Holloway@parallax.co.uk

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/