From owner-freebsd-net@FreeBSD.ORG Wed Jul 30 11:09:10 2003 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 48D9237B401 for ; Wed, 30 Jul 2003 11:09:10 -0700 (PDT) Received: from mail.redlinenetworks.com (mail.redlinenetworks.com [216.136.145.172]) by mx1.FreeBSD.org (Postfix) with ESMTP id B090643F75 for ; Wed, 30 Jul 2003 11:09:09 -0700 (PDT) (envelope-from sreekanth@redlinenetworks.com) Received: from SREELAPTOP (dhcp-174.redlinenetworks.com [192.168.40.174]) by mail.redlinenetworks.com (8.11.6/8.11.1) with ESMTP id h6UI99W62973 for ; Wed, 30 Jul 2003 11:09:09 -0700 (PDT) (envelope-from sreekanth@redlinenetworks.com) From: "Sreekanth" To: Date: Wed, 30 Jul 2003 11:09:09 -0700 Message-ID: <002301c356c5$ac7487d0$ae28a8c0@SREELAPTOP> MIME-Version: 1.0 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2616 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Importance: Normal Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.1 Subject: Fast retransmit problem X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2003 18:09:10 -0000 I am facing a peculiar problem. Here is the scenario. During a tcp data transfer.An intermediate data packet(Say X) from server to client is lost.The client sends an ack with ACK no. corresponding to the lost segment.Now this continues till the no. of duplicate acks reach the threshold.But Just before the threshold is reached, the server sent a fin to Client.After the FIN is sent the server realized that the packet X is lost and it retransmits the packet.Now if we assume that the Sequence no. of FIN packet is 100.The client should actually send the Final ACK with ACK no. as 101.But because of a bug , the client sends the Last ACK with ACK no. 100.In ideal cases since the FIN is not acked..the server should be retransmitting the FIN.But it does not.Upon investigating the Scene, i found that the retransmit timer is not running anymore.This is easily reproducible in my environment.I know that the timer is stopped just before the Fast retransmit happens, i think that the timer should be restarted once the ack is received but i am not able to figure out where it should be restarted..Did anybody face this problem already? Is this a known bug ?. Server is a FreeBSD 4.6 machine and the client is Windows 2000 Thanks in advance Sreekanth