Skip site navigation (1)Skip section navigation (2)
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>