Date: Thu, 19 Sep 1996 11:35:32 +0200 (MET DST) From: Luigi Rizzo <luigi@labinfo.iet.unipi.it> To: danny@panda.hilink.com.au (Daniel O'Callaghan) Cc: freebsd-hackers@FreeBSD.ORG, luigi@labinfo.iet.unipi.it (Luigi Rizzo) Subject: Re: TCP extensions breaking TCP. Message-ID: <199609190935.LAA21065@labinfo.iet.unipi.it> In-Reply-To: <Pine.BSF.3.91.960919183407.3641J-100000@panda.hilink.com.au> from "Daniel O'Callaghan" at Sep 19, 96 06:47:48 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> In /etc/sysconfig there is a comment > > # > # Some broken implementations can't handle the RFC 1323 and RFC 1644 > # TCP options. If TCP connections randomly hang, try disabling this, > # and bug the vendor of the losing equipment. > # > tcp_extensions=YES > > The only times I have found these connections to hang are in connecting > to other FreeBSD boxes. Last year, a particular 2.0.5 user could not There are several different problems. + some implementations do not expect options in non-SYN segments, hence consider headers as fixed-size structures and have problems in computing segment sizes correctly. In this case, either segment length or checksum fail causing segments to be rejected. Don't think this is the case of FreeBSD, but some terminal servers (Annex) reportedly had this kind of problems. + some implementations fail to parse options correctly. As an example, I think FreeBSD 2.1R (and probably other versions) do not parse correctly WINDOW SCALE options. This can result in deadlocks because the sender and the receiver have different views on the available window and on the possibility to send data. If you look at data transfers, often the connection ends up in firing PERSIST timeouts trying to reopen the send window, and the receiver will not understand the message. I have not tracked down the bug yet, but have never managed to make FreeBSD work with windows >65535. Also, while implementing SACKs, I have noticed occasional deadlocks, possibly caused by the above problem. I am not able to reproduce the problem anymore, but I believe they were caused by erroneous computation of windows. Hopefully I will find some time to work on the problem in a couple of weeks. Luigi ==================================================================== Luigi Rizzo Dip. di Ingegneria dell'Informazione email: luigi@iet.unipi.it Universita' di Pisa tel: +39-50-568533 via Diotisalvi 2, 56126 PISA (Italy) fax: +39-50-568522 http://www.iet.unipi.it/~luigi/ ====================================================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199609190935.LAA21065>